orez 0.4.42 → 0.4.43

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.
@@ -0,0 +1,22 @@
1
+ import type { Pass } from '../types.js';
2
+ export declare const COUNT_MARKER_PREFIX = "__orez_count__";
3
+ /**
4
+ * Restructure a counted-delete CTE statement in place. `stmt` is the inner
5
+ * tag-wrapped statement node (`{ SelectStmt: … }`). Returns the count column
6
+ * name when the statement matched and was rewritten, else null (untouched).
7
+ */
8
+ export declare function transformCountedDeleteCte(stmt: any): {
9
+ countColumn: string;
10
+ } | null;
11
+ /**
12
+ * Fold an executed counted-delete result back into the original statement's
13
+ * shape: N marker rows → `[{ <col>: N }]`. `columnsOrSql` is either the
14
+ * result column list or the executed SQL (for zero-row results, where some
15
+ * drivers report no columns). Returns null when the marker is absent.
16
+ */
17
+ export declare function foldCountMarkerResult(rowCount: number, columnsOrSql: readonly string[] | string): {
18
+ rows: Array<Record<string, number>>;
19
+ columns: string[];
20
+ } | null;
21
+ export declare const dmlCtePass: Pass;
22
+ //# sourceMappingURL=dml-cte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dml-cte.d.ts","sourceRoot":"","sources":["../../../src/pg-sqlite-compiler/passes/dml-cte.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEvC,eAAO,MAAM,mBAAmB,mBAAmB,CAAA;AAiCnD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,GAAG,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA2DnF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GACvC;IAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAWnE;AAED,eAAO,MAAM,UAAU,EAAE,IAuBxB,CAAA"}
@@ -0,0 +1,161 @@
1
+ /**
2
+ * Data-modifying CTEs (`WITH x AS (DELETE/INSERT/UPDATE …) …`) are
3
+ * Postgres-only; SQLite rejects DML inside a WITH clause.
4
+ *
5
+ * The one shape we translate — because zero-cache's changeLog purge depends
6
+ * on it (zero 1.6 storer.js: a leading `keep` boundary CTE, a
7
+ * `purged AS (DELETE … RETURNING …)` CTE, and `SELECT COUNT(*) FROM purged`)
8
+ * — is the "counted delete": an outer SELECT that only counts the rows a
9
+ * single DELETE CTE removed. It restructures into a top-level
10
+ * `WITH <other ctes> DELETE … RETURNING 1 AS "__orez_count__<col>"`, which
11
+ * SQLite executes natively (plain CTEs ARE allowed on a DELETE).
12
+ *
13
+ * The result shape changes (N marker rows instead of one count row), so the
14
+ * emitted SQL is self-describing: the RETURNING alias carries the count
15
+ * column name behind COUNT_MARKER_PREFIX. Runtimes executing compiled SQL
16
+ * (orez's DoBackend) detect the marker and fold the rows back into
17
+ * `[{ <col>: rowCount }]` — see foldCountMarkerResult. Left untranslated,
18
+ * every changeLog purge tick 500s on the DO backend and the log grows
19
+ * forever (the 2026-07 CF rows-written burn).
20
+ *
21
+ * Every other data-modifying CTE gets a warning (strict mode rejects it).
22
+ */
23
+ import { walkAst } from './ast-utils.js';
24
+ export const COUNT_MARKER_PREFIX = '__orez_count__';
25
+ const DML_TAGS = ['DeleteStmt', 'InsertStmt', 'UpdateStmt'];
26
+ function cteDmlTag(cte) {
27
+ const query = cte?.CommonTableExpr?.ctequery;
28
+ if (!query || typeof query !== 'object')
29
+ return null;
30
+ for (const tag of DML_TAGS) {
31
+ if (query[tag])
32
+ return tag;
33
+ }
34
+ return null;
35
+ }
36
+ function isCountStarTarget(target) {
37
+ const func = target?.ResTarget?.val?.FuncCall;
38
+ if (!func?.agg_star)
39
+ return false;
40
+ const parts = func.funcname;
41
+ if (!Array.isArray(parts) || parts.length === 0)
42
+ return false;
43
+ const last = parts[parts.length - 1];
44
+ const name = last?.String?.sval ?? last?.String?.str;
45
+ return typeof name === 'string' && name.toLowerCase() === 'count';
46
+ }
47
+ function referencesRelation(node, name) {
48
+ let found = false;
49
+ walkAst(node, {
50
+ RangeVar: (rangeVar) => {
51
+ if (!rangeVar?.schemaname && rangeVar?.relname === name)
52
+ found = true;
53
+ },
54
+ });
55
+ return found;
56
+ }
57
+ /**
58
+ * Restructure a counted-delete CTE statement in place. `stmt` is the inner
59
+ * tag-wrapped statement node (`{ SelectStmt: … }`). Returns the count column
60
+ * name when the statement matched and was rewritten, else null (untouched).
61
+ */
62
+ export function transformCountedDeleteCte(stmt) {
63
+ const sel = stmt?.SelectStmt;
64
+ if (!sel?.withClause?.ctes || sel.withClause.recursive)
65
+ return null;
66
+ if (sel.op !== 'SETOP_NONE' ||
67
+ sel.whereClause ||
68
+ sel.groupClause ||
69
+ sel.havingClause ||
70
+ sel.sortClause ||
71
+ sel.limitCount ||
72
+ sel.limitOffset ||
73
+ sel.distinctClause ||
74
+ sel.valuesLists) {
75
+ return null;
76
+ }
77
+ const ctes = sel.withClause.ctes;
78
+ const dmlIndexes = ctes
79
+ .map((cte, index) => (cteDmlTag(cte) ? index : -1))
80
+ .filter((index) => index >= 0);
81
+ if (dmlIndexes.length !== 1)
82
+ return null;
83
+ const dmlIndex = dmlIndexes[0];
84
+ const dmlCte = ctes[dmlIndex].CommonTableExpr;
85
+ if (cteDmlTag(ctes[dmlIndex]) !== 'DeleteStmt')
86
+ return null;
87
+ const deleteStmt = dmlCte.ctequery.DeleteStmt;
88
+ // outer select must be exactly `SELECT COUNT(*) [AS col] FROM <dml cte>`
89
+ if (sel.targetList?.length !== 1 || !isCountStarTarget(sel.targetList[0]))
90
+ return null;
91
+ const from = sel.fromClause;
92
+ if (from?.length !== 1)
93
+ return null;
94
+ const fromRel = from[0]?.RangeVar;
95
+ if (!fromRel || fromRel.schemaname || fromRel.relname !== dmlCte.ctename)
96
+ return null;
97
+ // the delete CTE must not be read anywhere else (another CTE consuming its
98
+ // RETURNING rows cannot be preserved once the DELETE moves to the top level)
99
+ const others = ctes.filter((_, index) => index !== dmlIndex);
100
+ if (others.some((cte) => referencesRelation(cte.CommonTableExpr?.ctequery, dmlCte.ctename))) {
101
+ return null;
102
+ }
103
+ const countColumn = sel.targetList[0].ResTarget?.name ?? 'count';
104
+ deleteStmt.returningList = [
105
+ {
106
+ ResTarget: {
107
+ name: `${COUNT_MARKER_PREFIX}${countColumn}`,
108
+ val: { A_Const: { ival: { ival: 1 } } },
109
+ },
110
+ },
111
+ ];
112
+ if (others.length) {
113
+ deleteStmt.withClause = { ...sel.withClause, ctes: others };
114
+ }
115
+ delete stmt.SelectStmt;
116
+ stmt.DeleteStmt = deleteStmt;
117
+ return { countColumn };
118
+ }
119
+ /**
120
+ * Fold an executed counted-delete result back into the original statement's
121
+ * shape: N marker rows → `[{ <col>: N }]`. `columnsOrSql` is either the
122
+ * result column list or the executed SQL (for zero-row results, where some
123
+ * drivers report no columns). Returns null when the marker is absent.
124
+ */
125
+ export function foldCountMarkerResult(rowCount, columnsOrSql) {
126
+ // the deparser quotes the alias only when required, so match both forms
127
+ const column = typeof columnsOrSql === 'string'
128
+ ? (columnsOrSql.match(new RegExp(`"${COUNT_MARKER_PREFIX}([^"]+)"`))?.[1] ??
129
+ columnsOrSql.match(new RegExp(`\\b${COUNT_MARKER_PREFIX}(\\w+)\\b`))?.[1])
130
+ : columnsOrSql.length === 1 && columnsOrSql[0].startsWith(COUNT_MARKER_PREFIX)
131
+ ? columnsOrSql[0].slice(COUNT_MARKER_PREFIX.length)
132
+ : undefined;
133
+ if (!column)
134
+ return null;
135
+ return { rows: [{ [column]: rowCount }], columns: [column] };
136
+ }
137
+ export const dmlCtePass = {
138
+ name: 'dml-cte',
139
+ run(stmt, ctx) {
140
+ transformCountedDeleteCte(stmt);
141
+ // anything still holding DML inside a CTE is untranslatable
142
+ walkAst(stmt, {
143
+ CommonTableExpr: (cte) => {
144
+ const query = cte?.ctequery;
145
+ if (!query || typeof query !== 'object')
146
+ return;
147
+ for (const tag of DML_TAGS) {
148
+ if (query[tag]) {
149
+ ctx.warnings.push({
150
+ kind: 'data-modifying-cte',
151
+ near: 'CommonTableExpr',
152
+ message: 'data-modifying CTEs are Postgres-only (SQLite rejects DML in WITH); only the counted-delete shape is translated',
153
+ });
154
+ return;
155
+ }
156
+ }
157
+ },
158
+ });
159
+ },
160
+ };
161
+ //# sourceMappingURL=dml-cte.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dml-cte.js","sourceRoot":"","sources":["../../../src/pg-sqlite-compiler/passes/dml-cte.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pg-sqlite-compiler/passes/index.ts"],"names":[],"mappings":"AAMA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEpD,eAAO,MAAM,cAAc,EAAE,IAAI,EAWhC,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAc9D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pg-sqlite-compiler/passes/index.ts"],"names":[],"mappings":"AAOA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEpD,eAAO,MAAM,cAAc,EAAE,IAAI,EAahC,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAc9D"}
@@ -1,9 +1,12 @@
1
1
  import { catalogPass } from './catalog.js';
2
2
  import { datetimePass } from './datetime.js';
3
+ import { dmlCtePass } from './dml-cte.js';
3
4
  import { schemaPass } from './schema.js';
4
5
  import { typesPass } from './types.js';
5
6
  import { unsupportedPass } from './unsupported.js';
6
7
  export const DEFAULT_PASSES = [
8
+ // structural rewrites first so later passes see the final statement shape
9
+ dmlCtePass,
7
10
  typesPass,
8
11
  datetimePass,
9
12
  catalogPass,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pg-sqlite-compiler/passes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAalD,MAAM,CAAC,MAAM,cAAc,GAAW;IACpC,SAAS;IACT,YAAY;IACZ,WAAW;IACX,UAAU;IACV,eAAe;IACf,UAAU;IACV,cAAc;IACd,eAAe;IACf,cAAc;IACd,gBAAgB;CACjB,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,OAAY,EAAE,GAAgB;IACtD,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,OAAO,CAAA;IACrC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAM;IAC7C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,cAAc,CAAA;IAC3C,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,QAAQ,IAAI,CAAC,IAAI,WAAW,GAAG,CAAC,OAAO,EAAE;aACnD,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pg-sqlite-compiler/passes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAalD,MAAM,CAAC,MAAM,cAAc,GAAW;IACpC,0EAA0E;IAC1E,UAAU;IACV,SAAS;IACT,YAAY;IACZ,WAAW;IACX,UAAU;IACV,eAAe;IACf,UAAU;IACV,cAAc;IACd,eAAe;IACf,cAAc;IACd,gBAAgB;CACjB,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,OAAY,EAAE,GAAgB;IACtD,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,OAAO,CAAA;IACrC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAM;IAC7C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,cAAc,CAAA;IAC3C,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,QAAQ,IAAI,CAAC,IAAI,WAAW,GAAG,CAAC,OAAO,EAAE;aACnD,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orez",
3
- "version": "0.4.42",
3
+ "version": "0.4.43",
4
4
  "description": "PGlite-powered zero-sync development backend. No Docker required.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -87,7 +87,7 @@
87
87
  "@electric-sql/pglite": "0.4.1",
88
88
  "@electric-sql/pglite-tools": "^0.3.1",
89
89
  "@pgsql/traverse": "17.2.6",
90
- "bedrock-sqlite": "0.4.42",
90
+ "bedrock-sqlite": "0.4.43",
91
91
  "citty": "^0.2.0",
92
92
  "pg-gateway": "0.3.0-beta.4",
93
93
  "pgsql-parser": "^17.9.11",