@devrev/meerkat-browser 0.0.105 → 0.0.106

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-browser",
3
- "version": "0.0.105",
3
+ "version": "0.0.106",
4
4
  "dependencies": {
5
5
  "tslib": "^2.3.0",
6
6
  "@devrev/meerkat-core": "*",
@@ -11,24 +11,54 @@ const cubeQueryToSQLWithResolution = ({ connection, query, tableSchemas, resolut
11
11
  tableSchemas,
12
12
  contextParams,
13
13
  });
14
- if (resolutionConfig.columnConfigs.length === 0) {
15
- // If no resolution is needed, return the base SQL.
14
+ // Check if resolution should be skipped
15
+ if ((0, meerkat_core_1.shouldSkipResolution)(resolutionConfig, query, columnProjections)) {
16
16
  return baseSql;
17
17
  }
18
- // Create a table schema for the base query.
19
- const baseTable = (0, meerkat_core_1.createBaseTableSchema)(baseSql, tableSchemas, resolutionConfig, query.measures, query.dimensions);
20
- const resolutionSchemas = (0, meerkat_core_1.generateResolutionSchemas)(resolutionConfig, tableSchemas);
21
- const resolveParams = {
22
- connection: connection,
23
- query: {
24
- measures: [],
25
- dimensions: (0, meerkat_core_1.generateResolvedDimensions)(query, resolutionConfig, columnProjections),
26
- joinPaths: (0, meerkat_core_1.generateResolutionJoinPaths)(resolutionConfig, tableSchemas),
27
- },
28
- tableSchemas: [baseTable, ...resolutionSchemas],
18
+ if (!columnProjections) {
19
+ columnProjections = [...(query.dimensions || []), ...query.measures];
20
+ }
21
+ // This is to ensure that, only the column projection columns
22
+ // are being resolved and other definitions are ignored.
23
+ resolutionConfig.columnConfigs = resolutionConfig.columnConfigs.filter((config) => {
24
+ return columnProjections === null || columnProjections === void 0 ? void 0 : columnProjections.includes(config.name);
25
+ });
26
+ const baseSchema = (0, meerkat_core_1.createBaseTableSchema)(baseSql, tableSchemas, resolutionConfig, query.measures, query.dimensions);
27
+ const rowIdDimension = {
28
+ name: meerkat_core_1.ROW_ID_DIMENSION_NAME,
29
+ sql: (0, meerkat_core_1.generateRowNumberSql)(query, baseSchema.dimensions, meerkat_core_1.BASE_DATA_SOURCE_NAME),
30
+ type: 'number',
31
+ alias: meerkat_core_1.ROW_ID_DIMENSION_NAME,
29
32
  };
30
- const sql = yield (0, browser_cube_to_sql_1.cubeQueryToSQL)(resolveParams);
31
- return sql;
33
+ baseSchema.dimensions.push(rowIdDimension);
34
+ columnProjections.push(meerkat_core_1.ROW_ID_DIMENSION_NAME);
35
+ // Doing this because we need to use the original name of the column in the base table schema.
36
+ resolutionConfig.columnConfigs.forEach((config) => {
37
+ config.name = (0, meerkat_core_1.memberKeyToSafeKey)(config.name);
38
+ });
39
+ // Generate SQL with row_id and unnested arrays
40
+ const unnestTableSchema = yield (0, meerkat_core_1.getUnnestTableSchema)({
41
+ baseTableSchema: baseSchema,
42
+ resolutionConfig,
43
+ contextParams,
44
+ cubeQueryToSQL: (params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { return (0, browser_cube_to_sql_1.cubeQueryToSQL)(Object.assign({ connection }, params)); }),
45
+ });
46
+ // Apply resolution (join with lookup tables)
47
+ const resolvedTableSchema = yield (0, meerkat_core_1.getResolvedTableSchema)({
48
+ baseTableSchema: unnestTableSchema,
49
+ resolutionConfig,
50
+ contextParams,
51
+ columnProjections,
52
+ cubeQueryToSQL: (params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { return (0, browser_cube_to_sql_1.cubeQueryToSQL)(Object.assign({ connection }, params)); }),
53
+ });
54
+ // Re-aggregate to reverse the unnest
55
+ const aggregatedSql = yield (0, meerkat_core_1.getAggregatedSql)({
56
+ resolvedTableSchema,
57
+ resolutionConfig,
58
+ contextParams,
59
+ cubeQueryToSQL: (params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { return (0, browser_cube_to_sql_1.cubeQueryToSQL)(Object.assign({ connection }, params)); }),
60
+ });
61
+ return aggregatedSql;
32
62
  });
33
63
  exports.cubeQueryToSQLWithResolution = cubeQueryToSQLWithResolution;
34
64
  //# sourceMappingURL=browser-cube-to-sql-with-resolution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser-cube-to-sql-with-resolution.js","sourceRoot":"","sources":["../../../../meerkat-browser/src/browser-cube-to-sql-with-resolution/browser-cube-to-sql-with-resolution.ts"],"names":[],"mappings":";;;;AAAA,uDAS8B;AAE9B,oFAGoD;AAW7C,MAAM,4BAA4B,GAAG,CAAO,EACjD,UAAU,EACV,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,GACsB,EAAE,EAAE;IACvC,MAAM,OAAO,GAAG,MAAM,IAAA,oCAAc,EAAC;QACnC,UAAU;QACV,KAAK;QACL,YAAY;QACZ,aAAa;KACd,CAAC,CAAC;IAEH,IAAI,gBAAgB,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;QAC/C,mDAAmD;QACnD,OAAO,OAAO,CAAC;KAChB;IAED,4CAA4C;IAC5C,MAAM,SAAS,GAAgB,IAAA,oCAAqB,EAClD,OAAO,EACP,YAAY,EACZ,gBAAgB,EAChB,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,UAAU,CACjB,CAAC;IAEF,MAAM,iBAAiB,GAAkB,IAAA,wCAAyB,EAChE,gBAAgB,EAChB,YAAY,CACb,CAAC;IAEF,MAAM,aAAa,GAAyB;QAC1C,UAAU,EAAE,UAAU;QACtB,KAAK,EAAE;YACL,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,IAAA,yCAA0B,EACpC,KAAK,EACL,gBAAgB,EAChB,iBAAiB,CAClB;YACD,SAAS,EAAE,IAAA,0CAA2B,EAAC,gBAAgB,EAAE,YAAY,CAAC;SACvE;QACD,YAAY,EAAE,CAAC,SAAS,EAAE,GAAG,iBAAiB,CAAC;KAChD,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,IAAA,oCAAc,EAAC,aAAa,CAAC,CAAC;IAEhD,OAAO,GAAG,CAAC;AACb,CAAC,CAAA,CAAC;AAlDW,QAAA,4BAA4B,gCAkDvC"}
1
+ {"version":3,"file":"browser-cube-to-sql-with-resolution.js","sourceRoot":"","sources":["../../../../meerkat-browser/src/browser-cube-to-sql-with-resolution/browser-cube-to-sql-with-resolution.ts"],"names":[],"mappings":";;;;AAAA,uDAe8B;AAE9B,oFAA4E;AAWrE,MAAM,4BAA4B,GAAG,CAAO,EACjD,UAAU,EACV,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,GACsB,EAAE,EAAE;IACvC,MAAM,OAAO,GAAG,MAAM,IAAA,oCAAc,EAAC;QACnC,UAAU;QACV,KAAK;QACL,YAAY;QACZ,aAAa;KACd,CAAC,CAAC;IAEH,wCAAwC;IACxC,IAAI,IAAA,mCAAoB,EAAC,gBAAgB,EAAE,KAAK,EAAE,iBAAiB,CAAC,EAAE;QACpE,OAAO,OAAO,CAAC;KAChB;IAED,IAAI,CAAC,iBAAiB,EAAE;QACtB,iBAAiB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;KACtE;IACD,6DAA6D;IAC7D,wDAAwD;IACxD,gBAAgB,CAAC,aAAa,GAAG,gBAAgB,CAAC,aAAa,CAAC,MAAM,CACpE,CAAC,MAAM,EAAE,EAAE;QACT,OAAO,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CACF,CAAC;IAEF,MAAM,UAAU,GAAgB,IAAA,oCAAqB,EACnD,OAAO,EACP,YAAY,EACZ,gBAAgB,EAChB,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,UAAU,CACjB,CAAC;IAEF,MAAM,cAAc,GAAc;QAChC,IAAI,EAAE,oCAAqB;QAC3B,GAAG,EAAE,IAAA,mCAAoB,EACvB,KAAK,EACL,UAAU,CAAC,UAAU,EACrB,oCAAqB,CACtB;QACD,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,oCAAqB;KAC7B,CAAC;IACF,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3C,iBAAiB,CAAC,IAAI,CAAC,oCAAqB,CAAC,CAAC;IAE9C,8FAA8F;IAC9F,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAChD,MAAM,CAAC,IAAI,GAAG,IAAA,iCAAkB,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,+CAA+C;IAC/C,MAAM,iBAAiB,GAAG,MAAM,IAAA,mCAAwB,EAAC;QACvD,eAAe,EAAE,UAAU;QAC3B,gBAAgB;QAChB,aAAa;QACb,cAAc,EAAE,CAAO,MAAM,EAAE,EAAE,0DAAC,OAAA,IAAA,oCAAc,kBAAG,UAAU,IAAK,MAAM,EAAG,CAAA,GAAA;KAC5E,CAAC,CAAC;IAEH,8CAA8C;IAC9C,MAAM,mBAAmB,GAAG,MAAM,IAAA,qCAA0B,EAAC;QAC3D,eAAe,EAAE,iBAAiB;QAClC,gBAAgB;QAChB,aAAa;QACb,iBAAiB;QACjB,cAAc,EAAE,CAAO,MAAM,EAAE,EAAE,0DAAC,OAAA,IAAA,oCAAc,kBAAG,UAAU,IAAK,MAAM,EAAG,CAAA,GAAA;KAC5E,CAAC,CAAC;IAEH,qCAAqC;IACrC,MAAM,aAAa,GAAG,MAAM,IAAA,+BAAoB,EAAC;QAC/C,mBAAmB;QACnB,gBAAgB;QAChB,aAAa;QACb,cAAc,EAAE,CAAO,MAAM,EAAE,EAAE,0DAAC,OAAA,IAAA,oCAAc,kBAAG,UAAU,IAAK,MAAM,EAAG,CAAA,GAAA;KAC5E,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC;AACvB,CAAC,CAAA,CAAC;AAnFW,QAAA,4BAA4B,gCAmFvC"}