@powersync/service-sync-rules 0.40.0 → 0.42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/HydratedSyncConfig.d.ts +9 -2
- package/dist/HydratedSyncConfig.js +12 -1
- package/dist/HydratedSyncConfig.js.map +1 -1
- package/dist/HydrationState.d.ts +2 -0
- package/dist/HydrationState.js.map +1 -1
- package/dist/StorageVersion.js +2 -1
- package/dist/StorageVersion.js.map +1 -1
- package/dist/SyncConfig.d.ts +4 -3
- package/dist/SyncConfig.js +10 -11
- package/dist/SyncConfig.js.map +1 -1
- package/dist/compiler/bucket_resolver.d.ts +1 -0
- package/dist/compiler/bucket_resolver.js +22 -12
- package/dist/compiler/bucket_resolver.js.map +1 -1
- package/dist/compiler/compatibility.d.ts +38 -9
- package/dist/compiler/compatibility.js +81 -11
- package/dist/compiler/compatibility.js.map +1 -1
- package/dist/compiler/compiler.d.ts +81 -13
- package/dist/compiler/compiler.js +111 -15
- package/dist/compiler/compiler.js.map +1 -1
- package/dist/compiler/expression.d.ts +17 -15
- package/dist/compiler/expression.js +21 -12
- package/dist/compiler/expression.js.map +1 -1
- package/dist/compiler/filter.d.ts +4 -4
- package/dist/compiler/filter.js +5 -4
- package/dist/compiler/filter.js.map +1 -1
- package/dist/compiler/ir_to_sync_plan.d.ts +4 -2
- package/dist/compiler/ir_to_sync_plan.js +40 -36
- package/dist/compiler/ir_to_sync_plan.js.map +1 -1
- package/dist/compiler/querier_graph.js +43 -24
- package/dist/compiler/querier_graph.js.map +1 -1
- package/dist/compiler/rows.d.ts +23 -29
- package/dist/compiler/rows.js +83 -59
- package/dist/compiler/rows.js.map +1 -1
- package/dist/compiler/table.d.ts +3 -2
- package/dist/compiler/table.js +5 -6
- package/dist/compiler/table.js.map +1 -1
- package/dist/events/CompiledEventSourceQuery.d.ts +51 -0
- package/dist/events/CompiledEventSourceQuery.js +119 -0
- package/dist/events/CompiledEventSourceQuery.js.map +1 -0
- package/dist/events/EventDescriptor.d.ts +26 -0
- package/dist/events/EventDescriptor.js +2 -0
- package/dist/events/EventDescriptor.js.map +1 -0
- package/dist/from_yaml.js +24 -20
- package/dist/from_yaml.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/json_schema.js +1 -1
- package/dist/json_schema.js.map +1 -1
- package/dist/schema-generators/RustSchemaGenerator.d.ts +22 -0
- package/dist/schema-generators/RustSchemaGenerator.js +120 -0
- package/dist/schema-generators/RustSchemaGenerator.js.map +1 -0
- package/dist/schema-generators/generators.d.ts +2 -0
- package/dist/schema-generators/generators.js +2 -0
- package/dist/schema-generators/generators.js.map +1 -1
- package/dist/schema-generators/schema-generators.d.ts +1 -0
- package/dist/schema-generators/schema-generators.js +1 -0
- package/dist/schema-generators/schema-generators.js.map +1 -1
- package/dist/sync_plan/evaluator/bucket_data_source.js +11 -53
- package/dist/sync_plan/evaluator/bucket_data_source.js.map +1 -1
- package/dist/sync_plan/evaluator/index.d.ts +2 -7
- package/dist/sync_plan/evaluator/index.js +6 -7
- package/dist/sync_plan/evaluator/index.js.map +1 -1
- package/dist/sync_plan/evaluator/parameter_evaluator.js +11 -7
- package/dist/sync_plan/evaluator/parameter_evaluator.js.map +1 -1
- package/dist/sync_plan/evaluator/row_projection.d.ts +22 -0
- package/dist/sync_plan/evaluator/row_projection.js +71 -0
- package/dist/sync_plan/evaluator/row_projection.js.map +1 -0
- package/dist/sync_plan/plan.d.ts +36 -5
- package/dist/sync_plan/plan_equality_serialized.d.ts +12 -2
- package/dist/sync_plan/plan_equality_serialized.js +56 -0
- package/dist/sync_plan/plan_equality_serialized.js.map +1 -1
- package/dist/sync_plan/serialize.d.ts +35 -4
- package/dist/sync_plan/serialize.js +93 -16
- package/dist/sync_plan/serialize.js.map +1 -1
- package/package.json +1 -1
- package/schema/sync_rules.json +3 -2
- package/dist/events/SqlEventDescriptor.d.ts +0 -20
- package/dist/events/SqlEventDescriptor.js +0 -51
- package/dist/events/SqlEventDescriptor.js.map +0 -1
- package/dist/events/SqlEventSourceQuery.d.ts +0 -20
- package/dist/events/SqlEventSourceQuery.js +0 -125
- package/dist/events/SqlEventSourceQuery.js.map +0 -1
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { TYPE_INTEGER, TYPE_REAL, TYPE_TEXT } from '../ExpressionType.js';
|
|
2
|
+
import { SchemaGenerator, toCamelCase } from './SchemaGenerator.js';
|
|
3
|
+
/**
|
|
4
|
+
* Generates the client-side schema for the PowerSync Rust SDK, in the shape its reference docs use:
|
|
5
|
+
* an `app_schema()` function that pushes one `Table::create(...)` per synced table.
|
|
6
|
+
*
|
|
7
|
+
* When the sync configuration has optional streams, a `TypedSyncStreams` helper is generated with
|
|
8
|
+
* one method per stream.
|
|
9
|
+
*/
|
|
10
|
+
export class RustSchemaGenerator extends SchemaGenerator {
|
|
11
|
+
key = 'rust';
|
|
12
|
+
label = 'Rust';
|
|
13
|
+
mediaType = 'text/rust';
|
|
14
|
+
fileName = 'schema.rs';
|
|
15
|
+
generate(source, schema, options) {
|
|
16
|
+
const tables = super.getAllTables(source, schema);
|
|
17
|
+
const streams = this.getOptionalStreams(source, schema);
|
|
18
|
+
const pushes = tables.map((table) => this.generateTable(table.name, table.columns, options)).join('\n\n');
|
|
19
|
+
// Import order matches what rustfmt produces.
|
|
20
|
+
let imports = 'use powersync::schema::{Column, Schema, Table};';
|
|
21
|
+
if (streams.length) {
|
|
22
|
+
imports += '\nuse powersync::{PowerSyncDatabase, SyncStream};';
|
|
23
|
+
if (streams.some((stream) => Object.keys(stream.parameters).length > 0)) {
|
|
24
|
+
imports += '\nuse serde_json::json;';
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const streamHelper = streams.length ? `\n${this.generateStreamHelper(streams)}` : '';
|
|
28
|
+
return `${imports}
|
|
29
|
+
|
|
30
|
+
pub fn app_schema() -> Schema {
|
|
31
|
+
let mut schema = Schema::default();
|
|
32
|
+
|
|
33
|
+
${pushes}
|
|
34
|
+
|
|
35
|
+
schema
|
|
36
|
+
}
|
|
37
|
+
${streamHelper}`;
|
|
38
|
+
}
|
|
39
|
+
generateTable(name, columns, options) {
|
|
40
|
+
const lines = columns.map((column) => {
|
|
41
|
+
const line = ` ${this.generateColumn(column)},`;
|
|
42
|
+
if (options?.includeTypeComments && column.originalType != null) {
|
|
43
|
+
return `${line} // ${column.originalType}`;
|
|
44
|
+
}
|
|
45
|
+
return line;
|
|
46
|
+
});
|
|
47
|
+
const columnsVec = lines.length > 0 ? `vec![\n${lines.join('\n')}\n ]` : 'vec![]';
|
|
48
|
+
return ` schema.tables.push(Table::create(
|
|
49
|
+
${rustString(name)},
|
|
50
|
+
${columnsVec},
|
|
51
|
+
|_| {},
|
|
52
|
+
));`;
|
|
53
|
+
}
|
|
54
|
+
generateColumn(column) {
|
|
55
|
+
return `Column::${this.columnType(column)}(${rustString(column.name)})`;
|
|
56
|
+
}
|
|
57
|
+
generateStreamHelper(streams) {
|
|
58
|
+
const methods = streams.map((stream) => this.generateStreamMethod(stream)).join('\n\n');
|
|
59
|
+
// The field must be pub so that the helper can be constructed from outside the generated module.
|
|
60
|
+
return `pub struct TypedSyncStreams<'a>(pub &'a PowerSyncDatabase);
|
|
61
|
+
|
|
62
|
+
impl<'a> TypedSyncStreams<'a> {
|
|
63
|
+
${methods}
|
|
64
|
+
}
|
|
65
|
+
`;
|
|
66
|
+
}
|
|
67
|
+
generateStreamMethod(stream) {
|
|
68
|
+
const entries = Object.entries(stream.parameters);
|
|
69
|
+
const name = rustString(stream.name);
|
|
70
|
+
if (entries.length == 0) {
|
|
71
|
+
return ` pub fn ${toSnakeCase(stream.name)}(&self) -> SyncStream<'a> {
|
|
72
|
+
self.0.sync_stream(${name}, None)
|
|
73
|
+
}`;
|
|
74
|
+
}
|
|
75
|
+
const args = entries.map(([parameter, type]) => `${toSnakeCase(parameter)}: ${this.rustType(type)}`).join(', ');
|
|
76
|
+
const jsonEntries = entries.map(([parameter]) => `${rustString(parameter)}: ${toSnakeCase(parameter)}`).join(', ');
|
|
77
|
+
return ` pub fn ${toSnakeCase(stream.name)}(&self, ${args}) -> SyncStream<'a> {
|
|
78
|
+
let encoded_params = json!({${jsonEntries}});
|
|
79
|
+
|
|
80
|
+
self.0.sync_stream(${name}, Some(&encoded_params))
|
|
81
|
+
}`;
|
|
82
|
+
}
|
|
83
|
+
rustType({ type }) {
|
|
84
|
+
if (type.typeFlags & TYPE_TEXT) {
|
|
85
|
+
// The SDK clones parameters internally, so &str is more convenient for callers than String.
|
|
86
|
+
return '&str';
|
|
87
|
+
}
|
|
88
|
+
else if (type.typeFlags & TYPE_REAL) {
|
|
89
|
+
return 'f64';
|
|
90
|
+
}
|
|
91
|
+
else if (type.typeFlags & TYPE_INTEGER) {
|
|
92
|
+
return 'i64';
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
return '&str';
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
const RUST_STRING_ESCAPES = {
|
|
100
|
+
'\\': '\\\\',
|
|
101
|
+
'"': '\\"',
|
|
102
|
+
'\n': '\\n',
|
|
103
|
+
'\r': '\\r',
|
|
104
|
+
'\t': '\\t'
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* Wraps a name in a Rust string literal, escaping characters that would break or distort it.
|
|
108
|
+
*/
|
|
109
|
+
function rustString(value) {
|
|
110
|
+
return `"${value.replace(/[\\"\n\r\t]/g, (c) => RUST_STRING_ESCAPES[c])}"`;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Converts a name to a snake_case Rust identifier, e.g. `myStream` and `my-stream` become `my_stream`.
|
|
114
|
+
*/
|
|
115
|
+
function toSnakeCase(source) {
|
|
116
|
+
return toCamelCase(source)
|
|
117
|
+
.replace(/([a-z0-9])([A-Z])/g, '$1_$2')
|
|
118
|
+
.toLowerCase();
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=RustSchemaGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RustSchemaGenerator.js","sourceRoot":"","sources":["../../src/schema-generators/RustSchemaGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { DartSchemaGenerator } from './DartSchemaGenerator.js';
|
|
|
2
2
|
import { DotNetClassSchemaGenerator, DotNetSchemaGenerator } from './DotNetSchemaGenerator.js';
|
|
3
3
|
import { JsLegacySchemaGenerator } from './JsLegacySchemaGenerator.js';
|
|
4
4
|
import { KotlinSchemaGenerator } from './KotlinSchemaGenerator.js';
|
|
5
|
+
import { RustSchemaGenerator } from './RustSchemaGenerator.js';
|
|
5
6
|
import { SwiftSchemaGenerator } from './SwiftSchemaGenerator.js';
|
|
6
7
|
import { TsSchemaGenerator } from './TsSchemaGenerator.js';
|
|
7
8
|
export declare const schemaGenerators: {
|
|
@@ -11,6 +12,7 @@ export declare const schemaGenerators: {
|
|
|
11
12
|
js: TsSchemaGenerator;
|
|
12
13
|
jsLegacy: JsLegacySchemaGenerator;
|
|
13
14
|
kotlin: KotlinSchemaGenerator;
|
|
15
|
+
rust: RustSchemaGenerator;
|
|
14
16
|
swift: SwiftSchemaGenerator;
|
|
15
17
|
ts: TsSchemaGenerator;
|
|
16
18
|
};
|
|
@@ -2,6 +2,7 @@ import { DartSchemaGenerator } from './DartSchemaGenerator.js';
|
|
|
2
2
|
import { DotNetClassSchemaGenerator, DotNetSchemaGenerator } from './DotNetSchemaGenerator.js';
|
|
3
3
|
import { JsLegacySchemaGenerator } from './JsLegacySchemaGenerator.js';
|
|
4
4
|
import { KotlinSchemaGenerator } from './KotlinSchemaGenerator.js';
|
|
5
|
+
import { RustSchemaGenerator } from './RustSchemaGenerator.js';
|
|
5
6
|
import { SwiftSchemaGenerator } from './SwiftSchemaGenerator.js';
|
|
6
7
|
import { TsSchemaGenerator, TsSchemaLanguage } from './TsSchemaGenerator.js';
|
|
7
8
|
export const schemaGenerators = {
|
|
@@ -11,6 +12,7 @@ export const schemaGenerators = {
|
|
|
11
12
|
js: new TsSchemaGenerator({ language: TsSchemaLanguage.js }),
|
|
12
13
|
jsLegacy: new JsLegacySchemaGenerator(),
|
|
13
14
|
kotlin: new KotlinSchemaGenerator(),
|
|
15
|
+
rust: new RustSchemaGenerator(),
|
|
14
16
|
swift: new SwiftSchemaGenerator(),
|
|
15
17
|
ts: new TsSchemaGenerator()
|
|
16
18
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generators.js","sourceRoot":"","sources":["../../src/schema-generators/generators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE7E,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,IAAI,mBAAmB,EAAE;IAC/B,MAAM,EAAE,IAAI,qBAAqB,EAAE;IACnC,WAAW,EAAE,IAAI,0BAA0B,EAAE;IAC7C,EAAE,EAAE,IAAI,iBAAiB,CAAC,EAAE,QAAQ,EAAE,gBAAgB,CAAC,EAAE,EAAE,CAAC;IAC5D,QAAQ,EAAE,IAAI,uBAAuB,EAAE;IACvC,MAAM,EAAE,IAAI,qBAAqB,EAAE;IACnC,KAAK,EAAE,IAAI,oBAAoB,EAAE;IACjC,EAAE,EAAE,IAAI,iBAAiB,EAAE;CAC5B,CAAC"}
|
|
1
|
+
{"version":3,"file":"generators.js","sourceRoot":"","sources":["../../src/schema-generators/generators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE7E,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,IAAI,mBAAmB,EAAE;IAC/B,MAAM,EAAE,IAAI,qBAAqB,EAAE;IACnC,WAAW,EAAE,IAAI,0BAA0B,EAAE;IAC7C,EAAE,EAAE,IAAI,iBAAiB,CAAC,EAAE,QAAQ,EAAE,gBAAgB,CAAC,EAAE,EAAE,CAAC;IAC5D,QAAQ,EAAE,IAAI,uBAAuB,EAAE;IACvC,MAAM,EAAE,IAAI,qBAAqB,EAAE;IACnC,IAAI,EAAE,IAAI,mBAAmB,EAAE;IAC/B,KAAK,EAAE,IAAI,oBAAoB,EAAE;IACjC,EAAE,EAAE,IAAI,iBAAiB,EAAE;CAC5B,CAAC"}
|
|
@@ -5,6 +5,7 @@ export * from './generators.js';
|
|
|
5
5
|
export * from './JsLegacySchemaGenerator.js';
|
|
6
6
|
export * from './KotlinSchemaGenerator.js';
|
|
7
7
|
export * from './RoomSchemaGenerator.js';
|
|
8
|
+
export * from './RustSchemaGenerator.js';
|
|
8
9
|
export * from './SchemaGenerator.js';
|
|
9
10
|
export * from './SwiftSchemaGenerator.js';
|
|
10
11
|
export * from './TsSchemaGenerator.js';
|
|
@@ -5,6 +5,7 @@ export * from './generators.js';
|
|
|
5
5
|
export * from './JsLegacySchemaGenerator.js';
|
|
6
6
|
export * from './KotlinSchemaGenerator.js';
|
|
7
7
|
export * from './RoomSchemaGenerator.js';
|
|
8
|
+
export * from './RustSchemaGenerator.js';
|
|
8
9
|
export * from './SchemaGenerator.js';
|
|
9
10
|
export * from './SwiftSchemaGenerator.js';
|
|
10
11
|
export * from './TsSchemaGenerator.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-generators.js","sourceRoot":"","sources":["../../src/schema-generators/schema-generators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AAEvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,kBAAkB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AACpF,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"schema-generators.js","sourceRoot":"","sources":["../../src/schema-generators/schema-generators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AAEvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,kBAAkB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AACpF,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { idFromData } from '../../cast.js';
|
|
2
|
-
import {
|
|
3
|
-
import { scalarStatementToSql } from '../engine/scalar_expression_engine.js';
|
|
2
|
+
import { isValidParameterValue, JSONBucketNameSerialize } from '../../utils.js';
|
|
4
3
|
import { ExpressionToSqlite } from '../expression_to_sql.js';
|
|
5
4
|
import { SyncPlanSchemaAnalyzer } from '../schema_inference.js';
|
|
6
|
-
import {
|
|
5
|
+
import { PendingRowProjection } from './row_projection.js';
|
|
7
6
|
export class PreparedStreamBucketDataSource {
|
|
8
7
|
source;
|
|
9
8
|
sourceTables = new Set();
|
|
@@ -72,64 +71,23 @@ export class PreparedStreamBucketDataSource {
|
|
|
72
71
|
}
|
|
73
72
|
class PendingStreamDataSource {
|
|
74
73
|
tablePattern;
|
|
75
|
-
|
|
76
|
-
numberOfOutputExpressions;
|
|
77
|
-
numberOfParameters;
|
|
78
|
-
evaluatorInputs;
|
|
79
|
-
statement;
|
|
74
|
+
projection;
|
|
80
75
|
fixedOutputTableName;
|
|
81
76
|
constructor(evaluator, defaultSchema) {
|
|
82
|
-
|
|
83
|
-
const outputExpressions = [];
|
|
84
|
-
for (const column of evaluator.columns) {
|
|
85
|
-
if (column === 'star') {
|
|
86
|
-
this.outputs.push('star');
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
const expressionIndex = outputExpressions.length;
|
|
90
|
-
outputExpressions.push(translationHelper.mapper.transform(column.expr));
|
|
91
|
-
this.outputs.push({ index: expressionIndex, alias: column.alias });
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
this.numberOfOutputExpressions = outputExpressions.length;
|
|
95
|
-
for (const parameter of evaluator.parameters) {
|
|
96
|
-
outputExpressions.push(translationHelper.mapper.transform(parameter.expr));
|
|
97
|
-
}
|
|
98
|
-
this.numberOfParameters = evaluator.parameters.length;
|
|
99
|
-
this.statement = {
|
|
100
|
-
outputs: outputExpressions,
|
|
101
|
-
filters: translationHelper.filterExpressions,
|
|
102
|
-
tableValuedFunctions: translationHelper.tableValuedFunctions
|
|
103
|
-
};
|
|
77
|
+
this.projection = new PendingRowProjection(evaluator, defaultSchema);
|
|
104
78
|
this.fixedOutputTableName = evaluator.outputTableName;
|
|
105
|
-
this.tablePattern =
|
|
106
|
-
this.evaluatorInputs = translationHelper.mapper.instantiation;
|
|
79
|
+
this.tablePattern = this.projection.tablePattern;
|
|
107
80
|
}
|
|
108
81
|
get debugSql() {
|
|
109
|
-
return
|
|
82
|
+
return this.projection.debugSql;
|
|
110
83
|
}
|
|
111
84
|
instantiate(engine) {
|
|
112
|
-
const
|
|
113
|
-
const pattern = this.tablePattern;
|
|
85
|
+
const evaluate = this.projection.instantiate(engine);
|
|
114
86
|
return (options, results) => {
|
|
115
87
|
try {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
const
|
|
119
|
-
for (const output of this.outputs) {
|
|
120
|
-
if (output === 'star') {
|
|
121
|
-
Object.assign(record, filterJsonRow(options.record));
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
const value = source[output.index];
|
|
125
|
-
if (isJsonValue(value)) {
|
|
126
|
-
record[output.alias] = value;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
const id = idFromData(record);
|
|
131
|
-
// source is [...outputs, ...partitionValues]
|
|
132
|
-
const partitionValues = source.splice(this.numberOfOutputExpressions, this.numberOfParameters);
|
|
88
|
+
row: for (const projected of evaluate(options)) {
|
|
89
|
+
const id = idFromData(projected.data);
|
|
90
|
+
const partitionValues = projected.partitionValues;
|
|
133
91
|
for (const bucketParameter of partitionValues) {
|
|
134
92
|
if (!isValidParameterValue(bucketParameter)) {
|
|
135
93
|
continue row;
|
|
@@ -137,7 +95,7 @@ class PendingStreamDataSource {
|
|
|
137
95
|
}
|
|
138
96
|
results.push({
|
|
139
97
|
id,
|
|
140
|
-
data:
|
|
98
|
+
data: projected.data,
|
|
141
99
|
table: this.fixedOutputTableName ?? options.sourceTable.name,
|
|
142
100
|
serializedBucketParameters: JSONBucketNameSerialize.stringify(partitionValues)
|
|
143
101
|
});
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"bucket_data_source.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/bucket_data_source.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { SyncConfig } from '../../SyncConfig.js';
|
|
2
2
|
import { CompatibilityContext } from '../../compatibility.js';
|
|
3
|
-
import { SqlEventDescriptor } from '../../index.js';
|
|
4
3
|
import * as plan from '../plan.js';
|
|
5
4
|
export interface StreamEvaluationContext {
|
|
6
5
|
defaultSchema: string;
|
|
@@ -13,11 +12,7 @@ export interface StreamEvaluationContext {
|
|
|
13
12
|
}
|
|
14
13
|
export declare class PrecompiledSyncConfig extends SyncConfig {
|
|
15
14
|
readonly plan: plan.SyncPlan;
|
|
16
|
-
/**
|
|
17
|
-
* The default schema for this sync config.
|
|
18
|
-
*
|
|
19
|
-
* This is independent of the loaded {@link plan} (the same sync plan can be loaded with different default schemas).
|
|
20
|
-
*/
|
|
15
|
+
/** Default schema used to prepare unqualified source-table references from the compiled plan. */
|
|
21
16
|
readonly defaultSchema: string;
|
|
22
|
-
constructor(plan: plan.SyncPlan, compatibility: CompatibilityContext,
|
|
17
|
+
constructor(plan: plan.SyncPlan, compatibility: CompatibilityContext, context: StreamEvaluationContext);
|
|
23
18
|
}
|
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
import { SyncConfig } from '../../SyncConfig.js';
|
|
2
|
+
import { PreparedEventDefinition } from '../../events/CompiledEventSourceQuery.js';
|
|
2
3
|
import { PreparedStreamBucketDataSource } from './bucket_data_source.js';
|
|
3
4
|
import { StreamBucketSource } from './bucket_source.js';
|
|
4
5
|
import { PreparedParameterIndexLookupCreator } from './parameter_index_lookup_creator.js';
|
|
5
6
|
export class PrecompiledSyncConfig extends SyncConfig {
|
|
6
7
|
plan;
|
|
7
|
-
/**
|
|
8
|
-
* The default schema for this sync config.
|
|
9
|
-
*
|
|
10
|
-
* This is independent of the loaded {@link plan} (the same sync plan can be loaded with different default schemas).
|
|
11
|
-
*/
|
|
8
|
+
/** Default schema used to prepare unqualified source-table references from the compiled plan. */
|
|
12
9
|
defaultSchema;
|
|
13
|
-
constructor(plan, compatibility,
|
|
10
|
+
constructor(plan, compatibility, context) {
|
|
14
11
|
super(context.sourceText);
|
|
15
12
|
this.plan = plan;
|
|
16
13
|
this.compatibility = compatibility;
|
|
17
|
-
this.eventDescriptors = eventDefinitions;
|
|
18
14
|
this.defaultSchema = context.defaultSchema;
|
|
15
|
+
for (const event of plan.events) {
|
|
16
|
+
this.eventDefinitions.push(new PreparedEventDefinition(event, context.defaultSchema));
|
|
17
|
+
}
|
|
19
18
|
const preparedBuckets = new Map();
|
|
20
19
|
const preparedLookups = new Map();
|
|
21
20
|
for (const bucket of plan.buckets) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AAEnF,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAe,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,mCAAmC,EAAE,MAAM,qCAAqC,CAAC;AAY1F,MAAM,OAAO,qBAAsB,SAAQ,UAAU;IAKxC;IAJX,iGAAiG;IACxF,aAAa,CAAS;IAE/B,YACW,IAAmB,EAC5B,aAAmC,EACnC,OAAgC;QAEhC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAJjB,SAAI,GAAJ,IAAI,CAAe;QAK5B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAE3C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACxF,CAAC;QAED,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"}
|
|
@@ -450,29 +450,33 @@ class FullInstantiator extends PartialInstantiator {
|
|
|
450
450
|
if (old == null) {
|
|
451
451
|
return {
|
|
452
452
|
lookup: ScopedParameterLookup.normalized(scope, UnscopedParameterLookup.normalized(directValues)),
|
|
453
|
-
|
|
453
|
+
provenancePaths: [provenance],
|
|
454
|
+
resultSet: Symbol(`lookup ${stage}.${index}`)
|
|
454
455
|
};
|
|
455
456
|
}
|
|
456
457
|
else {
|
|
457
|
-
old.
|
|
458
|
+
old.provenancePaths.push(provenance);
|
|
458
459
|
return old;
|
|
459
460
|
}
|
|
460
461
|
});
|
|
461
462
|
}
|
|
462
463
|
const lookupsToProvenance = new Map();
|
|
463
|
-
for (const [_,
|
|
464
|
-
lookupsToProvenance.set(lookup,
|
|
464
|
+
for (const [_, pending] of pendingLookups.entries) {
|
|
465
|
+
lookupsToProvenance.set(pending.lookup, pending);
|
|
465
466
|
}
|
|
466
467
|
const outputs = await this.input.source.getParameterSets([...lookupsToProvenance.keys()], `Stream ${this.evaluators.stream.name} evaluating parameter on ${resolvedLookup.sourceTable.tablePattern}`);
|
|
467
|
-
// Stream parameters generate an output row like {0: <expr>, 1: <expr>, ...}.
|
|
468
468
|
const values = outputs.flatMap(({ lookup, rows }) => {
|
|
469
|
-
|
|
469
|
+
const { provenancePaths, resultSet } = lookupsToProvenance.get(lookup);
|
|
470
|
+
return provenancePaths.flatMap((origin, provenanceIndex) => {
|
|
470
471
|
return rows.map((row, rowid) => {
|
|
471
472
|
const length = Object.entries(row).length;
|
|
472
473
|
const asArray = [];
|
|
473
474
|
for (let i = 0; i < length; i++) {
|
|
475
|
+
// Stream parameters generate an output row like {0: <expr>, 1: <expr>, ...}.
|
|
474
476
|
const value = row[i.toString()];
|
|
475
|
-
|
|
477
|
+
// All paths share one result set because the lookup was deduplicated. Include the path index in the row
|
|
478
|
+
// identity because the same output rows are instantiated once for every path.
|
|
479
|
+
const directOrigin = length > 1 ? { resultSet, row: provenanceIndex * rows.length + rowid } : undefined;
|
|
476
480
|
asArray.push({
|
|
477
481
|
value,
|
|
478
482
|
// Note: Not tracking provenance for parameters with just a single output is purely a performance
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameter_evaluator.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/parameter_evaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAExH,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAGjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EACL,8BAA8B,EAI/B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAKvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,OAAO,0BAA0B;IAE1B;IAIA;IAIA;IATX,YACW,MAA0B;IACnC;;OAEG;IACM,YAAyC;IAClD;;OAEG;IACM,eAAyC;QARzC,WAAM,GAAN,MAAM,CAAoB;QAI1B,iBAAY,GAAZ,YAAY,CAA6B;QAIzC,oBAAe,GAAf,eAAe,CAA0B;IACjD,CAAC;IAEJ;;;;;;;;;OASG;IACH,KAAK;QACH,SAAS,UAAU,CAAC,KAA6B;YAC/C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,cAAc;oBACjB,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxE,KAAK,SAAS,CAAC;gBACf,KAAK,QAAQ,CAAC;gBACd,KAAK,QAAQ;oBACX,OAAO,KAAK,CAAC;YACjB,CAAC;QACH,CAAC;QAED,SAAS,WAAW,CAAC,MAA+B;YAClD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAK,WAAW;oBACd,oDAAoD;oBACpD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3G,KAAK,cAAc,CAAC;gBACpB,KAAK,QAAQ;oBACX,OAAO,MAAM,CAAC;YAClB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,0BAA0B,CACnC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EACxD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CACrC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,oBAAoB,CAAC,KAAgC;QACnD,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAEpD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YAC9C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACtF,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,KAAyB;QACzC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClD,uDAAuD;YACvD,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,CAAC;QAED,mHAAmH;QACnH,iBAAiB;QACjB,OAAO,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,OAAO,CACZ,MAA0B,EAC1B,YAAsC,EACtC,MAA6B,EAC7B,KAAkB,EAClB,MAA8B;QAE9B,MAAM,YAAY,GAAgC,EAAE,CAAC;QACrD,MAAM,aAAa,GAAG,IAAI,GAAG,EAA0D,CAAC;QAExF,SAAS,iBAAiB,CAAC,KAA0B;YACnD,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC5B,6EAA6E;gBAC7E,MAAM,MAAM,GAAG,8BAA8B,EAAiC,CAAC;gBAC/E,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnG,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;gBAE3C,OAAO;oBACL,IAAI,EAAE,SAAS;oBACf,IAAI,CAAC,OAAO;wBACV,OAAO,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/E,CAAC;iBACF,CAAC;YACJ,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAClC,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAE,CAAC;gBACvD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;YACnF,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,SAAS,kBAAkB,CAAC,MAA6B;YACvD,OAAO,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACvC,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC;YACvC,MAAM,WAAW,GAA8B,EAAE,CAAC;YAClD,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAE/B,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;gBACjC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;gBAExD,IAAI,MAAM,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;oBAC/B,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,WAAW;wBACjB,MAAM,EAAE,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAE;wBACjD,aAAa,EAAE,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC;qBACxD,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,gGAAgG;oBAChG,MAAM,SAAS,GAAG,8BAA8B,EAAE,CAAC;oBACnD,MAAM,EAAE,GAAwB;wBAC9B,IAAI,EAAE,MAAM,CAAC,YAAY;wBACzB,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;qBACnF,CAAC;oBACF,MAAM,UAAU,GAAG,IAAI,gBAAgB,CACrC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;wBACf,QAAQ,EAAE,EAAE;wBACZ,MAAM;qBACP,CAAC,CACH,CAAC;oBAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC;wBACvC,oBAAoB,EAAE,CAAC,EAAE,CAAC;wBAC1B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;wBAClE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;qBACnE,CAAC,CAAC;oBAEH,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,cAAc;wBACpB,IAAI,CAAC,OAAO;4BACV,OAAO;gCACL,GAAG,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;6BAClG,CAAC;wBACJ,CAAC;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,0BAA0B,CAAC,MAAM,EAAE,YAAY,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1F,CAAC;CACF;AAED,MAAM,mBAAmB;IAEF;IACA;IAFrB,YACqB,KAAQ,EACR,UAAsC;QADtC,UAAK,GAAL,KAAK,CAAG;QACR,eAAU,GAAV,UAAU,CAA4B;IACxD,CAAC;IAEJ,uBAAuB,CAAC,MAAgC;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAC5C,IAAI,sBAAsB,GAAG,KAAK,CAAC;QACnC,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;YAClE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;YACjC,KAAK,IAAI,YAAY,GAAG,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,CAAC;gBACvE,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;gBAC1E,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;oBAC3B,kDAAkD;oBAClD,sBAAsB,GAAG,IAAI,CAAC;oBAC9B,SAAS;gBACX,CAAC;gBAED,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC/B,yGAAyG;oBACzG,oHAAoH;oBACpH,6DAA6D;oBAC7D,yGAAyG;oBACzG,mFAAmF;oBACnF,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,sBAAsB,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,mHAAmH;QACnH,OAAO,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,CAAC;IAES,CAAC,aAAa,CAAC,MAAgC;QACvD,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACjD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,8GAA8G;gBAC9G,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;YAClG,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,MAAgC,EAAE,KAAa;QAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,OAAO,CAAC,MAAM,CAAC;QACxB,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC3C,MAAM,OAAO,GAA8B,EAAE,CAAC;YAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBACxD,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;oBACtB,OAAO,SAAS,CAAC,CAAC,+BAA+B;gBACnD,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1B,CAAC;YAED,4GAA4G;YAC5G,gHAAgH;YAChH,+GAA+G;YAC/G,4DAA4D;YAC5D,EAAE;YACF,8BAA8B;YAC9B,8BAA8B;YAC9B,EAAE;YACF,+GAA+G;YAC/G,yGAAyG;YACzG,oFAAoF;YACpF,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA6D,CAAC;YAC/F,MAAM,aAAa,GAAG,IAAI,GAAG,EAAuB,CAAC;YACrD,SAAS,kBAAkB,CAAC,SAAiB,EAAE,KAAa;gBAC1D,IAAI,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC1C,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;oBACnB,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;oBACnB,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBACvC,CAAC;gBAED,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YAED,0CAA0C;YAC1C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,SAAS,EAAE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBACtC,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC;oBAC/B,IAAI,GAAG,EAAE,CAAC;wBACR,IAAI,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBACxD,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;4BACzB,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;4BACzB,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;wBACrD,CAAC;wBAED,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAChD,IAAI,aAAa,IAAI,IAAI,IAAI,aAAa,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;4BAC1D,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;4BAClC,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;4BAC3C,SAAS,SAAS,CAAC;wBACrB,CAAC;6BAAM,CAAC;4BACN,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;wBACzC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,SAAS,eAAe,CAAC,KAA4B;gBACnD,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;oBACvB,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,YAAY,CAAC;oBAE9C,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACnD,IAAI,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC;wBAAE,OAAO,IAAI,CAAC;oBAEzC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC5D,IAAI,kBAAkB,IAAI,IAAI;wBAAE,OAAO,KAAK,CAAC;oBAE7C,IAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK;wBAAE,OAAO,IAAI,CAAC;gBAC9D,CAAC;gBAED,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,YAAY,GAA2D,IAAI,CAAC;YAChF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;oBACzB,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;oBAEzB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBAC3B,IAAI,eAAe,CAAC,KAAK,CAAC;4BAAE,SAAS;wBAErC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBAC/C,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;4BACrB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;wBAClC,CAAC;6BAAM,CAAC;4BACN,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;wBACpD,CAAC;wBAED,KAAK,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;4BAClD,0GAA0G;4BAC1G,+CAA+C;4BAC/C,kBAAkB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;wBACrC,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;oBAErD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBAC3B,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBAC/C,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;4BACrB,qCAAqC;wBACvC,CAAC;6BAAM,CAAC;4BACN,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4BAEpC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gCAC5B,wFAAwF;gCACxF,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;4BAClC,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;wBACxC,sDAAsD;wBACtD,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACjC,CAAC;gBACH,CAAC;gBAED,IAAI,YAAa,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;oBAC5B,+DAA+D;oBAC/D,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,MAAM,GAA4B,EAAE,CAAC;YACzC,IAAI,YAAY,EAAE,CAAC;gBACjB,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE;oBAC1C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;wBACrC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC3C,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5F,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;gBACrE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;gBAC3C,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,MAAM,GAA4B,qBAAqB,CAAC,KAAK,CAAC;gBAClE,CAAC,CAAC;oBACE;wBACE,KAAK;wBACL,UAAU,EAAE,EAAE;qBACf;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YAEP,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC3C,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,mBAAmB,CAAC,KAAa,EAAE,KAAa;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,sDAAsD;YACtD,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACnE,MAAM,YAAY,GAAqB,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;gBAClF,MAAM,UAAU,GAAuB,CAAC,YAAY,CAAC,CAAC;gBACtD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,CAAiC,CAAC,CAAC;YACtG,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YACxE,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;YACnC,OAAO,MAAM,CAAC,MAAM,CAAC;QACvB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAED,MAAM,gBAAiB,SAAQ,mBAAuC;IACpE,oBAAoB,CAAC,MAAgC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,4FAA4F,CAAC,CAAC;QAChH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAa,EAAE,KAAa;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,4BAA4B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACpF,MAAM,cAAc,GAAG,MAAM,CAAC,MAA6C,CAAC;YAO5E,8GAA8G;YAC9G,gHAAgH;YAChH,iHAAiH;YACjH,MAAM,cAAc,GAAG,IAAI,OAAO,CAChC,gBAAgB,CAAC,sBAAsB,CACxC,CAAC;YAEF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC9D,MAAM,UAAU,GAAuB,EAAE,CAAC;gBAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;gBACvC,CAAC;gBAED,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAC/C,cAAc,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE;oBAC/C,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;wBAChB,OAAO;4BACL,MAAM,EAAE,qBAAqB,CAAC,UAAU,CAAC,KAAK,EAAE,uBAAuB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;4BACjG,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,KAAK,IAAI,KAAK,EAAE,CAAC,EAAE,CAAC;yBACjF,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,KAAK,IAAI,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;wBACxF,OAAO,GAAG,CAAC;oBACb,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA2E,CAAC;YAC/G,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;gBACjE,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC9C,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CACtD,CAAC,GAAG,mBAAmB,CAAC,IAAI,EAAE,CAAC,EAC/B,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,4BAA4B,cAAc,CAAC,WAAW,CAAC,YAAY,EAAE,CAC3G,CAAC;YAEF,6EAA6E;YAC7E,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;gBAClD,OAAO,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;oBACrE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;wBAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;wBAC1C,MAAM,OAAO,GAA4B,EAAE,CAAC;wBAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;4BAChC,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAyB,CAAC;4BACxD,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;4BAEhF,OAAO,CAAC,IAAI,CAAC;gCACX,KAAK;gCACL,iGAAiG;gCACjG,wGAAwG;gCACxG,wEAAwE;gCACxE,UAAU,EAAE,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM;gCACrE,YAAY;6BACb,CAAC,CAAC;wBACL,CAAC;wBACD,OAAO,OAAO,CAAC;oBACjB,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YACxE,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC3F,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,MAAM,CAAU,sBAAsB,GAAG,YAAY,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;;AAmErG,SAAS,iBAAiB,CAAC,MAA+B;IACxD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AAWD,MAAM,UAAU,wBAAwB,CAAC,GAAkB;IACzD,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,UAA6B,EAAE,MAAgC;IAClG,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACtB,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;gBAClB,KAAK,MAAM;oBACT,OAAO,UAAU,CAAC,eAAe,CAAC;gBACpC,KAAK,cAAc;oBACjB,OAAO,UAAU,CAAC,mBAAoB,CAAC;gBACzC,KAAK,YAAY;oBACf,OAAO,UAAU,CAAC,iBAAiB,CAAC;YACxC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,QAAQ,CAAC,CAAC,mBAAmB,CAAC,IAAqB;IACjD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,QAAQ,CAAC,CAAC,sBAAsB,CAAC,iBAA4C;IAC3E,iHAAiH;IACjH,MAAM,cAAc,GAAG,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC3D,oEAAoE;IACpE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE3C,SAAS,sBAAsB,CAAC,KAA4B;QAC1D,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACtC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;YAClC,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAChC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,WAAW,IAAI,GAAG,EAAE,CAAC;gBAC9B,SAAS;YACX,CAAC;iBAAM,CAAC;gBACN,2GAA2G;gBAC3G,+CAA+C;gBAC/C,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACjC,CAAC;IAED,SAAS,mBAAmB,CAAC,UAAoB;QAC/C,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,CAAC,oBAAoB,CAAC,aAAqB;QAClD,IAAI,aAAa,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAC9C,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACzD,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;YACxC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;YACpE,IAAI,MAAM,EAAE,CAAC;gBACX,cAAc,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;gBAC1C,KAAK,CAAC,CAAC,oBAAoB,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;YACjD,CAAC;YAED,mBAAmB,CAAC,eAAe,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC"}
|
|
1
|
+
{"version":3,"file":"parameter_evaluator.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/parameter_evaluator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { TablePattern } from '../../TablePattern.js';
|
|
2
|
+
import { EvaluateRowOptions, SqliteJsonRow, SqliteValue } from '../../types.js';
|
|
3
|
+
import { ScalarExpressionEngine } from '../engine/scalar_expression_engine.js';
|
|
4
|
+
import * as plan from '../plan.js';
|
|
5
|
+
export interface EvaluatedRowProjection {
|
|
6
|
+
data: SqliteJsonRow;
|
|
7
|
+
partitionValues: SqliteValue[];
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Prepares the shared projection/filter portion of bucket and event row evaluators.
|
|
11
|
+
*/
|
|
12
|
+
export declare class PendingRowProjection {
|
|
13
|
+
readonly tablePattern: TablePattern;
|
|
14
|
+
private readonly outputs;
|
|
15
|
+
private readonly numberOfOutputExpressions;
|
|
16
|
+
private readonly numberOfParameters;
|
|
17
|
+
private readonly evaluatorInputs;
|
|
18
|
+
private readonly statement;
|
|
19
|
+
constructor(evaluator: plan.RowProjection, defaultSchema: string);
|
|
20
|
+
get debugSql(): string;
|
|
21
|
+
instantiate(engine: ScalarExpressionEngine): (options: EvaluateRowOptions) => EvaluatedRowProjection[];
|
|
22
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { filterJsonRow, isJsonValue } from '../../utils.js';
|
|
2
|
+
import { scalarStatementToSql } from '../engine/scalar_expression_engine.js';
|
|
3
|
+
import { resolveRowMetadata, TableProcessorToSqlHelper } from './table_processor_to_sql.js';
|
|
4
|
+
/**
|
|
5
|
+
* Prepares the shared projection/filter portion of bucket and event row evaluators.
|
|
6
|
+
*/
|
|
7
|
+
export class PendingRowProjection {
|
|
8
|
+
tablePattern;
|
|
9
|
+
outputs = [];
|
|
10
|
+
numberOfOutputExpressions;
|
|
11
|
+
numberOfParameters;
|
|
12
|
+
evaluatorInputs;
|
|
13
|
+
statement;
|
|
14
|
+
constructor(evaluator, defaultSchema) {
|
|
15
|
+
const translationHelper = new TableProcessorToSqlHelper(evaluator);
|
|
16
|
+
const outputExpressions = [];
|
|
17
|
+
for (const column of evaluator.columns) {
|
|
18
|
+
if (column === 'star') {
|
|
19
|
+
this.outputs.push('star');
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
const expressionIndex = outputExpressions.length;
|
|
23
|
+
outputExpressions.push(translationHelper.mapper.transform(column.expr));
|
|
24
|
+
this.outputs.push({ index: expressionIndex, alias: column.alias });
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
this.numberOfOutputExpressions = outputExpressions.length;
|
|
28
|
+
for (const parameter of evaluator.parameters) {
|
|
29
|
+
outputExpressions.push(translationHelper.mapper.transform(parameter.expr));
|
|
30
|
+
}
|
|
31
|
+
this.numberOfParameters = evaluator.parameters.length;
|
|
32
|
+
this.statement = {
|
|
33
|
+
outputs: outputExpressions,
|
|
34
|
+
filters: translationHelper.filterExpressions,
|
|
35
|
+
tableValuedFunctions: translationHelper.tableValuedFunctions
|
|
36
|
+
};
|
|
37
|
+
this.tablePattern = evaluator.sourceTable.toTablePattern(defaultSchema);
|
|
38
|
+
this.evaluatorInputs = translationHelper.mapper.instantiation;
|
|
39
|
+
}
|
|
40
|
+
get debugSql() {
|
|
41
|
+
return scalarStatementToSql(this.statement);
|
|
42
|
+
}
|
|
43
|
+
instantiate(engine) {
|
|
44
|
+
const evaluator = engine.prepareEvaluator(this.statement);
|
|
45
|
+
const pattern = this.tablePattern;
|
|
46
|
+
return (options) => {
|
|
47
|
+
const inputInstantiation = this.evaluatorInputs.map((input) => 'column' in input ? options.record[input.column] : resolveRowMetadata(input, pattern, options.sourceTable));
|
|
48
|
+
const results = [];
|
|
49
|
+
for (const source of evaluator.evaluate(inputInstantiation)) {
|
|
50
|
+
const record = {};
|
|
51
|
+
for (const output of this.outputs) {
|
|
52
|
+
if (output === 'star') {
|
|
53
|
+
Object.assign(record, filterJsonRow(options.record));
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
const value = source[output.index];
|
|
57
|
+
if (isJsonValue(value)) {
|
|
58
|
+
record[output.alias] = value;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
results.push({
|
|
63
|
+
data: record,
|
|
64
|
+
partitionValues: source.slice(this.numberOfOutputExpressions, this.numberOfOutputExpressions + this.numberOfParameters)
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
return results;
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=row_projection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"row_projection.js","sourceRoot":"","sources":["../../../src/sync_plan/evaluator/row_projection.ts"],"names":[],"mappings":"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"}
|