@prisma-next/sql-relational-core 0.5.0-dev.9 → 0.6.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -25
- package/dist/codec-types-BUfBna4G.d.mts +107 -0
- package/dist/codec-types-BUfBna4G.d.mts.map +1 -0
- package/dist/{errors-D3xmG4h-.mjs → errors-BF7W5uUd.mjs} +2 -2
- package/dist/{errors-D3xmG4h-.mjs.map → errors-BF7W5uUd.mjs.map} +1 -1
- package/dist/{errors-CDvhnH7P.d.mts → errors-BgNpVAT8.d.mts} +2 -2
- package/dist/errors-BgNpVAT8.d.mts.map +1 -0
- package/dist/exports/ast.d.mts +189 -112
- package/dist/exports/ast.d.mts.map +1 -1
- package/dist/exports/ast.mjs +207 -1322
- package/dist/exports/ast.mjs.map +1 -1
- package/dist/exports/codec-descriptor-registry.d.mts +18 -0
- package/dist/exports/codec-descriptor-registry.d.mts.map +1 -0
- package/dist/exports/codec-descriptor-registry.mjs +40 -0
- package/dist/exports/codec-descriptor-registry.mjs.map +1 -0
- package/dist/exports/errors.d.mts +1 -4
- package/dist/exports/errors.mjs +2 -3
- package/dist/exports/expression.d.mts +84 -0
- package/dist/exports/expression.d.mts.map +1 -0
- package/dist/exports/expression.mjs +62 -0
- package/dist/exports/expression.mjs.map +1 -0
- package/dist/exports/middleware.d.mts +2 -0
- package/dist/exports/middleware.mjs +2 -0
- package/dist/exports/plan.d.mts +3 -3
- package/dist/exports/plan.mjs +27 -10
- package/dist/exports/plan.mjs.map +1 -1
- package/dist/exports/query-lane-context.d.mts +2 -3
- package/dist/exports/query-lane-context.mjs +1 -1
- package/dist/exports/types.d.mts +2 -4
- package/dist/exports/types.mjs +1 -1
- package/dist/index.d.mts +12 -12
- package/dist/index.mjs +8 -5
- package/dist/middleware-D2Wv9QIf.mjs +82 -0
- package/dist/middleware-D2Wv9QIf.mjs.map +1 -0
- package/dist/middleware-USDeR8p1.d.mts +121 -0
- package/dist/middleware-USDeR8p1.d.mts.map +1 -0
- package/dist/plan-DFpOIsKB.d.mts +44 -0
- package/dist/plan-DFpOIsKB.d.mts.map +1 -0
- package/dist/query-lane-context-C2tLZGp4.d.mts +72 -0
- package/dist/query-lane-context-C2tLZGp4.d.mts.map +1 -0
- package/dist/{sql-execution-plan-DY0WvJOW.d.mts → sql-execution-plan-ffz8TSfr.d.mts} +2 -3
- package/dist/sql-execution-plan-ffz8TSfr.d.mts.map +1 -0
- package/dist/{types-C3Hg-CVz.d.mts → types-BZcKgaYA.d.mts} +61 -24
- package/dist/types-BZcKgaYA.d.mts.map +1 -0
- package/dist/types-CK9ZJ6OU.mjs +1112 -0
- package/dist/types-CK9ZJ6OU.mjs.map +1 -0
- package/dist/{types-B5XsBeaT.d.mts → types-CL18G37a.d.mts} +3 -4
- package/dist/types-CL18G37a.d.mts.map +1 -0
- package/dist/{types-CG3u534i.d.mts → types-D6Pk1DTr.d.mts} +11 -13
- package/dist/types-D6Pk1DTr.d.mts.map +1 -0
- package/dist/util-DWmhUCEO.mjs +34 -0
- package/dist/util-DWmhUCEO.mjs.map +1 -0
- package/package.json +16 -13
- package/src/ast/adapter-types.ts +13 -16
- package/src/ast/codec-types.ts +87 -419
- package/src/ast/sql-codec-helpers.ts +79 -0
- package/src/ast/sql-codecs.ts +285 -125
- package/src/ast/types.ts +222 -173
- package/src/ast/util.ts +23 -0
- package/src/ast/validate-param-refs.ts +39 -0
- package/src/codec-descriptor-registry.ts +52 -0
- package/src/exports/ast.ts +2 -0
- package/src/exports/codec-descriptor-registry.ts +1 -0
- package/src/exports/expression.ts +1 -0
- package/src/exports/middleware.ts +8 -0
- package/src/expression.ts +134 -0
- package/src/index.ts +2 -0
- package/src/middleware/param-ref-mutator.ts +230 -0
- package/src/plan.ts +32 -16
- package/src/query-lane-context.ts +35 -55
- package/src/types.ts +1 -3
- package/dist/codec-types-B2Xdq0Wr.d.mts +0 -167
- package/dist/codec-types-B2Xdq0Wr.d.mts.map +0 -1
- package/dist/errors-CDvhnH7P.d.mts.map +0 -1
- package/dist/plan-CRPxW2Jj.d.mts +0 -32
- package/dist/plan-CRPxW2Jj.d.mts.map +0 -1
- package/dist/query-lane-context-DDRW5NBG.d.mts +0 -89
- package/dist/query-lane-context-DDRW5NBG.d.mts.map +0 -1
- package/dist/sql-execution-plan-DY0WvJOW.d.mts.map +0 -1
- package/dist/types-B5XsBeaT.d.mts.map +0 -1
- package/dist/types-C3Hg-CVz.d.mts.map +0 -1
- package/dist/types-CG3u534i.d.mts.map +0 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { PlanRefs } from "@prisma-next/contract/types";
|
|
2
1
|
import { ParamSpec } from "@prisma-next/operations";
|
|
3
2
|
import { SqlLoweringSpec } from "@prisma-next/sql-operations";
|
|
4
3
|
|
|
@@ -65,13 +64,10 @@ declare abstract class AstNode {
|
|
|
65
64
|
protected freeze(): void;
|
|
66
65
|
}
|
|
67
66
|
declare abstract class QueryAst extends AstNode {
|
|
68
|
-
abstract collectRefs(): PlanRefs;
|
|
69
67
|
abstract collectParamRefs(): ParamRef[];
|
|
70
68
|
abstract toQueryAst(): AnyQueryAst;
|
|
71
|
-
collectColumnRefs(): ColumnRef[];
|
|
72
69
|
}
|
|
73
70
|
declare abstract class FromSource extends AstNode {
|
|
74
|
-
abstract collectRefs(): PlanRefs;
|
|
75
71
|
abstract rewrite(rewriter: AstRewriter): AnyFromSource;
|
|
76
72
|
abstract toFromSource(): AnyFromSource;
|
|
77
73
|
}
|
|
@@ -93,7 +89,6 @@ declare class TableSource extends FromSource {
|
|
|
93
89
|
static named(name: string, alias?: string): TableSource;
|
|
94
90
|
rewrite(rewriter: AstRewriter): AnyFromSource;
|
|
95
91
|
toFromSource(): AnyFromSource;
|
|
96
|
-
collectRefs(): PlanRefs;
|
|
97
92
|
}
|
|
98
93
|
interface TableRef {
|
|
99
94
|
readonly name: string;
|
|
@@ -107,7 +102,6 @@ declare class DerivedTableSource extends FromSource {
|
|
|
107
102
|
static as(alias: string, query: SelectAst): DerivedTableSource;
|
|
108
103
|
rewrite(rewriter: AstRewriter): AnyFromSource;
|
|
109
104
|
toFromSource(): AnyFromSource;
|
|
110
|
-
collectRefs(): PlanRefs;
|
|
111
105
|
}
|
|
112
106
|
declare class ColumnRef extends Expression {
|
|
113
107
|
readonly kind: "column-ref";
|
|
@@ -129,18 +123,31 @@ declare class IdentifierRef extends Expression {
|
|
|
129
123
|
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
130
124
|
fold<T>(folder: ExpressionFolder<T>): T;
|
|
131
125
|
}
|
|
126
|
+
/**
|
|
127
|
+
* Column ref carried by a {@link ParamRef} that was constructed at a column-bound site (e.g. an INSERT/UPDATE column assignment, a `WHERE column = $param` comparison). The encode-side dispatch path uses `refs` to call `contractCodecs.forColumn(refs.table, refs.column)`, which selects the per-instance parameterized codec for the column — required when a parameterized codec id is shared by multiple columns with distinct
|
|
128
|
+
* typeParams (e.g. `vector(1024)` vs. `vector(1536)`).
|
|
129
|
+
*
|
|
130
|
+
* `refs` may legitimately be `undefined` for `ParamRef`s constructed without a column context — the validator pass (`validateParamRefRefs`) treats refs-less ParamRefs as a hard error only when their codec id is parameterized.
|
|
131
|
+
*/
|
|
132
|
+
interface ParamRefBindingRefs {
|
|
133
|
+
readonly table: string;
|
|
134
|
+
readonly column: string;
|
|
135
|
+
}
|
|
132
136
|
declare class ParamRef extends Expression {
|
|
133
137
|
readonly kind: "param-ref";
|
|
134
138
|
readonly value: unknown;
|
|
135
139
|
readonly name: string | undefined;
|
|
136
140
|
readonly codecId: string | undefined;
|
|
141
|
+
readonly refs: ParamRefBindingRefs | undefined;
|
|
137
142
|
constructor(value: unknown, options?: {
|
|
138
143
|
name?: string;
|
|
139
144
|
codecId?: string;
|
|
145
|
+
refs?: ParamRefBindingRefs;
|
|
140
146
|
});
|
|
141
147
|
static of(value: unknown, options?: {
|
|
142
148
|
name?: string;
|
|
143
149
|
codecId?: string;
|
|
150
|
+
refs?: ParamRefBindingRefs;
|
|
144
151
|
}): ParamRef;
|
|
145
152
|
accept<R>(visitor: ExprVisitor<R>): R;
|
|
146
153
|
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
@@ -336,8 +343,15 @@ declare class ProjectionItem extends AstNode {
|
|
|
336
343
|
readonly kind: "projection-item";
|
|
337
344
|
readonly alias: string;
|
|
338
345
|
readonly expr: ProjectionExpr;
|
|
339
|
-
|
|
340
|
-
|
|
346
|
+
readonly codecId: string | undefined;
|
|
347
|
+
/**
|
|
348
|
+
* Column-bound metadata for the projection. Populated by builder paths that promote a top-level field shortcut (`select('email', ...)`) into a bare `IdentifierRef` AST while still knowing the originating `(table, column)`. Decode-side dispatch consults `refs` to call `forColumn(table, column)` so parameterized codec ids resolve to the per-instance codec — required when multiple columns share a codec id with distinct
|
|
349
|
+
* typeParams (e.g. `varchar(36)` vs. `varchar(255)`). Stays `undefined` for `column-ref` projections (the AST already carries the binding) and for non-column-bound projections (computed expressions, subqueries, raw aliases).
|
|
350
|
+
*/
|
|
351
|
+
readonly refs: ParamRefBindingRefs | undefined;
|
|
352
|
+
constructor(alias: string, expr: ProjectionExpr, codecId?: string, refs?: ParamRefBindingRefs);
|
|
353
|
+
static of(alias: string, expr: ProjectionExpr, codecId?: string, refs?: ParamRefBindingRefs): ProjectionItem;
|
|
354
|
+
withCodecId(codecId: string | undefined): ProjectionItem;
|
|
341
355
|
}
|
|
342
356
|
interface SelectAstOptions {
|
|
343
357
|
readonly from: AnyFromSource;
|
|
@@ -391,7 +405,6 @@ declare class SelectAst extends QueryAst {
|
|
|
391
405
|
rewrite(rewriter: AstRewriter): SelectAst;
|
|
392
406
|
collectColumnRefs(): ColumnRef[];
|
|
393
407
|
collectParamRefs(): ParamRef[];
|
|
394
|
-
collectRefs(): PlanRefs;
|
|
395
408
|
toQueryAst(): AnyQueryAst;
|
|
396
409
|
}
|
|
397
410
|
declare abstract class InsertOnConflictAction extends AstNode {
|
|
@@ -422,15 +435,15 @@ declare class InsertAst extends QueryAst {
|
|
|
422
435
|
readonly table: TableSource;
|
|
423
436
|
readonly rows: ReadonlyArray<Readonly<Record<string, InsertValue>>>;
|
|
424
437
|
readonly onConflict: InsertOnConflict | undefined;
|
|
425
|
-
readonly returning: ReadonlyArray<
|
|
426
|
-
constructor(table: TableSource, rows?: ReadonlyArray<Record<string, InsertValue>>, onConflict?: InsertOnConflict, returning?: ReadonlyArray<
|
|
438
|
+
readonly returning: ReadonlyArray<ProjectionItem> | undefined;
|
|
439
|
+
constructor(table: TableSource, rows?: ReadonlyArray<Record<string, InsertValue>>, onConflict?: InsertOnConflict, returning?: ReadonlyArray<ProjectionItem>);
|
|
427
440
|
static into(table: TableSource): InsertAst;
|
|
428
441
|
withValues(values: Record<string, InsertValue>): InsertAst;
|
|
429
442
|
withRows(rows: ReadonlyArray<Record<string, InsertValue>>): InsertAst;
|
|
430
|
-
withReturning(returning: ReadonlyArray<
|
|
443
|
+
withReturning(returning: ReadonlyArray<ProjectionItem> | undefined): InsertAst;
|
|
431
444
|
withOnConflict(onConflict: InsertOnConflict | undefined): InsertAst;
|
|
445
|
+
rewrite(rewriter: AstRewriter): InsertAst;
|
|
432
446
|
collectParamRefs(): ParamRef[];
|
|
433
|
-
collectRefs(): PlanRefs;
|
|
434
447
|
toQueryAst(): AnyQueryAst;
|
|
435
448
|
}
|
|
436
449
|
declare class UpdateAst extends QueryAst {
|
|
@@ -438,30 +451,54 @@ declare class UpdateAst extends QueryAst {
|
|
|
438
451
|
readonly table: TableSource;
|
|
439
452
|
readonly set: Readonly<Record<string, ColumnRef | ParamRef>>;
|
|
440
453
|
readonly where: AnyExpression | undefined;
|
|
441
|
-
readonly returning: ReadonlyArray<
|
|
442
|
-
constructor(table: TableSource, set?: Readonly<Record<string, ColumnRef | ParamRef>>, where?: AnyExpression, returning?: ReadonlyArray<
|
|
454
|
+
readonly returning: ReadonlyArray<ProjectionItem> | undefined;
|
|
455
|
+
constructor(table: TableSource, set?: Readonly<Record<string, ColumnRef | ParamRef>>, where?: AnyExpression, returning?: ReadonlyArray<ProjectionItem>);
|
|
443
456
|
static table(table: TableSource): UpdateAst;
|
|
444
457
|
withSet(set: Readonly<Record<string, ColumnRef | ParamRef>>): UpdateAst;
|
|
445
458
|
withWhere(where: AnyExpression | undefined): UpdateAst;
|
|
446
|
-
withReturning(returning: ReadonlyArray<
|
|
459
|
+
withReturning(returning: ReadonlyArray<ProjectionItem> | undefined): UpdateAst;
|
|
460
|
+
rewrite(rewriter: AstRewriter): UpdateAst;
|
|
447
461
|
collectParamRefs(): ParamRef[];
|
|
448
|
-
collectRefs(): PlanRefs;
|
|
449
462
|
toQueryAst(): AnyQueryAst;
|
|
450
463
|
}
|
|
451
464
|
declare class DeleteAst extends QueryAst {
|
|
452
465
|
readonly kind: "delete";
|
|
453
466
|
readonly table: TableSource;
|
|
454
467
|
readonly where: AnyExpression | undefined;
|
|
455
|
-
readonly returning: ReadonlyArray<
|
|
456
|
-
constructor(table: TableSource, where?: AnyExpression, returning?: ReadonlyArray<
|
|
468
|
+
readonly returning: ReadonlyArray<ProjectionItem> | undefined;
|
|
469
|
+
constructor(table: TableSource, where?: AnyExpression, returning?: ReadonlyArray<ProjectionItem>);
|
|
457
470
|
static from(table: TableSource): DeleteAst;
|
|
458
471
|
withWhere(where: AnyExpression | undefined): DeleteAst;
|
|
459
|
-
withReturning(returning: ReadonlyArray<
|
|
472
|
+
withReturning(returning: ReadonlyArray<ProjectionItem> | undefined): DeleteAst;
|
|
473
|
+
rewrite(rewriter: AstRewriter): DeleteAst;
|
|
474
|
+
collectParamRefs(): ParamRef[];
|
|
475
|
+
toQueryAst(): AnyQueryAst;
|
|
476
|
+
}
|
|
477
|
+
/**
|
|
478
|
+
* Raw-SQL query AST node carrying interpolated parameter / expression nodes
|
|
479
|
+
* embedded inside literal SQL fragments.
|
|
480
|
+
*
|
|
481
|
+
* `fragments` and `args` are interleaved during lowering:
|
|
482
|
+
* `fragments[0] + lower(args[0]) + fragments[1] + ... + fragments[n]`.
|
|
483
|
+
* Construction enforces `fragments.length === args.length + 1`.
|
|
484
|
+
*
|
|
485
|
+
* Extends {@link QueryAst} (whole-query AST, not a sub-expression).
|
|
486
|
+
* Construction does not validate that each arg is a `ParamRef` /
|
|
487
|
+
* `AnyExpression`: the type system already rejects bare values because
|
|
488
|
+
* `args` is typed `readonly AnyExpression[]`. The user-facing `raw\`...\``
|
|
489
|
+
* factory (separate `sql-raw-factory` component) layers stricter
|
|
490
|
+
* type-level rejection on top of this AST node.
|
|
491
|
+
*/
|
|
492
|
+
declare class RawSqlExpr extends QueryAst {
|
|
493
|
+
readonly kind: "raw-sql";
|
|
494
|
+
readonly fragments: readonly string[];
|
|
495
|
+
readonly args: readonly AnyExpression[];
|
|
496
|
+
constructor(fragments: readonly string[], args: readonly AnyExpression[]);
|
|
497
|
+
static of(fragments: readonly string[], args: readonly AnyExpression[]): RawSqlExpr;
|
|
460
498
|
collectParamRefs(): ParamRef[];
|
|
461
|
-
collectRefs(): PlanRefs;
|
|
462
499
|
toQueryAst(): AnyQueryAst;
|
|
463
500
|
}
|
|
464
|
-
type AnyQueryAst = SelectAst | InsertAst | UpdateAst | DeleteAst;
|
|
501
|
+
type AnyQueryAst = SelectAst | InsertAst | UpdateAst | DeleteAst | RawSqlExpr;
|
|
465
502
|
type AnyFromSource = TableSource | DerivedTableSource;
|
|
466
503
|
type AnyExpression = ColumnRef | IdentifierRef | ParamRef | LiteralExpr | SubqueryExpr | OperationExpr | AggregateExpr | JsonObjectExpr | JsonArrayAggExpr | ListExpression | BinaryExpr | AndExpr | OrExpr | ExistsExpr | NullCheckExpr | NotExpr;
|
|
467
504
|
type AnyInsertOnConflictAction = DoNothingConflictAction | DoUpdateSetConflictAction;
|
|
@@ -480,5 +517,5 @@ interface LoweredStatement {
|
|
|
480
517
|
readonly annotations?: Record<string, unknown>;
|
|
481
518
|
}
|
|
482
519
|
//#endregion
|
|
483
|
-
export {
|
|
484
|
-
//# sourceMappingURL=types-
|
|
520
|
+
export { TableRef as $, InsertOnConflict as A, NotExpr as B, ExistsExpr as C, ExpressionSource as D, ExpressionRewriter as E, JsonObjectEntry as F, ParamRef as G, OperationExpr as H, JsonObjectExpr as I, ProjectionItem as J, ParamRefBindingRefs as K, ListExpression as L, JoinAst as M, JoinOnExpr as N, IdentifierRef as O, JsonArrayAggExpr as P, SubqueryExpr as Q, LiteralExpr as R, EqColJoinOn as S, ExpressionFolder as T, OrExpr as U, NullCheckExpr as V, OrderByItem as W, SelectAst as X, RawSqlExpr as Y, SelectAstOptions as Z, DeleteAst as _, AndExpr as a, isWhereExpr as at, DoNothingConflictAction as b, AnyInsertOnConflictAction as c, AnyQueryAst as d, TableSource as et, AstRewriter as f, DefaultValueExpr as g, ColumnRef as h, AggregateOpFn as i, isQueryAst as it, InsertValue as j, InsertAst as k, AnyInsertValue as l, BinaryOp as m, AggregateExpr as n, UpdateAst as nt, AnyExpression as o, queryAstKinds as ot, BinaryExpr as p, ProjectionExpr as q, AggregateFn as r, WhereArg as rt, AnyFromSource as s, whereExprKinds as st, AggregateCountFn as t, ToWhereExpr as tt, AnyOperationArg as u, DerivedTableSource as v, ExprVisitor as w, DoUpdateSetConflictAction as x, Direction as y, LoweredStatement as z };
|
|
521
|
+
//# sourceMappingURL=types-BZcKgaYA.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-BZcKgaYA.d.mts","names":[],"sources":["../src/ast/types.ts"],"mappings":"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"}
|