@typesql/core 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -0
- package/README.md +4 -0
- package/dist/engine/ast.d.ts +270 -13
- package/dist/engine/ast.d.ts.map +1 -1
- package/dist/engine/binder/from.d.ts +108 -23
- package/dist/engine/binder/from.d.ts.map +1 -1
- package/dist/engine/cache.d.ts +1 -1
- package/dist/engine/ddl/apply.d.ts +71 -10
- package/dist/engine/ddl/apply.d.ts.map +1 -1
- package/dist/engine/infer.d.ts +13 -3
- package/dist/engine/infer.d.ts.map +1 -1
- package/dist/engine/lexer/lex.d.ts +70 -25
- package/dist/engine/lexer/lex.d.ts.map +1 -1
- package/dist/engine/lexer/unicode.d.ts +251 -0
- package/dist/engine/lexer/unicode.d.ts.map +1 -0
- package/dist/engine/lexer/unicode.js +2 -0
- package/dist/engine/lexer/unicode.js.map +1 -0
- package/dist/engine/parser/ddl.d.ts +221 -35
- package/dist/engine/parser/ddl.d.ts.map +1 -1
- package/dist/engine/parser/dml.d.ts +91 -25
- package/dist/engine/parser/dml.d.ts.map +1 -1
- package/dist/engine/parser/expr.d.ts +120 -29
- package/dist/engine/parser/expr.d.ts.map +1 -1
- package/dist/engine/parser/json.d.ts +190 -0
- package/dist/engine/parser/json.d.ts.map +1 -0
- package/dist/engine/parser/json.js +2 -0
- package/dist/engine/parser/json.js.map +1 -0
- package/dist/engine/parser/merge.d.ts +69 -0
- package/dist/engine/parser/merge.d.ts.map +1 -0
- package/dist/engine/parser/merge.js +2 -0
- package/dist/engine/parser/merge.js.map +1 -0
- package/dist/engine/parser/select.d.ts +154 -29
- package/dist/engine/parser/select.d.ts.map +1 -1
- package/dist/engine/parser/stmt.d.ts +27 -3
- package/dist/engine/parser/stmt.d.ts.map +1 -1
- package/dist/engine/parser/typename.d.ts +8 -3
- package/dist/engine/parser/typename.d.ts.map +1 -1
- package/dist/engine/parser/utility.d.ts +51 -0
- package/dist/engine/parser/utility.d.ts.map +1 -0
- package/dist/engine/parser/utility.js +2 -0
- package/dist/engine/parser/utility.js.map +1 -0
- package/dist/engine/parser/xml.d.ts +129 -0
- package/dist/engine/parser/xml.d.ts.map +1 -0
- package/dist/engine/parser/xml.js +2 -0
- package/dist/engine/parser/xml.js.map +1 -0
- package/dist/engine/project/dml.d.ts +149 -36
- package/dist/engine/project/dml.d.ts.map +1 -1
- package/dist/engine/project/merge.d.ts +86 -0
- package/dist/engine/project/merge.d.ts.map +1 -0
- package/dist/engine/project/merge.js +2 -0
- package/dist/engine/project/merge.js.map +1 -0
- package/dist/engine/project/naming.d.ts +11 -2
- package/dist/engine/project/naming.d.ts.map +1 -1
- package/dist/engine/project/select.d.ts +61 -6
- package/dist/engine/project/select.d.ts.map +1 -1
- package/dist/engine/project/stmt.d.ts +7 -4
- package/dist/engine/project/stmt.d.ts.map +1 -1
- package/dist/engine/typer/catalog.d.ts +17 -0
- package/dist/engine/typer/catalog.d.ts.map +1 -1
- package/dist/engine/typer/operators.d.ts +7 -4
- package/dist/engine/typer/operators.d.ts.map +1 -1
- package/dist/engine/typer/params.d.ts +24 -1
- package/dist/engine/typer/params.d.ts.map +1 -1
- package/dist/engine/typer/sqljson.d.ts +113 -0
- package/dist/engine/typer/sqljson.d.ts.map +1 -0
- package/dist/engine/typer/sqljson.js +2 -0
- package/dist/engine/typer/sqljson.js.map +1 -0
- package/dist/engine/typer/typeof.d.ts +51 -7
- package/dist/engine/typer/typeof.d.ts.map +1 -1
- package/dist/engine/typer/xml.d.ts +74 -0
- package/dist/engine/typer/xml.d.ts.map +1 -0
- package/dist/engine/typer/xml.js +2 -0
- package/dist/engine/typer/xml.js.map +1 -0
- package/package.json +2 -2
- package/src/engine/ast.ts +205 -12
- package/src/engine/binder/from.ts +125 -10
- package/src/engine/cache.ts +1 -1
- package/src/engine/ddl/apply.ts +53 -13
- package/src/engine/infer.ts +10 -2
- package/src/engine/lexer/lex.ts +170 -77
- package/src/engine/lexer/unicode.ts +153 -0
- package/src/engine/parser/ddl.ts +269 -37
- package/src/engine/parser/dml.ts +125 -41
- package/src/engine/parser/expr.ts +161 -30
- package/src/engine/parser/json.ts +418 -0
- package/src/engine/parser/merge.ts +116 -0
- package/src/engine/parser/select.ts +257 -49
- package/src/engine/parser/stmt.ts +25 -7
- package/src/engine/parser/typename.ts +12 -5
- package/src/engine/parser/utility.ts +92 -0
- package/src/engine/parser/xml.ts +271 -0
- package/src/engine/project/dml.ts +207 -43
- package/src/engine/project/merge.ts +149 -0
- package/src/engine/project/naming.ts +8 -1
- package/src/engine/project/select.ts +100 -12
- package/src/engine/project/stmt.ts +7 -4
- package/src/engine/typer/catalog.ts +19 -0
- package/src/engine/typer/operators.ts +13 -4
- package/src/engine/typer/params.ts +12 -0
- package/src/engine/typer/sqljson.ts +172 -0
- package/src/engine/typer/typeof.ts +58 -6
- package/src/engine/typer/xml.ts +122 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
# @typesql/core
|
|
2
2
|
|
|
3
|
+
## 0.3.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Parse cursor statements (`DECLARE ... CURSOR FOR query` checks its query and types its parameters; `FETCH`, `MOVE`, `CLOSE`), `END`, `ABORT` and `REASSIGN OWNED`, and more DDL as PostgreSQL 18 does: `CREATE RECURSIVE VIEW`, `CREATE SCHEMA` with embedded elements (applied by `ApplyDdl`), table-level and `ALTER TABLE ... ADD` `NOT NULL col`, `NO INHERIT`, `[NOT] ENFORCED`, `WITHOUT OVERLAPS` keys, `CREATE TABLE ... OF type`, `AS EXECUTE`, any type modifier list and any `PARTITION BY` strategy.
|
|
8
|
+
|
|
9
|
+
- Any operator Postgres can lex is accepted: user-defined and geometric operators such as `*=`, `~<~`, `|>>` or `@-@`, prefix operators like `@@ box` and `OPERATOR(schema.op) x`; built-in geometric tests type as `boolean`, unknown operators as `unknown`.
|
|
10
|
+
|
|
11
|
+
- Parse and type more PostgreSQL expression syntax: typed literals with keyword type names (`timestamp with time zone '…'`, `char(20) '…'`, `interval(2) '…'`), named (`f(a => 1)`, `f(a := 1)`) and `VARIADIC` arguments, `x LIKE ANY (…)` and `op ANY/ALL` with every operator, `(a, b) OVERLAPS (c, d)`, `AT LOCAL`, `IS [NFC|…] NORMALIZED`, `COLLATION FOR (…)`, `SUBSTRING(… SIMILAR … ESCAPE …)`, `e[i].field`, several `WITHIN GROUP` sort keys, and `CURRENT_DATE`, `CAST(…)` or `COLLATION FOR (…)` in FROM.
|
|
12
|
+
|
|
13
|
+
- Queries can use `ROWS FROM (f(…), g(…)) [WITH ORDINALITY]`, `TABLESAMPLE method (…) [REPEATABLE (…)]`, `SEARCH` / `CYCLE` on recursive CTEs (the columns they add are typed), joins nested Postgres-style (`a JOIN b LEFT JOIN c ON … ON …`, `((SELECT …) s JOIN t ON …) j`) and `WITHIN GROUP (ORDER BY a, b)`.
|
|
14
|
+
|
|
15
|
+
- SQL/XML is parsed and typed: `XMLELEMENT(NAME n, XMLATTRIBUTES(…), …)`, `XMLFOREST`, `XMLCONCAT`, `XMLPI`, `XMLROOT`, `XMLPARSE`, `XMLSERIALIZE(… AS type)`, `XMLEXISTS(… PASSING …)`, `IS [NOT] DOCUMENT` and `XMLTABLE(… COLUMNS …)` in `FROM`, with Postgres's column names, types and nullability.
|
|
16
|
+
|
|
17
|
+
- The SQL/JSON syntax of PostgreSQL 16+ parses and is typed: `JSON_OBJECT`, `JSON_ARRAY` (values or a query), `JSON_OBJECTAGG` / `JSON_ARRAYAGG`, `JSON`, `JSON_SCALAR`, `JSON_SERIALIZE`, `JSON_EXISTS` / `JSON_VALUE` / `JSON_QUERY` with all their clauses, `IS [NOT] JSON`, and `JSON_TABLE` in FROM with typed columns.
|
|
18
|
+
|
|
19
|
+
- Queries can use `MERGE` (`WHEN [NOT] MATCHED [BY SOURCE | BY TARGET]`, `RETURNING` with `merge_action()`, inside `WITH`), `RETURNING old.*` / `new.*` and `RETURNING WITH (OLD AS o, NEW AS n)`, array, `jsonb` and field assignment targets (`SET a[1] = $1`, `INSERT INTO t (c.f)`), `WHERE CURRENT OF` and `SELECT … INTO new_table`, all checked and typed like PostgreSQL 18.
|
|
20
|
+
|
|
21
|
+
### Patch Changes
|
|
22
|
+
|
|
23
|
+
- The package description and README say the parser is tested against PostgreSQL 18's regression suite and link to how.
|
|
24
|
+
|
|
25
|
+
- Strings and numbers lex like Postgres: `E'\\'` and other escaped backslashes before the closing quote, string literals continued on the next line, `U&'…'` / `U&"…"` with `UESCAPE`, invalid Unicode escapes and trailing junk such as `123abc` are errors, and numbers of any length no longer fail with TS2589.
|
|
26
|
+
|
|
27
|
+
- Recognising `SELECT … INTO` costs ordinary SELECT statements less type-checking work.
|
|
28
|
+
|
|
29
|
+
- A JOIN's `ON` condition can only reference the two sides of its join, `SELECT DISTINCT` needs a target list, and a function in `FROM` cannot have `OVER` / `FILTER` / `WITHIN GROUP`, as in Postgres.
|
|
30
|
+
|
|
31
|
+
- The pattern forms of `SUBSTRING` (`FROM 'regex'`, `SIMILAR … ESCAPE …`) are nullable, `FETCH … WITH TIES` may be followed by `OFFSET`, and `CREATE VIEW … USING` is a syntax error, as in Postgres.
|
|
32
|
+
|
|
3
33
|
## 0.2.0
|
|
4
34
|
|
|
5
35
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -5,6 +5,10 @@ Type-level Postgres SQL for TypeScript. You write a SQL string literal; the comp
|
|
|
5
5
|
the resulting schema. No codegen, no database connection, no build step. Zero runtime
|
|
6
6
|
dependencies.
|
|
7
7
|
|
|
8
|
+
Tested against PostgreSQL's own regression suite: on all 49,999 statements of PostgreSQL 18's
|
|
9
|
+
regression tests that can be checked statically, the parser accepts exactly what Postgres accepts
|
|
10
|
+
and rejects its syntax errors ([how it is tested](https://typesql.karsli.net/guide/postgres-compatibility)).
|
|
11
|
+
|
|
8
12
|
```sh
|
|
9
13
|
pnpm add @typesql/core
|
|
10
14
|
```
|
package/dist/engine/ast.d.ts
CHANGED
|
@@ -67,7 +67,12 @@ export type Cast = {
|
|
|
67
67
|
readonly e: Expr;
|
|
68
68
|
readonly to: string;
|
|
69
69
|
};
|
|
70
|
-
/**
|
|
70
|
+
/**
|
|
71
|
+
* Function call, aggregate, or window call. `args` may end with `NamedArg`s and a `VariadicArg`.
|
|
72
|
+
* Special syntax that Postgres turns into a function call is a `Call` too:
|
|
73
|
+
* `COLLATION FOR (e)` → `pg_collation_for(e)`, `e AT LOCAL` → `timezone(e)`,
|
|
74
|
+
* `(a, b) OVERLAPS (c, d)` → `overlaps(a, b, c, d)`, `e IS [form] NORMALIZED` → `is_normalized(e[, 'form'])`.
|
|
75
|
+
*/
|
|
71
76
|
export type Call = {
|
|
72
77
|
readonly t: "call";
|
|
73
78
|
readonly name: string;
|
|
@@ -79,7 +84,7 @@ export type Call = {
|
|
|
79
84
|
readonly over: boolean;
|
|
80
85
|
/** The window specification when `over` is true (`OVER name` → `{ name, partition: [], order: [] }`). */
|
|
81
86
|
readonly win: WindowSpec | null;
|
|
82
|
-
/** `WITHIN GROUP (ORDER BY e)` — the ordered expression,
|
|
87
|
+
/** `WITHIN GROUP (ORDER BY e, ...)` — the ordered expression, or a `row` of them when there are several (the first types the result). */
|
|
83
88
|
readonly withinGroup: Expr | null;
|
|
84
89
|
};
|
|
85
90
|
/** `[existing_window] [PARTITION BY ...] [ORDER BY ...] [frame]` — the frame clause is parsed and discarded. */
|
|
@@ -195,7 +200,7 @@ export type Position = {
|
|
|
195
200
|
readonly sub: Expr;
|
|
196
201
|
readonly in: Expr;
|
|
197
202
|
};
|
|
198
|
-
/** `SUBSTRING(e [FROM a] [FOR b])
|
|
203
|
+
/** `SUBSTRING(e [FROM a] [FOR b])`; `SUBSTRING(e SIMILAR p ESCAPE c)` is `from: p, for: c` (both are `substring(text, text, text)`). */
|
|
199
204
|
export type Substring = {
|
|
200
205
|
readonly t: "substring";
|
|
201
206
|
readonly e: Expr;
|
|
@@ -232,9 +237,75 @@ export type FieldAccess = {
|
|
|
232
237
|
readonly e: Expr;
|
|
233
238
|
readonly name: string;
|
|
234
239
|
};
|
|
240
|
+
/** `name => e` / `name := e`: a named argument (call arguments only; positional ones come first). */
|
|
241
|
+
export type NamedArg = {
|
|
242
|
+
readonly t: "named";
|
|
243
|
+
readonly name: string;
|
|
244
|
+
readonly e: Expr;
|
|
245
|
+
};
|
|
246
|
+
/** `VARIADIC e`: an array passed as the variadic parameter (the last call argument only). */
|
|
247
|
+
export type VariadicArg = {
|
|
248
|
+
readonly t: "variadic";
|
|
249
|
+
readonly e: Expr;
|
|
250
|
+
};
|
|
235
251
|
/** `GROUPING(...)`, `NULLIF`, `COALESCE`, `GREATEST`, `LEAST` are `Call`s with those names. */
|
|
252
|
+
/**
|
|
253
|
+
* SQL/XML special forms (parser/xml.ts, typer/xml.ts): `XMLCONCAT(args)`,
|
|
254
|
+
* `XMLELEMENT(NAME n [, XMLATTRIBUTES(named)] [, args])`, `XMLFOREST(named)`, `XMLPI(NAME n [, arg])`,
|
|
255
|
+
* `XMLROOT(xml, VERSION v | NO VALUE [, STANDALONE ...])` (args: xml[, version]),
|
|
256
|
+
* `XMLPARSE(DOCUMENT | CONTENT arg)`, `XMLSERIALIZE(DOCUMENT | CONTENT arg AS to)`,
|
|
257
|
+
* `arg IS DOCUMENT` (`IS NOT DOCUMENT` is `NOT (arg IS DOCUMENT)`). Element, attribute and PI
|
|
258
|
+
* names are not kept. `XMLEXISTS(x PASSING d)` is the call `xmlexists(x, d)`, as in Postgres.
|
|
259
|
+
*/
|
|
260
|
+
export type XmlExpr = {
|
|
261
|
+
readonly t: "xml";
|
|
262
|
+
readonly op: "concat" | "element" | "forest" | "pi" | "root" | "parse" | "serialize" | "document";
|
|
263
|
+
readonly args: readonly Expr[];
|
|
264
|
+
/** XMLATTRIBUTES / XMLFOREST values (any type). */
|
|
265
|
+
readonly named: readonly Expr[];
|
|
266
|
+
/** XMLSERIALIZE's target type (canonical), else null. */
|
|
267
|
+
readonly to: string | null;
|
|
268
|
+
};
|
|
269
|
+
/** `e FORMAT JSON [ENCODING …]`: a text / bytea value embedded as JSON. */
|
|
270
|
+
export type JsonFormat = {
|
|
271
|
+
readonly t: "jsonfmt";
|
|
272
|
+
readonly e: Expr;
|
|
273
|
+
};
|
|
274
|
+
/** `e IS [NOT] JSON [VALUE | SCALAR | ARRAY | OBJECT] [WITH | WITHOUT UNIQUE [KEYS]]` */
|
|
275
|
+
export type IsJson = {
|
|
276
|
+
readonly t: "isjson";
|
|
277
|
+
readonly e: Expr;
|
|
278
|
+
readonly not: boolean;
|
|
279
|
+
};
|
|
280
|
+
/** `JSON(…)`, `JSON_SCALAR`, `JSON_SERIALIZE`, `JSON_OBJECT`, `JSON_ARRAY`, `JSON_EXISTS`, `JSON_VALUE`, `JSON_QUERY`. */
|
|
281
|
+
export type JsonFn = {
|
|
282
|
+
readonly t: "jsonfn";
|
|
283
|
+
/** The function, also Postgres's output column name. */
|
|
284
|
+
readonly fn: "json" | "json_scalar" | "json_serialize" | "json_object" | "json_array" | "json_exists" | "json_value" | "json_query";
|
|
285
|
+
/** JSON_OBJECT: `[k1, v1, k2, v2, …]`; query functions: `[context item, path]`; others: the values. */
|
|
286
|
+
readonly args: readonly Expr[];
|
|
287
|
+
/** `PASSING` values (query functions). */
|
|
288
|
+
readonly passing: readonly Expr[];
|
|
289
|
+
/** `DEFAULT e ON EMPTY | ON ERROR` expressions (query functions). */
|
|
290
|
+
readonly defaults: readonly Expr[];
|
|
291
|
+
/** `JSON_ARRAY(query)` */
|
|
292
|
+
readonly q: SelectStmt | null;
|
|
293
|
+
/** `RETURNING` type (canonical), or null. */
|
|
294
|
+
readonly ret: string | null;
|
|
295
|
+
/** `ABSENT ON NULL` (JSON_OBJECT, JSON_ARRAY). */
|
|
296
|
+
readonly absent: boolean;
|
|
297
|
+
/** `UNKNOWN ON ERROR` (JSON_EXISTS). */
|
|
298
|
+
readonly unknownOnError: boolean;
|
|
299
|
+
};
|
|
300
|
+
/** `JSON_OBJECTAGG` / `JSON_ARRAYAGG`: `e` is the `json[b]_[object_]agg[_strict]` call they mean. */
|
|
301
|
+
export type JsonAgg = {
|
|
302
|
+
readonly t: "jsonagg";
|
|
303
|
+
readonly fn: "json_objectagg" | "json_arrayagg";
|
|
304
|
+
readonly e: Call;
|
|
305
|
+
readonly ret: string | null;
|
|
306
|
+
};
|
|
236
307
|
/** The precise union of expression nodes (documentation and tooling; not used as a constraint). */
|
|
237
|
-
export type ExprNode = ColRef | Star | NumLit | StrLit | BoolLit | NullLit | Param | DefaultExpr | TypedLit | BinOp | UnOp | Cast | Call | CaseExpr | IsTest | IsDistinct | Between | InList | InSub | Like | Quantified | ScalarSub | Exists | ArrayCtor | ArraySub | RowCtor | Subscript | Slice | Extract | Position | Substring | Trim | Overlay | AtTimeZone | Collate | FieldAccess;
|
|
308
|
+
export type ExprNode = ColRef | Star | NumLit | StrLit | BoolLit | NullLit | Param | DefaultExpr | TypedLit | BinOp | UnOp | Cast | Call | CaseExpr | IsTest | IsDistinct | Between | InList | InSub | Like | Quantified | ScalarSub | Exists | ArrayCtor | ArraySub | RowCtor | Subscript | Slice | Extract | Position | Substring | Trim | Overlay | AtTimeZone | Collate | FieldAccess | XmlExpr | JsonFormat | IsJson | JsonFn | JsonAgg | NamedArg | VariadicArg;
|
|
238
309
|
/** Discriminants of expression nodes. */
|
|
239
310
|
export type ExprTag = ExprNode["t"];
|
|
240
311
|
/**
|
|
@@ -279,13 +350,32 @@ export type FromFunc = {
|
|
|
279
350
|
readonly call: Expr;
|
|
280
351
|
readonly alias: string | null;
|
|
281
352
|
readonly colAliases: readonly string[] | null;
|
|
282
|
-
readonly colDefs: readonly
|
|
283
|
-
readonly name: string;
|
|
284
|
-
readonly type: string;
|
|
285
|
-
}[] | null;
|
|
353
|
+
readonly colDefs: readonly ColDef[] | null;
|
|
286
354
|
readonly lateral: boolean;
|
|
287
355
|
readonly withOrdinality: boolean;
|
|
288
356
|
};
|
|
357
|
+
/** `XMLTABLE` column: `name type [PATH p] [DEFAULT d] [[NOT] NULL]`, or `name FOR ORDINALITY` (int4, not null). */
|
|
358
|
+
export type XmlTableCol = {
|
|
359
|
+
readonly name: string;
|
|
360
|
+
readonly type: string;
|
|
361
|
+
readonly path: Expr | null;
|
|
362
|
+
readonly def: Expr | null;
|
|
363
|
+
readonly notNull: boolean;
|
|
364
|
+
readonly ordinality: boolean;
|
|
365
|
+
};
|
|
366
|
+
/** `[LATERAL] XMLTABLE([XMLNAMESPACES(uri AS name, ...),] row PASSING doc COLUMNS ...) [alias [(cols)]]`, always lateral. */
|
|
367
|
+
export type FromXmlTable = {
|
|
368
|
+
readonly t: "xmltable";
|
|
369
|
+
/** XMLNAMESPACES URIs. */
|
|
370
|
+
readonly ns: readonly Expr[];
|
|
371
|
+
/** `XMLNAMESPACES(DEFAULT uri)` was given (parsed, then rejected like Postgres). */
|
|
372
|
+
readonly defaultNs: boolean;
|
|
373
|
+
readonly row: Expr;
|
|
374
|
+
readonly doc: Expr;
|
|
375
|
+
readonly cols: readonly XmlTableCol[];
|
|
376
|
+
readonly alias: string | null;
|
|
377
|
+
readonly colAliases: readonly string[] | null;
|
|
378
|
+
};
|
|
289
379
|
export type JoinKind = "inner" | "left" | "right" | "full" | "cross";
|
|
290
380
|
export type FromJoin = {
|
|
291
381
|
readonly t: "join";
|
|
@@ -296,11 +386,81 @@ export type FromJoin = {
|
|
|
296
386
|
readonly using: readonly string[] | null;
|
|
297
387
|
readonly natural: boolean;
|
|
298
388
|
};
|
|
299
|
-
|
|
389
|
+
/** A JSON_TABLE column: `{ n: name, t: { type, nullable } }` (an output column entry). */
|
|
390
|
+
export type JsonTableCol = {
|
|
391
|
+
readonly n: string;
|
|
392
|
+
readonly t: {
|
|
393
|
+
readonly type: string;
|
|
394
|
+
readonly nullable: boolean;
|
|
395
|
+
};
|
|
396
|
+
};
|
|
397
|
+
/** `JSON_TABLE(…) [alias [(cols)]]`, always lateral (parser/json.ts `ParseJsonTable`). */
|
|
398
|
+
export type FromJsonTable = {
|
|
399
|
+
readonly t: "jsontable";
|
|
400
|
+
readonly jt: {
|
|
401
|
+
readonly ctx: Expr;
|
|
402
|
+
readonly path: Expr;
|
|
403
|
+
readonly passing: readonly Expr[];
|
|
404
|
+
/** Output columns in Postgres's order (nested paths' columns after their parent's). */
|
|
405
|
+
readonly cols: readonly JsonTableCol[];
|
|
406
|
+
/** Path and column names, in declaration order (must be distinct). */
|
|
407
|
+
readonly names: readonly string[];
|
|
408
|
+
/** DEFAULT expressions and the type of their column. */
|
|
409
|
+
readonly defs: readonly {
|
|
410
|
+
readonly e: Expr;
|
|
411
|
+
readonly type: string;
|
|
412
|
+
}[];
|
|
413
|
+
};
|
|
414
|
+
readonly alias: string | null;
|
|
415
|
+
readonly colAliases: readonly string[] | null;
|
|
416
|
+
};
|
|
417
|
+
/** Column definition list entry of a function in FROM (`AS (a int, b text)`). */
|
|
418
|
+
export type ColDef = {
|
|
419
|
+
readonly name: string;
|
|
420
|
+
readonly type: string;
|
|
421
|
+
};
|
|
422
|
+
/** `table [AS alias] TABLESAMPLE method (args) [REPEATABLE (seed)]` */
|
|
423
|
+
export type FromSample = {
|
|
424
|
+
readonly t: "sample";
|
|
425
|
+
readonly table: FromTable;
|
|
426
|
+
readonly method: string;
|
|
427
|
+
readonly args: readonly Expr[];
|
|
428
|
+
readonly repeatable: Expr | null;
|
|
429
|
+
};
|
|
430
|
+
/** `ROWS FROM (f(...) [AS (coldefs)], ...) [WITH ORDINALITY] [AS] alias [(cols) | (coldefs)]` */
|
|
431
|
+
export type FromRowsFrom = {
|
|
432
|
+
readonly t: "rowsfrom";
|
|
433
|
+
readonly funcs: readonly {
|
|
434
|
+
readonly call: Expr;
|
|
435
|
+
readonly colDefs: readonly ColDef[] | null;
|
|
436
|
+
}[];
|
|
437
|
+
readonly alias: string | null;
|
|
438
|
+
readonly colAliases: readonly string[] | null;
|
|
439
|
+
readonly colDefs: readonly ColDef[] | null;
|
|
440
|
+
readonly lateral: boolean;
|
|
441
|
+
readonly withOrdinality: boolean;
|
|
442
|
+
};
|
|
443
|
+
export type FromItem = FromTable | FromSub | FromFunc | FromJoin | FromXmlTable | FromJsonTable | FromSample | FromRowsFrom;
|
|
444
|
+
/** `SEARCH {DEPTH | BREADTH} FIRST BY cols SET seq` */
|
|
445
|
+
export type CteSearch = {
|
|
446
|
+
readonly breadth: boolean;
|
|
447
|
+
readonly cols: readonly string[];
|
|
448
|
+
readonly set: string;
|
|
449
|
+
};
|
|
450
|
+
/** `CYCLE cols SET mark [TO value DEFAULT default] USING path` (`to` / `default` are constants) */
|
|
451
|
+
export type CteCycle = {
|
|
452
|
+
readonly cols: readonly string[];
|
|
453
|
+
readonly set: string;
|
|
454
|
+
readonly to: Expr | null;
|
|
455
|
+
readonly default: Expr | null;
|
|
456
|
+
readonly using: string;
|
|
457
|
+
};
|
|
300
458
|
export type Cte = {
|
|
301
459
|
readonly name: string;
|
|
302
460
|
readonly cols: readonly string[] | null;
|
|
303
461
|
readonly q: Stmt;
|
|
462
|
+
readonly search: CteSearch | null;
|
|
463
|
+
readonly cycle: CteCycle | null;
|
|
304
464
|
};
|
|
305
465
|
export type WithClause = {
|
|
306
466
|
readonly recursive: boolean;
|
|
@@ -359,17 +519,36 @@ export type InsertSource = {
|
|
|
359
519
|
} | {
|
|
360
520
|
readonly t: "default";
|
|
361
521
|
};
|
|
522
|
+
/**
|
|
523
|
+
* Indirection on an assignment target (`a[1] = …`, `c.f = …`, `INSERT INTO t (a[1:2], c.f)`):
|
|
524
|
+
* the target as an expression rooted at the bare column (`{ t: "col", tbl: null, name }`),
|
|
525
|
+
* wrapped in `idx` / `slice` / `field` nodes, or `null` when the column is assigned whole.
|
|
526
|
+
*/
|
|
527
|
+
export type TargetInd = Expr | null;
|
|
362
528
|
export type SetItem = {
|
|
363
529
|
readonly t: "set";
|
|
364
530
|
readonly col: string;
|
|
365
531
|
readonly e: Expr;
|
|
366
532
|
}
|
|
367
|
-
/** `SET
|
|
533
|
+
/** `SET a[1] = e`, `SET c.f = e`: `target` is the indirection (see `TargetInd`). */
|
|
534
|
+
| {
|
|
535
|
+
readonly t: "setind";
|
|
536
|
+
readonly col: string;
|
|
537
|
+
readonly target: Expr;
|
|
538
|
+
readonly e: Expr;
|
|
539
|
+
}
|
|
540
|
+
/** `SET (a, b) = (1, 2)` or `= (SELECT ...)`; `ind` is null unless a target has indirection. */
|
|
368
541
|
| {
|
|
369
542
|
readonly t: "setmulti";
|
|
370
543
|
readonly cols: readonly string[];
|
|
544
|
+
readonly ind: readonly TargetInd[] | null;
|
|
371
545
|
readonly e: Expr;
|
|
372
546
|
};
|
|
547
|
+
/** `RETURNING WITH (OLD AS o, NEW AS n)` options, in order (`[]` without the clause). */
|
|
548
|
+
export type ReturningOpt = {
|
|
549
|
+
readonly kind: "old" | "new";
|
|
550
|
+
readonly alias: string;
|
|
551
|
+
};
|
|
373
552
|
export type OnConflict = {
|
|
374
553
|
readonly t: "nothing";
|
|
375
554
|
} | {
|
|
@@ -383,9 +562,12 @@ export type InsertStmt = {
|
|
|
383
562
|
readonly table: TableRef;
|
|
384
563
|
readonly alias: string | null;
|
|
385
564
|
readonly columns: readonly string[] | null;
|
|
565
|
+
/** Indirection per column (`INSERT INTO t (a[1], c.f)`), `null` when no column has any. */
|
|
566
|
+
readonly colInd: readonly TargetInd[] | null;
|
|
386
567
|
readonly source: InsertSource;
|
|
387
568
|
readonly onConflict: OnConflict | null;
|
|
388
569
|
readonly returning: readonly Target[] | null;
|
|
570
|
+
readonly retOpts: readonly ReturningOpt[];
|
|
389
571
|
};
|
|
390
572
|
export type UpdateStmt = {
|
|
391
573
|
readonly t: "update";
|
|
@@ -394,8 +576,10 @@ export type UpdateStmt = {
|
|
|
394
576
|
readonly alias: string | null;
|
|
395
577
|
readonly set: readonly SetItem[];
|
|
396
578
|
readonly from: readonly FromItem[];
|
|
579
|
+
/** `WHERE CURRENT OF cursor` is `null` (the cursor's row is not known at the type level). */
|
|
397
580
|
readonly where: Expr | null;
|
|
398
581
|
readonly returning: readonly Target[] | null;
|
|
582
|
+
readonly retOpts: readonly ReturningOpt[];
|
|
399
583
|
};
|
|
400
584
|
export type DeleteStmt = {
|
|
401
585
|
readonly t: "delete";
|
|
@@ -403,9 +587,48 @@ export type DeleteStmt = {
|
|
|
403
587
|
readonly table: TableRef;
|
|
404
588
|
readonly alias: string | null;
|
|
405
589
|
readonly using: readonly FromItem[];
|
|
590
|
+
/** `WHERE CURRENT OF cursor` is `null` (the cursor's row is not known at the type level). */
|
|
406
591
|
readonly where: Expr | null;
|
|
407
592
|
readonly returning: readonly Target[] | null;
|
|
593
|
+
readonly retOpts: readonly ReturningOpt[];
|
|
408
594
|
};
|
|
595
|
+
/**
|
|
596
|
+
* `WHEN [NOT] MATCHED [BY SOURCE | BY TARGET] [AND cond] THEN action` of MERGE.
|
|
597
|
+
* `match`: `"matched"`, `"source"` (NOT MATCHED BY SOURCE) or `"target"` (NOT MATCHED [BY TARGET]).
|
|
598
|
+
*/
|
|
599
|
+
export type MergeWhen = {
|
|
600
|
+
readonly match: "matched" | "source" | "target";
|
|
601
|
+
readonly cond: Expr | null;
|
|
602
|
+
readonly action: MergeAction;
|
|
603
|
+
};
|
|
604
|
+
export type MergeAction = {
|
|
605
|
+
readonly t: "update";
|
|
606
|
+
readonly set: readonly SetItem[];
|
|
607
|
+
} | {
|
|
608
|
+
readonly t: "delete";
|
|
609
|
+
}
|
|
610
|
+
/** `INSERT [(cols)] [OVERRIDING …] VALUES (…)`; `values` is `null` for `DEFAULT VALUES`. */
|
|
611
|
+
| {
|
|
612
|
+
readonly t: "insert";
|
|
613
|
+
readonly columns: readonly string[] | null;
|
|
614
|
+
readonly colInd: readonly TargetInd[] | null;
|
|
615
|
+
readonly values: readonly Expr[] | null;
|
|
616
|
+
} | {
|
|
617
|
+
readonly t: "nothing";
|
|
618
|
+
};
|
|
619
|
+
export type MergeStmt = {
|
|
620
|
+
readonly t: "merge";
|
|
621
|
+
readonly with: WithClause | null;
|
|
622
|
+
readonly table: TableRef;
|
|
623
|
+
readonly alias: string | null;
|
|
624
|
+
readonly source: FromItem;
|
|
625
|
+
readonly on: Expr;
|
|
626
|
+
readonly whens: readonly MergeWhen[];
|
|
627
|
+
readonly returning: readonly Target[] | null;
|
|
628
|
+
readonly retOpts: readonly ReturningOpt[];
|
|
629
|
+
};
|
|
630
|
+
/** The DML statements (they share WITH, a target table and RETURNING). */
|
|
631
|
+
export type DmlStmt = InsertStmt | UpdateStmt | DeleteStmt | MergeStmt;
|
|
409
632
|
export type ColumnDef = {
|
|
410
633
|
readonly name: string;
|
|
411
634
|
/** canonical type name (arrays as `T[]`) */
|
|
@@ -418,6 +641,11 @@ export type ColumnDef = {
|
|
|
418
641
|
export type TableConstraint = {
|
|
419
642
|
readonly t: "pk";
|
|
420
643
|
readonly cols: readonly string[];
|
|
644
|
+
}
|
|
645
|
+
/** table-level `NOT NULL col` */
|
|
646
|
+
| {
|
|
647
|
+
readonly t: "not_null";
|
|
648
|
+
readonly col: string;
|
|
421
649
|
} | {
|
|
422
650
|
readonly t: "other";
|
|
423
651
|
};
|
|
@@ -436,6 +664,8 @@ export type CreateTable = {
|
|
|
436
664
|
readonly like: readonly LikeClause[];
|
|
437
665
|
/** `INHERITS (parents)` or `PARTITION OF parent`: parent columns come first, with their defaults */
|
|
438
666
|
readonly inherits: readonly TableRef[];
|
|
667
|
+
/** `OF type`: a typed table, whose columns come from a composite type (not tracked: ApplyDdl rejects it) */
|
|
668
|
+
readonly of: TableRef | null;
|
|
439
669
|
};
|
|
440
670
|
/** `CREATE TABLE name [(cols)] AS select`. Columns come from the query; all nullable, no defaults (as Postgres). */
|
|
441
671
|
export type CreateTableAs = {
|
|
@@ -443,7 +673,12 @@ export type CreateTableAs = {
|
|
|
443
673
|
readonly ifNotExists: boolean;
|
|
444
674
|
readonly table: TableRef;
|
|
445
675
|
readonly cols: readonly string[] | null;
|
|
446
|
-
|
|
676
|
+
/** the query, or `AS EXECUTE name(…)` (a prepared statement, whose columns are unknown) */
|
|
677
|
+
readonly q: SelectStmt | ExecuteSource;
|
|
678
|
+
};
|
|
679
|
+
export type ExecuteSource = {
|
|
680
|
+
readonly t: "execute";
|
|
681
|
+
readonly name: string;
|
|
447
682
|
};
|
|
448
683
|
export type AlterAction = {
|
|
449
684
|
readonly t: "add_column";
|
|
@@ -546,10 +781,16 @@ export type DropType = {
|
|
|
546
781
|
readonly names: readonly TableRef[];
|
|
547
782
|
readonly cascade: boolean;
|
|
548
783
|
};
|
|
784
|
+
/**
|
|
785
|
+
* `CREATE SCHEMA name [AUTHORIZATION role] [element ...]`. `elements` holds the embedded CREATE TABLE
|
|
786
|
+
* and CREATE VIEW statements (the other elements have no schema effect), tables first, then views:
|
|
787
|
+
* the order Postgres runs them in. Their names are qualified with the new schema.
|
|
788
|
+
*/
|
|
549
789
|
export type CreateSchema = {
|
|
550
790
|
readonly t: "create_schema";
|
|
551
791
|
readonly ifNotExists: boolean;
|
|
552
792
|
readonly name: string;
|
|
793
|
+
readonly elements: readonly (CreateTable | CreateView)[];
|
|
553
794
|
};
|
|
554
795
|
export type DropSchema = {
|
|
555
796
|
readonly t: "drop_schema";
|
|
@@ -575,6 +816,22 @@ export type NoopStmt = {
|
|
|
575
816
|
readonly t: "noop";
|
|
576
817
|
readonly what: string;
|
|
577
818
|
};
|
|
578
|
-
|
|
579
|
-
export type
|
|
819
|
+
/** `DECLARE name [options] CURSOR [WITH[OUT] HOLD] FOR query`: the query is checked; the statement returns no rows. */
|
|
820
|
+
export type DeclareCursor = {
|
|
821
|
+
readonly t: "declare_cursor";
|
|
822
|
+
readonly name: string;
|
|
823
|
+
readonly q: SelectStmt;
|
|
824
|
+
};
|
|
825
|
+
/** `FETCH` / `MOVE [direction] [FROM | IN] cursor`. The cursor's query is another statement: no row type. */
|
|
826
|
+
export type FetchStmt = {
|
|
827
|
+
readonly t: "fetch" | "move";
|
|
828
|
+
readonly cursor: string;
|
|
829
|
+
};
|
|
830
|
+
/** `CLOSE name | ALL` (`cursor` is `null` for ALL). */
|
|
831
|
+
export type CloseCursor = {
|
|
832
|
+
readonly t: "close_cursor";
|
|
833
|
+
readonly cursor: string | null;
|
|
834
|
+
};
|
|
835
|
+
export type DdlStmt = CreateTable | CreateTableAs | AlterTable | DropTable | CreateView | DropView | CreateEnum | AlterEnum | DropType | CreateSchema | DropSchema | RenameSchema | CreateFunction | NoopStmt | DeclareCursor | FetchStmt | CloseCursor;
|
|
836
|
+
export type Stmt = SelectStmt | InsertStmt | UpdateStmt | DeleteStmt | MergeStmt | DdlStmt;
|
|
580
837
|
//# sourceMappingURL=ast.d.ts.map
|
package/dist/engine/ast.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast.d.ts","sources":["../../src/engine/ast.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ast.d.ts","sources":["../../src/engine/ast.ts"],"names":[],"mappings":"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"}
|