From f77e54a71e6879abb9a27255c7ba00ee5d4c1fde Mon Sep 17 00:00:00 2001 From: alicia-koh Date: Fri, 19 Sep 2025 15:56:19 +0800 Subject: [PATCH 1/2] Temp changes to trex dialect function --- R/TrexDialect.R | 41 +++++++++++++++++------- inst/java/SqlRender-1.19.2-SNAPSHOT.jar | Bin 0 -> 59504 bytes inst/java/SqlRender.jar | Bin 59492 -> 59504 bytes 3 files changed, 29 insertions(+), 12 deletions(-) create mode 100644 inst/java/SqlRender-1.19.2-SNAPSHOT.jar diff --git a/R/TrexDialect.R b/R/TrexDialect.R index 78815b25..95e54520 100644 --- a/R/TrexDialect.R +++ b/R/TrexDialect.R @@ -1,32 +1,47 @@ #' Switch SQL dialect for Trex connection #' -#' This function conditionally switches the SQL dialect to DuckDB for -#' when the 'trex_connection' environment variable is set to "true". +#' This function conditionally switches the SQL dialect based on the +#' value of the 'trex_connection' environment variable. Supported values: +#' "trex", "trex_hana" (or unset). +#' +#' - If 'trex_connection' is not set, returns the original dialect. +#' - If 'trex_connection' == "trex" and dialect != "hana", returns "duckdb". +#' - If 'trex_connection' == "trex_hana", returns "hana". +#' - For any other value, returns the original dialect. #' #' @param dialect A character string specifying the original SQL dialect #' (e.g., "postgresql", "mysql", "sqlite", etc.) #' #' @return A character string representing the SQL dialect to use: #' \itemize{ -#' \item Returns "duckdb" if trex_connection environment variable is "true" and dialect is not "hana" -#' \item Returns the original dialect otherwise +#' \item If 'trex_connection' is not set, returns the original dialect +#' \item If 'trex_connection' == "trex" and dialect != "hana", returns "duckdb" +#' \item If 'trex_connection' == "trex_hana", returns "hana" +#' \item For any other value, returns the original dialect #' } #' #' @details #' The function checks the 'trex_connection' environment variable: #' \itemize{ #' \item If the environment variable is not set (NA), returns the original dialect -#' \item If set to "true" and the dialect is not "hana", returns "duckdb" +#' \item If set to "trex" and the dialect is not "hana", returns "duckdb" +#' \item If set to "trex_hana", returns "hana" #' \item Otherwise, returns the original dialect unchanged #' } #' #' @examples #' # Set environment variable for testing -#' Sys.setenv(trex_connection = "true") +#' Sys.setenv(trex_connection = "trex") #' trexDialect("postgresql") # Returns "duckdb" #' trexDialect("hana") # Returns "hana" (unchanged) #' -#' # Unset environment variable +#' Sys.setenv(trex_connection = "trex_hana") +#' trexDialect("postgresql") # Returns "hana" +#' trexDialect("hana") # Returns "hana" +#' +#' Sys.setenv(trex_connection = "other_value") +#' trexDialect("postgresql") # Returns "postgresql" +#' #' Sys.unsetenv("trex_connection") #' trexDialect("postgresql") # Returns "postgresql" #' @@ -38,9 +53,11 @@ trexDialect <- function(dialect) { if (is.na(trex_env)) { return(dialect) } - if (trex_env == "true" && dialect != "hana") { - return("duckdb") - } else { - return(dialect) - } + if (trex_env == "trex" && dialect != "hana") { + return("duckdb") + } else if (trex_env == "trex_hana") { + return("hana") + } else { + return(dialect) + } } \ No newline at end of file diff --git a/inst/java/SqlRender-1.19.2-SNAPSHOT.jar b/inst/java/SqlRender-1.19.2-SNAPSHOT.jar new file mode 100644 index 0000000000000000000000000000000000000000..bdd70996be95c1d74dcd4635c26a82d2bbdf9c00 GIT binary patch literal 59504 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�aB=WShmzx-Z1HQ4j2}6z;X=EdhFU>?r^^)e`(6G$^fH#}))tPE_HO?|Ma(~|!iUD@8ua!S zxlHArA<+yB>G{C7Rh z{VskkuDGp^`Kv(!U$*~F;a}Fu+=u`CD97*@8Tt(gH1E6*|8-FOHD>S#x8ju04@~J literal 0 HcmV?d00001 diff --git a/inst/java/SqlRender.jar b/inst/java/SqlRender.jar index e2ba4fd156e85644124810c33f8c414b4db14787..bdd70996be95c1d74dcd4635c26a82d2bbdf9c00 100644 GIT binary patch delta 2909 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 Date: Mon, 9 Mar 2026 16:20:34 +0800 Subject: [PATCH 2/2] update hana to not create temporary tables --- inst/csv/replacementPatterns.csv | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/inst/csv/replacementPatterns.csv b/inst/csv/replacementPatterns.csv index 0824787c..9cec9708 100644 --- a/inst/csv/replacementPatterns.csv +++ b/inst/csv/replacementPatterns.csv @@ -1480,10 +1480,10 @@ hana,"IF OBJECT_ID('@table', 'U') IS NULL CREATE TABLE @table (@definition);","D hana,"IF OBJECT_ID('@table', 'U') IS NOT NULL DROP TABLE @table;","DO BEGIN IF EXISTS (SELECT * FROM (SELECT SCHEMA_NAME || '.' || TABLE_NAME AS combined_name, SCHEMA_NAME, TABLE_NAME FROM tables) WHERE combined_name=UPPER('@table')) THEN DROP TABLE @table; END IF; END;" hana,"IF OBJECT_ID('tempdb..#@table', 'U') IS NOT NULL DROP TABLE @table;","DO BEGIN IF EXISTS (SELECT * FROM (SELECT SCHEMA_NAME || '.' || TABLE_NAME AS combined_name, SCHEMA_NAME, TABLE_NAME FROM tables) WHERE combined_name=UPPER('@table')) THEN DROP TABLE @table; END IF; END;" hana,"DROP TABLE IF EXISTS @table_name;","DO BEGIN IF EXISTS (SELECT * FROM (SELECT SCHEMA_NAME || '.' || TABLE_NAME AS combined_name, SCHEMA_NAME, TABLE_NAME FROM tables) WHERE combined_name=UPPER('@table_name')) THEN DROP TABLE @table_name; END IF; END;" -hana,CREATE TABLE #@table (@definition);,CREATE LOCAL TEMPORARY TABLE #@table (@definition); -hana,WITH @a AS @b SELECT @c INTO #@d FROM @e;,CREATE LOCAL TEMPORARY TABLE #@d\nAS(\nWITH @a AS @b SELECT\n@c\nFROM\n@e); +hana,CREATE TABLE #@table (@definition);,CREATE TABLE #@table (@definition); +hana,WITH @a AS @b SELECT @c INTO #@d FROM @e;,CREATE TABLE #@d\nAS(\nWITH @a AS @b SELECT\n@c\nFROM\n@e); hana,WITH @a AS @b SELECT @c INTO @d FROM @e;,CREATE TABLE @d\nAS(\nWITH @a AS @b SELECT\n@c\nFROM\n@e); -hana,SELECT @a INTO #@b FROM @c;,CREATE LOCAL TEMPORARY TABLE #@b AS(\nSELECT\n@a\nFROM\n@c); +hana,SELECT @a INTO #@b FROM @c;,CREATE TABLE #@b AS(\nSELECT\n@a\nFROM\n@c); hana,SELECT @a INTO @b FROM @c;,CREATE TABLE @b AS(\nSELECT\n@a\nFROM\n@c); hana,SELECT @a INTO @b;,CREATE TABLE @b AS\nSELECT\n@a; hana,#,