@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.
@@ -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,CAgO1C"}
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.map((value) => value.toString());
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 sqlQuery = (0, queryConstructor_1.generatePivotQuery)(pivot, report.itemQuery, client.databaseType || 'postgresql', comparisonInterval, distinctStrings ? distinctStrings : distinctStringValues, dateBucket, rowLimit);
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 generateMinMaxRangeQueries(columnFields: string[], query: string, databaseType: string): string;
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,0BAA0B,CACxC,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"}
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.generateMinMaxRangeQueries = generateMinMaxRangeQueries;
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 generateMinMaxRangeQueries(columnFields, query, databaseType) {
193
- const max = databaseType.toLowerCase() === 'snowflake' ? 'GREATEST' : 'MAX';
194
- const min = databaseType.toLowerCase() === 'snowflake' ? 'LEAST' : '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.generateMinMaxRangeQueries)(columnNames, query, client.databaseType || 'postgresql');
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,CAgO1C"}
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.map((value) => value.toString());
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 sqlQuery = generatePivotQuery(pivot, report.itemQuery, client.databaseType || 'postgresql', comparisonInterval, distinctStrings ? distinctStrings : distinctStringValues, dateBucket, rowLimit);
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 generateMinMaxRangeQueries(columnFields: string[], query: string, databaseType: string): string;
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,0BAA0B,CACxC,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"}
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 generateMinMaxRangeQueries(columnFields, query, databaseType) {
185
- const max = databaseType.toLowerCase() === 'snowflake' ? 'GREATEST' : 'MAX';
186
- const min = databaseType.toLowerCase() === 'snowflake' ? 'LEAST' : '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, generateMinMaxRangeQueries, processColumnReference, } from './queryConstructor';
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 = generateMinMaxRangeQueries(columnNames, query, client.databaseType || 'postgresql');
218
+ const distinctValueQuery = generateMinMaxDateRangeQueries(columnNames, query, client.databaseType || 'postgresql');
219
219
  const dateRanges = await fetchQueryDateRanges(distinctValueQuery, client, customFields);
220
220
  return dateRanges;
221
221
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quillsql/react",
3
- "version": "2.13.24",
3
+ "version": "2.13.25",
4
4
  "exports": {
5
5
  ".": {
6
6
  "import": "./dist/esm/index.js",