@powersync/service-sync-rules 0.0.0-dev-20260602073133 → 0.0.0-dev-20260803144812
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.
- package/dist/BucketParameterQuerier.d.ts +4 -0
- package/dist/BucketParameterQuerier.js.map +1 -1
- package/dist/SqlSyncRules.d.ts +0 -5
- package/dist/SqlSyncRules.js.map +1 -1
- package/dist/TablePattern.d.ts +2 -0
- package/dist/TablePattern.js +18 -1
- package/dist/TablePattern.js.map +1 -1
- package/dist/compiler/expression.d.ts +23 -2
- package/dist/compiler/expression.js +30 -3
- package/dist/compiler/expression.js.map +1 -1
- package/dist/compiler/filter.js +2 -2
- package/dist/compiler/filter.js.map +1 -1
- package/dist/compiler/ir_to_sync_plan.js +7 -1
- package/dist/compiler/ir_to_sync_plan.js.map +1 -1
- package/dist/compiler/parser.d.ts +18 -0
- package/dist/compiler/parser.js +60 -7
- package/dist/compiler/parser.js.map +1 -1
- package/dist/compiler/querier_graph.js +2 -2
- package/dist/compiler/querier_graph.js.map +1 -1
- package/dist/compiler/sqlite.d.ts +3 -2
- package/dist/compiler/sqlite.js +33 -3
- package/dist/compiler/sqlite.js.map +1 -1
- package/dist/compiler/table.js +4 -1
- package/dist/compiler/table.js.map +1 -1
- package/dist/events/SqlEventDescriptor.d.ts +1 -1
- package/dist/events/SqlEventSourceQuery.d.ts +1 -1
- package/dist/events/SqlEventSourceQuery.js +5 -4
- package/dist/events/SqlEventSourceQuery.js.map +1 -1
- package/dist/from_yaml.js +139 -175
- package/dist/from_yaml.js.map +1 -1
- package/dist/index.d.ts +6 -10
- package/dist/index.js +6 -10
- package/dist/index.js.map +1 -1
- package/dist/{BaseSqlDataQuery.d.ts → legacy/BaseSqlDataQuery.d.ts} +5 -5
- package/dist/{BaseSqlDataQuery.js → legacy/BaseSqlDataQuery.js} +2 -2
- package/dist/legacy/BaseSqlDataQuery.js.map +1 -0
- package/dist/{SqlBucketDescriptor.d.ts → legacy/SqlBucketDescriptor.d.ts} +10 -10
- package/dist/{SqlBucketDescriptor.js → legacy/SqlBucketDescriptor.js} +2 -2
- package/dist/legacy/SqlBucketDescriptor.js.map +1 -0
- package/dist/{SqlDataQuery.d.ts → legacy/SqlDataQuery.d.ts} +4 -4
- package/dist/{SqlDataQuery.js → legacy/SqlDataQuery.js} +4 -4
- package/dist/legacy/SqlDataQuery.js.map +1 -0
- package/dist/{SqlParameterQuery.d.ts → legacy/SqlParameterQuery.d.ts} +9 -9
- package/dist/{SqlParameterQuery.js → legacy/SqlParameterQuery.js} +6 -6
- package/dist/legacy/SqlParameterQuery.js.map +1 -0
- package/dist/{StaticSqlParameterQuery.d.ts → legacy/StaticSqlParameterQuery.d.ts} +8 -8
- package/dist/{StaticSqlParameterQuery.js → legacy/StaticSqlParameterQuery.js} +6 -5
- package/dist/legacy/StaticSqlParameterQuery.js.map +1 -0
- package/dist/{TableQuerySchema.d.ts → legacy/TableQuerySchema.d.ts} +2 -2
- package/dist/legacy/TableQuerySchema.js.map +1 -0
- package/dist/{TableValuedFunctionSqlParameterQuery.d.ts → legacy/TableValuedFunctionSqlParameterQuery.d.ts} +9 -9
- package/dist/{TableValuedFunctionSqlParameterQuery.js → legacy/TableValuedFunctionSqlParameterQuery.js} +6 -5
- package/dist/legacy/TableValuedFunctionSqlParameterQuery.js.map +1 -0
- package/dist/{sql_filters.d.ts → legacy/sql_filters.d.ts} +6 -6
- package/dist/{sql_filters.js → legacy/sql_filters.js} +8 -7
- package/dist/legacy/sql_filters.js.map +1 -0
- package/dist/{sql_support.d.ts → legacy/sql_support.d.ts} +2 -6
- package/dist/{sql_support.js → legacy/sql_support.js} +4 -25
- package/dist/legacy/sql_support.js.map +1 -0
- package/dist/{streams → legacy/streams}/filter.d.ts +5 -5
- package/dist/{streams → legacy/streams}/filter.js +6 -5
- package/dist/legacy/streams/filter.js.map +1 -0
- package/dist/{streams → legacy/streams}/from_sql.d.ts +2 -2
- package/dist/{streams → legacy/streams}/from_sql.js +5 -5
- package/dist/legacy/streams/from_sql.js.map +1 -0
- package/dist/{streams → legacy/streams}/functions.d.ts +1 -1
- package/dist/{streams → legacy/streams}/functions.js +1 -1
- package/dist/legacy/streams/functions.js.map +1 -0
- package/dist/{streams → legacy/streams}/parameter.d.ts +5 -5
- package/dist/legacy/streams/parameter.js.map +1 -0
- package/dist/{streams → legacy/streams}/stream.d.ts +6 -6
- package/dist/{streams → legacy/streams}/stream.js +2 -2
- package/dist/legacy/streams/stream.js.map +1 -0
- package/dist/{streams → legacy/streams}/variant.d.ts +5 -5
- package/dist/{streams → legacy/streams}/variant.js +2 -3
- package/dist/legacy/streams/variant.js.map +1 -0
- package/dist/{validators.d.ts → legacy/validators.d.ts} +1 -1
- package/dist/{validators.js → legacy/validators.js} +2 -2
- package/dist/legacy/validators.js.map +1 -0
- package/dist/sql_functions.js +1 -1
- package/dist/sql_functions.js.map +1 -1
- package/dist/sqliteBool.d.ts +5 -0
- package/dist/sqliteBool.js +23 -0
- package/dist/sqliteBool.js.map +1 -0
- package/dist/sync_plan/engine/javascript.js +3 -2
- package/dist/sync_plan/engine/javascript.js.map +1 -1
- package/dist/sync_plan/engine/scalar_expression_engine.js +7 -0
- package/dist/sync_plan/engine/scalar_expression_engine.js.map +1 -1
- package/dist/sync_plan/engine/sqlite.js +3 -0
- package/dist/sync_plan/engine/sqlite.js.map +1 -1
- package/dist/sync_plan/evaluator/bucket_data_source.js +3 -2
- package/dist/sync_plan/evaluator/bucket_data_source.js.map +1 -1
- package/dist/sync_plan/evaluator/parameter_evaluator.js +1 -1
- package/dist/sync_plan/evaluator/parameter_evaluator.js.map +1 -1
- package/dist/sync_plan/evaluator/parameter_index_lookup_creator.js +2 -2
- package/dist/sync_plan/evaluator/parameter_index_lookup_creator.js.map +1 -1
- package/dist/sync_plan/evaluator/table_processor_to_sql.d.ts +5 -2
- package/dist/sync_plan/evaluator/table_processor_to_sql.js +10 -0
- package/dist/sync_plan/evaluator/table_processor_to_sql.js.map +1 -1
- package/dist/sync_plan/plan.d.ts +13 -4
- package/dist/sync_plan/plan_equality_serialized.d.ts +25 -0
- package/dist/sync_plan/plan_equality_serialized.js +46 -0
- package/dist/sync_plan/plan_equality_serialized.js.map +1 -0
- package/dist/sync_plan/serialize.d.ts +35 -18
- package/dist/sync_plan/serialize.js +17 -4
- package/dist/sync_plan/serialize.js.map +1 -1
- package/dist/utils.d.ts +1 -0
- package/dist/utils.js +13 -1
- package/dist/utils.js.map +1 -1
- package/dist/yaml_validation.d.ts +73 -0
- package/dist/yaml_validation.js +140 -0
- package/dist/yaml_validation.js.map +1 -0
- package/package.json +2 -3
- package/dist/BaseSqlDataQuery.js.map +0 -1
- package/dist/SqlBucketDescriptor.js.map +0 -1
- package/dist/SqlDataQuery.js.map +0 -1
- package/dist/SqlParameterQuery.js.map +0 -1
- package/dist/StaticSqlParameterQuery.js.map +0 -1
- package/dist/TableQuerySchema.js.map +0 -1
- package/dist/TableValuedFunctionSqlParameterQuery.js.map +0 -1
- package/dist/sql_filters.js.map +0 -1
- package/dist/sql_support.js.map +0 -1
- package/dist/streams/filter.js.map +0 -1
- package/dist/streams/from_sql.js.map +0 -1
- package/dist/streams/functions.js.map +0 -1
- package/dist/streams/parameter.js.map +0 -1
- package/dist/streams/stream.js.map +0 -1
- package/dist/streams/utils.d.ts +0 -1
- package/dist/streams/utils.js +0 -13
- package/dist/streams/utils.js.map +0 -1
- package/dist/streams/variant.js.map +0 -1
- package/dist/validators.js.map +0 -1
- /package/dist/{TableQuerySchema.js → legacy/TableQuerySchema.js} +0 -0
- /package/dist/{streams → legacy/streams}/parameter.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scalar_expression_engine.js","sourceRoot":"","sources":["../../../src/sync_plan/engine/scalar_expression_engine.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"scalar_expression_engine.js","sourceRoot":"","sources":["../../../src/sync_plan/engine/scalar_expression_engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,9 @@ export function sqliteExpressionEngine(sqlite, compatibility) {
|
|
|
46
46
|
return impl.call(...args);
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
|
+
// We want upper / lower to use a JS implementation to make them Unicode aware.
|
|
50
|
+
registerPowerSyncFunction('upper');
|
|
51
|
+
registerPowerSyncFunction('lower');
|
|
49
52
|
// Needed to make them deterministic / prevent passing 'now'
|
|
50
53
|
registerPowerSyncFunction('unixepoch');
|
|
51
54
|
registerPowerSyncFunction('datetime');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../src/sync_plan/engine/sqlite.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAExE,OAAO,EAAqD,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAoBxH;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,MAAoC;IAC7D,OAAO;QACL,YAAY;YACV,iHAAiH;YACjH,iHAAiH;YACjH,+GAA+G;YAC/G,yCAAyC;YACzC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAS,CAAC,CAAC;YAEjH,OAAO;gBACL,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI;oBAClC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;gBACxG,CAAC;gBACD,OAAO,CAAC,GAAG;oBACT,4GAA4G;oBAC5G,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC7B,OAAO;wBACL,GAAG,CAAC,MAAM;4BACR,wFAAwF;4BACxF,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAA+B,CAAC;wBAC3D,CAAC;qBACF,CAAC;gBACJ,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAc,EAAE,aAAmC;IACxF,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAEtD,SAAS,yBAAyB,CAAC,IAAY;QAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC;QAEpC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;YACxD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4DAA4D;IAC5D,yBAAyB,CAAC,WAAW,CAAC,CAAC;IACvC,yBAAyB,CAAC,UAAU,CAAC,CAAC;IAEtC,yBAAyB,CAAC,cAAc,CAAC,CAAC;IAC1C,yBAAyB,CAAC,WAAW,CAAC,CAAC;IACvC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAElC,EAAE,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAErG,OAAO;QACL,gBAAgB,CAAC,KAAK;YACpB,4GAA4G;YAC5G,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;YACrD,OAAO;gBACL,QAAQ,CAAC,MAAM;oBACb,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC1B,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../src/sync_plan/engine/sqlite.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAExE,OAAO,EAAqD,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAoBxH;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,MAAoC;IAC7D,OAAO;QACL,YAAY;YACV,iHAAiH;YACjH,iHAAiH;YACjH,+GAA+G;YAC/G,yCAAyC;YACzC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAS,CAAC,CAAC;YAEjH,OAAO;gBACL,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI;oBAClC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;gBACxG,CAAC;gBACD,OAAO,CAAC,GAAG;oBACT,4GAA4G;oBAC5G,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC7B,OAAO;wBACL,GAAG,CAAC,MAAM;4BACR,wFAAwF;4BACxF,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAA+B,CAAC;wBAC3D,CAAC;qBACF,CAAC;gBACJ,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAc,EAAE,aAAmC;IACxF,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAEtD,SAAS,yBAAyB,CAAC,IAAY;QAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC;QAEpC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;YACxD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+EAA+E;IAC/E,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACnC,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAEnC,4DAA4D;IAC5D,yBAAyB,CAAC,WAAW,CAAC,CAAC;IACvC,yBAAyB,CAAC,UAAU,CAAC,CAAC;IAEtC,yBAAyB,CAAC,cAAc,CAAC,CAAC;IAC1C,yBAAyB,CAAC,WAAW,CAAC,CAAC;IACvC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAElC,EAAE,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAErG,OAAO;QACL,gBAAgB,CAAC,KAAK;YACpB,4GAA4G;YAC5G,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;YACrD,OAAO;gBACL,QAAQ,CAAC,MAAM;oBACb,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC1B,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { filterJsonRow, isJsonValue, isValidParameterValue, JSONBucketNameSerial
|
|
|
3
3
|
import { scalarStatementToSql } from '../engine/scalar_expression_engine.js';
|
|
4
4
|
import { ExpressionToSqlite } from '../expression_to_sql.js';
|
|
5
5
|
import { SyncPlanSchemaAnalyzer } from '../schema_inference.js';
|
|
6
|
-
import { TableProcessorToSqlHelper } from './table_processor_to_sql.js';
|
|
6
|
+
import { resolveRowMetadata, TableProcessorToSqlHelper } from './table_processor_to_sql.js';
|
|
7
7
|
export class PreparedStreamBucketDataSource {
|
|
8
8
|
source;
|
|
9
9
|
sourceTables = new Set();
|
|
@@ -110,9 +110,10 @@ class PendingStreamDataSource {
|
|
|
110
110
|
}
|
|
111
111
|
instantiate(engine) {
|
|
112
112
|
const evaluator = engine.prepareEvaluator(this.statement);
|
|
113
|
+
const pattern = this.tablePattern;
|
|
113
114
|
return (options, results) => {
|
|
114
115
|
try {
|
|
115
|
-
const inputInstantiation = this.evaluatorInputs.map((input) => options.record[input.column]);
|
|
116
|
+
const inputInstantiation = this.evaluatorInputs.map((input) => 'column' in input ? options.record[input.column] : resolveRowMetadata(input, pattern, options.sourceTable));
|
|
116
117
|
row: for (const source of evaluator.evaluate(inputInstantiation)) {
|
|
117
118
|
const record = {};
|
|
118
119
|
for (const output of this.outputs) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bucket_data_source.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/bucket_data_source.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAW3C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC5G,OAAO,EAGL,oBAAoB,EAErB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"bucket_data_source.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/bucket_data_source.ts"],"names":[],"mappings":"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"}
|
|
@@ -463,7 +463,7 @@ class FullInstantiator extends PartialInstantiator {
|
|
|
463
463
|
for (const [_, { lookup, provenance }] of pendingLookups.entries) {
|
|
464
464
|
lookupsToProvenance.set(lookup, provenance);
|
|
465
465
|
}
|
|
466
|
-
const outputs = await this.input.source.getParameterSets([...lookupsToProvenance.keys()], `Stream ${this.evaluators.stream.name} evaluating parameter on ${resolvedLookup.sourceTable.
|
|
466
|
+
const outputs = await this.input.source.getParameterSets([...lookupsToProvenance.keys()], `Stream ${this.evaluators.stream.name} evaluating parameter on ${resolvedLookup.sourceTable.tablePattern}`);
|
|
467
467
|
// Stream parameters generate an output row like {0: <expr>, 1: <expr>, ...}.
|
|
468
468
|
const values = outputs.flatMap(({ lookup, rows }) => {
|
|
469
469
|
return lookupsToProvenance.get(lookup).flatMap(({ symbol, origin }) => {
|
|
@@ -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,6 +1,6 @@
|
|
|
1
1
|
import { UnscopedParameterLookup } from '../../BucketParameterQuerier.js';
|
|
2
2
|
import { isValidParameterValueRow } from './parameter_evaluator.js';
|
|
3
|
-
import { TableProcessorToSqlHelper } from './table_processor_to_sql.js';
|
|
3
|
+
import { resolveRowMetadata, TableProcessorToSqlHelper } from './table_processor_to_sql.js';
|
|
4
4
|
export class PreparedParameterIndexLookupCreator {
|
|
5
5
|
sourceId;
|
|
6
6
|
sourceTable;
|
|
@@ -46,7 +46,7 @@ export class PreparedParameterIndexLookupCreator {
|
|
|
46
46
|
return a.every((val, idx) => val === b[idx]);
|
|
47
47
|
}
|
|
48
48
|
try {
|
|
49
|
-
const inputInstantiation = this.evaluatorInputs.map((input) => row[input.column]);
|
|
49
|
+
const inputInstantiation = this.evaluatorInputs.map((input) => 'column' in input ? row[input.column] : resolveRowMetadata(input, this.sourceTable, sourceTable));
|
|
50
50
|
// In almost all cases, lookups generate at most one output with exactly one bucket parameter. This is the case
|
|
51
51
|
// for all lookups without a table-valued function, e.g. `SELECT foo.* FROM foo, bar ON foo.x = bar.x AND
|
|
52
52
|
// bar.y = auth.user_id()` which generates a lookup from `bar.y` to `bar.x`. However, it's also possible for:
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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,3 +1,5 @@
|
|
|
1
|
+
import { SourceTableRef } from '../../SourceTableRef.js';
|
|
2
|
+
import { TablePattern } from '../../TablePattern.js';
|
|
1
3
|
import { TableValuedFunction, TableValuedFunctionOutput } from '../engine/scalar_expression_engine.js';
|
|
2
4
|
import { SqlExpression } from '../expression.js';
|
|
3
5
|
import * as plan from '../plan.js';
|
|
@@ -9,12 +11,13 @@ import * as plan from '../plan.js';
|
|
|
9
11
|
*/
|
|
10
12
|
export declare class TableProcessorToSqlHelper {
|
|
11
13
|
mapper: {
|
|
12
|
-
instantiation: plan.ColumnSqlParameterValue[];
|
|
14
|
+
instantiation: (plan.ColumnSqlParameterValue | plan.RowMetadataSqlValue)[];
|
|
13
15
|
tableValuedFunctions: Map<plan.TableProcessorTableValuedFunction, TableValuedFunction>;
|
|
14
16
|
transform(expr: SqlExpression<plan.SqlParameterValue>): SqlExpression<number | TableValuedFunctionOutput>;
|
|
15
|
-
transformWithoutTableValued(expr: SqlExpression<plan.ColumnSqlParameterValue>): SqlExpression<number>;
|
|
17
|
+
transformWithoutTableValued(expr: SqlExpression<plan.ColumnSqlParameterValue | plan.RowMetadataSqlValue>): SqlExpression<number>;
|
|
16
18
|
};
|
|
17
19
|
readonly filterExpressions: SqlExpression<number | TableValuedFunctionOutput>[];
|
|
18
20
|
get tableValuedFunctions(): TableValuedFunction[];
|
|
19
21
|
constructor(source: plan.TableProcessor);
|
|
20
22
|
}
|
|
23
|
+
export declare function resolveRowMetadata(value: plan.RowMetadataSqlValue, pattern: TablePattern, table: SourceTableRef): string;
|
|
@@ -25,4 +25,14 @@ export class TableProcessorToSqlHelper {
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
+
export function resolveRowMetadata(value, pattern, table) {
|
|
29
|
+
switch (value.metadata) {
|
|
30
|
+
case 'schema':
|
|
31
|
+
return table.schema;
|
|
32
|
+
case 'table_name':
|
|
33
|
+
return table.name;
|
|
34
|
+
case 'table_suffix':
|
|
35
|
+
return pattern.isWildcard ? pattern.suffix(table.name) : '';
|
|
36
|
+
}
|
|
37
|
+
}
|
|
28
38
|
//# sourceMappingURL=table_processor_to_sql.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table_processor_to_sql.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/table_processor_to_sql.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"table_processor_to_sql.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/table_processor_to_sql.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,8BAA8B,EAG/B,MAAM,uCAAuC,CAAC;AAI/C;;;;;GAKG;AACH,MAAM,OAAO,yBAAyB;IACpC,MAAM,GAAG,8BAA8B,EAA2D,CAAC;IAC1F,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;AAED,MAAM,UAAU,kBAAkB,CAChC,KAA+B,EAC/B,OAAqB,EACrB,KAAqB;IAErB,QAAQ,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvB,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,MAAM,CAAC;QACtB,KAAK,YAAY;YACf,OAAO,KAAK,CAAC,IAAI,CAAC;QACpB,KAAK,cAAc;YACjB,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,CAAC;AACH,CAAC"}
|
package/dist/sync_plan/plan.d.ts
CHANGED
|
@@ -88,10 +88,10 @@ export interface TableProcessorTableValuedFunctionOutput {
|
|
|
88
88
|
/**
|
|
89
89
|
* External data that can be used in expressions for {@link TableProcessor}s.
|
|
90
90
|
*
|
|
91
|
-
* This allows references to the row in the table being processed,
|
|
92
|
-
* {@link TableProcessor#tableValuedFunctions}.
|
|
91
|
+
* This allows references to the row in the table being processed, metadata about the row's source table, and
|
|
92
|
+
* references to outputs of joined {@link TableProcessor#tableValuedFunctions}.
|
|
93
93
|
*/
|
|
94
|
-
export type TableProcessorData = ColumnSqlParameterValue | TableProcessorTableValuedFunctionOutput;
|
|
94
|
+
export type TableProcessorData = ColumnSqlParameterValue | RowMetadataSqlValue | TableProcessorTableValuedFunctionOutput;
|
|
95
95
|
/**
|
|
96
96
|
* A scalar partition key evaluates to a single value in the source or parameter row. For instance, a stream definition
|
|
97
97
|
* like `SELECT * FROM users WHERE id = auth.user_id()` would generate a scalar key to partition users by the `id`
|
|
@@ -197,6 +197,15 @@ export interface StreamQuerier {
|
|
|
197
197
|
export interface ColumnSqlParameterValue {
|
|
198
198
|
column: string;
|
|
199
199
|
}
|
|
200
|
+
export type RowMetadataKind = 'schema' | 'table_name' | 'table_suffix';
|
|
201
|
+
/**
|
|
202
|
+
* A value that resolves to metadata about the source table of the row being processed: the schema containing the
|
|
203
|
+
* table (`schema()`), the name of the table (`table_name()`) or, for wildcard table patterns, the matched
|
|
204
|
+
* suffix of the table name (`table_suffix()`).
|
|
205
|
+
*/
|
|
206
|
+
export interface RowMetadataSqlValue {
|
|
207
|
+
metadata: RowMetadataKind;
|
|
208
|
+
}
|
|
200
209
|
export type ConnectionParameterSource = 'auth' | 'subscription' | 'connection';
|
|
201
210
|
/**
|
|
202
211
|
* A value that resolves to either the current subscription parameters, the JWT of the connecting user or global
|
|
@@ -205,7 +214,7 @@ export type ConnectionParameterSource = 'auth' | 'subscription' | 'connection';
|
|
|
205
214
|
export interface RequestSqlParameterValue {
|
|
206
215
|
request: ConnectionParameterSource;
|
|
207
216
|
}
|
|
208
|
-
export type SqlParameterValue = ColumnSqlParameterValue | RequestSqlParameterValue | TableProcessorTableValuedFunctionOutput;
|
|
217
|
+
export type SqlParameterValue = ColumnSqlParameterValue | RowMetadataSqlValue | RequestSqlParameterValue | TableProcessorTableValuedFunctionOutput;
|
|
209
218
|
/**
|
|
210
219
|
* A lookup returning multiple rows when instantiated.
|
|
211
220
|
*/
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Equality } from '../compiler/equality.js';
|
|
2
|
+
import { SerializedBucketDataSource, SerializedDataSource, SerializedParameterIndexLookupCreator } from './serialize.js';
|
|
3
|
+
export interface SerializedBucketDataSourceWithDataSources {
|
|
4
|
+
bucket: SerializedBucketDataSource;
|
|
5
|
+
dataSources: readonly SerializedDataSource[];
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Equality for SerializedParameterIndexLookupCreator.
|
|
9
|
+
*
|
|
10
|
+
* This compares the JSON form directly. These are self-contained and use a stable serialization form, so it's
|
|
11
|
+
* safe to compare this way.
|
|
12
|
+
*
|
|
13
|
+
* These are only considered equal if the lookupName remains the same, so may be affected by changing order of queries.
|
|
14
|
+
*/
|
|
15
|
+
export declare const serializedStreamParameterIndexLookupCreatorEquality: Equality<SerializedParameterIndexLookupCreator>;
|
|
16
|
+
/**
|
|
17
|
+
* SerializedBucketDataSource is not safe to compare _directly_, since it contains index references to SerializedDataSource
|
|
18
|
+
* in the serialized sync plan. However, each SerializedDataSource is self-contained and safe to compare directly.
|
|
19
|
+
*
|
|
20
|
+
* So we compare the SerializedDataSource excluding `bucket.sources`, as well as the resolved SerializedDataSources (order independent).
|
|
21
|
+
* The caller is responsible for resolving the SerializedDataSources.
|
|
22
|
+
*
|
|
23
|
+
* These are only considered equal if uniqueName is the same, so may be affected by changing order of joins/subqueries.
|
|
24
|
+
*/
|
|
25
|
+
export declare const serializedStreamBucketDataSourceEquality: Equality<SerializedBucketDataSourceWithDataSources>;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Equality for SerializedParameterIndexLookupCreator.
|
|
3
|
+
*
|
|
4
|
+
* This compares the JSON form directly. These are self-contained and use a stable serialization form, so it's
|
|
5
|
+
* safe to compare this way.
|
|
6
|
+
*
|
|
7
|
+
* These are only considered equal if the lookupName remains the same, so may be affected by changing order of queries.
|
|
8
|
+
*/
|
|
9
|
+
export const serializedStreamParameterIndexLookupCreatorEquality = jsonEquality();
|
|
10
|
+
/**
|
|
11
|
+
* SerializedBucketDataSource is not safe to compare _directly_, since it contains index references to SerializedDataSource
|
|
12
|
+
* in the serialized sync plan. However, each SerializedDataSource is self-contained and safe to compare directly.
|
|
13
|
+
*
|
|
14
|
+
* So we compare the SerializedDataSource excluding `bucket.sources`, as well as the resolved SerializedDataSources (order independent).
|
|
15
|
+
* The caller is responsible for resolving the SerializedDataSources.
|
|
16
|
+
*
|
|
17
|
+
* These are only considered equal if uniqueName is the same, so may be affected by changing order of joins/subqueries.
|
|
18
|
+
*/
|
|
19
|
+
export const serializedStreamBucketDataSourceEquality = {
|
|
20
|
+
hash(hasher, value) {
|
|
21
|
+
hasher.addString(JSON.stringify(bucketIdentity(value)));
|
|
22
|
+
},
|
|
23
|
+
equals(a, b) {
|
|
24
|
+
return a === b || JSON.stringify(bucketIdentity(a)) == JSON.stringify(bucketIdentity(b));
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
function bucketIdentity(value) {
|
|
28
|
+
const { bucket, dataSources } = value;
|
|
29
|
+
return {
|
|
30
|
+
hash: bucket.hash,
|
|
31
|
+
uniqueName: bucket.uniqueName,
|
|
32
|
+
// Sort so that the order of sources does not affect equality, as long as the same data sources are included.
|
|
33
|
+
sources: bucket.sources.map((index) => JSON.stringify(dataSources[index])).sort()
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function jsonEquality() {
|
|
37
|
+
return {
|
|
38
|
+
hash(hasher, value) {
|
|
39
|
+
hasher.addString(JSON.stringify(value));
|
|
40
|
+
},
|
|
41
|
+
equals(a, b) {
|
|
42
|
+
return a === b || JSON.stringify(a) == JSON.stringify(b);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=plan_equality_serialized.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan_equality_serialized.js","sourceRoot":"","sources":["../../src/sync_plan/plan_equality_serialized.ts"],"names":[],"mappings":"AAYA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mDAAmD,GAC9D,YAAY,EAAyC,CAAC;AAExD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAwD;IAC3G,IAAI,CAAC,MAAM,EAAE,KAAK;QAChB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;CACF,CAAC;AAEF,SAAS,cAAc,CAAC,KAAgD;IACtE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAEtC,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,6GAA6G;QAC7G,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;KAClF,CAAC;AACJ,CAAC;AAED,SAAS,YAAY;IACnB,OAAO;QACL,IAAI,CAAC,MAAM,EAAE,KAAK;YAChB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,CAAC,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ParameterLookupDefinitionId } from '../HydrationState.js';
|
|
2
2
|
import { SqlExpression } from './expression.js';
|
|
3
|
-
import { ColumnSqlParameterValue, RequestSqlParameterValue, StreamOptions, SyncPlan, TableProcessorTableValuedFunction } from './plan.js';
|
|
3
|
+
import { ColumnSqlParameterValue, RequestSqlParameterValue, RowMetadataSqlValue, StreamOptions, SyncPlan, TableProcessorTableValuedFunction } from './plan.js';
|
|
4
4
|
/**
|
|
5
5
|
* Serializes a sync plan into a simple JSON object.
|
|
6
6
|
*
|
|
@@ -8,38 +8,56 @@ import { ColumnSqlParameterValue, RequestSqlParameterValue, StreamOptions, SyncP
|
|
|
8
8
|
* queriers to bucket creators. To represent this efficiently, we assign numbers to referenced elements while
|
|
9
9
|
* serializing instead of duplicating definitions.
|
|
10
10
|
*/
|
|
11
|
-
export declare function serializeSyncPlan(plan: SyncPlan):
|
|
11
|
+
export declare function serializeSyncPlan(plan: SyncPlan): SerializedSyncPlan;
|
|
12
12
|
export declare function deserializeSyncPlan(serialized: unknown): SyncPlan;
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Every change to the format of {@link SerializedSyncPlan} needs a version bump and a changelog entry in this
|
|
15
|
+
* documentation comment. Even for seemingly backward-compatible changes, like adding new fields, older services would
|
|
16
|
+
* be unaware of them and thus interpret the sync plan incorrectly. Increasing this version ensures that older services
|
|
17
|
+
* wouldn't even try to deserialize sync plans.
|
|
18
|
+
*
|
|
19
|
+
* ### Version 2
|
|
20
|
+
*
|
|
21
|
+
* - Add {@link RowMetadataSqlValue} to data for row and parameter evaluators, exposing the exact table and schema name
|
|
22
|
+
* when matching on wildcard table patterns.
|
|
23
|
+
* The deserialization logic can remain the same for v1 and v2.
|
|
24
|
+
*
|
|
25
|
+
* ### Version 1
|
|
26
|
+
*
|
|
27
|
+
* - Initial version
|
|
28
|
+
*/
|
|
29
|
+
export type SerializedSyncPlanVersion = 1 | 2;
|
|
30
|
+
export declare const maxSupportedSyncPlanVersion: SerializedSyncPlanVersion;
|
|
31
|
+
export interface SerializedSyncPlan {
|
|
32
|
+
version: SerializedSyncPlanVersion;
|
|
15
33
|
dataSources: SerializedDataSource[];
|
|
16
34
|
buckets: SerializedBucketDataSource[];
|
|
17
35
|
parameterIndexes: SerializedParameterIndexLookupCreator[];
|
|
18
36
|
streams: SerializedStream[];
|
|
19
37
|
}
|
|
20
|
-
interface SerializedBucketDataSource {
|
|
38
|
+
export interface SerializedBucketDataSource {
|
|
21
39
|
hash: number;
|
|
22
40
|
uniqueName: string;
|
|
23
41
|
sources: number[];
|
|
24
42
|
}
|
|
25
|
-
interface SerializedTablePattern {
|
|
43
|
+
export interface SerializedTablePattern {
|
|
26
44
|
connection: string | null;
|
|
27
45
|
schema: string | null;
|
|
28
46
|
table: string;
|
|
29
47
|
}
|
|
30
|
-
interface SerializedTableProcessorTableValuedFunctionOutput {
|
|
48
|
+
export interface SerializedTableProcessorTableValuedFunctionOutput {
|
|
31
49
|
function: number;
|
|
32
50
|
outputName: string;
|
|
33
51
|
}
|
|
34
|
-
type SerializedTableProcessorData = ColumnSqlParameterValue | SerializedTableProcessorTableValuedFunctionOutput;
|
|
35
|
-
interface SerializedPartitionKey {
|
|
52
|
+
export type SerializedTableProcessorData = ColumnSqlParameterValue | RowMetadataSqlValue | SerializedTableProcessorTableValuedFunctionOutput;
|
|
53
|
+
export interface SerializedPartitionKey {
|
|
36
54
|
expr: SqlExpression<SerializedTableProcessorData>;
|
|
37
55
|
}
|
|
38
|
-
type SerializedColumnSource = 'star' | {
|
|
56
|
+
export type SerializedColumnSource = 'star' | {
|
|
39
57
|
expr: SqlExpression<SerializedTableProcessorData>;
|
|
40
58
|
alias: string;
|
|
41
59
|
};
|
|
42
|
-
interface SerializedDataSource {
|
|
60
|
+
export interface SerializedDataSource {
|
|
43
61
|
table: SerializedTablePattern;
|
|
44
62
|
outputTableName?: string;
|
|
45
63
|
hash: number;
|
|
@@ -48,7 +66,7 @@ interface SerializedDataSource {
|
|
|
48
66
|
tableValuedFunctions: TableProcessorTableValuedFunction[];
|
|
49
67
|
partitionBy: SerializedPartitionKey[];
|
|
50
68
|
}
|
|
51
|
-
interface SerializedParameterIndexLookupCreator {
|
|
69
|
+
export interface SerializedParameterIndexLookupCreator {
|
|
52
70
|
table: SerializedTablePattern;
|
|
53
71
|
hash: number;
|
|
54
72
|
lookupScope: ParameterLookupDefinitionId;
|
|
@@ -57,17 +75,17 @@ interface SerializedParameterIndexLookupCreator {
|
|
|
57
75
|
tableValuedFunctions: TableProcessorTableValuedFunction[];
|
|
58
76
|
partitionBy: SerializedPartitionKey[];
|
|
59
77
|
}
|
|
60
|
-
interface SerializedStream {
|
|
78
|
+
export interface SerializedStream {
|
|
61
79
|
stream: StreamOptions;
|
|
62
80
|
queriers: SerializedStreamQuerier[];
|
|
63
81
|
}
|
|
64
|
-
interface SerializedStreamQuerier {
|
|
82
|
+
export interface SerializedStreamQuerier {
|
|
65
83
|
requestFilters: SqlExpression<RequestSqlParameterValue>[];
|
|
66
84
|
lookupStages: SerializedExpandingLookup[][];
|
|
67
85
|
bucket: number;
|
|
68
86
|
sourceInstantiation: SerializedParameterValue[];
|
|
69
87
|
}
|
|
70
|
-
type SerializedExpandingLookup = {
|
|
88
|
+
export type SerializedExpandingLookup = {
|
|
71
89
|
type: 'parameter';
|
|
72
90
|
lookup: number;
|
|
73
91
|
instantiation: SerializedParameterValue[];
|
|
@@ -78,11 +96,11 @@ type SerializedExpandingLookup = {
|
|
|
78
96
|
outputs: SqlExpression<ColumnSqlParameterValue>[];
|
|
79
97
|
filters: SqlExpression<ColumnSqlParameterValue>[];
|
|
80
98
|
};
|
|
81
|
-
interface LookupReference {
|
|
99
|
+
export interface LookupReference {
|
|
82
100
|
stageId: number;
|
|
83
101
|
idInStage: number;
|
|
84
102
|
}
|
|
85
|
-
type SerializedParameterValue = {
|
|
103
|
+
export type SerializedParameterValue = {
|
|
86
104
|
type: 'request';
|
|
87
105
|
expr: SqlExpression<RequestSqlParameterValue>;
|
|
88
106
|
} | {
|
|
@@ -93,4 +111,3 @@ type SerializedParameterValue = {
|
|
|
93
111
|
type: 'intersection';
|
|
94
112
|
values: SerializedParameterValue[];
|
|
95
113
|
};
|
|
96
|
-
export {};
|
|
@@ -13,7 +13,9 @@ export function serializeSyncPlan(plan) {
|
|
|
13
13
|
const parameterIndex = new Map();
|
|
14
14
|
const expandingLookups = new Map();
|
|
15
15
|
const addedTableValuedFunctions = new Map();
|
|
16
|
+
let usesRowMetadataSqlValue = false;
|
|
16
17
|
const replaceFunctionReferenceWithIndex = new MapSourceVisitor((value) => {
|
|
18
|
+
usesRowMetadataSqlValue ||= 'metadata' in value;
|
|
17
19
|
if ('function' in value) {
|
|
18
20
|
return { function: addedTableValuedFunctions.get(value.function), outputName: value.outputName };
|
|
19
21
|
}
|
|
@@ -34,7 +36,13 @@ export function serializeSyncPlan(plan) {
|
|
|
34
36
|
function serializeTableValued(source) {
|
|
35
37
|
return source.tableValuedFunctions.map((fn, i) => {
|
|
36
38
|
addedTableValuedFunctions.set(fn, i);
|
|
37
|
-
return
|
|
39
|
+
return {
|
|
40
|
+
functionName: fn.functionName,
|
|
41
|
+
functionInputs: fn.functionInputs.map(
|
|
42
|
+
// Since we don't support table-valued functions as inputs to other table-valued functions, this doesn't
|
|
43
|
+
// change expressions. It ensures we track row metadata use in any input, though.
|
|
44
|
+
(s) => serializeTableProcessorDataExpr(s))
|
|
45
|
+
};
|
|
38
46
|
});
|
|
39
47
|
}
|
|
40
48
|
function translateParameters(source) {
|
|
@@ -125,7 +133,6 @@ export function serializeSyncPlan(plan) {
|
|
|
125
133
|
};
|
|
126
134
|
}
|
|
127
135
|
return {
|
|
128
|
-
version: 1,
|
|
129
136
|
dataSources: serializeDataSources(),
|
|
130
137
|
buckets: plan.buckets.map((bkt, index) => {
|
|
131
138
|
bucketIndex.set(bkt, index);
|
|
@@ -139,13 +146,18 @@ export function serializeSyncPlan(plan) {
|
|
|
139
146
|
streams: plan.streams.map((s) => ({
|
|
140
147
|
stream: s.stream,
|
|
141
148
|
queriers: s.queriers.map(serializeStreamQuerier)
|
|
142
|
-
}))
|
|
149
|
+
})),
|
|
150
|
+
version: usesRowMetadataSqlValue ? 2 : 1
|
|
143
151
|
};
|
|
144
152
|
}
|
|
145
153
|
export function deserializeSyncPlan(serialized) {
|
|
146
|
-
|
|
154
|
+
const { version } = serialized;
|
|
155
|
+
if (version < 1) {
|
|
147
156
|
throw new Error('Unknown sync plan version passed to deserializeSyncPlan()');
|
|
148
157
|
}
|
|
158
|
+
if (version > maxSupportedSyncPlanVersion) {
|
|
159
|
+
throw new Error(`Encountered a sync plan with version ${version}, the maximum supported version is ${maxSupportedSyncPlanVersion}. This can happen when the PowerSync service version is downgraded after deploying Sync Streams, consider upgrading or re-deploying.`);
|
|
160
|
+
}
|
|
149
161
|
function deserializeTablePattern(pattern) {
|
|
150
162
|
if (pattern.schema) {
|
|
151
163
|
return new TablePattern(`${pattern.connection}.${pattern.schema}`, pattern.table);
|
|
@@ -271,4 +283,5 @@ export function deserializeSyncPlan(serialized) {
|
|
|
271
283
|
streams
|
|
272
284
|
};
|
|
273
285
|
}
|
|
286
|
+
export const maxSupportedSyncPlanVersion = 2;
|
|
274
287
|
//# sourceMappingURL=serialize.js.map
|