@prisma-next/sql-builder 0.5.0-dev.6 → 0.5.0-dev.60

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,28 +1,18 @@
1
- import * as _prisma_next_sql_relational_core_ast0 from "@prisma-next/sql-relational-core/ast";
2
1
  import { AnyFromSource, SelectAst } from "@prisma-next/sql-relational-core/ast";
2
+ import { CodecExpression, Expression as Expression$1, ScopeField } from "@prisma-next/sql-relational-core/expression";
3
3
  import { ExtractCodecTypes, ExtractFieldInputTypes, ExtractFieldOutputTypes, ExtractQueryOperationTypes, QueryOperationTypesBase, StorageTable, StorageTable as StorageTable$1 } from "@prisma-next/sql-contract/types";
4
4
  import { SqlQueryPlan } from "@prisma-next/sql-relational-core/plan";
5
5
 
6
6
  //#region src/scope.d.ts
7
- type GatedMethod<Capabilities, Required, Method> = Capabilities extends Required ? Method : never;
8
7
  type CodecTypesBase = Record<string, {
9
8
  readonly input: unknown;
10
9
  readonly output: unknown;
11
10
  }>;
12
- declare const ExpressionType: unique symbol;
11
+ type GatedMethod<Capabilities, Required, Method> = Capabilities extends Required ? Method : never;
13
12
  declare const JoinOuterScope: unique symbol;
14
13
  declare const SubqueryMarker: unique symbol;
15
- type Expand<T$1> = { [K in keyof T$1]: T$1[K] } & unknown;
14
+ type Expand<T> = { [K in keyof T]: T[K] } & unknown;
16
15
  type EmptyRow = Record<never, ScopeField>;
17
- type ScopeField = {
18
- codecId: string;
19
- nullable: boolean;
20
- };
21
- type TraitField = {
22
- traits: readonly string[];
23
- nullable: boolean;
24
- };
25
- type FieldSpec = ScopeField | TraitField;
26
16
  type ScopeTable = Record<string, ScopeField>;
27
17
  type Scope = {
28
18
  topLevel: ScopeTable;
@@ -40,9 +30,9 @@ type DefaultScope<Name$1 extends string, Table extends StorageTable$1> = {
40
30
  topLevel: StorageTableToScopeTable<Table>;
41
31
  namespaces: { [K in Name$1]: StorageTableToScopeTable<Table> };
42
32
  };
43
- type StorageTableToScopeTable<T$1 extends StorageTable$1> = { [K in keyof T$1['columns']]: {
44
- codecId: T$1['columns'][K]['codecId'];
45
- nullable: T$1['columns'][K]['nullable'];
33
+ type StorageTableToScopeTable<T extends StorageTable$1> = { [K in keyof T['columns']]: {
34
+ codecId: T['columns'][K]['codecId'];
35
+ nullable: T['columns'][K]['nullable'];
46
36
  } };
47
37
  type MergeScopes<A extends Scope, B extends Scope> = {
48
38
  topLevel: Expand<Omit<A['topLevel'], keyof B['topLevel']> & Omit<B['topLevel'], keyof A['topLevel']>>;
@@ -73,22 +63,15 @@ type QueryContext = {
73
63
  };
74
64
  //#endregion
75
65
  //#region src/expression.d.ts
76
- type Expression<T$1 extends FieldSpec> = {
77
- [ExpressionType]: T$1;
78
- buildAst(): _prisma_next_sql_relational_core_ast0.AnyExpression;
79
- };
80
- type WithField<Source, Field extends ScopeField, Alias extends string> = Expand<Source & { [K in Alias]: Field }>;
81
- type WithFields<Source, FromScope extends ScopeTable, Columns extends readonly (keyof FromScope)[]> = Expand<Source & Pick<FromScope, Columns[number]>>;
82
- type ExtractScopeFields<T$1 extends Record<string, Expression<ScopeField>>> = { [K in keyof T$1]: T$1[K] extends Expression<infer F extends ScopeField> ? F : never };
83
- type FieldProxy<AvailableScope extends Scope> = { [K in keyof AvailableScope['topLevel']]: Expression<AvailableScope['topLevel'][K]> } & { [TableName in keyof AvailableScope['namespaces']]: { [K in keyof AvailableScope['namespaces'][TableName]]: Expression<AvailableScope['namespaces'][TableName][K]> } };
84
- type ExpressionOrValue<T$1 extends ScopeField, CT extends Record<string, {
85
- readonly input: unknown;
86
- }>> = Expression<T$1> | (T$1['codecId'] extends keyof CT ? CT[T$1['codecId']]['input'] : never);
87
66
  type BooleanCodecType = {
88
67
  codecId: 'pg/bool@1';
89
68
  nullable: boolean;
90
69
  };
91
- type ExpressionBuilder<AvailableScope extends Scope, QC extends QueryContext> = (fields: FieldProxy<AvailableScope>, fns: Functions<QC>) => Expression<BooleanCodecType>;
70
+ type WithField<Source, Field extends ScopeField, Alias extends string> = Expand<Source & { [K in Alias]: Field }>;
71
+ type WithFields<Source, FromScope extends ScopeTable, Columns extends readonly (keyof FromScope)[]> = Expand<Source & Pick<FromScope, Columns[number]>>;
72
+ type ExtractScopeFields<T extends Record<string, Expression$1<ScopeField>>> = { [K in keyof T]: T[K] extends Expression$1<infer F extends ScopeField> ? F : never };
73
+ type FieldProxy<AvailableScope extends Scope> = { [K in keyof AvailableScope['topLevel']]: Expression$1<AvailableScope['topLevel'][K]> } & { [TableName in keyof AvailableScope['namespaces']]: { [K in keyof AvailableScope['namespaces'][TableName]]: Expression$1<AvailableScope['namespaces'][TableName][K]> } };
74
+ type ExpressionBuilder<AvailableScope extends Scope, QC extends QueryContext> = (fields: FieldProxy<AvailableScope>, fns: Functions<QC>) => Expression$1<BooleanCodecType>;
92
75
  type OrderByDirection = 'asc' | 'desc';
93
76
  type OrderByNulls = 'first' | 'last';
94
77
  type OrderByOptions = {
@@ -99,105 +82,68 @@ type OrderByScope<AvailableScope extends Scope, RowType extends Record<string, S
99
82
  topLevel: Expand<AvailableScope['topLevel'] & RowType>;
100
83
  namespaces: AvailableScope['namespaces'];
101
84
  };
102
- type CodecIdsWithTrait<CT extends Record<string, {
103
- readonly input: unknown;
104
- }>, RequiredTraits extends readonly string[]> = { [K in keyof CT & string]: CT[K] extends {
105
- readonly traits: infer T;
106
- } ? [RequiredTraits[number]] extends [T] ? K : never : never }[keyof CT & string];
107
- type ResolveExtArg<Arg, CT extends Record<string, {
108
- readonly input: unknown;
109
- }>> = Arg extends {
110
- readonly codecId: infer CId extends string;
111
- readonly nullable: infer N extends boolean;
112
- } ? ExpressionOrValue<{
113
- codecId: CId;
114
- nullable: N;
115
- }, CT> : Arg extends {
116
- readonly traits: infer T extends readonly string[];
117
- readonly nullable: infer N extends boolean;
118
- } ? ExpressionOrValue<{
119
- codecId: CodecIdsWithTrait<CT, T>;
120
- nullable: N;
121
- }, CT> : never;
122
- type ExtensionFunctionArgs<Args extends readonly unknown[], CT extends Record<string, {
123
- readonly input: unknown;
124
- }>> = { [I in keyof Args]: ResolveExtArg<Args[I], CT> };
125
- type DeriveExtFunctions<OT extends QueryOperationTypesBase, CT extends Record<string, {
126
- readonly input: unknown;
127
- }>> = { [K in keyof OT]: (...args: ExtensionFunctionArgs<OT[K]['args'], CT>) => Expression<OT[K]['returns']> };
85
+ type DeriveExtFunctions<OT extends QueryOperationTypesBase> = { [K in keyof OT]: OT[K]['impl'] };
128
86
  type BuiltinFunctions<CT extends Record<string, {
129
87
  readonly input: unknown;
130
88
  }>> = {
131
- eq: <CodecId extends string>(a: ExpressionOrValue<{
132
- codecId: CodecId;
133
- nullable: boolean;
134
- }, CT> | null, b: ExpressionOrValue<{
135
- codecId: CodecId;
136
- nullable: boolean;
137
- }, CT> | null) => Expression<BooleanCodecType>;
138
- ne: <T$1 extends ScopeField>(a: ExpressionOrValue<T$1, CT> | null, b: ExpressionOrValue<T$1, CT> | null) => Expression<BooleanCodecType>;
139
- gt: <T$1 extends ScopeField>(a: ExpressionOrValue<T$1, CT>, b: ExpressionOrValue<T$1, CT>) => Expression<BooleanCodecType>;
140
- gte: <T$1 extends ScopeField>(a: ExpressionOrValue<T$1, CT>, b: ExpressionOrValue<T$1, CT>) => Expression<BooleanCodecType>;
141
- lt: <T$1 extends ScopeField>(a: ExpressionOrValue<T$1, CT>, b: ExpressionOrValue<T$1, CT>) => Expression<BooleanCodecType>;
142
- lte: <T$1 extends ScopeField>(a: ExpressionOrValue<T$1, CT>, b: ExpressionOrValue<T$1, CT>) => Expression<BooleanCodecType>;
143
- and: (...ands: ExpressionOrValue<BooleanCodecType, CT>[]) => Expression<BooleanCodecType>;
144
- or: (...ors: ExpressionOrValue<BooleanCodecType, CT>[]) => Expression<BooleanCodecType>;
145
- exists: (subquery: Subquery<Record<string, ScopeField>>) => Expression<BooleanCodecType>;
146
- notExists: (subquery: Subquery<Record<string, ScopeField>>) => Expression<BooleanCodecType>;
89
+ eq: <CodecId extends string>(a: CodecExpression<CodecId, boolean, CT> | null, b: CodecExpression<CodecId, boolean, CT> | null) => Expression$1<BooleanCodecType>;
90
+ ne: <CodecId extends string, N extends boolean>(a: CodecExpression<CodecId, N, CT> | null, b: CodecExpression<CodecId, N, CT> | null) => Expression$1<BooleanCodecType>;
91
+ gt: <CodecId extends string, N extends boolean>(a: CodecExpression<CodecId, N, CT>, b: CodecExpression<CodecId, N, CT>) => Expression$1<BooleanCodecType>;
92
+ gte: <CodecId extends string, N extends boolean>(a: CodecExpression<CodecId, N, CT>, b: CodecExpression<CodecId, N, CT>) => Expression$1<BooleanCodecType>;
93
+ lt: <CodecId extends string, N extends boolean>(a: CodecExpression<CodecId, N, CT>, b: CodecExpression<CodecId, N, CT>) => Expression$1<BooleanCodecType>;
94
+ lte: <CodecId extends string, N extends boolean>(a: CodecExpression<CodecId, N, CT>, b: CodecExpression<CodecId, N, CT>) => Expression$1<BooleanCodecType>;
95
+ and: (...ands: CodecExpression<'pg/bool@1', boolean, CT>[]) => Expression$1<BooleanCodecType>;
96
+ or: (...ors: CodecExpression<'pg/bool@1', boolean, CT>[]) => Expression$1<BooleanCodecType>;
97
+ exists: (subquery: Subquery<Record<string, ScopeField>>) => Expression$1<BooleanCodecType>;
98
+ notExists: (subquery: Subquery<Record<string, ScopeField>>) => Expression$1<BooleanCodecType>;
147
99
  in: {
148
- <CodecId extends string>(expr: Expression<{
100
+ <CodecId extends string>(expr: Expression$1<{
149
101
  codecId: CodecId;
150
102
  nullable: boolean;
151
103
  }>, subquery: Subquery<Record<string, {
152
104
  codecId: CodecId;
153
105
  nullable: boolean;
154
- }>>): Expression<BooleanCodecType>;
155
- <CodecId extends string>(expr: Expression<{
156
- codecId: CodecId;
157
- nullable: boolean;
158
- }>, values: Array<ExpressionOrValue<{
106
+ }>>): Expression$1<BooleanCodecType>;
107
+ <CodecId extends string>(expr: Expression$1<{
159
108
  codecId: CodecId;
160
109
  nullable: boolean;
161
- }, CT>>): Expression<BooleanCodecType>;
110
+ }>, values: Array<CodecExpression<CodecId, boolean, CT>>): Expression$1<BooleanCodecType>;
162
111
  };
163
112
  notIn: {
164
- <CodecId extends string>(expr: Expression<{
113
+ <CodecId extends string>(expr: Expression$1<{
165
114
  codecId: CodecId;
166
115
  nullable: boolean;
167
116
  }>, subquery: Subquery<Record<string, {
168
117
  codecId: CodecId;
169
118
  nullable: boolean;
170
- }>>): Expression<BooleanCodecType>;
171
- <CodecId extends string>(expr: Expression<{
172
- codecId: CodecId;
173
- nullable: boolean;
174
- }>, values: Array<ExpressionOrValue<{
119
+ }>>): Expression$1<BooleanCodecType>;
120
+ <CodecId extends string>(expr: Expression$1<{
175
121
  codecId: CodecId;
176
122
  nullable: boolean;
177
- }, CT>>): Expression<BooleanCodecType>;
123
+ }>, values: Array<CodecExpression<CodecId, boolean, CT>>): Expression$1<BooleanCodecType>;
178
124
  };
179
125
  };
180
- type Functions<QC extends QueryContext> = BuiltinFunctions<QC['codecTypes']> & DeriveExtFunctions<QC['queryOperationTypes'], QC['codecTypes']>;
126
+ type Functions<QC extends QueryContext> = BuiltinFunctions<QC['codecTypes']> & DeriveExtFunctions<QC['queryOperationTypes']>;
181
127
  type CountField = {
182
128
  codecId: 'pg/int8@1';
183
129
  nullable: false;
184
130
  };
185
131
  type AggregateOnlyFunctions = {
186
- count: (expr?: Expression<ScopeField>) => Expression<CountField>;
187
- sum: <T$1 extends ScopeField>(expr: Expression<T$1>) => Expression<{
188
- codecId: T$1['codecId'];
132
+ count: (expr?: Expression$1<ScopeField>) => Expression$1<CountField>;
133
+ sum: <T extends ScopeField>(expr: Expression$1<T>) => Expression$1<{
134
+ codecId: T['codecId'];
189
135
  nullable: true;
190
136
  }>;
191
- avg: <T$1 extends ScopeField>(expr: Expression<T$1>) => Expression<{
192
- codecId: T$1['codecId'];
137
+ avg: <T extends ScopeField>(expr: Expression$1<T>) => Expression$1<{
138
+ codecId: T['codecId'];
193
139
  nullable: true;
194
140
  }>;
195
- min: <T$1 extends ScopeField>(expr: Expression<T$1>) => Expression<{
196
- codecId: T$1['codecId'];
141
+ min: <T extends ScopeField>(expr: Expression$1<T>) => Expression$1<{
142
+ codecId: T['codecId'];
197
143
  nullable: true;
198
144
  }>;
199
- max: <T$1 extends ScopeField>(expr: Expression<T$1>) => Expression<{
200
- codecId: T$1['codecId'];
145
+ max: <T extends ScopeField>(expr: Expression$1<T>) => Expression$1<{
146
+ codecId: T['codecId'];
201
147
  nullable: true;
202
148
  }>;
203
149
  };
@@ -207,7 +153,7 @@ type AggregateFunctions<QC extends QueryContext> = Functions<QC> & AggregateOnly
207
153
  type ResolveField<F$1 extends ScopeField, CodecTypes extends Record<string, {
208
154
  readonly output: unknown;
209
155
  }>> = F$1['codecId'] extends keyof CodecTypes ? F$1['nullable'] extends true ? CodecTypes[F$1['codecId']]['output'] | null : CodecTypes[F$1['codecId']]['output'] : unknown;
210
- type ApplyNullable<T$1, F$1 extends ScopeField> = F$1['nullable'] extends true ? T$1 | null : T$1;
156
+ type ApplyNullable<T, F$1 extends ScopeField> = F$1['nullable'] extends true ? T | null : T;
211
157
  type ResolveRow<Row extends Record<string, ScopeField>, CodecTypes extends Record<string, {
212
158
  readonly output: unknown;
213
159
  }>, PreResolved extends Record<string, unknown> = Record<string, never>> = Expand<{ -readonly [K in keyof Row]: string extends keyof PreResolved ? ResolveField<Row[K], CodecTypes> : K extends keyof PreResolved ? ApplyNullable<NonNullable<PreResolved[K & keyof PreResolved]>, Row[K]> : ResolveField<Row[K], CodecTypes> }>;
@@ -242,17 +188,17 @@ interface JoinedTables<QC extends QueryContext, AvailableScope extends Scope> ex
242
188
  //#region src/types/grouped-query.d.ts
243
189
  interface GroupedQuery<QC extends QueryContext, AvailableScope extends Scope, RowType extends Record<string, ScopeField>> extends Subquery<RowType>, WithPagination, WithDistinct, WithAlias<RowType>, WithBuild<QC, RowType> {
244
190
  groupBy(...fields: ((keyof RowType | keyof AvailableScope['topLevel']) & string)[]): GroupedQuery<QC, AvailableScope, RowType>;
245
- groupBy(expr: (fields: FieldProxy<OrderByScope<AvailableScope, RowType>>, fns: Functions<QC>) => Expression<ScopeField>): GroupedQuery<QC, AvailableScope, RowType>;
246
- having(expr: (fields: FieldProxy<OrderByScope<AvailableScope, RowType>>, fns: AggregateFunctions<QC>) => Expression<BooleanCodecType>): GroupedQuery<QC, AvailableScope, RowType>;
191
+ groupBy(expr: (fields: FieldProxy<OrderByScope<AvailableScope, RowType>>, fns: Functions<QC>) => Expression$1<ScopeField>): GroupedQuery<QC, AvailableScope, RowType>;
192
+ having(expr: (fields: FieldProxy<OrderByScope<AvailableScope, RowType>>, fns: AggregateFunctions<QC>) => Expression$1<BooleanCodecType>): GroupedQuery<QC, AvailableScope, RowType>;
247
193
  orderBy(field: (keyof RowType | keyof AvailableScope['topLevel']) & string, options?: OrderByOptions): GroupedQuery<QC, AvailableScope, RowType>;
248
- orderBy(expr: (fields: FieldProxy<OrderByScope<AvailableScope, RowType>>, fns: AggregateFunctions<QC>) => Expression<ScopeField>, options?: OrderByOptions): GroupedQuery<QC, AvailableScope, RowType>;
194
+ orderBy(expr: (fields: FieldProxy<OrderByScope<AvailableScope, RowType>>, fns: AggregateFunctions<QC>) => Expression$1<ScopeField>, options?: OrderByOptions): GroupedQuery<QC, AvailableScope, RowType>;
249
195
  distinctOn: GatedMethod<QC['capabilities'], {
250
196
  postgres: {
251
197
  distinctOn: true;
252
198
  };
253
199
  }, {
254
200
  (...fields: ((keyof RowType | keyof AvailableScope['topLevel']) & string)[]): GroupedQuery<QC, AvailableScope, RowType>;
255
- (expr: (fields: FieldProxy<OrderByScope<AvailableScope, RowType>>, fns: Functions<QC>) => Expression<ScopeField>): GroupedQuery<QC, AvailableScope, RowType>;
201
+ (expr: (fields: FieldProxy<OrderByScope<AvailableScope, RowType>>, fns: Functions<QC>) => Expression$1<ScopeField>): GroupedQuery<QC, AvailableScope, RowType>;
256
202
  }>;
257
203
  }
258
204
  //#endregion
@@ -260,16 +206,16 @@ interface GroupedQuery<QC extends QueryContext, AvailableScope extends Scope, Ro
260
206
  interface SelectQuery<QC extends QueryContext, AvailableScope extends Scope, RowType extends Record<string, ScopeField>> extends Subquery<RowType>, WithSelect<QC, AvailableScope, RowType>, WithPagination, WithDistinct, WithAlias<RowType>, WithBuild<QC, RowType> {
261
207
  where(expr: ExpressionBuilder<AvailableScope, QC>): SelectQuery<QC, AvailableScope, RowType>;
262
208
  orderBy(field: (keyof RowType | keyof AvailableScope['topLevel']) & string, options?: OrderByOptions): SelectQuery<QC, AvailableScope, RowType>;
263
- orderBy(expr: (fields: FieldProxy<OrderByScope<AvailableScope, RowType>>, fns: Functions<QC>) => Expression<ScopeField>, options?: OrderByOptions): SelectQuery<QC, AvailableScope, RowType>;
209
+ orderBy(expr: (fields: FieldProxy<OrderByScope<AvailableScope, RowType>>, fns: Functions<QC>) => Expression$1<ScopeField>, options?: OrderByOptions): SelectQuery<QC, AvailableScope, RowType>;
264
210
  groupBy(...fields: ((keyof RowType | keyof AvailableScope['topLevel']) & string)[]): GroupedQuery<QC, AvailableScope, RowType>;
265
- groupBy(expr: (fields: FieldProxy<OrderByScope<AvailableScope, RowType>>, fns: Functions<QC>) => Expression<ScopeField>): GroupedQuery<QC, AvailableScope, RowType>;
211
+ groupBy(expr: (fields: FieldProxy<OrderByScope<AvailableScope, RowType>>, fns: Functions<QC>) => Expression$1<ScopeField>): GroupedQuery<QC, AvailableScope, RowType>;
266
212
  distinctOn: GatedMethod<QC['capabilities'], {
267
213
  postgres: {
268
214
  distinctOn: true;
269
215
  };
270
216
  }, {
271
217
  (...fields: ((keyof RowType | keyof AvailableScope['topLevel']) & string)[]): SelectQuery<QC, AvailableScope, RowType>;
272
- (expr: (fields: FieldProxy<OrderByScope<AvailableScope, RowType>>, fns: Functions<QC>) => Expression<ScopeField>): SelectQuery<QC, AvailableScope, RowType>;
218
+ (expr: (fields: FieldProxy<OrderByScope<AvailableScope, RowType>>, fns: Functions<QC>) => Expression$1<ScopeField>): SelectQuery<QC, AvailableScope, RowType>;
273
219
  }>;
274
220
  }
275
221
  //#endregion
@@ -279,8 +225,8 @@ interface LateralBuilder<QC extends QueryContext, ParentScope extends Scope> {
279
225
  }
280
226
  interface WithSelect<QC extends QueryContext, AvailableScope extends Scope, RowType extends Record<string, ScopeField> = EmptyRow> {
281
227
  select<Columns extends (keyof AvailableScope['topLevel'] & string)[]>(...columns: Columns): SelectQuery<QC, AvailableScope, WithFields<RowType, AvailableScope['topLevel'], Columns>>;
282
- select<Alias extends string, Field extends ScopeField>(alias: Alias, expr: (fields: FieldProxy<AvailableScope>, fns: AggregateFunctions<QC>) => Expression<Field>): SelectQuery<QC, AvailableScope, WithField<RowType, Field, Alias>>;
283
- select<Result extends Record<string, Expression<ScopeField>>>(callback: (fields: FieldProxy<AvailableScope>, fns: AggregateFunctions<QC>) => Result): SelectQuery<QC, AvailableScope, Expand<RowType & ExtractScopeFields<Result>>>;
228
+ select<Alias extends string, Field extends ScopeField>(alias: Alias, expr: (fields: FieldProxy<AvailableScope>, fns: AggregateFunctions<QC>) => Expression$1<Field>): SelectQuery<QC, AvailableScope, WithField<RowType, Field, Alias>>;
229
+ select<Result extends Record<string, Expression$1<ScopeField>>>(callback: (fields: FieldProxy<AvailableScope>, fns: AggregateFunctions<QC>) => Result): SelectQuery<QC, AvailableScope, Expand<RowType & ExtractScopeFields<Result>>>;
284
230
  }
285
231
  interface WithJoin<QC extends QueryContext, AvailableScope extends Scope, Capabilities> {
286
232
  innerJoin<Other extends JoinSource<ScopeTable, string | never>>(other: Other, on: ExpressionBuilder<MergeScopes<AvailableScope, Other[typeof JoinOuterScope]>, QC>): JoinedTables<QC, MergeScopes<AvailableScope, Other[typeof JoinOuterScope]>>;
@@ -369,5 +315,5 @@ type TableProxyContract = {
369
315
  };
370
316
  type Db<C extends TableProxyContract> = { [Name in string & keyof C['storage']['tables']]: TableProxy<C, Name> };
371
317
  //#endregion
372
- export { Scope as _, GroupedQuery as a, UpdateQuery as c, Expression as d, FieldProxy as f, QueryContext as g, GatedMethod as h, SelectQuery as i, ResolveRow as l, ExpressionType as m, TableProxyContract as n, DeleteQuery as o, Functions as p, TableProxy as r, InsertQuery as s, Db as t, AggregateFunctions as u, ScopeField as v, Subquery as y };
373
- //# sourceMappingURL=db-Cggb4WvK.d.mts.map
318
+ export { ScopeField as _, GroupedQuery as a, UpdateQuery as c, Expression$1 as d, FieldProxy as f, Scope as g, QueryContext as h, SelectQuery as i, ResolveRow as l, GatedMethod as m, TableProxyContract as n, DeleteQuery as o, Functions as p, TableProxy as r, InsertQuery as s, Db as t, AggregateFunctions as u, Subquery as v };
319
+ //# sourceMappingURL=db-T7YxA-v6.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-T7YxA-v6.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"],"sourcesContent":[],"mappings":"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,EAAA,uBGmBW,KHnBX,EAAA,gBGoBI,MHpBJ,CAAA,MAAA,EGoBmB,UHpBnB,CAAA,CAAA,CAAA;EAAM,KAAA,CAAA,IAAA,EGsBN,iBHtBM,CGsBY,cHtBZ,EGsB4B,EHtB5B,CAAA,CAAA,EGsBkC,WHtBlC,CGsB8C,EHtB9C,EGsBkD,cHtBlD,EGsBkE,OHtBlE,CAAA;EAGR,SAAA,EGoBC,WHpBS,CGqBlB,EHrBkB,CAAA,cAAA,CAAA,EGsBlB,mBHtBkB,EAAA,CAAA,gBAAA,CAAA,MGuBM,cHvBN,CAAA,UAAA,CAAA,GAAA,MAAA,CAAA,EAAA,CAAA,CAAA,GAAA,OAAA,EGwBJ,OHxBI,EAAA,GGyBb,WHzBa,CGyBD,EHzBC,EGyBG,cHzBH,EGyBmB,UHzBnB,CGyB8B,QHzB9B,EGyBwC,cHzBxC,CAAA,UAAA,CAAA,EGyBoE,OHzBpE,CAAA,CAAA,CAAA;EAAa,KAAA,EAAA,EG2BxB,YH3BwB,CG2BX,UH3BW,CG2BA,OH3BA,EG2BS,EH3BT,CAAA,YAAA,CAAA,EG2B2B,EH3B3B,CAAA,2BAAA,CAAA,CAAA,CAAA;;AAGZ,UG2BN,WH3BM,CAAA,WG4BV,YH5BU,EAAA,uBG6BE,KH7BF,EAAA,gBG8BL,MH9BK,CAAA,MAAA,EG8BU,UH9BV,CAAA,CAAA,CAAA;EAAO,KAAA,CAAA,IAAA,EGgChB,iBHhCgB,CGgCE,cHhCF,EGgCkB,EHhClB,CAAA,CAAA,EGgCwB,WHhCxB,CGgCoC,EHhCpC,EGgCwC,cHhCxC,EGgCwD,OHhCxD,CAAA;EAAd,SAAA,EGiCH,WHjCG,CGkCZ,EHlCY,CAAA,cAAA,CAAA,EGmCZ,mBHnCY,EAAA,CAAA,gBAAA,CAAA,MGoCY,cHpCZ,CAAA,UAAA,CAAA,GAAA,MAAA,CAAA,EAAA,CAAA,CAAA,GAAA,OAAA,EGqCE,OHrCF,EAAA,GGsCP,WHtCO,CGsCK,EHtCL,EGsCS,cHtCT,EGsCyB,UHtCzB,CGsCoC,QHtCpC,EGsC8C,cHtC9C,CAAA,UAAA,CAAA,EGsC0E,OHtC1E,CAAA,CAAA,CAAA;EAFJ,KAAA,EAAA,EG0CD,YH1CC,CG0CY,UH1CZ,CG0CuB,OH1CvB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A,EO4BY,OP5BZ,CAAA,EO6BC,WP7BD,CO6Ba,EP7Bb,EO6BiB,cP7BjB,EO6BiC,UP7BjC,CO6B4C,OP7B5C,EO6BqD,cP7BrD,CAAA,UAAA,CAAA,EO6BiF,OP7BjF,CAAA,CAAA;EAAM,MAAA,CAAA,cAAA,MAAA,EAAA,cO+BmC,UP/BnC,CAAA,CAAA,KAAA,EOgCC,KPhCD,EAAA,IAAA,EAAA,CAAA,MAAA,EOiCS,UPjCT,COiCoB,cPjCpB,CAAA,EAAA,GAAA,EOiC0C,kBPjC1C,COiC6D,EPjC7D,CAAA,EAAA,GOiCqE,YPjCrE,COiCgF,KPjChF,CAAA,CAAA,EOkCL,WPlCK,COkCO,EPlCP,EOkCW,cPlCX,EOkC2B,SPlC3B,COkCqC,OPlCrC,EOkC8C,KPlC9C,EOkCqD,KPlCrD,CAAA,CAAA;EAGW,MAAA,CAAA,eOiCG,MPjC0B,CAAA,MAAA,EOiCX,YPjCW,COiCA,UPjCA,CAAA,CAAA,CAAA,CAAA,QAAA,EAAA,CAAA,MAAA,EOkC3B,UPlC2B,COkChB,cPlCgB,CAAA,EAAA,GAAA,EOkCM,kBPlCN,COkCyB,EPlCzB,CAAA,EAAA,GOkCiC,MPlCjC,CAAA,EOmC7C,WPnC6C,COmCjC,EPnCiC,EOmC7B,cPnC6B,EOmCb,MPnCa,COmCN,OPnCM,GOmCI,kBPnCJ,COmCuB,MPnCvB,CAAA,CAAA,CAAA;AAClD;AAEY,UOmCK,QPnCC,CAAA,WOmCmB,YPnCnB,EAAA,uBOmCwD,KPnCxD,EAAA,YAAA,CAAA,CAAA;EAAoB,SAAA,CAAA,cOoCZ,UPpCY,COoCD,UPpCC,EAAA,MAAA,GAAA,KAAA,CAAA,CAAA,CAAA,KAAA,EOqC3B,KPrC2B,EAAA,EAAA,EOsC9B,iBPtC8B,COsCZ,WPtCY,COsCA,cPtCA,EOsCgB,KPtChB,CAAA,OOsC6B,cPtC7B,CAAA,CAAA,EOsC+C,EPtC/C,CAAA,CAAA,EOuCjC,YPvCiC,COuCpB,EPvCoB,EOuChB,WPvCgB,COuCJ,cPvCI,EOuCY,KPvCZ,CAAA,OOuCyB,cPvCzB,CAAA,CAAA,CAAA;EAAI,aAAA,CAAA,cOyCZ,UPzCY,COyCD,UPzCC,EAAA,MAAA,GAAA,KAAA,CAAA,CAAA,CAAA,KAAA,EO0C/B,KP1C+B,EAAA,EAAA,EO2ClC,iBP3CkC,CO2ChB,WP3CgB,CO2CJ,cP3CI,EO2CY,KP3CZ,CAAA,OO2CyB,cP3CzB,CAAA,CAAA,EO2C2C,EP3C3C,CAAA,CAAA,EO4CrC,YP5CqC,CO4CxB,EP5CwB,EO4CpB,WP5CoB,CO4CR,cP5CQ,EO4CQ,aP5CR,CO4CsB,KP5CtB,CAAA,OO4CmC,cP5CnC,CAAA,CAAA,CAAA,CAAA;EAAE,cAAA,CAAA,cO8Cb,UP9Ca,CO8CF,UP9CE,EAAA,MAAA,GAAA,KAAA,CAAA,CAAA,CAAA,KAAA,EO+CjC,KP/CiC,EAAA,EAAA,EOgDpC,iBPhDoC,COgDlB,WPhDkB,COgDN,cPhDM,EOgDU,KPhDV,CAAA,OOgDuB,cPhDvB,CAAA,CAAA,EOgDyC,EPhDzC,CAAA,CAAA,EOiDvC,YPjDuC,COiD1B,EPjD0B,EOiDtB,WPjDsB,COiDV,aPjDU,COiDI,cPjDJ,CAAA,EOiDqB,KPjDrB,CAAA,OOiDkC,cPjDlC,CAAA,CAAA,CAAA;EAAC,aAAA,CAAA,cOmDf,UPnDe,COmDJ,UPnDI,EAAA,MAAA,GAAA,KAAA,CAAA,CAAA,CAAA,KAAA,EOoDlC,KPpDkC,EAAA,EAAA,EOqDrC,iBPrDqC,COqDnB,WPrDmB,COqDP,cPrDO,EOqDS,KPrDT,CAAA,OOqDsB,cPrDtB,CAAA,CAAA,EOqDwC,EPrDxC,CAAA,CAAA,EOsDxC,YPtDwC,COuDzC,EPvDyC,EOwDzC,WPxDyC,COwD7B,aPxD6B,COwDf,cPxDe,CAAA,EOwDE,aPxDF,COwDgB,KPxDhB,CAAA,OOwD6B,cPxD7B,CAAA,CAAA,CAAA,CAAA;EACjC,WAAQ,EO0DL,WP1DsB,CO2DjC,YP3DmB,EAAA;IAEX,GAAA,EAAA;MAEK,OAAA,EAAA,IAAA;IACL,CAAA;EACiB,CAAA,EAAA,CAAA,cAAA,MAAA,EAAA,mBOuDiB,MPvDjB,CAAA,MAAA,EOuDgC,UPvDhC,CAAA,CAAA,CAAA,KAAA,EOwDhB,KPxDgB,EAAA,OAAA,EAAA,CAAA,OAAA,EOyDJ,cPzDI,COyDW,EP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AA;CAAW;AACjC,UQ0EG,UR1EH,CAAA,UQ2EF,kBR3EE,EAAA,eAAA,MAAA,GAAA,MQ4EgB,CR5EhB,CAAA,SAAA,CAAA,CAAA,QAAA,CAAA,EAAA,cAAA,MAAA,GQ6EW,MR7EX,EAAA,uBQ8EW,KR9EX,GQ8EmB,YR9EnB,CQ8EgC,MR9EhC,EQ8EsC,CR9EtC,CAAA,SAAA,CAAA,CAAA,QAAA,CAAA,CQ8E6D,MR9E7D,CAAA,CAAA,EAAA,WQ+ED,YR/EC,GQ+Ec,YR/Ed,CQ+E2B,CR/E3B,EQ+E8B,MR/E9B,CAAA,CAAA,SQgFJ,URhFI,CQgFO,wBRhFP,CQgFgC,CRhFhC,CAAA,SAAA,CAAA,CAAA,QAAA,CAAA,CQgFuD,MRhFvD,CAAA,CAAA,EQgF+D,KRhF/D,CAAA,EQiFV,URjFU,CQiFC,ERjFD,EQiFK,cRjFL,EQiFqB,QRjFrB,CAAA,EQkFV,QRlFU,CQkFD,ERlFC,EQkFG,cRlFH,EQkFmB,CRlFnB,CAAA,cAAA,CAAA,CAAA,CAAA;EACD,EAAA,CAAA,iBAAA,MAAA,CAAA,CAAA,QAAA,EQmFC,QRnFD,CAAA,EQoFR,URpFQ,CQoFG,CRpFH,EQoFM,MRpFN,EQoFY,QRpFZ,EQoFsB,WRpFtB,CQoFkC,cRpFlC,EQoFkD,KRpFlD,EQoFyD,QRpFzD,CAAA,CAAA;EAAa,MAAA,CAAA,MAAA,EQuFd,oBRvFc,CQwFpB,CRxFoB,EQyFpB,CRzFoB,CAAA,SAAA,CAAA,CAAA,QAAA,CAAA,CQyFG,MRzFH,CAAA,EQ0FpB,MR1FoB,EQ2FpB,ER3FoB,CAAA,YAAA,CAAA,EQ4FpB,sBR5FoB,CQ4FG,CR5FH,CAAA,CAAA,CAAA,EQ8FrB,WR9FqB,CQ8FT,ER9FS,EQ8FL,cR9FK,EQ8FW,QR9FX,CAAA;EACZ,MAAA,CAAA,GAAA,EQgGL,oBRhGK,CQiGR,CRjGQ,EQkGR,CRlGQ,CAAA,SAAA,CAAA,CAAA,QAAA,CAAA,CQkGe,MRlGf,CAAA,EQmGR,MRnGQ,EQoGR,ERpGQ,CAAA,YAAA,CAAA,EQqGR,sBRrGQ,CQqGe,CRrGf,CAAA,CAAA,CAAA,EQuGT,WRvGS,CQuGG,ERvGH,EQuGO,cRvGP,EQuGuB,QRvGvB,CAAA;EAAa,MAAA,EAAA,EQyGf,WRzGe,CQyGH,ERzGG,EQyGC,cRzGD,EQyGiB,QRzGjB,CAAA;;;;KS7Cf,gBAAA,GAAmB,eAAe;KAElC,kBAAA;;qBAC2B,eAAe;ETA1C,CAAA;EAKA,SAAA,YAAW,ESJE,gBTIF;CAAmC;AAAqB,KSDnE,ETCmE,CAAA,USDtD,kBTCsD,CAAA,GAAA,WAC3E,MAAA,GAAA,MSDsB,CTCtB,CAAA,SAAA,CAAA,CAAA,QAAA,CAAA,GSD+C,UTC/C,CSD0D,CTC1D,ESD6D,ITC7D,CAAA,EAAM"}
@@ -1,2 +1,2 @@
1
- import { _ as Scope, a as GroupedQuery, c as UpdateQuery, d as Expression, g as QueryContext, h as GatedMethod, i as SelectQuery, l as ResolveRow, n as TableProxyContract, o as DeleteQuery, p as Functions, r as TableProxy, s as InsertQuery, t as Db, u as AggregateFunctions, v as ScopeField, y as Subquery } from "../db-Cggb4WvK.mjs";
1
+ import { _ as ScopeField, a as GroupedQuery, c as UpdateQuery, d as Expression, g as Scope, h as QueryContext, i as SelectQuery, l as ResolveRow, m as GatedMethod, n as TableProxyContract, o as DeleteQuery, p as Functions, r as TableProxy, s as InsertQuery, t as Db, u as AggregateFunctions, v as Subquery } from "../db-T7YxA-v6.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 TableProxyContract, type UpdateQuery };
package/dist/index.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { _ as Scope, a as GroupedQuery, c as UpdateQuery, d as Expression, g as QueryContext, h as GatedMethod, i as SelectQuery, l as ResolveRow, o as DeleteQuery, p as Functions, r as TableProxy, s as InsertQuery, t as Db, u as AggregateFunctions, v as ScopeField, y as Subquery } from "./db-Cggb4WvK.mjs";
1
+ import { _ as ScopeField, a as GroupedQuery, c as UpdateQuery, d as Expression, g as Scope, h as QueryContext, i as SelectQuery, l as ResolveRow, m as GatedMethod, o as DeleteQuery, p as Functions, r as TableProxy, s as InsertQuery, t as Db, u as AggregateFunctions, v as Subquery } from "./db-T7YxA-v6.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,5 +1,6 @@
1
- import { _ as Scope, d as Expression, f as FieldProxy, g as QueryContext, m as ExpressionType, p as Functions, t as Db, u as AggregateFunctions, v as ScopeField } from "../db-Cggb4WvK.mjs";
1
+ import { _ as ScopeField, f as FieldProxy, g as Scope, h as QueryContext, p as Functions, t as Db, u as AggregateFunctions } from "../db-T7YxA-v6.mjs";
2
2
  import { AnyExpression } from "@prisma-next/sql-relational-core/ast";
3
+ import { Expression } from "@prisma-next/sql-relational-core/expression";
3
4
  import { SqlStorage } from "@prisma-next/sql-contract/types";
4
5
  import { SqlOperationEntry } from "@prisma-next/sql-operations";
5
6
  import { Contract } from "@prisma-next/contract/types";
@@ -8,13 +9,13 @@ import { ExecutionContext } from "@prisma-next/sql-relational-core/query-lane-co
8
9
  //#region src/runtime/expression-impl.d.ts
9
10
  /**
10
11
  * Runtime wrapper around a relational-core AST expression node.
11
- * Carries ScopeField metadata (codecId, nullable) for plan generation.
12
+ * Carries ScopeField metadata (codecId, nullable) so aggregate-like
13
+ * combinators can propagate the input codec onto their result.
12
14
  */
13
15
  declare class ExpressionImpl<T extends ScopeField = ScopeField> implements Expression<T> {
14
- readonly [ExpressionType]: T;
15
16
  private readonly ast;
16
- readonly field: T;
17
- constructor(ast: AnyExpression, field: T);
17
+ readonly returnType: T;
18
+ constructor(ast: AnyExpression, returnType: T);
18
19
  buildAst(): AnyExpression;
19
20
  }
20
21
  //#endregion
@@ -22,8 +23,8 @@ declare class ExpressionImpl<T extends ScopeField = ScopeField> implements Expre
22
23
  declare function createFieldProxy<S extends Scope>(scope: S): FieldProxy<S>;
23
24
  //#endregion
24
25
  //#region src/runtime/functions.d.ts
25
- declare function createFunctions<QC extends QueryContext>(queryOperationTypes: Readonly<Record<string, SqlOperationEntry>>): Functions<QC>;
26
- declare function createAggregateFunctions<QC extends QueryContext>(queryOperationTypes: Readonly<Record<string, SqlOperationEntry>>): AggregateFunctions<QC>;
26
+ declare function createFunctions<QC extends QueryContext>(operations: Readonly<Record<string, SqlOperationEntry>>): Functions<QC>;
27
+ declare function createAggregateFunctions<QC extends QueryContext>(operations: Readonly<Record<string, SqlOperationEntry>>): AggregateFunctions<QC>;
27
28
  //#endregion
28
29
  //#region src/runtime/sql.d.ts
29
30
  interface SqlOptions<C extends Contract<SqlStorage>> {
@@ -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"],"sourcesContent":[],"mappings":";;;;;;;;;;;;cASa,yBAAyB,aAAa,uBAAuB,WAAW;EAAxE,UACO,cAAA,CADO,EACU,CADV;EAAW,iBAAA,GAAA;EAAa,SAAA,KAAA,EAGjC,CAHiC;EAAkC,WAAA,CAAA,GAAA,EAKlE,aALkE,EAAA,KAAA,EAK5C,CAL4C;EAChD,QAAA,CAAA,CAAA,EASvB,aATuB;;;;iBCLrB,2BAA2B,cAAc,IAAI,WAAW;;;iBCsJxD,2BAA2B,mCACpB,SAAS,eAAe,sBAC5C,UAAU;iBAiBG,oCAAoC,mCAC7B,SAAS,eAAe,sBAC5C,mBAAmB;;;UCzKL,qBAAqB,SAAS;oBAC3B,iBAAiB;;iBAGrB,cAAc,SAAS,sBAAsB,WAAW,KAAK,GAAG"}
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"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;cASa,yBAAyB,aAAa,uBAAuB,WAAW;EAAxE,iBAAc,GAAA;EAAW,SAAA,UAAA,EAEf,CAFe;EAAa,WAAA,CAAA,GAAA,EAIhC,aAJgC,EAAA,UAAA,EAIL,CAJK;EAAkC,QAAA,CAAA,CAAA,EASvE,aATuE;;;;iBCJrE,2BAA2B,cAAc,IAAI,WAAW;;;iBCmJxD,2BAA2B,0BAC7B,SAAS,eAAe,sBACnC,UAAU;iBAeG,oCAAoC,0BACtC,SAAS,eAAe,sBACnC,mBAAmB;;;UCpKL,qBAAqB,SAAS;oBAC3B,iBAAiB;;iBAGrB,cAAc,SAAS,sBAAsB,WAAW,KAAK,GAAG"}
@@ -1,16 +1,18 @@
1
- import { AggregateExpr, AndExpr, BinaryExpr, ColumnRef, DeleteAst, DerivedTableSource, ExistsExpr, IdentifierRef, InsertAst, JoinAst, ListExpression, LiteralExpr, NullCheckExpr, OperationExpr, OrExpr, OrderByItem, ParamRef, ProjectionItem, SelectAst, SubqueryExpr, TableSource, UpdateAst } from "@prisma-next/sql-relational-core/ast";
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 { toExpr } from "@prisma-next/sql-relational-core/expression";
2
3
 
3
4
  //#region src/runtime/expression-impl.ts
4
5
  /**
5
6
  * Runtime wrapper around a relational-core AST expression node.
6
- * Carries ScopeField metadata (codecId, nullable) for plan generation.
7
+ * Carries ScopeField metadata (codecId, nullable) so aggregate-like
8
+ * combinators can propagate the input codec onto their result.
7
9
  */
8
10
  var ExpressionImpl = class {
9
11
  ast;
10
- field;
11
- constructor(ast, field) {
12
+ returnType;
13
+ constructor(ast, returnType) {
12
14
  this.ast = ast;
13
- this.field = field;
15
+ this.returnType = returnType;
14
16
  }
15
17
  buildAst() {
16
18
  return this.ast;
@@ -46,12 +48,21 @@ const BOOL_FIELD = {
46
48
  codecId: "pg/bool@1",
47
49
  nullable: false
48
50
  };
49
- function resolve(value) {
50
- if (value instanceof ExpressionImpl) return value.buildAst();
51
- return ParamRef.of(value);
52
- }
53
- function resolveToAst(value) {
54
- if (value instanceof ExpressionImpl) return value.buildAst();
51
+ const resolve = toExpr;
52
+ /**
53
+ * Resolves an Expression via `buildAst()`, or wraps a raw value as a
54
+ * `LiteralExpr` — an SQL literal inlined into the query text, not a bound
55
+ * parameter.
56
+ *
57
+ * Used for `and` / `or` operands. The usual operand is an `Expression<bool>`
58
+ * (e.g. the result of `fns.eq`), which this function passes through by calling
59
+ * `buildAst()`. The only time the raw-value branch fires is when the caller
60
+ * writes `fns.and(true, x)` or similar — inlining `TRUE`/`FALSE` literals
61
+ * lets the SQL planner statically simplify `TRUE AND x` to `x`, which it
62
+ * cannot do for an opaque `ParamRef`.
63
+ */
64
+ function toLiteralExpr(value) {
65
+ if (typeof value === "object" && value !== null && "buildAst" in value && typeof value.buildAst === "function") return value.buildAst();
55
66
  return new LiteralExpr(value);
56
67
  }
57
68
  function boolExpr(astNode) {
@@ -81,7 +92,7 @@ function inOrNotIn(expr, valuesOrSubquery, op) {
81
92
  }
82
93
  function numericAgg(fn, expr) {
83
94
  return new ExpressionImpl(AggregateExpr[fn](expr.buildAst()), {
84
- codecId: expr.field.codecId,
95
+ codecId: expr.returnType.codecId,
85
96
  nullable: true
86
97
  });
87
98
  }
@@ -93,8 +104,8 @@ function createBuiltinFunctions() {
93
104
  gte: (a, b) => comparison(a, b, "gte"),
94
105
  lt: (a, b) => comparison(a, b, "lt"),
95
106
  lte: (a, b) => comparison(a, b, "lte"),
96
- and: (...exprs) => boolExpr(AndExpr.of(exprs.map(resolveToAst))),
97
- or: (...exprs) => boolExpr(OrExpr.of(exprs.map(resolveToAst))),
107
+ and: (...exprs) => boolExpr(AndExpr.of(exprs.map(toLiteralExpr))),
108
+ or: (...exprs) => boolExpr(OrExpr.of(exprs.map(toLiteralExpr))),
98
109
  exists: (subquery) => boolExpr(ExistsExpr.exists(subquery.buildAst())),
99
110
  notExists: (subquery) => boolExpr(ExistsExpr.notExists(subquery.buildAst())),
100
111
  in: (expr, valuesOrSubquery) => inOrNotIn(expr, valuesOrSubquery, "in"),
@@ -116,35 +127,17 @@ function createAggregateOnlyFunctions() {
116
127
  max: (expr) => numericAgg("max", expr)
117
128
  };
118
129
  }
119
- function createExtensionFunction(name, entry) {
120
- return (...args) => {
121
- const resolvedArgs = args.map((arg, i) => {
122
- if (arg instanceof ExpressionImpl) return arg.buildAst();
123
- const codecId = entry.args[i]?.codecId;
124
- return ParamRef.of(arg, codecId ? { codecId } : void 0);
125
- });
126
- const self = resolvedArgs[0];
127
- const restArgs = resolvedArgs.slice(1);
128
- return new ExpressionImpl(new OperationExpr({
129
- method: name,
130
- self,
131
- args: restArgs.length > 0 ? restArgs : void 0,
132
- returns: entry.returns,
133
- lowering: entry.lowering
134
- }), entry.returns);
135
- };
136
- }
137
- function createFunctions(queryOperationTypes) {
130
+ function createFunctions(operations) {
138
131
  const builtins = createBuiltinFunctions();
139
132
  return new Proxy({}, { get(_target, prop) {
140
133
  const builtin = builtins[prop];
141
134
  if (builtin) return builtin;
142
- const extOp = queryOperationTypes[prop];
143
- if (extOp) return createExtensionFunction(prop, extOp);
135
+ const op = operations[prop];
136
+ if (op) return op.impl;
144
137
  } });
145
138
  }
146
- function createAggregateFunctions(queryOperationTypes) {
147
- const baseFns = createFunctions(queryOperationTypes);
139
+ function createAggregateFunctions(operations) {
140
+ const baseFns = createFunctions(operations);
148
141
  const aggregates = createAggregateOnlyFunctions();
149
142
  return new Proxy({}, { get(_target, prop) {
150
143
  const agg = aggregates[prop];
@@ -212,36 +205,12 @@ function buildSelectAst(state) {
212
205
  selectAllIntent: void 0
213
206
  });
214
207
  }
215
- function buildQueryPlan(ast, rowFields, ctx) {
216
- const projectionTypes = {};
217
- const codecs = {};
218
- for (const [alias, field] of Object.entries(rowFields)) {
219
- projectionTypes[alias] = field.codecId;
220
- codecs[alias] = field.codecId;
221
- }
222
- const paramRefs = ast.collectParamRefs();
223
- const seen = /* @__PURE__ */ new Set();
224
- const uniqueRefs = [];
225
- for (const ref of paramRefs) if (!seen.has(ref)) {
226
- seen.add(ref);
227
- uniqueRefs.push(ref);
228
- }
229
- const paramValues = uniqueRefs.map((r) => r.value);
230
- const paramDescriptors = uniqueRefs.map((ref, i) => ({
231
- index: i + 1,
232
- source: "dsl",
233
- ...ref.codecId ? { codecId: ref.codecId } : {}
234
- }));
235
- for (const [i, ref] of uniqueRefs.entries()) if (ref.codecId) codecs[`$${i + 1}`] = ref.codecId;
236
- const hasProjectionTypes = Object.keys(projectionTypes).length > 0;
237
- const hasCodecs = Object.keys(codecs).length > 0;
208
+ function buildQueryPlan(ast, ctx) {
209
+ const paramValues = collectOrderedParamRefs(ast).map((r) => r.value);
238
210
  const meta = Object.freeze({
239
211
  target: ctx.target,
240
212
  storageHash: ctx.storageHash,
241
- lane: "dsl",
242
- paramDescriptors,
243
- ...hasProjectionTypes ? { projectionTypes } : {},
244
- ...hasCodecs ? { annotations: Object.freeze({ codecs: Object.freeze(codecs) }) } : {}
213
+ lane: "dsl"
245
214
  });
246
215
  return Object.freeze({
247
216
  ast,
@@ -250,7 +219,7 @@ function buildQueryPlan(ast, rowFields, ctx) {
250
219
  });
251
220
  }
252
221
  function buildPlan(state, ctx) {
253
- return buildQueryPlan(buildSelectAst(state), state.rowFields, ctx);
222
+ return buildQueryPlan(buildSelectAst(state), ctx);
254
223
  }
255
224
  function tableToScope(name, table) {
256
225
  const fields = {};
@@ -314,7 +283,7 @@ function resolveSelectArgs(args, scope, ctx) {
314
283
  for (const colName of args) {
315
284
  const field = scope.topLevel[colName];
316
285
  if (!field) throw new Error(`Column "${colName}" not found in scope`);
317
- projections.push(ProjectionItem.of(colName, IdentifierRef.of(colName)));
286
+ projections.push(ProjectionItem.of(colName, IdentifierRef.of(colName), field.codecId));
318
287
  newRowFields[colName] = field;
319
288
  }
320
289
  return {
@@ -327,8 +296,9 @@ function resolveSelectArgs(args, scope, ctx) {
327
296
  const exprFn = args[1];
328
297
  const fns = createAggregateFunctions(ctx.queryOperationTypes);
329
298
  const result = exprFn(createFieldProxy(scope), fns);
330
- projections.push(ProjectionItem.of(alias, result.buildAst()));
331
- newRowFields[alias] = result.field;
299
+ const field = result.returnType;
300
+ projections.push(ProjectionItem.of(alias, result.buildAst(), field.codecId));
301
+ newRowFields[alias] = field;
332
302
  return {
333
303
  projections,
334
304
  newRowFields
@@ -339,8 +309,9 @@ function resolveSelectArgs(args, scope, ctx) {
339
309
  const fns = createAggregateFunctions(ctx.queryOperationTypes);
340
310
  const record = callbackFn(createFieldProxy(scope), fns);
341
311
  for (const [key, expr] of Object.entries(record)) {
342
- projections.push(ProjectionItem.of(key, expr.buildAst()));
343
- newRowFields[key] = expr.field;
312
+ const field = expr.returnType;
313
+ projections.push(ProjectionItem.of(key, expr.buildAst(), field.codecId));
314
+ newRowFields[key] = field;
344
315
  }
345
316
  return {
346
317
  projections,
@@ -574,8 +545,8 @@ function buildParamValues(values, table, tableName, op, ctx) {
574
545
  }
575
546
  return params;
576
547
  }
577
- function buildReturningColumnRefs(tableName, columns) {
578
- return columns.map((col) => ColumnRef.of(tableName, col));
548
+ function buildReturningProjections(tableName, columns, rowFields) {
549
+ return columns.map((col) => ProjectionItem.of(col, ColumnRef.of(tableName, col), rowFields[col]?.codecId));
579
550
  }
580
551
  function evaluateWhere(whereCallback, scope, queryOperationTypes) {
581
552
  return whereCallback(createFieldProxy(scope), createFunctions(queryOperationTypes)).buildAst();
@@ -608,8 +579,8 @@ var InsertQueryImpl = class InsertQueryImpl extends BuilderBase {
608
579
  build() {
609
580
  const paramValues = buildParamValues(this.#values, this.#table, this.#tableName, "create", this.ctx);
610
581
  let ast = InsertAst.into(TableSource.named(this.#tableName)).withValues(paramValues);
611
- if (this.#returningColumns.length > 0) ast = ast.withReturning(buildReturningColumnRefs(this.#tableName, this.#returningColumns));
612
- return buildQueryPlan(ast, this.#rowFields, this.ctx);
582
+ if (this.#returningColumns.length > 0) ast = ast.withReturning(buildReturningProjections(this.#tableName, this.#returningColumns, this.#rowFields));
583
+ return buildQueryPlan(ast, this.ctx);
613
584
  }
614
585
  };
615
586
  var UpdateQueryImpl = class UpdateQueryImpl extends BuilderBase {
@@ -646,8 +617,8 @@ var UpdateQueryImpl = class UpdateQueryImpl extends BuilderBase {
646
617
  const setParams = buildParamValues(this.#setValues, this.#table, this.#tableName, "update", this.ctx);
647
618
  const whereExpr = combineWhereExprs(this.#whereCallbacks.map((cb) => evaluateWhere(cb, this.#scope, this.ctx.queryOperationTypes)));
648
619
  let ast = UpdateAst.table(TableSource.named(this.#tableName)).withSet(setParams).withWhere(whereExpr);
649
- if (this.#returningColumns.length > 0) ast = ast.withReturning(buildReturningColumnRefs(this.#tableName, this.#returningColumns));
650
- return buildQueryPlan(ast, this.#rowFields, this.ctx);
620
+ if (this.#returningColumns.length > 0) ast = ast.withReturning(buildReturningProjections(this.#tableName, this.#returningColumns, this.#rowFields));
621
+ return buildQueryPlan(ast, this.ctx);
651
622
  }
652
623
  };
653
624
  var DeleteQueryImpl = class DeleteQueryImpl extends BuilderBase {
@@ -679,8 +650,8 @@ var DeleteQueryImpl = class DeleteQueryImpl extends BuilderBase {
679
650
  build() {
680
651
  const whereExpr = combineWhereExprs(this.#whereCallbacks.map((cb) => evaluateWhere(cb, this.#scope, this.ctx.queryOperationTypes)));
681
652
  let ast = DeleteAst.from(TableSource.named(this.#tableName)).withWhere(whereExpr);
682
- if (this.#returningColumns.length > 0) ast = ast.withReturning(buildReturningColumnRefs(this.#tableName, this.#returningColumns));
683
- return buildQueryPlan(ast, this.#rowFields, this.ctx);
653
+ if (this.#returningColumns.length > 0) ast = ast.withReturning(buildReturningProjections(this.#tableName, this.#returningColumns, this.#rowFields));
654
+ return buildQueryPlan(ast, this.ctx);
684
655
  }
685
656
  };
686
657