From ae6f64f82274f9a47422f7f75fb6dfa694c0c760 Mon Sep 17 00:00:00 2001 From: Konstantin Burkalev Date: Tue, 26 Nov 2024 22:09:48 +0200 Subject: [PATCH 1/2] =?UTF-8?q?add=20single=20intervals=20transformation?= =?UTF-8?q?=20for=C2=A0databricks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/cubejs-databricks-jdbc-driver/src/DatabricksQuery.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/cubejs-databricks-jdbc-driver/src/DatabricksQuery.ts b/packages/cubejs-databricks-jdbc-driver/src/DatabricksQuery.ts index 1a37613ba222b..808d8d0f81eaf 100644 --- a/packages/cubejs-databricks-jdbc-driver/src/DatabricksQuery.ts +++ b/packages/cubejs-databricks-jdbc-driver/src/DatabricksQuery.ts @@ -197,6 +197,7 @@ export class DatabricksQuery extends BaseQuery { templates.functions.TRUNC = 'CASE WHEN ({{ args[0] }}) >= 0 THEN FLOOR({{ args_concat }}) ELSE CEIL({{ args_concat }}) END'; templates.expressions.timestamp_literal = 'from_utc_timestamp(\'{{ value }}\', \'UTC\')'; templates.expressions.extract = 'EXTRACT({{ date_part }} FROM {{ expr }})'; + templates.expressions.interval_single_date_part = 'INTERVAL \'{{ num }}\' {{ date_part }}'; templates.quotes.identifiers = '`'; templates.quotes.escape = '``'; // TODO: Databricks has `TIMESTAMP_NTZ` with logic similar to Pg's `TIMESTAMP` From e87ce37aa66690c04bfd881db20e111f494cb719 Mon Sep 17 00:00:00 2001 From: Konstantin Burkalev Date: Wed, 27 Nov 2024 19:12:55 +0200 Subject: [PATCH 2/2] =?UTF-8?q?add=20CURRENTDATE=20support=20for=C2=A0Data?= =?UTF-8?q?bricks=20SQL=20Push=20down?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/cubejs-databricks-jdbc-driver/src/DatabricksQuery.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/cubejs-databricks-jdbc-driver/src/DatabricksQuery.ts b/packages/cubejs-databricks-jdbc-driver/src/DatabricksQuery.ts index 808d8d0f81eaf..af30172a76e40 100644 --- a/packages/cubejs-databricks-jdbc-driver/src/DatabricksQuery.ts +++ b/packages/cubejs-databricks-jdbc-driver/src/DatabricksQuery.ts @@ -186,6 +186,7 @@ export class DatabricksQuery extends BaseQuery { public sqlTemplates() { const templates = super.sqlTemplates(); + templates.functions.CURRENTDATE = 'CURRENT_DATE'; templates.functions.DATETRUNC = 'DATE_TRUNC({{ args_concat }})'; templates.functions.DATEPART = 'DATE_PART({{ args_concat }})'; templates.functions.BTRIM = 'TRIM({% if args[1] is defined %}{{ args[1] }} FROM {% endif %}{{ args[0] }})';