@powersync/service-sync-rules 0.0.0-dev-20250820110726 → 0.0.0-dev-20250825132649

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 (52) hide show
  1. package/dist/BaseSqlDataQuery.d.ts +8 -1
  2. package/dist/BaseSqlDataQuery.js +42 -0
  3. package/dist/BaseSqlDataQuery.js.map +1 -1
  4. package/dist/SqlBucketDescriptor.js +2 -10
  5. package/dist/SqlBucketDescriptor.js.map +1 -1
  6. package/dist/SqlDataQuery.js +7 -28
  7. package/dist/SqlDataQuery.js.map +1 -1
  8. package/dist/SqlSyncRules.js +33 -2
  9. package/dist/SqlSyncRules.js.map +1 -1
  10. package/dist/index.d.ts +3 -0
  11. package/dist/index.js +3 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/json_schema.js +31 -1
  14. package/dist/json_schema.js.map +1 -1
  15. package/dist/request_functions.d.ts +24 -4
  16. package/dist/request_functions.js +68 -17
  17. package/dist/request_functions.js.map +1 -1
  18. package/dist/sql_filters.d.ts +17 -1
  19. package/dist/sql_filters.js +216 -116
  20. package/dist/sql_filters.js.map +1 -1
  21. package/dist/sql_functions.d.ts +3 -0
  22. package/dist/sql_functions.js +36 -9
  23. package/dist/sql_functions.js.map +1 -1
  24. package/dist/sql_support.d.ts +20 -0
  25. package/dist/sql_support.js +67 -14
  26. package/dist/sql_support.js.map +1 -1
  27. package/dist/streams/filter.d.ts +148 -0
  28. package/dist/streams/filter.js +426 -0
  29. package/dist/streams/filter.js.map +1 -0
  30. package/dist/streams/from_sql.d.ts +4 -0
  31. package/dist/streams/from_sql.js +369 -0
  32. package/dist/streams/from_sql.js.map +1 -0
  33. package/dist/streams/functions.d.ts +2 -0
  34. package/dist/streams/functions.js +38 -0
  35. package/dist/streams/functions.js.map +1 -0
  36. package/dist/streams/parameter.d.ts +67 -0
  37. package/dist/streams/parameter.js +2 -0
  38. package/dist/streams/parameter.js.map +1 -0
  39. package/dist/streams/stream.d.ts +40 -0
  40. package/dist/streams/stream.js +136 -0
  41. package/dist/streams/stream.js.map +1 -0
  42. package/dist/streams/utils.d.ts +1 -0
  43. package/dist/streams/utils.js +13 -0
  44. package/dist/streams/utils.js.map +1 -0
  45. package/dist/streams/variant.d.ts +121 -0
  46. package/dist/streams/variant.js +265 -0
  47. package/dist/streams/variant.js.map +1 -0
  48. package/dist/types.d.ts +12 -1
  49. package/dist/types.js +17 -1
  50. package/dist/types.js.map +1 -1
  51. package/package.json +2 -2
  52. package/schema/sync_rules.json +55 -2
@@ -1 +1 @@
1
- {"version":3,"file":"sql_functions.js","sourceRoot":"","sources":["../src/sql_functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql_functions.js","sourceRoot":"","sources":["../src/sql_functions.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,26 @@ export declare const SQLITE_TRUE = 1n;
10
10
  export declare const SQLITE_FALSE = 0n;
11
11
  export declare function sqliteBool(value: SqliteValue | boolean): 1n | 0n;
12
12
  export declare function sqliteNot(value: SqliteValue | boolean): 0n | 1n;
13
+ /**
14
+ * Applies a combinator on row values that itself is also a row value.
15
+ */
16
+ export declare function composeRowValues<T extends Record<string, RowValueClause>>(options: {
17
+ values: T;
18
+ compose: (values: {
19
+ [K in keyof T]: SqliteValue;
20
+ }) => SqliteValue;
21
+ getColumnDefinition: RowValueClause['getColumnDefinition'];
22
+ }): RowValueClause;
23
+ /**
24
+ * Applies a combinator on parameter values that itself is also a parameter value.
25
+ */
26
+ export declare function composeParameterValues<T extends Record<string, ParameterValueClause>>(options: {
27
+ values: T;
28
+ key: string;
29
+ compose: (values: {
30
+ [K in keyof T]: SqliteValue;
31
+ }) => SqliteValue;
32
+ }): ParameterValueClause;
13
33
  export declare function compileStaticOperator(op: string, left: RowValueClause, right: RowValueClause): RowValueClause;
14
34
  export declare function andFilters(a: CompiledClause, b: CompiledClause): CompiledClause;
15
35
  export declare function orFilters(a: CompiledClause, b: CompiledClause): CompiledClause;
@@ -40,6 +40,41 @@ export function sqliteBool(value) {
40
40
  export function sqliteNot(value) {
41
41
  return sqliteBool(!sqliteBool(value));
42
42
  }
43
+ /**
44
+ * Applies a combinator on row values that itself is also a row value.
45
+ */
46
+ export function composeRowValues(options) {
47
+ return {
48
+ evaluate: function (tables) {
49
+ const evaluated = Object.fromEntries(Object.entries(options.values).map((e) => {
50
+ const [key, clause] = e;
51
+ return [key, clause.evaluate(tables)];
52
+ }));
53
+ return options.compose(evaluated);
54
+ },
55
+ getColumnDefinition: function (schema) {
56
+ return options.getColumnDefinition(schema);
57
+ }
58
+ };
59
+ }
60
+ /**
61
+ * Applies a combinator on parameter values that itself is also a parameter value.
62
+ */
63
+ export function composeParameterValues(options) {
64
+ const entries = Object.entries(options.values);
65
+ return {
66
+ usesAuthenticatedRequestParameters: entries.some((e) => e[1].usesAuthenticatedRequestParameters),
67
+ usesUnauthenticatedRequestParameters: entries.some((e) => e[1].usesUnauthenticatedRequestParameters),
68
+ key: `${options.key}${entries.map((e) => e[1].key).join(',')}`,
69
+ lookupParameterValue: function (parameters) {
70
+ const evaluated = Object.fromEntries(Object.entries(options.values).map((e) => {
71
+ const [key, clause] = e;
72
+ return [key, clause.lookupParameterValue(parameters)];
73
+ }));
74
+ return options.compose(evaluated);
75
+ }
76
+ };
77
+ }
43
78
  export function compileStaticOperator(op, left, right) {
44
79
  return {
45
80
  evaluate: (tables) => {
@@ -59,18 +94,27 @@ export function compileStaticOperator(op, left, right) {
59
94
  };
60
95
  }
61
96
  export function andFilters(a, b) {
97
+ // Optimizations: If the two clauses both only depend on row or parameter data, we can merge them into a single
98
+ // clause.
62
99
  if (isRowValueClause(a) && isRowValueClause(b)) {
63
- // Optimization
64
- return {
65
- evaluate(tables) {
66
- const aValue = sqliteBool(a.evaluate(tables));
67
- const bValue = sqliteBool(b.evaluate(tables));
68
- return sqliteBool(aValue && bValue);
100
+ return composeRowValues({
101
+ values: { a, b },
102
+ compose(values) {
103
+ return sqliteBool(sqliteBool(values.a) && sqliteBool(values.b));
69
104
  },
70
105
  getColumnDefinition() {
71
106
  return { name: 'and', type: ExpressionType.INTEGER };
72
107
  }
73
- };
108
+ });
109
+ }
110
+ if (isParameterValueClause(a) && isParameterValueClause(b)) {
111
+ return composeParameterValues({
112
+ values: { a, b },
113
+ key: 'and',
114
+ compose(values) {
115
+ return sqliteBool(sqliteBool(values.a) && sqliteBool(values.b));
116
+ }
117
+ });
74
118
  }
75
119
  const aFilter = toBooleanParameterSetClause(a);
76
120
  const bFilter = toBooleanParameterSetClause(b);
@@ -110,18 +154,27 @@ export function andFilters(a, b) {
110
154
  };
111
155
  }
112
156
  export function orFilters(a, b) {
157
+ // Optimizations: If the two clauses both only depend on row or parameter data, we can merge them into a single
158
+ // clause.
113
159
  if (isRowValueClause(a) && isRowValueClause(b)) {
114
- // Optimization
115
- return {
116
- evaluate(tables) {
117
- const aValue = sqliteBool(a.evaluate(tables));
118
- const bValue = sqliteBool(b.evaluate(tables));
119
- return sqliteBool(aValue || bValue);
160
+ return composeRowValues({
161
+ values: { a, b },
162
+ compose(values) {
163
+ return sqliteBool(sqliteBool(values.a) || sqliteBool(values.b));
120
164
  },
121
165
  getColumnDefinition() {
122
166
  return { name: 'or', type: ExpressionType.INTEGER };
123
167
  }
124
- };
168
+ });
169
+ }
170
+ if (isParameterValueClause(a) && isParameterValueClause(b)) {
171
+ return composeParameterValues({
172
+ values: { a, b },
173
+ key: 'or',
174
+ compose(values) {
175
+ return sqliteBool(sqliteBool(values.a) || sqliteBool(values.b));
176
+ }
177
+ });
125
178
  }
126
179
  const aFilter = toBooleanParameterSetClause(a);
127
180
  const bFilter = toBooleanParameterSetClause(b);
@@ -1 +1 @@
1
- {"version":3,"file":"sql_support.js","sourceRoot":"","sources":["../src/sql_support.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql_support.js","sourceRoot":"","sources":["../src/sql_support.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,148 @@
1
+ import { TablePattern } from '../TablePattern.js';
2
+ import { ParameterMatchClause, ParameterValueClause, RowValueClause } from '../types.js';
3
+ import { SqlTools } from '../sql_filters.js';
4
+ import { StreamVariant } from './variant.js';
5
+ import { SubqueryEvaluator } from './parameter.js';
6
+ import { NodeLocation } from 'pgsql-ast-parser';
7
+ /**
8
+ * An intermediate representation of a `WHERE` clause for stream queries.
9
+ *
10
+ * This representation is only used to compile expressions into the {@link StreamVariant}s representing streams in the
11
+ * end.
12
+ */
13
+ export declare abstract class FilterOperator {
14
+ /**
15
+ * The syntactic source creating this filter operator.
16
+ */
17
+ readonly location: NodeLocation | null;
18
+ constructor(location: NodeLocation | null);
19
+ abstract compile(context: StreamCompilationContext): void;
20
+ compileVariants(streamName: string): StreamVariant[];
21
+ /**
22
+ * Transforms this filter operator to a DNF representation, a {@link Or} operator consisting of {@link And} operators
23
+ * internally.
24
+ *
25
+ * We need to represent filters as a sum-of-products because that lets us turn each product into a
26
+ * {@link StreamVariant}, simplifying the rest of the compilation.
27
+ */
28
+ toDisjunctiveNormalForm(tools: SqlTools): FilterOperator;
29
+ /**
30
+ * Checks that this filter is valid, meaning that no `NOT` operators appear before subqueries or other operators that
31
+ * don't support negations.
32
+ */
33
+ isValid(tools: SqlTools): boolean;
34
+ private visitLiterals;
35
+ }
36
+ interface StreamCompilationContext {
37
+ streamName: string;
38
+ allVariants: StreamVariant[];
39
+ currentVariant: StreamVariant;
40
+ queryCounter: number;
41
+ }
42
+ /**
43
+ * A `NOT` operator that inverts an inner operator.
44
+ *
45
+ * This is only used temporarily when compiling the filter: It is illegal to negate {@link InOperator} and
46
+ * {@link CompareRowValueWithStreamParameter} clauses, as those are implemented with special lookups based on bucket
47
+ * parameters.
48
+ * For {@link EvaluateSimpleCondition}, a wrapping {@link Not} clause is unecessary, because we can simply push the
49
+ * negation into the inner evaluator.
50
+ */
51
+ export declare class Not extends FilterOperator {
52
+ readonly operand: FilterOperator;
53
+ constructor(location: NodeLocation | null, operand: FilterOperator);
54
+ compile(): void;
55
+ }
56
+ export declare class And extends FilterOperator {
57
+ readonly inner: FilterOperator[];
58
+ constructor(location: NodeLocation | null, ...operators: FilterOperator[]);
59
+ compile(context: StreamCompilationContext): void;
60
+ }
61
+ export declare class Or extends FilterOperator {
62
+ readonly inner: FilterOperator[];
63
+ constructor(location: NodeLocation | null, ...operators: FilterOperator[]);
64
+ compile(context: StreamCompilationContext): void;
65
+ compileVariants(streamName: string): StreamVariant[];
66
+ }
67
+ export declare class Subquery {
68
+ private table;
69
+ readonly column: RowValueClause;
70
+ private filter;
71
+ constructor(table: TablePattern, column: RowValueClause, filter: CompareRowValueWithStreamParameter | EvaluateSimpleCondition);
72
+ addFilter(filter: CompareRowValueWithStreamParameter | EvaluateSimpleCondition): void;
73
+ compileEvaluator(context: StreamCompilationContext): SubqueryEvaluator;
74
+ }
75
+ export type ScalarExpression = RowValueClause | ParameterValueClause;
76
+ /**
77
+ * A filter that matches when row values are contained in a subquery depending on parameter values.
78
+ *
79
+ * Examples:
80
+ *
81
+ * - `SELECT * FROM comments WHERE issue_id IN (SELECT id FROM issue WHERE owner_id = request.user())`
82
+ *
83
+ * An `IN` operator can also be handled without requiring a subquery, those don't create {@link InOperator}s:
84
+ *
85
+ * - `SELECT * FROM comments WHERE id IN request.params('id')` ({@link CompareRowValueWithStreamParameter})
86
+ * - `SELECT * FROM comments WHERE request.user() IN comments.tagged_users` ({@link CompareRowValueWithStreamParameter})
87
+ *
88
+ * Finally, it's also possible to `IN` operators for parameter values:
89
+ *
90
+ * - `SELECT * FROM comments WHERE request.user_id() IN (SELECT * FROM users WHERE is_admin)`.
91
+ *
92
+ * However, these are not represented as {@link InOperator}s in the filter graph. Instead, we push the
93
+ * `request.user_id()` filter into the subquery and then compile the operator into a {@link ExistsOperator}.
94
+ */
95
+ export declare class InOperator extends FilterOperator {
96
+ private left;
97
+ private right;
98
+ constructor(location: NodeLocation | null, left: RowValueClause, right: Subquery);
99
+ compile(context: StreamCompilationContext): void;
100
+ }
101
+ /**
102
+ * An operator of the form `<left> && <right>`, where `right` is a subqery.
103
+ */
104
+ export declare class OverlapOperator extends FilterOperator {
105
+ private left;
106
+ private right;
107
+ constructor(location: NodeLocation | null, left: RowValueClause, right: Subquery);
108
+ compile(context: StreamCompilationContext): void;
109
+ }
110
+ /**
111
+ * A filter that matches when _something_ exists in a subquery.
112
+ *
113
+ * This is exclusively used to compile `IN` operators where the left operand does not depend on row values, e.g.
114
+ *
115
+ * - `SELECT * FROM comments WHERE request.user_id() IN (SELECT id FROM users WHERE is_admin)`
116
+ *
117
+ * These queries are desugared to something that is semantically equivalent to
118
+ * `WHERE EXISTS (SELECT _ FROM users WHERE is_admin AND id = request.user_id())`.
119
+ */
120
+ export declare class ExistsOperator extends FilterOperator {
121
+ private subquery;
122
+ constructor(location: NodeLocation | null, subquery: Subquery);
123
+ compile(context: StreamCompilationContext): void;
124
+ }
125
+ /**
126
+ * A filter that matches if a column of the input table matches some condition that depends on the request parameters.
127
+ *
128
+ * E.g. `SELECT * FROM issue_id WHERE owner_id = request.user_id()`. This will add the referenced column as a bucket
129
+ * parameter, but doesn't require a dynamic lookup.
130
+ *
131
+ * We only allow a few operators that are efficient to compute here (effectively just an equality operator).
132
+ */
133
+ export declare class CompareRowValueWithStreamParameter extends FilterOperator {
134
+ private match;
135
+ constructor(location: NodeLocation | null, match: ParameterMatchClause);
136
+ compile(context: StreamCompilationContext): void;
137
+ }
138
+ /**
139
+ * A simple condition that is either static, only depends on the current row being matched, or only depends on the input
140
+ * parameters.
141
+ */
142
+ export declare class EvaluateSimpleCondition extends FilterOperator {
143
+ expression: ScalarExpression;
144
+ constructor(location: NodeLocation | null, expression: ScalarExpression);
145
+ compile(context: StreamCompilationContext): void;
146
+ negate(tools: SqlTools): EvaluateSimpleCondition;
147
+ }
148
+ export {};