@powersync/service-sync-rules 0.0.0-dev-20251209070120 → 0.0.0-dev-20260114145741

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 (74) hide show
  1. package/dist/BaseSqlDataQuery.d.ts +3 -9
  2. package/dist/BaseSqlDataQuery.js +10 -10
  3. package/dist/BaseSqlDataQuery.js.map +1 -1
  4. package/dist/BucketParameterQuerier.d.ts +15 -5
  5. package/dist/BucketParameterQuerier.js +18 -3
  6. package/dist/BucketParameterQuerier.js.map +1 -1
  7. package/dist/BucketSource.d.ts +94 -25
  8. package/dist/BucketSource.js +67 -0
  9. package/dist/BucketSource.js.map +1 -1
  10. package/dist/HydratedSyncRules.d.ts +46 -0
  11. package/dist/HydratedSyncRules.js +88 -0
  12. package/dist/HydratedSyncRules.js.map +1 -0
  13. package/dist/HydrationState.d.ts +45 -0
  14. package/dist/HydrationState.js +41 -0
  15. package/dist/HydrationState.js.map +1 -0
  16. package/dist/SqlBucketDescriptor.d.ts +31 -28
  17. package/dist/SqlBucketDescriptor.js +89 -112
  18. package/dist/SqlBucketDescriptor.js.map +1 -1
  19. package/dist/SqlDataQuery.d.ts +4 -4
  20. package/dist/SqlDataQuery.js +5 -6
  21. package/dist/SqlDataQuery.js.map +1 -1
  22. package/dist/SqlParameterQuery.d.ts +17 -9
  23. package/dist/SqlParameterQuery.js +49 -21
  24. package/dist/SqlParameterQuery.js.map +1 -1
  25. package/dist/SqlSyncRules.d.ts +13 -29
  26. package/dist/SqlSyncRules.js +48 -77
  27. package/dist/SqlSyncRules.js.map +1 -1
  28. package/dist/StaticSqlParameterQuery.d.ts +13 -3
  29. package/dist/StaticSqlParameterQuery.js +39 -4
  30. package/dist/StaticSqlParameterQuery.js.map +1 -1
  31. package/dist/TableValuedFunctionSqlParameterQuery.d.ts +14 -4
  32. package/dist/TableValuedFunctionSqlParameterQuery.js +42 -7
  33. package/dist/TableValuedFunctionSqlParameterQuery.js.map +1 -1
  34. package/dist/compatibility.d.ts +23 -1
  35. package/dist/compatibility.js +32 -4
  36. package/dist/compatibility.js.map +1 -1
  37. package/dist/events/SqlEventDescriptor.js +1 -1
  38. package/dist/events/SqlEventDescriptor.js.map +1 -1
  39. package/dist/events/SqlEventSourceQuery.d.ts +1 -1
  40. package/dist/events/SqlEventSourceQuery.js +1 -2
  41. package/dist/events/SqlEventSourceQuery.js.map +1 -1
  42. package/dist/index.d.ts +2 -0
  43. package/dist/index.js +2 -0
  44. package/dist/index.js.map +1 -1
  45. package/dist/json_schema.js +5 -1
  46. package/dist/json_schema.js.map +1 -1
  47. package/dist/request_functions.js +1 -1
  48. package/dist/request_functions.js.map +1 -1
  49. package/dist/schema-generators/SchemaGenerator.js +1 -1
  50. package/dist/schema-generators/SchemaGenerator.js.map +1 -1
  51. package/dist/streams/filter.d.ts +34 -4
  52. package/dist/streams/filter.js +93 -23
  53. package/dist/streams/filter.js.map +1 -1
  54. package/dist/streams/from_sql.js +2 -5
  55. package/dist/streams/from_sql.js.map +1 -1
  56. package/dist/streams/parameter.d.ts +7 -6
  57. package/dist/streams/stream.d.ts +25 -15
  58. package/dist/streams/stream.js +59 -87
  59. package/dist/streams/stream.js.map +1 -1
  60. package/dist/streams/variant.d.ts +14 -21
  61. package/dist/streams/variant.js +68 -45
  62. package/dist/streams/variant.js.map +1 -1
  63. package/dist/types/custom_sqlite_value.d.ts +1 -1
  64. package/dist/types/time.d.ts +24 -5
  65. package/dist/types/time.js +67 -12
  66. package/dist/types/time.js.map +1 -1
  67. package/dist/types.d.ts +44 -24
  68. package/dist/types.js +4 -1
  69. package/dist/types.js.map +1 -1
  70. package/dist/utils.d.ts +4 -2
  71. package/dist/utils.js +6 -3
  72. package/dist/utils.js.map +1 -1
  73. package/package.json +4 -3
  74. package/schema/sync_rules.json +9 -0
@@ -0,0 +1,41 @@
1
+ /**
2
+ * This represents hydration state that performs no transformations.
3
+ *
4
+ * This is the legacy default behavior with no bucket versioning.
5
+ */
6
+ export const DEFAULT_HYDRATION_STATE = {
7
+ getBucketSourceScope(source) {
8
+ return {
9
+ bucketPrefix: source.uniqueName
10
+ };
11
+ },
12
+ getParameterIndexLookupScope(source) {
13
+ return source.defaultLookupScope;
14
+ }
15
+ };
16
+ /**
17
+ * Transforms bucket ids generated when evaluating the row by e.g. encoding version information.
18
+ *
19
+ * Because buckets are recreated on a sync rule redeploy, it makes sense to use different bucket ids (otherwise, clients
20
+ * may run into checksum errors causing a sync to take longer than necessary or breaking progress).
21
+ *
22
+ * So, this transformer receives the original bucket id as generated by defined sync rules, and can prepend a version
23
+ * identifier.
24
+ *
25
+ * Note that this transformation has not been present in older versions of the sync service. To preserve backwards
26
+ * compatibility, sync rules will not use this without an opt-in.
27
+ */
28
+ export function versionedHydrationState(version) {
29
+ return {
30
+ getBucketSourceScope(source) {
31
+ return {
32
+ bucketPrefix: `${version}#${source.uniqueName}`
33
+ };
34
+ },
35
+ getParameterIndexLookupScope(source) {
36
+ // No transformations applied here
37
+ return source.defaultLookupScope;
38
+ }
39
+ };
40
+ }
41
+ //# sourceMappingURL=HydrationState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HydrationState.js","sourceRoot":"","sources":["../src/HydrationState.ts"],"names":[],"mappings":"AA+BA;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAmB;IACrD,oBAAoB,CAAC,MAAwB;QAC3C,OAAO;YACL,YAAY,EAAE,MAAM,CAAC,UAAU;SAChC,CAAC;IACJ,CAAC;IACD,4BAA4B,CAAC,MAAM;QACjC,OAAO,MAAM,CAAC,kBAAkB,CAAC;IACnC,CAAC;CACF,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe;IACrD,OAAO;QACL,oBAAoB,CAAC,MAAwB;YAC3C,OAAO;gBACL,YAAY,EAAE,GAAG,OAAO,IAAI,MAAM,CAAC,UAAU,EAAE;aAChD,CAAC;QACJ,CAAC;QAED,4BAA4B,CAAC,MAAmC;YAC9D,kCAAkC;YAClC,OAAO,MAAM,CAAC,kBAAkB,CAAC;QACnC,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,18 +1,16 @@
1
- import { BucketInclusionReason, ResolvedBucket } from './BucketDescription.js';
2
- import { BucketParameterQuerier, PendingQueriers } from './BucketParameterQuerier.js';
3
- import { BucketSource, BucketSourceType } from './BucketSource.js';
1
+ import { BucketDataSource, BucketSource, BucketSourceType, CreateSourceParams, HydratedBucketSource } from './BucketSource.js';
4
2
  import { ColumnDefinition } from './ExpressionType.js';
5
3
  import { IdSequence } from './IdSequence.js';
6
4
  import { SourceTableInterface } from './SourceTableInterface.js';
7
5
  import { SqlDataQuery } from './SqlDataQuery.js';
8
6
  import { SqlParameterQuery } from './SqlParameterQuery.js';
9
- import { GetQuerierOptions, SyncRulesOptions } from './SqlSyncRules.js';
7
+ import { SyncRulesOptions } from './SqlSyncRules.js';
10
8
  import { StaticSqlParameterQuery } from './StaticSqlParameterQuery.js';
11
9
  import { TablePattern } from './TablePattern.js';
12
10
  import { TableValuedFunctionSqlParameterQuery } from './TableValuedFunctionSqlParameterQuery.js';
13
- import { SqlRuleError } from './errors.js';
14
11
  import { CompatibilityContext } from './compatibility.js';
15
- import { BucketIdTransformer, EvaluatedParametersResult, EvaluateRowOptions, EvaluationResult, QueryParseOptions, RequestParameters, SourceSchema, SqliteRow } from './types.js';
12
+ import { SqlRuleError } from './errors.js';
13
+ import { EvaluateRowOptions, QueryParseOptions, SourceSchema, UnscopedEvaluationResult } from './types.js';
16
14
  export interface QueryParseResult {
17
15
  /**
18
16
  * True if parsed in some form, even if there are errors.
@@ -22,10 +20,9 @@ export interface QueryParseResult {
22
20
  }
23
21
  export declare class SqlBucketDescriptor implements BucketSource {
24
22
  name: string;
25
- bucketParameters?: string[];
26
- constructor(name: string);
27
- get type(): BucketSourceType;
28
- get subscribedToByDefault(): boolean;
23
+ private bucketParametersInternal;
24
+ readonly subscribedToByDefault: boolean;
25
+ private readonly dataSource;
29
26
  /**
30
27
  * source table -> queries
31
28
  */
@@ -33,29 +30,18 @@ export declare class SqlBucketDescriptor implements BucketSource {
33
30
  parameterQueries: SqlParameterQuery[];
34
31
  globalParameterQueries: (StaticSqlParameterQuery | TableValuedFunctionSqlParameterQuery)[];
35
32
  parameterIdSequence: IdSequence;
33
+ constructor(name: string);
34
+ get type(): BucketSourceType;
35
+ get bucketParameters(): string[];
36
+ get dataSources(): BucketDefinitionDataSource[];
37
+ get parameterIndexLookupCreators(): SqlParameterQuery[];
38
+ get parameterQuerierSources(): (StaticSqlParameterQuery | TableValuedFunctionSqlParameterQuery | SqlParameterQuery)[];
36
39
  addDataQuery(sql: string, options: SyncRulesOptions, compatibility: CompatibilityContext): QueryParseResult;
37
40
  addParameterQuery(sql: string, options: QueryParseOptions): QueryParseResult;
38
- evaluateRow(options: EvaluateRowOptions): EvaluationResult[];
39
- evaluateParameterRow(sourceTable: SourceTableInterface, row: SqliteRow): EvaluatedParametersResult[];
40
- /**
41
- * @deprecated Use `pushBucketParameterQueriers` instead and merge at the top-level.
42
- */
43
- getBucketParameterQuerier(options: GetQuerierOptions): BucketParameterQuerier;
44
- pushBucketParameterQueriers(result: PendingQueriers, options: GetQuerierOptions): void;
45
- getStaticBucketDescriptions(parameters: RequestParameters, reasons: BucketInclusionReason[], transformer: BucketIdTransformer): ResolvedBucket[];
46
- hasDynamicBucketQueries(): boolean;
47
- getSourceTables(): Set<TablePattern>;
48
- private bucketInclusionReason;
49
- tableSyncsData(table: SourceTableInterface): boolean;
50
- tableSyncsParameters(table: SourceTableInterface): boolean;
51
- resolveResultSets(schema: SourceSchema, tables: Record<string, Record<string, ColumnDefinition>>): void;
52
- debugWriteOutputTables(result: Record<string, {
53
- query: string;
54
- }[]>): void;
55
41
  debugRepresentation(): {
56
42
  name: string;
57
43
  type: string;
58
- bucket_parameters: string[] | undefined;
44
+ bucket_parameters: string[];
59
45
  global_parameter_queries: {
60
46
  sql: string;
61
47
  }[];
@@ -70,4 +56,21 @@ export declare class SqlBucketDescriptor implements BucketSource {
70
56
  columns: string[];
71
57
  }[];
72
58
  };
59
+ hydrate(params: CreateSourceParams): HydratedBucketSource;
60
+ }
61
+ export declare class BucketDefinitionDataSource implements BucketDataSource {
62
+ private descriptor;
63
+ constructor(descriptor: SqlBucketDescriptor);
64
+ /**
65
+ * For debug use only.
66
+ */
67
+ get bucketParameters(): string[];
68
+ get uniqueName(): string;
69
+ evaluateRow(options: EvaluateRowOptions): UnscopedEvaluationResult[];
70
+ getSourceTables(): Set<TablePattern>;
71
+ tableSyncsData(table: SourceTableInterface): boolean;
72
+ resolveResultSets(schema: SourceSchema, tables: Record<string, Record<string, ColumnDefinition>>): void;
73
+ debugWriteOutputTables(result: Record<string, {
74
+ query: string;
75
+ }[]>): void;
73
76
  }
@@ -1,20 +1,12 @@
1
- import { mergeBucketParameterQueriers } from './BucketParameterQuerier.js';
2
1
  import { BucketSourceType } from './BucketSource.js';
3
2
  import { IdSequence } from './IdSequence.js';
4
3
  import { SqlDataQuery } from './SqlDataQuery.js';
5
4
  import { SqlParameterQuery } from './SqlParameterQuery.js';
6
5
  export class SqlBucketDescriptor {
7
6
  name;
8
- bucketParameters;
9
- constructor(name) {
10
- this.name = name;
11
- }
12
- get type() {
13
- return BucketSourceType.SYNC_RULE;
14
- }
15
- get subscribedToByDefault() {
16
- return true;
17
- }
7
+ bucketParametersInternal = null;
8
+ subscribedToByDefault = true;
9
+ dataSource = new BucketDefinitionDataSource(this);
18
10
  /**
19
11
  * source table -> queries
20
12
  */
@@ -22,11 +14,29 @@ export class SqlBucketDescriptor {
22
14
  parameterQueries = [];
23
15
  globalParameterQueries = [];
24
16
  parameterIdSequence = new IdSequence();
17
+ constructor(name) {
18
+ this.name = name;
19
+ }
20
+ get type() {
21
+ return BucketSourceType.SYNC_RULE;
22
+ }
23
+ get bucketParameters() {
24
+ return this.bucketParametersInternal ?? [];
25
+ }
26
+ get dataSources() {
27
+ return [this.dataSource];
28
+ }
29
+ get parameterIndexLookupCreators() {
30
+ return this.parameterQueries;
31
+ }
32
+ get parameterQuerierSources() {
33
+ return [...this.parameterQueries, ...this.globalParameterQueries];
34
+ }
25
35
  addDataQuery(sql, options, compatibility) {
26
- if (this.bucketParameters == null) {
36
+ if (this.bucketParametersInternal == null) {
27
37
  throw new Error('Bucket parameters must be defined');
28
38
  }
29
- const dataRows = SqlDataQuery.fromSql(this.name, this.bucketParameters, sql, options, compatibility);
39
+ const dataRows = SqlDataQuery.fromSql(this.bucketParametersInternal, sql, options, compatibility);
30
40
  this.dataQueries.push(dataRows);
31
41
  return {
32
42
  parsed: true,
@@ -34,12 +44,13 @@ export class SqlBucketDescriptor {
34
44
  };
35
45
  }
36
46
  addParameterQuery(sql, options) {
37
- const parameterQuery = SqlParameterQuery.fromSql(this.name, sql, options, this.parameterIdSequence.nextId());
38
- if (this.bucketParameters == null) {
39
- this.bucketParameters = parameterQuery.bucketParameters;
47
+ const parameterQuery = SqlParameterQuery.fromSql(this.name, sql, options, this.parameterIdSequence.nextId(), this.dataSource);
48
+ if (this.bucketParametersInternal == null) {
49
+ this.bucketParametersInternal = parameterQuery.bucketParameters;
40
50
  }
41
51
  else {
42
- if (new Set([...parameterQuery.bucketParameters, ...this.bucketParameters]).size != this.bucketParameters.length) {
52
+ if (new Set([...parameterQuery.bucketParameters, ...this.bucketParametersInternal]).size !=
53
+ this.bucketParametersInternal.length) {
43
54
  throw new Error('Bucket parameters must match for each parameter query within a bucket');
44
55
  }
45
56
  }
@@ -54,89 +65,83 @@ export class SqlBucketDescriptor {
54
65
  errors: parameterQuery.errors
55
66
  };
56
67
  }
57
- evaluateRow(options) {
58
- let results = [];
59
- for (let query of this.dataQueries) {
60
- if (!query.applies(options.sourceTable)) {
61
- continue;
62
- }
63
- results.push(...query.evaluateRow(options.sourceTable, options.record, options.bucketIdTransformer));
64
- }
65
- return results;
68
+ debugRepresentation() {
69
+ let all_parameter_queries = [...this.parameterQueries.values()].flat();
70
+ let all_data_queries = [...this.dataQueries.values()].flat();
71
+ return {
72
+ name: this.name,
73
+ type: BucketSourceType[this.type],
74
+ bucket_parameters: this.bucketParameters,
75
+ global_parameter_queries: this.globalParameterQueries.map((q) => {
76
+ return {
77
+ sql: q.sql
78
+ };
79
+ }),
80
+ parameter_queries: all_parameter_queries.map((q) => {
81
+ return {
82
+ sql: q.sql,
83
+ table: q.sourceTable,
84
+ input_parameters: q.inputParameters
85
+ };
86
+ }),
87
+ data_queries: all_data_queries.map((q) => {
88
+ return {
89
+ sql: q.sql,
90
+ table: q.sourceTable,
91
+ columns: q.columnOutputNames()
92
+ };
93
+ })
94
+ };
66
95
  }
67
- evaluateParameterRow(sourceTable, row) {
68
- let results = [];
69
- for (let query of this.parameterQueries) {
70
- if (query.applies(sourceTable)) {
71
- results.push(...query.evaluateParameterRow(row));
96
+ hydrate(params) {
97
+ const hydratedParameterQueriers = this.parameterQueries.map((querier) => querier.createParameterQuerierSource(params));
98
+ const hydratedGlobalParameterQueriers = this.globalParameterQueries.map((querier) => querier.createParameterQuerierSource(params));
99
+ return {
100
+ definition: this,
101
+ pushBucketParameterQueriers: (result, options) => {
102
+ for (let querier of hydratedParameterQueriers) {
103
+ querier.pushBucketParameterQueriers(result, options);
104
+ }
105
+ for (let querier of hydratedGlobalParameterQueriers) {
106
+ querier.pushBucketParameterQueriers(result, options);
107
+ }
72
108
  }
73
- }
74
- return results;
109
+ };
110
+ }
111
+ }
112
+ export class BucketDefinitionDataSource {
113
+ descriptor;
114
+ constructor(descriptor) {
115
+ this.descriptor = descriptor;
75
116
  }
76
117
  /**
77
- * @deprecated Use `pushBucketParameterQueriers` instead and merge at the top-level.
118
+ * For debug use only.
78
119
  */
79
- getBucketParameterQuerier(options) {
80
- const queriers = [];
81
- this.pushBucketParameterQueriers({ queriers, errors: [] }, options);
82
- return mergeBucketParameterQueriers(queriers);
83
- }
84
- pushBucketParameterQueriers(result, options) {
85
- const reasons = [this.bucketInclusionReason()];
86
- const staticBuckets = this.getStaticBucketDescriptions(options.globalParameters, reasons, options.bucketIdTransformer);
87
- const staticQuerier = {
88
- staticBuckets,
89
- hasDynamicBuckets: false,
90
- parameterQueryLookups: [],
91
- queryDynamicBucketDescriptions: async () => []
92
- };
93
- result.queriers.push(staticQuerier);
94
- if (this.parameterQueries.length == 0) {
95
- return;
96
- }
97
- const dynamicQueriers = this.parameterQueries.map((query) => query.getBucketParameterQuerier(options.globalParameters, reasons, options.bucketIdTransformer));
98
- result.queriers.push(...dynamicQueriers);
120
+ get bucketParameters() {
121
+ return this.descriptor.bucketParameters;
122
+ }
123
+ get uniqueName() {
124
+ return this.descriptor.name;
99
125
  }
100
- getStaticBucketDescriptions(parameters, reasons, transformer) {
126
+ evaluateRow(options) {
101
127
  let results = [];
102
- for (let query of this.globalParameterQueries) {
103
- for (const desc of query.getStaticBucketDescriptions(parameters, transformer)) {
104
- results.push({
105
- ...desc,
106
- definition: this.name,
107
- inclusion_reasons: reasons
108
- });
128
+ for (let query of this.descriptor.dataQueries) {
129
+ if (!query.applies(options.sourceTable)) {
130
+ continue;
109
131
  }
132
+ results.push(...query.evaluateRow(options.sourceTable, options.record));
110
133
  }
111
134
  return results;
112
135
  }
113
- hasDynamicBucketQueries() {
114
- return this.parameterQueries.length > 0;
115
- }
116
136
  getSourceTables() {
117
137
  let result = new Set();
118
- for (let query of this.parameterQueries) {
119
- result.add(query.sourceTable);
120
- }
121
- for (let query of this.dataQueries) {
138
+ for (let query of this.descriptor.dataQueries) {
122
139
  result.add(query.sourceTable);
123
140
  }
124
- // Note: No physical tables for global_parameter_queries
125
141
  return result;
126
142
  }
127
- bucketInclusionReason() {
128
- return 'default';
129
- }
130
143
  tableSyncsData(table) {
131
- for (let query of this.dataQueries) {
132
- if (query.applies(table)) {
133
- return true;
134
- }
135
- }
136
- return false;
137
- }
138
- tableSyncsParameters(table) {
139
- for (let query of this.parameterQueries) {
144
+ for (let query of this.descriptor.dataQueries) {
140
145
  if (query.applies(table)) {
141
146
  return true;
142
147
  }
@@ -144,12 +149,12 @@ export class SqlBucketDescriptor {
144
149
  return false;
145
150
  }
146
151
  resolveResultSets(schema, tables) {
147
- for (let query of this.dataQueries) {
152
+ for (let query of this.descriptor.dataQueries) {
148
153
  query.resolveResultSets(schema, tables);
149
154
  }
150
155
  }
151
156
  debugWriteOutputTables(result) {
152
- for (let q of this.dataQueries) {
157
+ for (let q of this.descriptor.dataQueries) {
153
158
  result[q.table.sqlName] ??= [];
154
159
  const r = {
155
160
  query: q.sql
@@ -157,33 +162,5 @@ export class SqlBucketDescriptor {
157
162
  result[q.table.sqlName].push(r);
158
163
  }
159
164
  }
160
- debugRepresentation() {
161
- let all_parameter_queries = [...this.parameterQueries.values()].flat();
162
- let all_data_queries = [...this.dataQueries.values()].flat();
163
- return {
164
- name: this.name,
165
- type: BucketSourceType[this.type],
166
- bucket_parameters: this.bucketParameters,
167
- global_parameter_queries: this.globalParameterQueries.map((q) => {
168
- return {
169
- sql: q.sql
170
- };
171
- }),
172
- parameter_queries: all_parameter_queries.map((q) => {
173
- return {
174
- sql: q.sql,
175
- table: q.sourceTable,
176
- input_parameters: q.inputParameters
177
- };
178
- }),
179
- data_queries: all_data_queries.map((q) => {
180
- return {
181
- sql: q.sql,
182
- table: q.sourceTable,
183
- columns: q.columnOutputNames()
184
- };
185
- })
186
- };
187
- }
188
165
  }
189
166
  //# sourceMappingURL=SqlBucketDescriptor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SqlBucketDescriptor.js","sourceRoot":"","sources":["../src/SqlBucketDescriptor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqlBucketDescriptor.js","sourceRoot":"","sources":["../src/SqlBucketDescriptor.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  import { BaseSqlDataQuery, BaseSqlDataQueryOptions } from './BaseSqlDataQuery.js';
2
+ import { CompatibilityContext } from './compatibility.js';
2
3
  import { SourceTableInterface } from './SourceTableInterface.js';
3
4
  import { SyncRulesOptions } from './SqlSyncRules.js';
4
- import { BucketIdTransformer, EvaluationResult, ParameterMatchClause, SqliteRow } from './types.js';
5
- import { CompatibilityContext } from './compatibility.js';
5
+ import { ParameterMatchClause, UnscopedEvaluationResult, SqliteRow } from './types.js';
6
6
  export interface SqlDataQueryOptions extends BaseSqlDataQueryOptions {
7
7
  filter: ParameterMatchClause;
8
8
  }
9
9
  export declare class SqlDataQuery extends BaseSqlDataQuery {
10
- static fromSql(descriptorName: string, bucketParameters: string[], sql: string, options: SyncRulesOptions, compatibility: CompatibilityContext): SqlDataQuery;
10
+ static fromSql(bucketParameters: string[], sql: string, options: SyncRulesOptions, compatibility: CompatibilityContext): SqlDataQuery;
11
11
  /**
12
12
  * The query WHERE clause.
13
13
  *
@@ -17,5 +17,5 @@ export declare class SqlDataQuery extends BaseSqlDataQuery {
17
17
  */
18
18
  readonly filter: ParameterMatchClause;
19
19
  constructor(options: SqlDataQueryOptions);
20
- evaluateRow(table: SourceTableInterface, row: SqliteRow, bucketIdTransformer: BucketIdTransformer): EvaluationResult[];
20
+ evaluateRow(table: SourceTableInterface, row: SqliteRow): UnscopedEvaluationResult[];
21
21
  }
@@ -7,9 +7,9 @@ import { AvailableTable, SqlTools } from './sql_filters.js';
7
7
  import { checkUnsupportedFeatures, isClauseError } from './sql_support.js';
8
8
  import { TablePattern } from './TablePattern.js';
9
9
  import { TableQuerySchema } from './TableQuerySchema.js';
10
- import { getBucketId, isSelectStatement } from './utils.js';
10
+ import { isSelectStatement, serializeBucketParameters } from './utils.js';
11
11
  export class SqlDataQuery extends BaseSqlDataQuery {
12
- static fromSql(descriptorName, bucketParameters, sql, options, compatibility) {
12
+ static fromSql(bucketParameters, sql, options, compatibility) {
13
13
  const parsed = parse(sql, { locationTracking: true });
14
14
  const schema = options.schema;
15
15
  let errors = [];
@@ -131,7 +131,6 @@ export class SqlDataQuery extends BaseSqlDataQuery {
131
131
  sql,
132
132
  filter,
133
133
  columns: q.columns ?? [],
134
- descriptorName,
135
134
  bucketParameters,
136
135
  tools,
137
136
  errors,
@@ -150,13 +149,13 @@ export class SqlDataQuery extends BaseSqlDataQuery {
150
149
  super(options);
151
150
  this.filter = options.filter;
152
151
  }
153
- evaluateRow(table, row, bucketIdTransformer) {
152
+ evaluateRow(table, row) {
154
153
  return this.evaluateRowWithOptions({
155
154
  table,
156
155
  row,
157
- bucketIds: (tables) => {
156
+ serializedBucketParameters: (tables) => {
158
157
  const bucketParameters = this.filter.filterRow(tables);
159
- return bucketParameters.map((params) => getBucketId(this.descriptorName, this.bucketParameters, params, bucketIdTransformer));
158
+ return bucketParameters.map((params) => serializeBucketParameters(this.bucketParameters, params));
160
159
  }
161
160
  });
162
161
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SqlDataQuery.js","sourceRoot":"","sources":["../src/SqlDataQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqlDataQuery.js","sourceRoot":"","sources":["../src/SqlDataQuery.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,15 @@
1
1
  import { BucketDescription, BucketInclusionReason, BucketPriority } from './BucketDescription.js';
2
- import { BucketParameterQuerier, ParameterLookup } from './BucketParameterQuerier.js';
2
+ import { BucketParameterQuerier, UnscopedParameterLookup } from './BucketParameterQuerier.js';
3
+ import { CreateSourceParams, ParameterIndexLookupCreator } from './BucketSource.js';
3
4
  import { SqlRuleError } from './errors.js';
5
+ import { BucketDataScope, ParameterLookupScope } from './HydrationState.js';
6
+ import { BucketDataSource, BucketParameterQuerierSource, UnscopedEvaluatedParametersResult } from './index.js';
4
7
  import { SourceTableInterface } from './SourceTableInterface.js';
5
8
  import { AvailableTable, SqlTools } from './sql_filters.js';
6
9
  import { StaticSqlParameterQuery } from './StaticSqlParameterQuery.js';
7
10
  import { TablePattern } from './TablePattern.js';
8
11
  import { TableValuedFunctionSqlParameterQuery } from './TableValuedFunctionSqlParameterQuery.js';
9
- import { BucketIdTransformer, EvaluatedParametersResult, InputParameter, ParameterMatchClause, ParameterValueClause, QueryParseOptions, RequestParameters, RowValueClause, SqliteJsonRow, SqliteRow } from './types.js';
12
+ import { InputParameter, ParameterMatchClause, ParameterValueClause, QueryParseOptions, RequestParameters, RowValueClause, SqliteJsonRow, SqliteRow } from './types.js';
10
13
  export interface SqlParameterQueryOptions {
11
14
  sourceTable: TablePattern;
12
15
  table: AvailableTable;
@@ -21,6 +24,7 @@ export interface SqlParameterQueryOptions {
21
24
  bucketParameters: string[];
22
25
  queryId: string;
23
26
  tools: SqlTools;
27
+ querierDataSource: BucketDataSource;
24
28
  errors?: SqlRuleError[];
25
29
  }
26
30
  /**
@@ -29,8 +33,8 @@ export interface SqlParameterQueryOptions {
29
33
  * SELECT id as user_id FROM users WHERE users.user_id = token_parameters.user_id
30
34
  * SELECT id as user_id, token_parameters.is_admin as is_admin FROM users WHERE users.user_id = token_parameters.user_id
31
35
  */
32
- export declare class SqlParameterQuery {
33
- static fromSql(descriptorName: string, sql: string, options: QueryParseOptions, queryId: string): SqlParameterQuery | StaticSqlParameterQuery | TableValuedFunctionSqlParameterQuery;
36
+ export declare class SqlParameterQuery implements ParameterIndexLookupCreator {
37
+ static fromSql(descriptorName: string, sql: string, options: QueryParseOptions, queryId: string, querierDataSource: BucketDataSource): SqlParameterQuery | StaticSqlParameterQuery | TableValuedFunctionSqlParameterQuery;
34
38
  /**
35
39
  * The table the parameter query queries from.
36
40
  *
@@ -99,27 +103,31 @@ export declare class SqlParameterQuery {
99
103
  */
100
104
  readonly queryId: string;
101
105
  readonly tools: SqlTools;
106
+ readonly querierDataSource: BucketDataSource;
102
107
  readonly errors: SqlRuleError[];
103
108
  constructor(options: SqlParameterQueryOptions);
104
- applies(table: SourceTableInterface): boolean;
109
+ get defaultLookupScope(): ParameterLookupScope;
110
+ tableSyncsParameters(table: SourceTableInterface): boolean;
111
+ getSourceTables(): Set<TablePattern>;
112
+ createParameterQuerierSource(params: CreateSourceParams): BucketParameterQuerierSource;
105
113
  /**
106
114
  * Given a replicated row, results an array of bucket parameter rows to persist.
107
115
  */
108
- evaluateParameterRow(row: SqliteRow): EvaluatedParametersResult[];
116
+ evaluateParameterRow(sourceTable: SourceTableInterface, row: SqliteRow): UnscopedEvaluatedParametersResult[];
109
117
  private transformRows;
110
118
  /**
111
119
  * Given partial parameter rows, turn into bucket ids.
112
120
  *
113
121
  * Internal function, but exposed for tests.
114
122
  */
115
- resolveBucketDescriptions(bucketParameters: SqliteJsonRow[], parameters: RequestParameters, transformer: BucketIdTransformer): BucketDescription[];
123
+ resolveBucketDescriptions(bucketParameters: SqliteJsonRow[], parameters: RequestParameters, bucketScope: BucketDataScope): BucketDescription[];
116
124
  /**
117
125
  * Given sync parameters, get lookups we need to perform on the database.
118
126
  *
119
127
  * Each lookup is [bucket definition name, parameter query index, ...lookup values]
120
128
  */
121
- getLookups(parameters: RequestParameters): ParameterLookup[];
122
- getBucketParameterQuerier(requestParameters: RequestParameters, reasons: BucketInclusionReason[], transformer: BucketIdTransformer): BucketParameterQuerier;
129
+ getLookups(parameters: RequestParameters): UnscopedParameterLookup[];
130
+ getBucketParameterQuerier(requestParameters: RequestParameters, reasons: BucketInclusionReason[], bucketDataScope: BucketDataScope, scope: ParameterLookupScope): BucketParameterQuerier;
123
131
  get hasAuthenticatedBucketParameters(): boolean;
124
132
  get hasAuthenticatedMatchClause(): boolean;
125
133
  get usesUnauthenticatedRequestParameters(): boolean;