@powersync/service-sync-rules 0.0.0-dev-20260803144812 → 0.0.0-dev-20260929095716

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 (166) hide show
  1. package/README.md +49 -14
  2. package/dist/BucketSource.d.ts +2 -2
  3. package/dist/ConnectionConfig.d.ts +39 -0
  4. package/dist/ConnectionConfig.js +97 -0
  5. package/dist/ConnectionConfig.js.map +1 -0
  6. package/dist/HydratedSyncConfig.d.ts +11 -2
  7. package/dist/HydratedSyncConfig.js +18 -4
  8. package/dist/HydratedSyncConfig.js.map +1 -1
  9. package/dist/HydrationState.d.ts +2 -0
  10. package/dist/HydrationState.js.map +1 -1
  11. package/dist/SqlSyncRules.d.ts +15 -0
  12. package/dist/SqlSyncRules.js +3 -1
  13. package/dist/SqlSyncRules.js.map +1 -1
  14. package/dist/StorageVersion.js +2 -1
  15. package/dist/StorageVersion.js.map +1 -1
  16. package/dist/SyncConfig.d.ts +11 -3
  17. package/dist/SyncConfig.js +16 -11
  18. package/dist/SyncConfig.js.map +1 -1
  19. package/dist/SyncConfigParserHooks.d.ts +103 -0
  20. package/dist/SyncConfigParserHooks.js +11 -0
  21. package/dist/SyncConfigParserHooks.js.map +1 -0
  22. package/dist/compatibility.d.ts +2 -1
  23. package/dist/compatibility.js +4 -2
  24. package/dist/compatibility.js.map +1 -1
  25. package/dist/compiler/bucket_resolver.d.ts +1 -0
  26. package/dist/compiler/bucket_resolver.js +22 -12
  27. package/dist/compiler/bucket_resolver.js.map +1 -1
  28. package/dist/compiler/compatibility.d.ts +38 -9
  29. package/dist/compiler/compatibility.js +81 -11
  30. package/dist/compiler/compatibility.js.map +1 -1
  31. package/dist/compiler/compiler.d.ts +84 -16
  32. package/dist/compiler/compiler.js +112 -16
  33. package/dist/compiler/compiler.js.map +1 -1
  34. package/dist/compiler/equality.d.ts +2 -2
  35. package/dist/compiler/equality.js +2 -2
  36. package/dist/compiler/expression.d.ts +20 -18
  37. package/dist/compiler/expression.js +23 -14
  38. package/dist/compiler/expression.js.map +1 -1
  39. package/dist/compiler/filter.d.ts +4 -4
  40. package/dist/compiler/filter.js +5 -4
  41. package/dist/compiler/filter.js.map +1 -1
  42. package/dist/compiler/ir_to_sync_plan.d.ts +4 -2
  43. package/dist/compiler/ir_to_sync_plan.js +40 -36
  44. package/dist/compiler/ir_to_sync_plan.js.map +1 -1
  45. package/dist/compiler/parser.d.ts +1 -1
  46. package/dist/compiler/parser.js +2 -2
  47. package/dist/compiler/querier_graph.js +43 -24
  48. package/dist/compiler/querier_graph.js.map +1 -1
  49. package/dist/compiler/rows.d.ts +23 -29
  50. package/dist/compiler/rows.js +83 -59
  51. package/dist/compiler/rows.js.map +1 -1
  52. package/dist/compiler/sqlite.js +1 -2
  53. package/dist/compiler/sqlite.js.map +1 -1
  54. package/dist/compiler/table.d.ts +5 -4
  55. package/dist/compiler/table.js +6 -7
  56. package/dist/compiler/table.js.map +1 -1
  57. package/dist/events/CompiledEventSourceQuery.d.ts +51 -0
  58. package/dist/events/CompiledEventSourceQuery.js +119 -0
  59. package/dist/events/CompiledEventSourceQuery.js.map +1 -0
  60. package/dist/events/EventDescriptor.d.ts +26 -0
  61. package/dist/events/EventDescriptor.js +2 -0
  62. package/dist/events/EventDescriptor.js.map +1 -0
  63. package/dist/from_yaml.d.ts +14 -1
  64. package/dist/from_yaml.js +101 -39
  65. package/dist/from_yaml.js.map +1 -1
  66. package/dist/index.d.ts +5 -2
  67. package/dist/index.js +5 -2
  68. package/dist/index.js.map +1 -1
  69. package/dist/json.d.ts +7 -0
  70. package/dist/json.js +2 -0
  71. package/dist/json.js.map +1 -0
  72. package/dist/json_schema.d.ts +11 -0
  73. package/dist/json_schema.js +27 -4
  74. package/dist/json_schema.js.map +1 -1
  75. package/dist/legacy/BaseSqlDataQuery.d.ts +12 -0
  76. package/dist/legacy/BaseSqlDataQuery.js +3 -0
  77. package/dist/legacy/BaseSqlDataQuery.js.map +1 -1
  78. package/dist/legacy/SqlBucketDescriptor.d.ts +9 -0
  79. package/dist/legacy/SqlBucketDescriptor.js +6 -0
  80. package/dist/legacy/SqlBucketDescriptor.js.map +1 -1
  81. package/dist/legacy/SqlDataQuery.d.ts +6 -0
  82. package/dist/legacy/SqlDataQuery.js +3 -0
  83. package/dist/legacy/SqlDataQuery.js.map +1 -1
  84. package/dist/legacy/SqlParameterQuery.d.ts +4 -0
  85. package/dist/legacy/SqlParameterQuery.js +1 -0
  86. package/dist/legacy/SqlParameterQuery.js.map +1 -1
  87. package/dist/legacy/StaticSqlParameterQuery.d.ts +4 -0
  88. package/dist/legacy/StaticSqlParameterQuery.js +1 -0
  89. package/dist/legacy/StaticSqlParameterQuery.js.map +1 -1
  90. package/dist/legacy/TableQuerySchema.d.ts +1 -0
  91. package/dist/legacy/TableQuerySchema.js +1 -0
  92. package/dist/legacy/TableQuerySchema.js.map +1 -1
  93. package/dist/legacy/TableValuedFunctionSqlParameterQuery.d.ts +4 -0
  94. package/dist/legacy/TableValuedFunctionSqlParameterQuery.js +1 -0
  95. package/dist/legacy/TableValuedFunctionSqlParameterQuery.js.map +1 -1
  96. package/dist/legacy/sql_filters.d.ts +13 -0
  97. package/dist/legacy/sql_filters.js +10 -0
  98. package/dist/legacy/sql_filters.js.map +1 -1
  99. package/dist/legacy/sql_support.d.ts +33 -0
  100. package/dist/legacy/sql_support.js +33 -0
  101. package/dist/legacy/sql_support.js.map +1 -1
  102. package/dist/legacy/streams/filter.d.ts +22 -0
  103. package/dist/legacy/streams/filter.js +19 -0
  104. package/dist/legacy/streams/filter.js.map +1 -1
  105. package/dist/legacy/streams/from_sql.d.ts +3 -0
  106. package/dist/legacy/streams/from_sql.js +4 -1
  107. package/dist/legacy/streams/from_sql.js.map +1 -1
  108. package/dist/legacy/streams/functions.d.ts +3 -0
  109. package/dist/legacy/streams/functions.js +3 -0
  110. package/dist/legacy/streams/functions.js.map +1 -1
  111. package/dist/legacy/streams/parameter.d.ts +10 -0
  112. package/dist/legacy/streams/stream.d.ts +7 -1
  113. package/dist/legacy/streams/stream.js +7 -1
  114. package/dist/legacy/streams/stream.js.map +1 -1
  115. package/dist/legacy/streams/variant.d.ts +6 -0
  116. package/dist/legacy/streams/variant.js +1 -0
  117. package/dist/legacy/streams/variant.js.map +1 -1
  118. package/dist/legacy/validators.d.ts +1 -0
  119. package/dist/legacy/validators.js +1 -0
  120. package/dist/legacy/validators.js.map +1 -1
  121. package/dist/schema-generators/RustSchemaGenerator.d.ts +22 -0
  122. package/dist/schema-generators/RustSchemaGenerator.js +120 -0
  123. package/dist/schema-generators/RustSchemaGenerator.js.map +1 -0
  124. package/dist/schema-generators/generators.d.ts +2 -0
  125. package/dist/schema-generators/generators.js +2 -0
  126. package/dist/schema-generators/generators.js.map +1 -1
  127. package/dist/schema-generators/schema-generators.d.ts +1 -0
  128. package/dist/schema-generators/schema-generators.js +1 -0
  129. package/dist/schema-generators/schema-generators.js.map +1 -1
  130. package/dist/sql_functions.d.ts +1 -1
  131. package/dist/sync_plan/evaluator/bucket_data_source.js +11 -53
  132. package/dist/sync_plan/evaluator/bucket_data_source.js.map +1 -1
  133. package/dist/sync_plan/evaluator/bucket_source.js +1 -1
  134. package/dist/sync_plan/evaluator/index.d.ts +2 -7
  135. package/dist/sync_plan/evaluator/index.js +7 -7
  136. package/dist/sync_plan/evaluator/index.js.map +1 -1
  137. package/dist/sync_plan/evaluator/parameter_evaluator.d.ts +1 -1
  138. package/dist/sync_plan/evaluator/parameter_evaluator.js +12 -8
  139. package/dist/sync_plan/evaluator/parameter_evaluator.js.map +1 -1
  140. package/dist/sync_plan/evaluator/row_projection.d.ts +22 -0
  141. package/dist/sync_plan/evaluator/row_projection.js +71 -0
  142. package/dist/sync_plan/evaluator/row_projection.js.map +1 -0
  143. package/dist/sync_plan/plan.d.ts +43 -6
  144. package/dist/sync_plan/plan_equality_serialized.d.ts +12 -2
  145. package/dist/sync_plan/plan_equality_serialized.js +56 -0
  146. package/dist/sync_plan/plan_equality_serialized.js.map +1 -1
  147. package/dist/sync_plan/schema_inference.d.ts +1 -1
  148. package/dist/sync_plan/schema_inference.js +1 -1
  149. package/dist/sync_plan/serialize.d.ts +52 -5
  150. package/dist/sync_plan/serialize.js +125 -20
  151. package/dist/sync_plan/serialize.js.map +1 -1
  152. package/dist/utils.d.ts +1 -0
  153. package/dist/utils.js +43 -12
  154. package/dist/utils.js.map +1 -1
  155. package/dist/yaml_source_locations.d.ts +14 -0
  156. package/dist/yaml_source_locations.js +117 -0
  157. package/dist/yaml_source_locations.js.map +1 -0
  158. package/dist/yaml_validation.js.map +1 -1
  159. package/package.json +2 -1
  160. package/schema/sync_rules.json +49 -3
  161. package/dist/events/SqlEventDescriptor.d.ts +0 -20
  162. package/dist/events/SqlEventDescriptor.js +0 -51
  163. package/dist/events/SqlEventDescriptor.js.map +0 -1
  164. package/dist/events/SqlEventSourceQuery.d.ts +0 -20
  165. package/dist/events/SqlEventSourceQuery.js +0 -125
  166. package/dist/events/SqlEventSourceQuery.js.map +0 -1
@@ -36,10 +36,10 @@ export class CompilerModelToSyncPlan {
36
36
  return mapped;
37
37
  }
38
38
  translate(source) {
39
- const queriersByStream = Object.groupBy(source.resolvers, (r) => r.options.name);
39
+ const queriersByStream = Object.groupBy(source.streams.resolvers, (r) => r.options.name);
40
40
  return {
41
- dataSources: source.evaluators.map((e) => this.translateRowEvaluator(e)),
42
- parameterIndexes: source.pointLookups.map((p, i) => this.translatePointLookup(p, i)),
41
+ dataSources: source.streams.evaluators.map((e) => this.translateRowEvaluator(e)),
42
+ parameterIndexes: source.streams.pointLookups.map((p, i) => this.translatePointLookup(p, i)),
43
43
  // Note: data sources and parameter indexes must be translated first because we reference them in stream
44
44
  // resolvers.
45
45
  streams: Object.values(queriersByStream).map((resolvers) => {
@@ -48,7 +48,8 @@ export class CompilerModelToSyncPlan {
48
48
  queriers: resolvers.map((e) => this.translateStreamResolver(e))
49
49
  };
50
50
  }),
51
- buckets: this.buckets
51
+ buckets: this.buckets,
52
+ events: source.events.map((e) => this.translateCompiledEvent(e))
52
53
  };
53
54
  }
54
55
  createBucketSource(evaluators, uniqueName) {
@@ -64,20 +65,8 @@ export class CompilerModelToSyncPlan {
64
65
  });
65
66
  }
66
67
  translatePartitionKey(value, context) {
67
- let sourceExpression;
68
- // TODO: Unify scalar and table-valued partition keys in compiler IR?
69
- if (value instanceof rows.ScalarPartitionKey) {
70
- sourceExpression = value.expression.expression;
71
- return { expr: this.translateExpression(value.expression.expression, context.syntacticSource) };
72
- }
73
- else if (value instanceof rows.TableValuedPartitionKey) {
74
- sourceExpression = value.output.expression;
75
- }
76
- else {
77
- throw new Error('Unhandled partition key');
78
- }
79
68
  return {
80
- expr: this.translateExpression(sourceExpression, context.syntacticSource, context.addedFunctions)
69
+ expr: this.translateExpression(value.expression.expression, context.syntacticSource, context.addedFunctions)
81
70
  };
82
71
  }
83
72
  translateAddedTableValuedFunctions(input, context) {
@@ -92,30 +81,35 @@ export class CompilerModelToSyncPlan {
92
81
  }
93
82
  translateRowEvaluator(value) {
94
83
  return this.translateStatefulObject(value, () => {
95
- const hasher = new StableHasher();
96
- value.buildBehaviorHashCode(hasher);
97
84
  const mapped = {
98
- sourceTable: value.tablePattern,
99
- hashCode: hasher.buildHashCode(),
100
- tableValuedFunctions: this.translateAddedTableValuedFunctions(value.addedFunctions, value),
101
- columns: value.columns.map((e) => {
102
- if (e instanceof rows.StarColumnSource) {
103
- return 'star';
104
- }
105
- else {
106
- return {
107
- expr: this.translateExpression(e.expression.expression, value.syntacticSource, value.addedFunctions),
108
- alias: e.alias ?? null
109
- };
110
- }
111
- }),
112
- outputTableName: value.outputName,
113
- filters: value.filters.map((e) => this.translateExpression(e.expression, value.syntacticSource, value.addedFunctions)),
114
- parameters: value.partitionBy.map((e) => this.translatePartitionKey(e, value))
85
+ ...this.translateRowProjection(value),
86
+ outputTableName: value.outputName
115
87
  };
116
88
  return mapped;
117
89
  });
118
90
  }
91
+ translateRowProjection(value) {
92
+ const hasher = new StableHasher();
93
+ value.buildBehaviorHashCode(hasher);
94
+ return {
95
+ sourceTable: value.tablePattern,
96
+ hashCode: hasher.buildHashCode(),
97
+ tableValuedFunctions: this.translateAddedTableValuedFunctions(value.addedFunctions, value),
98
+ columns: value.columns.map((e) => {
99
+ if (e instanceof rows.StarColumnSource) {
100
+ return 'star';
101
+ }
102
+ else {
103
+ return {
104
+ expr: this.translateExpression(e.expression.expression, value.syntacticSource, value.addedFunctions),
105
+ alias: e.alias ?? null
106
+ };
107
+ }
108
+ }),
109
+ filters: value.filters.map((e) => this.translateExpression(e.expression, value.syntacticSource, value.addedFunctions)),
110
+ parameters: value.partitionBy.map((e) => this.translatePartitionKey(e, value))
111
+ };
112
+ }
119
113
  translatePointLookup(value, index) {
120
114
  return this.translateStatefulObject(value, () => {
121
115
  const hasher = new StableHasher();
@@ -217,5 +211,15 @@ export class CompilerModelToSyncPlan {
217
211
  return { type: 'intersection', values: value.inner.map((e) => this.translateParameterValue(e)) };
218
212
  }
219
213
  }
214
+ translateCompiledEvent(event) {
215
+ return {
216
+ name: event.name,
217
+ sourceQueries: event.sourceQueries.map((query) => ({
218
+ sql: query.sql,
219
+ sourceTable: query.sourceTable.tablePattern,
220
+ variants: query.variants.map((variant) => this.translateRowProjection(variant))
221
+ }))
222
+ };
223
+ }
220
224
  }
221
225
  //# sourceMappingURL=ir_to_sync_plan.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ir_to_sync_plan.js","sourceRoot":"","sources":["../../src/compiler/ir_to_sync_plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ir_to_sync_plan.js","sourceRoot":"","sources":["../../src/compiler/ir_to_sync_plan.ts"],"names":[],"mappings":"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"}
@@ -76,7 +76,7 @@ export declare class StreamQueryParser {
76
76
  private nestedParser;
77
77
  /**
78
78
  * Process the AST of a statement, returning whether it's close enough to a valid select statement to be supported for
79
- * sync streams (allowing us to process an invalid statement further to perhaps collect more errors).
79
+ * Sync Streams (allowing us to process an invalid statement further to perhaps collect more errors).
80
80
  */
81
81
  private processAst;
82
82
  private addAndTermToWhereClause;
@@ -143,7 +143,7 @@ export class StreamQueryParser {
143
143
  }
144
144
  /**
145
145
  * Process the AST of a statement, returning whether it's close enough to a valid select statement to be supported for
146
- * sync streams (allowing us to process an invalid statement further to perhaps collect more errors).
146
+ * Sync Streams (allowing us to process an invalid statement further to perhaps collect more errors).
147
147
  */
148
148
  processAst(node, options) {
149
149
  if (node.type != 'select') {
@@ -408,7 +408,7 @@ export class StreamQueryParser {
408
408
  if (name == null) {
409
409
  // For unqualified references, there must be a single table in scope. We don't allow unqualified references if
410
410
  // there are multiple tables because we don't know which column is available in which table with certainty (and
411
- // don't want to re-compile sync streams on schema changes). So, we just refuse to resolve those ambigious
411
+ // don't want to re-compile Sync Streams on schema changes). So, we just refuse to resolve those ambigious
412
412
  // references.
413
413
  const defaultResultSet = this.statementScope.defaultResultSet;
414
414
  if (defaultResultSet) {
@@ -1,9 +1,9 @@
1
1
  import { EvaluateTableValuedFunction, IntersectionParameterValue, LookupResultParameterValue, ParameterLookup, RequestParameterValue, ResolveBucket, StreamResolver } from './bucket_resolver.js';
2
- import { equalsIgnoringResultSet } from './compatibility.js';
2
+ import { TableValuedFunctionEquality } from './compatibility.js';
3
3
  import { HashMap, HashSet, StableHasher } from './equality.js';
4
4
  import { RowReference } from './expression.js';
5
5
  import { EqualsClause, RequestExpression, RowExpression, SingleDependencyExpression } from './filter.js';
6
- import { PointLookup, RowEvaluator, ScalarPartitionKey, SourceRowProcessorAddedTableValuedFunction, TableValuedPartitionKey } from './rows.js';
6
+ import { PartitionKey, PointLookup, RowEvaluator, SourceRowProcessorAddedTableValuedFunction } from './rows.js';
7
7
  import { PhysicalSourceResultSet, TableValuedResultSet } from './table.js';
8
8
  /**
9
9
  * Builds stream resolvers for a single stream, potentially consisting of multiple queries.
@@ -40,7 +40,7 @@ export class QuerierGraphBuilder {
40
40
  errors.report(`This stream defines too many buckets (${buckets.length}, at most ${maxBucketsPerStream} are allowed). Try splitting queries into separate streams or move inner OR operators in filters to separate queries.`, location);
41
41
  return [];
42
42
  }
43
- this.compiler.output.resolvers.push(...buckets);
43
+ this.compiler.output.streams.resolvers.push(...buckets);
44
44
  return buckets;
45
45
  }
46
46
  /**
@@ -128,12 +128,12 @@ class PendingQuerierPath {
128
128
  resolvePrimaryInput() {
129
129
  const state = this.resolveResultSet(this.query.sourceTable);
130
130
  const [partitions, partitionValues] = state.resolvePartitions();
131
- const evaluator = this.builder.compiler.output.canonicalizeEvaluator(new RowEvaluator({
131
+ const evaluator = this.builder.compiler.output.streams.canonicalizeEvaluator(new RowEvaluator({
132
132
  columns: this.query.resultColumns,
133
133
  syntacticSource: this.query.sourceTable,
134
134
  filters: state.filters,
135
135
  partitionBy: partitions,
136
- addedFunctions: [...state.addedFunctions.values()]
136
+ addedFunctions: [...state.addedFunctions()]
137
137
  }));
138
138
  this.processExistsOperators();
139
139
  // Resolving a result set removes its conditions from pendingFactors, so remaining conditions must be related to the
@@ -167,17 +167,18 @@ class PendingQuerierPath {
167
167
  return new PendingExpandingLookup({
168
168
  type: 'point',
169
169
  source: resultSet,
170
- resultSet: resolved
170
+ resultSet: resolved,
171
+ tableValuedFunctionEquality: resolved.equality
171
172
  });
172
173
  }
173
174
  resolveTableValuedLookup(resultSet) {
174
175
  const resolved = this.resolveResultSet(resultSet);
175
- if (!resolved.partition.isEmpty) {
176
- // This function is only called for table-valued result sets operating on request data. Partitions are only
177
- // supported for buckets and parameter lookups.
178
- this.errors.report(`This table-valued function depends on request data and can't be partitioned. If possible, try rewriting the query to not use = operators on this function and multiple other tables.`, resultSet.source.origin);
179
- }
180
- return new PendingExpandingLookup({ type: 'table_valued', source: resultSet, filters: resolved.filters });
176
+ return new PendingExpandingLookup({
177
+ type: 'table_valued',
178
+ source: resultSet,
179
+ filters: resolved.filters,
180
+ tableValuedFunctionEquality: TableValuedFunctionEquality.forSingleTableValuedFunction(resultSet)
181
+ });
181
182
  }
182
183
  resolveExpandingLookup(resultSet) {
183
184
  if (resultSet instanceof TableValuedResultSet && resultSet.inputResultSet != null) {
@@ -248,6 +249,10 @@ class PendingQuerierPath {
248
249
  return;
249
250
  }
250
251
  this.removePendingExpression(expression);
252
+ if (source instanceof TableValuedResultSet) {
253
+ this.errors.report(`This table-valued function depends on request data and can't be partitioned. If possible, try rewriting the query to not use = operators on this function and multiple other tables.`, source.source.origin);
254
+ return;
255
+ }
251
256
  const values = state.partition.putIfAbsent(key, () => []);
252
257
  if (otherResultSet != null) {
253
258
  const lookup = this.resolveExpandingLookup(otherResultSet);
@@ -262,12 +267,12 @@ class PendingQuerierPath {
262
267
  }
263
268
  };
264
269
  const partitionByScalar = (thisRow, otherRow) => {
265
- const key = new ScalarPartitionKey(new RowExpression(thisRow));
270
+ const key = new PartitionKey(new RowExpression(thisRow));
266
271
  partitionBy(key, otherRow);
267
272
  };
268
273
  const partitionByTableValued = (tableValued, tableValuedOutput, otherRow) => {
269
- const resolvedFunction = state.getOrAddTableValuedFunction(tableValued);
270
- const key = new TableValuedPartitionKey(resolvedFunction, tableValuedOutput);
274
+ state.getOrAddTableValuedFunction(tableValued);
275
+ const key = new PartitionKey(tableValuedOutput);
271
276
  return partitionBy(key, otherRow);
272
277
  };
273
278
  const leftSource = expression.left.resultSet;
@@ -349,12 +354,12 @@ class PendingQuerierPath {
349
354
  if (data.type == 'point') {
350
355
  const resultSet = data.resultSet;
351
356
  const [partitionKeys, partitionInputs] = resultSet.resolvePartitions();
352
- const canonicalized = this.builder.compiler.output.canonicalizePointLookup(new PointLookup({
357
+ const canonicalized = this.builder.compiler.output.streams.canonicalizePointLookup(new PointLookup({
353
358
  syntacticSource: data.source,
354
359
  filters: resultSet.filters,
355
360
  partitionBy: partitionKeys,
356
361
  result: lookup.usedOutputs,
357
- addedFunctions: [...resultSet.addedFunctions.values()]
362
+ addedFunctions: [...resultSet.addedFunctions()]
358
363
  }));
359
364
  lookupWithInputs = new ParameterLookup(canonicalized, partitionInputs);
360
365
  }
@@ -370,16 +375,30 @@ class PendingQuerierPath {
370
375
  }
371
376
  }
372
377
  class ResolvedResultSet {
378
+ #addedFunctions = new Map();
379
+ equality = TableValuedFunctionEquality.forSingleOwner({
380
+ get: (tableValued) => this.#addedFunctions.get(tableValued)?.[1]
381
+ }, {
382
+ get: (tableValued) => this.#addedFunctions.get(tableValued)?.[2]
383
+ });
373
384
  filters = [];
374
- partition = new HashMap(equalsIgnoringResultSet);
375
- addedFunctions = new Map();
385
+ partition = new HashMap(this.equality);
386
+ *addedFunctions() {
387
+ for (const [added] of this.#addedFunctions.values()) {
388
+ yield added;
389
+ }
390
+ }
376
391
  getOrAddTableValuedFunction(source) {
377
- if (this.addedFunctions.has(source)) {
378
- return this.addedFunctions.get(source);
392
+ if (this.#addedFunctions.has(source)) {
393
+ return this.#addedFunctions.get(source);
379
394
  }
380
395
  else {
381
396
  const pendingFunction = new SourceRowProcessorAddedTableValuedFunction(source, source.tableValuedFunctionName, source.parameters.map((e) => new RowExpression(e)));
382
- this.addedFunctions.set(source, pendingFunction);
397
+ this.#addedFunctions.set(source, [
398
+ pendingFunction,
399
+ StableHasher.hashWith(this.equality, pendingFunction),
400
+ Symbol()
401
+ ]);
383
402
  return pendingFunction;
384
403
  }
385
404
  }
@@ -397,7 +416,7 @@ class ResolvedResultSet {
397
416
  // partition keys should be unordered: Instantiating a bucket is a `Map<Parameter, Value>` that just happens to be
398
417
  // encoded as `Value[]` since parameters are known from context.
399
418
  // To make it easier to merge buckets, we sort parameters by some stable hash.
400
- entries.sort((a, b) => StableHasher.hashWith(equalsIgnoringResultSet, a[0]) - StableHasher.hashWith(equalsIgnoringResultSet, b[0]));
419
+ entries.sort((a, b) => StableHasher.hashWith(this.equality, a[0]) - StableHasher.hashWith(this.equality, b[0]));
401
420
  const keys = [];
402
421
  const values = [];
403
422
  for (const [key, value] of entries) {
@@ -417,7 +436,7 @@ class PendingExpandingLookup {
417
436
  addOutput(param) {
418
437
  for (let i = 0; i < this.usedOutputs.length; i++) {
419
438
  const existing = this.usedOutputs[i];
420
- if (existing.equalsAssumingSameResultSet(param)) {
439
+ if (existing.equalsAssumingSamePrimaryResultSet(param, this.data.tableValuedFunctionEquality)) {
421
440
  return i;
422
441
  }
423
442
  }
@@ -1 +1 @@
1
- {"version":3,"file":"querier_graph.js","sourceRoot":"","sources":["../../src/compiler/querier_graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"querier_graph.js","sourceRoot":"","sources":["../../src/compiler/querier_graph.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ImplicitSchemaTablePattern } from '../TablePattern.js';
2
- import { EqualsIgnoringResultSet } from './compatibility.js';
2
+ import { EqualsIgnoringPrimaryResultSet, TableValuedFunctionEquality } from './compatibility.js';
3
3
  import { StableHasher } from './equality.js';
4
4
  import { RowExpression } from './filter.js';
5
5
  import { PhysicalSourceResultSet, TableValuedResultSet } from './table.js';
@@ -9,25 +9,11 @@ import { PhysicalSourceResultSet, TableValuedResultSet } from './table.js';
9
9
  * When constructing buckets, a value needs to be passed for each such key.
10
10
  * When invoking parameter lookups, values need to be passed as inputs.
11
11
  */
12
- export declare abstract class PartitionKey implements EqualsIgnoringResultSet {
13
- abstract equalsAssumingSameResultSet(other: EqualsIgnoringResultSet): boolean;
14
- abstract assumingSameResultSetEqualityHashCode(hasher: StableHasher): void;
15
- }
16
- export declare class ScalarPartitionKey extends PartitionKey {
12
+ export declare class PartitionKey implements EqualsIgnoringPrimaryResultSet {
17
13
  readonly expression: RowExpression;
18
14
  constructor(expression: RowExpression);
19
- equalsAssumingSameResultSet(other: EqualsIgnoringResultSet): boolean;
20
- assumingSameResultSetEqualityHashCode(hasher: StableHasher): void;
21
- }
22
- /**
23
- * A partition key derived from the output of a table-valued function added to a {@link SourceRowProcessor}.
24
- */
25
- export declare class TableValuedPartitionKey extends PartitionKey {
26
- readonly fromFunction: SourceRowProcessorAddedTableValuedFunction;
27
- readonly output: RowExpression;
28
- constructor(fromFunction: SourceRowProcessorAddedTableValuedFunction, output: RowExpression);
29
- equalsAssumingSameResultSet(other: EqualsIgnoringResultSet): boolean;
30
- assumingSameResultSetEqualityHashCode(hasher: StableHasher): void;
15
+ equalsAssumingSamePrimaryResultSet(other: EqualsIgnoringPrimaryResultSet, tableValued: TableValuedFunctionEquality): boolean;
16
+ assumingSamePrimaryResultSetEqualityHashCode(tableValued: TableValuedFunctionEquality, hasher: StableHasher): void;
31
17
  }
32
18
  /**
33
19
  * Something that processes source rows during replication.
@@ -35,7 +21,7 @@ export declare class TableValuedPartitionKey extends PartitionKey {
35
21
  * This includes {@link RowEvaluator}s, which assigns rows into buckets, and {@link PointLookup}, which creates
36
22
  * parameter lookups used to resolve bucket ids when a user connects.
37
23
  */
38
- export type SourceRowProcessor = RowEvaluator | PointLookup;
24
+ export type SourceRowProcessor = RowEvaluator | EventRowEvaluator | PointLookup;
39
25
  interface SourceProcessorOptions {
40
26
  readonly syntacticSource: PhysicalSourceResultSet;
41
27
  readonly filters: RowExpression[];
@@ -43,6 +29,7 @@ interface SourceProcessorOptions {
43
29
  readonly addedFunctions: SourceRowProcessorAddedTableValuedFunction[];
44
30
  }
45
31
  declare abstract class BaseSourceRowProcessor {
32
+ #private;
46
33
  /**
47
34
  * The table names being matched, along with an AST reference describing its syntactic source.
48
35
  */
@@ -55,6 +42,7 @@ declare abstract class BaseSourceRowProcessor {
55
42
  readonly filters: RowExpression[];
56
43
  readonly partitionBy: PartitionKey[];
57
44
  readonly addedFunctions: SourceRowProcessorAddedTableValuedFunction[];
45
+ protected readonly tableValuedHashCodes: TableValuedFunctionEquality;
58
46
  constructor(options: SourceProcessorOptions);
59
47
  /**
60
48
  * A hash code for the equivalence relation formed by {@link behavesIdenticalTo}.
@@ -73,7 +61,7 @@ declare abstract class BaseSourceRowProcessor {
73
61
  */
74
62
  get tablePattern(): ImplicitSchemaTablePattern;
75
63
  protected addBaseHashCode(hasher: StableHasher): void;
76
- protected baseMatchesOther(other: BaseSourceRowProcessor): boolean;
64
+ protected baseMatchesOther(other: BaseSourceRowProcessor): TableValuedFunctionEquality | null;
77
65
  }
78
66
  /**
79
67
  * A row evaluator, evaluating rows to sync from a row in the source database.
@@ -92,6 +80,12 @@ export declare class RowEvaluator extends BaseSourceRowProcessor {
92
80
  buildBehaviorHashCode(hasher: StableHasher): void;
93
81
  behavesIdenticalTo(other: RowEvaluator): boolean;
94
82
  }
83
+ /**
84
+ * A row evaluator producing an event payload.
85
+ */
86
+ export declare class EventRowEvaluator extends RowEvaluator {
87
+ get outputName(): undefined;
88
+ }
95
89
  /**
96
90
  * A point lookup, creating a materialized index.
97
91
  *
@@ -117,26 +111,26 @@ export declare class PointLookup extends BaseSourceRowProcessor {
117
111
  *
118
112
  * When processing source rows, all attached table-valued functions are expanded as well.
119
113
  */
120
- export declare class SourceRowProcessorAddedTableValuedFunction implements EqualsIgnoringResultSet {
114
+ export declare class SourceRowProcessorAddedTableValuedFunction implements EqualsIgnoringPrimaryResultSet {
121
115
  readonly syntacticSource: TableValuedResultSet;
122
116
  readonly functionName: string;
123
117
  readonly inputs: RowExpression[];
124
118
  constructor(syntacticSource: TableValuedResultSet, functionName: string, inputs: RowExpression[]);
125
- equalsAssumingSameResultSet(other: EqualsIgnoringResultSet): boolean;
126
- assumingSameResultSetEqualityHashCode(hasher: StableHasher): void;
119
+ equalsAssumingSamePrimaryResultSet(other: EqualsIgnoringPrimaryResultSet, tableValued: TableValuedFunctionEquality): boolean;
120
+ assumingSamePrimaryResultSetEqualityHashCode(tableValued: TableValuedFunctionEquality, hasher: StableHasher): void;
127
121
  }
128
122
  export type ColumnSource = StarColumnSource | ExpressionColumnSource;
129
- export declare class StarColumnSource implements EqualsIgnoringResultSet {
123
+ export declare class StarColumnSource implements EqualsIgnoringPrimaryResultSet {
130
124
  private constructor();
131
- equalsAssumingSameResultSet(other: EqualsIgnoringResultSet): boolean;
132
- assumingSameResultSetEqualityHashCode(): void;
125
+ equalsAssumingSamePrimaryResultSet(other: EqualsIgnoringPrimaryResultSet): boolean;
126
+ assumingSamePrimaryResultSetEqualityHashCode(): void;
133
127
  static readonly instance: StarColumnSource;
134
128
  }
135
- export declare class ExpressionColumnSource implements EqualsIgnoringResultSet {
129
+ export declare class ExpressionColumnSource implements EqualsIgnoringPrimaryResultSet {
136
130
  readonly expression: RowExpression;
137
131
  readonly alias: string;
138
132
  constructor(expression: RowExpression, alias: string);
139
- equalsAssumingSameResultSet(other: EqualsIgnoringResultSet): boolean;
140
- assumingSameResultSetEqualityHashCode(hasher: StableHasher): void;
133
+ equalsAssumingSamePrimaryResultSet(other: EqualsIgnoringPrimaryResultSet, tableValued: TableValuedFunctionEquality): boolean;
134
+ assumingSamePrimaryResultSetEqualityHashCode(tableValued: TableValuedFunctionEquality, hasher: StableHasher): void;
141
135
  }
142
136
  export {};