From 3da792f60d8bd89c6e1592ad039db5968f6a77c6 Mon Sep 17 00:00:00 2001 From: Afreen Sikandara Date: Mon, 13 Oct 2025 20:36:13 +0800 Subject: [PATCH 01/14] Set auto commit to true --- java/org/ohdsi/databaseConnector/BatchedInsert.java | 2 +- java/org/ohdsi/databaseConnector/BatchedQuery.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/java/org/ohdsi/databaseConnector/BatchedInsert.java b/java/org/ohdsi/databaseConnector/BatchedInsert.java index 987d4feb..74685fc4 100644 --- a/java/org/ohdsi/databaseConnector/BatchedInsert.java +++ b/java/org/ohdsi/databaseConnector/BatchedInsert.java @@ -156,7 +156,7 @@ public boolean executeBatch() throws SQLException, ParseException { private boolean executeBigQueryBatch() throws SQLException, ParseException { checkColumns(); try { - trySettingAutoCommit(false); + trySettingAutoCommit(true); int offset = 0; while (offset < rowCount) { diff --git a/java/org/ohdsi/databaseConnector/BatchedQuery.java b/java/org/ohdsi/databaseConnector/BatchedQuery.java index abb99f71..ca1a0e20 100644 --- a/java/org/ohdsi/databaseConnector/BatchedQuery.java +++ b/java/org/ohdsi/databaseConnector/BatchedQuery.java @@ -128,7 +128,7 @@ private void trySettingAutoCommit(boolean value) throws SQLException { public BatchedQuery(Connection connection, String query, String dbms, boolean autoCommit) throws SQLException { this.connection = connection; this.dbms = dbms; - trySettingAutoCommit(autoCommit); + trySettingAutoCommit(true); Statement statement = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); statement.setFetchSize(FETCH_SIZE); resultSet = statement.executeQuery(query); From 331476a90a5d5b777ca02a18d7a67e6c31325cbc Mon Sep 17 00:00:00 2001 From: Afreen Sikandara Date: Mon, 13 Oct 2025 21:11:08 +0800 Subject: [PATCH 02/14] Update jar file --- inst/java/DatabaseConnector.jar | Bin 18956 -> 18646 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/inst/java/DatabaseConnector.jar b/inst/java/DatabaseConnector.jar index 55c9ee86baa92eac06f0a6c34c613fe53906ca8b..06ac5b03ba5736f1f8dce11087c75b3b65be927a 100644 GIT binary patch delta 5748 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 delta 5985 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 From 452b7e20083d8d1716352d5756bb0992b8be741d Mon Sep 17 00:00:00 2001 From: Afreen Sikandara Date: Mon, 13 Oct 2025 22:01:55 +0800 Subject: [PATCH 03/14] Update jar file --- inst/java/DatabaseConnector.jar | Bin 18646 -> 18646 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/inst/java/DatabaseConnector.jar b/inst/java/DatabaseConnector.jar index 06ac5b03ba5736f1f8dce11087c75b3b65be927a..9f85ddb947c62390a0d74604564dc8c715d26322 100644 GIT binary patch delta 212 zcmcaMk@4C@MxFp~W)=|!4h{|m{tXj(teJqMXCo8ehK*;6Sb)@K2i7h8Ao`og904Fb z$xv_dYgfU|msKs+BteJqMXCqU<%8h4=Sb)@K2i7h8Oo1yme-oJ_ z0Hh}w>P>#_D!BQwswF!}m`^vB5k%+eO=JSnn+(laKwL}Hy&&%9ALg6D(rYZ&ae(+S zPJ0=FR!o+5u>?_JE)GCDCeLt*0a4#vqJe5A2fIdrsP(RqAd1T^9z Date: Mon, 13 Oct 2025 22:50:14 +0800 Subject: [PATCH 04/14] Test --- R/Andromeda.R | 3 ++- R/DBI.R | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/R/Andromeda.R b/R/Andromeda.R index 5f348820..7d3a1658 100644 --- a/R/Andromeda.R +++ b/R/Andromeda.R @@ -80,7 +80,7 @@ lowLevelQuerySqlToAndromeda.default <- function(connection, connection@jConnection, query, dbms(connection), - FALSE + TRUE ) on.exit(rJava::.jcall(batchedQuery, "V", "clear")) @@ -253,6 +253,7 @@ querySqlToAndromeda <- function(connection, } tryCatch( { + sprintf("Executing Andromeda query: %s", sqlStatements[1]) andromeda <- lowLevelQuerySqlToAndromeda( connection = connection, query = sqlStatements[1], diff --git a/R/DBI.R b/R/DBI.R index 9b7a4ca0..5e4633cd 100644 --- a/R/DBI.R +++ b/R/DBI.R @@ -230,7 +230,7 @@ setMethod( conn@jConnection, statement, dbms, - FALSE + TRUE ), error = function(error) { # Rethrowing error to avoid 'no field, method or inner class called 'use_cli_format'' From 4b8705f191d30eea0a5137dc4dec655f6e704c2f Mon Sep 17 00:00:00 2001 From: Afreen Sikandara Date: Mon, 13 Oct 2025 23:48:26 +0800 Subject: [PATCH 05/14] test --- R/Andromeda.R | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/R/Andromeda.R b/R/Andromeda.R index 7d3a1658..ada7a4e9 100644 --- a/R/Andromeda.R +++ b/R/Andromeda.R @@ -229,6 +229,9 @@ querySqlToAndromeda <- function(connection, integer64AsNumeric = getOption("databaseConnectorInteger64AsNumeric", default = TRUE )) { + + sprintf("Executing Andromeda query: %s", sqlStatements[1]) + logTrace(paste("Executing Andromeda query: %s", sqlStatements[1])) if (inherits( connection, "DatabaseConnectorJdbcConnection" @@ -241,7 +244,7 @@ querySqlToAndromeda <- function(connection, if (packageVersion("Andromeda") < "0.6.0") { stop(sprintf("Andromeda version 0.6.0 or higher required, but version %s found", packageVersion("Andromeda"))) } - + sprintf("Executing Andromeda query: %s", sql) # Calling splitSql, because this will also strip trailing semicolons (which cause Oracle to crash). sqlStatements <- SqlRender::splitSql(sql) if (length(sqlStatements) > 1) { @@ -253,6 +256,7 @@ querySqlToAndromeda <- function(connection, } tryCatch( { + logTrace(paste("Querying SQL:", sqlStatements[1])) sprintf("Executing Andromeda query: %s", sqlStatements[1]) andromeda <- lowLevelQuerySqlToAndromeda( connection = connection, From a612c0c1ad9da2a55c3ff4066a9406832fa2af5a Mon Sep 17 00:00:00 2001 From: Afreen Sikandara Date: Tue, 14 Oct 2025 11:13:42 +0800 Subject: [PATCH 06/14] Test --- R/Andromeda.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/R/Andromeda.R b/R/Andromeda.R index ada7a4e9..5b47961d 100644 --- a/R/Andromeda.R +++ b/R/Andromeda.R @@ -230,8 +230,8 @@ querySqlToAndromeda <- function(connection, default = TRUE )) { - sprintf("Executing Andromeda query: %s", sqlStatements[1]) - logTrace(paste("Executing Andromeda query: %s", sqlStatements[1])) + sprintf("Executing Andromeda query") + logTrace(paste("Executing Andromeda query")) if (inherits( connection, "DatabaseConnectorJdbcConnection" From 0ca4e4fe9c09a014a511b37b18ffb4fd3bbc3b2f Mon Sep 17 00:00:00 2001 From: Afreen Sikandara Date: Tue, 14 Oct 2025 15:40:55 +0800 Subject: [PATCH 07/14] Test --- R/InsertTable.R | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/R/InsertTable.R b/R/InsertTable.R index 9e996695..52ce9fac 100644 --- a/R/InsertTable.R +++ b/R/InsertTable.R @@ -198,6 +198,9 @@ insertTable.default <- function(connection, useMppBulkLoad = Sys.getenv("USE_MPP_BULK_LOAD"), progressBar = FALSE, camelCaseToSnakeCase = FALSE) { + + sprintf("insertTable.default called with dbms = %s", dbms(connection)) + if (is(connection, "Pool")) { connection <- pool::poolCheckout(connection) on.exit(pool::poolReturn(connection)) @@ -334,11 +337,12 @@ insertTable.default <- function(connection, tempEmulationSchema = tempEmulationSchema ) batchSize <- 10000 - + sprintf("Insert Query: %s", insertSql) if (nrow(data) > 0) { if (progressBar) { pb <- txtProgressBar(style = 3) } + sprintf("Inserting %d rows in batches of %d", nrow(data), batchSize) batchedInsert <- rJava::.jnew( "org.ohdsi.databaseConnector.BatchedInsert", connection@jConnection, @@ -401,6 +405,7 @@ insertTable.DatabaseConnectorDbiConnection <- function(connection, useMppBulkLoad = Sys.getenv("USE_MPP_BULK_LOAD"), progressBar = FALSE, camelCaseToSnakeCase = FALSE) { + sprintf("insertTable.DatabaseConnectorDbiConnection called") if (!is.null(oracleTempSchema) && oracleTempSchema != "") { warn("The 'oracleTempSchema' argument is deprecated. Use 'tempEmulationSchema' instead.", .frequency = "regularly", @@ -418,6 +423,7 @@ insertTable.DatabaseConnectorDbiConnection <- function(connection, isSqlReservedWord(c(tableName, colnames(data)), warn = TRUE) tableName <- gsub("^#", "", tableName) + sprintf("dbms = %s", dbms(connection)) if (dbms(connection) == "sqlite") { # Convert dates and datetime to UNIX timestamp: for (i in 1:ncol(data)) { From 4a95987b11bcfe6671b815dea53ee719d347cb2c Mon Sep 17 00:00:00 2001 From: Afreen Sikandara Date: Tue, 14 Oct 2025 22:14:10 +0800 Subject: [PATCH 08/14] Test --- R/InsertTable.R | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/R/InsertTable.R b/R/InsertTable.R index 52ce9fac..f15cf1b8 100644 --- a/R/InsertTable.R +++ b/R/InsertTable.R @@ -200,6 +200,8 @@ insertTable.default <- function(connection, camelCaseToSnakeCase = FALSE) { sprintf("insertTable.default called with dbms = %s", dbms(connection)) + logTrace(paste("insertTable.default called with dbms = %s", dbms(connection))) + inform(paste(sprintf("insertTable.default called with dbms = %s", dbms(connection)))) if (is(connection, "Pool")) { connection <- pool::poolCheckout(connection) @@ -338,11 +340,13 @@ insertTable.default <- function(connection, ) batchSize <- 10000 sprintf("Insert Query: %s", insertSql) + inform(paste(sprintf("Insert Query: %s", insertSql))) if (nrow(data) > 0) { if (progressBar) { pb <- txtProgressBar(style = 3) } sprintf("Inserting %d rows in batches of %d", nrow(data), batchSize) + inform(paste(sprintf("Inserting %d rows in batches of %d", nrow(data), batchSize))) batchedInsert <- rJava::.jnew( "org.ohdsi.databaseConnector.BatchedInsert", connection@jConnection, @@ -372,6 +376,8 @@ insertTable.default <- function(connection, } else if (is(column, "Date")) { rJava::.jcall(batchedInsert, "V", "setDate", i, as.character(column)) } else { + logTrace(paste("Inserting column", i, "as string")) + inform(paste(sprintf("Inserting column %d as string", i))) rJava::.jcall(batchedInsert, "V", "setString", i, as.character(column)) } return(NULL) @@ -406,6 +412,8 @@ insertTable.DatabaseConnectorDbiConnection <- function(connection, progressBar = FALSE, camelCaseToSnakeCase = FALSE) { sprintf("insertTable.DatabaseConnectorDbiConnection called") + logTrace(paste("insertTable.DatabaseConnectorDbiConnection called")) + if (!is.null(oracleTempSchema) && oracleTempSchema != "") { warn("The 'oracleTempSchema' argument is deprecated. Use 'tempEmulationSchema' instead.", .frequency = "regularly", From 1259754d8880832cd53e127a718881883240246a Mon Sep 17 00:00:00 2001 From: Afreen Sikandara Date: Tue, 14 Oct 2025 23:07:50 +0800 Subject: [PATCH 09/14] parse json --- R/InsertTable.R | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/R/InsertTable.R b/R/InsertTable.R index f15cf1b8..1769e746 100644 --- a/R/InsertTable.R +++ b/R/InsertTable.R @@ -345,7 +345,6 @@ insertTable.default <- function(connection, if (progressBar) { pb <- txtProgressBar(style = 3) } - sprintf("Inserting %d rows in batches of %d", nrow(data), batchSize) inform(paste(sprintf("Inserting %d rows in batches of %d", nrow(data), batchSize))) batchedInsert <- rJava::.jnew( "org.ohdsi.databaseConnector.BatchedInsert", @@ -376,9 +375,10 @@ insertTable.default <- function(connection, } else if (is(column, "Date")) { rJava::.jcall(batchedInsert, "V", "setDate", i, as.character(column)) } else { - logTrace(paste("Inserting column", i, "as string")) + inform(paste(sprintf("is.character(column): %s", is.character(column)))) inform(paste(sprintf("Inserting column %d as string", i))) - rJava::.jcall(batchedInsert, "V", "setString", i, as.character(column)) + column <- escapeJson(column) + rJava::.jcall(batchedInsert, "V", "setString", i, column) } return(NULL) } @@ -498,3 +498,10 @@ convertLogicalFields <- function(data) { } return(data) } + +escapeJson <- function(json) { + json <- gsub("\\", "\\\\", json, fixed = TRUE) # Escape backslashes + json <- gsub("\"", "\\\"", json, fixed = TRUE) # Escape double quotes + json <- gsub("\n", "\\n", json, fixed = TRUE) # Escape newlines + return(json) +} \ No newline at end of file From 7866c853cca8c255add0909eafc2a3897e1fcf59 Mon Sep 17 00:00:00 2001 From: Afreen Sikandara Date: Tue, 14 Oct 2025 23:53:59 +0800 Subject: [PATCH 10/14] Test print --- R/InsertTable.R | 1 + 1 file changed, 1 insertion(+) diff --git a/R/InsertTable.R b/R/InsertTable.R index 1769e746..adbc8cbd 100644 --- a/R/InsertTable.R +++ b/R/InsertTable.R @@ -378,6 +378,7 @@ insertTable.default <- function(connection, inform(paste(sprintf("is.character(column): %s", is.character(column)))) inform(paste(sprintf("Inserting column %d as string", i))) column <- escapeJson(column) + inform(paste(sprintf("Column: %s", column))) rJava::.jcall(batchedInsert, "V", "setString", i, column) } return(NULL) From 517c0809b5c309e32590b37a61a81bc2cc06afd9 Mon Sep 17 00:00:00 2001 From: Afreen Sikandara Date: Wed, 15 Oct 2025 00:32:05 +0800 Subject: [PATCH 11/14] Update parse --- R/InsertTable.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/R/InsertTable.R b/R/InsertTable.R index adbc8cbd..c1e5dd5f 100644 --- a/R/InsertTable.R +++ b/R/InsertTable.R @@ -501,8 +501,9 @@ convertLogicalFields <- function(data) { } escapeJson <- function(json) { - json <- gsub("\\", "\\\\", json, fixed = TRUE) # Escape backslashes + json <- gsub("'", "''", json, fixed = TRUE) # Escape single quotes json <- gsub("\"", "\\\"", json, fixed = TRUE) # Escape double quotes json <- gsub("\n", "\\n", json, fixed = TRUE) # Escape newlines + json <- gsub("\r", "\\r", json, fixed = TRUE) # Escape carriage returns return(json) } \ No newline at end of file From d54a4b2bea943a0008be50b4e70dcdaca1dff55d Mon Sep 17 00:00:00 2001 From: Afreen Sikandara Date: Wed, 15 Oct 2025 10:13:55 +0800 Subject: [PATCH 12/14] Test --- R/InsertTable.R | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/R/InsertTable.R b/R/InsertTable.R index c1e5dd5f..21dc7821 100644 --- a/R/InsertTable.R +++ b/R/InsertTable.R @@ -412,8 +412,6 @@ insertTable.DatabaseConnectorDbiConnection <- function(connection, useMppBulkLoad = Sys.getenv("USE_MPP_BULK_LOAD"), progressBar = FALSE, camelCaseToSnakeCase = FALSE) { - sprintf("insertTable.DatabaseConnectorDbiConnection called") - logTrace(paste("insertTable.DatabaseConnectorDbiConnection called")) if (!is.null(oracleTempSchema) && oracleTempSchema != "") { warn("The 'oracleTempSchema' argument is deprecated. Use 'tempEmulationSchema' instead.", @@ -502,8 +500,9 @@ convertLogicalFields <- function(data) { escapeJson <- function(json) { json <- gsub("'", "''", json, fixed = TRUE) # Escape single quotes - json <- gsub("\"", "\\\"", json, fixed = TRUE) # Escape double quotes - json <- gsub("\n", "\\n", json, fixed = TRUE) # Escape newlines - json <- gsub("\r", "\\r", json, fixed = TRUE) # Escape carriage returns + json <- gsub(";", "", json, fixed = TRUE) # Remove semicolons + # json <- gsub("\"", "\\\"", json, fixed = TRUE) # Escape double quotes + # json <- gsub("\n", "\\n", json, fixed = TRUE) # Escape newlines + # json <- gsub("\r", "\\r", json, fixed = TRUE) # Escape carriage returns return(json) } \ No newline at end of file From e381b0f307d3b8dcbfecac71fe4670dd429f043a Mon Sep 17 00:00:00 2001 From: Afreen Sikandara Date: Wed, 15 Oct 2025 10:53:05 +0800 Subject: [PATCH 13/14] Removing test logs --- R/Andromeda.R | 6 ------ R/InsertTable.R | 14 -------------- 2 files changed, 20 deletions(-) diff --git a/R/Andromeda.R b/R/Andromeda.R index 5b47961d..83480b52 100644 --- a/R/Andromeda.R +++ b/R/Andromeda.R @@ -229,9 +229,6 @@ querySqlToAndromeda <- function(connection, integer64AsNumeric = getOption("databaseConnectorInteger64AsNumeric", default = TRUE )) { - - sprintf("Executing Andromeda query") - logTrace(paste("Executing Andromeda query")) if (inherits( connection, "DatabaseConnectorJdbcConnection" @@ -244,7 +241,6 @@ querySqlToAndromeda <- function(connection, if (packageVersion("Andromeda") < "0.6.0") { stop(sprintf("Andromeda version 0.6.0 or higher required, but version %s found", packageVersion("Andromeda"))) } - sprintf("Executing Andromeda query: %s", sql) # Calling splitSql, because this will also strip trailing semicolons (which cause Oracle to crash). sqlStatements <- SqlRender::splitSql(sql) if (length(sqlStatements) > 1) { @@ -256,8 +252,6 @@ querySqlToAndromeda <- function(connection, } tryCatch( { - logTrace(paste("Querying SQL:", sqlStatements[1])) - sprintf("Executing Andromeda query: %s", sqlStatements[1]) andromeda <- lowLevelQuerySqlToAndromeda( connection = connection, query = sqlStatements[1], diff --git a/R/InsertTable.R b/R/InsertTable.R index 21dc7821..4356e8c1 100644 --- a/R/InsertTable.R +++ b/R/InsertTable.R @@ -199,10 +199,6 @@ insertTable.default <- function(connection, progressBar = FALSE, camelCaseToSnakeCase = FALSE) { - sprintf("insertTable.default called with dbms = %s", dbms(connection)) - logTrace(paste("insertTable.default called with dbms = %s", dbms(connection))) - inform(paste(sprintf("insertTable.default called with dbms = %s", dbms(connection)))) - if (is(connection, "Pool")) { connection <- pool::poolCheckout(connection) on.exit(pool::poolReturn(connection)) @@ -339,13 +335,10 @@ insertTable.default <- function(connection, tempEmulationSchema = tempEmulationSchema ) batchSize <- 10000 - sprintf("Insert Query: %s", insertSql) - inform(paste(sprintf("Insert Query: %s", insertSql))) if (nrow(data) > 0) { if (progressBar) { pb <- txtProgressBar(style = 3) } - inform(paste(sprintf("Inserting %d rows in batches of %d", nrow(data), batchSize))) batchedInsert <- rJava::.jnew( "org.ohdsi.databaseConnector.BatchedInsert", connection@jConnection, @@ -375,10 +368,7 @@ insertTable.default <- function(connection, } else if (is(column, "Date")) { rJava::.jcall(batchedInsert, "V", "setDate", i, as.character(column)) } else { - inform(paste(sprintf("is.character(column): %s", is.character(column)))) - inform(paste(sprintf("Inserting column %d as string", i))) column <- escapeJson(column) - inform(paste(sprintf("Column: %s", column))) rJava::.jcall(batchedInsert, "V", "setString", i, column) } return(NULL) @@ -430,7 +420,6 @@ insertTable.DatabaseConnectorDbiConnection <- function(connection, isSqlReservedWord(c(tableName, colnames(data)), warn = TRUE) tableName <- gsub("^#", "", tableName) - sprintf("dbms = %s", dbms(connection)) if (dbms(connection) == "sqlite") { # Convert dates and datetime to UNIX timestamp: for (i in 1:ncol(data)) { @@ -501,8 +490,5 @@ convertLogicalFields <- function(data) { escapeJson <- function(json) { json <- gsub("'", "''", json, fixed = TRUE) # Escape single quotes json <- gsub(";", "", json, fixed = TRUE) # Remove semicolons - # json <- gsub("\"", "\\\"", json, fixed = TRUE) # Escape double quotes - # json <- gsub("\n", "\\n", json, fixed = TRUE) # Escape newlines - # json <- gsub("\r", "\\r", json, fixed = TRUE) # Escape carriage returns return(json) } \ No newline at end of file From 2bca9bde275566f9ed691f79bdc218efe3086f54 Mon Sep 17 00:00:00 2001 From: Afreen Sikandara Date: Wed, 15 Oct 2025 16:01:06 +0800 Subject: [PATCH 14/14] Remove hard coded value from java file --- inst/java/DatabaseConnector.jar | Bin 18646 -> 18643 bytes .../ohdsi/databaseConnector/BatchedQuery.java | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/inst/java/DatabaseConnector.jar b/inst/java/DatabaseConnector.jar index 9f85ddb947c62390a0d74604564dc8c715d26322..d1711d51da6501ef7d82e64813edc6d96da3b08b 100644 GIT binary patch delta 4610 zcmYM&by(9;+XryzkP(7Nqcj5s3`d7Zj_#09KtQEaWP=}|f-pel=nyH9P-1jB0z>T8Xdh#@8fcVz9O3>zV)Fv9Gb*M$gfODSb8s5Fouv? z&j$MHO*5QFi|2v!MJ&AwYSeWCTyEHICzf_H;g z0S68@7sls`f>RMY)xSP^ZJY1(dgZc9;mvbQF0^6&bb{HzyPQOUsepgS8QdbYOLwZ& zemsemH!$SaFk9td#96M+?o*$dxaAT@&6QZbOV9Oh@mo1XCzsK+0^OWD9*OoUlr>!({OZ#ndCeUrfi-c-pa5@aoC`vTr z^HJ<^@&NXkqrJ>>-H6kizSmZap+nDUvgH#)uH-(A`hn7N9@pTpx{ADp@(h!^ppdeP zqp{FcO`@Zk^&|gaCD0Z~JN2`~{mSvjkLDi1-iH-dH&xd))cdxtR)j`zb-&1OaQ4#n zVY%m{JofEN5nxqbo!9W(%c=KFoWqpdVA{mA^4qOtao6MR-zLO$a#nFJ3o(tkPBh#w zQ@3wU<`%>1lsW@;E%zZz7P0=x!VGIW+c?@~7mX)BhDv64-*$6wmd?o!I>qqV8!AzZ zZf=Qpu%X}s5rbu0q-MOV8S~$!o&dULF^rU<^}%Bk(m;JH^O1|w!DAP9Ht5+I!Gief zlXKFg2G-!7F~0c1w1y|TRB;C+2*PiY+Ab8@90uc~~ib4yev zV{L=k!laC|)&NzU8?@$iM(~k~(NhbN!8|h`?*n{Ve&1Xg@=6kB{}$B*n*8KSS%yp@ z)J%#=G|*e_O`GOW1oAaNlSN&!WmPxUwvv`3WboUbR=llmC`hiWACq>>m6+f89U8@e zVDn9pwX{;L^3NS-*NYXPaC5UL8t>#3f0_4T{-;^bgRblr)n~ahKjvmEbI++o>g1dd zoY4!g{niY;DbYS-A3)NKd2{bQ zdF$Eso*P_BmhU;^*oV#od>mwde2L`ipEI4CW&VuDs+*=H-tDoIO{Z<`6l+>xdmJoD z1qfu7hCkEQq3Pi^?X-Q|U6PEi8*r9Oqm1IB0b#xwpNTBZdckoI=A&H=I{{R*?vj|aubt_T zLmQuTLxhFTOd$hnQ?57i!vjd%ZRv){i<86zzl-t9i>Z#5xS@|<#KioX4A*S>CtO$>>1q+KGt?;5 z*_#>6$dkU+#>2V!HH$F5d4gwLl_Sho0V}Y%wH-yS2^kN8Zx4BSlY9j#6fz>|kPr3o$@i403w|)@m~YRHxAvp;9atU~HJTQ|G(Q@xzJ-j$^x1wp_c&D`eN221Nq@_Fh-!ANc4bxLpd){W#9qXD@VUPXpm_ z%SHLs*xrof_n^um;TEOx)X{q;@8reyS@U0>);Z9%cQMzqss;hh{*ki_q!Oy=ir(q* z8TPx@oHkrqqw)J%*-@>e9tW^3qCB&{WA z=~LgXdRNjjhyy_KEQtxIDw1PRnM~^QNgUXTGe@@Rs@AM~q~;VfJdGw8^DBo1&M+z1 zM2(wqT6~f!-AYQgcQ#w~FM8YfGqbjNMpwW8JIkb5KN{4`;#S&`qJ2g;O4qk{bF8c4 zX|(g})vf`X=*@&xzm)c?Abx-YX7fI5e#0_=#`ltd9s%gEj3@U*KNy>ikM+}Gd8m_= zo4rqJFt$_PJ)cxrZI5!bPe^co?go4LlOO0>4kXD4s|)rFG>zXAQH$iTzUGUVEicCcO{D$9F?vyBKiJiWi{-gYE1lH?JXbO8E?;n zP@v6%%hkbsn0;EXp7wOFUu|JwJHKr@dPPQN@24HC2kv11C{v@IiUu5_s<&Da_37Nb zFYj^48EvoUSs@-};hUQUA_P$s1w4IfV)PkA0>#N#*u)zXzaOD&Wt@>dg7gCBq+?>- z!mR`oL2AV`x|sEZDwd)J@;a1&O0juqF`)9fNx*(BrhRwMe43y6NtcOpT-pQ=qD23w zS-8@+7RhRw6b!p9m5a8y!#}X1yAIF(*kW7#sj4cwN)jWGufPD3HepOj+Pmq3Ld6oT zRo#qBir^srnD4IQ#jd78i>*(sOp7nCIhxU6pdNNWWpCFU9#?nQfNlwzUvN@sOMfaDR?@q7oDn7N1|P ziFK0-wda3^8YnQ-TX_e0VNfh0SMy~hTCC>F5=ZOGAf@fc-UZ2blMuC|?$+4=nd`YkP$71x|7_cBrU)0a)P)J7K!3PtE4u`d zDys_xrSz2=B(Agylp;2bJmd4eJe#bg>=HeAGyHRH63cv6SAw0tJQ9F&{Fl8&9`Ebg zD2zpGS(6+GL1CeRpkt@qU4=g#1j%O@{sBFifI1<4uUl)saKpdr>cr~iq|6dm?xlP^ zsuMNei;0W;B_?3>R{c0O&U7L=6SteFdM3m(R*9ix|GbZm^^fC!Zg}*WD!Km*&YL%f z3tL`Mk0>MUKhVlPFLndE8lIinOjmI|3N*3kq`%ES{td3^wCr9WJ(H{qds8u{Xnt$O zAh9V&F1&Y&?%+Wz>f>MbDInPkjMY@cPdJ2ILNpaMQ&E$Li$+QlO?+$`d|!rbiD2Qq zs>B<2<(avk9^^-Fxo9XFo(?D8r~K8zWqC?t8Axb~3}x1|%LR&9yrf+@wRBqcey<{( zaX-iN*UxbB--$W4ECdts1{yg7u7ZbQ75ZXo!V|zB92kMzW?UZm_Cd?IS8-zGRMp2@ z(_o0z79iYqER=2fgp46Ore=Q=rr%*yL)y9-M}@tLDz;~_IhF5m+~8w>)+vb~)Sa*O zBkSDbUA;7O&^vROoRfx;MKbgEygAIeaN&;*rE;8z-NKm=_MQMqL8X&$ zmd=BHmO!xZqT@b!Af#xC=v2%)wsKG4R3?zqao0j@PXiqnNKUkWFIhoZ?y6STCOR|& z;p< zR+t934Xf`wN;B5Uh!uWGE~62qqU>6(9N(#8(xy!RCD{I4q3fL2zCkVN>LJ-r$2H^w z6p|sK`;m#_^G*hqUv;ZzqT}9|BxuJ^SV)bTJc^qLYc{0G4Z|gG@Nd?N_8ysY2uGuw z--oB#M)axQ>Mqd=h>2C>?Isr~^zkqVrT_z<41=}$&}1G&3~#sS0#f1B`k&rpozcU& z8;y^-feLlDg>VKO3(5#Kwofp40((+9dk4cV1?`S)=QZzus$4Lzv8xTXg>{gEInLP{ z6ew{+CE12#=?n?p?PfyjYr(K6Oa23lsj|ZLj3Y_e;<_FyKLY)G^uO(3tW|WccZyY* z@!xV|JXF~JHo|&MH&vPOuLQ42R_G4KN|oZ8o&T~mYApc=rOwL|9^qCIy1iZ!)uOs$ct%GrzR#>{`cbl0iwgXy8r+H delta 4605 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 XL5HEQe2-(4xnP|dBshese-Hd0Q*G(s diff --git a/java/org/ohdsi/databaseConnector/BatchedQuery.java b/java/org/ohdsi/databaseConnector/BatchedQuery.java index ca1a0e20..abb99f71 100644 --- a/java/org/ohdsi/databaseConnector/BatchedQuery.java +++ b/java/org/ohdsi/databaseConnector/BatchedQuery.java @@ -128,7 +128,7 @@ private void trySettingAutoCommit(boolean value) throws SQLException { public BatchedQuery(Connection connection, String query, String dbms, boolean autoCommit) throws SQLException { this.connection = connection; this.dbms = dbms; - trySettingAutoCommit(true); + trySettingAutoCommit(autoCommit); Statement statement = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); statement.setFetchSize(FETCH_SIZE); resultSet = statement.executeQuery(query);