orez 0.4.29 → 0.4.31

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.
Files changed (49) hide show
  1. package/README.md +2 -0
  2. package/dist/cli.d.ts +5 -0
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +8 -0
  5. package/dist/cli.js.map +1 -1
  6. package/dist/config.d.ts +4 -0
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +5 -3
  9. package/dist/config.js.map +1 -1
  10. package/dist/fk-cascade.d.ts +102 -0
  11. package/dist/fk-cascade.d.ts.map +1 -0
  12. package/dist/fk-cascade.js +233 -0
  13. package/dist/fk-cascade.js.map +1 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +101 -49
  16. package/dist/index.js.map +1 -1
  17. package/dist/pg-proxy-do-backend.d.ts +1 -0
  18. package/dist/pg-proxy-do-backend.d.ts.map +1 -1
  19. package/dist/pg-proxy-do-backend.js +114 -0
  20. package/dist/pg-proxy-do-backend.js.map +1 -1
  21. package/dist/pglite-manager.d.ts +12 -9
  22. package/dist/pglite-manager.d.ts.map +1 -1
  23. package/dist/pglite-manager.js +61 -31
  24. package/dist/pglite-manager.js.map +1 -1
  25. package/dist/recovery.d.ts +10 -12
  26. package/dist/recovery.d.ts.map +1 -1
  27. package/dist/recovery.js +24 -13
  28. package/dist/recovery.js.map +1 -1
  29. package/dist/replication/change-tracker.d.ts.map +1 -1
  30. package/dist/replication/change-tracker.js +36 -5
  31. package/dist/replication/change-tracker.js.map +1 -1
  32. package/dist/replication/handler.d.ts.map +1 -1
  33. package/dist/replication/handler.js +20 -17
  34. package/dist/replication/handler.js.map +1 -1
  35. package/dist/worker/cf-patches.d.ts +4 -2
  36. package/dist/worker/cf-patches.d.ts.map +1 -1
  37. package/dist/worker/cf-patches.js +15 -2
  38. package/dist/worker/cf-patches.js.map +1 -1
  39. package/dist/worker/shims/postgres.d.ts.map +1 -1
  40. package/dist/worker/shims/postgres.js +112 -0
  41. package/dist/worker/shims/postgres.js.map +1 -1
  42. package/dist/worker/zero-cache-embed.d.ts.map +1 -1
  43. package/dist/worker/zero-cache-embed.js +4 -0
  44. package/dist/worker/zero-cache-embed.js.map +1 -1
  45. package/dist/zero-changelog-cleanup-patch.d.ts +18 -0
  46. package/dist/zero-changelog-cleanup-patch.d.ts.map +1 -0
  47. package/dist/zero-changelog-cleanup-patch.js +63 -0
  48. package/dist/zero-changelog-cleanup-patch.js.map +1 -0
  49. package/package.json +2 -2
package/README.md CHANGED
@@ -61,6 +61,7 @@ bunx orez
61
61
  --s3-port=9200 s3 server port
62
62
  --force-wasm-sqlite force wasm sqlite even if native is available
63
63
  --disable-wasm-sqlite force native sqlite (fail if not available)
64
+ --ephemeral keep PGlite in memory and use a per-run replica cache
64
65
  --on-db-ready=CMD command to run after db+proxy ready, before zero-cache
65
66
  --on-healthy=CMD command to run once all services healthy
66
67
  --disable-admin disable admin dashboard
@@ -109,6 +110,7 @@ All options mirror the CLI flags in camelCase. CLI flags override config file va
109
110
  | `forceWasmSqlite` | `--force-wasm-sqlite` | `false` |
110
111
  | `noWorkerThreads` | `--no-worker-threads` | `false` |
111
112
  | `singleDb` | `--single-db` | `false` |
113
+ | `ephemeral` | `--ephemeral` | `false` |
112
114
  | `logLevel` | `--log-level` | `warn` |
113
115
  | `onDbReady` | `--on-db-ready` | — |
114
116
  | `onHealthy` | `--on-healthy` | — |
package/dist/cli.d.ts CHANGED
@@ -80,6 +80,11 @@ export declare const main: import("citty").CommandDef<{
80
80
  readonly description: "use a single pglite instance for all databases (lighter for constrained environments)";
81
81
  readonly default: false;
82
82
  };
83
+ readonly ephemeral: {
84
+ readonly type: "boolean";
85
+ readonly description: "keep pglite in memory and use a per-run zero replica cache";
86
+ readonly default: false;
87
+ };
83
88
  readonly 'read-replicas': {
84
89
  readonly type: "string";
85
90
  readonly description: "number of pglite read replicas for postgres (0 to disable, default: auto)";
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAiSA,wBAAsB,YAAY,CAChC,EAAE,EAAE;IAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAAE,EAC/C,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA+OhD;AA6WD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuTf,CAAA"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAiSA,wBAAsB,YAAY,CAChC,EAAE,EAAE;IAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAAE,EAC/C,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA+OhD;AA6WD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+Tf,CAAA"}
package/dist/cli.js CHANGED
@@ -913,6 +913,11 @@ export const main = defineCommand({
913
913
  description: 'use a single pglite instance for all databases (lighter for constrained environments)',
914
914
  default: false,
915
915
  },
916
+ ephemeral: {
917
+ type: 'boolean',
918
+ description: 'keep pglite in memory and use a per-run zero replica cache',
919
+ default: false,
920
+ },
916
921
  'read-replicas': {
917
922
  type: 'string',
918
923
  description: 'number of pglite read replicas for postgres (0 to disable, default: auto)',
@@ -981,6 +986,7 @@ export const main = defineCommand({
981
986
  'force-wasm-sqlite': false,
982
987
  'no-worker-threads': false,
983
988
  'single-db': false,
989
+ ephemeral: false,
984
990
  'read-replicas': '',
985
991
  'on-db-ready': '',
986
992
  'on-healthy': '',
@@ -1016,6 +1022,7 @@ export const main = defineCommand({
1016
1022
  ...(wasSet('force-wasm-sqlite') && { forceWasmSqlite: args['force-wasm-sqlite'] }),
1017
1023
  ...(wasSet('no-worker-threads') && { noWorkerThreads: args['no-worker-threads'] }),
1018
1024
  ...(wasSet('single-db') && { singleDb: args['single-db'] }),
1025
+ ...(wasSet('ephemeral') && { ephemeral: args.ephemeral }),
1019
1026
  ...(wasSet('read-replicas') && { readReplicas: Number(args['read-replicas']) }),
1020
1027
  ...(wasSet('on-db-ready') && { onDbReady: args['on-db-ready'] }),
1021
1028
  ...(wasSet('on-healthy') && { onHealthy: args['on-healthy'] }),
@@ -1050,6 +1057,7 @@ export const main = defineCommand({
1050
1057
  forceWasmSqlite: cliOverrides.forceWasmSqlite,
1051
1058
  useWorkerThreads: resolvedUseWorkerThreads,
1052
1059
  singleDb: cliOverrides.singleDb,
1060
+ ephemeral: cliOverrides.ephemeral,
1053
1061
  readReplicas: cliOverrides.readReplicas,
1054
1062
  logLevel: cliOverrides.logLevel,
1055
1063
  onDbReady: cliOverrides.onDbReady || undefined,
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -15,6 +15,8 @@ export interface ZeroLiteConfig {
15
15
  forceWasmSqlite: boolean;
16
16
  useWorkerThreads: boolean;
17
17
  singleDb: boolean;
18
+ ephemeral: boolean;
19
+ ephemeralDir?: string;
18
20
  readReplicas: number;
19
21
  logLevel: LogLevel;
20
22
  pgliteOptions: Partial<PGliteOptions>;
@@ -74,6 +76,8 @@ export interface OrezConfig {
74
76
  useWorkerThreads?: boolean;
75
77
  /** single pglite instance for all databases */
76
78
  singleDb?: boolean;
79
+ /** keep PGlite state in memory and zero-cache replica state in a per-run temp dir */
80
+ ephemeral?: boolean;
77
81
  /** log level: error, warn, info, debug (default: "warn") */
78
82
  logLevel?: LogLevel;
79
83
  /** command to run after db+proxy ready, before zero-cache */
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -6,9 +6,9 @@ export function defineConfig(config) {
6
6
  export function getConfig(overrides = {}) {
7
7
  return {
8
8
  dataDir: overrides.dataDir || '.orez',
9
- pgPort: overrides.pgPort || 6434,
10
- zeroPort: overrides.zeroPort || 5849,
11
- adminPort: overrides.adminPort || 0,
9
+ pgPort: overrides.pgPort ?? 6434,
10
+ zeroPort: overrides.zeroPort ?? 5849,
11
+ adminPort: overrides.adminPort ?? 0,
12
12
  pgUser: overrides.pgUser || 'user',
13
13
  pgPassword: overrides.pgPassword || 'password',
14
14
  migrationsDir: overrides.migrationsDir || '',
@@ -18,6 +18,8 @@ export function getConfig(overrides = {}) {
18
18
  forceWasmSqlite: overrides.forceWasmSqlite ?? false,
19
19
  useWorkerThreads: overrides.useWorkerThreads ?? true,
20
20
  singleDb: overrides.singleDb ?? false,
21
+ ephemeral: overrides.ephemeral ?? false,
22
+ ephemeralDir: overrides.ephemeralDir,
21
23
  // singleDb shares one pglite instance for all databases — replicas make no sense
22
24
  readReplicas: overrides.readReplicas ?? 0,
23
25
  logLevel: overrides.logLevel || process.env.OREZ_LOG_LEVEL || 'warn',
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AA+G9C,0CAA0C;AAC1C,MAAM,UAAU,YAAY,CAAC,MAAkB;IAC7C,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,YAAqC,EAAE;IAC/D,OAAO;QACL,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,OAAO;QACrC,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,IAAI;QAChC,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,IAAI;QACpC,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,CAAC;QACnC,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,MAAM;QAClC,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,UAAU;QAC9C,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,EAAE;QAC5C,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,uBAAuB;QACvD,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,KAAK;QAC/C,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,IAAI,KAAK;QACvD,eAAe,EAAE,SAAS,CAAC,eAAe,IAAI,KAAK;QACnD,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,IAAI,IAAI;QACpD,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,KAAK;QACrC,iFAAiF;QACjF,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,CAAC;QACzC,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAK,OAAO,CAAC,GAAG,CAAC,cAA2B,IAAI,MAAM;QAClF,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,EAAE;QAC5C,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;QAC5C,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,oBAAoB,EAAE,SAAS,CAAC,oBAAoB,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;QACrE,cAAc,EAAE,SAAS,CAAC,cAAc,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;QAC3D,eAAe,EAAE,SAAS,CAAC,eAAe,IAAI,KAAK;QACnD,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc;QAClE,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,SAAS,EAAE,SAAS,CAAC,SAAS;KAC/B,CAAA;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAsB,EAAE,MAAM,GAAG,UAAU;IAC7E,OAAO,gBAAgB,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,cAAc,MAAM,CAAC,MAAM,IAAI,MAAM,EAAE,CAAA;AAClG,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAmH9C,0CAA0C;AAC1C,MAAM,UAAU,YAAY,CAAC,MAAkB;IAC7C,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,YAAqC,EAAE;IAC/D,OAAO;QACL,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,OAAO;QACrC,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,IAAI;QAChC,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,IAAI;QACpC,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,CAAC;QACnC,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,MAAM;QAClC,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,UAAU;QAC9C,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,EAAE;QAC5C,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,uBAAuB;QACvD,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,KAAK;QAC/C,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,IAAI,KAAK;QACvD,eAAe,EAAE,SAAS,CAAC,eAAe,IAAI,KAAK;QACnD,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,IAAI,IAAI;QACpD,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,KAAK;QACrC,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,KAAK;QACvC,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,iFAAiF;QACjF,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,CAAC;QACzC,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAK,OAAO,CAAC,GAAG,CAAC,cAA2B,IAAI,MAAM;QAClF,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,EAAE;QAC5C,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;QAC5C,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,oBAAoB,EAAE,SAAS,CAAC,oBAAoB,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;QACrE,cAAc,EAAE,SAAS,CAAC,cAAc,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;QAC3D,eAAe,EAAE,SAAS,CAAC,eAAe,IAAI,KAAK;QACnD,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc;QAClE,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,SAAS,EAAE,SAAS,CAAC,SAAS;KAC/B,CAAA;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAsB,EAAE,MAAM,GAAG,UAAU;IAC7E,OAAO,gBAAgB,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,cAAc,MAAM,CAAC,MAAM,IAAI,MAAM,EAAE,CAAA;AAClG,CAAC"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * fk-cascade — pg→sqlite compat for ON DELETE actions.
3
+ *
4
+ * orez's backends drop every FOREIGN KEY constraint when translating PG DDL to
5
+ * their store (the PGlite shim regex-strips them; the DO backend filters the
6
+ * CONSTR_FOREIGN AST nodes). that leaves the store with no FK enforcement and,
7
+ * crucially, no `ON DELETE CASCADE` / `ON DELETE SET NULL` — so a plain
8
+ * `DELETE FROM parent` orphans every child row instead of cascading.
9
+ *
10
+ * native engine cascade is not an option here: change capture is trigger-based
11
+ * (`_zero_change_trigger` / `_zero_track_change`), and SQLite does NOT fire
12
+ * triggers for native foreign-key cascade actions unless `recursive_triggers`
13
+ * is on. an engine-level cascade would delete child rows invisibly, so zero
14
+ * clients would never learn the rows are gone — strictly worse than orphaning.
15
+ *
16
+ * instead we restore faithful PG semantics by EXPANSION: capture the FK edges
17
+ * the backends were about to drop, and rewrite each `DELETE FROM parent` into
18
+ * an ordered set of explicit, set-based child statements (leaves-first) plus
19
+ * the original parent delete. every emitted statement is a real DELETE/UPDATE,
20
+ * so it goes through the same change-tracking trigger and replicates to zero
21
+ * clients exactly like any other write. one implementation, both backends.
22
+ *
23
+ * this module is pure: it operates on already-parsed libpg_query CREATE TABLE
24
+ * AST nodes (for edge capture) and plain SQL strings (for expansion). the
25
+ * caller owns naming — it passes a `resolveTable` that produces the canonical
26
+ * SQL identifier for a table (schema-qualified PG name). that identifier doubles
27
+ * as the registry key, so capture and expansion stay consistent. the expansion
28
+ * emits PG SQL under those names; the DO backend re-runs each child through its
29
+ * normal rewrite (flatten + change-track), while PGlite runs them directly.
30
+ */
31
+ /** the ON DELETE actions we can faithfully expand. restrict/no-action/set-default are left alone (no enforcement, matching today). */
32
+ export type FkDeleteAction = 'cascade' | 'set-null';
33
+ export interface FkChild {
34
+ /** canonical SQL identifier of the child (referencing) table; also its registry key. */
35
+ table: string;
36
+ /** child FK column identifiers (already quoted), in FK order. */
37
+ columns: string[];
38
+ /** referenced parent column identifiers (already quoted), aligned with `columns`. */
39
+ refColumns: string[];
40
+ onDelete: FkDeleteAction;
41
+ }
42
+ /**
43
+ * parent-table → children that reference it. built once from DDL, consulted on
44
+ * every DELETE. keyed by the canonical table identifier `resolveTable` produces.
45
+ */
46
+ export declare class FkCascadeRegistry {
47
+ private byParent;
48
+ add(parentKey: string, child: FkChild): void;
49
+ childrenOf(parentKey: string): readonly FkChild[];
50
+ /** every (parentKey, child) edge — for persisting the registry to durable storage. */
51
+ entries(): IterableIterator<readonly [string, FkChild]>;
52
+ /** true once any cascade/set-null edge has been captured — lets backends skip the DELETE parse on FK-free schemas. */
53
+ get hasEdges(): boolean;
54
+ clear(): void;
55
+ }
56
+ export interface TableRef {
57
+ schemaname?: string;
58
+ relname: string;
59
+ }
60
+ export type ResolveTable = (ref: TableRef) => string;
61
+ export declare function quoteIdent(name: string): string;
62
+ /**
63
+ * capture every cascade/set-null FK edge declared by a CREATE TABLE statement
64
+ * into `registry`. handles both inline column FKs (`col … REFERENCES parent(c)`)
65
+ * and table-level FKs (`FOREIGN KEY (col) REFERENCES parent(c)`). call this at
66
+ * the exact site each backend drops the constraint, BEFORE it is discarded.
67
+ */
68
+ export declare function recordCreateTableForeignKeys(createStmt: {
69
+ relation?: TableRef;
70
+ tableElts?: unknown[];
71
+ } | undefined, registry: FkCascadeRegistry, resolveTable: ResolveTable): number;
72
+ /**
73
+ * capture cascade/set-null FK edges from an `ALTER TABLE … ADD CONSTRAINT …
74
+ * FOREIGN KEY …` statement (drizzle's standard FK form — it emits FKs as a
75
+ * separate ALTER, not inline in CREATE TABLE). call at the site the backend
76
+ * drops the constraint. returns the number of edges recorded.
77
+ */
78
+ export declare function recordAlterTableForeignKeys(alterStmt: {
79
+ relation?: TableRef;
80
+ cmds?: unknown[];
81
+ } | undefined, registry: FkCascadeRegistry, resolveTable: ResolveTable): number;
82
+ export interface ExpandOptions {
83
+ /** guard against pathological / cyclic graphs. */
84
+ maxDepth?: number;
85
+ }
86
+ /**
87
+ * expand a `DELETE FROM target [WHERE wherePredicate]` into the ordered list of
88
+ * statements that reproduces PG's ON DELETE semantics. children are emitted
89
+ * leaves-first (grandchildren before children) so every delete runs before the
90
+ * rows it depends on disappear; the returned list does NOT include the original
91
+ * parent delete — the caller still runs that, after these.
92
+ *
93
+ * each statement embeds the full original predicate via nested subqueries, so
94
+ * for a parameterized DELETE the SAME bound params apply unchanged to every
95
+ * emitted statement.
96
+ *
97
+ * cascade → `DELETE FROM child WHERE childCols IN (SELECT … )`
98
+ * set-null → `UPDATE child SET childCols = NULL WHERE childCols IN (SELECT … )`
99
+ * (SET NULL does not delete the child, so its subtree is not recursed)
100
+ */
101
+ export declare function expandDelete(target: string, wherePredicate: string | null, registry: FkCascadeRegistry, options?: ExpandOptions): string[];
102
+ //# sourceMappingURL=fk-cascade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fk-cascade.d.ts","sourceRoot":"","sources":["../src/fk-cascade.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,sIAAsI;AACtI,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,CAAA;AAEnD,MAAM,WAAW,OAAO;IACtB,wFAAwF;IACxF,KAAK,EAAE,MAAM,CAAA;IACb,iEAAiE;IACjE,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,qFAAqF;IACrF,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,QAAQ,EAAE,cAAc,CAAA;CACzB;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAA+B;IAE/C,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAY5C,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,OAAO,EAAE;IAIjD,sFAAsF;IACrF,OAAO,IAAI,gBAAgB,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAMxD,sHAAsH;IACtH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,KAAK,IAAI,IAAI;CAGd;AAcD,MAAM,WAAW,QAAQ;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,QAAQ,KAAK,MAAM,CAAA;AASpD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAaD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE;IAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAA;CAAE,GAAG,SAAS,EACtE,QAAQ,EAAE,iBAAiB,EAC3B,YAAY,EAAE,YAAY,GACzB,MAAM,CAyCR;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE;IAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;CAAE,GAAG,SAAS,EAChE,QAAQ,EAAE,iBAAiB,EAC3B,YAAY,EAAE,YAAY,GACzB,MAAM,CAwBR;AAqDD,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,GAAG,IAAI,EAC7B,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,GAAE,aAAkB,GAC1B,MAAM,EAAE,CA6BV"}
@@ -0,0 +1,233 @@
1
+ /**
2
+ * fk-cascade — pg→sqlite compat for ON DELETE actions.
3
+ *
4
+ * orez's backends drop every FOREIGN KEY constraint when translating PG DDL to
5
+ * their store (the PGlite shim regex-strips them; the DO backend filters the
6
+ * CONSTR_FOREIGN AST nodes). that leaves the store with no FK enforcement and,
7
+ * crucially, no `ON DELETE CASCADE` / `ON DELETE SET NULL` — so a plain
8
+ * `DELETE FROM parent` orphans every child row instead of cascading.
9
+ *
10
+ * native engine cascade is not an option here: change capture is trigger-based
11
+ * (`_zero_change_trigger` / `_zero_track_change`), and SQLite does NOT fire
12
+ * triggers for native foreign-key cascade actions unless `recursive_triggers`
13
+ * is on. an engine-level cascade would delete child rows invisibly, so zero
14
+ * clients would never learn the rows are gone — strictly worse than orphaning.
15
+ *
16
+ * instead we restore faithful PG semantics by EXPANSION: capture the FK edges
17
+ * the backends were about to drop, and rewrite each `DELETE FROM parent` into
18
+ * an ordered set of explicit, set-based child statements (leaves-first) plus
19
+ * the original parent delete. every emitted statement is a real DELETE/UPDATE,
20
+ * so it goes through the same change-tracking trigger and replicates to zero
21
+ * clients exactly like any other write. one implementation, both backends.
22
+ *
23
+ * this module is pure: it operates on already-parsed libpg_query CREATE TABLE
24
+ * AST nodes (for edge capture) and plain SQL strings (for expansion). the
25
+ * caller owns naming — it passes a `resolveTable` that produces the canonical
26
+ * SQL identifier for a table (schema-qualified PG name). that identifier doubles
27
+ * as the registry key, so capture and expansion stay consistent. the expansion
28
+ * emits PG SQL under those names; the DO backend re-runs each child through its
29
+ * normal rewrite (flatten + change-track), while PGlite runs them directly.
30
+ */
31
+ /**
32
+ * parent-table → children that reference it. built once from DDL, consulted on
33
+ * every DELETE. keyed by the canonical table identifier `resolveTable` produces.
34
+ */
35
+ export class FkCascadeRegistry {
36
+ byParent = new Map();
37
+ add(parentKey, child) {
38
+ const list = this.byParent.get(parentKey);
39
+ if (!list) {
40
+ this.byParent.set(parentKey, [child]);
41
+ return;
42
+ }
43
+ // dedupe: the same DDL can be re-applied (CREATE TABLE IF NOT EXISTS, a boot
44
+ // load followed by a re-sent migration) — a duplicate edge doubles the cascade.
45
+ if (list.some((existing) => sameEdge(existing, child)))
46
+ return;
47
+ list.push(child);
48
+ }
49
+ childrenOf(parentKey) {
50
+ return this.byParent.get(parentKey) ?? EMPTY;
51
+ }
52
+ /** every (parentKey, child) edge — for persisting the registry to durable storage. */
53
+ *entries() {
54
+ for (const [parentKey, children] of this.byParent) {
55
+ for (const child of children)
56
+ yield [parentKey, child];
57
+ }
58
+ }
59
+ /** true once any cascade/set-null edge has been captured — lets backends skip the DELETE parse on FK-free schemas. */
60
+ get hasEdges() {
61
+ return this.byParent.size > 0;
62
+ }
63
+ clear() {
64
+ this.byParent.clear();
65
+ }
66
+ }
67
+ const EMPTY = Object.freeze([]);
68
+ function sameEdge(a, b) {
69
+ return (a.table === b.table &&
70
+ a.onDelete === b.onDelete &&
71
+ a.columns.length === b.columns.length &&
72
+ a.columns.every((c, i) => c === b.columns[i]) &&
73
+ a.refColumns.every((c, i) => c === b.refColumns[i]));
74
+ }
75
+ /** libpg_query fk_del_action codes → the action we expand (others: no enforcement, skip). */
76
+ const DELETE_ACTION = {
77
+ c: 'cascade', // CASCADE
78
+ n: 'set-null', // SET NULL
79
+ // a: NO ACTION, r: RESTRICT, d: SET DEFAULT — no faithful expansion, leave unenforced
80
+ };
81
+ export function quoteIdent(name) {
82
+ return '"' + name.replace(/"/g, '""') + '"';
83
+ }
84
+ function stringValues(nodes) {
85
+ if (!Array.isArray(nodes))
86
+ return [];
87
+ const out = [];
88
+ for (const node of nodes) {
89
+ const sval = node?.String;
90
+ const value = sval?.sval ?? sval?.str;
91
+ if (typeof value === 'string')
92
+ out.push(value);
93
+ }
94
+ return out;
95
+ }
96
+ /**
97
+ * capture every cascade/set-null FK edge declared by a CREATE TABLE statement
98
+ * into `registry`. handles both inline column FKs (`col … REFERENCES parent(c)`)
99
+ * and table-level FKs (`FOREIGN KEY (col) REFERENCES parent(c)`). call this at
100
+ * the exact site each backend drops the constraint, BEFORE it is discarded.
101
+ */
102
+ export function recordCreateTableForeignKeys(createStmt, registry, resolveTable) {
103
+ const relation = createStmt?.relation;
104
+ if (!relation?.relname)
105
+ return 0;
106
+ const childTable = resolveTable(relation);
107
+ let recorded = 0;
108
+ for (const elt of createStmt?.tableElts ?? []) {
109
+ const node = elt;
110
+ // table-level: FOREIGN KEY (a, b) REFERENCES parent (x, y)
111
+ if (node.Constraint?.contype === 'CONSTR_FOREIGN') {
112
+ if (addForeignKey(registry, childTable, node.Constraint, stringValues(node.Constraint.fk_attrs), resolveTable)) {
113
+ recorded++;
114
+ }
115
+ continue;
116
+ }
117
+ // inline column: col … REFERENCES parent (x)
118
+ const col = node.ColumnDef;
119
+ if (col?.colname && Array.isArray(col.constraints)) {
120
+ for (const c of col.constraints) {
121
+ const constraint = c.Constraint;
122
+ if (constraint?.contype === 'CONSTR_FOREIGN') {
123
+ if (addForeignKey(registry, childTable, constraint, [col.colname], resolveTable)) {
124
+ recorded++;
125
+ }
126
+ }
127
+ }
128
+ }
129
+ }
130
+ return recorded;
131
+ }
132
+ /**
133
+ * capture cascade/set-null FK edges from an `ALTER TABLE … ADD CONSTRAINT …
134
+ * FOREIGN KEY …` statement (drizzle's standard FK form — it emits FKs as a
135
+ * separate ALTER, not inline in CREATE TABLE). call at the site the backend
136
+ * drops the constraint. returns the number of edges recorded.
137
+ */
138
+ export function recordAlterTableForeignKeys(alterStmt, registry, resolveTable) {
139
+ const relation = alterStmt?.relation;
140
+ if (!relation?.relname)
141
+ return 0;
142
+ const childTable = resolveTable(relation);
143
+ let recorded = 0;
144
+ for (const cmd of alterStmt?.cmds ?? []) {
145
+ const command = cmd
146
+ ?.AlterTableCmd;
147
+ if (command?.subtype !== 'AT_AddConstraint')
148
+ continue;
149
+ const constraint = command.def?.Constraint;
150
+ if (constraint?.contype !== 'CONSTR_FOREIGN')
151
+ continue;
152
+ if (addForeignKey(registry, childTable, constraint, stringValues(constraint.fk_attrs), resolveTable)) {
153
+ recorded++;
154
+ }
155
+ }
156
+ return recorded;
157
+ }
158
+ function addForeignKey(registry, childTable, constraint, childColumns, resolveTable) {
159
+ const onDelete = DELETE_ACTION[constraint.fk_del_action ?? 'a'];
160
+ if (!onDelete)
161
+ return false; // restrict / no-action / set-default: nothing to expand
162
+ const parent = constraint.pktable;
163
+ if (!parent?.relname)
164
+ return false;
165
+ const refColumns = stringValues(constraint.pk_attrs);
166
+ // need an explicit referenced column to build the IN-subquery; drizzle always
167
+ // emits one. without it we can't faithfully expand, so skip rather than guess.
168
+ if (childColumns.length === 0 || refColumns.length !== childColumns.length)
169
+ return false;
170
+ registry.add(resolveTable(parent), {
171
+ table: childTable,
172
+ columns: childColumns.map(quoteIdent),
173
+ refColumns: refColumns.map(quoteIdent),
174
+ onDelete,
175
+ });
176
+ return true;
177
+ }
178
+ function columnTuple(columns) {
179
+ return columns.length === 1 ? columns[0] : `(${columns.join(', ')})`;
180
+ }
181
+ /**
182
+ * build the set-based predicate selecting child rows whose FK points at the
183
+ * parent rows matched by `parentPredicate`:
184
+ * childCols IN (SELECT refCols FROM parentTable WHERE parentPredicate)
185
+ */
186
+ function childMatchPredicate(child, parentTable, parentPredicate) {
187
+ const where = parentPredicate ? ` WHERE ${parentPredicate}` : '';
188
+ const select = `SELECT ${child.refColumns.join(', ')} FROM ${parentTable}${where}`;
189
+ return `${columnTuple(child.columns)} IN (${select})`;
190
+ }
191
+ /**
192
+ * expand a `DELETE FROM target [WHERE wherePredicate]` into the ordered list of
193
+ * statements that reproduces PG's ON DELETE semantics. children are emitted
194
+ * leaves-first (grandchildren before children) so every delete runs before the
195
+ * rows it depends on disappear; the returned list does NOT include the original
196
+ * parent delete — the caller still runs that, after these.
197
+ *
198
+ * each statement embeds the full original predicate via nested subqueries, so
199
+ * for a parameterized DELETE the SAME bound params apply unchanged to every
200
+ * emitted statement.
201
+ *
202
+ * cascade → `DELETE FROM child WHERE childCols IN (SELECT … )`
203
+ * set-null → `UPDATE child SET childCols = NULL WHERE childCols IN (SELECT … )`
204
+ * (SET NULL does not delete the child, so its subtree is not recursed)
205
+ */
206
+ export function expandDelete(target, wherePredicate, registry, options = {}) {
207
+ if (!registry.hasEdges)
208
+ return [];
209
+ const maxDepth = options.maxDepth ?? 32;
210
+ const out = [];
211
+ const visit = (table, predicate, depth, path) => {
212
+ if (depth > maxDepth)
213
+ return;
214
+ for (const child of registry.childrenOf(table)) {
215
+ if (path.has(child.table))
216
+ continue; // cycle guard — self-ref / mutual FK
217
+ const match = childMatchPredicate(child, table, predicate);
218
+ if (child.onDelete === 'cascade') {
219
+ // delete grandchildren first, keyed off the rows this child is about to lose
220
+ visit(child.table, match, depth + 1, new Set(path).add(child.table));
221
+ out.push(`DELETE FROM ${child.table} WHERE ${match}`);
222
+ }
223
+ else {
224
+ // set-null: null the link, leave the child row (and its subtree) intact
225
+ const assignments = child.columns.map((c) => `${c} = NULL`).join(', ');
226
+ out.push(`UPDATE ${child.table} SET ${assignments} WHERE ${match}`);
227
+ }
228
+ }
229
+ };
230
+ visit(target, wherePredicate, 0, new Set([target]));
231
+ return out;
232
+ }
233
+ //# sourceMappingURL=fk-cascade.js.map