From a60735ce425ff08c85768d67bbc52f698ef772be Mon Sep 17 00:00:00 2001 From: Paul Heinrichs Date: Wed, 24 Jul 2024 11:03:28 -0400 Subject: [PATCH 1/4] feat(redshift) support approx count distinct --- .../src/adapter/RedshiftQuery.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/cubejs-schema-compiler/src/adapter/RedshiftQuery.ts b/packages/cubejs-schema-compiler/src/adapter/RedshiftQuery.ts index 3a81d0a391d7f..e6d2a1834f9bd 100644 --- a/packages/cubejs-schema-compiler/src/adapter/RedshiftQuery.ts +++ b/packages/cubejs-schema-compiler/src/adapter/RedshiftQuery.ts @@ -12,6 +12,18 @@ export class RedshiftQuery extends PostgresQuery { return 'GETDATE()'; } + public hllInit(sql) { + return `HLL_CREATE_SKETCH(${sql}))`; + } + + public hllMerge(sql) { + return `HLL_CARDINALITY(HLL_COMBINE(HLL_CREATE_SKETCH(${sql})))`; + } + + public countDistinctApprox(sql) { + return `APPROXIMATE COUNT(DISTINCT ${sql})`; + } + public sqlTemplates() { const templates = super.sqlTemplates(); templates.functions.DLOG10 = 'LOG(10, {{ args_concat }})'; From f435c936a6cf7d0e1c516b97cf49d59ba35cb490 Mon Sep 17 00:00:00 2001 From: Paul Heinrichs Date: Mon, 29 Jul 2024 10:27:17 -0400 Subject: [PATCH 2/4] remove extra bracket --- packages/cubejs-schema-compiler/src/adapter/RedshiftQuery.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cubejs-schema-compiler/src/adapter/RedshiftQuery.ts b/packages/cubejs-schema-compiler/src/adapter/RedshiftQuery.ts index e6d2a1834f9bd..b50053f9faf24 100644 --- a/packages/cubejs-schema-compiler/src/adapter/RedshiftQuery.ts +++ b/packages/cubejs-schema-compiler/src/adapter/RedshiftQuery.ts @@ -13,7 +13,7 @@ export class RedshiftQuery extends PostgresQuery { } public hllInit(sql) { - return `HLL_CREATE_SKETCH(${sql}))`; + return `HLL_CREATE_SKETCH(${sql})`; } public hllMerge(sql) { From 71e088275864cb58f2a9ed075732386e00701a3e Mon Sep 17 00:00:00 2001 From: Paul Heinrichs Date: Mon, 29 Jul 2024 10:46:05 -0400 Subject: [PATCH 3/4] Fix hllInit --- packages/cubejs-schema-compiler/src/adapter/RedshiftQuery.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cubejs-schema-compiler/src/adapter/RedshiftQuery.ts b/packages/cubejs-schema-compiler/src/adapter/RedshiftQuery.ts index b50053f9faf24..3a0e22183e4e4 100644 --- a/packages/cubejs-schema-compiler/src/adapter/RedshiftQuery.ts +++ b/packages/cubejs-schema-compiler/src/adapter/RedshiftQuery.ts @@ -13,7 +13,7 @@ export class RedshiftQuery extends PostgresQuery { } public hllInit(sql) { - return `HLL_CREATE_SKETCH(${sql})`; + return `HLL(${sql})`; } public hllMerge(sql) { From 5117bb8f5fb95df5146214379568da24af0374a8 Mon Sep 17 00:00:00 2001 From: Paul Heinrichs Date: Mon, 9 Sep 2024 12:04:16 -0400 Subject: [PATCH 4/4] Revert "Fix hllInit" This reverts commit 71e088275864cb58f2a9ed075732386e00701a3e. --- packages/cubejs-schema-compiler/src/adapter/RedshiftQuery.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cubejs-schema-compiler/src/adapter/RedshiftQuery.ts b/packages/cubejs-schema-compiler/src/adapter/RedshiftQuery.ts index 3a0e22183e4e4..b50053f9faf24 100644 --- a/packages/cubejs-schema-compiler/src/adapter/RedshiftQuery.ts +++ b/packages/cubejs-schema-compiler/src/adapter/RedshiftQuery.ts @@ -13,7 +13,7 @@ export class RedshiftQuery extends PostgresQuery { } public hllInit(sql) { - return `HLL(${sql})`; + return `HLL_CREATE_SKETCH(${sql})`; } public hllMerge(sql) {