@powersync/service-sync-rules 0.29.10 → 0.30.0

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 (160) hide show
  1. package/dist/BaseSqlDataQuery.d.ts +3 -9
  2. package/dist/BaseSqlDataQuery.js +11 -21
  3. package/dist/BaseSqlDataQuery.js.map +1 -1
  4. package/dist/BucketParameterQuerier.d.ts +42 -9
  5. package/dist/BucketParameterQuerier.js +30 -7
  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/ExpressionType.d.ts +4 -2
  11. package/dist/ExpressionType.js.map +1 -1
  12. package/dist/HydratedSyncRules.d.ts +46 -0
  13. package/dist/HydratedSyncRules.js +88 -0
  14. package/dist/HydratedSyncRules.js.map +1 -0
  15. package/dist/HydrationState.d.ts +45 -0
  16. package/dist/HydrationState.js +41 -0
  17. package/dist/HydrationState.js.map +1 -0
  18. package/dist/SqlBucketDescriptor.d.ts +31 -28
  19. package/dist/SqlBucketDescriptor.js +89 -112
  20. package/dist/SqlBucketDescriptor.js.map +1 -1
  21. package/dist/SqlDataQuery.d.ts +4 -4
  22. package/dist/SqlDataQuery.js +5 -6
  23. package/dist/SqlDataQuery.js.map +1 -1
  24. package/dist/SqlParameterQuery.d.ts +17 -9
  25. package/dist/SqlParameterQuery.js +49 -23
  26. package/dist/SqlParameterQuery.js.map +1 -1
  27. package/dist/SqlSyncRules.d.ts +13 -29
  28. package/dist/SqlSyncRules.js +40 -76
  29. package/dist/SqlSyncRules.js.map +1 -1
  30. package/dist/StaticSqlParameterQuery.d.ts +13 -3
  31. package/dist/StaticSqlParameterQuery.js +38 -4
  32. package/dist/StaticSqlParameterQuery.js.map +1 -1
  33. package/dist/TablePattern.d.ts +4 -1
  34. package/dist/TablePattern.js +11 -0
  35. package/dist/TablePattern.js.map +1 -1
  36. package/dist/TableValuedFunctionSqlParameterQuery.d.ts +14 -4
  37. package/dist/TableValuedFunctionSqlParameterQuery.js +41 -7
  38. package/dist/TableValuedFunctionSqlParameterQuery.js.map +1 -1
  39. package/dist/compiler/bucket_resolver.d.ts +70 -0
  40. package/dist/compiler/bucket_resolver.js +131 -0
  41. package/dist/compiler/bucket_resolver.js.map +1 -0
  42. package/dist/compiler/compatibility.d.ts +16 -0
  43. package/dist/compiler/compatibility.js +12 -0
  44. package/dist/compiler/compatibility.js.map +1 -0
  45. package/dist/compiler/compiler.d.ts +104 -0
  46. package/dist/compiler/compiler.js +113 -0
  47. package/dist/compiler/compiler.js.map +1 -0
  48. package/dist/compiler/equality.d.ts +99 -0
  49. package/dist/compiler/equality.js +284 -0
  50. package/dist/compiler/equality.js.map +1 -0
  51. package/dist/compiler/expression.d.ts +77 -0
  52. package/dist/compiler/expression.js +122 -0
  53. package/dist/compiler/expression.js.map +1 -0
  54. package/dist/compiler/filter.d.ts +71 -0
  55. package/dist/compiler/filter.js +110 -0
  56. package/dist/compiler/filter.js.map +1 -0
  57. package/dist/compiler/filter_simplifier.d.ts +26 -0
  58. package/dist/compiler/filter_simplifier.js +119 -0
  59. package/dist/compiler/filter_simplifier.js.map +1 -0
  60. package/dist/compiler/ir_to_sync_plan.d.ts +37 -0
  61. package/dist/compiler/ir_to_sync_plan.js +163 -0
  62. package/dist/compiler/ir_to_sync_plan.js.map +1 -0
  63. package/dist/compiler/parser.d.ts +99 -0
  64. package/dist/compiler/parser.js +556 -0
  65. package/dist/compiler/parser.js.map +1 -0
  66. package/dist/compiler/querier_graph.d.ts +42 -0
  67. package/dist/compiler/querier_graph.js +365 -0
  68. package/dist/compiler/querier_graph.js.map +1 -0
  69. package/dist/compiler/rows.d.ts +113 -0
  70. package/dist/compiler/rows.js +156 -0
  71. package/dist/compiler/rows.js.map +1 -0
  72. package/dist/compiler/scope.d.ts +22 -0
  73. package/dist/compiler/scope.js +47 -0
  74. package/dist/compiler/scope.js.map +1 -0
  75. package/dist/compiler/sqlite.d.ts +77 -0
  76. package/dist/compiler/sqlite.js +412 -0
  77. package/dist/compiler/sqlite.js.map +1 -0
  78. package/dist/compiler/table.d.ts +67 -0
  79. package/dist/compiler/table.js +67 -0
  80. package/dist/compiler/table.js.map +1 -0
  81. package/dist/errors.d.ts +4 -2
  82. package/dist/errors.js +16 -1
  83. package/dist/errors.js.map +1 -1
  84. package/dist/events/SqlEventDescriptor.js +1 -1
  85. package/dist/events/SqlEventDescriptor.js.map +1 -1
  86. package/dist/events/SqlEventSourceQuery.d.ts +1 -1
  87. package/dist/events/SqlEventSourceQuery.js +1 -2
  88. package/dist/events/SqlEventSourceQuery.js.map +1 -1
  89. package/dist/index.d.ts +8 -0
  90. package/dist/index.js +8 -0
  91. package/dist/index.js.map +1 -1
  92. package/dist/request_functions.js.map +1 -1
  93. package/dist/schema-generators/SchemaGenerator.d.ts +5 -0
  94. package/dist/schema-generators/SchemaGenerator.js +21 -14
  95. package/dist/schema-generators/SchemaGenerator.js.map +1 -1
  96. package/dist/sql_functions.d.ts +2 -1
  97. package/dist/sql_functions.js +1 -1
  98. package/dist/sql_functions.js.map +1 -1
  99. package/dist/streams/filter.d.ts +34 -4
  100. package/dist/streams/filter.js +93 -23
  101. package/dist/streams/filter.js.map +1 -1
  102. package/dist/streams/from_sql.js +2 -5
  103. package/dist/streams/from_sql.js.map +1 -1
  104. package/dist/streams/parameter.d.ts +7 -6
  105. package/dist/streams/stream.d.ts +25 -15
  106. package/dist/streams/stream.js +59 -87
  107. package/dist/streams/stream.js.map +1 -1
  108. package/dist/streams/variant.d.ts +14 -21
  109. package/dist/streams/variant.js +68 -46
  110. package/dist/streams/variant.js.map +1 -1
  111. package/dist/sync_plan/engine/javascript.d.ts +6 -0
  112. package/dist/sync_plan/engine/javascript.js +208 -0
  113. package/dist/sync_plan/engine/javascript.js.map +1 -0
  114. package/dist/sync_plan/engine/scalar_expression_engine.d.ts +48 -0
  115. package/dist/sync_plan/engine/scalar_expression_engine.js +99 -0
  116. package/dist/sync_plan/engine/scalar_expression_engine.js.map +1 -0
  117. package/dist/sync_plan/engine/sqlite.d.ts +12 -0
  118. package/dist/sync_plan/engine/sqlite.js +53 -0
  119. package/dist/sync_plan/engine/sqlite.js.map +1 -0
  120. package/dist/sync_plan/evaluator/bucket_data_source.d.ts +23 -0
  121. package/dist/sync_plan/evaluator/bucket_data_source.js +137 -0
  122. package/dist/sync_plan/evaluator/bucket_data_source.js.map +1 -0
  123. package/dist/sync_plan/evaluator/bucket_source.d.ts +19 -0
  124. package/dist/sync_plan/evaluator/bucket_source.js +145 -0
  125. package/dist/sync_plan/evaluator/bucket_source.js.map +1 -0
  126. package/dist/sync_plan/evaluator/index.d.ts +7 -0
  127. package/dist/sync_plan/evaluator/index.js +26 -0
  128. package/dist/sync_plan/evaluator/index.js.map +1 -0
  129. package/dist/sync_plan/evaluator/parameter_evaluator.d.ts +138 -0
  130. package/dist/sync_plan/evaluator/parameter_evaluator.js +359 -0
  131. package/dist/sync_plan/evaluator/parameter_evaluator.js.map +1 -0
  132. package/dist/sync_plan/evaluator/parameter_index_lookup_creator.d.ts +19 -0
  133. package/dist/sync_plan/evaluator/parameter_index_lookup_creator.js +62 -0
  134. package/dist/sync_plan/evaluator/parameter_index_lookup_creator.js.map +1 -0
  135. package/dist/sync_plan/expression.d.ts +109 -0
  136. package/dist/sync_plan/expression.js +85 -0
  137. package/dist/sync_plan/expression.js.map +1 -0
  138. package/dist/sync_plan/expression_to_sql.d.ts +43 -0
  139. package/dist/sync_plan/expression_to_sql.js +190 -0
  140. package/dist/sync_plan/expression_to_sql.js.map +1 -0
  141. package/dist/sync_plan/expression_visitor.d.ts +57 -0
  142. package/dist/sync_plan/expression_visitor.js +181 -0
  143. package/dist/sync_plan/expression_visitor.js.map +1 -0
  144. package/dist/sync_plan/plan.d.ts +196 -0
  145. package/dist/sync_plan/plan.js +2 -0
  146. package/dist/sync_plan/plan.js.map +1 -0
  147. package/dist/sync_plan/schema_inference.d.ts +15 -0
  148. package/dist/sync_plan/schema_inference.js +121 -0
  149. package/dist/sync_plan/schema_inference.js.map +1 -0
  150. package/dist/sync_plan/serialize.d.ts +82 -0
  151. package/dist/sync_plan/serialize.js +209 -0
  152. package/dist/sync_plan/serialize.js.map +1 -0
  153. package/dist/types/custom_sqlite_value.d.ts +1 -1
  154. package/dist/types.d.ts +52 -24
  155. package/dist/types.js +4 -1
  156. package/dist/types.js.map +1 -1
  157. package/dist/utils.d.ts +9 -2
  158. package/dist/utils.js +26 -3
  159. package/dist/utils.js.map +1 -1
  160. package/package.json +4 -3
@@ -1 +1 @@
1
- {"version":3,"file":"SqlDataQuery.js","sourceRoot":"","sources":["../src/SqlDataQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqlDataQuery.js","sourceRoot":"","sources":["../src/SqlDataQuery.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,15 @@
1
1
  import { BucketDescription, BucketInclusionReason, BucketPriority } from './BucketDescription.js';
2
- import { BucketParameterQuerier, ParameterLookup } from './BucketParameterQuerier.js';
2
+ import { BucketParameterQuerier, UnscopedParameterLookup } from './BucketParameterQuerier.js';
3
+ import { CreateSourceParams, ParameterIndexLookupCreator } from './BucketSource.js';
3
4
  import { SqlRuleError } from './errors.js';
5
+ import { BucketDataScope, ParameterLookupScope } from './HydrationState.js';
6
+ import { BucketDataSource, BucketParameterQuerierSource, UnscopedEvaluatedParametersResult } from './index.js';
4
7
  import { SourceTableInterface } from './SourceTableInterface.js';
5
8
  import { AvailableTable, SqlTools } from './sql_filters.js';
6
9
  import { StaticSqlParameterQuery } from './StaticSqlParameterQuery.js';
7
10
  import { TablePattern } from './TablePattern.js';
8
11
  import { TableValuedFunctionSqlParameterQuery } from './TableValuedFunctionSqlParameterQuery.js';
9
- import { BucketIdTransformer, EvaluatedParametersResult, InputParameter, ParameterMatchClause, ParameterValueClause, QueryParseOptions, RequestParameters, RowValueClause, SqliteJsonRow, SqliteRow } from './types.js';
12
+ import { InputParameter, ParameterMatchClause, ParameterValueClause, QueryParseOptions, RequestParameters, RowValueClause, SqliteJsonRow, SqliteRow } from './types.js';
10
13
  export interface SqlParameterQueryOptions {
11
14
  sourceTable: TablePattern;
12
15
  table: AvailableTable;
@@ -21,6 +24,7 @@ export interface SqlParameterQueryOptions {
21
24
  bucketParameters: string[];
22
25
  queryId: string;
23
26
  tools: SqlTools;
27
+ querierDataSource: BucketDataSource;
24
28
  errors?: SqlRuleError[];
25
29
  }
26
30
  /**
@@ -29,8 +33,8 @@ export interface SqlParameterQueryOptions {
29
33
  * SELECT id as user_id FROM users WHERE users.user_id = token_parameters.user_id
30
34
  * SELECT id as user_id, token_parameters.is_admin as is_admin FROM users WHERE users.user_id = token_parameters.user_id
31
35
  */
32
- export declare class SqlParameterQuery {
33
- static fromSql(descriptorName: string, sql: string, options: QueryParseOptions, queryId: string): SqlParameterQuery | StaticSqlParameterQuery | TableValuedFunctionSqlParameterQuery;
36
+ export declare class SqlParameterQuery implements ParameterIndexLookupCreator {
37
+ static fromSql(descriptorName: string, sql: string, options: QueryParseOptions, queryId: string, querierDataSource: BucketDataSource): SqlParameterQuery | StaticSqlParameterQuery | TableValuedFunctionSqlParameterQuery;
34
38
  /**
35
39
  * The table the parameter query queries from.
36
40
  *
@@ -99,27 +103,31 @@ export declare class SqlParameterQuery {
99
103
  */
100
104
  readonly queryId: string;
101
105
  readonly tools: SqlTools;
106
+ readonly querierDataSource: BucketDataSource;
102
107
  readonly errors: SqlRuleError[];
103
108
  constructor(options: SqlParameterQueryOptions);
104
- applies(table: SourceTableInterface): boolean;
109
+ get defaultLookupScope(): ParameterLookupScope;
110
+ tableSyncsParameters(table: SourceTableInterface): boolean;
111
+ getSourceTables(): Set<TablePattern>;
112
+ createParameterQuerierSource(params: CreateSourceParams): BucketParameterQuerierSource;
105
113
  /**
106
114
  * Given a replicated row, results an array of bucket parameter rows to persist.
107
115
  */
108
- evaluateParameterRow(row: SqliteRow): EvaluatedParametersResult[];
116
+ evaluateParameterRow(sourceTable: SourceTableInterface, row: SqliteRow): UnscopedEvaluatedParametersResult[];
109
117
  private transformRows;
110
118
  /**
111
119
  * Given partial parameter rows, turn into bucket ids.
112
120
  *
113
121
  * Internal function, but exposed for tests.
114
122
  */
115
- resolveBucketDescriptions(bucketParameters: SqliteJsonRow[], parameters: RequestParameters, transformer: BucketIdTransformer): BucketDescription[];
123
+ resolveBucketDescriptions(bucketParameters: SqliteJsonRow[], parameters: RequestParameters, bucketScope: BucketDataScope): BucketDescription[];
116
124
  /**
117
125
  * Given sync parameters, get lookups we need to perform on the database.
118
126
  *
119
127
  * Each lookup is [bucket definition name, parameter query index, ...lookup values]
120
128
  */
121
- getLookups(parameters: RequestParameters): ParameterLookup[];
122
- getBucketParameterQuerier(requestParameters: RequestParameters, reasons: BucketInclusionReason[], transformer: BucketIdTransformer): BucketParameterQuerier;
129
+ getLookups(parameters: RequestParameters): UnscopedParameterLookup[];
130
+ getBucketParameterQuerier(requestParameters: RequestParameters, reasons: BucketInclusionReason[], bucketDataScope: BucketDataScope, scope: ParameterLookupScope): BucketParameterQuerier;
123
131
  get hasAuthenticatedBucketParameters(): boolean;
124
132
  get hasAuthenticatedMatchClause(): boolean;
125
133
  get usesUnauthenticatedRequestParameters(): boolean;
@@ -1,14 +1,15 @@
1
1
  import { parse } from 'pgsql-ast-parser';
2
2
  import { DEFAULT_BUCKET_PRIORITY } from './BucketDescription.js';
3
- import { ParameterLookup } from './BucketParameterQuerier.js';
3
+ import { UnscopedParameterLookup } from './BucketParameterQuerier.js';
4
4
  import { SqlRuleError } from './errors.js';
5
+ import { ScopedParameterLookup } from './index.js';
5
6
  import { AvailableTable, SqlTools } from './sql_filters.js';
6
7
  import { checkUnsupportedFeatures, isClauseError } from './sql_support.js';
7
8
  import { StaticSqlParameterQuery } from './StaticSqlParameterQuery.js';
8
9
  import { TablePattern } from './TablePattern.js';
9
10
  import { TableQuerySchema } from './TableQuerySchema.js';
10
11
  import { TableValuedFunctionSqlParameterQuery } from './TableValuedFunctionSqlParameterQuery.js';
11
- import { filterJsonRow, getBucketId, isJsonValue, isSelectStatement, normalizeParameterValue } from './utils.js';
12
+ import { buildBucketName, filterJsonRow, isJsonValue, isSelectStatement, normalizeParameterValue, serializeBucketParameters } from './utils.js';
12
13
  import { DetectRequestParameters } from './validators.js';
13
14
  /**
14
15
  * Represents a parameter query, such as:
@@ -17,7 +18,7 @@ import { DetectRequestParameters } from './validators.js';
17
18
  * SELECT id as user_id, token_parameters.is_admin as is_admin FROM users WHERE users.user_id = token_parameters.user_id
18
19
  */
19
20
  export class SqlParameterQuery {
20
- static fromSql(descriptorName, sql, options, queryId) {
21
+ static fromSql(descriptorName, sql, options, queryId, querierDataSource) {
21
22
  const parsed = parse(sql, { locationTracking: true });
22
23
  const schema = options?.schema;
23
24
  if (parsed.length > 1) {
@@ -29,7 +30,7 @@ export class SqlParameterQuery {
29
30
  }
30
31
  if (q.from == null) {
31
32
  // E.g. SELECT token_parameters.user_id as user_id WHERE token_parameters.is_admin
32
- return StaticSqlParameterQuery.fromSql(descriptorName, sql, q, options, queryId);
33
+ return StaticSqlParameterQuery.fromSql(descriptorName, sql, q, options, queryId, querierDataSource);
33
34
  }
34
35
  let errors = [];
35
36
  errors.push(...checkUnsupportedFeatures(sql, q));
@@ -38,7 +39,7 @@ export class SqlParameterQuery {
38
39
  }
39
40
  else if (q.from[0].type == 'call') {
40
41
  const from = q.from[0];
41
- return TableValuedFunctionSqlParameterQuery.fromSql(descriptorName, sql, from, q, options, queryId);
42
+ return TableValuedFunctionSqlParameterQuery.fromSql(descriptorName, sql, from, q, options, queryId, querierDataSource);
42
43
  }
43
44
  else if (q.from[0].type == 'statement') {
44
45
  throw new SqlRuleError('Subqueries are not supported yet', sql, q.from?.[0]._location);
@@ -130,6 +131,7 @@ export class SqlParameterQuery {
130
131
  bucketParameters,
131
132
  queryId,
132
133
  tools,
134
+ querierDataSource,
133
135
  errors
134
136
  });
135
137
  if (parameterQuery.usesDangerousRequestParameters && !options.accept_potentially_dangerous_queries) {
@@ -207,6 +209,7 @@ export class SqlParameterQuery {
207
209
  */
208
210
  queryId;
209
211
  tools;
212
+ querierDataSource;
210
213
  errors;
211
214
  constructor(options) {
212
215
  this.sourceTable = options.sourceTable;
@@ -223,14 +226,38 @@ export class SqlParameterQuery {
223
226
  this.queryId = options.queryId;
224
227
  this.tools = options.tools;
225
228
  this.errors = options.errors ?? [];
229
+ this.querierDataSource = options.querierDataSource;
226
230
  }
227
- applies(table) {
231
+ get defaultLookupScope() {
232
+ return {
233
+ lookupName: this.descriptorName,
234
+ queryId: this.queryId
235
+ };
236
+ }
237
+ tableSyncsParameters(table) {
228
238
  return this.sourceTable.matches(table);
229
239
  }
240
+ getSourceTables() {
241
+ return new Set([this.sourceTable]);
242
+ }
243
+ createParameterQuerierSource(params) {
244
+ const hydrationState = params.hydrationState;
245
+ const bucketScope = hydrationState.getBucketSourceScope(this.querierDataSource);
246
+ const lookupState = hydrationState.getParameterIndexLookupScope(this);
247
+ return {
248
+ pushBucketParameterQueriers: (result, options) => {
249
+ const q = this.getBucketParameterQuerier(options.globalParameters, ['default'], bucketScope, lookupState);
250
+ result.queriers.push(q);
251
+ }
252
+ };
253
+ }
230
254
  /**
231
255
  * Given a replicated row, results an array of bucket parameter rows to persist.
232
256
  */
233
- evaluateParameterRow(row) {
257
+ evaluateParameterRow(sourceTable, row) {
258
+ if (!this.tableSyncsParameters(sourceTable)) {
259
+ return [];
260
+ }
234
261
  const tables = {
235
262
  [this.table.nameInSchema]: row
236
263
  };
@@ -238,14 +265,14 @@ export class SqlParameterQuery {
238
265
  const filterParameters = this.filter.filterRow(tables);
239
266
  let result = [];
240
267
  for (let filterParamSet of filterParameters) {
241
- let lookup = [this.descriptorName, this.queryId];
242
- lookup.push(...this.inputParameters.map((param) => {
268
+ let lookupValues = [];
269
+ lookupValues.push(...this.inputParameters.map((param) => {
243
270
  return normalizeParameterValue(param.filteredRowToLookupValue(filterParamSet));
244
271
  }));
245
272
  const data = this.transformRows(row);
246
273
  const role = {
247
274
  bucketParameters: data.map((row) => filterJsonRow(row)),
248
- lookup: new ParameterLookup(lookup)
275
+ lookup: UnscopedParameterLookup.normalized(lookupValues)
249
276
  };
250
277
  result.push(role);
251
278
  }
@@ -269,7 +296,7 @@ export class SqlParameterQuery {
269
296
  *
270
297
  * Internal function, but exposed for tests.
271
298
  */
272
- resolveBucketDescriptions(bucketParameters, parameters, transformer) {
299
+ resolveBucketDescriptions(bucketParameters, parameters, bucketScope) {
273
300
  // Filters have already been applied and gotten us the set of bucketParameters - don't attempt to filter again.
274
301
  // We _do_ need to evaluate the output columns here, using a combination of precomputed bucketParameters,
275
302
  // and values from token parameters.
@@ -292,8 +319,9 @@ export class SqlParameterQuery {
292
319
  }
293
320
  }
294
321
  }
322
+ const serializedParameters = serializeBucketParameters(this.bucketParameters, result);
295
323
  return {
296
- bucket: getBucketId(this.descriptorName, this.bucketParameters, result, transformer),
324
+ bucket: buildBucketName(bucketScope, serializedParameters),
297
325
  priority: this.priority
298
326
  };
299
327
  })
@@ -306,9 +334,9 @@ export class SqlParameterQuery {
306
334
  */
307
335
  getLookups(parameters) {
308
336
  if (!this.expandedInputParameter) {
309
- let lookup = [this.descriptorName, this.queryId];
337
+ let lookupValues = [];
310
338
  let valid = true;
311
- lookup.push(...this.inputParameters.map((param) => {
339
+ lookupValues.push(...this.inputParameters.map((param) => {
312
340
  // Scalar value
313
341
  const value = param.parametersToLookupValue(parameters);
314
342
  if (isJsonValue(value)) {
@@ -322,7 +350,7 @@ export class SqlParameterQuery {
322
350
  if (!valid) {
323
351
  return [];
324
352
  }
325
- return [new ParameterLookup(lookup)];
353
+ return [UnscopedParameterLookup.normalized(lookupValues)];
326
354
  }
327
355
  else {
328
356
  const arrayString = this.expandedInputParameter.parametersToLookupValue(parameters);
@@ -341,10 +369,10 @@ export class SqlParameterQuery {
341
369
  }
342
370
  return values
343
371
  .map((expandedValue) => {
344
- let lookup = [this.descriptorName, this.queryId];
372
+ let lookupValues = [];
345
373
  let valid = true;
346
374
  const normalizedExpandedValue = normalizeParameterValue(expandedValue);
347
- lookup.push(...this.inputParameters.map((param) => {
375
+ lookupValues.push(...this.inputParameters.map((param) => {
348
376
  if (param == this.expandedInputParameter) {
349
377
  // Expand array value
350
378
  return normalizedExpandedValue;
@@ -364,30 +392,28 @@ export class SqlParameterQuery {
364
392
  if (!valid) {
365
393
  return null;
366
394
  }
367
- return new ParameterLookup(lookup);
395
+ return UnscopedParameterLookup.normalized(lookupValues);
368
396
  })
369
397
  .filter((lookup) => lookup != null);
370
398
  }
371
399
  }
372
- getBucketParameterQuerier(requestParameters, reasons, transformer) {
373
- const lookups = this.getLookups(requestParameters);
400
+ getBucketParameterQuerier(requestParameters, reasons, bucketDataScope, scope) {
401
+ const lookups = this.getLookups(requestParameters).map((lookup) => ScopedParameterLookup.normalized(scope, lookup));
374
402
  if (lookups.length == 0) {
375
403
  // This typically happens when the query is pre-filtered using a where clause
376
404
  // on the parameters, and does not depend on the database state.
377
405
  return {
378
406
  staticBuckets: [],
379
407
  hasDynamicBuckets: false,
380
- parameterQueryLookups: [],
381
408
  queryDynamicBucketDescriptions: async () => []
382
409
  };
383
410
  }
384
411
  return {
385
412
  staticBuckets: [],
386
413
  hasDynamicBuckets: true,
387
- parameterQueryLookups: lookups,
388
414
  queryDynamicBucketDescriptions: async (source) => {
389
415
  const bucketParameters = await source.getParameterSets(lookups);
390
- return this.resolveBucketDescriptions(bucketParameters, requestParameters, transformer).map((bucket) => ({
416
+ return this.resolveBucketDescriptions(bucketParameters, requestParameters, bucketDataScope).map((bucket) => ({
391
417
  ...bucket,
392
418
  definition: this.descriptorName,
393
419
  inclusion_reasons: reasons
@@ -1 +1 @@
1
- {"version":3,"file":"SqlParameterQuery.js","sourceRoot":"","sources":["../src/SqlParameterQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqlParameterQuery.js","sourceRoot":"","sources":["../src/SqlParameterQuery.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,14 @@
1
1
  import { Scalar } from 'yaml';
2
2
  import { BucketParameterQuerier, QuerierError } from './BucketParameterQuerier.js';
3
+ import { BucketDataSource, BucketSource, CreateSourceParams, ParameterIndexLookupCreator } from './BucketSource.js';
4
+ import { CompatibilityContext } from './compatibility.js';
3
5
  import { YamlError } from './errors.js';
4
6
  import { SqlEventDescriptor } from './events/SqlEventDescriptor.js';
7
+ import { HydratedSyncRules } from './HydratedSyncRules.js';
5
8
  import { SourceTableInterface } from './SourceTableInterface.js';
6
9
  import { QueryParseResult } from './SqlBucketDescriptor.js';
7
10
  import { TablePattern } from './TablePattern.js';
8
- import { BucketIdTransformer, EvaluatedParameters, EvaluatedRow, EvaluateRowOptions, EvaluationError, RequestParameters, SourceSchema, SqliteInputValue, SqliteJsonRow, SqliteRow, SqliteValue, SyncRules } from './types.js';
9
- import { BucketSource } from './BucketSource.js';
10
- import { CompatibilityContext } from './compatibility.js';
11
+ import { RequestParameters, SourceSchema, SqliteInputValue, SqliteJsonRow, SqliteRow, SqliteValue } from './types.js';
11
12
  export interface SyncRulesOptions {
12
13
  schema?: SourceSchema;
13
14
  /**
@@ -32,13 +33,6 @@ export interface RequestedStream {
32
33
  opaque_id: number;
33
34
  }
34
35
  export interface GetQuerierOptions {
35
- /**
36
- * A bucket id transformer, compatible to the one used when evaluating rows.
37
- *
38
- * Typically, this transformer only depends on the sync rule id (which is known to both the bucket storage
39
- * implementation responsible for evaluating rows and the sync endpoint).
40
- */
41
- bucketIdTransformer: BucketIdTransformer;
42
36
  globalParameters: RequestParameters;
43
37
  /**
44
38
  * Whether the client is subscribing to default query streams.
@@ -60,7 +54,9 @@ export interface GetBucketParameterQuerierResult {
60
54
  querier: BucketParameterQuerier;
61
55
  errors: QuerierError[];
62
56
  }
63
- export declare class SqlSyncRules implements SyncRules {
57
+ export declare class SqlSyncRules {
58
+ bucketDataSources: BucketDataSource[];
59
+ bucketParameterLookupSources: ParameterIndexLookupCreator[];
64
60
  bucketSources: BucketSource[];
65
61
  eventDescriptors: SqlEventDescriptor[];
66
62
  compatibility: CompatibilityContext;
@@ -72,31 +68,19 @@ export declare class SqlSyncRules implements SyncRules {
72
68
  static tokenError(token: any, message: string): YamlError;
73
69
  withScalar(scalar: Scalar, cb: (value: string) => QueryParseResult): QueryParseResult;
74
70
  constructor(content: string);
75
- applyRowContext<MaybeToast extends undefined = never>(source: SqliteRow<SqliteInputValue | MaybeToast>): SqliteRow<SqliteValue | MaybeToast>;
76
- /**
77
- * Throws errors.
78
- */
79
- evaluateRow(options: EvaluateRowOptions): EvaluatedRow[];
80
- evaluateRowWithErrors(options: EvaluateRowOptions): {
81
- results: EvaluatedRow[];
82
- errors: EvaluationError[];
83
- };
84
71
  /**
85
- * Throws errors.
72
+ * Hydrate the sync rule definitions with persisted state into runnable sync rules.
73
+ *
74
+ * @param params.hydrationState Transforms bucket ids based on persisted state. May omit for tests.
86
75
  */
87
- evaluateParameterRow(table: SourceTableInterface, row: SqliteRow): EvaluatedParameters[];
88
- evaluateParameterRowWithErrors(table: SourceTableInterface, row: SqliteRow): {
89
- results: EvaluatedParameters[];
90
- errors: EvaluationError[];
91
- };
92
- getBucketParameterQuerier(options: GetQuerierOptions): GetBucketParameterQuerierResult;
93
- hasDynamicBucketQueries(): boolean;
76
+ hydrate(params?: CreateSourceParams): HydratedSyncRules;
77
+ applyRowContext<MaybeToast extends undefined = never>(source: SqliteRow<SqliteInputValue | MaybeToast>): SqliteRow<SqliteValue | MaybeToast>;
94
78
  getSourceTables(): TablePattern[];
95
79
  getEventTables(): TablePattern[];
96
80
  tableTriggersEvent(table: SourceTableInterface): boolean;
97
81
  tableSyncsData(table: SourceTableInterface): boolean;
98
82
  tableSyncsParameters(table: SourceTableInterface): boolean;
99
83
  debugGetOutputTables(): Record<string, any[]>;
84
+ debugRepresentation(): any[];
100
85
  private parsePriority;
101
- static versionedBucketIdTransformer(version: string): (bucketId: string) => string;
102
86
  }
@@ -1,16 +1,18 @@
1
1
  import { isScalar, LineCounter, parseDocument, Scalar, YAMLMap, YAMLSeq } from 'yaml';
2
2
  import { isValidPriority } from './BucketDescription.js';
3
- import { mergeBucketParameterQueriers } from './BucketParameterQuerier.js';
3
+ import { CompatibilityContext, CompatibilityEdition, CompatibilityOption, TimeValuePrecision } from './compatibility.js';
4
4
  import { SqlRuleError, SyncRulesErrors, YamlError } from './errors.js';
5
5
  import { SqlEventDescriptor } from './events/SqlEventDescriptor.js';
6
+ import { HydratedSyncRules } from './HydratedSyncRules.js';
7
+ import { DEFAULT_HYDRATION_STATE } from './HydrationState.js';
6
8
  import { validateSyncRulesSchema } from './json_schema.js';
7
9
  import { SqlBucketDescriptor } from './SqlBucketDescriptor.js';
8
- import { isEvaluatedParameters, isEvaluatedRow, isEvaluationError } from './types.js';
9
10
  import { syncStreamFromSql } from './streams/from_sql.js';
10
- import { CompatibilityContext, CompatibilityEdition, CompatibilityOption, TimeValuePrecision } from './compatibility.js';
11
11
  import { applyRowContext } from './utils.js';
12
12
  const ACCEPT_POTENTIALLY_DANGEROUS_QUERIES = Symbol('ACCEPT_POTENTIALLY_DANGEROUS_QUERIES');
13
13
  export class SqlSyncRules {
14
+ bucketDataSources = [];
15
+ bucketParameterLookupSources = [];
14
16
  bucketSources = [];
15
17
  eventDescriptors = [];
16
18
  compatibility = CompatibilityContext.FULL_BACKWARDS_COMPATIBILITY;
@@ -146,6 +148,8 @@ export class SqlSyncRules {
146
148
  });
147
149
  }
148
150
  rules.bucketSources.push(descriptor);
151
+ rules.bucketDataSources.push(...descriptor.dataSources);
152
+ rules.bucketParameterLookupSources.push(...descriptor.parameterIndexLookupCreators);
149
153
  }
150
154
  for (const entry of streamMap?.items ?? []) {
151
155
  const { key: keyScalar, value } = entry;
@@ -166,6 +170,8 @@ export class SqlSyncRules {
166
170
  rules.withScalar(data, (q) => {
167
171
  const [parsed, errors] = syncStreamFromSql(key, q, queryOptions);
168
172
  rules.bucketSources.push(parsed);
173
+ rules.bucketDataSources.push(...parsed.dataSources);
174
+ rules.bucketParameterLookupSources.push(...parsed.parameterIndexLookupCreators);
169
175
  return {
170
176
  parsed: true,
171
177
  errors
@@ -266,80 +272,38 @@ export class SqlSyncRules {
266
272
  constructor(content) {
267
273
  this.content = content;
268
274
  }
269
- applyRowContext(source) {
270
- return applyRowContext(source, this.compatibility);
271
- }
272
275
  /**
273
- * Throws errors.
276
+ * Hydrate the sync rule definitions with persisted state into runnable sync rules.
277
+ *
278
+ * @param params.hydrationState Transforms bucket ids based on persisted state. May omit for tests.
274
279
  */
275
- evaluateRow(options) {
276
- const { results, errors } = this.evaluateRowWithErrors(options);
277
- if (errors.length > 0) {
278
- throw new Error(errors[0].error);
279
- }
280
- return results;
281
- }
282
- evaluateRowWithErrors(options) {
283
- const resolvedOptions = this.compatibility.isEnabled(CompatibilityOption.versionedBucketIds)
284
- ? options
285
- : {
286
- ...options,
287
- // Disable bucket id transformer when the option is unused.
288
- bucketIdTransformer: (id) => id
289
- };
290
- let rawResults = [];
291
- for (let source of this.bucketSources) {
292
- rawResults.push(...source.evaluateRow(resolvedOptions));
293
- }
294
- const results = rawResults.filter(isEvaluatedRow);
295
- const errors = rawResults.filter(isEvaluationError);
296
- return { results, errors };
297
- }
298
- /**
299
- * Throws errors.
300
- */
301
- evaluateParameterRow(table, row) {
302
- const { results, errors } = this.evaluateParameterRowWithErrors(table, row);
303
- if (errors.length > 0) {
304
- throw new Error(errors[0].error);
305
- }
306
- return results;
307
- }
308
- evaluateParameterRowWithErrors(table, row) {
309
- let rawResults = [];
310
- for (let source of this.bucketSources) {
311
- rawResults.push(...source.evaluateParameterRow(table, row));
280
+ hydrate(params) {
281
+ let hydrationState = params?.hydrationState;
282
+ if (hydrationState == null || !this.compatibility.isEnabled(CompatibilityOption.versionedBucketIds)) {
283
+ hydrationState = DEFAULT_HYDRATION_STATE;
312
284
  }
313
- const results = rawResults.filter(isEvaluatedParameters);
314
- const errors = rawResults.filter(isEvaluationError);
315
- return { results, errors };
316
- }
317
- getBucketParameterQuerier(options) {
318
- const resolvedOptions = this.compatibility.isEnabled(CompatibilityOption.versionedBucketIds)
319
- ? options
320
- : {
321
- ...options,
322
- // Disable bucket id transformer when the option is unused.
323
- bucketIdTransformer: (id) => id
324
- };
325
- const queriers = [];
326
- const errors = [];
327
- const pending = { queriers, errors };
328
- for (const source of this.bucketSources) {
329
- if ((source.subscribedToByDefault && resolvedOptions.hasDefaultStreams) ||
330
- source.name in resolvedOptions.streams) {
331
- source.pushBucketParameterQueriers(pending, resolvedOptions);
332
- }
333
- }
334
- const querier = mergeBucketParameterQueriers(queriers);
335
- return { querier, errors };
285
+ const resolvedParams = { hydrationState };
286
+ return new HydratedSyncRules({
287
+ definition: this,
288
+ createParams: resolvedParams,
289
+ bucketDataSources: this.bucketDataSources,
290
+ bucketParameterIndexLookupCreators: this.bucketParameterLookupSources,
291
+ eventDescriptors: this.eventDescriptors,
292
+ compatibility: this.compatibility
293
+ });
336
294
  }
337
- hasDynamicBucketQueries() {
338
- return this.bucketSources.some((s) => s.hasDynamicBucketQueries());
295
+ applyRowContext(source) {
296
+ return applyRowContext(source, this.compatibility);
339
297
  }
340
298
  getSourceTables() {
341
299
  const sourceTables = new Map();
342
- for (const bucket of this.bucketSources) {
300
+ for (const bucket of this.bucketDataSources) {
301
+ for (const r of bucket.getSourceTables()) {
302
+ const key = `${r.connectionTag}.${r.schema}.${r.tablePattern}`;
303
+ sourceTables.set(key, r);
304
+ }
305
+ }
306
+ for (const bucket of this.bucketParameterLookupSources) {
343
307
  for (const r of bucket.getSourceTables()) {
344
308
  const key = `${r.connectionTag}.${r.schema}.${r.tablePattern}`;
345
309
  sourceTables.set(key, r);
@@ -367,18 +331,21 @@ export class SqlSyncRules {
367
331
  return this.eventDescriptors.some((bucket) => bucket.tableTriggersEvent(table));
368
332
  }
369
333
  tableSyncsData(table) {
370
- return this.bucketSources.some((b) => b.tableSyncsData(table));
334
+ return this.bucketDataSources.some((b) => b.tableSyncsData(table));
371
335
  }
372
336
  tableSyncsParameters(table) {
373
- return this.bucketSources.some((b) => b.tableSyncsParameters(table));
337
+ return this.bucketParameterLookupSources.some((b) => b.tableSyncsParameters(table));
374
338
  }
375
339
  debugGetOutputTables() {
376
340
  let result = {};
377
- for (let bucket of this.bucketSources) {
341
+ for (let bucket of this.bucketDataSources) {
378
342
  bucket.debugWriteOutputTables(result);
379
343
  }
380
344
  return result;
381
345
  }
346
+ debugRepresentation() {
347
+ return this.bucketSources.map((rules) => rules.debugRepresentation());
348
+ }
382
349
  parsePriority(value) {
383
350
  if (value.has('priority')) {
384
351
  const priorityValue = value.get('priority', true);
@@ -390,8 +357,5 @@ export class SqlSyncRules {
390
357
  }
391
358
  }
392
359
  }
393
- static versionedBucketIdTransformer(version) {
394
- return (bucketId) => `${version}#${bucketId}`;
395
- }
396
360
  }
397
361
  //# sourceMappingURL=SqlSyncRules.js.map