uql-orm 0.18.0 → 0.20.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.
Files changed (149) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/README.md +3 -3
  3. package/dist/browser/querier/httpQuerier.d.ts +10 -10
  4. package/dist/browser/querier/httpQuerier.d.ts.map +1 -1
  5. package/dist/browser/querier/httpQuerier.js.map +1 -1
  6. package/dist/browser/type/clientQuerier.d.ts +9 -9
  7. package/dist/browser/type/clientQuerier.d.ts.map +1 -1
  8. package/dist/browser/uql-browser.min.js +2 -2
  9. package/dist/browser/uql-browser.min.js.map +4 -4
  10. package/dist/bunSql/bunSqlCockroachDialect.d.ts +1 -1
  11. package/dist/bunSql/bunSqlCockroachDialect.js +1 -1
  12. package/dist/dialect/abstractSqlDialect.d.ts +113 -51
  13. package/dist/dialect/abstractSqlDialect.d.ts.map +1 -1
  14. package/dist/dialect/abstractSqlDialect.js +186 -123
  15. package/dist/dialect/abstractSqlDialect.js.map +1 -1
  16. package/dist/dialect/jsonArrayElemMatchUtils.d.ts +5 -6
  17. package/dist/dialect/jsonArrayElemMatchUtils.d.ts.map +1 -1
  18. package/dist/dialect/jsonArrayElemMatchUtils.js +9 -19
  19. package/dist/dialect/jsonArrayElemMatchUtils.js.map +1 -1
  20. package/dist/dialect/jsonSql.d.ts +24 -0
  21. package/dist/dialect/jsonSql.d.ts.map +1 -0
  22. package/dist/dialect/jsonSql.js +37 -0
  23. package/dist/dialect/jsonSql.js.map +1 -0
  24. package/dist/dialect/mysqlLikeSqlDialect.d.ts +35 -3
  25. package/dist/dialect/mysqlLikeSqlDialect.d.ts.map +1 -1
  26. package/dist/dialect/mysqlLikeSqlDialect.js +64 -18
  27. package/dist/dialect/mysqlLikeSqlDialect.js.map +1 -1
  28. package/dist/dialect/pgLikeSqlDialect.d.ts +24 -5
  29. package/dist/dialect/pgLikeSqlDialect.d.ts.map +1 -1
  30. package/dist/dialect/pgLikeSqlDialect.js +50 -37
  31. package/dist/dialect/pgLikeSqlDialect.js.map +1 -1
  32. package/dist/dialect/vectorSqlDialect.d.ts +54 -0
  33. package/dist/dialect/vectorSqlDialect.d.ts.map +1 -0
  34. package/dist/dialect/vectorSqlDialect.js +73 -0
  35. package/dist/dialect/vectorSqlDialect.js.map +1 -0
  36. package/dist/entity/decorator/index-decorator.d.ts +6 -13
  37. package/dist/entity/decorator/index-decorator.d.ts.map +1 -1
  38. package/dist/entity/decorator/index-decorator.js.map +1 -1
  39. package/dist/maria/mariaDialect.d.ts +15 -3
  40. package/dist/maria/mariaDialect.d.ts.map +1 -1
  41. package/dist/maria/mariaDialect.js +25 -12
  42. package/dist/maria/mariaDialect.js.map +1 -1
  43. package/dist/migrate/generator/mongoSchemaGenerator.d.ts +1 -1
  44. package/dist/migrate/generator/mongoSchemaGenerator.d.ts.map +1 -1
  45. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.d.ts +2 -1
  46. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.d.ts.map +1 -1
  47. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.js +5 -0
  48. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.js.map +1 -1
  49. package/dist/migrate/introspection/baseSqlIntrospector.js +1 -1
  50. package/dist/migrate/introspection/baseSqlIntrospector.js.map +1 -1
  51. package/dist/migrate/introspection/mysqlIntrospector.d.ts +1 -3
  52. package/dist/migrate/introspection/mysqlIntrospector.d.ts.map +1 -1
  53. package/dist/migrate/introspection/mysqlIntrospector.js +0 -5
  54. package/dist/migrate/introspection/mysqlIntrospector.js.map +1 -1
  55. package/dist/migrate/introspection/postgresIntrospector.d.ts +1 -3
  56. package/dist/migrate/introspection/postgresIntrospector.d.ts.map +1 -1
  57. package/dist/migrate/introspection/postgresIntrospector.js +0 -5
  58. package/dist/migrate/introspection/postgresIntrospector.js.map +1 -1
  59. package/dist/migrate/introspection/sqliteIntrospector.d.ts +1 -3
  60. package/dist/migrate/introspection/sqliteIntrospector.d.ts.map +1 -1
  61. package/dist/migrate/introspection/sqliteIntrospector.js +0 -5
  62. package/dist/migrate/introspection/sqliteIntrospector.js.map +1 -1
  63. package/dist/migrate/schemaGenerator.js +1 -1
  64. package/dist/migrate/schemaGenerator.js.map +1 -1
  65. package/dist/mongo/mongoDialect.d.ts +29 -8
  66. package/dist/mongo/mongoDialect.d.ts.map +1 -1
  67. package/dist/mongo/mongoDialect.js +101 -12
  68. package/dist/mongo/mongoDialect.js.map +1 -1
  69. package/dist/mongo/mongodbQuerier.d.ts +2 -2
  70. package/dist/mongo/mongodbQuerier.d.ts.map +1 -1
  71. package/dist/mongo/mongodbQuerier.js +5 -4
  72. package/dist/mongo/mongodbQuerier.js.map +1 -1
  73. package/dist/postgres/postgresWireDriverCapabilities.d.ts +1 -1
  74. package/dist/postgres/postgresWireDriverCapabilities.js +1 -1
  75. package/dist/querier/abstractQuerier.d.ts +2 -2
  76. package/dist/querier/abstractQuerier.d.ts.map +1 -1
  77. package/dist/querier/abstractQuerier.js +6 -5
  78. package/dist/querier/abstractQuerier.js.map +1 -1
  79. package/dist/querier/abstractQuerierPool.d.ts +1 -1
  80. package/dist/querier/abstractQuerierPool.d.ts.map +1 -1
  81. package/dist/querier/abstractQuerierPool.js.map +1 -1
  82. package/dist/querier/abstractSqlQuerier.d.ts +2 -2
  83. package/dist/querier/abstractSqlQuerier.d.ts.map +1 -1
  84. package/dist/querier/abstractSqlQuerier.js.map +1 -1
  85. package/dist/querier/decorator/injectQuerier.d.ts +2 -2
  86. package/dist/querier/decorator/injectQuerier.d.ts.map +1 -1
  87. package/dist/querier/decorator/injectQuerier.js.map +1 -1
  88. package/dist/schema/schemaAST.d.ts.map +1 -1
  89. package/dist/schema/schemaAST.js +7 -19
  90. package/dist/schema/schemaAST.js.map +1 -1
  91. package/dist/schema/types.d.ts +1 -1
  92. package/dist/sqlite/sqliteDialect.d.ts +29 -8
  93. package/dist/sqlite/sqliteDialect.d.ts.map +1 -1
  94. package/dist/sqlite/sqliteDialect.js +59 -74
  95. package/dist/sqlite/sqliteDialect.js.map +1 -1
  96. package/dist/type/dialect.d.ts +192 -0
  97. package/dist/type/dialect.d.ts.map +1 -0
  98. package/dist/type/dialect.js +2 -0
  99. package/dist/type/dialect.js.map +1 -0
  100. package/dist/type/entity.d.ts +97 -45
  101. package/dist/type/entity.d.ts.map +1 -1
  102. package/dist/type/entity.js.map +1 -1
  103. package/dist/type/index.d.ts +5 -0
  104. package/dist/type/index.d.ts.map +1 -1
  105. package/dist/type/index.js +5 -0
  106. package/dist/type/index.js.map +1 -1
  107. package/dist/type/querier.d.ts +4 -3
  108. package/dist/type/querier.d.ts.map +1 -1
  109. package/dist/type/querier.js +1 -1
  110. package/dist/type/querier.js.map +1 -1
  111. package/dist/type/query.d.ts +19 -668
  112. package/dist/type/query.d.ts.map +1 -1
  113. package/dist/type/query.js +1 -51
  114. package/dist/type/query.js.map +1 -1
  115. package/dist/type/queryAggregate.d.ts +191 -0
  116. package/dist/type/queryAggregate.d.ts.map +1 -0
  117. package/dist/type/queryAggregate.js +39 -0
  118. package/dist/type/queryAggregate.js.map +1 -0
  119. package/dist/type/queryRaw.d.ts +35 -0
  120. package/dist/type/queryRaw.d.ts.map +1 -0
  121. package/dist/type/queryRaw.js +11 -0
  122. package/dist/type/queryRaw.js.map +1 -0
  123. package/dist/type/queryWhere.d.ts +271 -0
  124. package/dist/type/queryWhere.d.ts.map +1 -0
  125. package/dist/type/queryWhere.js +2 -0
  126. package/dist/type/queryWhere.js.map +1 -0
  127. package/dist/type/universalQuerier.d.ts +3 -2
  128. package/dist/type/universalQuerier.d.ts.map +1 -1
  129. package/dist/type/utility.d.ts +16 -2
  130. package/dist/type/utility.d.ts.map +1 -1
  131. package/dist/type/vector.d.ts +55 -0
  132. package/dist/type/vector.d.ts.map +1 -0
  133. package/dist/type/vector.js +2 -0
  134. package/dist/type/vector.js.map +1 -0
  135. package/dist/util/ansiSqlLiteral.d.ts +2 -0
  136. package/dist/util/ansiSqlLiteral.d.ts.map +1 -1
  137. package/dist/util/ansiSqlLiteral.js +5 -1
  138. package/dist/util/ansiSqlLiteral.js.map +1 -1
  139. package/dist/util/dialect.util.d.ts +14 -2
  140. package/dist/util/dialect.util.d.ts.map +1 -1
  141. package/dist/util/dialect.util.js +23 -0
  142. package/dist/util/dialect.util.js.map +1 -1
  143. package/dist/util/object.util.d.ts +12 -1
  144. package/dist/util/object.util.d.ts.map +1 -1
  145. package/dist/util/object.util.js +18 -0
  146. package/dist/util/object.util.js.map +1 -1
  147. package/dist/util/relationQuery.util.js +1 -1
  148. package/dist/util/relationQuery.util.js.map +1 -1
  149. package/package.json +2 -2
@@ -1,10 +1,9 @@
1
- import { type VectorCast } from '../schema/canonicalType.js';
2
- import { type EntityMeta, type FieldKey, type FieldOptions, type IsolationLevel, type JsonUpdateOp, type Query, type QueryAggregate, type QueryComparisonOptions, type QueryConflictPaths, type QueryContext, type QueryDialect, type QueryExclude, type QueryHavingMap, type QueryOptions, type QueryPager, type QueryPopulate, QueryRaw, type QueryRawFnOptions, type QuerySearch, type QuerySelect, type QuerySelectOptions, type QuerySizeComparisonOps, type QuerySortMap, type QueryVectorSearch, type QueryWhere, type QueryWhereArray, type QueryWhereFieldOperatorMap, type QueryWhereMap, type QueryWhereOptions, type RelationOptions, type SqlDialectName, type SqlQueryDialect, type Type, type UpdatePayload, type VectorDistance } from '../type/index.js';
1
+ import { type EntityMeta, type FieldKey, type FieldOptions, type IsolationLevel, type JsonUpdateOp, type Query, type QueryAggMap, type QueryAggregate, type QueryComparisonOptions, type QueryConflictPaths, type QueryContext, type QueryDialect, type QueryExclude, type QueryGroupMap, type QueryHavingMap, type QueryOptions, type QueryPager, type QueryPopulate, QueryRaw, type QueryRawFnOptions, type QuerySearch, type QuerySelect, type QuerySelectOptions, type QuerySelectValue, type QuerySizeComparisonOps, type QuerySortMap, type QueryWhere, type QueryWhereArray, type QueryWhereFieldOperatorMap, type QueryWhereMap, type QueryWhereOptions, type RelationOptions, type SqlDialectName, type SqlQueryDialect, type Type, type UpdatePayload } from '../type/index.js';
3
2
  import { type CallbackKey } from '../util/index.js';
4
- import { AbstractDialect } from './abstractDialect.js';
5
- export declare abstract class AbstractSqlDialect extends AbstractDialect implements QueryDialect, SqlQueryDialect {
3
+ import { VectorSqlDialect } from './vectorSqlDialect.js';
4
+ export declare abstract class AbstractSqlDialect extends VectorSqlDialect implements QueryDialect, SqlQueryDialect {
6
5
  abstract readonly dialectName: SqlDialectName;
7
- abstract readonly quoteChar: '"' | '`';
6
+ abstract readonly escapeIdChar: '"' | '`';
8
7
  abstract readonly serialPrimaryKey: string;
9
8
  abstract readonly tableOptions: string;
10
9
  abstract readonly beginTransactionCommand: string;
@@ -22,10 +21,6 @@ export declare abstract class AbstractSqlDialect extends AbstractDialect impleme
22
21
  * `insertMany` splits larger batches into multiple statements based on this limit.
23
22
  */
24
23
  readonly maxBindValues: number;
25
- /** Vector index operator classes, keyed by distance metric. Partial: not every dialect supports every metric. */
26
- readonly vectorOpsClass: ReadonlyMap<VectorDistance, string> | undefined;
27
- readonly vectorExtension: string | undefined;
28
- get escapeIdChar(): "\"" | "`";
29
24
  getBeginTransactionStatements(isolationLevel?: IsolationLevel): string[];
30
25
  createContext(): QueryContext;
31
26
  addValue(values: unknown[], value: unknown): string;
@@ -43,8 +38,8 @@ export declare abstract class AbstractSqlDialect extends AbstractDialect impleme
43
38
  placeholder(_index: number): string;
44
39
  returningId<E>(entity: Type<E>): string;
45
40
  search<E>(ctx: QueryContext, entity: Type<E>, q?: Query<E>, opts?: QueryOptions): void;
46
- selectFields<E>(ctx: QueryContext, entity: Type<E>, select: QuerySelect<E> | QueryRaw[] | undefined, opts?: QuerySelectOptions, exclude?: QueryExclude<E>): void;
47
- select<E>(ctx: QueryContext, entity: Type<E>, select: QuerySelect<E> | QueryRaw[] | undefined, exclude?: QueryExclude<E>, populate?: QueryPopulate<E>, opts?: QueryOptions, distinct?: boolean, sort?: QuerySortMap<E>): void;
41
+ selectFields<E>(ctx: QueryContext, entity: Type<E>, select: QuerySelectValue<E> | undefined, opts?: QuerySelectOptions, exclude?: QueryExclude<E>): void;
42
+ select<E>(ctx: QueryContext, entity: Type<E>, select: QuerySelectValue<E> | undefined, exclude?: QueryExclude<E>, populate?: QueryPopulate<E>, opts?: QueryOptions, distinct?: boolean, sort?: QuerySortMap<E>): void;
48
43
  private resolveRelationAwarePrefix;
49
44
  protected selectRelationFields<E>(ctx: QueryContext, entity: Type<E>, select: QuerySelect<E> | undefined, populate: QueryPopulate<E> | undefined, opts?: {
50
45
  prefix?: string;
@@ -66,6 +61,12 @@ export declare abstract class AbstractSqlDialect extends AbstractDialect impleme
66
61
  private static readonly NEGATE_OP_MAP;
67
62
  private static readonly COMPARE_OP_MAP;
68
63
  private static readonly LIKE_OP_MAP;
64
+ /**
65
+ * The case-insensitive `LIKE_OP_MAP` keys - the value is lowercased, so the comparison must use
66
+ * `ilikeExpr` (Postgres's `ILIKE`) rather than `LIKE`. `$includes` is deliberately excluded even
67
+ * though it starts with the substring `$i`: it is case-sensitive, unlike `$iincludes`.
68
+ */
69
+ private static readonly LIKE_CASE_INSENSITIVE_OPS;
69
70
  /** Builds `prefix.column` from an already-resolved field. */
70
71
  private columnWithPrefix;
71
72
  /**
@@ -83,52 +84,88 @@ export declare abstract class AbstractSqlDialect extends AbstractDialect impleme
83
84
  * Used by both `$elemMatch` and dot-notation paths.
84
85
  * All dialect-specific behavior comes from overridable methods on `this`.
85
86
  */
86
- protected buildJsonFieldCondition(ctx: QueryContext, fieldAccessor: (f: string) => string, jsonPath: string, op: string, value: unknown): string;
87
+ protected buildJsonFieldCondition(ctx: QueryContext, fieldAccessor: (f: string) => string, jsonPath: string, op: string, value: unknown, asJson?: boolean): string;
87
88
  private jsonInNin;
88
- protected jsonAll(ctx: QueryContext, jsonField: string, value: unknown): string;
89
- protected jsonSize(ctx: QueryContext, jsonField: string, value: number | QuerySizeComparisonOps): string;
90
- protected jsonElemMatch(ctx: QueryContext, jsonField: string, value: Record<string, unknown>): string;
91
- protected isJsonbOp(op: string): boolean;
92
- getComparisonKey<E>(ctx: QueryContext, entity: Type<E>, key: FieldKey<E>, { prefix }?: QueryOptions): void;
93
- sort<E>(ctx: QueryContext, entity: Type<E>, sort: QuerySortMap<E> | undefined, { prefix }: QueryOptions): void;
89
+ /** The bound operand of a JSON comparison: JSON-encoded when comparing against the JSON value. */
90
+ protected jsonOperand(ctx: QueryContext, value: unknown, asJson: boolean): string;
91
+ /**
92
+ * The left side of a comparison against a JSON scalar, cast when the operand is numeric - see
93
+ * {@link jsonCompareMode} for why each mode exists.
94
+ */
95
+ protected jsonComparand(jsonField: string, value: unknown): string;
96
+ /**
97
+ * How a JSON scalar has to be compared against `value` (or, for `$in`/`$nin`, against every element
98
+ * of it). Extracting a JSON value yields *text*, which loses the type, so each operand type is
99
+ * compared in the representation every engine agrees on:
100
+ * - `numeric` - cast the accessor. Keeps `1` equal to a stored `1.0`, which strict JSON equality
101
+ * would not, and satisfies drivers that send typed parameters (`text = integer` otherwise).
102
+ * - `json` - compare the JSON value against a JSON-encoded parameter. No cast recovers a boolean
103
+ * portably: PostgreSQL raises `text = boolean` and MySQL matches `'true'` against `1`.
104
+ * - `text` - compare as extracted, which is also what the string operators need.
105
+ *
106
+ * Mixed operand types fall back to `text`, since one comparison cannot be two shapes at once.
107
+ */
108
+ protected jsonCompareMode(value: unknown): 'json' | 'numeric' | 'text';
109
+ /** `$all`: the JSON array at `jsonField` contains every value (also serves element containment). */
110
+ protected abstract jsonAll(ctx: QueryContext, jsonField: string, value: unknown): string;
111
+ /** `$size`: the length of the JSON array at `jsonField`, compared against `value`. */
112
+ protected abstract jsonSize(ctx: QueryContext, jsonField: string, value: number | QuerySizeComparisonOps): string;
113
+ /**
114
+ * Explodes the JSON array at `jsonField` into rows, as the `FROM` of an `EXISTS` subquery. An
115
+ * empty `fields` means the elements are scalars, in which case `asJson` says whether they are read
116
+ * as JSON or as text; otherwise they are objects and `fields` are the keys the conditions will read
117
+ * (MySQL needs them upfront for its `JSON_TABLE` column list).
118
+ */
119
+ protected abstract jsonElemFrom(jsonField: string, fields: readonly string[], asJson?: boolean): string;
94
120
  /**
95
- * Resolve common parameters for a vector similarity ORDER BY expression.
96
- * Shared by all dialect overrides of `appendVectorSort`.
121
+ * References an exploded element: the element itself, or one `field` of it. `asJson` asks for the
122
+ * JSON-valued form instead of the text one - see {@link isJsonbOp} for when that matters.
97
123
  */
98
- protected resolveVectorSortParams<E>(meta: EntityMeta<E>, key: string, search: QueryVectorSearch): {
99
- colName: string;
100
- distance: VectorDistance;
101
- field: FieldOptions | undefined;
102
- vectorCast: VectorCast;
103
- };
124
+ protected abstract jsonElemRef(field?: string, asJson?: boolean): string;
104
125
  /**
105
- * Mapping of UQL vector distance metrics to native SQL functions.
106
- * Override in dialects that use function-call syntax (e.g. SQLite, MariaDB).
107
- * Dialects with operator-based syntax (e.g. Postgres) leave this empty and override `appendVectorSort` directly.
126
+ * Whether the dialect's array containment ({@link jsonAll}) matches an object element that merely
127
+ * *includes* the given keys, as PostgreSQL's `@>` and MySQL's `JSON_CONTAINS` do. SQLite compares
128
+ * elements as whole JSON text, so it cannot express a partial match and always expands the
129
+ * per-field form below.
108
130
  */
109
- protected readonly vectorDistanceFns: ReadonlyMap<VectorDistance, string>;
131
+ protected readonly jsonContainmentIsPartial: boolean;
110
132
  /**
111
- * Append a vector similarity function call: `fn(col, ?)`.
112
- * Used by dialects that express vector distance via SQL functions (SQLite, MariaDB).
133
+ * Whether an exploded *scalar* element keeps its SQL type. SQLite's `json_each` yields JSON
134
+ * booleans as `0`/`1` integers and numbers as numbers, so such an element compares directly to a
135
+ * bound value; PostgreSQL and MySQL explode scalars to text, losing the type, so a non-string
136
+ * operand there has to compare as JSON (see {@link isJsonbOp}).
113
137
  */
114
- protected appendFunctionVectorSort<E>(ctx: QueryContext, meta: EntityMeta<E>, key: string, search: QueryVectorSearch, dialectName: string): void;
138
+ protected readonly jsonScalarElemKeepsType: boolean;
115
139
  /**
116
- * Append a vector distance projection.
140
+ * `$elemMatch`: at least one element of the JSON array satisfies `match`. Three shapes, decided
141
+ * here so every dialect only supplies {@link jsonElemFrom} / {@link jsonElemRef}:
142
+ * - keys are operators (`{ $startsWith: 'ad' }`) - scalar elements, conditions on the element;
143
+ * - a plain object with no nested operators - containment, which is the only form an index serves;
144
+ * - otherwise - per-field conditions over the exploded objects.
117
145
  */
118
- protected appendVectorProjection<E>(ctx: QueryContext, meta: EntityMeta<E>, key: string, search: QueryVectorSearch): void;
146
+ protected jsonElemMatch(ctx: QueryContext, jsonField: string, match: Record<string, unknown>): string;
119
147
  /**
120
- * Append a vector similarity ORDER BY expression.
121
- * Default: auto-delegates to `appendFunctionVectorSort` when `vectorDistanceFns` has entries.
122
- * Override for operator-based syntax (e.g. PostgreSQL `<=>`, `<->` operators).
148
+ * Whether the operator reads the JSON *value* instead of its text form. The array operators always
149
+ * do. Equality joins them for boolean operands, because extracting JSON as text loses the type in
150
+ * a way no cast recovers portably: PostgreSQL raises `operator does not exist: text = boolean`,
151
+ * MySQL compares `'true'` to `1` and silently matches nothing, and SQLite's `json_extract` yields
152
+ * `1`. Comparing the JSON value against a JSON-encoded parameter is exact on every dialect.
153
+ *
154
+ * Numbers stay on the text accessor with a numeric cast ({@link jsonComparand}), which keeps
155
+ * `1` equal to `1.0` - JSON equality would not.
123
156
  */
124
- protected appendVectorSort<E>(ctx: QueryContext, meta: EntityMeta<E>, key: string, search: QueryVectorSearch): void;
157
+ protected isJsonbOp(op: string, value?: unknown): boolean;
158
+ /** A JSON-encoded bound parameter, cast to the dialect's JSON type. */
159
+ protected jsonScalarParam(ctx: QueryContext, value: unknown): string;
160
+ getComparisonKey<E>(ctx: QueryContext, entity: Type<E>, key: FieldKey<E>, { prefix }?: QueryOptions): void;
161
+ sort<E>(ctx: QueryContext, entity: Type<E>, sort: QuerySortMap<E> | undefined, { prefix }: QueryOptions): void;
125
162
  pager(ctx: QueryContext, opts: QueryPager): void;
126
163
  count<E>(ctx: QueryContext, entity: Type<E>, q: QuerySearch<E>, opts?: QueryOptions): void;
127
164
  /** `$group` aggregate operator → SQL function name. An allowlist, not a formatter: the op key
128
165
  * comes from query data, so anything outside this map must be rejected rather than passed
129
166
  * through as a raw SQL function name. */
130
167
  private static readonly AGGREGATE_FN_MAP;
131
- aggregate<E>(ctx: QueryContext, entity: Type<E>, q: QueryAggregate<E>, opts?: QueryOptions): void;
168
+ aggregate<E, G extends QueryGroupMap<E>, A extends QueryAggMap<E>>(ctx: QueryContext, entity: Type<E>, q: QueryAggregate<E, G, A>, opts?: QueryOptions): void;
132
169
  /**
133
170
  * ORDER BY for aggregate queries - handles both entity-field and alias references.
134
171
  */
@@ -162,19 +199,44 @@ export declare abstract class AbstractSqlDialect extends AbstractDialect impleme
162
199
  protected getPersistable<E>(ctx: QueryContext, meta: EntityMeta<E>, payload: E, callbackKey: CallbackKey): Record<string, unknown>;
163
200
  protected formatPersistableValue<E>(ctx: QueryContext, field: FieldOptions | undefined, value: unknown): void;
164
201
  /**
165
- * Generate SQL for a JSONB merge and/or unset operation.
166
- * Called from `update()` when a field value has `$merge`, `$unset`, and/or `$push` operators.
167
- * Generates the full `"col" = <expression>` assignment.
168
- *
169
- * Base implementation uses MySQL-compatible syntax with *shallow* merge semantics
170
- * (RHS top-level keys replace LHS top-level keys, matching PostgreSQL's `jsonb || jsonb`).
171
- * Override in dialect subclasses when a dialect needs different JSON function semantics.
202
+ * Reads `operand` as a JSON value. Passing the `?` placeholder yields the cast for a bound
203
+ * parameter, and passing an expression re-reads text as JSON - the same SQL either way, which is
204
+ * why this is one hook rather than a placeholder variant plus an expression variant.
205
+ */
206
+ protected jsonCast(operand: string): string;
207
+ /**
208
+ * The JSON cast applied to a bound placeholder. Only the positional-placeholder dialects use it -
209
+ * PostgreSQL binds JSON through {@link PgLikeSqlDialect.jsonScalarParam} instead.
172
210
  */
173
211
  protected getJsonCastExpr(): string;
174
- protected formatJsonUpdate<E>(ctx: QueryContext, escapedCol: string, value: JsonUpdateOp<E>): void;
175
- protected isJsonUpdateOp(value: unknown): value is JsonUpdateOp;
176
- /** Escapes a JSON key for safe interpolation into SQL string literals. */
177
- protected escapeJsonKey(key: string): string;
212
+ /**
213
+ * Generate the full `"col" = <expression>` assignment for a JSON update operator payload.
214
+ * Called from `update()` when a field value is a {@link JsonUpdateOp}.
215
+ *
216
+ * Each operator wraps the expression built so far, innermost-first in the order stated on
217
+ * {@link JsonUpdateOp} (`$pull` -> `$set` -> `$push` -> `$unset`), so dialects only supply the
218
+ * four SQL fragments below. Two invariants keep every dialect consistent and keep bound values in
219
+ * step with their placeholders:
220
+ * - `$pull` is innermost and its subquery reads `escapedCol`, so its value binds exactly once.
221
+ * - Later fragments reference `expr` at most once, so a `$pull` subquery is never duplicated
222
+ * (which would bind its value twice on positional-placeholder dialects). PostgreSQL's `$push`
223
+ * is the one exception, and is safe there because its placeholders are numbered.
224
+ */
225
+ protected formatJsonUpdate(ctx: QueryContext, escapedCol: string, value: JsonUpdateOp, field?: FieldOptions): void;
226
+ /**
227
+ * Remove every element equal to the given value, per array key. Each key wraps the expression
228
+ * built so far, so dialects only supply {@link jsonPullKey} - and because every key reads
229
+ * `escapedCol` rather than the accumulated expression, values bind once, in key order.
230
+ */
231
+ protected jsonPull(ctx: QueryContext, expr: string, escapedCol: string, pull: Record<string, unknown>): string;
232
+ /** Wrap `expr` so the array at `key` no longer contains `value`. */
233
+ protected abstract jsonPullKey(ctx: QueryContext, expr: string, escapedCol: string, key: string, value: unknown): string;
234
+ /** Shallow assignment of top-level keys, matching PostgreSQL's `jsonb || jsonb`. */
235
+ protected abstract jsonSet(ctx: QueryContext, expr: string, set: Record<string, unknown>, field?: FieldOptions): string;
236
+ /** Append one value per array key, creating the array when the key is absent. */
237
+ protected abstract jsonPush(ctx: QueryContext, expr: string, push: Record<string, unknown>): string;
238
+ /** Remove object keys. */
239
+ protected abstract jsonUnset(ctx: QueryContext, expr: string, unset: readonly string[]): string;
178
240
  getRawValue(ctx: QueryContext, opts: QueryRawFnOptions & {
179
241
  value: QueryRaw;
180
242
  autoPrefixAlias?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"abstractSqlDialect.d.ts","sourceRoot":"","sources":["../../src/dialect/abstractSqlDialect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstractSqlDialect.d.ts","sourceRoot":"","sources":["../../src/dialect/abstractSqlDialect.ts"],"names":[],"mappings":"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"}