@powersync/service-sync-rules 0.0.0-dev-20260203154303 → 0.0.0-dev-20260223080959

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 (105) hide show
  1. package/dist/ExpressionType.d.ts +4 -2
  2. package/dist/ExpressionType.js.map +1 -1
  3. package/dist/HydratedSyncRules.d.ts +3 -3
  4. package/dist/HydratedSyncRules.js.map +1 -1
  5. package/dist/SqlSyncRules.d.ts +11 -37
  6. package/dist/SqlSyncRules.js +11 -340
  7. package/dist/SqlSyncRules.js.map +1 -1
  8. package/dist/SyncConfig.d.ts +46 -0
  9. package/dist/SyncConfig.js +99 -0
  10. package/dist/SyncConfig.js.map +1 -0
  11. package/dist/TablePattern.d.ts +21 -6
  12. package/dist/TablePattern.js +57 -30
  13. package/dist/TablePattern.js.map +1 -1
  14. package/dist/compatibility.d.ts +7 -0
  15. package/dist/compatibility.js +34 -0
  16. package/dist/compatibility.js.map +1 -1
  17. package/dist/compiler/bucket_resolver.d.ts +3 -3
  18. package/dist/compiler/bucket_resolver.js.map +1 -1
  19. package/dist/compiler/compiler.d.ts +22 -3
  20. package/dist/compiler/compiler.js +22 -5
  21. package/dist/compiler/compiler.js.map +1 -1
  22. package/dist/compiler/filter.js +1 -1
  23. package/dist/compiler/filter.js.map +1 -1
  24. package/dist/compiler/ir_to_sync_plan.d.ts +6 -0
  25. package/dist/compiler/ir_to_sync_plan.js +57 -12
  26. package/dist/compiler/ir_to_sync_plan.js.map +1 -1
  27. package/dist/compiler/parser.js +53 -13
  28. package/dist/compiler/parser.js.map +1 -1
  29. package/dist/compiler/querier_graph.js +72 -24
  30. package/dist/compiler/querier_graph.js.map +1 -1
  31. package/dist/compiler/rows.d.ts +35 -5
  32. package/dist/compiler/rows.js +64 -2
  33. package/dist/compiler/rows.js.map +1 -1
  34. package/dist/compiler/scope.d.ts +4 -1
  35. package/dist/compiler/scope.js +13 -2
  36. package/dist/compiler/scope.js.map +1 -1
  37. package/dist/compiler/sqlite.d.ts +2 -11
  38. package/dist/compiler/sqlite.js +104 -79
  39. package/dist/compiler/sqlite.js.map +1 -1
  40. package/dist/compiler/table.d.ts +28 -10
  41. package/dist/compiler/table.js +28 -3
  42. package/dist/compiler/table.js.map +1 -1
  43. package/dist/from_yaml.d.ts +28 -0
  44. package/dist/from_yaml.js +411 -0
  45. package/dist/from_yaml.js.map +1 -0
  46. package/dist/index.d.ts +4 -3
  47. package/dist/index.js +4 -3
  48. package/dist/index.js.map +1 -1
  49. package/dist/json_schema.js +17 -1
  50. package/dist/json_schema.js.map +1 -1
  51. package/dist/schema-generators/DartSchemaGenerator.d.ts +3 -3
  52. package/dist/schema-generators/DartSchemaGenerator.js.map +1 -1
  53. package/dist/schema-generators/DotNetSchemaGenerator.d.ts +2 -2
  54. package/dist/schema-generators/DotNetSchemaGenerator.js.map +1 -1
  55. package/dist/schema-generators/JsLegacySchemaGenerator.d.ts +2 -2
  56. package/dist/schema-generators/JsLegacySchemaGenerator.js.map +1 -1
  57. package/dist/schema-generators/KotlinSchemaGenerator.d.ts +2 -2
  58. package/dist/schema-generators/KotlinSchemaGenerator.js.map +1 -1
  59. package/dist/schema-generators/RoomSchemaGenerator.d.ts +2 -2
  60. package/dist/schema-generators/RoomSchemaGenerator.js.map +1 -1
  61. package/dist/schema-generators/SchemaGenerator.d.ts +8 -3
  62. package/dist/schema-generators/SchemaGenerator.js +20 -13
  63. package/dist/schema-generators/SchemaGenerator.js.map +1 -1
  64. package/dist/schema-generators/SqlSchemaGenerator.d.ts +2 -2
  65. package/dist/schema-generators/SqlSchemaGenerator.js.map +1 -1
  66. package/dist/schema-generators/SwiftSchemaGenerator.d.ts +2 -2
  67. package/dist/schema-generators/SwiftSchemaGenerator.js.map +1 -1
  68. package/dist/schema-generators/TsSchemaGenerator.d.ts +2 -2
  69. package/dist/schema-generators/TsSchemaGenerator.js.map +1 -1
  70. package/dist/sql_functions.d.ts +2 -2
  71. package/dist/sync_plan/engine/scalar_expression_engine.d.ts +4 -2
  72. package/dist/sync_plan/engine/scalar_expression_engine.js +18 -0
  73. package/dist/sync_plan/engine/scalar_expression_engine.js.map +1 -1
  74. package/dist/sync_plan/evaluator/bucket_data_source.d.ts +1 -0
  75. package/dist/sync_plan/evaluator/bucket_data_source.js +29 -12
  76. package/dist/sync_plan/evaluator/bucket_data_source.js.map +1 -1
  77. package/dist/sync_plan/evaluator/bucket_source.js +1 -1
  78. package/dist/sync_plan/evaluator/bucket_source.js.map +1 -1
  79. package/dist/sync_plan/evaluator/index.d.ts +12 -2
  80. package/dist/sync_plan/evaluator/index.js +26 -20
  81. package/dist/sync_plan/evaluator/index.js.map +1 -1
  82. package/dist/sync_plan/evaluator/parameter_evaluator.js +22 -2
  83. package/dist/sync_plan/evaluator/parameter_evaluator.js.map +1 -1
  84. package/dist/sync_plan/evaluator/parameter_index_lookup_creator.d.ts +2 -1
  85. package/dist/sync_plan/evaluator/parameter_index_lookup_creator.js +13 -10
  86. package/dist/sync_plan/evaluator/parameter_index_lookup_creator.js.map +1 -1
  87. package/dist/sync_plan/evaluator/table_processor_to_sql.d.ts +20 -0
  88. package/dist/sync_plan/evaluator/table_processor_to_sql.js +37 -0
  89. package/dist/sync_plan/evaluator/table_processor_to_sql.js.map +1 -0
  90. package/dist/sync_plan/expression_visitor.d.ts +1 -1
  91. package/dist/sync_plan/expression_visitor.js +11 -1
  92. package/dist/sync_plan/expression_visitor.js.map +1 -1
  93. package/dist/sync_plan/plan.d.ts +40 -8
  94. package/dist/sync_plan/schema_inference.d.ts +16 -0
  95. package/dist/sync_plan/schema_inference.js +123 -0
  96. package/dist/sync_plan/schema_inference.js.map +1 -0
  97. package/dist/sync_plan/serialize.d.ts +30 -7
  98. package/dist/sync_plan/serialize.js +148 -3
  99. package/dist/sync_plan/serialize.js.map +1 -1
  100. package/dist/types.d.ts +20 -5
  101. package/dist/types.js +27 -5
  102. package/dist/types.js.map +1 -1
  103. package/dist/utils.d.ts +1 -1
  104. package/package.json +1 -1
  105. package/schema/sync_rules.json +19 -3
@@ -1 +1 @@
1
- {"version":3,"file":"bucket_source.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/bucket_source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bucket_source.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/bucket_source.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,17 @@
1
- import { SqlSyncRules } from '../../SqlSyncRules.js';
2
1
  import * as plan from '../plan.js';
3
2
  import { ScalarExpressionEngine } from '../engine/scalar_expression_engine.js';
3
+ import { SyncConfig } from '../../SyncConfig.js';
4
4
  export interface StreamEvaluationContext {
5
+ defaultSchema: string;
5
6
  engine: ScalarExpressionEngine;
7
+ /**
8
+ * Source contents that were used to compile the sync plan.
9
+ *
10
+ * This is not used to evaluate rows, but required for all sync config instances.
11
+ */
12
+ sourceText: string;
13
+ }
14
+ export declare class PrecompiledSyncConfig extends SyncConfig {
15
+ readonly plan: plan.SyncPlan;
16
+ constructor(plan: plan.SyncPlan, context: StreamEvaluationContext);
6
17
  }
7
- export declare function addPrecompiledSyncPlanToRules(plan: plan.SyncPlan, rules: SqlSyncRules, context: StreamEvaluationContext): void;
@@ -1,26 +1,32 @@
1
1
  import { PreparedStreamBucketDataSource } from './bucket_data_source.js';
2
2
  import { PreparedParameterIndexLookupCreator } from './parameter_index_lookup_creator.js';
3
3
  import { StreamBucketSource } from './bucket_source.js';
4
- export function addPrecompiledSyncPlanToRules(plan, rules, context) {
5
- const preparedBuckets = new Map();
6
- const preparedLookups = new Map();
7
- for (const bucket of plan.buckets) {
8
- const prepared = new PreparedStreamBucketDataSource(bucket, context);
9
- preparedBuckets.set(bucket, prepared);
10
- rules.bucketDataSources.push(prepared);
11
- }
12
- for (const parameter of plan.parameterIndexes) {
13
- const prepared = new PreparedParameterIndexLookupCreator(parameter, context);
14
- preparedLookups.set(parameter, prepared);
15
- rules.bucketParameterLookupSources.push(prepared);
16
- }
17
- const streamInput = {
18
- ...context,
19
- preparedBuckets,
20
- preparedLookups
21
- };
22
- for (const stream of plan.streams) {
23
- rules.bucketSources.push(new StreamBucketSource(stream, streamInput));
4
+ import { SyncConfig } from '../../SyncConfig.js';
5
+ export class PrecompiledSyncConfig extends SyncConfig {
6
+ plan;
7
+ constructor(plan, context) {
8
+ super(context.sourceText);
9
+ this.plan = plan;
10
+ const preparedBuckets = new Map();
11
+ const preparedLookups = new Map();
12
+ for (const bucket of plan.buckets) {
13
+ const prepared = new PreparedStreamBucketDataSource(bucket, context);
14
+ preparedBuckets.set(bucket, prepared);
15
+ this.bucketDataSources.push(prepared);
16
+ }
17
+ for (const parameter of plan.parameterIndexes) {
18
+ const prepared = new PreparedParameterIndexLookupCreator(parameter, context);
19
+ preparedLookups.set(parameter, prepared);
20
+ this.bucketParameterLookupSources.push(prepared);
21
+ }
22
+ const streamInput = {
23
+ ...context,
24
+ preparedBuckets,
25
+ preparedLookups
26
+ };
27
+ for (const stream of plan.streams) {
28
+ this.bucketSources.push(new StreamBucketSource(stream, streamInput));
29
+ }
24
30
  }
25
31
  }
26
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,mCAAmC,EAAE,MAAM,qCAAqC,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAe,MAAM,oBAAoB,CAAC;AAOrE,MAAM,UAAU,6BAA6B,CAC3C,IAAmB,EACnB,KAAmB,EACnB,OAAgC;IAEhC,MAAM,eAAe,GAAG,IAAI,GAAG,EAA+D,CAAC;IAC/F,MAAM,eAAe,GAAG,IAAI,GAAG,EAA+E,CAAC;IAE/G,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrE,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACtC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,mCAAmC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7E,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACzC,KAAK,CAAC,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,WAAW,GAAgB;QAC/B,GAAG,OAAO;QACV,eAAe;QACf,eAAe;KAChB,CAAC;IACF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACxE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,mCAAmC,EAAE,MAAM,qCAAqC,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAe,MAAM,oBAAoB,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAcjD,MAAM,OAAO,qBAAsB,SAAQ,UAAU;IAExC;IADX,YACW,IAAmB,EAC5B,OAAgC;QAEhC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAHjB,SAAI,GAAJ,IAAI,CAAe;QAK5B,MAAM,eAAe,GAAG,IAAI,GAAG,EAA+D,CAAC;QAC/F,MAAM,eAAe,GAAG,IAAI,GAAG,EAA+E,CAAC;QAE/G,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACrE,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACtC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;QAED,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,IAAI,mCAAmC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC7E,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,WAAW,GAAgB;YAC/B,GAAG,OAAO;YACV,eAAe;YACf,eAAe;SAChB,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;CACF"}
@@ -67,7 +67,27 @@ export class RequestParameterEvaluators {
67
67
  * instead of re-evaluating them on every parameter lookup change.
68
68
  */
69
69
  clone() {
70
- return new RequestParameterEvaluators(this.lookupStages.map((stage) => [...stage]), [...this.parameterValues]);
70
+ function cloneValue(value) {
71
+ switch (value.type) {
72
+ case 'intersection':
73
+ return { type: 'intersection', values: value.values.map(cloneValue) };
74
+ case 'request':
75
+ case 'lookup':
76
+ case 'cached':
77
+ return value;
78
+ }
79
+ }
80
+ function cloneLookup(lookup) {
81
+ switch (lookup.type) {
82
+ case 'parameter':
83
+ // We need to clone the instantiation array as well.
84
+ return { type: 'parameter', lookup: lookup.lookup, instantiation: lookup.instantiation.map(cloneValue) };
85
+ case 'table_valued':
86
+ case 'cached':
87
+ return lookup;
88
+ }
89
+ }
90
+ return new RequestParameterEvaluators(this.lookupStages.map((stage) => stage.map(cloneLookup)), this.parameterValues.map(cloneValue));
71
91
  }
72
92
  /**
73
93
  * Evaluates those lookups and parameter values that be evaluated without looking up parameter indexes.
@@ -191,7 +211,7 @@ export class RequestParameterEvaluators {
191
211
  const mapInputs = mapExternalDataToInstantiation();
192
212
  const fn = {
193
213
  name: lookup.functionName,
194
- inputs: lookup.functionInputs.map((e) => mapInputs.transform(e))
214
+ inputs: lookup.functionInputs.map((e) => mapInputs.transformWithoutTableValued(e))
195
215
  };
196
216
  const mapOutputs = new MapSourceVisitor(({ column }) => ({
197
217
  function: fn,
@@ -1 +1 @@
1
- {"version":3,"file":"parameter_evaluator.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/parameter_evaluator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parameter_evaluator.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/parameter_evaluator.ts"],"names":[],"mappings":"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"}
@@ -9,10 +9,11 @@ export declare class PreparedParameterIndexLookupCreator implements ParameterInd
9
9
  private readonly source;
10
10
  readonly defaultLookupScope: ParameterLookupScope;
11
11
  private readonly evaluator;
12
+ private readonly sourceTable;
12
13
  private readonly evaluatorInputs;
13
14
  private readonly numberOfOutputs;
14
15
  private readonly numberOfParameters;
15
- constructor(source: plan.StreamParameterIndexLookupCreator, { engine }: StreamEvaluationContext);
16
+ constructor(source: plan.StreamParameterIndexLookupCreator, { engine, defaultSchema }: StreamEvaluationContext);
16
17
  getSourceTables(): Set<TablePattern>;
17
18
  evaluateParameterRow(sourceTable: SourceTableInterface, row: SqliteRow): UnscopedEvaluatedParametersResult[];
18
19
  tableSyncsParameters(table: SourceTableInterface): boolean;
@@ -1,37 +1,40 @@
1
- import { mapExternalDataToInstantiation } from '../engine/scalar_expression_engine.js';
2
1
  import { isValidParameterValueRow } from './parameter_evaluator.js';
3
2
  import { UnscopedParameterLookup } from '../../BucketParameterQuerier.js';
3
+ import { TableProcessorToSqlHelper } from './table_processor_to_sql.js';
4
4
  export class PreparedParameterIndexLookupCreator {
5
5
  source;
6
6
  defaultLookupScope;
7
7
  evaluator;
8
+ sourceTable;
8
9
  evaluatorInputs;
9
10
  numberOfOutputs;
10
11
  numberOfParameters;
11
- constructor(source, { engine }) {
12
+ constructor(source, { engine, defaultSchema }) {
12
13
  this.source = source;
13
14
  this.defaultLookupScope = source.defaultLookupScope;
14
- const mapExpressions = mapExternalDataToInstantiation();
15
- const expressions = source.outputs.map((o) => mapExpressions.transform(o));
15
+ const translationHelper = new TableProcessorToSqlHelper(source);
16
+ const expressions = source.outputs.map((o) => translationHelper.mapper.transform(o));
16
17
  this.numberOfOutputs = expressions.length;
17
18
  for (const parameter of source.parameters) {
18
- expressions.push(mapExpressions.transform(parameter.expr));
19
+ expressions.push(translationHelper.mapper.transform(parameter.expr));
19
20
  }
20
21
  this.numberOfParameters = source.parameters.length;
21
22
  this.evaluator = engine.prepareEvaluator({
22
23
  outputs: expressions,
23
- filters: source.filters.map((f) => mapExpressions.transform(f))
24
+ filters: translationHelper.filterExpressions,
25
+ tableValuedFunctions: translationHelper.tableValuedFunctions
24
26
  });
25
- this.evaluatorInputs = mapExpressions.instantiation;
27
+ this.sourceTable = source.sourceTable.toTablePattern(defaultSchema);
28
+ this.evaluatorInputs = translationHelper.mapper.instantiation;
26
29
  }
27
30
  getSourceTables() {
28
31
  const set = new Set();
29
- set.add(this.source.sourceTable);
32
+ set.add(this.sourceTable);
30
33
  return set;
31
34
  }
32
35
  evaluateParameterRow(sourceTable, row) {
33
36
  const results = [];
34
- if (!this.source.sourceTable.matches(sourceTable)) {
37
+ if (!this.sourceTable.matches(sourceTable)) {
35
38
  return results;
36
39
  }
37
40
  try {
@@ -56,7 +59,7 @@ export class PreparedParameterIndexLookupCreator {
56
59
  return results;
57
60
  }
58
61
  tableSyncsParameters(table) {
59
- return this.source.sourceTable.matches(table);
62
+ return this.sourceTable.matches(table);
60
63
  }
61
64
  }
62
65
  //# sourceMappingURL=parameter_index_lookup_creator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parameter_index_lookup_creator.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/parameter_index_lookup_creator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parameter_index_lookup_creator.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/parameter_index_lookup_creator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { TableValuedFunction, TableValuedFunctionOutput } from '../engine/scalar_expression_engine.js';
2
+ import { SqlExpression } from '../expression.js';
3
+ import * as plan from '../plan.js';
4
+ /**
5
+ * Utility to translate a {@link plan.TableProcessor} to a scalar SQL statement.
6
+ *
7
+ * This translates table-valued functions and filters. Output columns and partition keys have to be translated
8
+ * separately, because their order depends on the type of table processor (data source vs. parameter lookup creator).
9
+ */
10
+ export declare class TableProcessorToSqlHelper {
11
+ mapper: {
12
+ instantiation: plan.ColumnSqlParameterValue[];
13
+ tableValuedFunctions: Map<plan.TableProcessorTableValuedFunction, TableValuedFunction>;
14
+ transform(expr: SqlExpression<plan.SqlParameterValue>): SqlExpression<number | TableValuedFunctionOutput>;
15
+ transformWithoutTableValued(expr: SqlExpression<plan.ColumnSqlParameterValue>): SqlExpression<number>;
16
+ };
17
+ readonly filterExpressions: SqlExpression<number | TableValuedFunctionOutput>[];
18
+ get tableValuedFunctions(): TableValuedFunction[];
19
+ constructor(source: plan.TableProcessor);
20
+ }
@@ -0,0 +1,37 @@
1
+ import { mapExternalDataToInstantiation } from '../engine/scalar_expression_engine.js';
2
+ import { MapSourceVisitor, visitExpr } from '../expression_visitor.js';
3
+ /**
4
+ * Utility to translate a {@link plan.TableProcessor} to a scalar SQL statement.
5
+ *
6
+ * This translates table-valued functions and filters. Output columns and partition keys have to be translated
7
+ * separately, because their order depends on the type of table processor (data source vs. parameter lookup creator).
8
+ */
9
+ export class TableProcessorToSqlHelper {
10
+ mapper = mapExternalDataToInstantiation();
11
+ filterExpressions = [];
12
+ get tableValuedFunctions() {
13
+ return [...this.mapper.tableValuedFunctions.values()];
14
+ }
15
+ constructor(source) {
16
+ // Add table-valued functions and filters
17
+ for (const fn of source.tableValuedFunctions) {
18
+ const mapped = {
19
+ name: fn.functionName,
20
+ inputs: fn.functionInputs.map((i) => this.mapper.transformWithoutTableValued(i))
21
+ };
22
+ this.mapper.tableValuedFunctions.set(fn, mapped);
23
+ // Columns on function filters reference outputs of the table-valued function. We hoist them into filter
24
+ // expressions on the statement, but that requires rewriting column references to function outputs. This turns
25
+ // `SELECT ... FROM ..., (SELECT value FROM json_each(?) WHERE value LIKE x)` into
26
+ // `SELECT ... FROM ..., json_each(?) fn0 WHERE fn0.value LIKE x`.
27
+ const mapFnFilter = new MapSourceVisitor(({ column }) => ({ function: mapped, column }));
28
+ for (const filter of fn.filters) {
29
+ this.filterExpressions.push(visitExpr(mapFnFilter, filter, null));
30
+ }
31
+ }
32
+ for (const filter of source.filters) {
33
+ this.filterExpressions.push(this.mapper.transform(filter));
34
+ }
35
+ }
36
+ }
37
+ //# sourceMappingURL=table_processor_to_sql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table_processor_to_sql.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/table_processor_to_sql.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAG/B,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAGvE;;;;;GAKG;AACH,MAAM,OAAO,yBAAyB;IACpC,MAAM,GAAG,8BAA8B,EAAgC,CAAC;IAC/D,iBAAiB,GAAwD,EAAE,CAAC;IAErF,IAAI,oBAAoB;QACtB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,YAAY,MAA2B;QACrC,yCAAyC;QACzC,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAwB;gBAClC,IAAI,EAAE,EAAE,CAAC,YAAY;gBACrB,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;aACjF,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAEjD,wGAAwG;YACxG,8GAA8G;YAC9G,kFAAkF;YAClF,kEAAkE;YAClE,MAAM,WAAW,GAAG,IAAI,gBAAgB,CACtC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAC/C,CAAC;YAEF,KAAK,MAAM,MAAM,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBAChC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;CACF"}
@@ -28,7 +28,7 @@ export declare abstract class RecursiveExpressionVisitor<Data, R, Arg = undefine
28
28
  * Invokes the appropriate visit method for the given expression.
29
29
  */
30
30
  visit(expr: SqlExpression<Data>, arg: Arg): R;
31
- visitChildren(expr: SqlExpression<Data>, arg: Arg): R | undefined;
31
+ visitChildren(expr: SqlExpression<Data>, arg: Arg): void;
32
32
  visitExternalData(expr: ExternalData<Data>, arg: Arg): R;
33
33
  visitUnaryExpression(expr: UnaryExpression<Data>, arg: Arg): R;
34
34
  visitBinaryExpression(expr: BinaryExpression<Data>, arg: Arg): R;
@@ -56,7 +56,17 @@ export class RecursiveExpressionVisitor {
56
56
  }
57
57
  break;
58
58
  case 'case_when':
59
- return this.visitCaseWhenExpression(expr, arg);
59
+ if (expr.operand) {
60
+ this.visit(expr.operand, arg);
61
+ }
62
+ for (const { when, then } of expr.whens) {
63
+ this.visit(when, arg);
64
+ this.visit(then, arg);
65
+ }
66
+ if (expr.else) {
67
+ this.visit(expr.else, arg);
68
+ }
69
+ break;
60
70
  case 'cast':
61
71
  this.visit(expr.operand, arg);
62
72
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"expression_visitor.js","sourceRoot":"","sources":["../../src/sync_plan/expression_visitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expression_visitor.js","sourceRoot":"","sources":["../../src/sync_plan/expression_visitor.ts"],"names":[],"mappings":"AA8BA;;GAEG;AACH,MAAM,UAAU,SAAS,CACvB,OAAwC,EACxC,IAAyB,EACzB,GAAQ;IAER,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9C,KAAK,OAAO;YACV,OAAO,OAAO,CAAC,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjD,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC,sBAAsB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACnD,KAAK,QAAQ;YACX,OAAO,OAAO,CAAC,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAClD,KAAK,WAAW;YACd,OAAO,OAAO,CAAC,uBAAuB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACpD,KAAK,WAAW;YACd,OAAO,OAAO,CAAC,uBAAuB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACpD,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAChD,KAAK,UAAU;YACb,OAAO,OAAO,CAAC,iCAAiC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9D;YACE,OAAO,OAAO,CAAC,sBAAsB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,OAAgB,0BAA0B;IAG9C;;OAEG;IACH,KAAK,CAAC,IAAyB,EAAE,GAAQ;QACvC,OAAO,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,aAAa,CAAC,IAAyB,EAAE,GAAQ;QAC/C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,MAAM;gBACT,MAAM,CAAC,mBAAmB;YAC5B,KAAK,OAAO;gBACV,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC9B,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC3B,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC5B,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC7B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;oBAC7B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC1B,CAAC;gBACD,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAChC,CAAC;gBAED,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACxC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBACtB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACxB,CAAC;gBACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC7B,CAAC;gBACD,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC9B,MAAM;YACR,KAAK,UAAU;gBACb,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACzB,CAAC;gBACD,MAAM;YACR,QAAQ;YACR,mCAAmC;QACrC,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC,IAAwB,EAAE,GAAQ;QAClD,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,oBAAoB,CAAC,IAA2B,EAAE,GAAQ;QACxD,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,qBAAqB,CAAC,IAA4B,EAAE,GAAQ;QAC1D,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,sBAAsB,CAAC,IAA6B,EAAE,GAAQ;QAC5D,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,uBAAuB,CAAC,IAA8B,EAAE,GAAQ;QAC9D,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,uBAAuB,CAAC,IAA8B,EAAE,GAAQ;QAC9D,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,mBAAmB,CAAC,IAA0B,EAAE,GAAQ;QACtD,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,iCAAiC,CAAC,IAAwC,EAAE,GAAQ;QAClF,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,sBAAsB,CAAC,IAAuB,EAAE,GAAQ;QACtD,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,GAA2B;QAA3B,QAAG,GAAH,GAAG,CAAwB;IAAG,CAAC;IAE5D,iBAAiB,CAAC,IAA0B;QAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACzD,CAAC;IAED,oBAAoB,CAAC,IAA6B,EAAE,GAAc;QAChE,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACnD,IAAI,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC5B,OAAO,IAA8B,CAAC,CAAC,oBAAoB;QAC7D,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC7D,CAAC;IAED,qBAAqB,CAAC,IAA8B,EAAE,GAAc;QAClE,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/C,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7C,OAAO,IAA8B,CAAC,CAAC,oBAAoB;QAC7D,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAClE,CAAC;IAED,sBAAsB,CAAC,IAA+B,EAAE,GAAc;QACpE,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7C,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YAChE,OAAO,IAA8B,CAAC,CAAC,oBAAoB;QAC7D,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC;IAED,uBAAuB,CAAC,IAAgC,EAAE,GAAc;QACtE,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;YACzC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;SAChD,CAAC;IACJ,CAAC;IAED,uBAAuB,CAAC,IAAgC,EAAE,GAAc;QACtE,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC;YAC3D,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBACzC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC;gBAChC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC;aACjC,CAAC,CAAC;YACH,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC;SACnD,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,IAA4B,EAAE,GAAc;QAC9D,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACnD,IAAI,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC5B,OAAO,IAA8B,CAAC,CAAC,oBAAoB;QAC7D,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAC1D,CAAC;IAED,iCAAiC,CAC/B,IAA0C,EAC1C,GAAc;QAEd,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;SAChE,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,IAAuB,EAAE,GAAc;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -1,6 +1,6 @@
1
1
  import { BucketPriority } from '../BucketDescription.js';
2
2
  import { ParameterLookupScope } from '../HydrationState.js';
3
- import { TablePattern } from '../TablePattern.js';
3
+ import { ImplicitSchemaTablePattern } from '../TablePattern.js';
4
4
  import { SqlExpression } from './expression.js';
5
5
  /**
6
6
  * A compiled "sync plan", a description for
@@ -40,7 +40,7 @@ export interface TableProcessor {
40
40
  /**
41
41
  * The source table to process into buckets or parameter lookups.
42
42
  */
43
- sourceTable: TablePattern;
43
+ sourceTable: ImplicitSchemaTablePattern;
44
44
  /**
45
45
  * All of these expressions exclusively depend on the {@link sourceTable}.
46
46
  *
@@ -54,9 +54,41 @@ export interface TableProcessor {
54
54
  * input values for the lookup.
55
55
  */
56
56
  parameters: PartitionKey[];
57
+ tableValuedFunctions: TableProcessorTableValuedFunction[];
57
58
  }
59
+ /**
60
+ * A table-valued partition key evaluates a table-valued function on the source or parameter row to potentially generate
61
+ * multiple buckets for one input row.
62
+ *
63
+ * For instance, `SELECT p.* FROM posts p WHERE subscription.parameter('tag') IN (SELECT value FROM json_each(p.tags))`
64
+ * would put a row with `tags == '["foo", "bar"]'` into two buckets representing the expanded parameters.
65
+ *
66
+ * Note that the buckets a row is put into are derived from the cartesian product of all partition keys. In particular,
67
+ * this means that:
68
+ *
69
+ * - If a table-valued key evaluates to zero rows, the source row is not put into any buckets regardless of what other
70
+ * partition keys might exist.
71
+ * - Two table-valued partition keys evaluating two multiple rows leads to a quadratic amount of buckets being
72
+ * generated.
73
+ */
74
+ export type TableProcessorTableValuedFunction = Omit<EvaluateTableValuedFunction<ColumnSqlParameterValue>, 'type' | 'outputs'>;
75
+ export interface TableProcessorTableValuedFunctionOutput {
76
+ /**
77
+ * A reference to the added table-valued function.
78
+ */
79
+ function: TableProcessorTableValuedFunction;
80
+ /**
81
+ * The column of the table-valued function being referenced.
82
+ */
83
+ outputName: string;
84
+ }
85
+ /**
86
+ * A scalar partition key evaluates to a single value in the source or parameter row. For instance, a stream definition
87
+ * like `SELECT * FROM users WHERE id = auth.user_id()` would generate a scalar key to partition users by the `id`
88
+ * column.
89
+ */
58
90
  export interface PartitionKey {
59
- expr: SqlExpression<ColumnSqlParameterValue>;
91
+ expr: SqlExpression<ColumnSqlParameterValue | TableProcessorTableValuedFunctionOutput>;
60
92
  }
61
93
  /**
62
94
  * A description for a data source processing rows to replicate.
@@ -116,7 +148,7 @@ export interface StreamParameterIndexLookupCreator extends TableProcessor {
116
148
  * streams because the output of parameters might be passed through additional stages or transformed by the querier
117
149
  * before becoming a parameter value.
118
150
  */
119
- outputs: SqlExpression<ColumnSqlParameterValue>[];
151
+ outputs: SqlExpression<ColumnSqlParameterValue | TableProcessorTableValuedFunctionOutput>[];
120
152
  }
121
153
  export interface StreamOptions {
122
154
  name: string;
@@ -149,7 +181,6 @@ export interface StreamQuerier {
149
181
  bucket: StreamBucketDataSource;
150
182
  sourceInstantiation: ParameterValue[];
151
183
  }
152
- export type SqlParameterValue = ColumnSqlParameterValue | RequestSqlParameterValue;
153
184
  /**
154
185
  * A value that resolves to a given column in a row being processed.
155
186
  */
@@ -164,10 +195,11 @@ export type ConnectionParameterSource = 'auth' | 'subscription' | 'connection';
164
195
  export interface RequestSqlParameterValue {
165
196
  request: ConnectionParameterSource;
166
197
  }
198
+ export type SqlParameterValue = ColumnSqlParameterValue | RequestSqlParameterValue | TableProcessorTableValuedFunctionOutput;
167
199
  /**
168
200
  * A lookup returning multiple rows when instantiated.
169
201
  */
170
- export type ExpandingLookup = ParameterLookup | EvaluateTableValuedFunction;
202
+ export type ExpandingLookup = ParameterLookup | EvaluateTableValuedFunction<RequestSqlParameterValue>;
171
203
  export interface ParameterLookup {
172
204
  type: 'parameter';
173
205
  lookup: StreamParameterIndexLookupCreator;
@@ -176,10 +208,10 @@ export interface ParameterLookup {
176
208
  */
177
209
  instantiation: ParameterValue[];
178
210
  }
179
- export interface EvaluateTableValuedFunction {
211
+ export interface EvaluateTableValuedFunction<Input> {
180
212
  type: 'table_valued';
181
213
  functionName: string;
182
- functionInputs: SqlExpression<RequestSqlParameterValue>[];
214
+ functionInputs: SqlExpression<Input>[];
183
215
  outputs: SqlExpression<ColumnSqlParameterValue>[];
184
216
  filters: SqlExpression<ColumnSqlParameterValue>[];
185
217
  }
@@ -0,0 +1,16 @@
1
+ import { ColumnDefinition } from '../ExpressionType.js';
2
+ import { SourceSchema } from '../types.js';
3
+ import { StreamDataSource } from './plan.js';
4
+ /**
5
+ * Infers the output schema of sync streams by resolving references against a statically-known source schema.
6
+ */
7
+ export declare class SyncPlanSchemaAnalyzer {
8
+ private readonly defaultSchema;
9
+ private readonly schema;
10
+ constructor(defaultSchema: string, schema: SourceSchema);
11
+ /**
12
+ * Populates an output record of tables with the inferred result sets for a stream data source against a source
13
+ * schema.
14
+ */
15
+ resolveResultSets(source: StreamDataSource, tables: Record<string, Record<string, ColumnDefinition>>): void;
16
+ }