@powersync/service-sync-rules 0.19.0 → 0.21.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/BaseSqlDataQuery.d.ts +35 -0
- package/dist/BaseSqlDataQuery.js +96 -0
- package/dist/BaseSqlDataQuery.js.map +1 -0
- package/dist/DartSchemaGenerator.d.ts +2 -2
- package/dist/DartSchemaGenerator.js +21 -4
- package/dist/DartSchemaGenerator.js.map +1 -1
- package/dist/ExpressionType.d.ts +7 -2
- package/dist/ExpressionType.js +24 -0
- package/dist/ExpressionType.js.map +1 -1
- package/dist/JsLegacySchemaGenerator.js.map +1 -1
- package/dist/SchemaGenerator.d.ts +4 -1
- package/dist/SchemaGenerator.js.map +1 -1
- package/dist/SqlBucketDescriptor.d.ts +4 -3
- package/dist/SqlBucketDescriptor.js +4 -4
- package/dist/SqlBucketDescriptor.js.map +1 -1
- package/dist/SqlDataQuery.d.ts +5 -35
- package/dist/SqlDataQuery.js +9 -98
- package/dist/SqlDataQuery.js.map +1 -1
- package/dist/SqlParameterQuery.d.ts +2 -2
- package/dist/SqlParameterQuery.js +14 -5
- package/dist/SqlParameterQuery.js.map +1 -1
- package/dist/SqlSyncRules.d.ts +16 -7
- package/dist/SqlSyncRules.js +58 -12
- package/dist/SqlSyncRules.js.map +1 -1
- package/dist/StaticSchema.d.ts +17 -2
- package/dist/StaticSchema.js +18 -23
- package/dist/StaticSchema.js.map +1 -1
- package/dist/StaticSqlParameterQuery.js.map +1 -1
- package/dist/TablePattern.d.ts +1 -2
- package/dist/TablePattern.js +0 -2
- package/dist/TablePattern.js.map +1 -1
- package/dist/TableQuerySchema.d.ts +2 -2
- package/dist/TableQuerySchema.js +4 -5
- package/dist/TableQuerySchema.js.map +1 -1
- package/dist/TableValuedFunctionSqlParameterQuery.d.ts +35 -0
- package/dist/TableValuedFunctionSqlParameterQuery.js +139 -0
- package/dist/TableValuedFunctionSqlParameterQuery.js.map +1 -0
- package/dist/TableValuedFunctions.d.ts +9 -0
- package/dist/TableValuedFunctions.js +37 -0
- package/dist/TableValuedFunctions.js.map +1 -0
- package/dist/TsSchemaGenerator.d.ts +2 -2
- package/dist/TsSchemaGenerator.js +21 -4
- package/dist/TsSchemaGenerator.js.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/events/SqlEventDescriptor.d.ts +20 -0
- package/dist/events/SqlEventDescriptor.js +50 -0
- package/dist/events/SqlEventDescriptor.js.map +1 -0
- package/dist/events/SqlEventSourceQuery.d.ts +19 -0
- package/dist/events/SqlEventSourceQuery.js +118 -0
- package/dist/events/SqlEventSourceQuery.js.map +1 -0
- package/dist/index.d.ts +13 -11
- package/dist/index.js +13 -11
- package/dist/index.js.map +1 -1
- package/dist/json_schema.js +29 -0
- package/dist/json_schema.js.map +1 -1
- package/dist/request_functions.d.ts +2 -2
- package/dist/sql_filters.js +28 -24
- package/dist/sql_filters.js.map +1 -1
- package/dist/sql_functions.d.ts +7 -2
- package/dist/sql_functions.js +93 -5
- package/dist/sql_functions.js.map +1 -1
- package/dist/sql_support.d.ts +1 -3
- package/dist/sql_support.js +16 -23
- package/dist/sql_support.js.map +1 -1
- package/dist/types.d.ts +22 -8
- package/dist/types.js +9 -0
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js +4 -0
- package/dist/utils.js.map +1 -1
- package/package.json +7 -5
- package/schema/sync_rules.json +106 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ExpressionType } from './ExpressionType.js';
|
|
2
|
-
import {
|
|
2
|
+
import { ParameterValueSet, SqliteValue } from './types.js';
|
|
3
3
|
export interface SqlParameterFunction {
|
|
4
4
|
readonly debugName: string;
|
|
5
|
-
call: (parameters:
|
|
5
|
+
call: (parameters: ParameterValueSet) => SqliteValue;
|
|
6
6
|
getReturnType(): ExpressionType;
|
|
7
7
|
/** request.user_id(), request.jwt(), token_parameters.* */
|
|
8
8
|
usesAuthenticatedRequestParameters: boolean;
|
package/dist/sql_filters.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { ExpressionType, TYPE_NONE } from './ExpressionType.js';
|
|
2
|
-
import { SqlRuleError } from './errors.js';
|
|
3
|
-
import { BASIC_OPERATORS, OPERATOR_IN, OPERATOR_IS_NOT_NULL, OPERATOR_IS_NULL, OPERATOR_JSON_EXTRACT_JSON, OPERATOR_JSON_EXTRACT_SQL, OPERATOR_NOT, SQL_FUNCTIONS, castOperator, sqliteTypeOf } from './sql_functions.js';
|
|
4
|
-
import { SQLITE_FALSE, SQLITE_TRUE, andFilters, compileStaticOperator, getOperatorFunction, isClauseError, isParameterMatchClause, isParameterValueClause, isRowValueClause, isStaticValueClause, orFilters, toBooleanParameterSetClause } from './sql_support.js';
|
|
5
|
-
import { isJsonValue } from './utils.js';
|
|
6
1
|
import { JSONBig } from '@powersync/service-jsonbig';
|
|
2
|
+
import { ExpressionType } from './ExpressionType.js';
|
|
3
|
+
import { SqlRuleError } from './errors.js';
|
|
7
4
|
import { REQUEST_FUNCTIONS } from './request_functions.js';
|
|
5
|
+
import { BASIC_OPERATORS, OPERATOR_IN, OPERATOR_IS_NOT_NULL, OPERATOR_IS_NULL, OPERATOR_JSON_EXTRACT_JSON, OPERATOR_JSON_EXTRACT_SQL, OPERATOR_NOT, SQL_FUNCTIONS, castOperator, getOperatorFunction, sqliteTypeOf } from './sql_functions.js';
|
|
6
|
+
import { SQLITE_FALSE, SQLITE_TRUE, andFilters, compileStaticOperator, isClauseError, isParameterMatchClause, isParameterValueClause, isRowValueClause, isStaticValueClause, orFilters, toBooleanParameterSetClause } from './sql_support.js';
|
|
7
|
+
import { isJsonValue } from './utils.js';
|
|
8
8
|
export const MATCH_CONST_FALSE = [];
|
|
9
9
|
export const MATCH_CONST_TRUE = [{}];
|
|
10
10
|
Object.freeze(MATCH_CONST_TRUE);
|
|
@@ -91,8 +91,8 @@ export class SqlTools {
|
|
|
91
91
|
evaluate(tables) {
|
|
92
92
|
return tables[table]?.[column];
|
|
93
93
|
},
|
|
94
|
-
|
|
95
|
-
return schema.
|
|
94
|
+
getColumnDefinition(schema) {
|
|
95
|
+
return schema.getColumn(table, column);
|
|
96
96
|
}
|
|
97
97
|
};
|
|
98
98
|
}
|
|
@@ -398,7 +398,8 @@ export class SqlTools {
|
|
|
398
398
|
if (expr.type != 'ref') {
|
|
399
399
|
return false;
|
|
400
400
|
}
|
|
401
|
-
|
|
401
|
+
const tableName = expr.table?.name ?? this.default_table;
|
|
402
|
+
return this.parameter_tables.includes(tableName ?? '');
|
|
402
403
|
}
|
|
403
404
|
/**
|
|
404
405
|
* Check if an expression is a value_tables reference.
|
|
@@ -469,20 +470,19 @@ export class SqlTools {
|
|
|
469
470
|
}
|
|
470
471
|
checkRef(table, ref) {
|
|
471
472
|
if (this.schema) {
|
|
472
|
-
const type = this.schema.
|
|
473
|
-
if (type
|
|
473
|
+
const type = this.schema.getColumn(table, ref.name);
|
|
474
|
+
if (type == null) {
|
|
474
475
|
this.warn(`Column not found: ${ref.name}`, ref);
|
|
475
476
|
}
|
|
476
477
|
}
|
|
477
478
|
}
|
|
478
479
|
getParameterRefClause(expr) {
|
|
479
|
-
const table = expr.table.
|
|
480
|
+
const table = (expr.table?.name ?? this.default_table);
|
|
480
481
|
const column = expr.name;
|
|
481
482
|
return {
|
|
482
483
|
key: `${table}.${column}`,
|
|
483
484
|
lookupParameterValue: (parameters) => {
|
|
484
|
-
|
|
485
|
-
return pt?.[column] ?? null;
|
|
485
|
+
return parameters.lookup(table, column);
|
|
486
486
|
},
|
|
487
487
|
usesAuthenticatedRequestParameters: table == 'token_parameters',
|
|
488
488
|
usesUnauthenticatedRequestParameters: table == 'user_parameters'
|
|
@@ -500,17 +500,15 @@ export class SqlTools {
|
|
|
500
500
|
if (this.refHasSchema(ref)) {
|
|
501
501
|
throw new SqlRuleError(`Specifying schema in column references is not supported`, this.sql, ref);
|
|
502
502
|
}
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
else if (this.value_tables.includes(ref.table?.name ?? '')) {
|
|
507
|
-
return ref.table.name;
|
|
503
|
+
const tableName = ref.table?.name ?? this.default_table;
|
|
504
|
+
if (this.value_tables.includes(tableName ?? '')) {
|
|
505
|
+
return tableName;
|
|
508
506
|
}
|
|
509
507
|
else if (ref.table?.name == null) {
|
|
510
508
|
throw new SqlRuleError(`Table name required`, this.sql, ref);
|
|
511
509
|
}
|
|
512
510
|
else {
|
|
513
|
-
throw new SqlRuleError(`Undefined table ${
|
|
511
|
+
throw new SqlRuleError(`Undefined table ${tableName}`, this.sql, ref);
|
|
514
512
|
}
|
|
515
513
|
}
|
|
516
514
|
/**
|
|
@@ -551,9 +549,9 @@ export class SqlTools {
|
|
|
551
549
|
const args = argClauses.map((e) => e.evaluate(tables));
|
|
552
550
|
return fnImpl.call(...args);
|
|
553
551
|
},
|
|
554
|
-
|
|
555
|
-
const argTypes = argClauses.map((e) => e.
|
|
556
|
-
return fnImpl.getReturnType(argTypes);
|
|
552
|
+
getColumnDefinition(schema) {
|
|
553
|
+
const argTypes = argClauses.map((e) => e.getColumnDefinition(schema)?.type ?? ExpressionType.NONE);
|
|
554
|
+
return { name: `${fnImpl}()`, type: fnImpl.getReturnType(argTypes) };
|
|
557
555
|
}
|
|
558
556
|
};
|
|
559
557
|
}
|
|
@@ -642,6 +640,9 @@ function staticValue(expr) {
|
|
|
642
640
|
else if (expr.type == 'integer') {
|
|
643
641
|
return BigInt(expr.value);
|
|
644
642
|
}
|
|
643
|
+
else if (expr.type == 'null') {
|
|
644
|
+
return null;
|
|
645
|
+
}
|
|
645
646
|
else {
|
|
646
647
|
return expr.value;
|
|
647
648
|
}
|
|
@@ -651,8 +652,11 @@ function staticValueClause(value) {
|
|
|
651
652
|
value: value,
|
|
652
653
|
// RowValueClause compatibility
|
|
653
654
|
evaluate: () => value,
|
|
654
|
-
|
|
655
|
-
return
|
|
655
|
+
getColumnDefinition() {
|
|
656
|
+
return {
|
|
657
|
+
name: 'literal',
|
|
658
|
+
type: ExpressionType.fromTypeText(sqliteTypeOf(value))
|
|
659
|
+
};
|
|
656
660
|
},
|
|
657
661
|
// ParamterValueClause compatibility
|
|
658
662
|
key: JSONBig.stringify(value),
|
package/dist/sql_filters.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql_filters.js","sourceRoot":"","sources":["../src/sql_filters.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sql_filters.js","sourceRoot":"","sources":["../src/sql_filters.ts"],"names":[],"mappings":"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"}
|
package/dist/sql_functions.d.ts
CHANGED
|
@@ -17,9 +17,11 @@ export interface DocumentedSqlFunction extends SqlFunction {
|
|
|
17
17
|
detail: string;
|
|
18
18
|
documentation?: string;
|
|
19
19
|
}
|
|
20
|
+
export declare function getOperatorFunction(op: string): SqlFunction;
|
|
20
21
|
export declare const SQL_FUNCTIONS_NAMED: {
|
|
21
22
|
upper: DocumentedSqlFunction;
|
|
22
23
|
lower: DocumentedSqlFunction;
|
|
24
|
+
substring: DocumentedSqlFunction;
|
|
23
25
|
hex: DocumentedSqlFunction;
|
|
24
26
|
length: DocumentedSqlFunction;
|
|
25
27
|
base64: DocumentedSqlFunction;
|
|
@@ -28,6 +30,7 @@ export declare const SQL_FUNCTIONS_NAMED: {
|
|
|
28
30
|
json_extract: DocumentedSqlFunction;
|
|
29
31
|
json_array_length: DocumentedSqlFunction;
|
|
30
32
|
json_valid: DocumentedSqlFunction;
|
|
33
|
+
json_keys: DocumentedSqlFunction;
|
|
31
34
|
unixepoch: DocumentedSqlFunction;
|
|
32
35
|
datetime: DocumentedSqlFunction;
|
|
33
36
|
st_asgeojson: DocumentedSqlFunction;
|
|
@@ -35,13 +38,14 @@ export declare const SQL_FUNCTIONS_NAMED: {
|
|
|
35
38
|
st_x: DocumentedSqlFunction;
|
|
36
39
|
st_y: DocumentedSqlFunction;
|
|
37
40
|
};
|
|
38
|
-
|
|
41
|
+
type FunctionName = keyof typeof SQL_FUNCTIONS_NAMED;
|
|
42
|
+
export declare const SQL_FUNCTIONS_CALL: Record<FunctionName, SqlFunction["call"]>;
|
|
39
43
|
export declare const SQL_FUNCTIONS: Record<string, DocumentedSqlFunction>;
|
|
40
44
|
export declare const CAST_TYPES: Set<String>;
|
|
41
45
|
export declare function castAsText(value: SqliteValue): string | null;
|
|
42
46
|
export declare function castAsBlob(value: SqliteValue): Uint8Array | null;
|
|
43
47
|
export declare function cast(value: SqliteValue, to: string): string | number | bigint | Uint8Array | null;
|
|
44
|
-
export declare function sqliteTypeOf(arg: SqliteValue): "null" | "
|
|
48
|
+
export declare function sqliteTypeOf(arg: SqliteValue): "null" | "integer" | "blob" | "text" | "real";
|
|
45
49
|
export declare function parseGeometry(value?: SqliteValue): wkx.Geometry | null;
|
|
46
50
|
export declare function evaluateOperator(op: string, a: SqliteValue, b: SqliteValue): SqliteValue;
|
|
47
51
|
export declare function getOperatorReturnType(op: string, left: ExpressionType, right: ExpressionType): ExpressionType;
|
|
@@ -64,3 +68,4 @@ export interface ParseDateFlags {
|
|
|
64
68
|
subsecond?: boolean;
|
|
65
69
|
}
|
|
66
70
|
export declare function convertToDate(dateTime: SqliteValue, flags: ParseDateFlags): Date | null;
|
|
71
|
+
export {};
|
package/dist/sql_functions.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { JSONBig } from '@powersync/service-jsonbig';
|
|
2
|
-
import {
|
|
2
|
+
import { SQLITE_FALSE, SQLITE_TRUE, sqliteBool, sqliteNot } from './sql_support.js';
|
|
3
3
|
import { jsonValueToSqlite } from './utils.js';
|
|
4
4
|
// Declares @syncpoint/wkx module
|
|
5
5
|
// This allows for consumers of this lib to resolve types correctly
|
|
@@ -23,6 +23,17 @@ export const BASIC_OPERATORS = new Set([
|
|
|
23
23
|
'IS',
|
|
24
24
|
'IS NOT'
|
|
25
25
|
]);
|
|
26
|
+
export function getOperatorFunction(op) {
|
|
27
|
+
return {
|
|
28
|
+
debugName: `operator${op}`,
|
|
29
|
+
call(...args) {
|
|
30
|
+
return evaluateOperator(op, args[0], args[1]);
|
|
31
|
+
},
|
|
32
|
+
getReturnType(args) {
|
|
33
|
+
return getOperatorReturnType(op, args[0], args[1]);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
}
|
|
26
37
|
const upper = {
|
|
27
38
|
debugName: 'upper',
|
|
28
39
|
call(value) {
|
|
@@ -47,6 +58,60 @@ const lower = {
|
|
|
47
58
|
},
|
|
48
59
|
detail: 'Convert text to lower case'
|
|
49
60
|
};
|
|
61
|
+
const substring = {
|
|
62
|
+
debugName: 'substring',
|
|
63
|
+
call(value, start, length) {
|
|
64
|
+
const text = castAsText(value);
|
|
65
|
+
if (text == null) {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
const startIndex = cast(start, 'integer');
|
|
69
|
+
if (startIndex == null) {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
if (length === null) {
|
|
73
|
+
// Different from undefined in this case, to match SQLite behavior
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
const castLength = cast(length ?? null, 'integer');
|
|
77
|
+
let realLength;
|
|
78
|
+
if (castLength == null) {
|
|
79
|
+
// undefined (not specified)
|
|
80
|
+
realLength = text.length + 1; // +1 to account for the start = 0 special case
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
realLength = Number(castLength);
|
|
84
|
+
}
|
|
85
|
+
let realStart = 0;
|
|
86
|
+
if (startIndex < 0n) {
|
|
87
|
+
realStart = Math.max(0, text.length + Number(startIndex));
|
|
88
|
+
}
|
|
89
|
+
else if (startIndex == 0n) {
|
|
90
|
+
// Weird special case
|
|
91
|
+
realStart = 0;
|
|
92
|
+
realLength -= 1;
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
realStart = Number(startIndex) - 1;
|
|
96
|
+
}
|
|
97
|
+
if (realLength < 0) {
|
|
98
|
+
// Negative length means we return that many characters _before_
|
|
99
|
+
// the start index.
|
|
100
|
+
return text.substring(realStart + realLength, realStart);
|
|
101
|
+
}
|
|
102
|
+
return text.substring(realStart, realStart + realLength);
|
|
103
|
+
},
|
|
104
|
+
parameters: [
|
|
105
|
+
{ name: 'value', type: ExpressionType.TEXT, optional: false },
|
|
106
|
+
{ name: 'start', type: ExpressionType.INTEGER, optional: false },
|
|
107
|
+
{ name: 'length', type: ExpressionType.INTEGER, optional: true }
|
|
108
|
+
],
|
|
109
|
+
getReturnType(args) {
|
|
110
|
+
return ExpressionType.TEXT;
|
|
111
|
+
},
|
|
112
|
+
detail: 'Compute a substring',
|
|
113
|
+
documentation: 'The start index starts at 1. If no length is specified, the remainder of the string is returned.'
|
|
114
|
+
};
|
|
50
115
|
const hex = {
|
|
51
116
|
debugName: 'hex',
|
|
52
117
|
call(value) {
|
|
@@ -197,6 +262,31 @@ const json_valid = {
|
|
|
197
262
|
detail: 'Checks whether JSON text is valid',
|
|
198
263
|
documentation: 'Returns 1 if valid, 0 if invalid'
|
|
199
264
|
};
|
|
265
|
+
const json_keys = {
|
|
266
|
+
debugName: 'json_keys',
|
|
267
|
+
call(json) {
|
|
268
|
+
const jsonString = castAsText(json);
|
|
269
|
+
if (jsonString == null) {
|
|
270
|
+
return null;
|
|
271
|
+
}
|
|
272
|
+
const jsonParsed = JSONBig.parse(jsonString);
|
|
273
|
+
if (typeof jsonParsed != 'object') {
|
|
274
|
+
throw new Error(`Cannot call json_keys on a scalar`);
|
|
275
|
+
}
|
|
276
|
+
else if (Array.isArray(jsonParsed)) {
|
|
277
|
+
throw new Error(`Cannot call json_keys on an array`);
|
|
278
|
+
}
|
|
279
|
+
const keys = Object.keys(jsonParsed);
|
|
280
|
+
// Keys are always strings, safe to use plain JSON.
|
|
281
|
+
return JSON.stringify(keys);
|
|
282
|
+
},
|
|
283
|
+
parameters: [{ name: 'json', type: ExpressionType.ANY, optional: false }],
|
|
284
|
+
getReturnType(args) {
|
|
285
|
+
// TODO: proper nullable types
|
|
286
|
+
return ExpressionType.TEXT;
|
|
287
|
+
},
|
|
288
|
+
detail: 'Returns the keys of a JSON object as a JSON array'
|
|
289
|
+
};
|
|
200
290
|
const unixepoch = {
|
|
201
291
|
debugName: 'unixepoch',
|
|
202
292
|
call(value, specifier, specifier2) {
|
|
@@ -367,6 +457,7 @@ const st_y = {
|
|
|
367
457
|
export const SQL_FUNCTIONS_NAMED = {
|
|
368
458
|
upper,
|
|
369
459
|
lower,
|
|
460
|
+
substring,
|
|
370
461
|
hex,
|
|
371
462
|
length,
|
|
372
463
|
base64,
|
|
@@ -375,6 +466,7 @@ export const SQL_FUNCTIONS_NAMED = {
|
|
|
375
466
|
json_extract,
|
|
376
467
|
json_array_length,
|
|
377
468
|
json_valid,
|
|
469
|
+
json_keys,
|
|
378
470
|
unixepoch,
|
|
379
471
|
datetime,
|
|
380
472
|
st_asgeojson,
|
|
@@ -715,10 +807,6 @@ export function jsonExtract(sourceValue, path, operator) {
|
|
|
715
807
|
// -> must always stringify
|
|
716
808
|
return JSONBig.stringify(value);
|
|
717
809
|
}
|
|
718
|
-
else if (typeof value == 'object' || Array.isArray(value)) {
|
|
719
|
-
// Objects and arrays must be stringified
|
|
720
|
-
return JSONBig.stringify(value);
|
|
721
|
-
}
|
|
722
810
|
else {
|
|
723
811
|
// Plain scalar value - simple conversion.
|
|
724
812
|
return jsonValueToSqlite(value);
|
|
@@ -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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"}
|
package/dist/sql_support.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { ClauseError, CompiledClause, ParameterMatchClause, ParameterValueClause, SqliteValue, RowValueClause, StaticValueClause } from './types.js';
|
|
2
|
-
import { SqlFunction } from './sql_functions.js';
|
|
3
1
|
import { SelectFromStatement } from 'pgsql-ast-parser';
|
|
4
2
|
import { SqlRuleError } from './errors.js';
|
|
3
|
+
import { ClauseError, CompiledClause, ParameterMatchClause, ParameterValueClause, RowValueClause, SqliteValue, StaticValueClause } from './types.js';
|
|
5
4
|
export declare function isParameterMatchClause(clause: CompiledClause): clause is ParameterMatchClause;
|
|
6
5
|
export declare function isRowValueClause(clause: CompiledClause): clause is RowValueClause;
|
|
7
6
|
export declare function isStaticValueClause(clause: CompiledClause): clause is StaticValueClause;
|
|
@@ -12,7 +11,6 @@ export declare const SQLITE_FALSE = 0n;
|
|
|
12
11
|
export declare function sqliteBool(value: SqliteValue | boolean): 1n | 0n;
|
|
13
12
|
export declare function sqliteNot(value: SqliteValue | boolean): 0n | 1n;
|
|
14
13
|
export declare function compileStaticOperator(op: string, left: RowValueClause, right: RowValueClause): RowValueClause;
|
|
15
|
-
export declare function getOperatorFunction(op: string): SqlFunction;
|
|
16
14
|
export declare function andFilters(a: CompiledClause, b: CompiledClause): CompiledClause;
|
|
17
15
|
export declare function orFilters(a: CompiledClause, b: CompiledClause): CompiledClause;
|
|
18
16
|
export declare function orParameterSetClauses(a: ParameterMatchClause, b: ParameterMatchClause): ParameterMatchClause;
|
package/dist/sql_support.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { MATCH_CONST_FALSE, MATCH_CONST_TRUE } from './sql_filters.js';
|
|
2
|
-
import { evaluateOperator, getOperatorReturnType } from './sql_functions.js';
|
|
3
1
|
import { SqlRuleError } from './errors.js';
|
|
4
2
|
import { ExpressionType } from './ExpressionType.js';
|
|
3
|
+
import { MATCH_CONST_FALSE, MATCH_CONST_TRUE } from './sql_filters.js';
|
|
4
|
+
import { evaluateOperator, getOperatorReturnType } from './sql_functions.js';
|
|
5
5
|
export function isParameterMatchClause(clause) {
|
|
6
6
|
return Array.isArray(clause.inputParameters);
|
|
7
7
|
}
|
|
@@ -47,21 +47,14 @@ export function compileStaticOperator(op, left, right) {
|
|
|
47
47
|
const rightValue = right.evaluate(tables);
|
|
48
48
|
return evaluateOperator(op, leftValue, rightValue);
|
|
49
49
|
},
|
|
50
|
-
|
|
51
|
-
const typeLeft = left.
|
|
52
|
-
const typeRight = right.
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
return {
|
|
59
|
-
debugName: `operator${op}`,
|
|
60
|
-
call(...args) {
|
|
61
|
-
return evaluateOperator(op, args[0], args[1]);
|
|
62
|
-
},
|
|
63
|
-
getReturnType(args) {
|
|
64
|
-
return getOperatorReturnType(op, args[0], args[1]);
|
|
50
|
+
getColumnDefinition(schema) {
|
|
51
|
+
const typeLeft = left.getColumnDefinition(schema)?.type ?? ExpressionType.NONE;
|
|
52
|
+
const typeRight = right.getColumnDefinition(schema)?.type ?? ExpressionType.NONE;
|
|
53
|
+
const type = getOperatorReturnType(op, typeLeft, typeRight);
|
|
54
|
+
return {
|
|
55
|
+
name: '?',
|
|
56
|
+
type
|
|
57
|
+
};
|
|
65
58
|
}
|
|
66
59
|
};
|
|
67
60
|
}
|
|
@@ -74,8 +67,8 @@ export function andFilters(a, b) {
|
|
|
74
67
|
const bValue = sqliteBool(b.evaluate(tables));
|
|
75
68
|
return sqliteBool(aValue && bValue);
|
|
76
69
|
},
|
|
77
|
-
|
|
78
|
-
return ExpressionType.INTEGER;
|
|
70
|
+
getColumnDefinition() {
|
|
71
|
+
return { name: 'and', type: ExpressionType.INTEGER };
|
|
79
72
|
}
|
|
80
73
|
};
|
|
81
74
|
}
|
|
@@ -91,7 +84,7 @@ export function andFilters(a, b) {
|
|
|
91
84
|
return {
|
|
92
85
|
error: aFilter.error || bFilter.error,
|
|
93
86
|
inputParameters: [...combinedMap.values()],
|
|
94
|
-
unbounded: aFilter.unbounded || bFilter.unbounded,
|
|
87
|
+
unbounded: aFilter.unbounded || bFilter.unbounded, // result count = a.count * b.count
|
|
95
88
|
filterRow: (tables) => {
|
|
96
89
|
const aResult = aFilter.filterRow(tables);
|
|
97
90
|
const bResult = bFilter.filterRow(tables);
|
|
@@ -125,8 +118,8 @@ export function orFilters(a, b) {
|
|
|
125
118
|
const bValue = sqliteBool(b.evaluate(tables));
|
|
126
119
|
return sqliteBool(aValue || bValue);
|
|
127
120
|
},
|
|
128
|
-
|
|
129
|
-
return ExpressionType.INTEGER;
|
|
121
|
+
getColumnDefinition() {
|
|
122
|
+
return { name: 'or', type: ExpressionType.INTEGER };
|
|
130
123
|
}
|
|
131
124
|
};
|
|
132
125
|
}
|
|
@@ -149,7 +142,7 @@ export function orParameterSetClauses(a, b) {
|
|
|
149
142
|
return {
|
|
150
143
|
error: a.error || b.error,
|
|
151
144
|
inputParameters: parameters,
|
|
152
|
-
unbounded,
|
|
145
|
+
unbounded, // result count = a.count + b.count
|
|
153
146
|
filterRow: (tables) => {
|
|
154
147
|
const aResult = a.filterRow(tables);
|
|
155
148
|
const bResult = b.filterRow(tables);
|