orez 0.4.73 → 0.5.2

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 (73) hide show
  1. package/README.md +42 -1
  2. package/dist/cf-do/cdc.d.ts +148 -0
  3. package/dist/cf-do/cdc.d.ts.map +1 -0
  4. package/dist/cf-do/cdc.js +719 -0
  5. package/dist/cf-do/cdc.js.map +1 -0
  6. package/dist/cf-do/row-undo.d.ts +36 -0
  7. package/dist/cf-do/row-undo.d.ts.map +1 -0
  8. package/dist/cf-do/row-undo.js +209 -0
  9. package/dist/cf-do/row-undo.js.map +1 -0
  10. package/dist/cf-do/tx-journal.d.ts +32 -10
  11. package/dist/cf-do/tx-journal.d.ts.map +1 -1
  12. package/dist/cf-do/tx-journal.js +148 -31
  13. package/dist/cf-do/tx-journal.js.map +1 -1
  14. package/dist/cf-do/watermark.d.ts +7 -0
  15. package/dist/cf-do/watermark.d.ts.map +1 -1
  16. package/dist/cf-do/watermark.js +9 -0
  17. package/dist/cf-do/watermark.js.map +1 -1
  18. package/dist/cf-do/worker.d.ts +19 -1
  19. package/dist/cf-do/worker.d.ts.map +1 -1
  20. package/dist/cf-do/worker.js +218 -46
  21. package/dist/cf-do/worker.js.map +1 -1
  22. package/dist/cli.d.ts.map +1 -1
  23. package/dist/cli.js +1 -0
  24. package/dist/cli.js.map +1 -1
  25. package/dist/config.d.ts +35 -1
  26. package/dist/config.d.ts.map +1 -1
  27. package/dist/config.js +1 -0
  28. package/dist/config.js.map +1 -1
  29. package/dist/do-sql-tracking.d.ts +2 -0
  30. package/dist/do-sql-tracking.d.ts.map +1 -1
  31. package/dist/do-sql-tracking.js +11 -1
  32. package/dist/do-sql-tracking.js.map +1 -1
  33. package/dist/index.d.ts +1 -1
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +146 -40
  36. package/dist/index.js.map +1 -1
  37. package/dist/pg-proxy-do-backend.d.ts +8 -0
  38. package/dist/pg-proxy-do-backend.d.ts.map +1 -1
  39. package/dist/pg-proxy-do-backend.js +301 -47
  40. package/dist/pg-proxy-do-backend.js.map +1 -1
  41. package/dist/pg-proxy.d.ts +22 -1
  42. package/dist/pg-proxy.d.ts.map +1 -1
  43. package/dist/pg-proxy.js +63 -1
  44. package/dist/pg-proxy.js.map +1 -1
  45. package/dist/pg-sqlite-compiler/index.d.ts.map +1 -1
  46. package/dist/pg-sqlite-compiler/index.js +9 -1
  47. package/dist/pg-sqlite-compiler/index.js.map +1 -1
  48. package/dist/pg-sqlite-compiler/passes/datetime.d.ts +2 -0
  49. package/dist/pg-sqlite-compiler/passes/datetime.d.ts.map +1 -1
  50. package/dist/pg-sqlite-compiler/passes/datetime.js +20 -18
  51. package/dist/pg-sqlite-compiler/passes/datetime.js.map +1 -1
  52. package/dist/pg-sqlite-compiler/passes/index.d.ts.map +1 -1
  53. package/dist/pg-sqlite-compiler/passes/index.js +6 -1
  54. package/dist/pg-sqlite-compiler/passes/index.js.map +1 -1
  55. package/dist/pg-sqlite-compiler/passes/json-functions.d.ts +3 -0
  56. package/dist/pg-sqlite-compiler/passes/json-functions.d.ts.map +1 -0
  57. package/dist/pg-sqlite-compiler/passes/json-functions.js +57 -0
  58. package/dist/pg-sqlite-compiler/passes/json-functions.js.map +1 -0
  59. package/dist/pg-sqlite-compiler/passes/row-json.d.ts +3 -0
  60. package/dist/pg-sqlite-compiler/passes/row-json.d.ts.map +1 -0
  61. package/dist/pg-sqlite-compiler/passes/row-json.js +230 -0
  62. package/dist/pg-sqlite-compiler/passes/row-json.js.map +1 -0
  63. package/dist/pg-sqlite-compiler/passes/schema.d.ts.map +1 -1
  64. package/dist/pg-sqlite-compiler/passes/schema.js +16 -1
  65. package/dist/pg-sqlite-compiler/passes/schema.js.map +1 -1
  66. package/dist/pg-sqlite-compiler/passes/string-functions.d.ts +11 -0
  67. package/dist/pg-sqlite-compiler/passes/string-functions.d.ts.map +1 -0
  68. package/dist/pg-sqlite-compiler/passes/string-functions.js +37 -0
  69. package/dist/pg-sqlite-compiler/passes/string-functions.js.map +1 -0
  70. package/dist/worker/local-sql-backend.d.ts.map +1 -1
  71. package/dist/worker/local-sql-backend.js +114 -13
  72. package/dist/worker/local-sql-backend.js.map +1 -1
  73. package/package.json +2 -2
@@ -30,5 +30,26 @@ export interface PgProxyServer extends Server {
30
30
  */
31
31
  resetDbState(dbName: string): void;
32
32
  }
33
- export declare function startPgProxy(dbInput: PGlite | PGliteInstances, config: ZeroLiteConfig): Promise<PgProxyServer>;
33
+ /**
34
+ * Holds ordinary PG clients at startup while an initialization hook provisions
35
+ * the schema. The hook identifies itself with an unguessable application_name
36
+ * and bypasses the barrier; every other connection resumes together after the
37
+ * hook and post-hook change tracking finish.
38
+ *
39
+ * Resolving (rather than rejecting) the internal promise avoids an unhandled
40
+ * rejection when initialization fails before any client has started waiting.
41
+ */
42
+ export declare class PgStartupBarrier {
43
+ readonly applicationName: string;
44
+ private readonly waitTimeoutMs;
45
+ private settled;
46
+ private failure;
47
+ private readonly ready;
48
+ private releaseReady;
49
+ constructor(applicationName: string, waitTimeoutMs?: number);
50
+ wait(applicationName: string | undefined): Promise<void>;
51
+ release(): void;
52
+ fail(error: unknown): void;
53
+ }
54
+ export declare function startPgProxy(dbInput: PGlite | PGliteInstances, config: ZeroLiteConfig, startupBarrier?: PgStartupBarrier): Promise<PgProxyServer>;
34
55
  //# sourceMappingURL=pg-proxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pg-proxy.d.ts","sourceRoot":"","sources":["../src/pg-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAgB,KAAK,MAAM,EAAe,MAAM,UAAU,CAAA;AAajE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AA4hBlD;;;GAGG;AACH,MAAM,WAAW,aAAc,SAAQ,MAAM;IAC3C;;;;;;;OAOG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACnC;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,GAAG,eAAe,EACjC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,aAAa,CAAC,CAyfxB"}
1
+ {"version":3,"file":"pg-proxy.d.ts","sourceRoot":"","sources":["../src/pg-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAgB,KAAK,MAAM,EAAe,MAAM,UAAU,CAAA;AAajE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AA4hBlD;;;GAGG;AACH,MAAM,WAAW,aAAc,SAAQ,MAAM;IAC3C;;;;;;;OAOG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACnC;AAED;;;;;;;;GAQG;AACH,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,YAAY,CAAa;gBAErB,eAAe,EAAE,MAAM,EAAE,aAAa,SAAS;IAQrD,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB9D,OAAO,IAAI,IAAI;IAMf,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;CAM3B;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,GAAG,eAAe,EACjC,MAAM,EAAE,cAAc,EACtB,cAAc,CAAC,EAAE,gBAAgB,GAChC,OAAO,CAAC,aAAa,CAAC,CA0fxB"}
package/dist/pg-proxy.js CHANGED
@@ -483,7 +483,68 @@ function stripResponseMessages(data, stripRfq) {
483
483
  }
484
484
  return result;
485
485
  }
486
- export async function startPgProxy(dbInput, config) {
486
+ /**
487
+ * Holds ordinary PG clients at startup while an initialization hook provisions
488
+ * the schema. The hook identifies itself with an unguessable application_name
489
+ * and bypasses the barrier; every other connection resumes together after the
490
+ * hook and post-hook change tracking finish.
491
+ *
492
+ * Resolving (rather than rejecting) the internal promise avoids an unhandled
493
+ * rejection when initialization fails before any client has started waiting.
494
+ */
495
+ export class PgStartupBarrier {
496
+ applicationName;
497
+ waitTimeoutMs;
498
+ settled = false;
499
+ failure;
500
+ ready;
501
+ releaseReady;
502
+ constructor(applicationName, waitTimeoutMs = 30_000) {
503
+ this.applicationName = applicationName;
504
+ this.waitTimeoutMs = waitTimeoutMs;
505
+ this.ready = new Promise((resolve) => {
506
+ this.releaseReady = resolve;
507
+ });
508
+ }
509
+ async wait(applicationName) {
510
+ if (applicationName === this.applicationName)
511
+ return;
512
+ let timeout;
513
+ try {
514
+ await Promise.race([
515
+ this.ready,
516
+ new Promise((_, reject) => {
517
+ timeout = setTimeout(() => {
518
+ reject(new Error(`PG startup timed out after ${this.waitTimeoutMs}ms waiting for onDbReady. ` +
519
+ 'If this connection is opened by a context-aware onDbReady callback, ' +
520
+ 'use a connection string from its HookContext so it can bypass the startup barrier. ' +
521
+ 'Increase onDbReadyTimeoutMs if the hook legitimately needs more time.'));
522
+ }, this.waitTimeoutMs);
523
+ }),
524
+ ]);
525
+ }
526
+ finally {
527
+ if (timeout)
528
+ clearTimeout(timeout);
529
+ }
530
+ if (this.failure !== undefined)
531
+ throw this.failure;
532
+ }
533
+ release() {
534
+ if (this.settled)
535
+ return;
536
+ this.settled = true;
537
+ this.releaseReady();
538
+ }
539
+ fail(error) {
540
+ if (this.settled)
541
+ return;
542
+ this.failure = error;
543
+ this.settled = true;
544
+ this.releaseReady();
545
+ }
546
+ }
547
+ export async function startPgProxy(dbInput, config, startupBarrier) {
487
548
  // normalize input: single PGlite instance = use it for all databases (backwards compat for tests)
488
549
  const instances = 'postgres' in dbInput
489
550
  ? dbInput
@@ -677,6 +738,7 @@ export async function startPgProxy(dbInput, config) {
677
738
  },
678
739
  async onStartup(state) {
679
740
  const params = state.clientParams;
741
+ await startupBarrier?.wait(params?.application_name);
680
742
  if (params?.replication === 'database') {
681
743
  isReplicationConnection = true;
682
744
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pg-proxy.js","sourceRoot":"","sources":["../src/pg-proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pg-proxy.js","sourceRoot":"","sources":["../src/pg-proxy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pg-sqlite-compiler/index.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAc,MAAM,YAAY,CAAA;AAmB3E,qBAAa,YAAa,SAAQ,KAAK;IAEnC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC;IAC5C,QAAQ,CAAC,GAAG,EAAE,MAAM;gBADX,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,EACnC,GAAG,EAAE,MAAM;CAKvB;AAYD;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,cAAmB,GAAG,aAAa,CAmC/E;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EAAE,EAChB,IAAI,GAAE,cAAmB,GACxB,aAAa,EAAE,CAEjB;AAED,YAAY,EACV,cAAc,EACd,aAAa,EACb,cAAc,EACd,UAAU,GACX,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pg-sqlite-compiler/index.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAc,MAAM,YAAY,CAAA;AA4B3E,qBAAa,YAAa,SAAQ,KAAK;IAEnC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC;IAC5C,QAAQ,CAAC,GAAG,EAAE,MAAM;gBADX,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,EACnC,GAAG,EAAE,MAAM;CAKvB;AAYD;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,cAAmB,GAAG,aAAa,CAqC/E;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EAAE,EAChB,IAAI,GAAE,cAAmB,GACxB,aAAa,EAAE,CAEjB;AAED,YAAY,EACV,cAAc,EACd,aAAa,EACb,cAAc,EACd,UAAU,GACX,MAAM,YAAY,CAAA"}
@@ -24,6 +24,14 @@ function stripTrailingSemicolon(s) {
24
24
  i--;
25
25
  return s.slice(0, i);
26
26
  }
27
+ function normalizeEscapeStringLiterals(sql) {
28
+ // pgsql-deparser prefixes any string containing a backslash with PostgreSQL's
29
+ // E syntax and doubles each backslash. SQLite strings keep backslashes
30
+ // literally and reject the E prefix, so restore the AST value before emit.
31
+ return sql.replace(/\bE'((?:''|[^'])*)'/g, (_literal, body) => {
32
+ return `'${body.replaceAll('\\\\', '\\')}'`;
33
+ });
34
+ }
27
35
  export class CompileError extends Error {
28
36
  warnings;
29
37
  sql;
@@ -71,7 +79,7 @@ export function compile(pgSql, opts = {}) {
71
79
  }
72
80
  throwIfStrict(opts, warnings, trimmed);
73
81
  const quotedByMarker = markSQLiteKeywordIdentifiers(stmts);
74
- const emitted = restoreSQLiteKeywordIdentifierMarkers(deparseSync({ version: parsed.version ?? version, stmts }), quotedByMarker);
82
+ const emitted = normalizeEscapeStringLiterals(restoreSQLiteKeywordIdentifierMarkers(deparseSync({ version: parsed.version ?? version, stmts }), quotedByMarker));
75
83
  const sql = stripTrailingSemicolon(emitted.trim());
76
84
  throwIfStrict(opts, warnings, sql);
77
85
  return { sql, warnings };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pg-sqlite-compiler/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pg-sqlite-compiler/index.ts"],"names":[],"mappings":"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"}
@@ -17,5 +17,7 @@
17
17
  * extend this pass in follow-ups. v1 covers the high-frequency cases.
18
18
  */
19
19
  import type { Pass } from '../types.js';
20
+ /** Return the SQLite-compatible value node for one PG datetime call. */
21
+ export declare function rewriteDatetimeFunctionCall(node: any): any | undefined;
20
22
  export declare const datetimePass: Pass;
21
23
  //# sourceMappingURL=datetime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../../src/pg-sqlite-compiler/passes/datetime.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAuBvC,eAAO,MAAM,YAAY,EAAE,IA8B1B,CAAA"}
1
+ {"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../../src/pg-sqlite-compiler/passes/datetime.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAuBvC,wEAAwE;AACxE,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,SAAS,CAYtE;AAED,eAAO,MAAM,YAAY,EAAE,IAe1B,CAAA"}
@@ -17,6 +17,23 @@ function svfWrapper(op) {
17
17
  SQLValueFunction: { op, typmod: -1, location: 0 },
18
18
  };
19
19
  }
20
+ /** Return the SQLite-compatible value node for one PG datetime call. */
21
+ export function rewriteDatetimeFunctionCall(node) {
22
+ const name = lowerFuncName(node?.funcname);
23
+ if (!name)
24
+ return undefined;
25
+ const argless = !node.args || (Array.isArray(node.args) && node.args.length === 0);
26
+ if (!argless)
27
+ return undefined;
28
+ if (name === 'now' || name === 'current_timestamp' || name === 'clock_timestamp') {
29
+ return svfWrapper('SVFOP_CURRENT_TIMESTAMP');
30
+ }
31
+ if (name === 'current_date')
32
+ return svfWrapper('SVFOP_CURRENT_DATE');
33
+ if (name === 'current_time')
34
+ return svfWrapper('SVFOP_CURRENT_TIME');
35
+ return undefined;
36
+ }
20
37
  export const datetimePass = {
21
38
  name: 'datetime',
22
39
  run(rawStmt, _ctx) {
@@ -24,28 +41,13 @@ export const datetimePass = {
24
41
  FuncCall: (node, parent, key) => {
25
42
  if (parent == null)
26
43
  return; // can't replace a root-positioned FuncCall
27
- const name = lowerFuncName(node.funcname);
28
- if (!name)
29
- return;
30
- const argless = !node.args || (Array.isArray(node.args) && node.args.length === 0);
31
- if (!argless)
32
- return;
33
44
  // Map PG datetime function calls → SQL bareword time keywords. The PG
34
45
  // AST distinguishes function-form (`now()`) from keyword-form
35
46
  // (`CURRENT_TIMESTAMP`) at the parse level; SQLite only accepts the
36
47
  // keyword form in DEFAULT clauses and uniformly elsewhere.
37
- if (name === 'now' || name === 'current_timestamp') {
38
- parent[key] = svfWrapper('SVFOP_CURRENT_TIMESTAMP');
39
- return;
40
- }
41
- if (name === 'current_date') {
42
- parent[key] = svfWrapper('SVFOP_CURRENT_DATE');
43
- return;
44
- }
45
- if (name === 'current_time') {
46
- parent[key] = svfWrapper('SVFOP_CURRENT_TIME');
47
- return;
48
- }
48
+ const rewritten = rewriteDatetimeFunctionCall(node);
49
+ if (rewritten)
50
+ parent[key] = rewritten;
49
51
  },
50
52
  });
51
53
  },
@@ -1 +1 @@
1
- {"version":3,"file":"datetime.js","sourceRoot":"","sources":["../../../src/pg-sqlite-compiler/passes/datetime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAsBxC,SAAS,aAAa,CAAC,QAA2B;IAChD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC1C,MAAM,GAAG,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,MAAM,EAAE,GAAG,CAAA;IACnD,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AAChE,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CAAC,EAAU;IAG5B,OAAO;QACL,gBAAgB,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE;KAClD,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAS;IAChC,IAAI,EAAE,UAAU;IAChB,GAAG,CAAC,OAAO,EAAE,IAAI;QACf,OAAO,CAAC,OAAO,EAAE;YACf,QAAQ,EAAE,CAAC,IAAS,EAAE,MAAW,EAAE,GAAoB,EAAE,EAAE;gBACzD,IAAI,MAAM,IAAI,IAAI;oBAAE,OAAM,CAAC,2CAA2C;gBACtE,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBACzC,IAAI,CAAC,IAAI;oBAAE,OAAM;gBACjB,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAA;gBAClF,IAAI,CAAC,OAAO;oBAAE,OAAM;gBAEpB,sEAAsE;gBACtE,8DAA8D;gBAC9D,oEAAoE;gBACpE,2DAA2D;gBAC3D,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;oBACnD,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,yBAAyB,CAAC,CAAA;oBACnD,OAAM;gBACR,CAAC;gBACD,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;oBAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAA;oBAC9C,OAAM;gBACR,CAAC;gBACD,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;oBAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAA;oBAC9C,OAAM;gBACR,CAAC;YACH,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"datetime.js","sourceRoot":"","sources":["../../../src/pg-sqlite-compiler/passes/datetime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAsBxC,SAAS,aAAa,CAAC,QAA2B;IAChD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC1C,MAAM,GAAG,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,MAAM,EAAE,GAAG,CAAA;IACnD,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AAChE,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CAAC,EAAU;IAG5B,OAAO;QACL,gBAAgB,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE;KAClD,CAAA;AACH,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,2BAA2B,CAAC,IAAS;IACnD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC1C,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAA;IAC3B,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAA;IAClF,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAA;IAE9B,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACjF,OAAO,UAAU,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;IACD,IAAI,IAAI,KAAK,cAAc;QAAE,OAAO,UAAU,CAAC,oBAAoB,CAAC,CAAA;IACpE,IAAI,IAAI,KAAK,cAAc;QAAE,OAAO,UAAU,CAAC,oBAAoB,CAAC,CAAA;IACpE,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAS;IAChC,IAAI,EAAE,UAAU;IAChB,GAAG,CAAC,OAAO,EAAE,IAAI;QACf,OAAO,CAAC,OAAO,EAAE;YACf,QAAQ,EAAE,CAAC,IAAS,EAAE,MAAW,EAAE,GAAoB,EAAE,EAAE;gBACzD,IAAI,MAAM,IAAI,IAAI;oBAAE,OAAM,CAAC,2CAA2C;gBACtE,sEAAsE;gBACtE,8DAA8D;gBAC9D,oEAAoE;gBACpE,2DAA2D;gBAC3D,MAAM,SAAS,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAA;gBACnD,IAAI,SAAS;oBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;YACxC,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -1 +1 @@
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
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pg-sqlite-compiler/passes/index.ts"],"names":[],"mappings":"AAUA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEpD,eAAO,MAAM,cAAc,EAAE,IAAI,EAehC,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAc9D"}
@@ -1,7 +1,10 @@
1
1
  import { catalogPass } from './catalog.js';
2
2
  import { datetimePass } from './datetime.js';
3
3
  import { dmlCtePass } from './dml-cte.js';
4
+ import { jsonFunctionsPass } from './json-functions.js';
5
+ import { rowJsonPass } from './row-json.js';
4
6
  import { schemaPass } from './schema.js';
7
+ import { stringFunctionsPass } from './string-functions.js';
5
8
  import { typesPass } from './types.js';
6
9
  import { unsupportedPass } from './unsupported.js';
7
10
  export const DEFAULT_PASSES = [
@@ -9,13 +12,15 @@ export const DEFAULT_PASSES = [
9
12
  dmlCtePass,
10
13
  typesPass,
11
14
  datetimePass,
15
+ stringFunctionsPass,
16
+ jsonFunctionsPass,
17
+ rowJsonPass,
12
18
  catalogPass,
13
19
  schemaPass,
14
20
  unsupportedPass,
15
21
  // future:
16
22
  // castPass,
17
23
  // arrayPass,
18
- // jsonPass,
19
24
  // insertPass,
20
25
  ];
21
26
  /**
@@ -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,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"}
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,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,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,mBAAmB;IACnB,iBAAiB;IACjB,WAAW;IACX,WAAW;IACX,UAAU;IACV,eAAe;IACf,UAAU;IACV,cAAc;IACd,eAAe;IACf,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"}
@@ -0,0 +1,3 @@
1
+ import type { Pass } from '../types.js';
2
+ export declare const jsonFunctionsPass: Pass;
3
+ //# sourceMappingURL=json-functions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-functions.d.ts","sourceRoot":"","sources":["../../../src/pg-sqlite-compiler/passes/json-functions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AA+BvC,eAAO,MAAM,iBAAiB,EAAE,IAwB/B,CAAA"}
@@ -0,0 +1,57 @@
1
+ import { walkAst } from './ast-utils.js';
2
+ /**
3
+ * PG's JSON aggregates and constructors have direct SQLite equivalents with
4
+ * the same argument shapes, but different names. Zero's z2s query compiler
5
+ * emits these (json_agg over json_build_object rows is its relationship
6
+ * hydration shape), so passing them through breaks every consumer on real
7
+ * SQLite with "no such function: json_agg".
8
+ *
9
+ * jsonb variants map to the same SQLite functions: SQLite has one JSON text
10
+ * representation, so the jsonb/json distinction erases.
11
+ */
12
+ const SQLITE_FUNCTION_BY_PG_JSON_FUNCTION = new Map([
13
+ ['json_agg', 'json_group_array'],
14
+ ['jsonb_agg', 'json_group_array'],
15
+ ['json_build_object', 'json_object'],
16
+ ['jsonb_build_object', 'json_object'],
17
+ ['json_build_array', 'json_array'],
18
+ ['jsonb_build_array', 'json_array'],
19
+ ['json_object_agg', 'json_group_object'],
20
+ ['jsonb_object_agg', 'json_group_object'],
21
+ ]);
22
+ function functionName(func) {
23
+ const parts = func?.funcname;
24
+ if (!Array.isArray(parts) || parts.length === 0)
25
+ return null;
26
+ const last = parts[parts.length - 1];
27
+ const value = last?.String?.sval ?? last?.String?.str;
28
+ return typeof value === 'string' ? value.toLowerCase() : null;
29
+ }
30
+ export const jsonFunctionsPass = {
31
+ name: 'json-functions',
32
+ run(rawStmt, ctx) {
33
+ walkAst(rawStmt, {
34
+ FuncCall: (node) => {
35
+ const name = functionName(node);
36
+ if (!name)
37
+ return;
38
+ const replacement = SQLITE_FUNCTION_BY_PG_JSON_FUNCTION.get(name);
39
+ if (!replacement)
40
+ return;
41
+ // SQLite aggregates accept no ORDER BY / FILTER inside the call; a
42
+ // silent rename would change semantics, so surface it instead.
43
+ if (node.agg_order || node.agg_filter) {
44
+ ctx.warnings.push({
45
+ kind: 'unsupported-function',
46
+ near: 'FuncCall',
47
+ message: `${name}() with ORDER BY/FILTER has no SQLite equivalent`,
48
+ });
49
+ return;
50
+ }
51
+ node.funcname = [{ String: { sval: replacement } }];
52
+ node.funcformat = 'COERCE_EXPLICIT_CALL';
53
+ },
54
+ });
55
+ },
56
+ };
57
+ //# sourceMappingURL=json-functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-functions.js","sourceRoot":"","sources":["../../../src/pg-sqlite-compiler/passes/json-functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAIxC;;;;;;;;;GASG;AACH,MAAM,mCAAmC,GAAG,IAAI,GAAG,CAAC;IAClD,CAAC,UAAU,EAAE,kBAAkB,CAAC;IAChC,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACjC,CAAC,mBAAmB,EAAE,aAAa,CAAC;IACpC,CAAC,oBAAoB,EAAE,aAAa,CAAC;IACrC,CAAC,kBAAkB,EAAE,YAAY,CAAC;IAClC,CAAC,mBAAmB,EAAE,YAAY,CAAC;IACnC,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;IACxC,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;CAC1C,CAAC,CAAA;AAEF,SAAS,YAAY,CAAC,IAAS;IAC7B,MAAM,KAAK,GAAG,IAAI,EAAE,QAAQ,CAAA;IAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAC5D,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACpC,MAAM,KAAK,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,MAAM,EAAE,GAAG,CAAA;IACrD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AAC/D,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAS;IACrC,IAAI,EAAE,gBAAgB;IACtB,GAAG,CAAC,OAAO,EAAE,GAAG;QACd,OAAO,CAAC,OAAO,EAAE;YACf,QAAQ,EAAE,CAAC,IAAS,EAAE,EAAE;gBACtB,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;gBAC/B,IAAI,CAAC,IAAI;oBAAE,OAAM;gBACjB,MAAM,WAAW,GAAG,mCAAmC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBACjE,IAAI,CAAC,WAAW;oBAAE,OAAM;gBACxB,mEAAmE;gBACnE,+DAA+D;gBAC/D,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACtC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,GAAG,IAAI,kDAAkD;qBACnE,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,CAAA;gBACnD,IAAI,CAAC,UAAU,GAAG,sBAAsB,CAAA;YAC1C,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { Pass } from '../types.js';
2
+ export declare const rowJsonPass: Pass;
3
+ //# sourceMappingURL=row-json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-json.d.ts","sourceRoot":"","sources":["../../../src/pg-sqlite-compiler/passes/row-json.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAe,MAAM,aAAa,CAAA;AA+MpD,eAAO,MAAM,WAAW,EAAE,IA+CzB,CAAA"}