uql-orm 0.5.3 → 0.6.1
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/CHANGELOG.md +17 -0
- package/README.md +76 -57
- package/dist/browser/uql-browser.min.js +1695 -0
- package/dist/browser/uql-browser.min.js.map +1 -1
- package/dist/dialect/abstractSqlDialect.d.ts +13 -8
- package/dist/dialect/abstractSqlDialect.d.ts.map +1 -1
- package/dist/dialect/abstractSqlDialect.js +40 -21
- package/dist/dialect/abstractSqlDialect.js.map +1 -1
- package/dist/dialect/index.d.ts +1 -0
- package/dist/dialect/index.d.ts.map +1 -1
- package/dist/dialect/index.js +1 -0
- package/dist/dialect/index.js.map +1 -1
- package/dist/dialect/jsonArrayElemMatchUtils.d.ts +10 -0
- package/dist/dialect/jsonArrayElemMatchUtils.d.ts.map +1 -0
- package/dist/dialect/jsonArrayElemMatchUtils.js +24 -0
- package/dist/dialect/jsonArrayElemMatchUtils.js.map +1 -0
- package/dist/dialect/mysqlLikeSqlDialect.d.ts +26 -0
- package/dist/dialect/mysqlLikeSqlDialect.d.ts.map +1 -0
- package/dist/dialect/mysqlLikeSqlDialect.js +94 -0
- package/dist/dialect/mysqlLikeSqlDialect.js.map +1 -0
- package/dist/maria/mariaDialect.d.ts +3 -4
- package/dist/maria/mariaDialect.d.ts.map +1 -1
- package/dist/maria/mariaDialect.js +11 -13
- package/dist/maria/mariaDialect.js.map +1 -1
- package/dist/mysql/mysqlDialect.d.ts +3 -16
- package/dist/mysql/mysqlDialect.d.ts.map +1 -1
- package/dist/mysql/mysqlDialect.js +2 -93
- package/dist/mysql/mysqlDialect.js.map +1 -1
- package/dist/postgres/postgresDialect.d.ts +2 -2
- package/dist/postgres/postgresDialect.d.ts.map +1 -1
- package/dist/postgres/postgresDialect.js +10 -1
- package/dist/postgres/postgresDialect.js.map +1 -1
- package/dist/sqlite/sqliteDialect.d.ts +3 -13
- package/dist/sqlite/sqliteDialect.d.ts.map +1 -1
- package/dist/sqlite/sqliteDialect.js +25 -20
- package/dist/sqlite/sqliteDialect.js.map +1 -1
- package/dist/type/entity.d.ts +18 -8
- package/dist/type/entity.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import SqlString from 'sqlstring';
|
|
2
|
+
import { AbstractSqlDialect } from './abstractSqlDialect.js';
|
|
3
|
+
import { buildElemMatchConditions } from './jsonArrayElemMatchUtils.js';
|
|
4
|
+
/**
|
|
5
|
+
* Shared JSON-array / JSON-object operator implementation between MySQL and MariaDB.
|
|
6
|
+
*
|
|
7
|
+
* Both dialects support the MySQL-compatible JSON functions/operators used by:
|
|
8
|
+
* - `$size` (JSON_LENGTH)
|
|
9
|
+
* - `$all` (JSON_CONTAINS)
|
|
10
|
+
* - `$elemMatch` (JSON_TABLE, or fast JSON_CONTAINS for the simple case)
|
|
11
|
+
*/
|
|
12
|
+
export class MysqlLikeSqlDialect extends AbstractSqlDialect {
|
|
13
|
+
addValue(values, value) {
|
|
14
|
+
if (value instanceof Date) {
|
|
15
|
+
// Use a placeholder for Date so the driver controls serialization consistently.
|
|
16
|
+
values.push(value);
|
|
17
|
+
return '?';
|
|
18
|
+
}
|
|
19
|
+
return super.addValue(values, value);
|
|
20
|
+
}
|
|
21
|
+
escape(value) {
|
|
22
|
+
return SqlString.escape(value);
|
|
23
|
+
}
|
|
24
|
+
compareFieldOperator(ctx, entity, key, op, val, opts = {}) {
|
|
25
|
+
switch (op) {
|
|
26
|
+
case '$elemMatch':
|
|
27
|
+
this.buildElemMatchCondition(ctx, entity, key, val, opts);
|
|
28
|
+
break;
|
|
29
|
+
case '$all':
|
|
30
|
+
// MySQL/MariaDB: JSON array contains all specified values
|
|
31
|
+
// e.g., JSON_CONTAINS(tags, '["typescript", "orm"]')
|
|
32
|
+
ctx.append('JSON_CONTAINS(');
|
|
33
|
+
this.getComparisonKey(ctx, entity, key, opts);
|
|
34
|
+
ctx.append(', ');
|
|
35
|
+
ctx.addValue(JSON.stringify(val));
|
|
36
|
+
ctx.append(')');
|
|
37
|
+
break;
|
|
38
|
+
case '$size':
|
|
39
|
+
// MySQL/MariaDB: Check JSON array length
|
|
40
|
+
// e.g., JSON_LENGTH(roles) = 3, or JSON_LENGTH(roles) >= 2
|
|
41
|
+
this.buildSizeComparison(ctx, () => {
|
|
42
|
+
ctx.append('JSON_LENGTH(');
|
|
43
|
+
this.getComparisonKey(ctx, entity, key, opts);
|
|
44
|
+
ctx.append(')');
|
|
45
|
+
}, val);
|
|
46
|
+
break;
|
|
47
|
+
default:
|
|
48
|
+
super.compareFieldOperator(ctx, entity, key, op, val, opts);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Build $elemMatch condition for MySQL/MariaDB JSON arrays.
|
|
53
|
+
* - Simple objects (no operators): Use fast JSON_CONTAINS
|
|
54
|
+
* - Objects with operators: Use EXISTS with JSON_TABLE
|
|
55
|
+
*/
|
|
56
|
+
buildElemMatchCondition(ctx, entity, key, match, opts) {
|
|
57
|
+
// Check if this match value contains operator objects (keys starting with '$')
|
|
58
|
+
const hasOperators = Object.values(match).some((v) => v && typeof v === 'object' && !Array.isArray(v) && Object.keys(v).some((k) => k.startsWith('$')));
|
|
59
|
+
if (!hasOperators) {
|
|
60
|
+
// Simple case: use fast JSON_CONTAINS
|
|
61
|
+
ctx.append('JSON_CONTAINS(');
|
|
62
|
+
this.getComparisonKey(ctx, entity, key, opts);
|
|
63
|
+
ctx.append(', ');
|
|
64
|
+
ctx.addValue(JSON.stringify([match]));
|
|
65
|
+
ctx.append(')');
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
// Complex case: use EXISTS with JSON_TABLE
|
|
69
|
+
// e.g., EXISTS (SELECT 1 FROM JSON_TABLE(addresses, '$[*]' COLUMNS (city VARCHAR(255) PATH '$.city')) AS jt WHERE jt.city LIKE ?)
|
|
70
|
+
const fields = Object.keys(match);
|
|
71
|
+
const columns = fields.map((f) => `${f} TEXT PATH '$.${f}'`).join(', ');
|
|
72
|
+
ctx.append('EXISTS (SELECT 1 FROM JSON_TABLE(');
|
|
73
|
+
this.getComparisonKey(ctx, entity, key, opts);
|
|
74
|
+
ctx.append(`, '$[*]' COLUMNS (${columns})) AS jt WHERE `);
|
|
75
|
+
const conditions = buildElemMatchConditions(match, (field, op, opVal) => this.buildJsonFieldOperator(ctx, field, op, opVal), (field, value) => `jt.${field} = ${this.addValue(ctx.values, value)}`);
|
|
76
|
+
ctx.append(conditions.join(' AND '));
|
|
77
|
+
ctx.append(')');
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Build a comparison condition for a JSON_TABLE field with an operator.
|
|
81
|
+
*/
|
|
82
|
+
buildJsonFieldOperator(ctx, field, op, value) {
|
|
83
|
+
return this.buildJsonFieldCondition(ctx, {
|
|
84
|
+
fieldAccessor: (f) => `jt.${f}`,
|
|
85
|
+
numericCast: (expr) => `CAST(${expr} AS DECIMAL)`,
|
|
86
|
+
likeFn: 'LIKE',
|
|
87
|
+
// MySQL/MariaDB LIKE is case-insensitive by default with the common utf8 collations.
|
|
88
|
+
ilikeExpr: (f, ph) => `${f} LIKE ${ph}`,
|
|
89
|
+
regexpOp: 'REGEXP',
|
|
90
|
+
addValue: (c, v) => this.addValue(c.values, v),
|
|
91
|
+
}, field, op, value);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=mysqlLikeSqlDialect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mysqlLikeSqlDialect.js","sourceRoot":"","sources":["../../src/dialect/mysqlLikeSqlDialect.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MysqlLikeSqlDialect } from '../dialect/index.js';
|
|
2
2
|
import type { EntityMeta, NamingStrategy, QueryConflictPaths, QueryContext, QueryOptions, QueryVectorSearch, Type } from '../type/index.js';
|
|
3
|
-
export declare class MariaDialect extends
|
|
3
|
+
export declare class MariaDialect extends MysqlLikeSqlDialect {
|
|
4
4
|
constructor(namingStrategy?: NamingStrategy);
|
|
5
|
-
addValue(values: unknown[], value: unknown): string;
|
|
6
5
|
insert<E>(ctx: QueryContext, entity: Type<E>, payload: E | E[], opts?: QueryOptions): void;
|
|
7
6
|
upsert<E>(ctx: QueryContext, entity: Type<E>, conflictPaths: QueryConflictPaths<E>, payload: E | E[]): void;
|
|
7
|
+
protected getJsonPathScalarExpr(escapedColumn: string, jsonPath: string): string;
|
|
8
8
|
/** MariaDB 11.7+ vector distance functions. */
|
|
9
9
|
private static readonly VECTOR_FNS;
|
|
10
10
|
/** Emit a MariaDB vector distance function: `VEC_DISTANCE_<metric>(col, ?)`. */
|
|
11
11
|
protected appendVectorSort<E>(ctx: QueryContext, meta: EntityMeta<E>, key: string, search: QueryVectorSearch): void;
|
|
12
|
-
escape(value: unknown): string;
|
|
13
12
|
}
|
|
14
13
|
//# sourceMappingURL=mariaDialect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mariaDialect.d.ts","sourceRoot":"","sources":["../../src/maria/mariaDialect.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mariaDialect.d.ts","sourceRoot":"","sources":["../../src/maria/mariaDialect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,IAAI,EAEL,MAAM,kBAAkB,CAAC;AAE1B,qBAAa,YAAa,SAAQ,mBAAmB;gBACvC,cAAc,CAAC,EAAE,cAAc;IAIlC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI;IAK1F,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI;cAyBjG,qBAAqB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAUzF,+CAA+C;IAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAGhC;IAEF,gFAAgF;cAC7D,gBAAgB,CAAC,CAAC,EACnC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EACnB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,iBAAiB,GACxB,IAAI;CAGR"}
|
|
@@ -1,17 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { AbstractSqlDialect } from '../dialect/index.js';
|
|
1
|
+
import { MysqlLikeSqlDialect } from '../dialect/index.js';
|
|
3
2
|
import { getMeta } from '../entity/index.js';
|
|
4
|
-
export class MariaDialect extends
|
|
3
|
+
export class MariaDialect extends MysqlLikeSqlDialect {
|
|
5
4
|
constructor(namingStrategy) {
|
|
6
5
|
super('mariadb', namingStrategy);
|
|
7
6
|
}
|
|
8
|
-
addValue(values, value) {
|
|
9
|
-
if (value instanceof Date) {
|
|
10
|
-
values.push(value);
|
|
11
|
-
return '?';
|
|
12
|
-
}
|
|
13
|
-
return super.addValue(values, value);
|
|
14
|
-
}
|
|
15
7
|
insert(ctx, entity, payload, opts) {
|
|
16
8
|
super.insert(ctx, entity, payload, opts);
|
|
17
9
|
ctx.append(' ' + this.returningId(entity));
|
|
@@ -34,6 +26,15 @@ export class MariaDialect extends AbstractSqlDialect {
|
|
|
34
26
|
ctx.pushValue(...insertCtx.values);
|
|
35
27
|
}
|
|
36
28
|
}
|
|
29
|
+
getJsonPathScalarExpr(escapedColumn, jsonPath) {
|
|
30
|
+
const escapedPath = jsonPath
|
|
31
|
+
.split('.')
|
|
32
|
+
.map((segment) => this.escapeJsonKey(segment))
|
|
33
|
+
.join('.');
|
|
34
|
+
// MariaDB does not support MySQL's -> / ->> JSON shorthand operators.
|
|
35
|
+
// JSON_VALUE keeps dot-notation access native and portable across MariaDB versions.
|
|
36
|
+
return `JSON_VALUE(${escapedColumn}, '$.${escapedPath}')`;
|
|
37
|
+
}
|
|
37
38
|
/** MariaDB 11.7+ vector distance functions. */
|
|
38
39
|
static VECTOR_FNS = {
|
|
39
40
|
cosine: 'VEC_DISTANCE_COSINE',
|
|
@@ -43,8 +44,5 @@ export class MariaDialect extends AbstractSqlDialect {
|
|
|
43
44
|
appendVectorSort(ctx, meta, key, search) {
|
|
44
45
|
this.appendFunctionVectorSort(ctx, meta, key, search, MariaDialect.VECTOR_FNS, 'MariaDB');
|
|
45
46
|
}
|
|
46
|
-
escape(value) {
|
|
47
|
-
return SqlString.escape(value);
|
|
48
|
-
}
|
|
49
47
|
}
|
|
50
48
|
//# sourceMappingURL=mariaDialect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mariaDialect.js","sourceRoot":"","sources":["../../src/maria/mariaDialect.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"mariaDialect.js","sourceRoot":"","sources":["../../src/maria/mariaDialect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAY7C,MAAM,OAAO,YAAa,SAAQ,mBAAmB;IACnD,YAAY,cAA+B;QACzC,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACnC,CAAC;IAEQ,MAAM,CAAI,GAAiB,EAAE,MAAe,EAAE,OAAgB,EAAE,IAAmB;QAC1F,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACzC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,CAAC;IAEQ,MAAM,CAAI,GAAiB,EAAE,MAAe,EAAE,aAAoC,EAAE,OAAgB;QAC3G,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,0BAA0B,CAC5C,SAAS,EACT,IAAI,EACJ,aAAa,EACb,OAAO,EACP,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,IAAI,GAAG,CAC5B,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAE3C,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACnC,GAAG,CAAC,MAAM,CAAC,4BAA4B,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;YAC9D,GAAG,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACvC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACzC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC;YAC9D,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;YAC5B,GAAG,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAEkB,qBAAqB,CAAC,aAAqB,EAAE,QAAgB;QAC9E,MAAM,WAAW,GAAG,QAAQ;aACzB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;aAC7C,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,sEAAsE;QACtE,oFAAoF;QACpF,OAAO,cAAc,aAAa,QAAQ,WAAW,IAAI,CAAC;IAC5D,CAAC;IAED,+CAA+C;IACvC,MAAM,CAAU,UAAU,GAA4C;QAC5E,MAAM,EAAE,qBAAqB;QAC7B,EAAE,EAAE,wBAAwB;KAC7B,CAAC;IAEF,gFAAgF;IAC7D,gBAAgB,CACjC,GAAiB,EACjB,IAAmB,EACnB,GAAW,EACX,MAAyB;QAEzB,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC5F,CAAC"}
|
|
@@ -1,19 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type {
|
|
3
|
-
export declare class MySqlDialect extends
|
|
1
|
+
import { MysqlLikeSqlDialect } from '../dialect/index.js';
|
|
2
|
+
import type { NamingStrategy } from '../type/index.js';
|
|
3
|
+
export declare class MySqlDialect extends MysqlLikeSqlDialect {
|
|
4
4
|
constructor(namingStrategy?: NamingStrategy);
|
|
5
|
-
addValue(values: unknown[], value: unknown): string;
|
|
6
|
-
compareFieldOperator<E, K extends keyof QueryWhereFieldOperatorMap<E>>(ctx: QueryContext, entity: Type<E>, key: FieldKey<E>, op: K, val: QueryWhereFieldOperatorMap<E>[K], opts?: QueryOptions): void;
|
|
7
|
-
/**
|
|
8
|
-
* Build $elemMatch condition for MySQL JSON arrays.
|
|
9
|
-
* - Simple objects (no operators): Use fast JSON_CONTAINS
|
|
10
|
-
* - Objects with operators: Use EXISTS with JSON_TABLE
|
|
11
|
-
*/
|
|
12
|
-
private buildElemMatchCondition;
|
|
13
|
-
/**
|
|
14
|
-
* Build a comparison condition for a JSON_TABLE field with an operator.
|
|
15
|
-
*/
|
|
16
|
-
private buildJsonFieldOperator;
|
|
17
|
-
escape(value: unknown): string;
|
|
18
5
|
}
|
|
19
6
|
//# sourceMappingURL=mysqlDialect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mysqlDialect.d.ts","sourceRoot":"","sources":["../../src/mysql/mysqlDialect.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mysqlDialect.d.ts","sourceRoot":"","sources":["../../src/mysql/mysqlDialect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,qBAAa,YAAa,SAAQ,mBAAmB;gBACvC,cAAc,CAAC,EAAE,cAAc;CAG5C"}
|
|
@@ -1,98 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export class MySqlDialect extends AbstractSqlDialect {
|
|
1
|
+
import { MysqlLikeSqlDialect } from '../dialect/index.js';
|
|
2
|
+
export class MySqlDialect extends MysqlLikeSqlDialect {
|
|
4
3
|
constructor(namingStrategy) {
|
|
5
4
|
super('mysql', namingStrategy);
|
|
6
5
|
}
|
|
7
|
-
addValue(values, value) {
|
|
8
|
-
if (value instanceof Date) {
|
|
9
|
-
values.push(value);
|
|
10
|
-
return '?';
|
|
11
|
-
}
|
|
12
|
-
return super.addValue(values, value);
|
|
13
|
-
}
|
|
14
|
-
compareFieldOperator(ctx, entity, key, op, val, opts = {}) {
|
|
15
|
-
switch (op) {
|
|
16
|
-
case '$elemMatch':
|
|
17
|
-
this.buildElemMatchCondition(ctx, entity, key, val, opts);
|
|
18
|
-
break;
|
|
19
|
-
case '$all':
|
|
20
|
-
// MySQL: JSON array contains all specified values
|
|
21
|
-
// e.g., JSON_CONTAINS(tags, '["typescript", "orm"]')
|
|
22
|
-
ctx.append('JSON_CONTAINS(');
|
|
23
|
-
this.getComparisonKey(ctx, entity, key, opts);
|
|
24
|
-
ctx.append(', ');
|
|
25
|
-
ctx.addValue(JSON.stringify(val));
|
|
26
|
-
ctx.append(')');
|
|
27
|
-
break;
|
|
28
|
-
case '$size':
|
|
29
|
-
// MySQL: Check JSON array length
|
|
30
|
-
// e.g., JSON_LENGTH(roles) = 3, or JSON_LENGTH(roles) >= 2
|
|
31
|
-
this.buildSizeComparison(ctx, () => {
|
|
32
|
-
ctx.append('JSON_LENGTH(');
|
|
33
|
-
this.getComparisonKey(ctx, entity, key, opts);
|
|
34
|
-
ctx.append(')');
|
|
35
|
-
}, val);
|
|
36
|
-
break;
|
|
37
|
-
default:
|
|
38
|
-
super.compareFieldOperator(ctx, entity, key, op, val, opts);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Build $elemMatch condition for MySQL JSON arrays.
|
|
43
|
-
* - Simple objects (no operators): Use fast JSON_CONTAINS
|
|
44
|
-
* - Objects with operators: Use EXISTS with JSON_TABLE
|
|
45
|
-
*/
|
|
46
|
-
buildElemMatchCondition(ctx, entity, key, match, opts) {
|
|
47
|
-
// Check if any field value contains operators
|
|
48
|
-
const hasOperators = Object.values(match).some((v) => v && typeof v === 'object' && !Array.isArray(v) && Object.keys(v).some((k) => k.startsWith('$')));
|
|
49
|
-
if (!hasOperators) {
|
|
50
|
-
// Simple case: use fast JSON_CONTAINS
|
|
51
|
-
ctx.append('JSON_CONTAINS(');
|
|
52
|
-
this.getComparisonKey(ctx, entity, key, opts);
|
|
53
|
-
ctx.append(', ');
|
|
54
|
-
ctx.addValue(JSON.stringify([match]));
|
|
55
|
-
ctx.append(')');
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
// Complex case: use EXISTS with JSON_TABLE
|
|
59
|
-
// e.g., EXISTS (SELECT 1 FROM JSON_TABLE(addresses, '$[*]' COLUMNS (city VARCHAR(255) PATH '$.city')) AS jt WHERE jt.city LIKE ?)
|
|
60
|
-
const fields = Object.keys(match);
|
|
61
|
-
const columns = fields.map((f) => `${f} TEXT PATH '$.${f}'`).join(', ');
|
|
62
|
-
ctx.append('EXISTS (SELECT 1 FROM JSON_TABLE(');
|
|
63
|
-
this.getComparisonKey(ctx, entity, key, opts);
|
|
64
|
-
ctx.append(`, '$[*]' COLUMNS (${columns})) AS jt WHERE `);
|
|
65
|
-
const conditions = [];
|
|
66
|
-
for (const [field, value] of Object.entries(match)) {
|
|
67
|
-
if (value && typeof value === 'object' && !Array.isArray(value)) {
|
|
68
|
-
const ops = value;
|
|
69
|
-
for (const [op, opVal] of Object.entries(ops)) {
|
|
70
|
-
conditions.push(this.buildJsonFieldOperator(ctx, field, op, opVal));
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
conditions.push(`jt.${field} = ${this.addValue(ctx.values, value)}`);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
ctx.append(conditions.join(' AND '));
|
|
78
|
-
ctx.append(')');
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Build a comparison condition for a JSON_TABLE field with an operator.
|
|
82
|
-
*/
|
|
83
|
-
buildJsonFieldOperator(ctx, field, op, value) {
|
|
84
|
-
return this.buildJsonFieldCondition(ctx, {
|
|
85
|
-
fieldAccessor: (f) => `jt.${f}`,
|
|
86
|
-
numericCast: (expr) => `CAST(${expr} AS DECIMAL)`,
|
|
87
|
-
likeFn: 'LIKE',
|
|
88
|
-
// MySQL LIKE is case-insensitive by default with utf8 collation
|
|
89
|
-
ilikeExpr: (f, ph) => `${f} LIKE ${ph}`,
|
|
90
|
-
regexpOp: 'REGEXP',
|
|
91
|
-
addValue: (c, v) => this.addValue(c.values, v),
|
|
92
|
-
}, field, op, value);
|
|
93
|
-
}
|
|
94
|
-
escape(value) {
|
|
95
|
-
return SqlString.escape(value);
|
|
96
|
-
}
|
|
97
6
|
}
|
|
98
7
|
//# sourceMappingURL=mysqlDialect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mysqlDialect.js","sourceRoot":"","sources":["../../src/mysql/mysqlDialect.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"mysqlDialect.js","sourceRoot":"","sources":["../../src/mysql/mysqlDialect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D,MAAM,OAAO,YAAa,SAAQ,mBAAmB;IACnD,YAAY,cAA+B;QACzC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACjC,CAAC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AbstractSqlDialect } from '../dialect/index.js';
|
|
2
|
-
import { type Dialect, type EntityMeta, type FieldKey, type FieldOptions, type
|
|
2
|
+
import { type Dialect, type EntityMeta, type FieldKey, type FieldOptions, type JsonUpdateOp, type NamingStrategy, type QueryComparisonOptions, type QueryConflictPaths, type QueryContext, type QueryOptions, type QueryVectorSearch, type QueryWhereFieldOperatorMap, type Type } from '../type/index.js';
|
|
3
3
|
export declare class PostgresDialect extends AbstractSqlDialect {
|
|
4
4
|
constructor(namingStrategy?: NamingStrategy, dialect?: Dialect);
|
|
5
5
|
addValue(values: unknown[], value: unknown): string;
|
|
@@ -34,7 +34,7 @@ export declare class PostgresDialect extends AbstractSqlDialect {
|
|
|
34
34
|
private static readonly VECTOR_OPS;
|
|
35
35
|
/** Emit a pgvector distance expression: `"col" <op> $N::<vectorType>`. */
|
|
36
36
|
protected appendVectorSort<E>(ctx: QueryContext, meta: EntityMeta<E>, key: string, search: QueryVectorSearch): void;
|
|
37
|
-
protected
|
|
37
|
+
protected formatJsonUpdate<E>(ctx: QueryContext, escapedCol: string, value: JsonUpdateOp<E>): void;
|
|
38
38
|
escape(value: unknown): string;
|
|
39
39
|
}
|
|
40
40
|
//# sourceMappingURL=postgresDialect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgresDialect.d.ts","sourceRoot":"","sources":["../../src/postgres/postgresDialect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,
|
|
1
|
+
{"version":3,"file":"postgresDialect.d.ts","sourceRoot":"","sources":["../../src/postgres/postgresDialect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,YAAY,EAIjB,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,IAAI,EAEV,MAAM,kBAAkB,CAAC;AAG1B,qBAAa,eAAgB,SAAQ,kBAAkB;gBACzC,cAAc,CAAC,EAAE,cAAc,EAAE,OAAO,GAAE,OAAoB;IAIjE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM;IAKnD,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIlC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI;IAK1F,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI;IAY3G,OAAO,CAAC,CAAC,EAChB,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACf,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,OAAO,EACZ,IAAI,GAAE,sBAA2B,GAChC,IAAI;IAmBE,oBAAoB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,0BAA0B,CAAC,CAAC,CAAC,EAC5E,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACf,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,EAChB,EAAE,EAAE,CAAC,EACL,GAAG,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACrC,IAAI,GAAE,YAAiB,GACtB,IAAI;IAoEP;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IA8C/B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;cAUX,iBAAiB;4BAEZ,MAAM;;uBAEX,MAAM,MAAM,MAAM;;sBAEnB,YAAY,KAAK,OAAO;oBAC1B,MAAM,MAAM,MAAM;qBACjB,MAAM,MAAM,MAAM;oBACnB,MAAM,MAAM,MAAM;;cAIf,sBAAsB,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAkB1G,mCAAmC;IACnC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAMhC;IAEF,0EAA0E;cACvD,gBAAgB,CAAC,CAAC,EACnC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EACnB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,iBAAiB,GACxB,IAAI;cAQY,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;IAyBlG,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;CAGxC"}
|
|
@@ -199,12 +199,21 @@ export class PostgresDialect extends AbstractSqlDialect {
|
|
|
199
199
|
ctx.addValue(`[${search.$vector.join(',')}]`);
|
|
200
200
|
ctx.append(`::${vectorCast}`);
|
|
201
201
|
}
|
|
202
|
-
|
|
202
|
+
formatJsonUpdate(ctx, escapedCol, value) {
|
|
203
203
|
let expr = escapedCol;
|
|
204
204
|
if (hasKeys(value.$merge)) {
|
|
205
205
|
ctx.pushValue(JSON.stringify(value.$merge));
|
|
206
206
|
expr = `COALESCE(${escapedCol}, '{}') || ${this.placeholder(ctx.values.length)}::jsonb`;
|
|
207
207
|
}
|
|
208
|
+
if (hasKeys(value.$push)) {
|
|
209
|
+
const push = value.$push;
|
|
210
|
+
for (const [key, v] of Object.entries(push)) {
|
|
211
|
+
const currentExpr = expr;
|
|
212
|
+
ctx.pushValue(JSON.stringify(v));
|
|
213
|
+
const ph = this.placeholder(ctx.values.length);
|
|
214
|
+
expr = `jsonb_set(${currentExpr}, '{${this.escapeJsonKey(key)}}', COALESCE((${currentExpr})->'${this.escapeJsonKey(key)}', '[]'::jsonb) || jsonb_build_array(${ph}::jsonb))`;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
208
217
|
if (value.$unset?.length) {
|
|
209
218
|
for (const key of value.$unset) {
|
|
210
219
|
expr = `(${expr}) - '${this.escapeJsonKey(key)}'`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgresDialect.js","sourceRoot":"","sources":["../../src/postgres/postgresDialect.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"postgresDialect.js","sourceRoot":"","sources":["../../src/postgres/postgresDialect.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AbstractSqlDialect } from '../dialect/index.js';
|
|
2
|
-
import type { EntityMeta, FieldKey,
|
|
2
|
+
import type { EntityMeta, FieldKey, JsonUpdateOp, NamingStrategy, QueryComparisonOptions, QueryConflictPaths, QueryContext, QueryVectorSearch, QueryWhereFieldOperatorMap, Type } from '../type/index.js';
|
|
3
3
|
export declare class SqliteDialect extends AbstractSqlDialect {
|
|
4
4
|
constructor(namingStrategy?: NamingStrategy);
|
|
5
5
|
addValue(values: unknown[], value: unknown): string;
|
|
@@ -14,17 +14,7 @@ export declare class SqliteDialect extends AbstractSqlDialect {
|
|
|
14
14
|
* Build a comparison condition for a JSON field with an operator.
|
|
15
15
|
*/
|
|
16
16
|
private buildJsonFieldOperator;
|
|
17
|
-
protected
|
|
18
|
-
fieldAccessor: () => string;
|
|
19
|
-
numericCast: (expr: string) => string;
|
|
20
|
-
neExpr: (f: string, ph: string) => string;
|
|
21
|
-
likeFn: string;
|
|
22
|
-
ilikeExpr: (field: string, placeholder: string) => string;
|
|
23
|
-
regexpOp: string;
|
|
24
|
-
addValue: (ctx: QueryContext, value: unknown) => string;
|
|
25
|
-
inExpr?: ((field: string, placeholder: string) => string) | undefined;
|
|
26
|
-
ninExpr?: ((field: string, placeholder: string) => string) | undefined;
|
|
27
|
-
};
|
|
17
|
+
protected getJsonPathScalarExpr(escapedColumn: string, jsonPath: string): string;
|
|
28
18
|
protected getBaseJsonConfig(): {
|
|
29
19
|
numericCast: (expr: string) => string;
|
|
30
20
|
neExpr: (f: string, ph: string) => string;
|
|
@@ -36,7 +26,7 @@ export declare class SqliteDialect extends AbstractSqlDialect {
|
|
|
36
26
|
ninExpr?: ((field: string, placeholder: string) => string) | undefined;
|
|
37
27
|
};
|
|
38
28
|
upsert<E>(ctx: QueryContext, entity: Type<E>, conflictPaths: QueryConflictPaths<E>, payload: E | E[]): void;
|
|
39
|
-
protected
|
|
29
|
+
protected formatJsonUpdate<E>(ctx: QueryContext, escapedCol: string, value: JsonUpdateOp<E>): void;
|
|
40
30
|
/** sqlite-vec distance functions. */
|
|
41
31
|
private static readonly VECTOR_FNS;
|
|
42
32
|
/** Emit a sqlite-vec distance function: `vec_distance_<metric>(col, ?)`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqliteDialect.d.ts","sourceRoot":"","sources":["../../src/sqlite/sqliteDialect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"sqliteDialect.d.ts","sourceRoot":"","sources":["../../src/sqlite/sqliteDialect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,KAAK,EACV,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EAGZ,iBAAiB,EACjB,0BAA0B,EAC1B,IAAI,EAEL,MAAM,kBAAkB,CAAC;AAG1B,qBAAa,aAAc,SAAQ,kBAAkB;gBACvC,cAAc,CAAC,EAAE,cAAc;IAIlC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM;IASnD,OAAO,CAAC,CAAC,EAChB,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACf,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,OAAO,EACZ,IAAI,CAAC,EAAE,sBAAsB,GAC5B,IAAI;IAiBE,oBAAoB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,0BAA0B,CAAC,CAAC,CAAC,EAC5E,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACf,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,EAChB,EAAE,EAAE,CAAC,EACL,GAAG,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACrC,IAAI,GAAE,sBAA2B,GAChC,IAAI;IAmCP;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAyB/B;;OAEG;IACH,OAAO,CAAC,sBAAsB;cAUX,qBAAqB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;cAItE,iBAAiB;4BAGZ,MAAM;oBACd,MAAM,MAAM,MAAM;;;;;;;;IAIzB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI;cAIjG,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;IA2B3G,qCAAqC;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAIhC;IAEF,4EAA4E;cACzD,gBAAgB,CAAC,CAAC,EACnC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EACnB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,iBAAiB,GACxB,IAAI;IAIE,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;CAGxC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import sqlstring from 'sqlstring-sqlite';
|
|
2
2
|
import { AbstractSqlDialect } from '../dialect/index.js';
|
|
3
|
+
import { buildElemMatchConditions } from '../dialect/jsonArrayElemMatchUtils.js';
|
|
3
4
|
import { getMeta } from '../entity/index.js';
|
|
4
5
|
import { hasKeys } from '../util/index.js';
|
|
5
6
|
export class SqliteDialect extends AbstractSqlDialect {
|
|
@@ -69,21 +70,11 @@ export class SqliteDialect extends AbstractSqlDialect {
|
|
|
69
70
|
ctx.append('EXISTS (SELECT 1 FROM json_each(');
|
|
70
71
|
this.getComparisonKey(ctx, _entity, key, opts);
|
|
71
72
|
ctx.append(') WHERE ');
|
|
72
|
-
const conditions =
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
for (const [op, opVal] of Object.entries(ops)) {
|
|
78
|
-
conditions.push(this.buildJsonFieldOperator(ctx, field, op, opVal));
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
// Simple equality
|
|
83
|
-
ctx.pushValue(value);
|
|
84
|
-
conditions.push(`json_extract(value, '$.${field}') = ?`);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
73
|
+
const conditions = buildElemMatchConditions(match, (field, op, opVal) => this.buildJsonFieldOperator(ctx, field, op, opVal), (field, value) => {
|
|
74
|
+
// Keep SQLite's placeholder behavior consistent with prior implementation.
|
|
75
|
+
ctx.pushValue(value);
|
|
76
|
+
return `json_extract(value, '$.${field}') = ?`;
|
|
77
|
+
});
|
|
87
78
|
ctx.append(conditions.join(' AND '));
|
|
88
79
|
ctx.append(')');
|
|
89
80
|
}
|
|
@@ -93,8 +84,8 @@ export class SqliteDialect extends AbstractSqlDialect {
|
|
|
93
84
|
buildJsonFieldOperator(ctx, field, op, value) {
|
|
94
85
|
return this.buildJsonFieldCondition(ctx, { ...this.getBaseJsonConfig(), fieldAccessor: (f) => `json_extract(value, '$.${f}')` }, field, op, value);
|
|
95
86
|
}
|
|
96
|
-
|
|
97
|
-
return
|
|
87
|
+
getJsonPathScalarExpr(escapedColumn, jsonPath) {
|
|
88
|
+
return `json_extract(${escapedColumn}, '$.${jsonPath}')`;
|
|
98
89
|
}
|
|
99
90
|
getBaseJsonConfig() {
|
|
100
91
|
return {
|
|
@@ -106,11 +97,25 @@ export class SqliteDialect extends AbstractSqlDialect {
|
|
|
106
97
|
upsert(ctx, entity, conflictPaths, payload) {
|
|
107
98
|
this.onConflictUpsert(ctx, entity, conflictPaths, payload, this.insert.bind(this));
|
|
108
99
|
}
|
|
109
|
-
|
|
100
|
+
formatJsonUpdate(ctx, escapedCol, value) {
|
|
110
101
|
let expr = escapedCol;
|
|
111
102
|
if (hasKeys(value.$merge)) {
|
|
112
|
-
|
|
113
|
-
expr = `
|
|
103
|
+
const merge = value.$merge;
|
|
104
|
+
expr = `json_set(COALESCE(${escapedCol}, '{}')`;
|
|
105
|
+
for (const [key, v] of Object.entries(merge)) {
|
|
106
|
+
expr += `, '$.${this.escapeJsonKey(key)}', json(?)`;
|
|
107
|
+
ctx.pushValue(JSON.stringify(v));
|
|
108
|
+
}
|
|
109
|
+
expr += ')';
|
|
110
|
+
}
|
|
111
|
+
if (hasKeys(value.$push)) {
|
|
112
|
+
const push = value.$push;
|
|
113
|
+
expr = `json_insert(${expr}`;
|
|
114
|
+
for (const [key, v] of Object.entries(push)) {
|
|
115
|
+
expr += `, '$.${this.escapeJsonKey(key)}[#]', json(?)`;
|
|
116
|
+
ctx.pushValue(JSON.stringify(v));
|
|
117
|
+
}
|
|
118
|
+
expr += ')';
|
|
114
119
|
}
|
|
115
120
|
if (value.$unset?.length) {
|
|
116
121
|
const paths = value.$unset.map((k) => `'$.${this.escapeJsonKey(k)}'`).join(', ');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqliteDialect.js","sourceRoot":"","sources":["../../src/sqlite/sqliteDialect.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sqliteDialect.js","sourceRoot":"","sources":["../../src/sqlite/sqliteDialect.ts"],"names":[],"mappings":"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"}
|