@quillsql/react 2.13.24 → 2.13.25
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/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/pivotConstructor.js +5 -2
- package/dist/cjs/utils/queryConstructor.d.ts +1 -1
- package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/queryConstructor.js +4 -4
- package/dist/cjs/utils/tableProcessing.js +1 -1
- package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/esm/utils/pivotConstructor.js +5 -2
- package/dist/esm/utils/queryConstructor.d.ts +1 -1
- package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
- package/dist/esm/utils/queryConstructor.js +3 -3
- package/dist/esm/utils/tableProcessing.js +2 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pivotConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotConstructor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAQvD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,mBAAmB,EAC3B,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,GAAG,EAChB,eAAe,CAAC,EAAE,GAAG,EACrB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAAC,OAAO,EAAE,GAAG,EAAE,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"pivotConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotConstructor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAQvD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,mBAAmB,EAC3B,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,GAAG,EAChB,eAAe,CAAC,EAAE,GAAG,EACrB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAAC,OAAO,EAAE,GAAG,EAAE,CAAA;CAAE,CAAC,CAqO1C"}
|
|
@@ -23,12 +23,15 @@ async function generatePivotWithSQL(pivot, report, client, dateBucket, dateFilte
|
|
|
23
23
|
let distinctStringValues = undefined;
|
|
24
24
|
if (!distinctStrings && report.rows && pivot.columnField) {
|
|
25
25
|
const distinctValues = Array.from(new Set(report.rows.map((row) => row[pivot.columnField])));
|
|
26
|
-
distinctStringValues = distinctValues
|
|
26
|
+
distinctStringValues = distinctValues
|
|
27
|
+
.filter((value) => value !== null && value !== undefined)
|
|
28
|
+
.map((value) => value.toString());
|
|
27
29
|
}
|
|
28
30
|
if (!report.itemQuery) {
|
|
29
31
|
throw Error('No item query found in report');
|
|
30
32
|
}
|
|
31
|
-
const
|
|
33
|
+
const filteredDistinctStrings = distinctStrings?.filter((value) => value !== null && value !== undefined);
|
|
34
|
+
const sqlQuery = (0, queryConstructor_1.generatePivotQuery)(pivot, report.itemQuery, client.databaseType || 'postgresql', comparisonInterval, distinctStrings ? filteredDistinctStrings : distinctStringValues, dateBucket, rowLimit);
|
|
32
35
|
if (!sqlQuery || report.rows.length == 0) {
|
|
33
36
|
throw 'No rows found in report';
|
|
34
37
|
}
|
|
@@ -3,6 +3,6 @@ export declare function processColumnReference(column: string, databaseType: str
|
|
|
3
3
|
export declare function replaceSpacesWithUnderscores(column: string): string;
|
|
4
4
|
export declare function generateCountQuery(fields: string[], query: string, databaseType: string): string;
|
|
5
5
|
export declare function generateDistinctQuery(stringFields: string[], query: string, databaseType: string): string;
|
|
6
|
-
export declare function
|
|
6
|
+
export declare function generateMinMaxDateRangeQueries(columnFields: string[], query: string, databaseType: string): string;
|
|
7
7
|
export declare function generatePivotQuery(pivot: Pivot, itemQueries: string[], databaseType: string, comparisonInterval?: string, distinctStrings?: string[], dateBucket?: string, rowLimit?: number): string | undefined;
|
|
8
8
|
//# sourceMappingURL=queryConstructor.d.ts.map
|
|
@@ -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;AAoBxC,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,EAEvB,uBAAuB,CAAC,EAAE,OAAO,EACjC,sBAAsB,CAAC,EAAE,OAAO,UAqEjC;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,UAE1D;AAwDD,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,UAYrB;AAiDD,wBAAgB,
|
|
1
|
+
{"version":3,"file":"queryConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/queryConstructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAoBxC,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,EAEvB,uBAAuB,CAAC,EAAE,OAAO,EACjC,sBAAsB,CAAC,EAAE,OAAO,UAqEjC;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,UAE1D;AAwDD,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,UAYrB;AAiDD,wBAAgB,8BAA8B,CAC5C,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAcrB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EAAE,EACrB,YAAY,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,EAC1B,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,GAAG,SAAS,CAgCpB"}
|
|
@@ -4,7 +4,7 @@ exports.processColumnReference = processColumnReference;
|
|
|
4
4
|
exports.replaceSpacesWithUnderscores = replaceSpacesWithUnderscores;
|
|
5
5
|
exports.generateCountQuery = generateCountQuery;
|
|
6
6
|
exports.generateDistinctQuery = generateDistinctQuery;
|
|
7
|
-
exports.
|
|
7
|
+
exports.generateMinMaxDateRangeQueries = generateMinMaxDateRangeQueries;
|
|
8
8
|
exports.generatePivotQuery = generatePivotQuery;
|
|
9
9
|
const constants_1 = require("./constants");
|
|
10
10
|
const pivotProcessing_1 = require("./pivotProcessing");
|
|
@@ -189,9 +189,9 @@ function generateDistinctQuerySnowflake(stringFields, query) {
|
|
|
189
189
|
const distinctQuery = distinctQueries.join(' UNION ALL ');
|
|
190
190
|
return `WITH querytable AS (${query.replace(';', '')}) ` + distinctQuery;
|
|
191
191
|
}
|
|
192
|
-
function
|
|
193
|
-
const max =
|
|
194
|
-
const min =
|
|
192
|
+
function generateMinMaxDateRangeQueries(columnFields, query, databaseType) {
|
|
193
|
+
const max = 'MAX';
|
|
194
|
+
const min = 'MIN';
|
|
195
195
|
const distinctQueries = columnFields.map((field) => {
|
|
196
196
|
const wrappedField = ['postgresql'].includes(databaseType.toLowerCase())
|
|
197
197
|
? `"${field}"`
|
|
@@ -223,7 +223,7 @@ const getQueryDateRangeByColumns = async (columns, query, client, customFields)
|
|
|
223
223
|
const columnNames = columns.map(
|
|
224
224
|
// @ts-ignore
|
|
225
225
|
(column) => column.field || column.name);
|
|
226
|
-
const distinctValueQuery = (0, queryConstructor_1.
|
|
226
|
+
const distinctValueQuery = (0, queryConstructor_1.generateMinMaxDateRangeQueries)(columnNames, query, client.databaseType || 'postgresql');
|
|
227
227
|
const dateRanges = await fetchQueryDateRanges(distinctValueQuery, client, customFields);
|
|
228
228
|
return dateRanges;
|
|
229
229
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pivotConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotConstructor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAQvD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,mBAAmB,EAC3B,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,GAAG,EAChB,eAAe,CAAC,EAAE,GAAG,EACrB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAAC,OAAO,EAAE,GAAG,EAAE,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"pivotConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotConstructor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAQvD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,mBAAmB,EAC3B,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,GAAG,EAChB,eAAe,CAAC,EAAE,GAAG,EACrB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAAC,OAAO,EAAE,GAAG,EAAE,CAAA;CAAE,CAAC,CAqO1C"}
|
|
@@ -20,12 +20,15 @@ export async function generatePivotWithSQL(pivot, report, client, dateBucket, da
|
|
|
20
20
|
let distinctStringValues = undefined;
|
|
21
21
|
if (!distinctStrings && report.rows && pivot.columnField) {
|
|
22
22
|
const distinctValues = Array.from(new Set(report.rows.map((row) => row[pivot.columnField])));
|
|
23
|
-
distinctStringValues = distinctValues
|
|
23
|
+
distinctStringValues = distinctValues
|
|
24
|
+
.filter((value) => value !== null && value !== undefined)
|
|
25
|
+
.map((value) => value.toString());
|
|
24
26
|
}
|
|
25
27
|
if (!report.itemQuery) {
|
|
26
28
|
throw Error('No item query found in report');
|
|
27
29
|
}
|
|
28
|
-
const
|
|
30
|
+
const filteredDistinctStrings = distinctStrings?.filter((value) => value !== null && value !== undefined);
|
|
31
|
+
const sqlQuery = generatePivotQuery(pivot, report.itemQuery, client.databaseType || 'postgresql', comparisonInterval, distinctStrings ? filteredDistinctStrings : distinctStringValues, dateBucket, rowLimit);
|
|
29
32
|
if (!sqlQuery || report.rows.length == 0) {
|
|
30
33
|
throw 'No rows found in report';
|
|
31
34
|
}
|
|
@@ -3,6 +3,6 @@ export declare function processColumnReference(column: string, databaseType: str
|
|
|
3
3
|
export declare function replaceSpacesWithUnderscores(column: string): string;
|
|
4
4
|
export declare function generateCountQuery(fields: string[], query: string, databaseType: string): string;
|
|
5
5
|
export declare function generateDistinctQuery(stringFields: string[], query: string, databaseType: string): string;
|
|
6
|
-
export declare function
|
|
6
|
+
export declare function generateMinMaxDateRangeQueries(columnFields: string[], query: string, databaseType: string): string;
|
|
7
7
|
export declare function generatePivotQuery(pivot: Pivot, itemQueries: string[], databaseType: string, comparisonInterval?: string, distinctStrings?: string[], dateBucket?: string, rowLimit?: number): string | undefined;
|
|
8
8
|
//# sourceMappingURL=queryConstructor.d.ts.map
|
|
@@ -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;AAoBxC,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,EAEvB,uBAAuB,CAAC,EAAE,OAAO,EACjC,sBAAsB,CAAC,EAAE,OAAO,UAqEjC;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,UAE1D;AAwDD,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,UAYrB;AAiDD,wBAAgB,
|
|
1
|
+
{"version":3,"file":"queryConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/queryConstructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAoBxC,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,EAEvB,uBAAuB,CAAC,EAAE,OAAO,EACjC,sBAAsB,CAAC,EAAE,OAAO,UAqEjC;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,UAE1D;AAwDD,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,UAYrB;AAiDD,wBAAgB,8BAA8B,CAC5C,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAcrB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EAAE,EACrB,YAAY,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,EAC1B,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,GAAG,SAAS,CAgCpB"}
|
|
@@ -181,9 +181,9 @@ function generateDistinctQuerySnowflake(stringFields, query) {
|
|
|
181
181
|
const distinctQuery = distinctQueries.join(' UNION ALL ');
|
|
182
182
|
return `WITH querytable AS (${query.replace(';', '')}) ` + distinctQuery;
|
|
183
183
|
}
|
|
184
|
-
export function
|
|
185
|
-
const max =
|
|
186
|
-
const min =
|
|
184
|
+
export function generateMinMaxDateRangeQueries(columnFields, query, databaseType) {
|
|
185
|
+
const max = 'MAX';
|
|
186
|
+
const min = 'MIN';
|
|
187
187
|
const distinctQueries = columnFields.map((field) => {
|
|
188
188
|
const wrappedField = ['postgresql'].includes(databaseType.toLowerCase())
|
|
189
189
|
? `"${field}"`
|
|
@@ -7,7 +7,7 @@ import { parseValueFromBigQueryDates } from './dataProcessing';
|
|
|
7
7
|
import { parseQueryDateRangeByDatabaseType } from './dates';
|
|
8
8
|
import { processFilterErrorList } from './errorProcessing';
|
|
9
9
|
import { DEFAULT_PAGINATION } from './paginationProcessing';
|
|
10
|
-
import { generateCountQuery, generateDistinctQuery,
|
|
10
|
+
import { generateCountQuery, generateDistinctQuery, generateMinMaxDateRangeQueries, processColumnReference, } from './queryConstructor';
|
|
11
11
|
export const hasColumnAlias = (columns, referencedColumns) => {
|
|
12
12
|
if (!referencedColumns) {
|
|
13
13
|
return true;
|
|
@@ -215,7 +215,7 @@ export const getQueryDateRangeByColumns = async (columns, query, client, customF
|
|
|
215
215
|
const columnNames = columns.map(
|
|
216
216
|
// @ts-ignore
|
|
217
217
|
(column) => column.field || column.name);
|
|
218
|
-
const distinctValueQuery =
|
|
218
|
+
const distinctValueQuery = generateMinMaxDateRangeQueries(columnNames, query, client.databaseType || 'postgresql');
|
|
219
219
|
const dateRanges = await fetchQueryDateRanges(distinctValueQuery, client, customFields);
|
|
220
220
|
return dateRanges;
|
|
221
221
|
};
|