@powersync/service-sync-rules 0.0.0-dev-20251209070120 → 0.0.0-dev-20260114145741

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.
Files changed (74) hide show
  1. package/dist/BaseSqlDataQuery.d.ts +3 -9
  2. package/dist/BaseSqlDataQuery.js +10 -10
  3. package/dist/BaseSqlDataQuery.js.map +1 -1
  4. package/dist/BucketParameterQuerier.d.ts +15 -5
  5. package/dist/BucketParameterQuerier.js +18 -3
  6. package/dist/BucketParameterQuerier.js.map +1 -1
  7. package/dist/BucketSource.d.ts +94 -25
  8. package/dist/BucketSource.js +67 -0
  9. package/dist/BucketSource.js.map +1 -1
  10. package/dist/HydratedSyncRules.d.ts +46 -0
  11. package/dist/HydratedSyncRules.js +88 -0
  12. package/dist/HydratedSyncRules.js.map +1 -0
  13. package/dist/HydrationState.d.ts +45 -0
  14. package/dist/HydrationState.js +41 -0
  15. package/dist/HydrationState.js.map +1 -0
  16. package/dist/SqlBucketDescriptor.d.ts +31 -28
  17. package/dist/SqlBucketDescriptor.js +89 -112
  18. package/dist/SqlBucketDescriptor.js.map +1 -1
  19. package/dist/SqlDataQuery.d.ts +4 -4
  20. package/dist/SqlDataQuery.js +5 -6
  21. package/dist/SqlDataQuery.js.map +1 -1
  22. package/dist/SqlParameterQuery.d.ts +17 -9
  23. package/dist/SqlParameterQuery.js +49 -21
  24. package/dist/SqlParameterQuery.js.map +1 -1
  25. package/dist/SqlSyncRules.d.ts +13 -29
  26. package/dist/SqlSyncRules.js +48 -77
  27. package/dist/SqlSyncRules.js.map +1 -1
  28. package/dist/StaticSqlParameterQuery.d.ts +13 -3
  29. package/dist/StaticSqlParameterQuery.js +39 -4
  30. package/dist/StaticSqlParameterQuery.js.map +1 -1
  31. package/dist/TableValuedFunctionSqlParameterQuery.d.ts +14 -4
  32. package/dist/TableValuedFunctionSqlParameterQuery.js +42 -7
  33. package/dist/TableValuedFunctionSqlParameterQuery.js.map +1 -1
  34. package/dist/compatibility.d.ts +23 -1
  35. package/dist/compatibility.js +32 -4
  36. package/dist/compatibility.js.map +1 -1
  37. package/dist/events/SqlEventDescriptor.js +1 -1
  38. package/dist/events/SqlEventDescriptor.js.map +1 -1
  39. package/dist/events/SqlEventSourceQuery.d.ts +1 -1
  40. package/dist/events/SqlEventSourceQuery.js +1 -2
  41. package/dist/events/SqlEventSourceQuery.js.map +1 -1
  42. package/dist/index.d.ts +2 -0
  43. package/dist/index.js +2 -0
  44. package/dist/index.js.map +1 -1
  45. package/dist/json_schema.js +5 -1
  46. package/dist/json_schema.js.map +1 -1
  47. package/dist/request_functions.js +1 -1
  48. package/dist/request_functions.js.map +1 -1
  49. package/dist/schema-generators/SchemaGenerator.js +1 -1
  50. package/dist/schema-generators/SchemaGenerator.js.map +1 -1
  51. package/dist/streams/filter.d.ts +34 -4
  52. package/dist/streams/filter.js +93 -23
  53. package/dist/streams/filter.js.map +1 -1
  54. package/dist/streams/from_sql.js +2 -5
  55. package/dist/streams/from_sql.js.map +1 -1
  56. package/dist/streams/parameter.d.ts +7 -6
  57. package/dist/streams/stream.d.ts +25 -15
  58. package/dist/streams/stream.js +59 -87
  59. package/dist/streams/stream.js.map +1 -1
  60. package/dist/streams/variant.d.ts +14 -21
  61. package/dist/streams/variant.js +68 -45
  62. package/dist/streams/variant.js.map +1 -1
  63. package/dist/types/custom_sqlite_value.d.ts +1 -1
  64. package/dist/types/time.d.ts +24 -5
  65. package/dist/types/time.js +67 -12
  66. package/dist/types/time.js.map +1 -1
  67. package/dist/types.d.ts +44 -24
  68. package/dist/types.js +4 -1
  69. package/dist/types.js.map +1 -1
  70. package/dist/utils.d.ts +4 -2
  71. package/dist/utils.js +6 -3
  72. package/dist/utils.js.map +1 -1
  73. package/package.json +4 -3
  74. package/schema/sync_rules.json +9 -0
@@ -2,7 +2,7 @@ import { TYPE_INTEGER, TYPE_REAL, TYPE_TEXT } from '../ExpressionType.js';
2
2
  export class SchemaGenerator {
3
3
  getAllTables(source, schema) {
4
4
  let tables = {};
5
- for (let descriptor of source.bucketSources) {
5
+ for (let descriptor of source.bucketDataSources) {
6
6
  descriptor.resolveResultSets(schema, tables);
7
7
  }
8
8
  return Object.entries(tables).map(([name, columns]) => {
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaGenerator.js","sourceRoot":"","sources":["../../src/schema-generators/SchemaGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAQ5F,MAAM,OAAgB,eAAe;IACzB,YAAY,CAAC,MAAoB,EAAE,MAAoB;QAC/D,IAAI,MAAM,GAAqD,EAAE,CAAC;QAElE,KAAK,IAAI,UAAU,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YAC5C,UAAU,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE;YACpD,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;aAChC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IASD;;;OAGG;IACH,UAAU,CAAC,GAAqB;QAC9B,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;QACrB,IAAI,IAAI,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC;YACtC,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,GAAG,YAAY,EAAE,CAAC;YACzC,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"SchemaGenerator.js","sourceRoot":"","sources":["../../src/schema-generators/SchemaGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAQ5F,MAAM,OAAgB,eAAe;IACzB,YAAY,CAAC,MAAoB,EAAE,MAAoB;QAC/D,IAAI,MAAM,GAAqD,EAAE,CAAC;QAElE,KAAK,IAAI,UAAU,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAChD,UAAU,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE;YACpD,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;aAChC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IASD;;;OAGG;IACH,UAAU,CAAC,GAAqB;QAC9B,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;QACrB,IAAI,IAAI,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC;YACtC,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,GAAG,YAAY,EAAE,CAAC;YACzC,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;CACF"}
@@ -1,9 +1,11 @@
1
- import { TablePattern } from '../TablePattern.js';
2
- import { ParameterMatchClause, ParameterValueClause, RowValueClause } from '../types.js';
3
1
  import { SqlTools } from '../sql_filters.js';
4
- import { StreamVariant } from './variant.js';
5
- import { SubqueryEvaluator } from './parameter.js';
2
+ import { TablePattern } from '../TablePattern.js';
3
+ import { ParameterMatchClause, ParameterValueClause, RowValueClause, SqliteRow, UnscopedEvaluatedParametersResult } from '../types.js';
6
4
  import { NodeLocation } from 'pgsql-ast-parser';
5
+ import { ParameterIndexLookupCreator } from '../BucketSource.js';
6
+ import { SourceTableInterface } from '../SourceTableInterface.js';
7
+ import { SubqueryEvaluator } from './parameter.js';
8
+ import { StreamVariant } from './variant.js';
7
9
  /**
8
10
  * An intermediate representation of a `WHERE` clause for stream queries.
9
11
  *
@@ -145,4 +147,32 @@ export declare class EvaluateSimpleCondition extends FilterOperator {
145
147
  compile(context: StreamCompilationContext): void;
146
148
  negate(tools: SqlTools): EvaluateSimpleCondition;
147
149
  }
150
+ export declare class SubqueryParameterLookupSource implements ParameterIndexLookupCreator {
151
+ private parameterTable;
152
+ private column;
153
+ private innerVariant;
154
+ private defaultQueryId;
155
+ private streamName;
156
+ constructor(parameterTable: TablePattern, column: RowValueClause, innerVariant: StreamVariant, defaultQueryId: string, streamName: string);
157
+ get defaultLookupScope(): {
158
+ lookupName: string;
159
+ queryId: string;
160
+ };
161
+ getSourceTables(): Set<TablePattern>;
162
+ /**
163
+ * Creates lookup indices for dynamically-resolved parameters.
164
+ *
165
+ * Resolving dynamic parameters is a two-step process: First, for tables referenced in subqueries, we create an index
166
+ * to resolve which request parameters would match rows in subqueries. Then, when resolving bucket ids for a request,
167
+ * we compute subquery results by looking up results in that index.
168
+ *
169
+ * This implements the first step of that process.
170
+ *
171
+ * @param result The array into which evaluation results should be written to.
172
+ * @param sourceTable A table we depend on in a subquery.
173
+ * @param row Row data to index.
174
+ */
175
+ evaluateParameterRow(sourceTable: SourceTableInterface, row: SqliteRow): UnscopedEvaluatedParametersResult[];
176
+ tableSyncsParameters(table: SourceTableInterface): boolean;
177
+ }
148
178
  export {};
@@ -1,9 +1,9 @@
1
+ import { ScopedParameterLookup, UnscopedParameterLookup } from '../BucketParameterQuerier.js';
2
+ import { checkJsonArray, OPERATOR_NOT } from '../sql_functions.js';
1
3
  import { isParameterValueClause, isRowValueClause, SQLITE_TRUE, sqliteBool } from '../sql_support.js';
2
4
  import { isJsonValue, normalizeParameterValue } from '../utils.js';
3
- import { checkJsonArray, OPERATOR_NOT } from '../sql_functions.js';
4
- import { ParameterLookup } from '../BucketParameterQuerier.js';
5
- import { StreamVariant } from './variant.js';
6
5
  import { cartesianProduct } from './utils.js';
6
+ import { StreamVariant } from './variant.js';
7
7
  /**
8
8
  * An intermediate representation of a `WHERE` clause for stream queries.
9
9
  *
@@ -195,30 +195,37 @@ export class Subquery {
195
195
  return [variant, id];
196
196
  });
197
197
  const column = this.column;
198
+ let lookupCreators = [];
199
+ let lookupsForRequest = [];
200
+ for (let [variant, id] of innerVariants) {
201
+ const source = new SubqueryParameterLookupSource(this.table, column, variant, id, context.streamName);
202
+ lookupCreators.push(source);
203
+ lookupsForRequest.push((hydrationState) => {
204
+ const scope = hydrationState.getParameterIndexLookupScope(source);
205
+ return (parameters) => {
206
+ const lookups = [];
207
+ const instantiations = variant.findStaticInstantiations(parameters);
208
+ for (const instantiation of instantiations) {
209
+ lookups.push(ScopedParameterLookup.normalized(scope, UnscopedParameterLookup.normalized(instantiation)));
210
+ }
211
+ return lookups;
212
+ };
213
+ });
214
+ }
198
215
  const evaluator = {
199
216
  parameterTable: this.table,
200
- lookupsForParameterRow(sourceTable, row) {
201
- const value = column.evaluate({ [sourceTable.name]: row });
202
- if (!isJsonValue(value)) {
203
- return null;
204
- }
205
- const lookups = [];
206
- for (const [variant, id] of innerVariants) {
207
- for (const instantiation of variant.instantiationsForRow({ sourceTable, record: row })) {
208
- lookups.push(ParameterLookup.normalized(context.streamName, id, instantiation));
209
- }
210
- }
211
- return { value, lookups };
217
+ indexLookupCreators() {
218
+ return lookupCreators;
212
219
  },
213
- lookupsForRequest(parameters) {
214
- const lookups = [];
215
- for (const [variant, id] of innerVariants) {
216
- const instantiations = variant.findStaticInstantiations(parameters);
217
- for (const instantiation of instantiations) {
218
- lookups.push(ParameterLookup.normalized(context.streamName, id, instantiation));
220
+ hydrateLookupsForRequest(hydrationState) {
221
+ const hydrated = lookupsForRequest.map((fn) => fn(hydrationState));
222
+ return (parameters) => {
223
+ const lookups = [];
224
+ for (const getLookups of hydrated) {
225
+ lookups.push(...getLookups(parameters));
219
226
  }
220
- }
221
- return lookups;
227
+ return lookups;
228
+ };
222
229
  }
223
230
  };
224
231
  context.currentVariant.subqueries.push(evaluator);
@@ -423,4 +430,67 @@ export class EvaluateSimpleCondition extends FilterOperator {
423
430
  return new EvaluateSimpleCondition(this.location, tools.composeFunction(OPERATOR_NOT, [this.expression], []));
424
431
  }
425
432
  }
433
+ export class SubqueryParameterLookupSource {
434
+ parameterTable;
435
+ column;
436
+ innerVariant;
437
+ defaultQueryId;
438
+ streamName;
439
+ constructor(parameterTable, column, innerVariant, defaultQueryId, streamName) {
440
+ this.parameterTable = parameterTable;
441
+ this.column = column;
442
+ this.innerVariant = innerVariant;
443
+ this.defaultQueryId = defaultQueryId;
444
+ this.streamName = streamName;
445
+ }
446
+ get defaultLookupScope() {
447
+ return {
448
+ lookupName: this.streamName,
449
+ queryId: this.defaultQueryId
450
+ };
451
+ }
452
+ getSourceTables() {
453
+ let result = new Set();
454
+ result.add(this.parameterTable);
455
+ return result;
456
+ }
457
+ /**
458
+ * Creates lookup indices for dynamically-resolved parameters.
459
+ *
460
+ * Resolving dynamic parameters is a two-step process: First, for tables referenced in subqueries, we create an index
461
+ * to resolve which request parameters would match rows in subqueries. Then, when resolving bucket ids for a request,
462
+ * we compute subquery results by looking up results in that index.
463
+ *
464
+ * This implements the first step of that process.
465
+ *
466
+ * @param result The array into which evaluation results should be written to.
467
+ * @param sourceTable A table we depend on in a subquery.
468
+ * @param row Row data to index.
469
+ */
470
+ evaluateParameterRow(sourceTable, row) {
471
+ if (this.parameterTable.matches(sourceTable)) {
472
+ // Theoretically we're doing duplicate work by doing this for each innerVariant in a subquery.
473
+ // In practice, we don't have more than one innerVariant per subquery right now, so this is fine.
474
+ const value = this.column.evaluate({ [sourceTable.name]: row });
475
+ if (!isJsonValue(value)) {
476
+ return [];
477
+ }
478
+ const lookups = [];
479
+ for (const instantiation of this.innerVariant.instantiationsForRow({ sourceTable, record: row })) {
480
+ lookups.push(UnscopedParameterLookup.normalized(instantiation));
481
+ }
482
+ // The row of the subquery. Since we only support subqueries with a single column, we unconditionally name the
483
+ // column `result` for simplicity.
484
+ const resultRow = { result: value };
485
+ return lookups.map((l) => ({
486
+ lookup: l,
487
+ bucketParameters: [resultRow]
488
+ }));
489
+ }
490
+ return [];
491
+ }
492
+ tableSyncsParameters(table) {
493
+ return this.parameterTable.matches(table);
494
+ }
495
+ }
426
496
  //# sourceMappingURL=filter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/streams/filter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/streams/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAE9F,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAYtG,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAOnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,OAAgB,cAAc;IAClC;;OAEG;IACM,QAAQ,CAAsB;IAEvC,YAAY,QAA6B;QACvC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAID,eAAe,CAAC,UAAkB;QAChC,MAAM,cAAc,GAAG,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAoB,CAAC,cAAc,CAAC,CAAC;QAEtD,IAAI,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3F,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;;;OAMG;IACH,uBAAuB,CAAC,KAAe;QACrC,+EAA+E;QAC/E,IAAI,IAAI,YAAY,GAAG,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;YAC3B,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;gBACzB,WAAW;gBACX,OAAO,KAAK,CAAC,OAAO,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACtD,CAAC;YAED,IAAI,KAAK,YAAY,uBAAuB,EAAE,CAAC;gBAC7C,iEAAiE;gBACjE,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;YAED,IAAI,OAAO,CAAC;YACZ,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;gBACzB,OAAO,GAAG,EAAE,CAAC,CAAC,6BAA6B;YAC7C,CAAC;iBAAM,IAAI,KAAK,YAAY,EAAE,EAAE,CAAC;gBAC/B,OAAO,GAAG,GAAG,CAAC,CAAC,6BAA6B;YAC9C,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5F,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,IAAI,YAAY,GAAG,EAAE,CAAC;YAC/B,MAAM,aAAa,GAAqB,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAS,EAAE,CAAC;YAEzB,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACtC,MAAM,UAAU,GAAG,YAAY,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;gBAC/D,IAAI,UAAU,YAAY,GAAG,EAAE,CAAC;oBAC9B,aAAa,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC1C,CAAC;qBAAM,IAAI,UAAU,YAAY,EAAE,EAAE,CAAC;oBACpC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACxB,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,aAAa,CAAC,CAAC;YAClD,CAAC;YAED,iHAAiH;YACjH,MAAM;YACN,gGAAgG;YAChG,MAAM,UAAU,GAAG,CAAC,GAAG,gBAAgB,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEzE,yGAAyG;YACzG,OAAO,IAAI,EAAE,CACX,IAAI,CAAC,QAAQ,EACb,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,gBAAgB,EAAE,GAAG,aAAa,CAAC,CAAC,CACvG,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,YAAY,EAAE,EAAE,CAAC;YAC9B,2FAA2F;YAC3F,OAAO,IAAI,EAAE,CACX,IAAI,CAAC,QAAQ,EACb,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1B,MAAM,UAAU,GAAG,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;gBACpD,OAAO,UAAU,YAAY,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACpE,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,KAAe;QACrB,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC3C,IAAI,OAAO,YAAY,GAAG,EAAE,CAAC;gBAC3B,KAAK,CAAC,KAAK,CAAC,gCAAgC,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;gBAC7E,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;QACH,CAAC;QAED,OAAO,CAAC,QAAQ,CAAC;IACnB,CAAC;IAEO,CAAC,aAAa;QACpB,IAAI,IAAI,YAAY,EAAE,IAAI,IAAI,YAAY,GAAG,EAAE,CAAC;YAC9C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC;QACb,CAAC;IACH,CAAC;CACF;AASD;;;;;;;;GAQG;AACH,MAAM,OAAO,GAAI,SAAQ,cAAc;IAC5B,OAAO,CAAiB;IAEjC,YAAY,QAA6B,EAAE,OAAuB;QAChE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,OAAO;QACL,MAAM,KAAK,CAAC,6DAA6D,CAAC,CAAC;IAC7E,CAAC;CACF;AAED,MAAM,OAAO,GAAI,SAAQ,cAAc;IAC5B,KAAK,CAAmB;IAEjC,YAAY,QAA6B,EAAE,GAAG,SAA2B;QACvE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,OAAiC;QACvC,wEAAwE;QACxE,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACnC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,EAAG,SAAQ,cAAc;IAC3B,KAAK,CAAmB;IAEjC,YAAY,QAA6B,EAAE,GAAG,SAA2B;QACvE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,OAAiC;QACvC,MAAM,KAAK,CAAC,yEAAyE,CAAC,CAAC;IACzF,CAAC;IAED,eAAe,CAAC,UAAkB;QAChC,MAAM,WAAW,GAAoB,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG;YACd,UAAU;YACV,cAAc,EAAE,SAAsC;YACtD,WAAW;YACX,YAAY,EAAE,CAAC;SAChB,CAAC;QAEF,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACtD,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE1B,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC;YACjC,SAAS,CAAC,OAAO,CAAC,OAAmC,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AAED,MAAM,OAAO,QAAQ;IACX,KAAK,CAAe;IACnB,MAAM,CAAiB;IACxB,MAAM,CAAiB;IAE/B,YACE,KAAmB,EACnB,MAAsB,EACtB,MAAoE;QAEpE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,SAAS,CAAC,MAAoE;QAC5E,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnE,CAAC;IAED,gBAAgB,CAAC,OAAiC;QAChD,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACpF,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC3C,OAAO,CAAC,YAAY,EAAE,CAAC;YAEvB,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;YAC/F,CAAC;YAED,OAAO,CAAC,OAAO,EAAE,EAAE,CAAmC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,IAAI,cAAc,GAAkC,EAAE,CAAC;QACvD,IAAI,iBAAiB,GAEgD,EAAE,CAAC;QAExE,KAAK,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,aAAa,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,IAAI,6BAA6B,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YACtG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,iBAAiB,CAAC,IAAI,CAAC,CAAC,cAA8B,EAAE,EAAE;gBACxD,MAAM,KAAK,GAAG,cAAc,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;gBAClE,OAAO,CAAC,UAA6B,EAAE,EAAE;oBACvC,MAAM,OAAO,GAA4B,EAAE,CAAC;oBAC5C,MAAM,cAAc,GAAG,OAAO,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;oBACpE,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;wBAC3C,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,KAAK,EAAE,uBAAuB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;oBAC3G,CAAC;oBACD,OAAO,OAAO,CAAC;gBACjB,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,SAAS,GAAsB;YACnC,cAAc,EAAE,IAAI,CAAC,KAAK;YAC1B,mBAAmB;gBACjB,OAAO,cAAc,CAAC;YACxB,CAAC;YACD,wBAAwB,CAAC,cAA8B;gBACrD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;gBACnE,OAAO,CAAC,UAA6B,EAAE,EAAE;oBACvC,MAAM,OAAO,GAA4B,EAAE,CAAC;oBAC5C,KAAK,MAAM,UAAU,IAAI,QAAQ,EAAE,CAAC;wBAClC,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;oBAC1C,CAAC;oBACD,OAAO,OAAO,CAAC;gBACjB,CAAC,CAAC;YACJ,CAAC;SACF,CAAC;QAEF,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,UAAW,SAAQ,cAAc;IACpC,IAAI,CAAiB;IACrB,KAAK,CAAW;IAExB,YAAY,QAA6B,EAAE,IAAoB,EAAE,KAAe;QAC9E,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,OAAO,CAAC,OAAiC;QACvC,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;QAEzB,mHAAmH;QACnH,6FAA6F;QAC7F,yGAAyG;QACzG,gFAAgF;QAChF,+GAA+G;QAC/G,eAAe;QACf,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC;YACrC,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,iBAAiB;aAC5B;YACD,SAAS,CAAC,OAAO;gBACf,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACtC,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvB,OAAO,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACN,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,cAAc;IACzC,IAAI,CAAiB;IACrB,KAAK,CAAW;IAExB,YAAY,QAA6B,EAAE,IAAoB,EAAE,KAAe;QAC9E,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,OAAO,CAAC,OAAiC;QACvC,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;QAEzB,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC;YACrC,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,iBAAiB;aAC5B;YACD,SAAS,CAAC,OAAO;gBACf,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACtC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;oBAClB,OAAO,EAAE,CAAC;gBACZ,CAAC;gBAED,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,2CAA2C,CAAC,CAAC;gBAClF,OAAO,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YAC7C,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,cAAe,SAAQ,cAAc;IACxC,QAAQ,CAAW;IAE3B,YAAY,QAA6B,EAAE,QAAkB;QAC3D,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,OAAO,CAAC,OAAiC;QACvC,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAElE,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC;YACzC,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,iBAAiB;YAC3B,OAAO,CAAC,CAAC,EAAE,OAAO;gBAChB,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YAC5B,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,kCAAmC,SAAQ,cAAc;IAC5D,KAAK,CAAuB;IAEpC,YAAY,QAA6B,EAAE,KAA2B;QACpE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,OAAO,CAAC,OAAiC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC5C,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC;gBACrC,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,CAAC,UAAU;wBACpB,MAAM,KAAK,GAAG,OAAO,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;wBAC1D,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;4BACpB,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE,CAAC;gCAC7B,OAAO,EAAE,CAAC;4BACZ,CAAC;4BACD,IAAI,MAAM,GAAsB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4BAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gCAC3B,OAAO,EAAE,CAAC;4BACZ,CAAC;4BAED,OAAO,MAAM,CAAC;wBAChB,CAAC;6BAAM,CAAC;4BACN,OAAO,CAAC,KAAK,CAAC,CAAC;wBACjB,CAAC;oBACH,CAAC;iBACF;gBACD,SAAS,CAAC,OAAO;oBACf,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;oBAC9D,MAAM,cAAc,GAAsB,EAAE,CAAC;oBAE7C,KAAK,MAAM,kBAAkB,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;wBACzD,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBACtD,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;4BAC1B,cAAc,CAAC,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC,CAAC;wBAC9D,CAAC;oBACH,CAAC;oBAED,OAAO,cAAc,CAAC;gBACxB,CAAC;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,uBAAwB,SAAQ,cAAc;IACzD,UAAU,CAAmB;IAE7B,YAAY,QAA6B,EAAE,UAA4B;QACrE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,OAAO,CAAC,OAAiC;QACvC,IAAI,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;YAE/B,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACvD,OAAO,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC;YAC5F,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;YAE/B,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC;gBACzC,IAAI,EAAE,QAAQ;gBACd,OAAO,CAAC,MAAM;oBACZ,OAAO,UAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,IAAI,WAAW,CAAC;gBACxE,CAAC;aACF,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAU,IAAI,CAAC,UAAU,CAAC,CAAC,mBAAmB;QACvD,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAe;QACpB,OAAO,IAAI,uBAAuB,CAChC,IAAI,CAAC,QAAQ,EACb,KAAK,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAqB,CAC/E,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,6BAA6B;IAE9B;IACA;IACA;IACA;IACA;IALV,YACU,cAA4B,EAC5B,MAAsB,EACtB,YAA2B,EAC3B,cAAsB,EACtB,UAAkB;QAJlB,mBAAc,GAAd,cAAc,CAAc;QAC5B,WAAM,GAAN,MAAM,CAAgB;QACtB,iBAAY,GAAZ,YAAY,CAAe;QAC3B,mBAAc,GAAd,cAAc,CAAQ;QACtB,eAAU,GAAV,UAAU,CAAQ;IACzB,CAAC;IAEJ,IAAW,kBAAkB;QAC3B,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,cAAc;SAC7B,CAAC;IACJ,CAAC;IAED,eAAe;QACb,IAAI,MAAM,GAAG,IAAI,GAAG,EAAgB,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,oBAAoB,CAAC,WAAiC,EAAE,GAAc;QACpE,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7C,8FAA8F;YAC9F,iGAAiG;YACjG,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,OAAO,GAA8B,EAAE,CAAC;YAC9C,KAAK,MAAM,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;gBACjG,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;YAClE,CAAC;YAED,8GAA8G;YAC9G,kCAAkC;YAClC,MAAM,SAAS,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAEpC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzB,MAAM,EAAE,CAAC;gBACT,gBAAgB,EAAE,CAAC,SAAS,CAAC;aAC9B,CAAC,CAAC,CAAC;QACN,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,oBAAoB,CAAC,KAA2B;QAC9C,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;CACF"}
@@ -52,11 +52,9 @@ class SyncStreamCompiler {
52
52
  tools.checkSpecificNameCase(tableRef);
53
53
  let filter = this.whereClauseToFilters(tools, query.where);
54
54
  filter = filter.toDisjunctiveNormalForm(tools);
55
- const stream = new SyncStream(this.descriptorName, new BaseSqlDataQuery(this.compileDataQuery(tools, query, alias, sourceTable)));
55
+ const variants = filter.isValid(tools) ? filter.compileVariants(this.descriptorName) : [];
56
+ const stream = new SyncStream(this.descriptorName, new BaseSqlDataQuery(this.compileDataQuery(tools, query, alias, sourceTable)), variants);
56
57
  stream.subscribedToByDefault = this.options.auto_subscribe ?? false;
57
- if (filter.isValid(tools)) {
58
- stream.variants = filter.compileVariants(this.descriptorName);
59
- }
60
58
  this.errors.push(...tools.errors);
61
59
  if (this.parameterDetector.usesStreamParameters && stream.subscribedToByDefault) {
62
60
  const error = new SqlRuleError('Clients subscribe to this stream by default, but it uses subscription parameters. Default subscriptions use ' +
@@ -138,7 +136,6 @@ class SyncStreamCompiler {
138
136
  table: alias,
139
137
  sql: this.sql,
140
138
  columns: query.columns ?? [],
141
- descriptorName: this.descriptorName,
142
139
  tools,
143
140
  extractors,
144
141
  // Streams don't have traditional parameters, and parameters aren't used in the rest of the stream implementation.
@@ -1 +1 @@
1
- {"version":3,"file":"from_sql.js","sourceRoot":"","sources":["../../src/streams/from_sql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"from_sql.js","sourceRoot":"","sources":["../../src/streams/from_sql.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- import { ParameterLookup } from '../BucketParameterQuerier.js';
2
- import { SourceTableInterface } from '../SourceTableInterface.js';
1
+ import { ScopedParameterLookup, UnscopedParameterLookup } from '../BucketParameterQuerier.js';
2
+ import { ParameterIndexLookupCreator } from '../BucketSource.js';
3
+ import { HydrationState } from '../HydrationState.js';
3
4
  import { TablePattern } from '../TablePattern.js';
4
- import { ParameterValueSet, RequestParameters, SqliteJsonValue, SqliteRow, SqliteValue, TableRow } from '../types.js';
5
+ import { ParameterValueSet, RequestParameters, SqliteJsonValue, SqliteValue, TableRow } from '../types.js';
5
6
  /**
6
7
  * A source of parameterization, causing data from the source table to be distributed into multiple buckets instead of
7
8
  * a single one.
@@ -27,11 +28,11 @@ export interface BucketParameter {
27
28
  }
28
29
  export interface SubqueryEvaluator {
29
30
  parameterTable: TablePattern;
30
- lookupsForParameterRow(sourceTable: SourceTableInterface, row: SqliteRow): SubqueryLookups | null;
31
- lookupsForRequest(params: RequestParameters): ParameterLookup[];
31
+ indexLookupCreators(): ParameterIndexLookupCreator[];
32
+ hydrateLookupsForRequest(hydrationState: HydrationState): (params: RequestParameters) => ScopedParameterLookup[];
32
33
  }
33
34
  export interface SubqueryLookups {
34
- lookups: ParameterLookup[];
35
+ lookups: UnscopedParameterLookup[];
35
36
  /**
36
37
  * The value that the single column in the subquery evaluated to.
37
38
  */
@@ -1,28 +1,24 @@
1
1
  import { BaseSqlDataQuery } from '../BaseSqlDataQuery.js';
2
2
  import { BucketPriority } from '../BucketDescription.js';
3
- import { PendingQueriers } from '../BucketParameterQuerier.js';
4
- import { BucketSource, BucketSourceType } from '../BucketSource.js';
3
+ import { BucketDataSource, ParameterIndexLookupCreator, BucketSource, BucketSourceType, CreateSourceParams, HydratedBucketSource } from '../BucketSource.js';
5
4
  import { ColumnDefinition } from '../ExpressionType.js';
6
5
  import { SourceTableInterface } from '../SourceTableInterface.js';
7
- import { GetQuerierOptions } from '../SqlSyncRules.js';
8
6
  import { TablePattern } from '../TablePattern.js';
9
- import { EvaluatedParametersResult, EvaluateRowOptions, EvaluationResult, SourceSchema, SqliteRow } from '../types.js';
7
+ import { EvaluateRowOptions, UnscopedEvaluationResult, SourceSchema } from '../types.js';
10
8
  import { StreamVariant } from './variant.js';
11
9
  export declare class SyncStream implements BucketSource {
12
10
  name: string;
13
11
  subscribedToByDefault: boolean;
14
12
  priority: BucketPriority;
15
- variants: StreamVariant[];
13
+ variants: {
14
+ variant: StreamVariant;
15
+ dataSource: SyncStreamDataSource;
16
+ }[];
16
17
  data: BaseSqlDataQuery;
17
- constructor(name: string, data: BaseSqlDataQuery);
18
+ readonly dataSources: BucketDataSource[];
19
+ readonly parameterIndexLookupCreators: ParameterIndexLookupCreator[];
20
+ constructor(name: string, data: BaseSqlDataQuery, variants: StreamVariant[]);
18
21
  get type(): BucketSourceType;
19
- pushBucketParameterQueriers(result: PendingQueriers, options: GetQuerierOptions): void;
20
- private queriersForSubscription;
21
- hasDynamicBucketQueries(): boolean;
22
- tableSyncsData(table: SourceTableInterface): boolean;
23
- tableSyncsParameters(table: SourceTableInterface): boolean;
24
- getSourceTables(): Set<TablePattern>;
25
- resolveResultSets(schema: SourceSchema, tables: Record<string, Record<string, ColumnDefinition>>): void;
26
22
  debugRepresentation(): {
27
23
  name: string;
28
24
  type: string;
@@ -32,9 +28,23 @@ export declare class SyncStream implements BucketSource {
32
28
  columns: string[];
33
29
  };
34
30
  };
31
+ hydrate(params: CreateSourceParams): HydratedBucketSource;
32
+ }
33
+ export declare class SyncStreamDataSource implements BucketDataSource {
34
+ private stream;
35
+ private data;
36
+ private variant;
37
+ constructor(stream: SyncStream, data: BaseSqlDataQuery, variant: StreamVariant);
38
+ /**
39
+ * Not relevant for sync streams.
40
+ */
41
+ get bucketParameters(): never[];
42
+ get uniqueName(): string;
43
+ getSourceTables(): Set<TablePattern>;
44
+ tableSyncsData(table: SourceTableInterface): boolean;
45
+ resolveResultSets(schema: SourceSchema, tables: Record<string, Record<string, ColumnDefinition>>): void;
35
46
  debugWriteOutputTables(result: Record<string, {
36
47
  query: string;
37
48
  }[]>): void;
38
- evaluateParameterRow(sourceTable: SourceTableInterface, row: SqliteRow): EvaluatedParametersResult[];
39
- evaluateRow(options: EvaluateRowOptions): EvaluationResult[];
49
+ evaluateRow(options: EvaluateRowOptions): UnscopedEvaluationResult[];
40
50
  }
@@ -6,99 +6,80 @@ export class SyncStream {
6
6
  priority;
7
7
  variants;
8
8
  data;
9
- constructor(name, data) {
9
+ dataSources;
10
+ parameterIndexLookupCreators;
11
+ constructor(name, data, variants) {
10
12
  this.name = name;
11
13
  this.subscribedToByDefault = false;
12
14
  this.priority = DEFAULT_BUCKET_PRIORITY;
13
15
  this.variants = [];
14
16
  this.data = data;
17
+ this.dataSources = [];
18
+ this.parameterIndexLookupCreators = [];
19
+ for (let variant of variants) {
20
+ const dataSource = new SyncStreamDataSource(this, data, variant);
21
+ this.dataSources.push(dataSource);
22
+ this.variants.push({ variant, dataSource });
23
+ const lookupCreators = variant.indexLookupCreators();
24
+ this.parameterIndexLookupCreators.push(...lookupCreators);
25
+ }
15
26
  }
16
27
  get type() {
17
28
  return BucketSourceType.SYNC_STREAM;
18
29
  }
19
- pushBucketParameterQueriers(result, options) {
20
- const subscriptions = options.streams[this.name] ?? [];
21
- if (!this.subscribedToByDefault && !subscriptions.length) {
22
- // The client is not subscribing to this stream, so don't query buckets related to it.
23
- return;
24
- }
25
- let hasExplicitDefaultSubscription = false;
26
- for (const subscription of subscriptions) {
27
- let subscriptionParams = options.globalParameters;
28
- if (subscription.parameters != null) {
29
- subscriptionParams = subscriptionParams.withAddedStreamParameters(subscription.parameters);
30
- }
31
- else {
32
- hasExplicitDefaultSubscription = true;
30
+ debugRepresentation() {
31
+ return {
32
+ name: this.name,
33
+ type: BucketSourceType[BucketSourceType.SYNC_STREAM],
34
+ variants: this.variants.map(({ variant }) => variant.debugRepresentation()),
35
+ data: {
36
+ table: this.data.sourceTable,
37
+ columns: this.data.columnOutputNames()
33
38
  }
34
- this.queriersForSubscription(result, subscription, subscriptionParams, options.bucketIdTransformer);
35
- }
36
- // If the stream is subscribed to by default and there is no explicit subscription that would match the default
37
- // subscription, also include the default querier.
38
- if (this.subscribedToByDefault && !hasExplicitDefaultSubscription) {
39
- this.queriersForSubscription(result, null, options.globalParameters, options.bucketIdTransformer);
40
- }
39
+ };
41
40
  }
42
- queriersForSubscription(result, subscription, params, bucketIdTransformer) {
43
- const reason = subscription != null ? { subscription: subscription.opaque_id } : 'default';
44
- const queriers = [];
45
- try {
46
- for (const variant of this.variants) {
47
- const querier = variant.querier(this, reason, params, bucketIdTransformer);
48
- if (querier) {
49
- queriers.push(querier);
41
+ hydrate(params) {
42
+ let queriers = [];
43
+ for (let { variant, dataSource } of this.variants) {
44
+ const querier = variant.createParameterQuerierSource(params, this, dataSource);
45
+ queriers.push(querier);
46
+ }
47
+ return {
48
+ definition: this,
49
+ pushBucketParameterQueriers(result, options) {
50
+ for (let querier of queriers) {
51
+ querier.pushBucketParameterQueriers(result, options);
50
52
  }
51
53
  }
52
- result.queriers.push(...queriers);
53
- }
54
- catch (e) {
55
- result.errors.push({
56
- descriptor: this.name,
57
- message: `Error evaluating bucket ids: ${e.message}`,
58
- subscription: subscription ?? undefined
59
- });
60
- }
54
+ };
61
55
  }
62
- hasDynamicBucketQueries() {
63
- return this.variants.some((v) => v.hasDynamicBucketQueries);
56
+ }
57
+ export class SyncStreamDataSource {
58
+ stream;
59
+ data;
60
+ variant;
61
+ constructor(stream, data, variant) {
62
+ this.stream = stream;
63
+ this.data = data;
64
+ this.variant = variant;
64
65
  }
65
- tableSyncsData(table) {
66
- return this.data.applies(table);
66
+ /**
67
+ * Not relevant for sync streams.
68
+ */
69
+ get bucketParameters() {
70
+ return [];
67
71
  }
68
- tableSyncsParameters(table) {
69
- for (const variant of this.variants) {
70
- for (const subquery of variant.subqueries) {
71
- if (subquery.parameterTable.matches(table)) {
72
- return true;
73
- }
74
- }
75
- }
76
- return false;
72
+ get uniqueName() {
73
+ return this.variant.defaultBucketPrefix(this.stream.name);
77
74
  }
78
75
  getSourceTables() {
79
- let result = new Set();
80
- result.add(this.data.sourceTable);
81
- for (let variant of this.variants) {
82
- for (const subquery of variant.subqueries) {
83
- result.add(subquery.parameterTable);
84
- }
85
- }
86
- // Note: No physical tables for global_parameter_queries
87
- return result;
76
+ return new Set([this.data.sourceTable]);
88
77
  }
89
- resolveResultSets(schema, tables) {
90
- this.data.resolveResultSets(schema, tables);
78
+ tableSyncsData(table) {
79
+ return this.data.applies(table);
91
80
  }
92
- debugRepresentation() {
93
- return {
94
- name: this.name,
95
- type: BucketSourceType[this.type],
96
- variants: this.variants.map((v) => v.debugRepresentation()),
97
- data: {
98
- table: this.data.sourceTable,
99
- columns: this.data.columnOutputNames()
100
- }
101
- };
81
+ resolveResultSets(schema, tables) {
82
+ return this.data.resolveResultSets(schema, tables);
102
83
  }
103
84
  debugWriteOutputTables(result) {
104
85
  result[this.data.table.sqlName] ??= [];
@@ -107,31 +88,22 @@ export class SyncStream {
107
88
  };
108
89
  result[this.data.table.sqlName].push(r);
109
90
  }
110
- evaluateParameterRow(sourceTable, row) {
111
- const result = [];
112
- for (const variant of this.variants) {
113
- variant.pushParameterRowEvaluation(result, sourceTable, row);
114
- }
115
- return result;
116
- }
117
91
  evaluateRow(options) {
118
92
  if (!this.data.applies(options.sourceTable)) {
119
93
  return [];
120
94
  }
121
- const stream = this;
122
95
  const row = {
123
96
  sourceTable: options.sourceTable,
124
97
  record: options.record
125
98
  };
99
+ // There is some duplication in work here when there are multiple variants on a stream:
100
+ // Each variant does the same row transformation (only the filters / bucket ids differ).
101
+ // However, architecturally we do need to be able to evaluate each variant separately.
126
102
  return this.data.evaluateRowWithOptions({
127
103
  table: options.sourceTable,
128
104
  row: options.record,
129
- bucketIds() {
130
- const bucketIds = [];
131
- for (const variant of stream.variants) {
132
- bucketIds.push(...variant.bucketIdsForRow(stream.name, row, options.bucketIdTransformer));
133
- }
134
- return bucketIds;
105
+ serializedBucketParameters: () => {
106
+ return this.variant.bucketParametersForRow(row);
135
107
  }
136
108
  });
137
109
  }