@powersync/service-sync-rules 0.0.0-dev-20260225160713 → 0.0.0-dev-20260511080634

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 (173) hide show
  1. package/README.md +3 -3
  2. package/dist/BaseSqlDataQuery.d.ts +1 -1
  3. package/dist/BaseSqlDataQuery.js +2 -1
  4. package/dist/BaseSqlDataQuery.js.map +1 -1
  5. package/dist/BucketDescription.d.ts +23 -3
  6. package/dist/BucketDescription.js +12 -0
  7. package/dist/BucketDescription.js.map +1 -1
  8. package/dist/BucketParameterQuerier.d.ts +18 -1
  9. package/dist/BucketParameterQuerier.js +39 -3
  10. package/dist/BucketParameterQuerier.js.map +1 -1
  11. package/dist/BucketSource.d.ts +2 -2
  12. package/dist/BucketSource.js +5 -4
  13. package/dist/BucketSource.js.map +1 -1
  14. package/dist/HydratedSyncRules.d.ts +2 -2
  15. package/dist/HydratedSyncRules.js +1 -1
  16. package/dist/HydratedSyncRules.js.map +1 -1
  17. package/dist/HydrationState.d.ts +13 -5
  18. package/dist/HydrationState.js +7 -5
  19. package/dist/HydrationState.js.map +1 -1
  20. package/dist/SqlDataQuery.d.ts +1 -1
  21. package/dist/SqlParameterQuery.js +10 -13
  22. package/dist/SqlParameterQuery.js.map +1 -1
  23. package/dist/SqlSyncRules.d.ts +9 -2
  24. package/dist/SqlSyncRules.js +1 -1
  25. package/dist/SqlSyncRules.js.map +1 -1
  26. package/dist/StaticSqlParameterQuery.js +5 -12
  27. package/dist/StaticSqlParameterQuery.js.map +1 -1
  28. package/dist/StorageVersion.d.ts +27 -0
  29. package/dist/StorageVersion.js +17 -0
  30. package/dist/StorageVersion.js.map +1 -0
  31. package/dist/SyncConfig.d.ts +9 -3
  32. package/dist/SyncConfig.js +9 -3
  33. package/dist/SyncConfig.js.map +1 -1
  34. package/dist/TableValuedFunctionSqlParameterQuery.js +3 -10
  35. package/dist/TableValuedFunctionSqlParameterQuery.js.map +1 -1
  36. package/dist/TableValuedFunctions.js +1 -0
  37. package/dist/TableValuedFunctions.js.map +1 -1
  38. package/dist/cast.d.ts +9 -0
  39. package/dist/cast.js +131 -0
  40. package/dist/cast.js.map +1 -0
  41. package/dist/compiler/bucket_resolver.d.ts +3 -1
  42. package/dist/compiler/bucket_resolver.js +18 -1
  43. package/dist/compiler/bucket_resolver.js.map +1 -1
  44. package/dist/compiler/compiler.d.ts +3 -3
  45. package/dist/compiler/compiler.js +3 -3
  46. package/dist/compiler/compiler.js.map +1 -1
  47. package/dist/compiler/equality.d.ts +1 -1
  48. package/dist/compiler/equality.js.map +1 -1
  49. package/dist/compiler/expression.d.ts +4 -4
  50. package/dist/compiler/expression.js +2 -2
  51. package/dist/compiler/expression.js.map +1 -1
  52. package/dist/compiler/filter.d.ts +2 -2
  53. package/dist/compiler/filter.js +4 -2
  54. package/dist/compiler/filter.js.map +1 -1
  55. package/dist/compiler/filter_simplifier.d.ts +2 -2
  56. package/dist/compiler/filter_simplifier.js +2 -2
  57. package/dist/compiler/filter_simplifier.js.map +1 -1
  58. package/dist/compiler/ir_to_sync_plan.d.ts +4 -2
  59. package/dist/compiler/ir_to_sync_plan.js +17 -10
  60. package/dist/compiler/ir_to_sync_plan.js.map +1 -1
  61. package/dist/compiler/parser.d.ts +7 -6
  62. package/dist/compiler/parser.js +56 -17
  63. package/dist/compiler/parser.js.map +1 -1
  64. package/dist/compiler/querier_graph.d.ts +2 -1
  65. package/dist/compiler/querier_graph.js +46 -12
  66. package/dist/compiler/querier_graph.js.map +1 -1
  67. package/dist/compiler/rows.d.ts +3 -4
  68. package/dist/compiler/rows.js +3 -8
  69. package/dist/compiler/rows.js.map +1 -1
  70. package/dist/compiler/scope.d.ts +1 -1
  71. package/dist/compiler/sqlite.d.ts +2 -2
  72. package/dist/compiler/sqlite.js +37 -16
  73. package/dist/compiler/sqlite.js.map +1 -1
  74. package/dist/compiler/table.d.ts +43 -2
  75. package/dist/compiler/table.js +129 -9
  76. package/dist/compiler/table.js.map +1 -1
  77. package/dist/events/SqlEventDescriptor.d.ts +1 -1
  78. package/dist/events/SqlEventDescriptor.js +1 -1
  79. package/dist/events/SqlEventDescriptor.js.map +1 -1
  80. package/dist/events/SqlEventSourceQuery.d.ts +1 -1
  81. package/dist/events/SqlEventSourceQuery.js.map +1 -1
  82. package/dist/from_yaml.d.ts +1 -1
  83. package/dist/from_yaml.js +118 -42
  84. package/dist/from_yaml.js.map +1 -1
  85. package/dist/index.d.ts +9 -7
  86. package/dist/index.js +9 -7
  87. package/dist/index.js.map +1 -1
  88. package/dist/json_schema.js +16 -0
  89. package/dist/json_schema.js.map +1 -1
  90. package/dist/schema-generators/DartSchemaGenerator.d.ts +1 -0
  91. package/dist/schema-generators/DartSchemaGenerator.js +36 -2
  92. package/dist/schema-generators/DartSchemaGenerator.js.map +1 -1
  93. package/dist/schema-generators/DotNetSchemaGenerator.d.ts +12 -1
  94. package/dist/schema-generators/DotNetSchemaGenerator.js +104 -3
  95. package/dist/schema-generators/DotNetSchemaGenerator.js.map +1 -1
  96. package/dist/schema-generators/JsLegacySchemaGenerator.js.map +1 -1
  97. package/dist/schema-generators/KotlinSchemaGenerator.d.ts +3 -0
  98. package/dist/schema-generators/KotlinSchemaGenerator.js +68 -5
  99. package/dist/schema-generators/KotlinSchemaGenerator.js.map +1 -1
  100. package/dist/schema-generators/RoomSchemaGenerator.js +3 -19
  101. package/dist/schema-generators/RoomSchemaGenerator.js.map +1 -1
  102. package/dist/schema-generators/SchemaGenerator.d.ts +7 -1
  103. package/dist/schema-generators/SchemaGenerator.js +35 -0
  104. package/dist/schema-generators/SchemaGenerator.js.map +1 -1
  105. package/dist/schema-generators/SwiftSchemaGenerator.d.ts +3 -0
  106. package/dist/schema-generators/SwiftSchemaGenerator.js +66 -2
  107. package/dist/schema-generators/SwiftSchemaGenerator.js.map +1 -1
  108. package/dist/schema-generators/TsSchemaGenerator.d.ts +2 -0
  109. package/dist/schema-generators/TsSchemaGenerator.js +45 -8
  110. package/dist/schema-generators/TsSchemaGenerator.js.map +1 -1
  111. package/dist/schema-generators/generators.d.ts +2 -1
  112. package/dist/schema-generators/generators.js +2 -1
  113. package/dist/schema-generators/generators.js.map +1 -1
  114. package/dist/schema-generators/schema-generators.js.map +1 -1
  115. package/dist/sql_filters.d.ts +1 -1
  116. package/dist/sql_filters.js +1 -1
  117. package/dist/sql_filters.js.map +1 -1
  118. package/dist/sql_functions.d.ts +2 -6
  119. package/dist/sql_functions.js +33 -116
  120. package/dist/sql_functions.js.map +1 -1
  121. package/dist/streams/filter.d.ts +2 -4
  122. package/dist/streams/filter.js +2 -1
  123. package/dist/streams/filter.js.map +1 -1
  124. package/dist/streams/from_sql.js +8 -8
  125. package/dist/streams/from_sql.js.map +1 -1
  126. package/dist/streams/stream.d.ts +2 -2
  127. package/dist/streams/variant.d.ts +2 -3
  128. package/dist/streams/variant.js +11 -14
  129. package/dist/streams/variant.js.map +1 -1
  130. package/dist/sync_plan/engine/javascript.js +14 -3
  131. package/dist/sync_plan/engine/javascript.js.map +1 -1
  132. package/dist/sync_plan/engine/sqlite.js +2 -1
  133. package/dist/sync_plan/engine/sqlite.js.map +1 -1
  134. package/dist/sync_plan/evaluator/bucket_data_source.js +4 -3
  135. package/dist/sync_plan/evaluator/bucket_data_source.js.map +1 -1
  136. package/dist/sync_plan/evaluator/bucket_source.d.ts +1 -1
  137. package/dist/sync_plan/evaluator/bucket_source.js +32 -37
  138. package/dist/sync_plan/evaluator/bucket_source.js.map +1 -1
  139. package/dist/sync_plan/evaluator/index.d.ts +8 -2
  140. package/dist/sync_plan/evaluator/index.js +9 -2
  141. package/dist/sync_plan/evaluator/index.js.map +1 -1
  142. package/dist/sync_plan/evaluator/parameter_evaluator.d.ts +9 -13
  143. package/dist/sync_plan/evaluator/parameter_evaluator.js +61 -60
  144. package/dist/sync_plan/evaluator/parameter_evaluator.js.map +1 -1
  145. package/dist/sync_plan/evaluator/parameter_index_lookup_creator.d.ts +4 -5
  146. package/dist/sync_plan/evaluator/parameter_index_lookup_creator.js +36 -6
  147. package/dist/sync_plan/evaluator/parameter_index_lookup_creator.js.map +1 -1
  148. package/dist/sync_plan/evaluator/table_processor_to_sql.js +0 -9
  149. package/dist/sync_plan/evaluator/table_processor_to_sql.js.map +1 -1
  150. package/dist/sync_plan/expression.js +40 -40
  151. package/dist/sync_plan/expression.js.map +1 -1
  152. package/dist/sync_plan/expression_visitor.d.ts +4 -1
  153. package/dist/sync_plan/expression_visitor.js +21 -12
  154. package/dist/sync_plan/expression_visitor.js.map +1 -1
  155. package/dist/sync_plan/plan.d.ts +2 -3
  156. package/dist/sync_plan/schema_inference.d.ts +6 -2
  157. package/dist/sync_plan/schema_inference.js +104 -3
  158. package/dist/sync_plan/schema_inference.js.map +1 -1
  159. package/dist/sync_plan/serialize.d.ts +1 -1
  160. package/dist/types/custom_sqlite_value.d.ts +1 -1
  161. package/dist/types/custom_sqlite_value.js +1 -1
  162. package/dist/types.d.ts +4 -1
  163. package/dist/types.js +1 -1
  164. package/dist/types.js.map +1 -1
  165. package/dist/utils.d.ts +27 -5
  166. package/dist/utils.js +56 -18
  167. package/dist/utils.js.map +1 -1
  168. package/dist/validators.js.map +1 -1
  169. package/dist/yaml_scalar_map.d.ts +19 -0
  170. package/dist/yaml_scalar_map.js +339 -0
  171. package/dist/yaml_scalar_map.js.map +1 -0
  172. package/package.json +9 -7
  173. package/schema/sync_rules.json +18 -0
@@ -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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"}
@@ -1,15 +1,14 @@
1
1
  import { ParameterIndexLookupCreator } from '../../BucketSource.js';
2
2
  import { ParameterLookupScope } from '../../HydrationState.js';
3
- import * as plan from '../plan.js';
4
- import { StreamEvaluationContext } from './index.js';
5
- import { TablePattern } from '../../TablePattern.js';
6
3
  import { SourceTableInterface } from '../../SourceTableInterface.js';
4
+ import { TablePattern } from '../../TablePattern.js';
7
5
  import { SqliteRow, UnscopedEvaluatedParametersResult } from '../../types.js';
6
+ import * as plan from '../plan.js';
7
+ import { StreamEvaluationContext } from './index.js';
8
8
  export declare class PreparedParameterIndexLookupCreator implements ParameterIndexLookupCreator {
9
- private readonly source;
10
9
  readonly defaultLookupScope: ParameterLookupScope;
11
10
  private readonly evaluator;
12
- private readonly sourceTable;
11
+ readonly sourceTable: TablePattern;
13
12
  private readonly evaluatorInputs;
14
13
  private readonly numberOfOutputs;
15
14
  private readonly numberOfParameters;
@@ -1,8 +1,7 @@
1
- import { isValidParameterValueRow } from './parameter_evaluator.js';
2
1
  import { UnscopedParameterLookup } from '../../BucketParameterQuerier.js';
2
+ import { isValidParameterValueRow } from './parameter_evaluator.js';
3
3
  import { TableProcessorToSqlHelper } from './table_processor_to_sql.js';
4
4
  export class PreparedParameterIndexLookupCreator {
5
- source;
6
5
  defaultLookupScope;
7
6
  evaluator;
8
7
  sourceTable;
@@ -10,8 +9,10 @@ export class PreparedParameterIndexLookupCreator {
10
9
  numberOfOutputs;
11
10
  numberOfParameters;
12
11
  constructor(source, { engine, defaultSchema }) {
13
- this.source = source;
14
- this.defaultLookupScope = source.defaultLookupScope;
12
+ this.defaultLookupScope = {
13
+ ...source.defaultLookupScope,
14
+ source: this
15
+ };
15
16
  const translationHelper = new TableProcessorToSqlHelper(source);
16
17
  const expressions = source.outputs.map((o) => translationHelper.mapper.transform(o));
17
18
  this.numberOfOutputs = expressions.length;
@@ -37,8 +38,34 @@ export class PreparedParameterIndexLookupCreator {
37
38
  if (!this.sourceTable.matches(sourceTable)) {
38
39
  return results;
39
40
  }
41
+ function parametersEqual(a, b) {
42
+ if (a.length != b.length)
43
+ return false;
44
+ return a.every((val, idx) => val === b[idx]);
45
+ }
40
46
  try {
41
47
  const inputInstantiation = this.evaluatorInputs.map((input) => row[input.column]);
48
+ // In almost all cases, lookups generate at most one output with exactly one bucket parameter. This is the case
49
+ // for all lookups without a table-valued function, e.g. `SELECT foo.* FROM foo, bar ON foo.x = bar.x AND
50
+ // bar.y = auth.user_id()` which generates a lookup from `bar.y` to `bar.x`. However, it's also possible for:
51
+ //
52
+ // - a single row with one partition value to generate multiple outputs, which would yield a lookup with multiple
53
+ // entries in bucketParameters.
54
+ // - a single row to generate multiple partition values, which would yield multiple lookup entries.
55
+ // - a combination of those two, if multiple table-valued functions are used in the parameter result set.
56
+ const lookups = [];
57
+ function resolveLookup(entries) {
58
+ // The lookups array could be a hash map, but since we don't expect rows to generate many lookups, a hash map
59
+ // would likely be more expensive than this linear search.
60
+ for (const existing of lookups) {
61
+ if (parametersEqual(existing.partitionValues, entries)) {
62
+ return existing;
63
+ }
64
+ }
65
+ const created = { partitionValues: entries, bucketParameters: [] };
66
+ lookups.push(created);
67
+ return created;
68
+ }
42
69
  for (const outputRow of this.evaluator.evaluate(inputInstantiation)) {
43
70
  if (!isValidParameterValueRow(outputRow)) {
44
71
  continue;
@@ -49,8 +76,11 @@ export class PreparedParameterIndexLookupCreator {
49
76
  }
50
77
  // source is [...outputs, ...partitionValues]
51
78
  const partitionValues = outputRow.splice(this.numberOfOutputs, this.numberOfParameters);
52
- const lookup = UnscopedParameterLookup.normalized(partitionValues);
53
- results.push({ lookup, bucketParameters: [outputs] });
79
+ const pendingLookup = resolveLookup(partitionValues);
80
+ pendingLookup.bucketParameters.push(outputs);
81
+ }
82
+ for (const { partitionValues, bucketParameters } of lookups) {
83
+ results.push({ lookup: UnscopedParameterLookup.normalized(partitionValues), bucketParameters });
54
84
  }
55
85
  }
56
86
  catch (e) {
@@ -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":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAS1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAExE,MAAM,OAAO,mCAAmC;IACrC,kBAAkB,CAAuB;IACjC,SAAS,CAA4B;IAC7C,WAAW,CAAe;IAClB,eAAe,CAAiC;IAChD,eAAe,CAAS;IACxB,kBAAkB,CAAS;IAE5C,YAAY,MAA8C,EAAE,EAAE,MAAM,EAAE,aAAa,EAA2B;QAC5G,IAAI,CAAC,kBAAkB,GAAG;YACxB,GAAG,MAAM,CAAC,kBAAkB;YAC5B,MAAM,EAAE,IAAI;SACb,CAAC;QACF,MAAM,iBAAiB,GAAG,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAErF,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC;QAC1C,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1C,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;QAEnD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC;YACvC,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE,iBAAiB,CAAC,iBAAiB;YAC5C,oBAAoB,EAAE,iBAAiB,CAAC,oBAAoB;SAC7D,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QACpE,IAAI,CAAC,eAAe,GAAG,iBAAiB,CAAC,MAAM,CAAC,aAAa,CAAC;IAChE,CAAC;IAED,eAAe;QACb,MAAM,GAAG,GAAG,IAAI,GAAG,EAAgB,CAAC;QACpC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,oBAAoB,CAAC,WAAiC,EAAE,GAAc;QACpE,MAAM,OAAO,GAAwC,EAAE,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,OAAO,OAAO,CAAC;QACjB,CAAC;QAOD,SAAS,eAAe,CAAC,CAAyB,EAAE,CAAyB;YAC3E,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAEvC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAElF,+GAA+G;YAC/G,yGAAyG;YACzG,6GAA6G;YAC7G,EAAE;YACF,kHAAkH;YAClH,kCAAkC;YAClC,oGAAoG;YACpG,0GAA0G;YAC1G,MAAM,OAAO,GAAoB,EAAE,CAAC;YAEpC,SAAS,aAAa,CAAC,OAA+B;gBACpD,6GAA6G;gBAC7G,0DAA0D;gBAC1D,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;oBAC/B,IAAI,eAAe,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,EAAE,CAAC;wBACvD,OAAO,QAAQ,CAAC;oBAClB,CAAC;gBACH,CAAC;gBAED,MAAM,OAAO,GAAkB,EAAE,eAAe,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC;gBAClF,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtB,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACpE,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,EAAE,CAAC;oBACzC,SAAS;gBACX,CAAC;gBAED,MAAM,OAAO,GAAoC,EAAE,CAAC;gBACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC9C,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACvC,CAAC;gBAED,6CAA6C;gBAC7C,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACxF,MAAM,aAAa,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;gBACrD,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;YAED,KAAK,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,IAAI,OAAO,EAAE,CAAC;gBAC5D,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,uBAAuB,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAClG,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,oBAAoB,CAAC,KAA2B;QAC9C,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;CACF"}
@@ -1,5 +1,4 @@
1
1
  import { mapExternalDataToInstantiation } from '../engine/scalar_expression_engine.js';
2
- import { MapSourceVisitor, visitExpr } from '../expression_visitor.js';
3
2
  /**
4
3
  * Utility to translate a {@link plan.TableProcessor} to a scalar SQL statement.
5
4
  *
@@ -20,14 +19,6 @@ export class TableProcessorToSqlHelper {
20
19
  inputs: fn.functionInputs.map((i) => this.mapper.transformWithoutTableValued(i))
21
20
  };
22
21
  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
22
  }
32
23
  for (const filter of source.filters) {
33
24
  this.filterExpressions.push(this.mapper.transform(filter));
@@ -1 +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"}
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;AAI/C;;;;;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;QACnD,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"}
@@ -1,73 +1,73 @@
1
1
  export const supportedFunctions = {
2
2
  // https://sqlite.org/lang_corefunc.html#list_of_core_functions
3
- abs: 1,
4
- char: { min: 0 },
5
- coalesce: { min: 2 },
6
- concat: { min: 1 },
7
- concat_ws: { min: 2 },
8
- format: { min: 1 },
9
- glob: 2,
3
+ //abs: 1,
4
+ //char: { min: 0 },
5
+ //coalesce: { min: 2 },
6
+ //concat: { min: 1 },
7
+ //concat_ws: { min: 2 },
8
+ //format: { min: 1 },
9
+ //glob: 2,
10
10
  hex: 1,
11
11
  ifnull: { min: 2 },
12
- if: { min: 2 },
12
+ //if: { min: 2 },
13
13
  iif: { min: 2 },
14
14
  instr: 2,
15
15
  length: 1,
16
16
  // TODO: Establish defaults for case sensitivity, changing escape characters, ICU support.
17
17
  // We might just want to remove LIKE support since we don't seem to have it in sql_functions.ts
18
- like: { min: 2, max: 3 },
18
+ //like: { min: 2, max: 3 },
19
19
  // likelihood: 2,
20
20
  // likely: 1,
21
21
  lower: 1,
22
- ltrim: { min: 1, max: 2 },
23
- max: { min: 2 },
24
- min: { min: 2 },
25
- nullif: 2,
26
- octet_length: 1,
27
- printf: { min: 1 },
28
- quote: 1,
29
- replace: 3,
30
- round: { min: 1, max: 2 },
31
- rtrim: { min: 1, max: 2 },
32
- sign: 1,
33
- substr: { min: 2, max: 3 },
22
+ //ltrim: { min: 1, max: 2 },
23
+ //max: { min: 2 },
24
+ //min: { min: 2 },
25
+ //nullif: 2,
26
+ //octet_length: 1,
27
+ //printf: { min: 1 },
28
+ //quote: 1,
29
+ //replace: 3,
30
+ //round: { min: 1, max: 2 },
31
+ //rtrim: { min: 1, max: 2 },
32
+ //sign: 1,
33
+ //substr: { min: 2, max: 3 },
34
34
  substring: { min: 2, max: 3 },
35
- trim: { min: 1, max: 2 },
35
+ //trim: { min: 1, max: 2 },
36
36
  typeof: 1,
37
- unhex: { min: 1, max: 2 },
38
- unicode: 1,
39
- unistr: 1,
40
- unistr_quote: 1,
37
+ //unhex: { min: 1, max: 2 },
38
+ //unicode: 1,
39
+ //unistr: 1,
40
+ //unistr_quote: 1,
41
41
  // unlikely: 1,
42
42
  upper: 1,
43
- zeroblob: 1,
43
+ //zeroblob: 1,
44
44
  // Scalar functions from https://sqlite.org/json1.html#overview
45
45
  // We disallow jsonb functions because they're not implemented in sql_functions.ts and we want to preserve
46
46
  // compatibility with that.
47
- json: 1,
47
+ //json: 1,
48
48
  // jsonb: 1,
49
- json_array: { min: 0 },
49
+ //json_array: { min: 0 },
50
50
  // jsonb_array: { min: 0 },
51
51
  json_array_length: { min: 1, max: 2 },
52
- json_error_position: 1,
52
+ //json_error_position: 1,
53
53
  json_extract: { min: 2 },
54
54
  // jsonb_extract: { min: 2 },
55
- json_insert: { min: 3, mustBeOdd: true },
55
+ //json_insert: { min: 3, mustBeOdd: true },
56
56
  // jsonb_insert: { min: 3, mustBeOdd: true },
57
- json_object: { min: 0, mustBeEven: true },
57
+ //json_object: { min: 0, mustBeEven: true },
58
58
  // jsonb_object: { min: 0, mustBeEven: true },
59
- json_patch: 2,
59
+ //json_patch: 2,
60
60
  // jsonb_patch: 2,
61
- json_pretty: 1,
62
- json_remove: { min: 2 },
61
+ //json_pretty: 1,
62
+ //json_remove: { min: 2 },
63
63
  // jsonb_remove: { min: 2 },
64
- json_replace: { min: 3, mustBeOdd: true },
64
+ //json_replace: { min: 3, mustBeOdd: true },
65
65
  // jsonb_replace: { min: 3, mustBeOdd: true },
66
- json_set: { min: 3, mustBeOdd: true },
66
+ //json_set: { min: 3, mustBeOdd: true },
67
67
  // jsonb_set: { min: 3, mustBeOdd: true },
68
- json_type: { min: 1, max: 2 },
69
- json_valid: { min: 1, max: 2 },
70
- json_quote: { min: 1 },
68
+ //json_type: { min: 1, max: 2 },
69
+ //json_valid: { min: 1, max: 2 },
70
+ //json_quote: { min: 1 },
71
71
  // https://www.sqlite.org/lang_datefunc.html, but we only support datetime and unixepoch
72
72
  // TODO: Ensure our support matches the current unixepoch behavior in sql_functions.ts, register as user-defined
73
73
  // function to patch default if in doubt.
@@ -1 +1 @@
1
- {"version":3,"file":"expression.js","sourceRoot":"","sources":["../../src/sync_plan/expression.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expression.js","sourceRoot":"","sources":["../../src/sync_plan/expression.ts"],"names":[],"mappings":"AAqIA,MAAM,CAAC,MAAM,kBAAkB,GAAkC;IAC/D,+DAA+D;IAC/D,SAAS;IACT,mBAAmB;IACnB,uBAAuB;IACvB,qBAAqB;IACrB,wBAAwB;IACxB,qBAAqB;IACrB,UAAU;IACV,GAAG,EAAE,CAAC;IACN,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;IAClB,iBAAiB;IACjB,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;IACf,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,0FAA0F;IAC1F,+FAA+F;IAC/F,2BAA2B;IAC3B,kBAAkB;IAClB,cAAc;IACd,KAAK,EAAE,CAAC;IACR,4BAA4B;IAC5B,kBAAkB;IAClB,kBAAkB;IAClB,YAAY;IACZ,kBAAkB;IAClB,qBAAqB;IACrB,WAAW;IACX,aAAa;IACb,4BAA4B;IAC5B,4BAA4B;IAC5B,UAAU;IACV,6BAA6B;IAC7B,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IAC7B,2BAA2B;IAC3B,MAAM,EAAE,CAAC;IACT,4BAA4B;IAC5B,aAAa;IACb,YAAY;IACZ,kBAAkB;IAClB,gBAAgB;IAChB,KAAK,EAAE,CAAC;IACR,cAAc;IACd,+DAA+D;IAC/D,0GAA0G;IAC1G,2BAA2B;IAC3B,UAAU;IACV,aAAa;IACb,yBAAyB;IACzB,4BAA4B;IAC5B,iBAAiB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IACrC,yBAAyB;IACzB,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;IACxB,8BAA8B;IAC9B,2CAA2C;IAC3C,8CAA8C;IAC9C,4CAA4C;IAC5C,+CAA+C;IAC/C,gBAAgB;IAChB,mBAAmB;IACnB,iBAAiB;IACjB,0BAA0B;IAC1B,6BAA6B;IAC7B,4CAA4C;IAC5C,+CAA+C;IAC/C,wCAAwC;IACxC,2CAA2C;IAC3C,gCAAgC;IAChC,iCAAiC;IACjC,yBAAyB;IAEzB,wFAAwF;IACxF,gHAAgH;IAChH,yCAAyC;IACzC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;IACrB,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;IAEpB,iGAAiG;IACjG,MAAM,EAAE,CAAC;IACT,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;IACZ,YAAY,EAAE,CAAC;IACf,SAAS,EAAE,CAAC;IACZ,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { NodeLocations } from '../compiler/expression.js';
1
2
  import { BetweenExpression, BinaryExpression, CaseWhenExpression, CastExpression, ExternalData, LiteralExpression, ScalarFunctionCallExpression, ScalarInExpression, SqlExpression, UnaryExpression } from './expression.js';
2
3
  /**
3
4
  * Callbacks for each type of SQL expression we support.
@@ -43,8 +44,10 @@ export declare abstract class RecursiveExpressionVisitor<Data, R, Arg = undefine
43
44
  * A visitor applying a mapping function to external data references in expressions.
44
45
  */
45
46
  export declare class MapSourceVisitor<DataIn, DataOut> implements ExpressionVisitor<DataIn, SqlExpression<DataOut>> {
47
+ #private;
46
48
  private readonly map;
47
- constructor(map: (a: DataIn) => DataOut);
49
+ private readonly locations?;
50
+ constructor(map: (a: DataIn) => DataOut, locations?: NodeLocations | undefined);
48
51
  visitExternalData(expr: ExternalData<DataIn>): SqlExpression<DataOut>;
49
52
  visitUnaryExpression(expr: UnaryExpression<DataIn>, arg: undefined): SqlExpression<DataOut>;
50
53
  visitBinaryExpression(expr: BinaryExpression<DataIn>, arg: undefined): SqlExpression<DataOut>;
@@ -112,18 +112,27 @@ export class RecursiveExpressionVisitor {
112
112
  */
113
113
  export class MapSourceVisitor {
114
114
  map;
115
- constructor(map) {
115
+ locations;
116
+ constructor(map, locations) {
116
117
  this.map = map;
118
+ this.locations = locations;
119
+ }
120
+ #trackLocations(source, mapped) {
121
+ const location = this.locations?.sourceForNode?.get(source);
122
+ if (location) {
123
+ this.locations.sourceForNode.set(mapped, location);
124
+ }
125
+ return mapped;
117
126
  }
118
127
  visitExternalData(expr) {
119
- return { type: 'data', source: this.map(expr.source) };
128
+ return this.#trackLocations(expr, { type: 'data', source: this.map(expr.source) });
120
129
  }
121
130
  visitUnaryExpression(expr, arg) {
122
131
  const operand = visitExpr(this, expr.operand, arg);
123
132
  if (operand == expr.operand) {
124
133
  return expr; // unchanged subtree
125
134
  }
126
- return { type: 'unary', operator: expr.operator, operand };
135
+ return this.#trackLocations(expr, { type: 'unary', operator: expr.operator, operand });
127
136
  }
128
137
  visitBinaryExpression(expr, arg) {
129
138
  const left = visitExpr(this, expr.left, arg);
@@ -131,7 +140,7 @@ export class MapSourceVisitor {
131
140
  if (left == expr.left && right == expr.right) {
132
141
  return expr; // unchanged subtree
133
142
  }
134
- return { type: 'binary', operator: expr.operator, left, right };
143
+ return this.#trackLocations(expr, { type: 'binary', operator: expr.operator, left, right });
135
144
  }
136
145
  visitBetweenExpression(expr, arg) {
137
146
  const value = visitExpr(this, expr.value, arg);
@@ -140,17 +149,17 @@ export class MapSourceVisitor {
140
149
  if (value == expr.value && expr.low == low && expr.high == high) {
141
150
  return expr; // unchanged subtree
142
151
  }
143
- return { type: 'between', value, low, high };
152
+ return this.#trackLocations(expr, { type: 'between', value, low, high });
144
153
  }
145
154
  visitScalarInExpression(expr, arg) {
146
- return {
155
+ return this.#trackLocations(expr, {
147
156
  type: 'scalar_in',
148
157
  target: visitExpr(this, expr.target, arg),
149
158
  in: expr.in.map((e) => visitExpr(this, e, arg))
150
- };
159
+ });
151
160
  }
152
161
  visitCaseWhenExpression(expr, arg) {
153
- return {
162
+ return this.#trackLocations(expr, {
154
163
  type: 'case_when',
155
164
  operand: expr.operand && visitExpr(this, expr.operand, arg),
156
165
  whens: expr.whens.map(({ when, then }) => ({
@@ -158,21 +167,21 @@ export class MapSourceVisitor {
158
167
  then: visitExpr(this, then, arg)
159
168
  })),
160
169
  else: expr.else && visitExpr(this, expr.else, arg)
161
- };
170
+ });
162
171
  }
163
172
  visitCastExpression(expr, arg) {
164
173
  const operand = visitExpr(this, expr.operand, arg);
165
174
  if (operand == expr.operand) {
166
175
  return expr; // unchanged subtree
167
176
  }
168
- return { type: 'cast', operand, cast_as: expr.cast_as };
177
+ return this.#trackLocations(expr, { type: 'cast', operand, cast_as: expr.cast_as });
169
178
  }
170
179
  visitScalarFunctionCallExpression(expr, arg) {
171
- return {
180
+ return this.#trackLocations(expr, {
172
181
  type: 'function',
173
182
  function: expr.function,
174
183
  parameters: expr.parameters.map((p) => visitExpr(this, p, arg))
175
- };
184
+ });
176
185
  }
177
186
  visitLiteralExpression(expr, arg) {
178
187
  return expr;
@@ -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":"AA+BA;;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;IAER;IACA;IAFnB,YACmB,GAA2B,EAC3B,SAAyB;QADzB,QAAG,GAAH,GAAG,CAAwB;QAC3B,cAAS,GAAT,SAAS,CAAgB;IACzC,CAAC;IAEJ,eAAe,CAAC,MAA6B,EAAE,MAA8B;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,SAAU,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,iBAAiB,CAAC,IAA0B;QAC1C,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrF,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,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACzF,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,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9F,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,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,uBAAuB,CAAC,IAAgC,EAAE,GAAc;QACtE,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;YAChC,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,CAAC;IACL,CAAC;IAED,uBAAuB,CAAC,IAAgC,EAAE,GAAc;QACtE,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;YAChC,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,CAAC;IACL,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,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,iCAAiC,CAC/B,IAA0C,EAC1C,GAAc;QAEd,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;YAChC,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,CAAC;IACL,CAAC;IAED,sBAAsB,CAAC,IAAuB,EAAE,GAAc;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -74,7 +74,6 @@ export interface TableProcessor {
74
74
  export interface TableProcessorTableValuedFunction {
75
75
  functionName: string;
76
76
  functionInputs: SqlExpression<ColumnSqlParameterValue>[];
77
- filters: SqlExpression<ColumnSqlParameterValue>[];
78
77
  }
79
78
  export interface TableProcessorTableValuedFunctionOutput {
80
79
  /**
@@ -134,7 +133,7 @@ export type ColumnSource = 'star' | {
134
133
  export interface StreamBucketDataSource {
135
134
  hashCode: number;
136
135
  /**
137
- * A unique name of this source in all streams compiled from a sync rules file.
136
+ * A unique name of this source in all streams compiled from a sync config file.
138
137
  */
139
138
  uniqueName: string;
140
139
  /**
@@ -151,7 +150,7 @@ export interface StreamBucketDataSource {
151
150
  */
152
151
  export interface StreamParameterIndexLookupCreator extends TableProcessor {
153
152
  hashCode: number;
154
- defaultLookupScope: ParameterLookupScope;
153
+ defaultLookupScope: Omit<ParameterLookupScope, 'source'>;
155
154
  /**
156
155
  * Outputs to persist in the lookup.
157
156
  *
@@ -1,6 +1,6 @@
1
- import { ColumnDefinition } from '../ExpressionType.js';
1
+ import { ColumnDefinition, ColumnType } from '../ExpressionType.js';
2
2
  import { SourceSchema } from '../types.js';
3
- import { StreamDataSource } from './plan.js';
3
+ import { StreamDataSource, StreamQuerier } from './plan.js';
4
4
  /**
5
5
  * Infers the output schema of sync streams by resolving references against a statically-known source schema.
6
6
  */
@@ -13,4 +13,8 @@ export declare class SyncPlanSchemaAnalyzer {
13
13
  * schema.
14
14
  */
15
15
  resolveResultSets(source: StreamDataSource, tables: Record<string, Record<string, ColumnDefinition>>): void;
16
+ /**
17
+ * Resolves all parameters referenced in queriers for a stream, and attempts to infer their type.
18
+ */
19
+ resolveReferencedParameters(queriers: StreamQuerier[]): Record<string, ColumnType>;
16
20
  }