@qrvey/formula-lang 3.1.0-rc.857 → 3.1.0-rc.905

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/cjs/constants/interfaces.d.ts +2 -0
  2. package/dist/cjs/functions/aggAvg.js +18 -14
  3. package/dist/cjs/functions/aggAvg.js.map +1 -1
  4. package/dist/cjs/functions/aggCount.js +18 -14
  5. package/dist/cjs/functions/aggCount.js.map +1 -1
  6. package/dist/cjs/functions/aggDistcount.js +18 -14
  7. package/dist/cjs/functions/aggDistcount.js.map +1 -1
  8. package/dist/cjs/functions/aggMax.js +8 -8
  9. package/dist/cjs/functions/aggMax.js.map +1 -1
  10. package/dist/cjs/functions/aggMed.js +7 -7
  11. package/dist/cjs/functions/aggMed.js.map +1 -1
  12. package/dist/cjs/functions/aggMin.js +8 -8
  13. package/dist/cjs/functions/aggMin.js.map +1 -1
  14. package/dist/cjs/functions/aggSum.js +8 -8
  15. package/dist/cjs/functions/aggSum.js.map +1 -1
  16. package/dist/cjs/functions/totalAvg.js +20 -14
  17. package/dist/cjs/functions/totalAvg.js.map +1 -1
  18. package/dist/cjs/functions/totalCount.js +18 -12
  19. package/dist/cjs/functions/totalCount.js.map +1 -1
  20. package/dist/cjs/functions/totalDistcount.js +18 -12
  21. package/dist/cjs/functions/totalDistcount.js.map +1 -1
  22. package/dist/cjs/transpiler/index.js +9 -0
  23. package/dist/cjs/transpiler/index.js.map +1 -1
  24. package/dist/cjs/utils/sql/scripts.d.ts +2 -1
  25. package/dist/cjs/utils/sql/scripts.js +20 -1
  26. package/dist/cjs/utils/sql/scripts.js.map +1 -1
  27. package/dist/module/constants/interfaces.d.ts +2 -0
  28. package/dist/module/functions/aggAvg.js +18 -14
  29. package/dist/module/functions/aggAvg.js.map +1 -1
  30. package/dist/module/functions/aggCount.js +18 -14
  31. package/dist/module/functions/aggCount.js.map +1 -1
  32. package/dist/module/functions/aggDistcount.js +18 -14
  33. package/dist/module/functions/aggDistcount.js.map +1 -1
  34. package/dist/module/functions/aggMax.js +8 -8
  35. package/dist/module/functions/aggMax.js.map +1 -1
  36. package/dist/module/functions/aggMed.js +7 -7
  37. package/dist/module/functions/aggMed.js.map +1 -1
  38. package/dist/module/functions/aggMin.js +8 -8
  39. package/dist/module/functions/aggMin.js.map +1 -1
  40. package/dist/module/functions/aggSum.js +8 -8
  41. package/dist/module/functions/aggSum.js.map +1 -1
  42. package/dist/module/functions/totalAvg.js +20 -14
  43. package/dist/module/functions/totalAvg.js.map +1 -1
  44. package/dist/module/functions/totalCount.js +18 -12
  45. package/dist/module/functions/totalCount.js.map +1 -1
  46. package/dist/module/functions/totalDistcount.js +18 -12
  47. package/dist/module/functions/totalDistcount.js.map +1 -1
  48. package/dist/module/transpiler/index.js +9 -0
  49. package/dist/module/transpiler/index.js.map +1 -1
  50. package/dist/module/utils/sql/scripts.d.ts +2 -1
  51. package/dist/module/utils/sql/scripts.js +18 -0
  52. package/dist/module/utils/sql/scripts.js.map +1 -1
  53. package/package.json +1 -1
@@ -8,6 +8,7 @@ export interface FunctionDefinition extends FunctionElementDefinition {
8
8
  operationScope: OPERATION_SCOPE;
9
9
  functionScope: Array<OPERATION_SCOPE>;
10
10
  transpiler: EnginesFunction;
11
+ withContextInfo?: boolean;
11
12
  parameters?: Array<FunctionParameter>;
12
13
  primitiveResult: Primitive | ((args: CommonAST[]) => Primitive);
13
14
  }
@@ -141,6 +142,7 @@ export interface FormulaContext {
141
142
  model?: VariableContextDefinition[];
142
143
  currentFormulaId?: string;
143
144
  currentInputScope?: OPERATION_SCOPE;
145
+ isNullConfigEnabled?: boolean;
144
146
  timezone?: TimezoneDefinition;
145
147
  useSampleData?: boolean;
146
148
  sampleData?: any;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AVG = void 0;
4
4
  const constants_1 = require("../constants");
5
5
  const utils_1 = require("../utils");
6
+ const scripts_1 = require("../utils/sql/scripts");
6
7
  /**
7
8
  * `AVG` Returns the aggregated SUM of a column.
8
9
  */
@@ -18,6 +19,7 @@ exports.AVG = {
18
19
  validator: [utils_1.isANumericColumnParam],
19
20
  },
20
21
  ],
22
+ withContextInfo: true,
21
23
  transpiler: {
22
24
  elasticsearch,
23
25
  snowflake,
@@ -33,25 +35,27 @@ function elasticsearch(value) {
33
35
  const _value = (0, utils_1.replaceDotByUnderscore)(value);
34
36
  return `params.get("AVG_${_value}")`;
35
37
  }
36
- function SQL(value) {
37
- return `AVG(${value})`;
38
+ function SQL(value, cast, { context, node }) {
39
+ if (context.isNullConfigEnabled)
40
+ value = (0, scripts_1.coalesceByNodeType)(value, node);
41
+ return `CAST(AVG(${value}) AS ${cast})`;
38
42
  }
39
- function snowflake(value) {
40
- return SQL(value);
43
+ function snowflake(value, { context, node }) {
44
+ return SQL(value, 'DOUBLE', { context, node });
41
45
  }
42
- function redshift(value) {
43
- return SQL(value);
46
+ function redshift(value, { context, node }) {
47
+ return SQL(value, 'FLOAT', { context, node });
44
48
  }
45
- function postgresql(value) {
46
- return SQL(value);
49
+ function postgresql(value, { context, node }) {
50
+ return SQL(value, 'FLOAT', { context, node });
47
51
  }
48
- function databricks(value) {
49
- return SQL(value);
52
+ function databricks(value, { context, node }) {
53
+ return SQL(value, 'DOUBLE', { context, node });
50
54
  }
51
- function mysql(value) {
52
- return SQL(value);
55
+ function mysql(value, { context, node }) {
56
+ return SQL(value, 'DOUBLE', { context, node });
53
57
  }
54
- function mssql(value) {
55
- return SQL(value);
58
+ function mssql(value, { context, node }) {
59
+ return SQL(value, 'FLOAT', { context, node });
56
60
  }
57
61
  //# sourceMappingURL=aggAvg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aggAvg.js","sourceRoot":"","sources":["../../../src/functions/aggAvg.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAE/D,oCAAyE;AAEzE;;GAEG;AACU,QAAA,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,2BAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,2BAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,6BAAqB,CAAC;SACrC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,MAAM,GAAG,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,mBAAmB,MAAM,IAAI,CAAC;AACzC,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,OAAO,KAAK,GAAG,CAAC;AAC3B,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"aggAvg.js","sourceRoot":"","sources":["../../../src/functions/aggAvg.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAM/D,oCAAyE;AACzE,kDAA0D;AAE1D;;GAEG;AACU,QAAA,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,2BAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,2BAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,6BAAqB,CAAC;SACrC;KACJ;IACD,eAAe,EAAE,IAAI;IACrB,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,MAAM,GAAG,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,mBAAmB,MAAM,IAAI,CAAC;AACzC,CAAC;AAED,SAAS,GAAG,CACR,KAAa,EACb,IAAY,EACZ,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,IAAI,OAAO,CAAC,mBAAmB;QAAE,KAAK,GAAG,IAAA,4BAAkB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzE,OAAO,YAAY,KAAK,QAAQ,IAAI,GAAG,CAAC;AAC5C,CAAC;AAED,SAAS,SAAS,CACd,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,QAAQ,CACb,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,UAAU,CACf,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,UAAU,CACf,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,KAAK,CACV,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,KAAK,CACV,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.COUNT = void 0;
4
4
  const constants_1 = require("../constants");
5
5
  const utils_1 = require("../utils");
6
+ const scripts_1 = require("../utils/sql/scripts");
6
7
  /**
7
8
  * `COUNT` Returns the aggregated SUM of a column.
8
9
  */
@@ -18,6 +19,7 @@ exports.COUNT = {
18
19
  validator: [utils_1.isAColumnParam],
19
20
  },
20
21
  ],
22
+ withContextInfo: true,
21
23
  transpiler: {
22
24
  elasticsearch,
23
25
  snowflake,
@@ -33,25 +35,27 @@ function elasticsearch(value) {
33
35
  const _value = (0, utils_1.replaceDotByUnderscore)(value);
34
36
  return `params.get("COUNT_${_value}")`;
35
37
  }
36
- function SQL(value) {
37
- return `COUNT(${value})`;
38
+ function SQL(value, cast, { context, node }) {
39
+ if (context.isNullConfigEnabled)
40
+ value = (0, scripts_1.coalesceByNodeType)(value, node);
41
+ return `CAST(COUNT(${value}) AS ${cast})`;
38
42
  }
39
- function snowflake(value) {
40
- return SQL(value);
43
+ function snowflake(value, { context, node }) {
44
+ return SQL(value, 'DOUBLE', { context, node });
41
45
  }
42
- function redshift(value) {
43
- return SQL(value);
46
+ function redshift(value, { context, node }) {
47
+ return SQL(value, 'FLOAT', { context, node });
44
48
  }
45
- function postgresql(value) {
46
- return SQL(value);
49
+ function postgresql(value, { context, node }) {
50
+ return SQL(value, 'FLOAT', { context, node });
47
51
  }
48
- function databricks(value) {
49
- return SQL(value);
52
+ function databricks(value, { context, node }) {
53
+ return SQL(value, 'DOUBLE', { context, node });
50
54
  }
51
- function mssql(value) {
52
- return SQL(value);
55
+ function mssql(value, { context, node }) {
56
+ return SQL(value, 'DOUBLE', { context, node });
53
57
  }
54
- function mysql(value) {
55
- return SQL(value);
58
+ function mysql(value, { context, node }) {
59
+ return SQL(value, 'FLOAT', { context, node });
56
60
  }
57
61
  //# sourceMappingURL=aggCount.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aggCount.js","sourceRoot":"","sources":["../../../src/functions/aggCount.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAE/D,oCAAkE;AAElE;;GAEG;AACU,QAAA,KAAK,GAAuB;IACrC,UAAU,EAAE,OAAO;IACnB,cAAc,EAAE,2BAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,2BAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,sBAAc,CAAC;SAC9B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,MAAM,GAAG,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,qBAAqB,MAAM,IAAI,CAAC;AAC3C,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,SAAS,KAAK,GAAG,CAAC;AAC7B,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"aggCount.js","sourceRoot":"","sources":["../../../src/functions/aggCount.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAM/D,oCAAkE;AAClE,kDAA0D;AAE1D;;GAEG;AACU,QAAA,KAAK,GAAuB;IACrC,UAAU,EAAE,OAAO;IACnB,cAAc,EAAE,2BAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,2BAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,sBAAc,CAAC;SAC9B;KACJ;IACD,eAAe,EAAE,IAAI;IACrB,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,MAAM,GAAG,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,qBAAqB,MAAM,IAAI,CAAC;AAC3C,CAAC;AAED,SAAS,GAAG,CACR,KAAa,EACb,IAAY,EACZ,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,IAAI,OAAO,CAAC,mBAAmB;QAAE,KAAK,GAAG,IAAA,4BAAkB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzE,OAAO,cAAc,KAAK,QAAQ,IAAI,GAAG,CAAC;AAC9C,CAAC;AAED,SAAS,SAAS,CACd,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,QAAQ,CACb,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,UAAU,CACf,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,UAAU,CACf,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,KAAK,CACV,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,KAAK,CACV,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DISTCOUNT = void 0;
4
4
  const constants_1 = require("../constants");
5
5
  const utils_1 = require("../utils");
6
+ const scripts_1 = require("../utils/sql/scripts");
6
7
  /**
7
8
  * `DISTCOUNT` Returns the aggregated SUM of a column.
8
9
  */
@@ -18,6 +19,7 @@ exports.DISTCOUNT = {
18
19
  validator: [utils_1.isAColumnParam],
19
20
  },
20
21
  ],
22
+ withContextInfo: true,
21
23
  transpiler: {
22
24
  elasticsearch,
23
25
  snowflake,
@@ -33,25 +35,27 @@ function elasticsearch(value) {
33
35
  const _value = (0, utils_1.replaceDotByUnderscore)(value);
34
36
  return `params.get("DISTINCTCOUNT_${_value}")`;
35
37
  }
36
- function SQL(value) {
37
- return `COUNT(DISTINCT ${value})`;
38
+ function SQL(value, cast, { context, node }) {
39
+ if (context.isNullConfigEnabled)
40
+ value = (0, scripts_1.coalesceByNodeType)(value, node);
41
+ return `CAST(COUNT(DISTINCT ${value}) AS ${cast})`;
38
42
  }
39
- function snowflake(value) {
40
- return SQL(value);
43
+ function snowflake(value, { context, node }) {
44
+ return SQL(value, 'DOUBLE', { context, node });
41
45
  }
42
- function redshift(value) {
43
- return SQL(value);
46
+ function redshift(value, { context, node }) {
47
+ return SQL(value, 'FLOAT', { context, node });
44
48
  }
45
- function postgresql(value) {
46
- return SQL(value);
49
+ function postgresql(value, { context, node }) {
50
+ return SQL(value, 'FLOAT', { context, node });
47
51
  }
48
- function databricks(value) {
49
- return SQL(value);
52
+ function databricks(value, { context, node }) {
53
+ return SQL(value, 'DOUBLE', { context, node });
50
54
  }
51
- function mysql(value) {
52
- return SQL(value);
55
+ function mysql(value, { context, node }) {
56
+ return SQL(value, 'DOUBLE', { context, node });
53
57
  }
54
- function mssql(value) {
55
- return SQL(value);
58
+ function mssql(value, { context, node }) {
59
+ return SQL(value, 'FLOAT', { context, node });
56
60
  }
57
61
  //# sourceMappingURL=aggDistcount.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aggDistcount.js","sourceRoot":"","sources":["../../../src/functions/aggDistcount.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAE/D,oCAAkE;AAElE;;GAEG;AACU,QAAA,SAAS,GAAuB;IACzC,UAAU,EAAE,WAAW;IACvB,cAAc,EAAE,2BAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,2BAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,sBAAc,CAAC;SAC9B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,MAAM,GAAG,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,6BAA6B,MAAM,IAAI,CAAC;AACnD,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,kBAAkB,KAAK,GAAG,CAAC;AACtC,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"aggDistcount.js","sourceRoot":"","sources":["../../../src/functions/aggDistcount.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAM/D,oCAAkE;AAClE,kDAA0D;AAE1D;;GAEG;AACU,QAAA,SAAS,GAAuB;IACzC,UAAU,EAAE,WAAW;IACvB,cAAc,EAAE,2BAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,2BAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,sBAAc,CAAC;SAC9B;KACJ;IACD,eAAe,EAAE,IAAI;IACrB,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,MAAM,GAAG,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,6BAA6B,MAAM,IAAI,CAAC;AACnD,CAAC;AAED,SAAS,GAAG,CACR,KAAa,EACb,IAAY,EACZ,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,IAAI,OAAO,CAAC,mBAAmB;QAAE,KAAK,GAAG,IAAA,4BAAkB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzE,OAAO,uBAAuB,KAAK,QAAQ,IAAI,GAAG,CAAC;AACvD,CAAC;AAED,SAAS,SAAS,CACd,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,QAAQ,CACb,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,UAAU,CACf,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,UAAU,CACf,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,KAAK,CACV,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,KAAK,CACV,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC"}
@@ -33,25 +33,25 @@ function elasticsearch(value) {
33
33
  const _value = (0, utils_1.replaceDotByUnderscore)(value);
34
34
  return `params.get("MAX_${_value}")`;
35
35
  }
36
- function SQL(value) {
37
- return `MAX(${value})`;
36
+ function SQL(value, cast) {
37
+ return `CAST(MAX(${value}) AS ${cast})`;
38
38
  }
39
39
  function snowflake(value) {
40
- return SQL(value);
40
+ return SQL(value, 'DOUBLE');
41
41
  }
42
42
  function redshift(value) {
43
- return SQL(value);
43
+ return SQL(value, 'FLOAT');
44
44
  }
45
45
  function postgresql(value) {
46
- return SQL(value);
46
+ return SQL(value, 'FLOAT');
47
47
  }
48
48
  function databricks(value) {
49
- return SQL(value);
49
+ return SQL(value, 'DOUBLE');
50
50
  }
51
51
  function mysql(value) {
52
- return SQL(value);
52
+ return SQL(value, 'DOUBLE');
53
53
  }
54
54
  function mssql(value) {
55
- return SQL(value);
55
+ return SQL(value, 'FLOAT');
56
56
  }
57
57
  //# sourceMappingURL=aggMax.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aggMax.js","sourceRoot":"","sources":["../../../src/functions/aggMax.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAE/D,oCAAyE;AAEzE;;GAEG;AACU,QAAA,MAAM,GAAuB;IACtC,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,2BAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,2BAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,6BAAqB,CAAC;SACrC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,MAAM,GAAG,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,mBAAmB,MAAM,IAAI,CAAC;AACzC,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,OAAO,KAAK,GAAG,CAAC;AAC3B,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"aggMax.js","sourceRoot":"","sources":["../../../src/functions/aggMax.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAE/D,oCAAyE;AAEzE;;GAEG;AACU,QAAA,MAAM,GAAuB;IACtC,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,2BAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,2BAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,6BAAqB,CAAC;SACrC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,MAAM,GAAG,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,mBAAmB,MAAM,IAAI,CAAC;AACzC,CAAC;AAED,SAAS,GAAG,CAAC,KAAa,EAAE,IAAY;IACpC,OAAO,YAAY,KAAK,QAAQ,IAAI,GAAG,CAAC;AAC5C,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC/B,CAAC"}
@@ -33,25 +33,25 @@ function elasticsearch(value) {
33
33
  const _value = (0, utils_1.replaceDotByUnderscore)(value);
34
34
  return `params.get("MEDIAN_${_value}")`;
35
35
  }
36
- function SQL(value) {
37
- return `MEDIAN(${value})`;
36
+ function SQL(value, cast) {
37
+ return `CAST(MEDIAN(${value}) AS ${cast})`;
38
38
  }
39
39
  function snowflake(value) {
40
- return SQL(value);
40
+ return SQL(value, 'DOUBLE');
41
41
  }
42
42
  function redshift(value) {
43
- return SQL(value);
43
+ return SQL(value, 'FLOAT');
44
44
  }
45
45
  function postgresql(value) {
46
- return `PERCENTILE_CONT(0.5) WITHIN GROUP(ORDER BY ${value})`;
46
+ return `CAST(PERCENTILE_CONT(0.5) WITHIN GROUP(ORDER BY ${value}) AS FLOAT)`;
47
47
  }
48
48
  function databricks(value) {
49
- return SQL(value);
49
+ return SQL(value, 'DOUBLE');
50
50
  }
51
51
  function mysql(_value) {
52
52
  return ``.trim();
53
53
  }
54
54
  function mssql(value) {
55
- return `APPROX_PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY ${value})`;
55
+ return `CAST(APPROX_PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY ${value}) AS FLOAT)`;
56
56
  }
57
57
  //# sourceMappingURL=aggMed.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aggMed.js","sourceRoot":"","sources":["../../../src/functions/aggMed.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAE/D,oCAAyE;AAEzE;;GAEG;AACU,QAAA,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,2BAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,2BAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,6BAAqB,CAAC;SACrC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,MAAM,GAAG,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,sBAAsB,MAAM,IAAI,CAAC;AAC5C,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,UAAU,KAAK,GAAG,CAAC;AAC9B,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,8CAA8C,KAAK,GAAG,CAAC;AAClE,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,MAAc;IACzB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,sDAAsD,KAAK,GAAG,CAAC;AAC1E,CAAC"}
1
+ {"version":3,"file":"aggMed.js","sourceRoot":"","sources":["../../../src/functions/aggMed.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAE/D,oCAAyE;AAEzE;;GAEG;AACU,QAAA,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,2BAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,2BAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,6BAAqB,CAAC;SACrC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,MAAM,GAAG,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,sBAAsB,MAAM,IAAI,CAAC;AAC5C,CAAC;AAED,SAAS,GAAG,CAAC,KAAa,EAAE,IAAY;IACpC,OAAO,eAAe,KAAK,QAAQ,IAAI,GAAG,CAAC;AAC/C,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,mDAAmD,KAAK,aAAa,CAAC;AACjF,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,KAAK,CAAC,MAAc;IACzB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,2DAA2D,KAAK,aAAa,CAAC;AACzF,CAAC"}
@@ -33,25 +33,25 @@ function elasticsearch(value) {
33
33
  const _value = (0, utils_1.replaceDotByUnderscore)(value);
34
34
  return `params.get("MIN_${_value}")`;
35
35
  }
36
- function SQL(value) {
37
- return `MIN(${value})`;
36
+ function SQL(value, cast) {
37
+ return `CAST(MIN(${value}) AS ${cast})`;
38
38
  }
39
39
  function snowflake(value) {
40
- return SQL(value);
40
+ return SQL(value, 'DOUBLE');
41
41
  }
42
42
  function redshift(value) {
43
- return SQL(value);
43
+ return SQL(value, 'FLOAT');
44
44
  }
45
45
  function postgresql(value) {
46
- return SQL(value);
46
+ return SQL(value, 'FLOAT');
47
47
  }
48
48
  function databricks(value) {
49
- return SQL(value);
49
+ return SQL(value, 'DOUBLE');
50
50
  }
51
51
  function mysql(value) {
52
- return SQL(value);
52
+ return SQL(value, 'DOUBLE');
53
53
  }
54
54
  function mssql(value) {
55
- return SQL(value);
55
+ return SQL(value, 'FLOAT');
56
56
  }
57
57
  //# sourceMappingURL=aggMin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aggMin.js","sourceRoot":"","sources":["../../../src/functions/aggMin.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAE/D,oCAAyE;AAEzE;;GAEG;AACU,QAAA,MAAM,GAAuB;IACtC,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,2BAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,2BAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,6BAAqB,CAAC;SACrC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,MAAM,GAAG,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,mBAAmB,MAAM,IAAI,CAAC;AACzC,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,OAAO,KAAK,GAAG,CAAC;AAC3B,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"aggMin.js","sourceRoot":"","sources":["../../../src/functions/aggMin.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAE/D,oCAAyE;AAEzE;;GAEG;AACU,QAAA,MAAM,GAAuB;IACtC,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,2BAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,2BAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,6BAAqB,CAAC;SACrC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,MAAM,GAAG,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,mBAAmB,MAAM,IAAI,CAAC;AACzC,CAAC;AAED,SAAS,GAAG,CAAC,KAAa,EAAE,IAAY;IACpC,OAAO,YAAY,KAAK,QAAQ,IAAI,GAAG,CAAC;AAC5C,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC/B,CAAC"}
@@ -33,25 +33,25 @@ function elasticsearch(value) {
33
33
  const _value = (0, utils_1.replaceDotByUnderscore)(value);
34
34
  return `params.get("SUM_${_value}")`;
35
35
  }
36
- function SQL(value) {
37
- return `SUM(${value})`;
36
+ function SQL(value, cast) {
37
+ return `CAST(SUM(${value}) AS ${cast})`;
38
38
  }
39
39
  function snowflake(value) {
40
- return SQL(value);
40
+ return SQL(value, 'DOUBLE');
41
41
  }
42
42
  function redshift(value) {
43
- return SQL(value);
43
+ return SQL(value, 'FLOAT');
44
44
  }
45
45
  function postgresql(value) {
46
- return SQL(value);
46
+ return SQL(value, 'FLOAT');
47
47
  }
48
48
  function databricks(value) {
49
- return SQL(value);
49
+ return SQL(value, 'DOUBLE');
50
50
  }
51
51
  function mysql(value) {
52
- return SQL(value);
52
+ return SQL(value, 'DOUBLE');
53
53
  }
54
54
  function mssql(value) {
55
- return SQL(value);
55
+ return SQL(value, 'FLOAT');
56
56
  }
57
57
  //# sourceMappingURL=aggSum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aggSum.js","sourceRoot":"","sources":["../../../src/functions/aggSum.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAE/D,oCAAyE;AAEzE;;GAEG;AACU,QAAA,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,2BAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,2BAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,6BAAqB,CAAC;SACrC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,MAAM,GAAG,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,mBAAmB,MAAM,IAAI,CAAC;AACzC,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,OAAO,KAAK,GAAG,CAAC;AAC3B,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"aggSum.js","sourceRoot":"","sources":["../../../src/functions/aggSum.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAE/D,oCAAyE;AAEzE;;GAEG;AACU,QAAA,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,2BAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,2BAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,6BAAqB,CAAC;SACrC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,MAAM,GAAG,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,mBAAmB,MAAM,IAAI,CAAC;AACzC,CAAC;AAED,SAAS,GAAG,CAAC,KAAa,EAAE,IAAY;IACpC,OAAO,YAAY,KAAK,QAAQ,IAAI,GAAG,CAAC;AAC5C,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC/B,CAAC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AGG_AVG = void 0;
4
4
  const constants_1 = require("../constants");
5
5
  const utils_1 = require("../utils");
6
+ const scripts_1 = require("../utils/sql/scripts");
6
7
  /**
7
8
  * `AGG_AVG` Returns the average of all the values in a column considering all available data.
8
9
  */
@@ -18,6 +19,7 @@ exports.AGG_AVG = {
18
19
  validator: [utils_1.isANumericColumnParam],
19
20
  },
20
21
  ],
22
+ withContextInfo: true,
21
23
  transpiler: {
22
24
  elasticsearch,
23
25
  snowflake,
@@ -33,25 +35,29 @@ function elasticsearch(value) {
33
35
  const sanitized = (0, utils_1.replaceDotByUnderscore)(value);
34
36
  return `params.get("TOTAL_AVG_${sanitized}")`;
35
37
  }
36
- function SQL(value) {
37
- return `(SELECT AVG(${value}) FROM :formulaTable :formulaWhere)`;
38
+ function SQL(value, cast, { context, node }) {
39
+ if (context.isNullConfigEnabled)
40
+ value = (0, scripts_1.coalesceByNodeType)(value, node);
41
+ return `(SELECT CAST(AVG(${value}) AS ${cast}) FROM :formulaTable :formulaWhere)`;
38
42
  }
39
- function snowflake(value) {
40
- return SQL(value);
43
+ function snowflake(value, { context, node }) {
44
+ return SQL(value, 'DOUBLE', { context, node });
41
45
  }
42
- function redshift(value) {
43
- return SQL(value);
46
+ function redshift(value, { context, node }) {
47
+ if (context.isNullConfigEnabled)
48
+ value = (0, scripts_1.coalesceByNodeType)(value, node);
49
+ return `((SELECT AVG(${value}) FROM :formulaTable :formulaWhere)::FLOAT8)`;
44
50
  }
45
- function postgresql(value) {
46
- return SQL(value);
51
+ function postgresql(value, { context, node }) {
52
+ return redshift(value, { context, node });
47
53
  }
48
- function databricks(value) {
49
- return SQL(value);
54
+ function databricks(value, { context, node }) {
55
+ return SQL(value, 'DOUBLE', { context, node });
50
56
  }
51
- function mysql(value) {
52
- return SQL(value);
57
+ function mysql(value, { context, node }) {
58
+ return SQL(value, 'DOUBLE', { context, node });
53
59
  }
54
- function mssql(value) {
55
- return SQL(value);
60
+ function mssql(value, { context, node }) {
61
+ return SQL(value, 'FLOAT', { context, node });
56
62
  }
57
63
  //# sourceMappingURL=totalAvg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"totalAvg.js","sourceRoot":"","sources":["../../../src/functions/totalAvg.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAE/D,oCAAyE;AAEzE;;GAEG;AACU,QAAA,OAAO,GAAuB;IACvC,UAAU,EAAE,SAAS;IACrB,cAAc,EAAE,2BAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,2BAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,6BAAqB,CAAC;SACrC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,SAAS,GAAG,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC;IAChD,OAAO,yBAAyB,SAAS,IAAI,CAAC;AAClD,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,eAAe,KAAK,qCAAqC,CAAC;AACrE,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"totalAvg.js","sourceRoot":"","sources":["../../../src/functions/totalAvg.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAM/D,oCAAyE;AACzE,kDAA0D;AAE1D;;GAEG;AACU,QAAA,OAAO,GAAuB;IACvC,UAAU,EAAE,SAAS;IACrB,cAAc,EAAE,2BAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,2BAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,6BAAqB,CAAC;SACrC;KACJ;IACD,eAAe,EAAE,IAAI;IACrB,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,SAAS,GAAG,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC;IAChD,OAAO,yBAAyB,SAAS,IAAI,CAAC;AAClD,CAAC;AAED,SAAS,GAAG,CACR,KAAa,EACb,IAAY,EACZ,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,IAAI,OAAO,CAAC,mBAAmB;QAAE,KAAK,GAAG,IAAA,4BAAkB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzE,OAAO,oBAAoB,KAAK,QAAQ,IAAI,qCAAqC,CAAC;AACtF,CAAC;AAED,SAAS,SAAS,CACd,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,QAAQ,CACb,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,IAAI,OAAO,CAAC,mBAAmB;QAAE,KAAK,GAAG,IAAA,4BAAkB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzE,OAAO,gBAAgB,KAAK,8CAA8C,CAAC;AAC/E,CAAC;AAED,SAAS,UAAU,CACf,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,UAAU,CACf,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,KAAK,CACV,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,KAAK,CACV,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AGG_COUNT = void 0;
4
4
  const constants_1 = require("../constants");
5
5
  const utils_1 = require("../utils");
6
+ const scripts_1 = require("../utils/sql/scripts");
6
7
  /**
7
8
  * `AGG_COUNT` Returns the total aggregate count of all the values of a column considering all available data.
8
9
  */
@@ -18,6 +19,7 @@ exports.AGG_COUNT = {
18
19
  validator: [utils_1.isAColumnParam],
19
20
  },
20
21
  ],
22
+ withContextInfo: true,
21
23
  transpiler: {
22
24
  elasticsearch,
23
25
  snowflake,
@@ -33,25 +35,29 @@ function elasticsearch(value) {
33
35
  const sanitized = (0, utils_1.replaceDotByUnderscore)(value);
34
36
  return `((double) params.get("TOTAL_COUNT_${sanitized}"))`;
35
37
  }
36
- function SQL(value, cast) {
38
+ function SQL(value, cast, { context, node }) {
39
+ if (context.isNullConfigEnabled)
40
+ value = (0, scripts_1.coalesceByNodeType)(value, node);
37
41
  return `(SELECT CAST(COUNT(${value}) AS ${cast}) FROM :formulaTable :formulaWhere)`;
38
42
  }
39
- function snowflake(value) {
40
- return SQL(value, 'DOUBLE');
43
+ function snowflake(value, { context, node }) {
44
+ return SQL(value, 'DOUBLE', { context, node });
41
45
  }
42
- function redshift(value) {
46
+ function redshift(value, { context, node }) {
47
+ if (context.isNullConfigEnabled)
48
+ value = (0, scripts_1.coalesceByNodeType)(value, node);
43
49
  return `((SELECT COUNT(${value}) FROM :formulaTable :formulaWhere)::FLOAT8)`;
44
50
  }
45
- function postgresql(value) {
46
- return redshift(value);
51
+ function postgresql(value, { context, node }) {
52
+ return redshift(value, { context, node });
47
53
  }
48
- function databricks(value) {
49
- return SQL(value, 'DOUBLE');
54
+ function databricks(value, { context, node }) {
55
+ return SQL(value, 'DOUBLE', { context, node });
50
56
  }
51
- function mysql(value) {
52
- return SQL(value, 'DOUBLE');
57
+ function mysql(value, { context, node }) {
58
+ return SQL(value, 'DOUBLE', { context, node });
53
59
  }
54
- function mssql(value) {
55
- return SQL(value, 'FLOAT');
60
+ function mssql(value, { context, node }) {
61
+ return SQL(value, 'FLOAT', { context, node });
56
62
  }
57
63
  //# sourceMappingURL=totalCount.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"totalCount.js","sourceRoot":"","sources":["../../../src/functions/totalCount.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAE/D,oCAAkE;AAElE;;GAEG;AACU,QAAA,SAAS,GAAuB;IACzC,UAAU,EAAE,WAAW;IACvB,cAAc,EAAE,2BAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,2BAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,sBAAc,CAAC;SAC9B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,SAAS,GAAG,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC;IAChD,OAAO,qCAAqC,SAAS,KAAK,CAAC;AAC/D,CAAC;AAED,SAAS,GAAG,CAAC,KAAa,EAAE,IAAY;IACpC,OAAO,sBAAsB,KAAK,QAAQ,IAAI,qCAAqC,CAAC;AACxF,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,kBAAkB,KAAK,8CAA8C,CAAC;AACjF,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"totalCount.js","sourceRoot":"","sources":["../../../src/functions/totalCount.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAM/D,oCAAkE;AAClE,kDAA0D;AAE1D;;GAEG;AACU,QAAA,SAAS,GAAuB;IACzC,UAAU,EAAE,WAAW;IACvB,cAAc,EAAE,2BAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,2BAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,sBAAc,CAAC;SAC9B;KACJ;IACD,eAAe,EAAE,IAAI;IACrB,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,SAAS,GAAG,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC;IAChD,OAAO,qCAAqC,SAAS,KAAK,CAAC;AAC/D,CAAC;AAED,SAAS,GAAG,CACR,KAAa,EACb,IAAY,EACZ,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,IAAI,OAAO,CAAC,mBAAmB;QAAE,KAAK,GAAG,IAAA,4BAAkB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzE,OAAO,sBAAsB,KAAK,QAAQ,IAAI,qCAAqC,CAAC;AACxF,CAAC;AAED,SAAS,SAAS,CACd,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,QAAQ,CACb,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,IAAI,OAAO,CAAC,mBAAmB;QAAE,KAAK,GAAG,IAAA,4BAAkB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzE,OAAO,kBAAkB,KAAK,8CAA8C,CAAC;AACjF,CAAC;AAED,SAAS,UAAU,CACf,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,UAAU,CACf,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,KAAK,CACV,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,KAAK,CACV,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AGG_DISTCOUNT = void 0;
4
4
  const constants_1 = require("../constants");
5
5
  const utils_1 = require("../utils");
6
+ const scripts_1 = require("../utils/sql/scripts");
6
7
  /**
7
8
  * `AGG_DISTCOUNT` Calculates the count of distinct values in a column across all available data.
8
9
  */
@@ -18,6 +19,7 @@ exports.AGG_DISTCOUNT = {
18
19
  validator: [utils_1.isAColumnParam],
19
20
  },
20
21
  ],
22
+ withContextInfo: true,
21
23
  transpiler: {
22
24
  elasticsearch,
23
25
  snowflake,
@@ -33,25 +35,29 @@ function elasticsearch(value) {
33
35
  const sanitized = (0, utils_1.replaceDotByUnderscore)(value);
34
36
  return `((double) params.get("TOTAL_DISTINCTCOUNT_${sanitized}"))`;
35
37
  }
36
- function SQL(value, cast) {
38
+ function SQL(value, cast, { context, node }) {
39
+ if (context.isNullConfigEnabled)
40
+ value = (0, scripts_1.coalesceByNodeType)(value, node);
37
41
  return `(SELECT CAST(COUNT(DISTINCT ${value}) AS ${cast}) FROM :formulaTable :formulaWhere)`;
38
42
  }
39
- function snowflake(value) {
40
- return SQL(value, 'DOUBLE');
43
+ function snowflake(value, { context, node }) {
44
+ return SQL(value, 'DOUBLE', { context, node });
41
45
  }
42
- function redshift(value) {
46
+ function redshift(value, { context, node }) {
47
+ if (context.isNullConfigEnabled)
48
+ value = (0, scripts_1.coalesceByNodeType)(value, node);
43
49
  return `((SELECT COUNT(DISTINCT ${value}) FROM :formulaTable :formulaWhere)::FLOAT8)`;
44
50
  }
45
- function postgresql(value) {
46
- return redshift(value);
51
+ function postgresql(value, { context, node }) {
52
+ return redshift(value, { context, node });
47
53
  }
48
- function databricks(value) {
49
- return SQL(value, 'DOUBLE');
54
+ function databricks(value, { context, node }) {
55
+ return SQL(value, 'DOUBLE', { context, node });
50
56
  }
51
- function mysql(value) {
52
- return SQL(value, 'DOUBLE');
57
+ function mysql(value, { context, node }) {
58
+ return SQL(value, 'DOUBLE', { context, node });
53
59
  }
54
- function mssql(value) {
55
- return SQL(value, 'FLOAT');
60
+ function mssql(value, { context, node }) {
61
+ return SQL(value, 'FLOAT', { context, node });
56
62
  }
57
63
  //# sourceMappingURL=totalDistcount.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"totalDistcount.js","sourceRoot":"","sources":["../../../src/functions/totalDistcount.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAE/D,oCAAkE;AAElE;;GAEG;AAEU,QAAA,aAAa,GAAuB;IAC7C,UAAU,EAAE,eAAe;IAC3B,cAAc,EAAE,2BAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,2BAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,sBAAc,CAAC;SAC9B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,SAAS,GAAG,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC;IAChD,OAAO,6CAA6C,SAAS,KAAK,CAAC;AACvE,CAAC;AAED,SAAS,GAAG,CAAC,KAAa,EAAE,IAAY;IACpC,OAAO,+BAA+B,KAAK,QAAQ,IAAI,qCAAqC,CAAC;AACjG,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,2BAA2B,KAAK,8CAA8C,CAAC;AAC1F,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"totalDistcount.js","sourceRoot":"","sources":["../../../src/functions/totalDistcount.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAM/D,oCAAkE;AAClE,kDAA0D;AAE1D;;GAEG;AAEU,QAAA,aAAa,GAAuB;IAC7C,UAAU,EAAE,eAAe;IAC3B,cAAc,EAAE,2BAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,2BAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,sBAAc,CAAC;SAC9B;KACJ;IACD,eAAe,EAAE,IAAI;IACrB,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,SAAS,GAAG,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC;IAChD,OAAO,6CAA6C,SAAS,KAAK,CAAC;AACvE,CAAC;AAED,SAAS,GAAG,CACR,KAAa,EACb,IAAY,EACZ,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,IAAI,OAAO,CAAC,mBAAmB;QAAE,KAAK,GAAG,IAAA,4BAAkB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzE,OAAO,+BAA+B,KAAK,QAAQ,IAAI,qCAAqC,CAAC;AACjG,CAAC;AAED,SAAS,SAAS,CACd,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,QAAQ,CACb,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,IAAI,OAAO,CAAC,mBAAmB;QAAE,KAAK,GAAG,IAAA,4BAAkB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzE,OAAO,2BAA2B,KAAK,8CAA8C,CAAC;AAC1F,CAAC;AAED,SAAS,UAAU,CACf,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,UAAU,CACf,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,KAAK,CACV,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,KAAK,CACV,KAAa,EACb,EAAE,OAAO,EAAE,IAAI,EAAsD;IAErE,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC"}
@@ -201,10 +201,19 @@ class Transpiler {
201
201
  return { value, dataType: node.primitive, type: node.type, node };
202
202
  }
203
203
  executer(func, args, node) {
204
+ var _a;
204
205
  (0, validateFuncStructure_1.validateFuncStructure)(func, args, node, {
205
206
  context: this.currentContext,
206
207
  });
207
208
  args = args.map((item) => item.value);
209
+ const withContextInfo = (_a = func.withContextInfo) !== null && _a !== void 0 ? _a : false;
210
+ if (withContextInfo) {
211
+ const info = {
212
+ context: this.currentContext,
213
+ node,
214
+ };
215
+ return func.transpiler[this.engine](...args, info);
216
+ }
208
217
  return func.transpiler[this.engine](...args);
209
218
  }
210
219
  }