@devrev/meerkat-core 0.0.106 → 0.0.108

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devrev/meerkat-core",
3
- "version": "0.0.106",
3
+ "version": "0.0.108",
4
4
  "dependencies": {
5
5
  "tslib": "^2.3.0"
6
6
  },
@@ -2,27 +2,26 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.inTransform = void 0;
4
4
  const constants_1 = require("../../member-formatters/constants");
5
- const duckdb_serialization_types_1 = require("../../types/duckdb-serialization-types");
6
5
  const Expression_1 = require("../../types/duckdb-serialization-types/serialization/Expression");
7
6
  const base_condition_builder_1 = require("../base-condition-builder/base-condition-builder");
8
7
  const inDuckDbCondition = (columnName, values, memberInfo) => {
8
+ const sqlTreeValues = values.map((value) => {
9
+ return {
10
+ class: Expression_1.ExpressionClass.CONSTANT,
11
+ type: Expression_1.ExpressionType.VALUE_CONSTANT,
12
+ alias: '',
13
+ value: (0, base_condition_builder_1.valueBuilder)(value, memberInfo),
14
+ };
15
+ });
9
16
  const columnRef = {
10
- class: Expression_1.ExpressionClass.COLUMN_REF,
11
- type: Expression_1.ExpressionType.COLUMN_REF,
17
+ class: 'COLUMN_REF',
18
+ type: 'COLUMN_REF',
12
19
  alias: '',
13
20
  column_names: columnName.split(constants_1.COLUMN_NAME_DELIMITER),
14
21
  };
15
22
  switch (memberInfo.type) {
16
23
  case 'number_array':
17
24
  case 'string_array': {
18
- const sqlTreeValues = values.map((value) => {
19
- return {
20
- class: Expression_1.ExpressionClass.CONSTANT,
21
- type: Expression_1.ExpressionType.VALUE_CONSTANT,
22
- alias: '',
23
- value: (0, base_condition_builder_1.valueBuilder)(value, memberInfo),
24
- };
25
- });
26
25
  return {
27
26
  class: Expression_1.ExpressionClass.FUNCTION,
28
27
  type: Expression_1.ExpressionType.FUNCTION,
@@ -49,177 +48,7 @@ const inDuckDbCondition = (columnName, values, memberInfo) => {
49
48
  catalog: '',
50
49
  };
51
50
  }
52
- case 'string':
53
- case 'number': {
54
- /**
55
- * Doing the string split optimization here because as the number of nodes in the AST increase,
56
- * the time take to parse the AST increases, thereby increasing the time to generate the SQL.
57
- */
58
- const joinedValues = values.join(constants_1.STRING_ARRAY_DELIMITER);
59
- return {
60
- class: Expression_1.ExpressionClass.SUBQUERY,
61
- type: Expression_1.ExpressionType.SUBQUERY,
62
- alias: '',
63
- subquery_type: duckdb_serialization_types_1.SubqueryType.ANY,
64
- subquery: {
65
- node: {
66
- type: duckdb_serialization_types_1.QueryNodeType.SELECT_NODE,
67
- modifiers: [],
68
- cte_map: { map: [] },
69
- select_list: [
70
- // For numeric types, we need to CAST the string result to the appropriate type
71
- memberInfo.type === 'number'
72
- ? {
73
- class: Expression_1.ExpressionClass.CAST,
74
- type: Expression_1.ExpressionType.OPERATOR_CAST,
75
- alias: '',
76
- child: {
77
- class: Expression_1.ExpressionClass.FUNCTION,
78
- type: Expression_1.ExpressionType.FUNCTION,
79
- alias: '',
80
- function_name: 'unnest',
81
- schema: '',
82
- children: [
83
- {
84
- class: Expression_1.ExpressionClass.FUNCTION,
85
- type: Expression_1.ExpressionType.FUNCTION,
86
- alias: '',
87
- function_name: 'string_split',
88
- schema: '',
89
- children: [
90
- {
91
- class: Expression_1.ExpressionClass.CONSTANT,
92
- type: Expression_1.ExpressionType.VALUE_CONSTANT,
93
- alias: '',
94
- value: {
95
- type: { id: 'VARCHAR', type_info: null },
96
- is_null: false,
97
- value: joinedValues,
98
- },
99
- },
100
- {
101
- class: Expression_1.ExpressionClass.CONSTANT,
102
- type: Expression_1.ExpressionType.VALUE_CONSTANT,
103
- alias: '',
104
- value: {
105
- type: { id: 'VARCHAR', type_info: null },
106
- is_null: false,
107
- value: constants_1.STRING_ARRAY_DELIMITER,
108
- },
109
- },
110
- ],
111
- filter: null,
112
- order_bys: {
113
- type: duckdb_serialization_types_1.ResultModifierType.ORDER_MODIFIER,
114
- orders: [],
115
- },
116
- distinct: false,
117
- is_operator: false,
118
- export_state: false,
119
- catalog: '',
120
- },
121
- ],
122
- filter: null,
123
- order_bys: {
124
- type: duckdb_serialization_types_1.ResultModifierType.ORDER_MODIFIER,
125
- orders: [],
126
- },
127
- distinct: false,
128
- is_operator: false,
129
- export_state: false,
130
- catalog: '',
131
- },
132
- cast_type: {
133
- id: 'DOUBLE',
134
- type_info: null,
135
- },
136
- try_cast: false,
137
- }
138
- : {
139
- class: Expression_1.ExpressionClass.FUNCTION,
140
- type: Expression_1.ExpressionType.FUNCTION,
141
- alias: '',
142
- function_name: 'unnest',
143
- schema: '',
144
- children: [
145
- {
146
- class: Expression_1.ExpressionClass.FUNCTION,
147
- type: Expression_1.ExpressionType.FUNCTION,
148
- alias: '',
149
- function_name: 'string_split',
150
- schema: '',
151
- children: [
152
- {
153
- class: Expression_1.ExpressionClass.CONSTANT,
154
- type: Expression_1.ExpressionType.VALUE_CONSTANT,
155
- alias: '',
156
- value: {
157
- type: { id: 'VARCHAR', type_info: null },
158
- is_null: false,
159
- value: joinedValues,
160
- },
161
- },
162
- {
163
- class: Expression_1.ExpressionClass.CONSTANT,
164
- type: Expression_1.ExpressionType.VALUE_CONSTANT,
165
- alias: '',
166
- value: {
167
- type: { id: 'VARCHAR', type_info: null },
168
- is_null: false,
169
- value: constants_1.STRING_ARRAY_DELIMITER,
170
- },
171
- },
172
- ],
173
- filter: null,
174
- order_bys: {
175
- type: duckdb_serialization_types_1.ResultModifierType.ORDER_MODIFIER,
176
- orders: [],
177
- },
178
- distinct: false,
179
- is_operator: false,
180
- export_state: false,
181
- catalog: '',
182
- },
183
- ],
184
- filter: null,
185
- order_bys: {
186
- type: duckdb_serialization_types_1.ResultModifierType.ORDER_MODIFIER,
187
- orders: [],
188
- },
189
- distinct: false,
190
- is_operator: false,
191
- export_state: false,
192
- catalog: '',
193
- },
194
- ],
195
- from_table: {
196
- type: duckdb_serialization_types_1.TableReferenceType.EMPTY,
197
- alias: '',
198
- sample: null,
199
- },
200
- where_clause: null,
201
- group_expressions: [],
202
- group_sets: [],
203
- aggregate_handling: duckdb_serialization_types_1.AggregateHandling.STANDARD_HANDLING,
204
- having: null,
205
- sample: null,
206
- qualify: null,
207
- },
208
- },
209
- child: columnRef,
210
- comparison_type: Expression_1.ExpressionType.COMPARE_EQUAL,
211
- };
212
- }
213
51
  default: {
214
- // For other types, use the standard COMPARE_IN approach
215
- const sqlTreeValues = values.map((value) => {
216
- return {
217
- class: Expression_1.ExpressionClass.CONSTANT,
218
- type: Expression_1.ExpressionType.VALUE_CONSTANT,
219
- alias: '',
220
- value: (0, base_condition_builder_1.valueBuilder)(value, memberInfo),
221
- };
222
- });
223
52
  return {
224
53
  class: Expression_1.ExpressionClass.OPERATOR,
225
54
  type: Expression_1.ExpressionType.COMPARE_IN,
@@ -231,7 +60,7 @@ const inDuckDbCondition = (columnName, values, memberInfo) => {
231
60
  };
232
61
  const inTransform = (query) => {
233
62
  const { member, values, memberInfo } = query;
234
- if (!values || values.length === 0) {
63
+ if (!values) {
235
64
  throw new Error('In filter must have at least one value');
236
65
  }
237
66
  return inDuckDbCondition(member, values, memberInfo);
@@ -1 +1 @@
1
- {"version":3,"file":"in.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/in/in.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"in.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/in/in.ts"],"names":[],"mappings":";;;AAAA,iEAA0E;AAE1E,gGAGyE;AACzE,6FAAgF;AAGhF,MAAM,iBAAiB,GAAG,CACxB,UAAkB,EAClB,MAAgB,EAChB,UAA+B,EAC/B,EAAE;IACF,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACzC,OAAO;YACL,KAAK,EAAE,4BAAe,CAAC,QAAQ;YAC/B,IAAI,EAAE,2BAAc,CAAC,cAAc;YACnC,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,IAAA,qCAAY,EAAC,KAAK,EAAE,UAAU,CAAC;SACvC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG;QAChB,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,EAAE;QACT,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,iCAAqB,CAAC;KACtD,CAAC;IACF,QAAQ,UAAU,CAAC,IAAI,EAAE;QACvB,KAAK,cAAc,CAAC;QACpB,KAAK,cAAc,CAAC,CAAC;YACnB,OAAO;gBACL,KAAK,EAAE,4BAAe,CAAC,QAAQ;gBAC/B,IAAI,EAAE,2BAAc,CAAC,QAAQ;gBAC7B,KAAK,EAAE,EAAE;gBACT,aAAa,EAAE,IAAI;gBACnB,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE;oBACR,SAAS;oBACT;wBACE,KAAK,EAAE,4BAAe,CAAC,QAAQ;wBAC/B,IAAI,EAAE,2BAAc,CAAC,iBAAiB;wBACtC,KAAK,EAAE,EAAE;wBACT,QAAQ,EAAE,aAAa;qBACxB;iBACF;gBACD,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE;oBACT,IAAI,EAAE,gBAAgB;oBACtB,MAAM,EAAE,EAAE;iBACX;gBACD,QAAQ,EAAE,KAAK;gBACf,WAAW,EAAE,IAAI;gBACjB,YAAY,EAAE,KAAK;gBACnB,OAAO,EAAE,EAAE;aACZ,CAAC;SACH;QACD,OAAO,CAAC,CAAC;YACP,OAAO;gBACL,KAAK,EAAE,4BAAe,CAAC,QAAQ;gBAC/B,IAAI,EAAE,2BAAc,CAAC,UAAU;gBAC/B,KAAK,EAAE,EAAE;gBACT,QAAQ,EAAE,CAAC,SAAS,EAAE,GAAG,aAAa,CAAC;aACxC,CAAC;SACH;KACF;AACH,CAAC,CAAC;AAEK,MAAM,WAAW,GAAmC,CAAC,KAAK,EAAE,EAAE;IACnE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAC7C,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;KAC3D;IACD,OAAO,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACvD,CAAC,CAAC;AANW,QAAA,WAAW,eAMtB"}
@@ -2,27 +2,26 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.notInTransform = void 0;
4
4
  const constants_1 = require("../../member-formatters/constants");
5
- const duckdb_serialization_types_1 = require("../../types/duckdb-serialization-types");
6
5
  const Expression_1 = require("../../types/duckdb-serialization-types/serialization/Expression");
7
6
  const base_condition_builder_1 = require("../base-condition-builder/base-condition-builder");
8
7
  const notInDuckDbCondition = (columnName, values, memberInfo) => {
8
+ const sqlTreeValues = values.map((value) => {
9
+ return {
10
+ class: Expression_1.ExpressionClass.CONSTANT,
11
+ type: Expression_1.ExpressionType.VALUE_CONSTANT,
12
+ alias: '',
13
+ value: (0, base_condition_builder_1.valueBuilder)(value, memberInfo),
14
+ };
15
+ });
9
16
  const columnRef = {
10
- class: Expression_1.ExpressionClass.COLUMN_REF,
11
- type: Expression_1.ExpressionType.COLUMN_REF,
17
+ class: 'COLUMN_REF',
18
+ type: 'COLUMN_REF',
12
19
  alias: '',
13
20
  column_names: columnName.split(constants_1.COLUMN_NAME_DELIMITER),
14
21
  };
15
22
  switch (memberInfo.type) {
16
23
  case 'number_array':
17
24
  case 'string_array': {
18
- const sqlTreeValues = values.map((value) => {
19
- return {
20
- class: Expression_1.ExpressionClass.CONSTANT,
21
- type: Expression_1.ExpressionType.VALUE_CONSTANT,
22
- alias: '',
23
- value: (0, base_condition_builder_1.valueBuilder)(value, memberInfo),
24
- };
25
- });
26
25
  return {
27
26
  class: Expression_1.ExpressionClass.OPERATOR,
28
27
  type: Expression_1.ExpressionType.OPERATOR_NOT,
@@ -45,7 +44,7 @@ const notInDuckDbCondition = (columnName, values, memberInfo) => {
45
44
  ],
46
45
  filter: null,
47
46
  order_bys: {
48
- type: duckdb_serialization_types_1.ResultModifierType.ORDER_MODIFIER,
47
+ type: 'ORDER_MODIFIER',
49
48
  orders: [],
50
49
  },
51
50
  distinct: false,
@@ -56,184 +55,7 @@ const notInDuckDbCondition = (columnName, values, memberInfo) => {
56
55
  ],
57
56
  };
58
57
  }
59
- case 'string':
60
- case 'number': {
61
- /**
62
- * Doing the string split optimization here because as the number of nodes in the AST increase,
63
- * the time take to parse the AST increases, thereby increasing the time to generate the SQL.
64
- */
65
- const joinedValues = values.join(constants_1.STRING_ARRAY_DELIMITER);
66
- return {
67
- class: Expression_1.ExpressionClass.OPERATOR,
68
- type: Expression_1.ExpressionType.OPERATOR_NOT,
69
- alias: '',
70
- children: [
71
- {
72
- class: Expression_1.ExpressionClass.SUBQUERY,
73
- type: Expression_1.ExpressionType.SUBQUERY,
74
- alias: '',
75
- subquery_type: duckdb_serialization_types_1.SubqueryType.ANY,
76
- subquery: {
77
- node: {
78
- type: duckdb_serialization_types_1.QueryNodeType.SELECT_NODE,
79
- modifiers: [],
80
- cte_map: { map: [] },
81
- select_list: [
82
- // For numeric types, we need to CAST the string result to the appropriate type
83
- memberInfo.type === 'number'
84
- ? {
85
- class: Expression_1.ExpressionClass.CAST,
86
- type: Expression_1.ExpressionType.OPERATOR_CAST,
87
- alias: '',
88
- child: {
89
- class: Expression_1.ExpressionClass.FUNCTION,
90
- type: Expression_1.ExpressionType.FUNCTION,
91
- alias: '',
92
- function_name: 'unnest',
93
- schema: '',
94
- children: [
95
- {
96
- class: Expression_1.ExpressionClass.FUNCTION,
97
- type: Expression_1.ExpressionType.FUNCTION,
98
- alias: '',
99
- function_name: 'string_split',
100
- schema: '',
101
- children: [
102
- {
103
- class: Expression_1.ExpressionClass.CONSTANT,
104
- type: Expression_1.ExpressionType.VALUE_CONSTANT,
105
- alias: '',
106
- value: {
107
- type: { id: 'VARCHAR', type_info: null },
108
- is_null: false,
109
- value: joinedValues,
110
- },
111
- },
112
- {
113
- class: Expression_1.ExpressionClass.CONSTANT,
114
- type: Expression_1.ExpressionType.VALUE_CONSTANT,
115
- alias: '',
116
- value: {
117
- type: { id: 'VARCHAR', type_info: null },
118
- is_null: false,
119
- value: constants_1.STRING_ARRAY_DELIMITER,
120
- },
121
- },
122
- ],
123
- filter: null,
124
- order_bys: {
125
- type: duckdb_serialization_types_1.ResultModifierType.ORDER_MODIFIER,
126
- orders: [],
127
- },
128
- distinct: false,
129
- is_operator: false,
130
- export_state: false,
131
- catalog: '',
132
- },
133
- ],
134
- filter: null,
135
- order_bys: {
136
- type: duckdb_serialization_types_1.ResultModifierType.ORDER_MODIFIER,
137
- orders: [],
138
- },
139
- distinct: false,
140
- is_operator: false,
141
- export_state: false,
142
- catalog: '',
143
- },
144
- cast_type: {
145
- id: 'DOUBLE',
146
- type_info: null,
147
- },
148
- try_cast: false,
149
- }
150
- : {
151
- class: Expression_1.ExpressionClass.FUNCTION,
152
- type: Expression_1.ExpressionType.FUNCTION,
153
- alias: '',
154
- function_name: 'unnest',
155
- schema: '',
156
- children: [
157
- {
158
- class: Expression_1.ExpressionClass.FUNCTION,
159
- type: Expression_1.ExpressionType.FUNCTION,
160
- alias: '',
161
- function_name: 'string_split',
162
- schema: '',
163
- children: [
164
- {
165
- class: Expression_1.ExpressionClass.CONSTANT,
166
- type: Expression_1.ExpressionType.VALUE_CONSTANT,
167
- alias: '',
168
- value: {
169
- type: { id: 'VARCHAR', type_info: null },
170
- is_null: false,
171
- value: joinedValues,
172
- },
173
- },
174
- {
175
- class: Expression_1.ExpressionClass.CONSTANT,
176
- type: Expression_1.ExpressionType.VALUE_CONSTANT,
177
- alias: '',
178
- value: {
179
- type: { id: 'VARCHAR', type_info: null },
180
- is_null: false,
181
- value: constants_1.STRING_ARRAY_DELIMITER,
182
- },
183
- },
184
- ],
185
- filter: null,
186
- order_bys: {
187
- type: duckdb_serialization_types_1.ResultModifierType.ORDER_MODIFIER,
188
- orders: [],
189
- },
190
- distinct: false,
191
- is_operator: false,
192
- export_state: false,
193
- catalog: '',
194
- },
195
- ],
196
- filter: null,
197
- order_bys: {
198
- type: duckdb_serialization_types_1.ResultModifierType.ORDER_MODIFIER,
199
- orders: [],
200
- },
201
- distinct: false,
202
- is_operator: false,
203
- export_state: false,
204
- catalog: '',
205
- },
206
- ],
207
- from_table: {
208
- type: duckdb_serialization_types_1.TableReferenceType.EMPTY,
209
- alias: '',
210
- sample: null,
211
- },
212
- where_clause: null,
213
- group_expressions: [],
214
- group_sets: [],
215
- aggregate_handling: duckdb_serialization_types_1.AggregateHandling.STANDARD_HANDLING,
216
- having: null,
217
- sample: null,
218
- qualify: null,
219
- },
220
- },
221
- child: columnRef,
222
- comparison_type: Expression_1.ExpressionType.COMPARE_EQUAL,
223
- },
224
- ],
225
- };
226
- }
227
58
  default: {
228
- // For other types, use the standard COMPARE_NOT_IN approach
229
- const sqlTreeValues = values.map((value) => {
230
- return {
231
- class: Expression_1.ExpressionClass.CONSTANT,
232
- type: Expression_1.ExpressionType.VALUE_CONSTANT,
233
- alias: '',
234
- value: (0, base_condition_builder_1.valueBuilder)(value, memberInfo),
235
- };
236
- });
237
59
  return {
238
60
  class: Expression_1.ExpressionClass.OPERATOR,
239
61
  type: Expression_1.ExpressionType.COMPARE_NOT_IN,
@@ -245,7 +67,7 @@ const notInDuckDbCondition = (columnName, values, memberInfo) => {
245
67
  };
246
68
  const notInTransform = (query) => {
247
69
  const { member, values, memberInfo } = query;
248
- if (!values || values.length === 0) {
70
+ if (!values) {
249
71
  throw new Error('Not in filter must have at least one value');
250
72
  }
251
73
  return notInDuckDbCondition(member, values, memberInfo);
@@ -1 +1 @@
1
- {"version":3,"file":"not-in.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/not-in/not-in.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"not-in.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/not-in/not-in.ts"],"names":[],"mappings":";;;AAGA,iEAA0E;AAC1E,gGAGyE;AACzE,6FAAgF;AAEhF,MAAM,oBAAoB,GAAG,CAC3B,UAAkB,EAClB,MAAgB,EAChB,UAA+B,EAC/B,EAAE;IACF,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACzC,OAAO;YACL,KAAK,EAAE,4BAAe,CAAC,QAAQ;YAC/B,IAAI,EAAE,2BAAc,CAAC,cAAc;YACnC,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,IAAA,qCAAY,EAAC,KAAK,EAAE,UAAU,CAAC;SACvC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG;QAChB,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,EAAE;QACT,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,iCAAqB,CAAC;KACtD,CAAC;IACF,QAAQ,UAAU,CAAC,IAAI,EAAE;QACvB,KAAK,cAAc,CAAC;QACpB,KAAK,cAAc,CAAC,CAAC;YACnB,OAAO;gBACL,KAAK,EAAE,4BAAe,CAAC,QAAQ;gBAC/B,IAAI,EAAE,2BAAc,CAAC,YAAY;gBACjC,KAAK,EAAE,EAAE;gBACT,QAAQ,EAAE;oBACR;wBACE,KAAK,EAAE,4BAAe,CAAC,QAAQ;wBAC/B,IAAI,EAAE,2BAAc,CAAC,QAAQ;wBAC7B,KAAK,EAAE,EAAE;wBACT,aAAa,EAAE,IAAI;wBACnB,MAAM,EAAE,EAAE;wBACV,QAAQ,EAAE;4BACR,SAAS;4BACT;gCACE,KAAK,EAAE,4BAAe,CAAC,QAAQ;gCAC/B,IAAI,EAAE,2BAAc,CAAC,iBAAiB;gCACtC,KAAK,EAAE,EAAE;gCACT,QAAQ,EAAE,aAAa;6BACxB;yBACF;wBACD,MAAM,EAAE,IAAI;wBACZ,SAAS,EAAE;4BACT,IAAI,EAAE,gBAAgB;4BACtB,MAAM,EAAE,EAAE;yBACX;wBACD,QAAQ,EAAE,KAAK;wBACf,WAAW,EAAE,IAAI;wBACjB,YAAY,EAAE,KAAK;wBACnB,OAAO,EAAE,EAAE;qBACZ;iBACF;aACF,CAAC;SACH;QACD,OAAO,CAAC,CAAC;YACP,OAAO;gBACL,KAAK,EAAE,4BAAe,CAAC,QAAQ;gBAC/B,IAAI,EAAE,2BAAc,CAAC,cAAc;gBACnC,KAAK,EAAE,EAAE;gBACT,QAAQ,EAAE,CAAC,SAAS,EAAE,GAAG,aAAa,CAAC;aACxC,CAAC;SACH;KACF;AACH,CAAC,CAAC;AAEK,MAAM,cAAc,GAAmC,CAAC,KAAK,EAAE,EAAE;IACtE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAC7C,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;KAC/D;IAED,OAAO,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAC1D,CAAC,CAAC;AAPW,QAAA,cAAc,kBAOzB"}
@@ -1,3 +1,2 @@
1
1
  export declare const COLUMN_NAME_DELIMITER = ".";
2
2
  export declare const MEERKAT_OUTPUT_DELIMITER = "__";
3
- export declare const STRING_ARRAY_DELIMITER = "\u00A7\u2021\u00B6";
@@ -1,9 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.STRING_ARRAY_DELIMITER = exports.MEERKAT_OUTPUT_DELIMITER = exports.COLUMN_NAME_DELIMITER = void 0;
3
+ exports.MEERKAT_OUTPUT_DELIMITER = exports.COLUMN_NAME_DELIMITER = void 0;
4
4
  exports.COLUMN_NAME_DELIMITER = '.';
5
5
  exports.MEERKAT_OUTPUT_DELIMITER = '__';
6
- // Multi-character delimiter using three different uncommon characters
7
- // to minimize the chance of collision with real data
8
- exports.STRING_ARRAY_DELIMITER = '§‡¶';
9
6
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../meerkat-core/src/member-formatters/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,GAAG,CAAC;AAC5B,QAAA,wBAAwB,GAAG,IAAI,CAAC;AAC7C,sEAAsE;AACtE,qDAAqD;AACxC,QAAA,sBAAsB,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../meerkat-core/src/member-formatters/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,GAAG,CAAC;AAC5B,QAAA,wBAAwB,GAAG,IAAI,CAAC"}
@@ -53,8 +53,9 @@ const getAggregatedSql = ({ resolvedTableSchema, resolutionConfig, contextParams
53
53
  const columnRef = dim.sql;
54
54
  // Use ARRAY_AGG for resolved array columns, MAX for others
55
55
  // Filter out null values for ARRAY_AGG using FILTER clause
56
+ // Wrap with to_json() to ensure proper JSON format in CSV exports
56
57
  const aggregationFn = isArrayColumn
57
- ? `COALESCE(ARRAY_AGG(DISTINCT ${columnRef}) FILTER (WHERE ${columnRef} IS NOT NULL), [])`
58
+ ? `to_json(COALESCE(ARRAY_AGG(DISTINCT ${columnRef}) FILTER (WHERE ${columnRef} IS NOT NULL), []))`
58
59
  : `MAX(${columnRef})`;
59
60
  aggregationMeasures.push({
60
61
  name: dim.name,
@@ -1 +1 @@
1
- {"version":3,"file":"aggregation-step.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/resolution/steps/aggregation-step.ts"],"names":[],"mappings":";;;;AAAA,uCAWqB;AAErB;;;;;;GAMG;AACH,MAAM,4BAA4B,GAAG,CAAC,UAAkB,EAAU,EAAE;IAClE,OAAO,GAAG,UAAU,GAAG,gCAAwB,EAAE,CAAC;AACpD,CAAC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACI,MAAM,gBAAgB,GAAG,CAAO,EACrC,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,cAAc,GAUf,EAAmB,EAAE;IACpB,MAAM,0BAA0B,GAAgB,mBAAmB,CAAC;IAEpE,+CAA+C;IAC/C,MAAM,YAAY,GAAG,IAAA,2CAAmC,EAAC,gBAAgB,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,0BAA0B,CAAC,IAAI,CAAC;IAEtD,MAAM,qBAAqB,GAAG,CAAC,OAAe,EAAE,EAAE;QAChD,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACpC,OAAO,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,gEAAgE;IAChE,oCAAoC;IACpC,MAAM,cAAc,GAAG,0BAA0B,CAAC,UAAU,CAAC,IAAI,CAC/D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,6BAAqB,CACxC,CAAC;IAEF,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;KAC/C;IACD,6DAA6D;IAC7D,MAAM,mBAAmB,GAAc,EAAE,CAAC;IAE1C,0BAA0B,CAAC,UAAU;SAClC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,MAAK,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,CAAA,CAAC;SAClD,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,MAAM,aAAa,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEtD,kGAAkG;QAClG,sDAAsD;QACtD,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC;QAE1B,2DAA2D;QAC3D,2DAA2D;QAC3D,MAAM,aAAa,GAAG,aAAa;YACjC,CAAC,CAAC,+BAA+B,SAAS,mBAAmB,SAAS,oBAAoB;YAC1F,CAAC,CAAC,OAAO,SAAS,GAAG,CAAC;QAExB,mBAAmB,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,GAAG,EAAE,aAAa;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,GAAG,CAAC,KAAK;SACjB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,8CAA8C;IAC9C,MAAM,qBAAqB,mCACtB,0BAA0B,KAC7B,QAAQ,EAAE,mBAAmB,EAC7B,UAAU,EAAE,CAAC,cAAc,CAAC,GAC7B,CAAC;IAEF,yBAAyB;IACzB,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC;QACzC,KAAK,EAAE;YACL,QAAQ,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACtC,IAAA,wBAAgB,EAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CACxC;YACD,UAAU,EAAE,CAAC,IAAA,wBAAgB,EAAC,aAAa,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;SACnE;QACD,YAAY,EAAE,CAAC,qBAAqB,CAAC;QACrC,aAAa;KACd,CAAC,CAAC;IAEH,sEAAsE;IACtE,OAAO,IAAA,yCAAiC,EACtC,aAAa,EACb,6BAAqB,CACtB,CAAC;AACJ,CAAC,CAAA,CAAC;AAtFW,QAAA,gBAAgB,oBAsF3B"}
1
+ {"version":3,"file":"aggregation-step.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/resolution/steps/aggregation-step.ts"],"names":[],"mappings":"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"}