@quillsql/react 2.13.52 → 2.13.53
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/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +11 -5
- package/dist/cjs/Context.d.ts +3 -0
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +67 -44
- package/dist/cjs/Dashboard.d.ts +1 -1
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +37 -15
- package/dist/cjs/utils/astFilterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/astFilterProcessing.js +681 -122
- package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/columnProcessing.js +1 -0
- package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/queryConstructor.js +28 -0
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +11 -5
- package/dist/esm/Context.d.ts +3 -0
- package/dist/esm/Context.d.ts.map +1 -1
- package/dist/esm/Context.js +67 -44
- package/dist/esm/Dashboard.d.ts +1 -1
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +37 -15
- package/dist/esm/utils/astFilterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/astFilterProcessing.js +681 -122
- package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
- package/dist/esm/utils/columnProcessing.js +1 -0
- package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
- package/dist/esm/utils/queryConstructor.js +28 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/columnProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAQvD,UAAU,6CAA6C;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,oCAAoC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,KAAK,2BAA2B,GAC5B,6CAA6C,GAC7C,oCAAoC,CAAC;AAEzC,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,2BAA2B,GACjC,cAAc,CAmJhB;AAED,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,UAAU,GACrB,cAAc,CAShB;AA0BD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA0C/D;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAwDlE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAY5D;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAIvD;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CASrD;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"columnProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/columnProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAQvD,UAAU,6CAA6C;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,oCAAoC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,KAAK,2BAA2B,GAC5B,6CAA6C,GAC7C,oCAAoC,CAAC;AAEzC,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,2BAA2B,GACjC,cAAc,CAmJhB;AAED,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,UAAU,GACrB,cAAc,CAShB;AA0BD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA0C/D;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAwDlE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAY5D;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAIvD;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CASrD;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAyBvD;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,eAAO,MAAM,cAAc,WACjB,mBAAmB,oBACT,eAAe,EAAE,UAqDpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/queryConstructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAIxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAStE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,UAAQ,UAGrE;AAMD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,EAEvB,kBAAkB,CAAC,EAAE,OAAO,EAC5B,iBAAiB,CAAC,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"queryConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/queryConstructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAIxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAStE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,UAAQ,UAGrE;AAMD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,EAEvB,kBAAkB,CAAC,EAAE,OAAO,EAC5B,iBAAiB,CAAC,EAAE,OAAO,UAqH5B;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,UAE1D;AAmBD,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,MAAM,UAiC5B;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,UAYnB;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAsBrB;AAED,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAmBrB;AA6GD,wBAAgB,8BAA8B,CAC5C,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAkBrB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,MAAM,EAAE,EAC1B,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CAkBpB;AA82BD,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,KAAK,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,YAAY,SAAe,sBAuE5B;AAED,wBAAgB,qBAAqB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,sBAqB1E"}
|
|
@@ -101,6 +101,22 @@ isColumnFieldAlias, isValueFieldAlias) {
|
|
|
101
101
|
}
|
|
102
102
|
return `[${column.replaceAll(']', '').replaceAll('[', '')}]`;
|
|
103
103
|
}
|
|
104
|
+
case 'databricks': {
|
|
105
|
+
if (column === '') {
|
|
106
|
+
return fallbackOnNull ? `[${fallbackOnNull}]` : `_`;
|
|
107
|
+
}
|
|
108
|
+
if (isColumnFieldAlias) {
|
|
109
|
+
return `\`${column.replaceAll(`\``, '').replaceAll(`"`, '')}\``;
|
|
110
|
+
}
|
|
111
|
+
const columnParts = column.split('.');
|
|
112
|
+
if (columnParts.length > 1) {
|
|
113
|
+
return (`\`` +
|
|
114
|
+
columnParts.map((part) => part.replaceAll(`\``, '')).join('`.`') +
|
|
115
|
+
`\``);
|
|
116
|
+
}
|
|
117
|
+
// Wrap MySQL columns in backticks to handle whitespace
|
|
118
|
+
return `\`${column.replaceAll(`\``, '')}\``;
|
|
119
|
+
}
|
|
104
120
|
default:
|
|
105
121
|
return column;
|
|
106
122
|
}
|
|
@@ -127,6 +143,9 @@ export function processDateTrunc(dateBucket, rowField, databaseType, comparisonI
|
|
|
127
143
|
if (['clickhouse'].includes(databaseType.toLowerCase())) {
|
|
128
144
|
return `dateTrunc('${dateBucket}', ${dateField})`;
|
|
129
145
|
}
|
|
146
|
+
if (['databricks'].includes(databaseType.toLowerCase())) {
|
|
147
|
+
return `DATE_TRUNC('${dateBucket}', ${dateField})`;
|
|
148
|
+
}
|
|
130
149
|
if (['mysql'].includes(databaseType.toLowerCase())) {
|
|
131
150
|
switch (dateBucket.toLowerCase()) {
|
|
132
151
|
case 'year':
|
|
@@ -191,6 +210,8 @@ export function generateDistinctQuery(stringFields, query, databaseType) {
|
|
|
191
210
|
return generateDistinctQuerySnowflake(stringFields, query);
|
|
192
211
|
case 'mssql':
|
|
193
212
|
return generateDistinctQueryMSSQL(stringFields, query);
|
|
213
|
+
case 'databricks':
|
|
214
|
+
return generateDistinctQueryDatabricks(stringFields, query);
|
|
194
215
|
case 'clickhouse': // works with default for now
|
|
195
216
|
default:
|
|
196
217
|
return generateDistinctQueryDefault(stringFields, query, databaseType);
|
|
@@ -267,6 +288,13 @@ function generateDistinctQueryMSSQL(stringFields, query) {
|
|
|
267
288
|
.replace(/\s+/g, ' ')
|
|
268
289
|
.trim();
|
|
269
290
|
}
|
|
291
|
+
function generateDistinctQueryDatabricks(stringFields, query) {
|
|
292
|
+
const distinctQueries = stringFields.map((field) => {
|
|
293
|
+
return `SELECT '${field}' AS ${processColumnReference('field', 'databricks')}, collect_set(\`${field}\`) AS ${processColumnReference('string_values', 'databricks')} FROM querytable`;
|
|
294
|
+
});
|
|
295
|
+
const distinctQuery = distinctQueries.join(' UNION ALL ');
|
|
296
|
+
return `WITH querytable AS (${query.replace(';', '')}) ` + distinctQuery;
|
|
297
|
+
}
|
|
270
298
|
export function generateMinMaxDateRangeQueries(columnFields, query, databaseType) {
|
|
271
299
|
const max = 'MAX';
|
|
272
300
|
const min = 'MIN';
|