@prisma-next/sql-builder 0.11.0 → 0.12.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.
@@ -1,7 +1,8 @@
1
1
  import { AnyFromSource, SelectAst } from "@prisma-next/sql-relational-core/ast";
2
- import { CodecExpression, CodecTypesBase, Expression as Expression$1, ScopeField, TraitExpression } from "@prisma-next/sql-relational-core/expression";
2
+ import { CodecExpression, CodecTypesBase, Expression as Expression$1, RawSqlTag, ScopeField, TraitExpression } from "@prisma-next/sql-relational-core/expression";
3
3
  import { AnnotationValue, OperationKind, ValidAnnotations } from "@prisma-next/framework-components/runtime";
4
4
  import { ExtractCodecTypes, ExtractFieldInputTypes, ExtractFieldOutputTypes, ExtractQueryOperationTypes, QueryOperationTypesBase, StorageTable, StorageTable as StorageTable$1 } from "@prisma-next/sql-contract/types";
5
+ import { Contract, ContractModelsMap } from "@prisma-next/contract/types";
5
6
  import { SqlQueryPlan } from "@prisma-next/sql-relational-core/plan";
6
7
 
7
8
  //#region src/scope.d.ts
@@ -119,6 +120,7 @@ type BuiltinFunctions<CT extends Record<string, {
119
120
  nullable: boolean;
120
121
  }>, values: Array<CodecExpression<CodecId, boolean, CT>>): Expression$1<BooleanCodecType>;
121
122
  };
123
+ readonly raw: RawSqlTag;
122
124
  };
123
125
  type Functions<QC extends QueryContext> = BuiltinFunctions<QC['codecTypes']> & DeriveExtFunctions<QC['queryOperationTypes']>;
124
126
  type CountField = {
@@ -300,22 +302,14 @@ interface WithBuild<QC extends QueryContext, RowType extends Record<string, Scop
300
302
  }
301
303
  //#endregion
302
304
  //#region src/types/table-proxy.d.ts
303
- type FindModelForTable<C, TableName extends string> = C extends {
304
- readonly models: infer Models extends Record<string, {
305
- readonly storage: {
306
- readonly table: string;
307
- };
308
- }>;
309
- } ? { [M in keyof Models & string]: Models[M]['storage']['table'] extends TableName ? M : never }[keyof Models & string] : never;
310
- type FindFieldForColumn<C, ModelName extends string, ColumnName extends string> = C extends {
311
- readonly models: infer Models extends Record<string, {
312
- readonly storage: {
313
- readonly fields: Record<string, {
314
- readonly column: string;
315
- }>;
316
- };
317
- }>;
318
- } ? ModelName extends keyof Models ? { [F in keyof Models[ModelName]['storage']['fields'] & string]: Models[ModelName]['storage']['fields'][F]['column'] extends ColumnName ? F : never }[keyof Models[ModelName]['storage']['fields'] & string] : never : never;
305
+ type FindModelForTable<C, TableName extends string> = C extends Contract ? { [M in keyof ContractModelsMap<C> & string]: ContractModelsMap<C>[M] extends {
306
+ readonly storage: {
307
+ readonly table: TableName;
308
+ };
309
+ } ? M : never }[keyof ContractModelsMap<C> & string] : never;
310
+ type FindFieldForColumn<C, ModelName extends string, ColumnName extends string> = C extends Contract ? ModelName extends keyof ContractModelsMap<C> ? { [F in keyof ContractModelsMap<C>[ModelName]['storage']['fields'] & string]: ContractModelsMap<C>[ModelName]['storage']['fields'][F] extends {
311
+ readonly column: ColumnName;
312
+ } ? F : never }[keyof ContractModelsMap<C>[ModelName]['storage']['fields'] & string] : never : never;
319
313
  type ResolvedColumnTypes<C, TableName extends string, FieldTypes extends Record<string, Record<string, unknown>>> = string extends keyof FieldTypes ? Record<string, never> : FindModelForTable<C, TableName> extends infer ModelName extends string ? ModelName extends keyof FieldTypes ? C extends TableProxyContract ? UnboundTables<C> extends infer Tables extends Record<string, StorageTable> ? TableName extends keyof Tables ? { [ColName in keyof Tables[TableName]['columns'] & string]: FindFieldForColumn<C, ModelName, ColName> extends infer FieldName extends string ? FieldName extends keyof FieldTypes[ModelName] ? FieldTypes[ModelName][FieldName] : unknown : unknown } : Record<string, never> : Record<string, never> : Record<string, never> : Record<string, never> : Record<string, never>;
320
314
  type ResolvedInsertValues<C, Table extends StorageTable, TableName extends string, CT extends Record<string, {
321
315
  readonly input: unknown;
@@ -334,7 +328,7 @@ type ContractToQC<C extends TableProxyContract, Name extends string = string> =
334
328
  readonly resolvedColumnOutputTypes: ResolvedColumnTypes<C, Name, ExtractFieldOutputTypes<C>>;
335
329
  };
336
330
  interface TableProxy<C extends TableProxyContract, Name extends string & keyof UnboundTables<C>, Alias extends string = Name, AvailableScope extends Scope = DefaultScope<Name, UnboundTables<C>[Name]>, QC extends QueryContext = ContractToQC<C, Name>> extends JoinSource<StorageTableToScopeTable<UnboundTables<C>[Name]>, Alias>, WithSelect<QC, AvailableScope, EmptyRow>, WithJoin<QC, AvailableScope, C['capabilities']> {
337
- as<NewAlias extends string>(newAlias: NewAlias): TableProxy<C, Name, NewAlias, RebindScope<AvailableScope, Alias, NewAlias>>;
331
+ as<NewAlias extends string>(newAlias: NewAlias): TableProxy<C, Name, NewAlias, RebindScope<AvailableScope, Alias, NewAlias>, QC>;
338
332
  insert(rows: ReadonlyArray<ResolvedInsertValues<C, UnboundTables<C>[Name], Name, QC['codecTypes'], ExtractFieldInputTypes<C>>>): InsertQuery<QC, AvailableScope, EmptyRow>;
339
333
  update(set: ResolvedUpdateValues<C, UnboundTables<C>[Name], Name, QC['codecTypes'], ExtractFieldInputTypes<C>>): UpdateQuery<QC, AvailableScope, EmptyRow>;
340
334
  update(callback: (fields: FieldProxy<AvailableScope>, fns: Functions<QC>) => ResolvedUpdateExpressions<UnboundTables<C>[Name]>): UpdateQuery<QC, AvailableScope, EmptyRow>;
@@ -357,4 +351,4 @@ type TableInAnyNamespace<C extends TableProxyContract, Name extends string> = {
357
351
  type Db<C extends TableProxyContract> = { [Name in TableNamesAcrossNamespaces<C>]: TableProxy<C, Name> };
358
352
  //#endregion
359
353
  export { Scope as _, GroupedQuery as a, UpdateQuery as c, BooleanCodecType as d, Expression$1 as f, QueryContext as g, GatedMethod as h, SelectQuery as i, ResolveRow as l, Functions as m, TableProxyContract as n, DeleteQuery as o, FieldProxy as p, TableProxy as r, InsertQuery as s, Db as t, AggregateFunctions as u, ScopeField as v, Subquery as y };
360
- //# sourceMappingURL=db-Tp8O0y-a.d.mts.map
354
+ //# sourceMappingURL=db-DYq06sbo.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-DYq06sbo.d.mts","names":[],"sources":["../src/scope.ts","../src/expression.ts","../src/resolve.ts","../src/types/mutation-query.ts","../src/types/joined-tables.ts","../src/types/grouped-query.ts","../src/types/select-query.ts","../src/types/shared.ts","../src/types/table-proxy.ts","../src/types/db.ts"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { _ as Scope, a as GroupedQuery, c as UpdateQuery, d as BooleanCodecType, f as Expression, g as QueryContext, h as GatedMethod, i as SelectQuery, l as ResolveRow, m as Functions, n as TableProxyContract, o as DeleteQuery, r as TableProxy, s as InsertQuery, t as Db, u as AggregateFunctions, v as ScopeField, y as Subquery } from "../db-Tp8O0y-a.mjs";
1
+ import { _ as Scope, a as GroupedQuery, c as UpdateQuery, d as BooleanCodecType, f as Expression, g as QueryContext, h as GatedMethod, i as SelectQuery, l as ResolveRow, m as Functions, n as TableProxyContract, o as DeleteQuery, r as TableProxy, s as InsertQuery, t as Db, u as AggregateFunctions, v as ScopeField, y as Subquery } from "../db-DYq06sbo.mjs";
2
2
  export { type AggregateFunctions, type BooleanCodecType, type Db, type DeleteQuery, type Expression, type Functions, type GatedMethod, type GroupedQuery, type InsertQuery, type QueryContext, type ResolveRow, type Scope, type ScopeField, type SelectQuery, type Subquery, type TableProxy, type TableProxyContract, type UpdateQuery };
package/dist/index.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { _ as Scope, a as GroupedQuery, c as UpdateQuery, f as Expression, g as QueryContext, h as GatedMethod, i as SelectQuery, l as ResolveRow, m as Functions, o as DeleteQuery, r as TableProxy, s as InsertQuery, t as Db, u as AggregateFunctions, v as ScopeField, y as Subquery } from "./db-Tp8O0y-a.mjs";
1
+ import { _ as Scope, a as GroupedQuery, c as UpdateQuery, f as Expression, g as QueryContext, h as GatedMethod, i as SelectQuery, l as ResolveRow, m as Functions, o as DeleteQuery, r as TableProxy, s as InsertQuery, t as Db, u as AggregateFunctions, v as ScopeField, y as Subquery } from "./db-DYq06sbo.mjs";
2
2
  export { type AggregateFunctions, type Db, type DeleteQuery, type Expression, type Functions, type GatedMethod, type GroupedQuery, type InsertQuery, type QueryContext, type ResolveRow, type Scope, type ScopeField, type SelectQuery, type Subquery, type TableProxy, type UpdateQuery };
@@ -1,10 +1,10 @@
1
- import { _ as Scope, g as QueryContext, m as Functions, n as TableProxyContract, p as FieldProxy, t as Db, u as AggregateFunctions, v as ScopeField } from "../db-Tp8O0y-a.mjs";
1
+ import { _ as Scope, g as QueryContext, m as Functions, n as TableProxyContract, p as FieldProxy, t as Db, u as AggregateFunctions, v as ScopeField } from "../db-DYq06sbo.mjs";
2
2
  import { AnyExpression } from "@prisma-next/sql-relational-core/ast";
3
- import { Expression } from "@prisma-next/sql-relational-core/expression";
3
+ import { Expression, RawCodecInferer } from "@prisma-next/sql-relational-core/expression";
4
4
  import { SqlStorage } from "@prisma-next/sql-contract/types";
5
+ import { Contract } from "@prisma-next/contract/types";
5
6
  import { CodecRef } from "@prisma-next/framework-components/codec";
6
7
  import { SqlOperationEntry } from "@prisma-next/sql-operations";
7
- import { Contract } from "@prisma-next/contract/types";
8
8
  import { ExecutionContext } from "@prisma-next/sql-relational-core/query-lane-context";
9
9
 
10
10
  //#region src/runtime/expression-impl.d.ts
@@ -25,12 +25,13 @@ declare class ExpressionImpl<T extends ScopeField = ScopeField> implements Expre
25
25
  declare function createFieldProxy<S extends Scope>(scope: S): FieldProxy<S>;
26
26
  //#endregion
27
27
  //#region src/runtime/functions.d.ts
28
- declare function createFunctions<QC extends QueryContext>(operations: Readonly<Record<string, SqlOperationEntry>>): Functions<QC>;
29
- declare function createAggregateFunctions<QC extends QueryContext>(operations: Readonly<Record<string, SqlOperationEntry>>): AggregateFunctions<QC>;
28
+ declare function createFunctions<QC extends QueryContext>(operations: Readonly<Record<string, SqlOperationEntry>>, rawCodecInferer: RawCodecInferer): Functions<QC>;
29
+ declare function createAggregateFunctions<QC extends QueryContext>(operations: Readonly<Record<string, SqlOperationEntry>>, rawCodecInferer: RawCodecInferer): AggregateFunctions<QC>;
30
30
  //#endregion
31
31
  //#region src/runtime/sql.d.ts
32
32
  interface SqlOptions<C extends Contract<SqlStorage> & TableProxyContract> {
33
33
  readonly context: ExecutionContext<C>;
34
+ readonly rawCodecInferer: RawCodecInferer;
34
35
  }
35
36
  declare function sql<C extends Contract<SqlStorage> & TableProxyContract>(options: SqlOptions<C>): Db<C>;
36
37
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/runtime/expression-impl.ts","../../src/runtime/field-proxy.ts","../../src/runtime/functions.ts","../../src/runtime/sql.ts"],"mappings":";;;;;;;;;;;;;;;cAUa,cAAA,WAAyB,UAAA,GAAa,UAAA,aAAuB,UAAA,CAAW,CAAA;EAAA,iBAClE,GAAA;EAAA,SACR,UAAA,EAAY,CAAA;EAAA,SACZ,KAAA,EAAO,QAAA;cAEJ,GAAA,EAAK,aAAA,EAAe,UAAA,EAAY,CAAA,EAAG,KAAA,GAAQ,QAAA;EAMvD,QAAA,CAAA,GAAY,aAAA;AAAA;;;iBChBE,gBAAA,WAA2B,KAAA,CAAA,CAAO,KAAA,EAAO,CAAA,GAAI,UAAA,CAAW,CAAA;;;iBC8KxD,eAAA,YAA2B,YAAA,CAAA,CACzC,UAAA,EAAY,QAAA,CAAS,MAAA,SAAe,iBAAA,KACnC,SAAA,CAAU,EAAA;AAAA,iBAeG,wBAAA,YAAoC,YAAA,CAAA,CAClD,UAAA,EAAY,QAAA,CAAS,MAAA,SAAe,iBAAA,KACnC,kBAAA,CAAmB,EAAA;;;UC/LL,UAAA,WAAqB,QAAA,CAAS,UAAA,IAAc,kBAAA;EAAA,SAClD,OAAA,EAAS,gBAAA,CAAiB,CAAA;AAAA;AAAA,iBAkBrB,GAAA,WAAc,QAAA,CAAS,UAAA,IAAc,kBAAA,CAAA,CACnD,OAAA,EAAS,UAAA,CAAW,CAAA,IACnB,EAAA,CAAG,CAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/runtime/expression-impl.ts","../../src/runtime/field-proxy.ts","../../src/runtime/functions.ts","../../src/runtime/sql.ts"],"mappings":";;;;;;;;;;;;;;;cAUa,cAAA,WAAyB,UAAA,GAAa,UAAA,aAAuB,UAAA,CAAW,CAAA;EAAA,iBAClE,GAAA;EAAA,SACR,UAAA,EAAY,CAAA;EAAA,SACZ,KAAA,EAAO,QAAA;cAEJ,GAAA,EAAK,aAAA,EAAe,UAAA,EAAY,CAAA,EAAG,KAAA,GAAQ,QAAA;EAMvD,QAAA,CAAA,GAAY,aAAA;AAAA;;;iBChBE,gBAAA,WAA2B,KAAA,CAAA,CAAO,KAAA,EAAO,CAAA,GAAI,UAAA,CAAW,CAAA;;;iBCgLxD,eAAA,YAA2B,YAAA,CAAA,CACzC,UAAA,EAAY,QAAA,CAAS,MAAA,SAAe,iBAAA,IACpC,eAAA,EAAiB,eAAA,GAChB,SAAA,CAAU,EAAA;AAAA,iBAgBG,wBAAA,YAAoC,YAAA,CAAA,CAClD,UAAA,EAAY,QAAA,CAAS,MAAA,SAAe,iBAAA,IACpC,eAAA,EAAiB,eAAA,GAChB,kBAAA,CAAmB,EAAA;;;UCnML,UAAA,WAAqB,QAAA,CAAS,UAAA,IAAc,kBAAA;EAAA,SAClD,OAAA,EAAS,gBAAA,CAAiB,CAAA;EAAA,SAC1B,eAAA,EAAiB,eAAA;AAAA;AAAA,iBAkBZ,GAAA,WAAc,QAAA,CAAS,UAAA,IAAc,kBAAA,CAAA,CACnD,OAAA,EAAS,UAAA,CAAW,CAAA,IACnB,EAAA,CAAG,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { AggregateExpr, AndExpr, BinaryExpr, ColumnRef, DeleteAst, DerivedTableSource, ExistsExpr, IdentifierRef, InsertAst, JoinAst, ListExpression, LiteralExpr, NullCheckExpr, OrExpr, OrderByItem, ParamRef, ProjectionItem, SelectAst, SubqueryExpr, TableSource, UpdateAst, collectOrderedParamRefs } from "@prisma-next/sql-relational-core/ast";
2
- import { codecOf, toExpr } from "@prisma-next/sql-relational-core/expression";
2
+ import { codecOf, createRawSql, toExpr } from "@prisma-next/sql-relational-core/expression";
3
3
  import { codecRefForStorageColumn } from "@prisma-next/sql-relational-core/codec-descriptor-registry";
4
4
  import { assertAnnotationsApplicable } from "@prisma-next/framework-components/runtime";
5
5
  //#region src/runtime/expression-impl.ts
@@ -107,7 +107,7 @@ function numericAgg(fn, expr) {
107
107
  nullable: true
108
108
  });
109
109
  }
110
- function createBuiltinFunctions() {
110
+ function createBuiltinFunctions(rawCodecInferer) {
111
111
  return {
112
112
  eq: (a, b) => eq(a, b),
113
113
  ne: (a, b) => ne(a, b),
@@ -120,7 +120,8 @@ function createBuiltinFunctions() {
120
120
  exists: (subquery) => boolExpr(ExistsExpr.exists(subquery.buildAst())),
121
121
  notExists: (subquery) => boolExpr(ExistsExpr.notExists(subquery.buildAst())),
122
122
  in: (expr, valuesOrSubquery) => inOrNotIn(expr, valuesOrSubquery, "in"),
123
- notIn: (expr, valuesOrSubquery) => inOrNotIn(expr, valuesOrSubquery, "notIn")
123
+ notIn: (expr, valuesOrSubquery) => inOrNotIn(expr, valuesOrSubquery, "notIn"),
124
+ raw: createRawSql(rawCodecInferer)
124
125
  };
125
126
  }
126
127
  function createAggregateOnlyFunctions() {
@@ -138,17 +139,16 @@ function createAggregateOnlyFunctions() {
138
139
  max: (expr) => numericAgg("max", expr)
139
140
  };
140
141
  }
141
- function createFunctions(operations) {
142
- const builtins = createBuiltinFunctions();
142
+ function createFunctions(operations, rawCodecInferer) {
143
+ const builtins = createBuiltinFunctions(rawCodecInferer);
143
144
  return new Proxy({}, { get(_target, prop) {
144
- const builtin = builtins[prop];
145
- if (builtin) return builtin;
145
+ if (Object.hasOwn(builtins, prop)) return builtins[prop];
146
146
  const op = operations[prop];
147
147
  if (op) return op.impl;
148
148
  } });
149
149
  }
150
- function createAggregateFunctions(operations) {
151
- const baseFns = createFunctions(operations);
150
+ function createAggregateFunctions(operations, rawCodecInferer) {
151
+ const baseFns = createFunctions(operations, rawCodecInferer);
152
152
  const aggregates = createAggregateOnlyFunctions();
153
153
  return new Proxy({}, { get(_target, prop) {
154
154
  const agg = aggregates[prop];
@@ -157,7 +157,7 @@ function createAggregateFunctions(operations) {
157
157
  } });
158
158
  }
159
159
  //#endregion
160
- //#region ../../../1-framework/0-foundation/utils/dist/defined-BYcWqtXq.mjs
160
+ //#region ../../../1-framework/0-foundation/utils/dist/defined-BnXRnErx.mjs
161
161
  /**
162
162
  * Returns an object with the key/value if value is defined, otherwise an empty object.
163
163
  *
@@ -348,7 +348,7 @@ function resolveSelectArgs(args, scope, ctx) {
348
348
  if (typeof args[0] === "string" && typeof args[1] === "function") {
349
349
  const alias = args[0];
350
350
  const exprFn = args[1];
351
- const fns = createAggregateFunctions(ctx.queryOperationTypes);
351
+ const fns = createAggregateFunctions(ctx.queryOperationTypes, ctx.rawCodecInferer);
352
352
  const result = exprFn(createFieldProxy(scope), fns);
353
353
  const field = result.returnType;
354
354
  projections.push(ProjectionItem.of(alias, result.buildAst(), field.codec));
@@ -360,7 +360,7 @@ function resolveSelectArgs(args, scope, ctx) {
360
360
  }
361
361
  if (typeof args[0] === "function") {
362
362
  const callbackFn = args[0];
363
- const fns = createAggregateFunctions(ctx.queryOperationTypes);
363
+ const fns = createAggregateFunctions(ctx.queryOperationTypes, ctx.rawCodecInferer);
364
364
  const record = callbackFn(createFieldProxy(scope), fns);
365
365
  for (const [key, expr] of Object.entries(record)) {
366
366
  const field = expr.returnType;
@@ -383,7 +383,7 @@ function resolveOrderBy(arg, options, scope, rowFields, ctx, useAggregateFns) {
383
383
  }
384
384
  if (typeof arg === "function") {
385
385
  const combined = orderByScopeOf(scope, rowFields);
386
- const fns = useAggregateFns ? createAggregateFunctions(ctx.queryOperationTypes) : createFunctions(ctx.queryOperationTypes);
386
+ const fns = useAggregateFns ? createAggregateFunctions(ctx.queryOperationTypes, ctx.rawCodecInferer) : createFunctions(ctx.queryOperationTypes, ctx.rawCodecInferer);
387
387
  const result = arg(createFieldProxy(combined), fns);
388
388
  return dir === "asc" ? OrderByItem.asc(result.buildAst()) : OrderByItem.desc(result.buildAst());
389
389
  }
@@ -399,7 +399,7 @@ function resolveGroupBy(args, scope, rowFields, ctx) {
399
399
  }
400
400
  if (typeof args[0] === "function") {
401
401
  const combined = orderByScopeOf(scope, rowFields);
402
- const fns = createFunctions(ctx.queryOperationTypes);
402
+ const fns = createFunctions(ctx.queryOperationTypes, ctx.rawCodecInferer);
403
403
  return [args[0](createFieldProxy(combined), fns).buildAst()];
404
404
  }
405
405
  throw new Error("Invalid groupBy arguments");
@@ -407,7 +407,7 @@ function resolveGroupBy(args, scope, rowFields, ctx) {
407
407
  function resolveDistinctOn(args, scope, rowFields, ctx) {
408
408
  if (args.length === 1 && typeof args[0] === "function") {
409
409
  const combined = orderByScopeOf(scope, rowFields);
410
- const fns = createFunctions(ctx.queryOperationTypes);
410
+ const fns = createFunctions(ctx.queryOperationTypes, ctx.rawCodecInferer);
411
411
  return [args[0](createFieldProxy(combined), fns).buildAst()];
412
412
  }
413
413
  const combined = orderByScopeOf(scope, rowFields);
@@ -503,7 +503,7 @@ var SelectQueryImpl = class SelectQueryImpl extends QueryBase {
503
503
  }), this.ctx);
504
504
  }
505
505
  where(expr) {
506
- const result = expr(createFieldProxy(this.state.scope), createFunctions(this.ctx.queryOperationTypes));
506
+ const result = expr(createFieldProxy(this.state.scope), createFunctions(this.ctx.queryOperationTypes, this.ctx.rawCodecInferer));
507
507
  return new SelectQueryImpl(cloneState(this.state, { where: [...this.state.where, result.buildAst()] }), this.ctx);
508
508
  }
509
509
  orderBy(arg, options) {
@@ -517,7 +517,7 @@ var GroupedQueryImpl = class GroupedQueryImpl extends QueryBase {
517
517
  }
518
518
  having(expr) {
519
519
  const combined = orderByScopeOf(this.state.scope, this.state.rowFields);
520
- const fns = createAggregateFunctions(this.ctx.queryOperationTypes);
520
+ const fns = createAggregateFunctions(this.ctx.queryOperationTypes, this.ctx.rawCodecInferer);
521
521
  const result = expr(createFieldProxy(combined), fns);
522
522
  return new GroupedQueryImpl(cloneState(this.state, { having: result.buildAst() }), this.ctx);
523
523
  }
@@ -571,7 +571,7 @@ var JoinedTablesImpl = class JoinedTablesImpl extends BuilderBase {
571
571
  return this.#addJoin(other, "full", targetScope, on);
572
572
  }
573
573
  #addJoin(other, joinType, resultScope, onExpr) {
574
- const onResult = onExpr(createFieldProxy(mergeScopes(this.#state.scope, other.getJoinOuterScope())), createFunctions(this.ctx.queryOperationTypes));
574
+ const onResult = onExpr(createFieldProxy(mergeScopes(this.#state.scope, other.getJoinOuterScope())), createFunctions(this.ctx.queryOperationTypes, this.ctx.rawCodecInferer));
575
575
  const joinAst = new JoinAst(joinType, other.buildAst(), onResult.buildAst());
576
576
  return new JoinedTablesImpl(cloneState(this.#state, {
577
577
  joins: [...this.#state.joins, joinAst],
@@ -641,11 +641,11 @@ function buildParamValues(values, table, tableName, op, ctx) {
641
641
  function buildReturningProjections(tableName, columns, rowFields) {
642
642
  return columns.map((col) => ProjectionItem.of(col, ColumnRef.of(tableName, col), rowFields[col]?.codec));
643
643
  }
644
- function evaluateWhere(whereCallback, scope, queryOperationTypes) {
645
- return whereCallback(createFieldProxy(scope), createFunctions(queryOperationTypes)).buildAst();
644
+ function evaluateWhere(whereCallback, scope, queryOperationTypes, rawCodecInferer) {
645
+ return whereCallback(createFieldProxy(scope), createFunctions(queryOperationTypes, rawCodecInferer)).buildAst();
646
646
  }
647
- function evaluateUpdateCallback(callback, scope, queryOperationTypes) {
648
- const result = callback(createFieldProxy(scope), createFunctions(queryOperationTypes));
647
+ function evaluateUpdateCallback(callback, scope, queryOperationTypes, rawCodecInferer) {
648
+ const result = callback(createFieldProxy(scope), createFunctions(queryOperationTypes, rawCodecInferer));
649
649
  const set = {};
650
650
  for (const [col, expr] of Object.entries(result)) if (expr !== void 0) set[col] = expr.buildAst();
651
651
  return set;
@@ -726,7 +726,7 @@ var UpdateQueryImpl = class UpdateQueryImpl extends BuilderBase {
726
726
  this.#annotations = annotations;
727
727
  }
728
728
  where(expr) {
729
- const result = expr(createFieldProxy(this.#scope), createFunctions(this.ctx.queryOperationTypes));
729
+ const result = expr(createFieldProxy(this.#scope), createFunctions(this.ctx.queryOperationTypes, this.ctx.rawCodecInferer));
730
730
  return new UpdateQueryImpl(this.#tableName, this.#scope, this.#setExpressions, this.ctx, [...this.#whereExprs, result.buildAst()], this.#returningColumns, this.#rowFields, this.#annotations);
731
731
  }
732
732
  returning = this._gate({ sql: { returning: true } }, "returning", (...columns) => {
@@ -788,7 +788,7 @@ var DeleteQueryImpl = class DeleteQueryImpl extends BuilderBase {
788
788
  return new DeleteQueryImpl(this.#tableName, this.#scope, this.ctx, this.#whereCallbacks, this.#returningColumns, this.#rowFields, mergeWriteAnnotations(this.#annotations, annotations));
789
789
  }
790
790
  build() {
791
- const whereExpr = combineWhereExprs(this.#whereCallbacks.map((cb) => evaluateWhere(cb, this.#scope, this.ctx.queryOperationTypes)));
791
+ const whereExpr = combineWhereExprs(this.#whereCallbacks.map((cb) => evaluateWhere(cb, this.#scope, this.ctx.queryOperationTypes, this.ctx.rawCodecInferer)));
792
792
  let ast = DeleteAst.from(TableSource.named(this.#tableName)).withWhere(whereExpr);
793
793
  if (this.#returningColumns.length > 0) ast = ast.withReturning(buildReturningProjections(this.#tableName, this.#returningColumns, this.#rowFields));
794
794
  return buildQueryPlan(ast, this.ctx, this.#annotations);
@@ -846,7 +846,7 @@ var TableProxyImpl = class TableProxyImpl extends BuilderBase {
846
846
  }
847
847
  update(setOrCallback) {
848
848
  if (typeof setOrCallback === "function") {
849
- const setExpressions = buildSetExpressions(evaluateUpdateCallback(setOrCallback, this.#scope, this.ctx.queryOperationTypes), this.#table, this.#tableName, "update", this.ctx);
849
+ const setExpressions = buildSetExpressions(evaluateUpdateCallback(setOrCallback, this.#scope, this.ctx.queryOperationTypes, this.ctx.rawCodecInferer), this.#table, this.#tableName, "update", this.ctx);
850
850
  return new UpdateQueryImpl(this.#tableName, this.#scope, setExpressions, this.ctx);
851
851
  }
852
852
  const setExpressions = buildParamValues(setOrCallback, this.#table, this.#tableName, "update", this.ctx);
@@ -868,14 +868,15 @@ function findTableAcrossNamespaces(storage, name) {
868
868
  }
869
869
  }
870
870
  function sql(options) {
871
- const { context } = options;
871
+ const { context, rawCodecInferer } = options;
872
872
  const ctx = {
873
873
  capabilities: context.contract.capabilities,
874
874
  queryOperationTypes: context.queryOperations.entries(),
875
875
  target: context.contract.target ?? "unknown",
876
876
  storageHash: context.contract.storage.storageHash ?? "unknown",
877
877
  storage: context.contract.storage,
878
- applyMutationDefaults: (options) => context.applyMutationDefaults(options)
878
+ applyMutationDefaults: (options) => context.applyMutationDefaults(options),
879
+ rawCodecInferer
879
880
  };
880
881
  return new Proxy({}, { get(_target, prop) {
881
882
  const table = findTableAcrossNamespaces(context.contract.storage, prop);