@prisma-next/sql-relational-core 0.3.0-dev.12 → 0.3.0-dev.122
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/LICENSE +201 -0
- package/README.md +18 -1
- package/dist/errors-BNiBIGfC.d.mts +2 -0
- package/dist/errors-DXSQwbhk.mjs +3 -0
- package/dist/exports/ast.d.mts +126 -0
- package/dist/exports/ast.d.mts.map +1 -0
- package/dist/exports/ast.mjs +253 -0
- package/dist/exports/ast.mjs.map +1 -0
- package/dist/exports/errors.d.mts +2 -0
- package/dist/exports/errors.mjs +3 -0
- package/dist/exports/guards.d.mts +5 -0
- package/dist/exports/guards.mjs +3 -0
- package/dist/exports/operations-registry.d.mts +5 -0
- package/dist/exports/operations-registry.mjs +3 -0
- package/dist/exports/param.d.mts +5 -0
- package/dist/exports/param.mjs +3 -0
- package/dist/exports/plan.d.mts +2 -0
- package/dist/exports/plan.mjs +17 -0
- package/dist/exports/plan.mjs.map +1 -0
- package/dist/exports/query-lane-context.d.mts +2 -0
- package/dist/exports/query-lane-context.mjs +1 -0
- package/dist/exports/query-operations.d.mts +2 -0
- package/dist/exports/query-operations.mjs +18 -0
- package/dist/exports/query-operations.mjs.map +1 -0
- package/dist/exports/schema.d.mts +5 -0
- package/dist/exports/schema.mjs +4 -0
- package/dist/exports/types.d.mts +4 -0
- package/dist/exports/types.mjs +3 -0
- package/dist/exports/utils/guards.d.mts +5 -0
- package/dist/exports/utils/guards.mjs +3 -0
- package/dist/guards-D1ax7TKN.mjs +57 -0
- package/dist/guards-D1ax7TKN.mjs.map +1 -0
- package/dist/guards-DC2Ll67p.d.mts +31 -0
- package/dist/guards-DC2Ll67p.d.mts.map +1 -0
- package/dist/index.d.mts +12 -0
- package/dist/index.mjs +13 -0
- package/dist/operations-registry-CBmGut8O.d.mts +9 -0
- package/dist/operations-registry-CBmGut8O.d.mts.map +1 -0
- package/dist/operations-registry-D8INFH9J.mjs +145 -0
- package/dist/operations-registry-D8INFH9J.mjs.map +1 -0
- package/dist/param-CFyhvphn.mjs +14 -0
- package/dist/param-CFyhvphn.mjs.map +1 -0
- package/dist/param-Cmdv_exJ.d.mts +8 -0
- package/dist/param-Cmdv_exJ.d.mts.map +1 -0
- package/dist/plan-BrZtMUA9.d.mts +517 -0
- package/dist/plan-BrZtMUA9.d.mts.map +1 -0
- package/dist/query-lane-context-BTtg0xm8.d.mts +278 -0
- package/dist/query-lane-context-BTtg0xm8.d.mts.map +1 -0
- package/dist/query-operation-registry-B6bClJs8.d.mts +27 -0
- package/dist/query-operation-registry-B6bClJs8.d.mts.map +1 -0
- package/dist/schema-XcyJSq4j.mjs +174 -0
- package/dist/schema-XcyJSq4j.mjs.map +1 -0
- package/dist/schema-j3Srik3R.d.mts +88 -0
- package/dist/schema-j3Srik3R.d.mts.map +1 -0
- package/dist/types-BZKzxgOb.mjs +18 -0
- package/dist/types-BZKzxgOb.mjs.map +1 -0
- package/dist/types-CMyotK6U.d.mts +443 -0
- package/dist/types-CMyotK6U.d.mts.map +1 -0
- package/dist/types-I6Hsg-GU.mjs +1102 -0
- package/dist/types-I6Hsg-GU.mjs.map +1 -0
- package/package.json +37 -53
- package/src/ast/codec-types.ts +123 -22
- package/src/ast/driver-types.ts +20 -3
- package/src/ast/join.ts +3 -23
- package/src/ast/sql-codecs.ts +81 -0
- package/src/ast/types.ts +1704 -74
- package/src/exports/ast.ts +1 -7
- package/src/exports/guards.ts +3 -4
- package/src/exports/query-operations.ts +1 -0
- package/src/exports/utils/guards.ts +1 -0
- package/src/operations-registry.ts +115 -89
- package/src/plan.ts +4 -4
- package/src/query-lane-context.ts +79 -1
- package/src/query-operation-registry.ts +35 -0
- package/src/schema.ts +104 -43
- package/src/types.ts +333 -84
- package/src/utils/guards.ts +44 -80
- package/dist/ast/adapter-types.d.ts +0 -28
- package/dist/ast/adapter-types.d.ts.map +0 -1
- package/dist/ast/codec-types.d.ts +0 -141
- package/dist/ast/codec-types.d.ts.map +0 -1
- package/dist/ast/common.d.ts +0 -7
- package/dist/ast/common.d.ts.map +0 -1
- package/dist/ast/delete.d.ts +0 -8
- package/dist/ast/delete.d.ts.map +0 -1
- package/dist/ast/driver-types.d.ts +0 -20
- package/dist/ast/driver-types.d.ts.map +0 -1
- package/dist/ast/insert.d.ts +0 -8
- package/dist/ast/insert.d.ts.map +0 -1
- package/dist/ast/join.d.ts +0 -6
- package/dist/ast/join.d.ts.map +0 -1
- package/dist/ast/order.d.ts +0 -6
- package/dist/ast/order.d.ts.map +0 -1
- package/dist/ast/predicate.d.ts +0 -4
- package/dist/ast/predicate.d.ts.map +0 -1
- package/dist/ast/select.d.ts +0 -18
- package/dist/ast/select.d.ts.map +0 -1
- package/dist/ast/types.d.ts +0 -118
- package/dist/ast/types.d.ts.map +0 -1
- package/dist/ast/update.d.ts +0 -9
- package/dist/ast/update.d.ts.map +0 -1
- package/dist/ast/util.d.ts +0 -2
- package/dist/ast/util.d.ts.map +0 -1
- package/dist/chunk-2F7DSEOU.js +0 -8
- package/dist/chunk-2F7DSEOU.js.map +0 -1
- package/dist/chunk-36WJWNHT.js +0 -1
- package/dist/chunk-36WJWNHT.js.map +0 -1
- package/dist/chunk-5N34PNVZ.js +0 -62
- package/dist/chunk-5N34PNVZ.js.map +0 -1
- package/dist/chunk-7I3EMQID.js +0 -16
- package/dist/chunk-7I3EMQID.js.map +0 -1
- package/dist/chunk-CBTYMOX2.js +0 -152
- package/dist/chunk-CBTYMOX2.js.map +0 -1
- package/dist/chunk-G52ENULI.js +0 -1
- package/dist/chunk-G52ENULI.js.map +0 -1
- package/dist/chunk-KYSP7L5C.js +0 -16
- package/dist/chunk-KYSP7L5C.js.map +0 -1
- package/dist/chunk-M23L3JHG.js +0 -159
- package/dist/chunk-M23L3JHG.js.map +0 -1
- package/dist/chunk-MM74SVJ4.js +0 -13
- package/dist/chunk-MM74SVJ4.js.map +0 -1
- package/dist/chunk-U7AXAUJA.js +0 -1
- package/dist/chunk-U7AXAUJA.js.map +0 -1
- package/dist/chunk-WZBPVEZI.js +0 -320
- package/dist/chunk-WZBPVEZI.js.map +0 -1
- package/dist/errors.d.ts +0 -2
- package/dist/errors.d.ts.map +0 -1
- package/dist/exports/ast.d.ts +0 -14
- package/dist/exports/ast.d.ts.map +0 -1
- package/dist/exports/ast.js +0 -46
- package/dist/exports/ast.js.map +0 -1
- package/dist/exports/errors.d.ts +0 -2
- package/dist/exports/errors.d.ts.map +0 -1
- package/dist/exports/errors.js +0 -9
- package/dist/exports/errors.js.map +0 -1
- package/dist/exports/guards.d.ts +0 -2
- package/dist/exports/guards.d.ts.map +0 -1
- package/dist/exports/guards.js +0 -21
- package/dist/exports/guards.js.map +0 -1
- package/dist/exports/operations-registry.d.ts +0 -2
- package/dist/exports/operations-registry.d.ts.map +0 -1
- package/dist/exports/operations-registry.js +0 -9
- package/dist/exports/operations-registry.js.map +0 -1
- package/dist/exports/param.d.ts +0 -3
- package/dist/exports/param.d.ts.map +0 -1
- package/dist/exports/param.js +0 -7
- package/dist/exports/param.js.map +0 -1
- package/dist/exports/plan.d.ts +0 -2
- package/dist/exports/plan.d.ts.map +0 -1
- package/dist/exports/plan.js +0 -7
- package/dist/exports/plan.js.map +0 -1
- package/dist/exports/query-lane-context.d.ts +0 -2
- package/dist/exports/query-lane-context.d.ts.map +0 -1
- package/dist/exports/query-lane-context.js +0 -2
- package/dist/exports/query-lane-context.js.map +0 -1
- package/dist/exports/schema.d.ts +0 -3
- package/dist/exports/schema.d.ts.map +0 -1
- package/dist/exports/schema.js +0 -14
- package/dist/exports/schema.js.map +0 -1
- package/dist/exports/types.d.ts +0 -2
- package/dist/exports/types.d.ts.map +0 -1
- package/dist/exports/types.js +0 -10
- package/dist/exports/types.js.map +0 -1
- package/dist/index.d.ts +0 -9
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -81
- package/dist/index.js.map +0 -1
- package/dist/operations-registry.d.ts +0 -5
- package/dist/operations-registry.d.ts.map +0 -1
- package/dist/param.d.ts +0 -4
- package/dist/param.d.ts.map +0 -1
- package/dist/plan.d.ts +0 -23
- package/dist/plan.d.ts.map +0 -1
- package/dist/query-lane-context.d.ts +0 -16
- package/dist/query-lane-context.d.ts.map +0 -1
- package/dist/schema.d.ts +0 -63
- package/dist/schema.d.ts.map +0 -1
- package/dist/types.d.ts +0 -332
- package/dist/types.d.ts.map +0 -1
- package/dist/utils/guards.d.ts +0 -55
- package/dist/utils/guards.d.ts.map +0 -1
- package/src/ast/common.ts +0 -36
- package/src/ast/delete.ts +0 -17
- package/src/ast/insert.ts +0 -17
- package/src/ast/order.ts +0 -11
- package/src/ast/predicate.ts +0 -30
- package/src/ast/select.ts +0 -39
- package/src/ast/update.ts +0 -19
|
@@ -0,0 +1,517 @@
|
|
|
1
|
+
import { ReturnSpec } from "@prisma-next/operations";
|
|
2
|
+
import { ExecutionPlan, ParamDescriptor, PlanRefs } from "@prisma-next/contract/types";
|
|
3
|
+
import { StorageColumn } from "@prisma-next/sql-contract/types";
|
|
4
|
+
import { SqlLoweringSpec } from "@prisma-next/sql-operations";
|
|
5
|
+
|
|
6
|
+
//#region src/ast/types.d.ts
|
|
7
|
+
type Direction = 'asc' | 'desc';
|
|
8
|
+
type BinaryOp = 'eq' | 'neq' | 'gt' | 'lt' | 'gte' | 'lte' | 'like' | 'ilike' | 'in' | 'notIn';
|
|
9
|
+
type AggregateCountFn = 'count';
|
|
10
|
+
type AggregateOpFn = 'sum' | 'avg' | 'min' | 'max';
|
|
11
|
+
type AggregateFn = AggregateCountFn | AggregateOpFn;
|
|
12
|
+
interface ExpressionSource {
|
|
13
|
+
toExpr(): AnyExpression;
|
|
14
|
+
}
|
|
15
|
+
interface ExpressionRewriter {
|
|
16
|
+
columnRef?(expr: ColumnRef): AnyExpression;
|
|
17
|
+
identifierRef?(expr: IdentifierRef): AnyExpression;
|
|
18
|
+
paramRef?(expr: ParamRef): ParamRef | LiteralExpr;
|
|
19
|
+
literal?(expr: LiteralExpr): LiteralExpr;
|
|
20
|
+
list?(expr: ListExpression): ListExpression | LiteralExpr;
|
|
21
|
+
select?(ast: SelectAst): SelectAst;
|
|
22
|
+
}
|
|
23
|
+
interface AstRewriter extends ExpressionRewriter {
|
|
24
|
+
tableSource?(source: TableSource): TableSource;
|
|
25
|
+
eqColJoinOn?(on: EqColJoinOn): EqColJoinOn | AnyExpression;
|
|
26
|
+
}
|
|
27
|
+
interface ExprVisitor<R> {
|
|
28
|
+
columnRef(expr: ColumnRef): R;
|
|
29
|
+
identifierRef(expr: IdentifierRef): R;
|
|
30
|
+
subquery(expr: SubqueryExpr): R;
|
|
31
|
+
operation(expr: OperationExpr): R;
|
|
32
|
+
aggregate(expr: AggregateExpr): R;
|
|
33
|
+
jsonObject(expr: JsonObjectExpr): R;
|
|
34
|
+
jsonArrayAgg(expr: JsonArrayAggExpr): R;
|
|
35
|
+
binary(expr: BinaryExpr): R;
|
|
36
|
+
and(expr: AndExpr): R;
|
|
37
|
+
or(expr: OrExpr): R;
|
|
38
|
+
exists(expr: ExistsExpr): R;
|
|
39
|
+
nullCheck(expr: NullCheckExpr): R;
|
|
40
|
+
not(expr: NotExpr): R;
|
|
41
|
+
literal(expr: LiteralExpr): R;
|
|
42
|
+
param(expr: ParamRef): R;
|
|
43
|
+
list(expr: ListExpression): R;
|
|
44
|
+
}
|
|
45
|
+
interface ExpressionFolder<T> {
|
|
46
|
+
empty: T;
|
|
47
|
+
combine(a: T, b: T): T;
|
|
48
|
+
isAbsorbing?(value: T): boolean;
|
|
49
|
+
columnRef?(expr: ColumnRef): T;
|
|
50
|
+
identifierRef?(expr: IdentifierRef): T;
|
|
51
|
+
paramRef?(expr: ParamRef): T;
|
|
52
|
+
literal?(expr: LiteralExpr): T;
|
|
53
|
+
list?(expr: ListExpression): T;
|
|
54
|
+
select?(ast: SelectAst): T;
|
|
55
|
+
}
|
|
56
|
+
type ProjectionExpr = AnyExpression;
|
|
57
|
+
type InsertValue = ColumnRef | ParamRef | DefaultValueExpr;
|
|
58
|
+
type JoinOnExpr = EqColJoinOn | AnyExpression;
|
|
59
|
+
type WhereArg = AnyExpression | ToWhereExpr;
|
|
60
|
+
type JsonObjectEntry = {
|
|
61
|
+
readonly key: string;
|
|
62
|
+
readonly value: ProjectionExpr;
|
|
63
|
+
};
|
|
64
|
+
declare abstract class AstNode {
|
|
65
|
+
abstract readonly kind: string;
|
|
66
|
+
protected freeze(): void;
|
|
67
|
+
}
|
|
68
|
+
declare abstract class QueryAst extends AstNode {
|
|
69
|
+
abstract collectRefs(): PlanRefs;
|
|
70
|
+
abstract collectParamRefs(): ParamRef[];
|
|
71
|
+
abstract toQueryAst(): AnyQueryAst;
|
|
72
|
+
collectColumnRefs(): ColumnRef[];
|
|
73
|
+
}
|
|
74
|
+
declare abstract class FromSource extends AstNode {
|
|
75
|
+
abstract collectRefs(): PlanRefs;
|
|
76
|
+
abstract rewrite(rewriter: AstRewriter): AnyFromSource;
|
|
77
|
+
abstract toFromSource(): AnyFromSource;
|
|
78
|
+
}
|
|
79
|
+
declare abstract class Expression extends AstNode implements ExpressionSource {
|
|
80
|
+
abstract accept<R>(visitor: ExprVisitor<R>): R;
|
|
81
|
+
abstract rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
82
|
+
abstract fold<T>(folder: ExpressionFolder<T>): T;
|
|
83
|
+
collectColumnRefs(): ColumnRef[];
|
|
84
|
+
collectParamRefs(): ParamRef[];
|
|
85
|
+
baseColumnRef(): ColumnRef;
|
|
86
|
+
toExpr(): AnyExpression;
|
|
87
|
+
not(): NotExpr;
|
|
88
|
+
}
|
|
89
|
+
declare class TableSource extends FromSource {
|
|
90
|
+
readonly kind: "table-source";
|
|
91
|
+
readonly name: string;
|
|
92
|
+
readonly alias: string | undefined;
|
|
93
|
+
constructor(name: string, alias?: string);
|
|
94
|
+
static named(name: string, alias?: string): TableSource;
|
|
95
|
+
rewrite(rewriter: AstRewriter): AnyFromSource;
|
|
96
|
+
toFromSource(): AnyFromSource;
|
|
97
|
+
collectRefs(): PlanRefs;
|
|
98
|
+
}
|
|
99
|
+
interface TableRef {
|
|
100
|
+
readonly name: string;
|
|
101
|
+
readonly alias?: string;
|
|
102
|
+
}
|
|
103
|
+
declare class DerivedTableSource extends FromSource {
|
|
104
|
+
readonly kind: "derived-table-source";
|
|
105
|
+
readonly alias: string;
|
|
106
|
+
readonly query: SelectAst;
|
|
107
|
+
constructor(alias: string, query: SelectAst);
|
|
108
|
+
static as(alias: string, query: SelectAst): DerivedTableSource;
|
|
109
|
+
rewrite(rewriter: AstRewriter): AnyFromSource;
|
|
110
|
+
toFromSource(): AnyFromSource;
|
|
111
|
+
collectRefs(): PlanRefs;
|
|
112
|
+
}
|
|
113
|
+
declare class ColumnRef extends Expression {
|
|
114
|
+
readonly kind: "column-ref";
|
|
115
|
+
readonly table: string;
|
|
116
|
+
readonly column: string;
|
|
117
|
+
constructor(table: string, column: string);
|
|
118
|
+
static of(table: string, column: string): ColumnRef;
|
|
119
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
120
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
121
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
122
|
+
baseColumnRef(): ColumnRef;
|
|
123
|
+
}
|
|
124
|
+
declare class IdentifierRef extends Expression {
|
|
125
|
+
readonly kind: "identifier-ref";
|
|
126
|
+
readonly name: string;
|
|
127
|
+
constructor(name: string);
|
|
128
|
+
static of(name: string): IdentifierRef;
|
|
129
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
130
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
131
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
132
|
+
}
|
|
133
|
+
declare class ParamRef extends Expression {
|
|
134
|
+
readonly kind: "param-ref";
|
|
135
|
+
readonly value: unknown;
|
|
136
|
+
readonly name: string | undefined;
|
|
137
|
+
readonly codecId: string | undefined;
|
|
138
|
+
constructor(value: unknown, options?: {
|
|
139
|
+
name?: string;
|
|
140
|
+
codecId?: string;
|
|
141
|
+
});
|
|
142
|
+
static of(value: unknown, options?: {
|
|
143
|
+
name?: string;
|
|
144
|
+
codecId?: string;
|
|
145
|
+
}): ParamRef;
|
|
146
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
147
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
148
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
149
|
+
}
|
|
150
|
+
declare class DefaultValueExpr extends AstNode {
|
|
151
|
+
readonly kind: "default-value";
|
|
152
|
+
constructor();
|
|
153
|
+
}
|
|
154
|
+
declare class LiteralExpr extends Expression {
|
|
155
|
+
readonly kind: "literal";
|
|
156
|
+
readonly value: unknown;
|
|
157
|
+
constructor(value: unknown);
|
|
158
|
+
static of(value: unknown): LiteralExpr;
|
|
159
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
160
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
161
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
162
|
+
}
|
|
163
|
+
declare class SubqueryExpr extends Expression {
|
|
164
|
+
readonly kind: "subquery";
|
|
165
|
+
readonly query: SelectAst;
|
|
166
|
+
constructor(query: SelectAst);
|
|
167
|
+
static of(query: SelectAst): SubqueryExpr;
|
|
168
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
169
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
170
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
171
|
+
}
|
|
172
|
+
declare class OperationExpr extends Expression {
|
|
173
|
+
readonly kind: "operation";
|
|
174
|
+
readonly method: string;
|
|
175
|
+
readonly forTypeId: string;
|
|
176
|
+
readonly self: AnyExpression;
|
|
177
|
+
readonly args: ReadonlyArray<AnyExpression | ParamRef | LiteralExpr>;
|
|
178
|
+
readonly returns: ReturnSpec;
|
|
179
|
+
readonly lowering: SqlLoweringSpec;
|
|
180
|
+
constructor(options: {
|
|
181
|
+
readonly method: string;
|
|
182
|
+
readonly forTypeId: string;
|
|
183
|
+
readonly self: AnyExpression;
|
|
184
|
+
readonly args: ReadonlyArray<AnyExpression | ParamRef | LiteralExpr> | undefined;
|
|
185
|
+
readonly returns: ReturnSpec;
|
|
186
|
+
readonly lowering: SqlLoweringSpec;
|
|
187
|
+
});
|
|
188
|
+
static function(options: {
|
|
189
|
+
readonly method: string;
|
|
190
|
+
readonly forTypeId: string;
|
|
191
|
+
readonly self: AnyExpression;
|
|
192
|
+
readonly args: ReadonlyArray<AnyExpression | ParamRef | LiteralExpr> | undefined;
|
|
193
|
+
readonly returns: ReturnSpec;
|
|
194
|
+
readonly template: string;
|
|
195
|
+
}): OperationExpr;
|
|
196
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
197
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
198
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
199
|
+
baseColumnRef(): ColumnRef;
|
|
200
|
+
}
|
|
201
|
+
declare class AggregateExpr extends Expression {
|
|
202
|
+
readonly kind: "aggregate";
|
|
203
|
+
readonly fn: AggregateFn;
|
|
204
|
+
readonly expr: AnyExpression | undefined;
|
|
205
|
+
constructor(fn: AggregateFn, expr?: AnyExpression);
|
|
206
|
+
static count(expr?: AnyExpression): AggregateExpr;
|
|
207
|
+
static sum(expr: AnyExpression): AggregateExpr;
|
|
208
|
+
static avg(expr: AnyExpression): AggregateExpr;
|
|
209
|
+
static min(expr: AnyExpression): AggregateExpr;
|
|
210
|
+
static max(expr: AnyExpression): AggregateExpr;
|
|
211
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
212
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
213
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
214
|
+
}
|
|
215
|
+
declare class JsonObjectExpr extends Expression {
|
|
216
|
+
readonly kind: "json-object";
|
|
217
|
+
readonly entries: ReadonlyArray<JsonObjectEntry>;
|
|
218
|
+
constructor(entries: ReadonlyArray<JsonObjectEntry>);
|
|
219
|
+
static entry(key: string, value: ProjectionExpr): JsonObjectEntry;
|
|
220
|
+
static fromEntries(entries: ReadonlyArray<JsonObjectEntry>): JsonObjectExpr;
|
|
221
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
222
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
223
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
224
|
+
}
|
|
225
|
+
declare class OrderByItem extends AstNode {
|
|
226
|
+
readonly kind: "order-by-item";
|
|
227
|
+
readonly expr: AnyExpression;
|
|
228
|
+
readonly dir: Direction;
|
|
229
|
+
constructor(expr: AnyExpression, dir: Direction);
|
|
230
|
+
static asc(expr: AnyExpression): OrderByItem;
|
|
231
|
+
static desc(expr: AnyExpression): OrderByItem;
|
|
232
|
+
rewrite(rewriter: ExpressionRewriter): OrderByItem;
|
|
233
|
+
}
|
|
234
|
+
declare class JsonArrayAggExpr extends Expression {
|
|
235
|
+
readonly kind: "json-array-agg";
|
|
236
|
+
readonly expr: AnyExpression;
|
|
237
|
+
readonly onEmpty: 'null' | 'emptyArray';
|
|
238
|
+
readonly orderBy: ReadonlyArray<OrderByItem> | undefined;
|
|
239
|
+
constructor(expr: AnyExpression, onEmpty?: 'null' | 'emptyArray', orderBy?: ReadonlyArray<OrderByItem>);
|
|
240
|
+
static of(expr: AnyExpression, onEmpty?: 'null' | 'emptyArray', orderBy?: ReadonlyArray<OrderByItem>): JsonArrayAggExpr;
|
|
241
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
242
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
243
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
244
|
+
}
|
|
245
|
+
declare class ListExpression extends Expression {
|
|
246
|
+
readonly kind: "list";
|
|
247
|
+
readonly values: ReadonlyArray<AnyExpression>;
|
|
248
|
+
constructor(values: ReadonlyArray<AnyExpression>);
|
|
249
|
+
static of(values: ReadonlyArray<AnyExpression>): ListExpression;
|
|
250
|
+
static fromValues(values: ReadonlyArray<unknown>): ListExpression;
|
|
251
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
252
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
253
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
254
|
+
}
|
|
255
|
+
declare class BinaryExpr extends Expression {
|
|
256
|
+
readonly kind: "binary";
|
|
257
|
+
readonly op: BinaryOp;
|
|
258
|
+
readonly left: AnyExpression;
|
|
259
|
+
readonly right: AnyExpression;
|
|
260
|
+
constructor(op: BinaryOp, left: AnyExpression, right: AnyExpression);
|
|
261
|
+
static eq(left: AnyExpression, right: AnyExpression): BinaryExpr;
|
|
262
|
+
static neq(left: AnyExpression, right: AnyExpression): BinaryExpr;
|
|
263
|
+
static gt(left: AnyExpression, right: AnyExpression): BinaryExpr;
|
|
264
|
+
static lt(left: AnyExpression, right: AnyExpression): BinaryExpr;
|
|
265
|
+
static gte(left: AnyExpression, right: AnyExpression): BinaryExpr;
|
|
266
|
+
static lte(left: AnyExpression, right: AnyExpression): BinaryExpr;
|
|
267
|
+
static like(left: AnyExpression, right: AnyExpression): BinaryExpr;
|
|
268
|
+
static ilike(left: AnyExpression, right: AnyExpression): BinaryExpr;
|
|
269
|
+
static in(left: AnyExpression, right: AnyExpression): BinaryExpr;
|
|
270
|
+
static notIn(left: AnyExpression, right: AnyExpression): BinaryExpr;
|
|
271
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
272
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
273
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
274
|
+
}
|
|
275
|
+
declare class AndExpr extends Expression {
|
|
276
|
+
readonly kind: "and";
|
|
277
|
+
readonly exprs: ReadonlyArray<AnyExpression>;
|
|
278
|
+
constructor(exprs: ReadonlyArray<AnyExpression>);
|
|
279
|
+
static of(exprs: ReadonlyArray<AnyExpression>): AndExpr;
|
|
280
|
+
static true(): AndExpr;
|
|
281
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
282
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
283
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
284
|
+
}
|
|
285
|
+
declare class OrExpr extends Expression {
|
|
286
|
+
readonly kind: "or";
|
|
287
|
+
readonly exprs: ReadonlyArray<AnyExpression>;
|
|
288
|
+
constructor(exprs: ReadonlyArray<AnyExpression>);
|
|
289
|
+
static of(exprs: ReadonlyArray<AnyExpression>): OrExpr;
|
|
290
|
+
static false(): OrExpr;
|
|
291
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
292
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
293
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
294
|
+
}
|
|
295
|
+
declare class ExistsExpr extends Expression {
|
|
296
|
+
readonly kind: "exists";
|
|
297
|
+
readonly notExists: boolean;
|
|
298
|
+
readonly subquery: SelectAst;
|
|
299
|
+
constructor(subquery: SelectAst, notExists?: boolean);
|
|
300
|
+
static exists(subquery: SelectAst): ExistsExpr;
|
|
301
|
+
static notExists(subquery: SelectAst): ExistsExpr;
|
|
302
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
303
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
304
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
305
|
+
}
|
|
306
|
+
declare class NullCheckExpr extends Expression {
|
|
307
|
+
readonly kind: "null-check";
|
|
308
|
+
readonly expr: AnyExpression;
|
|
309
|
+
readonly isNull: boolean;
|
|
310
|
+
constructor(expr: AnyExpression, isNull: boolean);
|
|
311
|
+
static isNull(expr: AnyExpression): NullCheckExpr;
|
|
312
|
+
static isNotNull(expr: AnyExpression): NullCheckExpr;
|
|
313
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
314
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
315
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
316
|
+
}
|
|
317
|
+
declare class NotExpr extends Expression {
|
|
318
|
+
readonly kind: "not";
|
|
319
|
+
readonly expr: AnyExpression;
|
|
320
|
+
constructor(expr: AnyExpression);
|
|
321
|
+
toWhereExpr(): AnyExpression;
|
|
322
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
323
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
324
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
325
|
+
}
|
|
326
|
+
declare class EqColJoinOn extends AstNode {
|
|
327
|
+
readonly kind: "eq-col-join-on";
|
|
328
|
+
readonly left: ColumnRef;
|
|
329
|
+
readonly right: ColumnRef;
|
|
330
|
+
constructor(left: ColumnRef, right: ColumnRef);
|
|
331
|
+
static of(left: ColumnRef, right: ColumnRef): EqColJoinOn;
|
|
332
|
+
rewrite(rewriter: AstRewriter): EqColJoinOn | AnyExpression;
|
|
333
|
+
}
|
|
334
|
+
declare class JoinAst extends AstNode {
|
|
335
|
+
readonly kind: "join";
|
|
336
|
+
readonly joinType: 'inner' | 'left' | 'right' | 'full';
|
|
337
|
+
readonly source: AnyFromSource;
|
|
338
|
+
readonly lateral: boolean;
|
|
339
|
+
readonly on: JoinOnExpr;
|
|
340
|
+
constructor(joinType: 'inner' | 'left' | 'right' | 'full', source: AnyFromSource, on: JoinOnExpr, lateral?: boolean);
|
|
341
|
+
static inner(source: AnyFromSource, on: JoinOnExpr, lateral?: boolean): JoinAst;
|
|
342
|
+
static left(source: AnyFromSource, on: JoinOnExpr, lateral?: boolean): JoinAst;
|
|
343
|
+
static right(source: AnyFromSource, on: JoinOnExpr, lateral?: boolean): JoinAst;
|
|
344
|
+
static full(source: AnyFromSource, on: JoinOnExpr, lateral?: boolean): JoinAst;
|
|
345
|
+
rewrite(rewriter: AstRewriter): JoinAst;
|
|
346
|
+
}
|
|
347
|
+
declare class ProjectionItem extends AstNode {
|
|
348
|
+
readonly kind: "projection-item";
|
|
349
|
+
readonly alias: string;
|
|
350
|
+
readonly expr: ProjectionExpr;
|
|
351
|
+
constructor(alias: string, expr: ProjectionExpr);
|
|
352
|
+
static of(alias: string, expr: ProjectionExpr): ProjectionItem;
|
|
353
|
+
}
|
|
354
|
+
interface SelectAstOptions {
|
|
355
|
+
readonly from: AnyFromSource;
|
|
356
|
+
readonly joins: ReadonlyArray<JoinAst> | undefined;
|
|
357
|
+
readonly projection: ReadonlyArray<ProjectionItem>;
|
|
358
|
+
readonly where: AnyExpression | undefined;
|
|
359
|
+
readonly orderBy: ReadonlyArray<OrderByItem> | undefined;
|
|
360
|
+
readonly distinct: true | undefined;
|
|
361
|
+
readonly distinctOn: ReadonlyArray<AnyExpression> | undefined;
|
|
362
|
+
readonly groupBy: ReadonlyArray<AnyExpression> | undefined;
|
|
363
|
+
readonly having: AnyExpression | undefined;
|
|
364
|
+
readonly limit: number | undefined;
|
|
365
|
+
readonly offset: number | undefined;
|
|
366
|
+
readonly selectAllIntent: {
|
|
367
|
+
readonly table?: string;
|
|
368
|
+
} | undefined;
|
|
369
|
+
}
|
|
370
|
+
declare class SelectAst extends QueryAst {
|
|
371
|
+
readonly kind: "select";
|
|
372
|
+
readonly from: AnyFromSource;
|
|
373
|
+
readonly joins: ReadonlyArray<JoinAst> | undefined;
|
|
374
|
+
readonly projection: ReadonlyArray<ProjectionItem>;
|
|
375
|
+
readonly where: AnyExpression | undefined;
|
|
376
|
+
readonly orderBy: ReadonlyArray<OrderByItem> | undefined;
|
|
377
|
+
readonly distinct: true | undefined;
|
|
378
|
+
readonly distinctOn: ReadonlyArray<AnyExpression> | undefined;
|
|
379
|
+
readonly groupBy: ReadonlyArray<AnyExpression> | undefined;
|
|
380
|
+
readonly having: AnyExpression | undefined;
|
|
381
|
+
readonly limit: number | undefined;
|
|
382
|
+
readonly offset: number | undefined;
|
|
383
|
+
readonly selectAllIntent: {
|
|
384
|
+
readonly table?: string;
|
|
385
|
+
} | undefined;
|
|
386
|
+
constructor(options: SelectAstOptions);
|
|
387
|
+
static from(from: AnyFromSource): SelectAst;
|
|
388
|
+
withFrom(from: AnyFromSource): SelectAst;
|
|
389
|
+
withJoins(joins: ReadonlyArray<JoinAst>): SelectAst;
|
|
390
|
+
withProjection(projection: ReadonlyArray<ProjectionItem>): SelectAst;
|
|
391
|
+
addProjection(alias: string, expr: ProjectionExpr): SelectAst;
|
|
392
|
+
withWhere(where: AnyExpression | undefined): SelectAst;
|
|
393
|
+
withOrderBy(orderBy: ReadonlyArray<OrderByItem>): SelectAst;
|
|
394
|
+
withDistinct(enabled?: boolean): SelectAst;
|
|
395
|
+
withDistinctOn(distinctOn: ReadonlyArray<AnyExpression>): SelectAst;
|
|
396
|
+
withGroupBy(groupBy: ReadonlyArray<AnyExpression>): SelectAst;
|
|
397
|
+
withHaving(having: AnyExpression | undefined): SelectAst;
|
|
398
|
+
withLimit(limit: number | undefined): SelectAst;
|
|
399
|
+
withOffset(offset: number | undefined): SelectAst;
|
|
400
|
+
withSelectAllIntent(selectAllIntent: {
|
|
401
|
+
readonly table?: string;
|
|
402
|
+
} | undefined): SelectAst;
|
|
403
|
+
rewrite(rewriter: AstRewriter): SelectAst;
|
|
404
|
+
collectColumnRefs(): ColumnRef[];
|
|
405
|
+
collectParamRefs(): ParamRef[];
|
|
406
|
+
collectRefs(): PlanRefs;
|
|
407
|
+
toQueryAst(): AnyQueryAst;
|
|
408
|
+
}
|
|
409
|
+
declare abstract class InsertOnConflictAction extends AstNode {
|
|
410
|
+
abstract toInsertOnConflictAction(): AnyInsertOnConflictAction;
|
|
411
|
+
}
|
|
412
|
+
declare class DoNothingConflictAction extends InsertOnConflictAction {
|
|
413
|
+
readonly kind: "do-nothing";
|
|
414
|
+
constructor();
|
|
415
|
+
toInsertOnConflictAction(): AnyInsertOnConflictAction;
|
|
416
|
+
}
|
|
417
|
+
declare class DoUpdateSetConflictAction extends InsertOnConflictAction {
|
|
418
|
+
readonly kind: "do-update-set";
|
|
419
|
+
readonly set: Readonly<Record<string, ColumnRef | ParamRef>>;
|
|
420
|
+
constructor(set: Readonly<Record<string, ColumnRef | ParamRef>>);
|
|
421
|
+
toInsertOnConflictAction(): AnyInsertOnConflictAction;
|
|
422
|
+
}
|
|
423
|
+
declare class InsertOnConflict extends AstNode {
|
|
424
|
+
readonly kind: "insert-on-conflict";
|
|
425
|
+
readonly columns: ReadonlyArray<ColumnRef>;
|
|
426
|
+
readonly action: AnyInsertOnConflictAction;
|
|
427
|
+
constructor(columns: ReadonlyArray<ColumnRef>, action: AnyInsertOnConflictAction);
|
|
428
|
+
static on(columns: ReadonlyArray<ColumnRef>): InsertOnConflict;
|
|
429
|
+
doNothing(): InsertOnConflict;
|
|
430
|
+
doUpdateSet(set: Readonly<Record<string, ColumnRef | ParamRef>>): InsertOnConflict;
|
|
431
|
+
}
|
|
432
|
+
declare class InsertAst extends QueryAst {
|
|
433
|
+
readonly kind: "insert";
|
|
434
|
+
readonly table: TableSource;
|
|
435
|
+
readonly rows: ReadonlyArray<Readonly<Record<string, InsertValue>>>;
|
|
436
|
+
readonly onConflict: InsertOnConflict | undefined;
|
|
437
|
+
readonly returning: ReadonlyArray<ColumnRef> | undefined;
|
|
438
|
+
constructor(table: TableSource, rows?: ReadonlyArray<Record<string, InsertValue>>, onConflict?: InsertOnConflict, returning?: ReadonlyArray<ColumnRef>);
|
|
439
|
+
static into(table: TableSource): InsertAst;
|
|
440
|
+
withValues(values: Record<string, InsertValue>): InsertAst;
|
|
441
|
+
withRows(rows: ReadonlyArray<Record<string, InsertValue>>): InsertAst;
|
|
442
|
+
withReturning(returning: ReadonlyArray<ColumnRef> | undefined): InsertAst;
|
|
443
|
+
withOnConflict(onConflict: InsertOnConflict | undefined): InsertAst;
|
|
444
|
+
collectParamRefs(): ParamRef[];
|
|
445
|
+
collectRefs(): PlanRefs;
|
|
446
|
+
toQueryAst(): AnyQueryAst;
|
|
447
|
+
}
|
|
448
|
+
declare class UpdateAst extends QueryAst {
|
|
449
|
+
readonly kind: "update";
|
|
450
|
+
readonly table: TableSource;
|
|
451
|
+
readonly set: Readonly<Record<string, ColumnRef | ParamRef>>;
|
|
452
|
+
readonly where: AnyExpression | undefined;
|
|
453
|
+
readonly returning: ReadonlyArray<ColumnRef> | undefined;
|
|
454
|
+
constructor(table: TableSource, set?: Readonly<Record<string, ColumnRef | ParamRef>>, where?: AnyExpression, returning?: ReadonlyArray<ColumnRef>);
|
|
455
|
+
static table(table: TableSource): UpdateAst;
|
|
456
|
+
withSet(set: Readonly<Record<string, ColumnRef | ParamRef>>): UpdateAst;
|
|
457
|
+
withWhere(where: AnyExpression | undefined): UpdateAst;
|
|
458
|
+
withReturning(returning: ReadonlyArray<ColumnRef> | undefined): UpdateAst;
|
|
459
|
+
collectParamRefs(): ParamRef[];
|
|
460
|
+
collectRefs(): PlanRefs;
|
|
461
|
+
toQueryAst(): AnyQueryAst;
|
|
462
|
+
}
|
|
463
|
+
declare class DeleteAst extends QueryAst {
|
|
464
|
+
readonly kind: "delete";
|
|
465
|
+
readonly table: TableSource;
|
|
466
|
+
readonly where: AnyExpression | undefined;
|
|
467
|
+
readonly returning: ReadonlyArray<ColumnRef> | undefined;
|
|
468
|
+
constructor(table: TableSource, where?: AnyExpression, returning?: ReadonlyArray<ColumnRef>);
|
|
469
|
+
static from(table: TableSource): DeleteAst;
|
|
470
|
+
withWhere(where: AnyExpression | undefined): DeleteAst;
|
|
471
|
+
withReturning(returning: ReadonlyArray<ColumnRef> | undefined): DeleteAst;
|
|
472
|
+
collectParamRefs(): ParamRef[];
|
|
473
|
+
collectRefs(): PlanRefs;
|
|
474
|
+
toQueryAst(): AnyQueryAst;
|
|
475
|
+
}
|
|
476
|
+
type AnyQueryAst = SelectAst | InsertAst | UpdateAst | DeleteAst;
|
|
477
|
+
type AnyFromSource = TableSource | DerivedTableSource;
|
|
478
|
+
type AnyExpression = ColumnRef | IdentifierRef | ParamRef | LiteralExpr | SubqueryExpr | OperationExpr | AggregateExpr | JsonObjectExpr | JsonArrayAggExpr | ListExpression | BinaryExpr | AndExpr | OrExpr | ExistsExpr | NullCheckExpr | NotExpr;
|
|
479
|
+
type AnyInsertOnConflictAction = DoNothingConflictAction | DoUpdateSetConflictAction;
|
|
480
|
+
type AnyInsertValue = ColumnRef | ParamRef | DefaultValueExpr;
|
|
481
|
+
type AnyOperationArg = AnyExpression | ParamRef | LiteralExpr;
|
|
482
|
+
declare const queryAstKinds: ReadonlySet<string>;
|
|
483
|
+
declare const whereExprKinds: ReadonlySet<string>;
|
|
484
|
+
declare function isQueryAst(value: unknown): value is AnyQueryAst;
|
|
485
|
+
declare function isWhereExpr(value: unknown): value is AnyExpression;
|
|
486
|
+
interface ToWhereExpr {
|
|
487
|
+
toWhereExpr(): AnyExpression;
|
|
488
|
+
}
|
|
489
|
+
interface LoweredStatement {
|
|
490
|
+
readonly sql: string;
|
|
491
|
+
readonly params: readonly unknown[];
|
|
492
|
+
readonly annotations?: Record<string, unknown>;
|
|
493
|
+
}
|
|
494
|
+
//#endregion
|
|
495
|
+
//#region src/plan.d.ts
|
|
496
|
+
/**
|
|
497
|
+
* SQL query plan produced by lanes before lowering.
|
|
498
|
+
*
|
|
499
|
+
* Lanes build ASTs and metadata but do not perform SQL lowering.
|
|
500
|
+
* The `sql` field is absent - lowering happens in the runtime executor.
|
|
501
|
+
*
|
|
502
|
+
* Structurally aligns with ExecutionPlan<Row, AnyQueryAst> (without sql field) to maintain
|
|
503
|
+
* compatibility with ExecutionPlan/Plan-based utilities.
|
|
504
|
+
* The generic parameter `_Row` is preserved for type extraction via ResultType.
|
|
505
|
+
*/
|
|
506
|
+
interface SqlQueryPlan<_Row = unknown> extends Pick<ExecutionPlan<_Row, AnyQueryAst>, 'params' | 'meta'> {
|
|
507
|
+
readonly ast: AnyQueryAst;
|
|
508
|
+
readonly _Row?: _Row;
|
|
509
|
+
}
|
|
510
|
+
/**
|
|
511
|
+
* Augments the last ParamDescriptor in the array with codecId and nativeType from columnMeta.
|
|
512
|
+
* This is used when building WHERE expressions to ensure param descriptors have type information.
|
|
513
|
+
*/
|
|
514
|
+
declare function augmentDescriptorWithColumnMeta(descriptors: ParamDescriptor[], columnMeta: StorageColumn | undefined): void;
|
|
515
|
+
//#endregion
|
|
516
|
+
export { TableRef as $, IdentifierRef as A, LiteralExpr as B, DoUpdateSetConflictAction as C, ExpressionFolder as D, ExprVisitor as E, JoinOnExpr as F, OrExpr as G, NotExpr as H, JsonArrayAggExpr as I, ProjectionExpr as J, OrderByItem as K, JsonObjectEntry as L, InsertOnConflict as M, InsertValue as N, ExpressionRewriter as O, JoinAst as P, SubqueryExpr as Q, JsonObjectExpr as R, DoNothingConflictAction as S, ExistsExpr as T, NullCheckExpr as U, LoweredStatement as V, OperationExpr as W, SelectAst as X, ProjectionItem as Y, SelectAstOptions as Z, ColumnRef as _, AggregateFn as a, isWhereExpr as at, DerivedTableSource as b, AnyExpression as c, AnyInsertValue as d, TableSource as et, AnyOperationArg as f, BinaryOp as g, BinaryExpr as h, AggregateExpr as i, isQueryAst as it, InsertAst as j, ExpressionSource as k, AnyFromSource as l, AstRewriter as m, augmentDescriptorWithColumnMeta as n, UpdateAst as nt, AggregateOpFn as o, queryAstKinds as ot, AnyQueryAst as p, ParamRef as q, AggregateCountFn as r, WhereArg as rt, AndExpr as s, whereExprKinds as st, SqlQueryPlan as t, ToWhereExpr as tt, AnyInsertOnConflictAction as u, DefaultValueExpr as v, EqColJoinOn as w, Direction as x, DeleteAst as y, ListExpression as z };
|
|
517
|
+
//# sourceMappingURL=plan-BrZtMUA9.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan-BrZtMUA9.d.mts","names":[],"sources":["../src/ast/types.ts","../src/plan.ts"],"sourcesContent":[],"mappings":"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"}
|