From 95685cc93fa9565ab79f6c7b5b85df49a7250bd2 Mon Sep 17 00:00:00 2001 From: Murat Tasan Date: Wed, 13 Sep 2017 09:03:19 -0600 Subject: [PATCH 1/2] let dbSendQuery raise error if needed; return all cols for 0-row results --- RPostgreSQL/R/PostgreSQLSupport.R | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/RPostgreSQL/R/PostgreSQLSupport.R b/RPostgreSQL/R/PostgreSQLSupport.R index 6b30132..a1db3fd 100644 --- a/RPostgreSQL/R/PostgreSQLSupport.R +++ b/RPostgreSQL/R/PostgreSQLSupport.R @@ -270,11 +270,11 @@ postgresqlQuickSQL <- function(con, statement, ...) { if (length(rsList)>0){ # clear results dbClearResult(rsList[[1]]) } - rs <- try(dbSendQuery(con, statement, ...)) - if (inherits(rs, ErrorClass)){ - warning("Could not create execute: ", statement) - return(NULL) - } + + ## Let dbSendQuery raise an error if it cannot execute statement. + ## (Surrounding code should be responsible for handling errors.) + rs <- dbSendQuery(con, statement, ...) + if(dbHasCompleted(rs)){ dbClearResult(rs) ## no records to fetch, we're done invisible() @@ -421,8 +421,7 @@ postgresqlFetch <- function(res, n=0, ...) { n <- as(n, "integer") rsId <- as(res, "integer") rel <- .Call(RS_PostgreSQL_fetch, rsId, nrec = n) - if(length(rel)==0 || length(rel[[1]])==0) - return(NULL) + ## create running row index as of previous fetch (if any) cnt <- dbGetRowCount(res) nrec <- length(rel[[1]]) From e2199a9bae23fc4f843a5d09e241319b418872df Mon Sep 17 00:00:00 2001 From: Murat Tasan Date: Wed, 13 Sep 2017 16:48:25 -0600 Subject: [PATCH 2/2] version bump --- RPostgreSQL/DESCRIPTION | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/RPostgreSQL/DESCRIPTION b/RPostgreSQL/DESCRIPTION index aaff9b2..d93ca8e 100644 --- a/RPostgreSQL/DESCRIPTION +++ b/RPostgreSQL/DESCRIPTION @@ -1,8 +1,8 @@ Package: RPostgreSQL -Version: 0.6-2 -Date: 2017-06-24 +Version: 0.6-3 +Date: 2017-09-13 Title: R Interface to the 'PostgreSQL' Database System -Author: Joe Conway, Dirk Eddelbuettel, Tomoaki Nishiyama, Sameer Kumar Prayaga (during 2008), Neil Tiffin +Author: Joe Conway, Dirk Eddelbuettel, Tomoaki Nishiyama, Sameer Kumar Prayaga (during 2008), Neil Tiffin, Murat Tasan Maintainer: Tomoaki Nishiyama Description: Database interface and 'PostgreSQL' driver for 'R'. This package provides a Database Interface 'DBI' compliant