@rocicorp/zero 0.25.0-canary.3 → 0.25.0-canary.4

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/out/{chunk-SRLXXPNB.js → chunk-3KJ5OEIB.js} +4 -4
  2. package/out/chunk-ASRS2LFV.js +35 -0
  3. package/out/chunk-ASRS2LFV.js.map +7 -0
  4. package/out/{chunk-RYFBHAD4.js → chunk-ECUMGQGC.js} +4 -17
  5. package/out/chunk-ECUMGQGC.js.map +7 -0
  6. package/out/{chunk-U2KJIWVC.js → chunk-EZM3XBAB.js} +2 -47
  7. package/out/chunk-EZM3XBAB.js.map +7 -0
  8. package/out/{chunk-IWL6EEA6.js → chunk-HE4M4K7Q.js} +585 -71
  9. package/out/chunk-HE4M4K7Q.js.map +7 -0
  10. package/out/{chunk-JKP7HDC6.js → chunk-TAUDS4QP.js} +48 -7
  11. package/out/chunk-TAUDS4QP.js.map +7 -0
  12. package/out/{chunk-5H7WNLPK.js → chunk-ZZXMKAAG.js} +2 -2
  13. package/out/expo-sqlite.js +4 -4
  14. package/out/{lazy-inspector-4CO3DXP5.js → lazy-inspector-XLKVABX2.js} +6 -6
  15. package/out/op-sqlite.js +3 -3
  16. package/out/react-native.js +4 -4
  17. package/out/react.js +4 -4
  18. package/out/replicache/src/kv/sqlite-store.d.ts +1 -7
  19. package/out/replicache/src/kv/sqlite-store.d.ts.map +1 -1
  20. package/out/replicache/src/sqlite.d.ts +1 -1
  21. package/out/replicache/src/sqlite.d.ts.map +1 -1
  22. package/out/solid.js +5 -5
  23. package/out/sqlite.js +3 -5
  24. package/out/zero/package.json +1 -1
  25. package/out/zero-cache/src/db/pg-to-lite.d.ts +10 -0
  26. package/out/zero-cache/src/db/pg-to-lite.d.ts.map +1 -1
  27. package/out/zero-cache/src/db/pg-to-lite.js +16 -2
  28. package/out/zero-cache/src/db/pg-to-lite.js.map +1 -1
  29. package/out/zero-cache/src/services/change-source/column-metadata.d.ts +10 -3
  30. package/out/zero-cache/src/services/change-source/column-metadata.d.ts.map +1 -1
  31. package/out/zero-cache/src/services/change-source/column-metadata.js +26 -13
  32. package/out/zero-cache/src/services/change-source/column-metadata.js.map +1 -1
  33. package/out/zero-cache/src/services/change-source/replica-schema.d.ts.map +1 -1
  34. package/out/zero-cache/src/services/change-source/replica-schema.js +13 -0
  35. package/out/zero-cache/src/services/change-source/replica-schema.js.map +1 -1
  36. package/out/zero-cache/src/services/replicator/change-processor.d.ts.map +1 -1
  37. package/out/zero-cache/src/services/replicator/change-processor.js +33 -0
  38. package/out/zero-cache/src/services/replicator/change-processor.js.map +1 -1
  39. package/out/zero.js +6 -7
  40. package/package.json +1 -1
  41. package/out/chunk-HYS7YLNL.js +0 -575
  42. package/out/chunk-HYS7YLNL.js.map +0 -7
  43. package/out/chunk-IWL6EEA6.js.map +0 -7
  44. package/out/chunk-JKP7HDC6.js.map +0 -7
  45. package/out/chunk-RYFBHAD4.js.map +0 -7
  46. package/out/chunk-U2KJIWVC.js.map +0 -7
  47. /package/out/{chunk-SRLXXPNB.js.map → chunk-3KJ5OEIB.js.map} +0 -0
  48. /package/out/{chunk-5H7WNLPK.js.map → chunk-ZZXMKAAG.js.map} +0 -0
  49. /package/out/{lazy-inspector-4CO3DXP5.js.map → lazy-inspector-XLKVABX2.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SQLiteStore,
3
3
  dropStore
4
- } from "./chunk-RYFBHAD4.js";
4
+ } from "./chunk-ECUMGQGC.js";
5
5
 
6
6
  // ../replicache/src/kv/expo-sqlite/store.ts
7
7
  import {
@@ -61,4 +61,4 @@ var ExpoSQLiteDatabase = class {
61
61
  export {
62
62
  expoSQLiteStoreProvider
63
63
  };
64
- //# sourceMappingURL=chunk-5H7WNLPK.js.map
64
+ //# sourceMappingURL=chunk-ZZXMKAAG.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  expoSQLiteStoreProvider
3
- } from "./chunk-5H7WNLPK.js";
4
- import "./chunk-RYFBHAD4.js";
5
- import "./chunk-HYS7YLNL.js";
6
- import "./chunk-U2KJIWVC.js";
3
+ } from "./chunk-ZZXMKAAG.js";
4
+ import "./chunk-ECUMGQGC.js";
5
+ import "./chunk-ASRS2LFV.js";
6
+ import "./chunk-EZM3XBAB.js";
7
7
  import "./chunk-424PT5DM.js";
8
8
  export {
9
9
  expoSQLiteStoreProvider
@@ -18,13 +18,13 @@ import {
18
18
  normalizeTTL,
19
19
  readFromHash,
20
20
  test,
21
- valita_exports
22
- } from "./chunk-JKP7HDC6.js";
21
+ valita_exports,
22
+ withRead
23
+ } from "./chunk-TAUDS4QP.js";
23
24
  import {
24
25
  assert,
25
- unreachable,
26
- withRead
27
- } from "./chunk-U2KJIWVC.js";
26
+ unreachable
27
+ } from "./chunk-EZM3XBAB.js";
28
28
  import "./chunk-424PT5DM.js";
29
29
 
30
30
  // ../zero-client/src/client/inspector/html-dialog-prompt.ts
@@ -572,4 +572,4 @@ export {
572
572
  rpc,
573
573
  serverVersion
574
574
  };
575
- //# sourceMappingURL=lazy-inspector-4CO3DXP5.js.map
575
+ //# sourceMappingURL=lazy-inspector-XLKVABX2.js.map
package/out/op-sqlite.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  SQLiteStore,
3
3
  dropStore
4
- } from "./chunk-RYFBHAD4.js";
5
- import "./chunk-HYS7YLNL.js";
6
- import "./chunk-U2KJIWVC.js";
4
+ } from "./chunk-ECUMGQGC.js";
5
+ import "./chunk-ASRS2LFV.js";
6
+ import "./chunk-EZM3XBAB.js";
7
7
  import "./chunk-424PT5DM.js";
8
8
 
9
9
  // ../replicache/src/kv/op-sqlite/types.ts
@@ -1,14 +1,14 @@
1
1
  import "./chunk-AFADJQ2O.js";
2
2
  import {
3
3
  expoSQLiteStoreProvider
4
- } from "./chunk-5H7WNLPK.js";
4
+ } from "./chunk-ZZXMKAAG.js";
5
5
  import {
6
6
  SQLiteStore,
7
7
  clearAllNamedStoresForTesting,
8
8
  dropStore
9
- } from "./chunk-RYFBHAD4.js";
10
- import "./chunk-HYS7YLNL.js";
11
- import "./chunk-U2KJIWVC.js";
9
+ } from "./chunk-ECUMGQGC.js";
10
+ import "./chunk-ASRS2LFV.js";
11
+ import "./chunk-EZM3XBAB.js";
12
12
  import "./chunk-424PT5DM.js";
13
13
 
14
14
  // src/react-native.ts
package/out/react.js CHANGED
@@ -5,15 +5,15 @@ import {
5
5
  Zero,
6
6
  bindingsForZero,
7
7
  connection_status_enum_exports
8
- } from "./chunk-IWL6EEA6.js";
9
- import "./chunk-HYS7YLNL.js";
8
+ } from "./chunk-HE4M4K7Q.js";
9
+ import "./chunk-ASRS2LFV.js";
10
10
  import {
11
11
  DEFAULT_TTL_MS,
12
12
  stringCompare
13
- } from "./chunk-JKP7HDC6.js";
13
+ } from "./chunk-TAUDS4QP.js";
14
14
  import {
15
15
  hasOwn
16
- } from "./chunk-U2KJIWVC.js";
16
+ } from "./chunk-EZM3XBAB.js";
17
17
  import "./chunk-424PT5DM.js";
18
18
 
19
19
  // ../zero-react/src/components/zero-inspector.tsx
@@ -1,5 +1,5 @@
1
1
  import type { ReadonlyJSONValue } from '../../../shared/src/json.ts';
2
- import type { Read, Store, StoreProvider, Write } from './store.ts';
2
+ import type { Read, Store, Write } from './store.ts';
3
3
  /**
4
4
  * A SQLite prepared statement.
5
5
  *
@@ -81,10 +81,4 @@ export declare class SQLiteWrite implements Write {
81
81
  }
82
82
  export declare function clearAllNamedStoresForTesting(): void;
83
83
  export declare function dropStore(name: string, createDelegate: (filename: string, opts?: SQLiteStoreOptions) => SQLiteDatabase): Promise<void>;
84
- /**
85
- * Drops all databases associated with a store provider.
86
- *
87
- * TEMPORARY: Only used for testing.
88
- */
89
- export declare function dropAllProviderDatabases(storeProvider: StoreProvider): Promise<void>;
90
84
  //# sourceMappingURL=sqlite-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-store.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/kv/sqlite-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAGnE,OAAO,KAAK,EAAC,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAC,MAAM,YAAY,CAAC;AAMlE;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAC;IAGxC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,MAAM,oBAAoB,GAAG,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,kBAAkB,KACtB,cAAc,CAAC;AAEpB;;;;;GAKG;AACH,qBAAa,WAAY,YAAW,KAAK;;gBAOrC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,oBAAoB,EAC5B,IAAI,CAAC,EAAE,kBAAkB;IAMrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBrB,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;IAcvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB5B,IAAI,MAAM,IAAI,OAAO,CAEpB;CACF;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,EAAE,iBAAiB,CAAC;IACvB,GAAG,EAAE,iBAAiB,CAAC;IACvB,GAAG,EAAE,iBAAiB,CAAC;IACvB,GAAG,EAAE,iBAAiB,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,kBAAkB;IAEjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC/B,WAAW,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAChC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;GAGG;AAEH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,cAAc,EACxB,IAAI,CAAC,EAAE,kBAAkB,GACxB,kBAAkB,CA0BpB;AAED,qBAAa,eAAgB,YAAW,IAAI;;gBAK9B,OAAO,EAAE,MAAM,IAAI,EAAE,kBAAkB,EAAE,kBAAkB;IAKjE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMlC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAW9D,OAAO,IAAI,IAAI;IAOf,IAAI,MAAM,IAAI,OAAO,CAEpB;CACF;AAED,qBAAa,WAAY,YAAW,KAAK;;gBAQrC,OAAO,EAAE,MAAM,IAAI,EACnB,UAAU,EAAE,cAAc,EAC1B,kBAAkB,EAAE,kBAAkB;IAOlC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMlC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAWxD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAM7B,OAAO,IAAI,IAAI;IAYf,IAAI,MAAM,IAAI,OAAO,CAEpB;CACF;AAiED,wBAAgB,6BAA6B,IAAI,IAAI,CAKpD;AAED,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,CACd,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,kBAAkB,KACtB,cAAc,GAClB,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,IAAI,CAAC,CAYf"}
1
+ {"version":3,"file":"sqlite-store.d.ts","sourceRoot":"","sources":["../../../../../replicache/src/kv/sqlite-store.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export { clearAllNamedStoresForTesting, dropAllProviderDatabases, dropStore, SQLiteStore, type PreparedStatement, type SQLiteDatabase, type SQLiteStoreOptions, } from './kv/sqlite-store.ts';
1
+ export { clearAllNamedStoresForTesting, dropStore, SQLiteStore, type PreparedStatement, type SQLiteDatabase, type SQLiteStoreOptions, } from './kv/sqlite-store.ts';
2
2
  export type { CreateStore, DropStore, Read, Store, StoreProvider, Write, } from './kv/store.ts';
3
3
  //# sourceMappingURL=sqlite.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../../../replicache/src/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,SAAS,EACT,WAAW,EACX,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,kBAAkB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,WAAW,EACX,SAAS,EACT,IAAI,EACJ,KAAK,EACL,aAAa,EACb,KAAK,GACN,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../../../replicache/src/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,SAAS,EACT,WAAW,EACX,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,kBAAkB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,WAAW,EACX,SAAS,EACT,IAAI,EACJ,KAAK,EACL,aAAa,EACb,KAAK,GACN,MAAM,eAAe,CAAC"}
package/out/solid.js CHANGED
@@ -1,16 +1,16 @@
1
- import "./chunk-SRLXXPNB.js";
1
+ import "./chunk-3KJ5OEIB.js";
2
2
  import {
3
3
  Zero,
4
4
  applyChange,
5
5
  bindingsForZero,
6
6
  connection_status_enum_exports,
7
7
  idSymbol
8
- } from "./chunk-IWL6EEA6.js";
9
- import "./chunk-HYS7YLNL.js";
8
+ } from "./chunk-HE4M4K7Q.js";
9
+ import "./chunk-ASRS2LFV.js";
10
10
  import {
11
11
  DEFAULT_TTL_MS
12
- } from "./chunk-JKP7HDC6.js";
13
- import "./chunk-U2KJIWVC.js";
12
+ } from "./chunk-TAUDS4QP.js";
13
+ import "./chunk-EZM3XBAB.js";
14
14
  import "./chunk-424PT5DM.js";
15
15
 
16
16
  // ../zero-solid/src/use-query.ts
package/out/sqlite.js CHANGED
@@ -2,16 +2,14 @@ import "./chunk-AFADJQ2O.js";
2
2
  import {
3
3
  SQLiteStore,
4
4
  clearAllNamedStoresForTesting,
5
- dropAllProviderDatabases,
6
5
  dropStore
7
- } from "./chunk-RYFBHAD4.js";
8
- import "./chunk-HYS7YLNL.js";
9
- import "./chunk-U2KJIWVC.js";
6
+ } from "./chunk-ECUMGQGC.js";
7
+ import "./chunk-ASRS2LFV.js";
8
+ import "./chunk-EZM3XBAB.js";
10
9
  import "./chunk-424PT5DM.js";
11
10
  export {
12
11
  SQLiteStore,
13
12
  clearAllNamedStoresForTesting,
14
- dropAllProviderDatabases,
15
13
  dropStore
16
14
  };
17
15
  //# sourceMappingURL=sqlite.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rocicorp/zero",
3
- "version": "0.25.0-canary.3",
3
+ "version": "0.25.0-canary.4",
4
4
  "description": "Zero is a web framework for serverless web development.",
5
5
  "author": "Rocicorp, Inc.",
6
6
  "repository": {
@@ -1,6 +1,16 @@
1
1
  import type { LogContext } from '@rocicorp/logger';
2
2
  import { type LiteTypeString } from '../types/lite.ts';
3
3
  import { type ColumnSpec, type IndexSpec, type LiteIndexSpec, type LiteTableSpec, type TableSpec } from './specs.ts';
4
+ /**
5
+ * Determines if a PostgreSQL column is an enum type.
6
+ * This checks both the element type class (for arrays of enums) and the main type class.
7
+ */
8
+ export declare function isEnumColumn(spec: Pick<ColumnSpec, 'pgTypeClass' | 'elemPgTypeClass'>): boolean;
9
+ /**
10
+ * Determines if a PostgreSQL column is an array type.
11
+ * In PostgreSQL's system, array columns have a non-null elemPgTypeClass.
12
+ */
13
+ export declare function isArrayColumn(spec: Pick<ColumnSpec, 'elemPgTypeClass'>): boolean;
4
14
  export declare function warnIfDataTypeSupported(lc: LogContext, liteTypeString: LiteTypeString, table: string, column: string): void;
5
15
  export declare function mapPostgresToLiteDefault(table: string, column: string, dataType: string, defaultExpression: string | null | undefined): string | null;
6
16
  export declare function mapPostgresToLiteColumn(table: string, column: {
@@ -1 +1 @@
1
- {"version":3,"file":"pg-to-lite.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/db/pg-to-lite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,YAAY,CAAC;AAapB,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,UAAU,EACd,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,QAUf;AAkBD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,iBAuB7C;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAC,EACxC,aAAa,CAAC,EAAE,gBAAgB,GAC/B,UAAU,CAwCZ;AAED,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,SAAS,EACZ,cAAc,CAAC,EAAE,MAAM,GACtB,aAAa,CAoBf;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa,CAOtE;AAED,qBAAa,6BAA8B,SAAQ,KAAK;IACtD,QAAQ,CAAC,IAAI,mCAAmC;CACjD"}
1
+ {"version":3,"file":"pg-to-lite.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/db/pg-to-lite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,GAAG,iBAAiB,CAAC,GACxD,OAAO,CAET;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,GACxC,OAAO,CAET;AAaD,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,UAAU,EACd,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,QAUf;AAkBD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,iBAuB7C;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAC,EACxC,aAAa,CAAC,EAAE,gBAAgB,GAC/B,UAAU,CAiCZ;AAED,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,SAAS,EACZ,cAAc,CAAC,EAAE,MAAM,GACtB,aAAa,CAoBf;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa,CAOtE;AAED,qBAAa,6BAA8B,SAAQ,KAAK;IACtD,QAAQ,CAAC,IAAI,mCAAmC;CACjD"}
@@ -3,6 +3,20 @@ import { liteTypeString, liteTypeToZqlValueType, upstreamDataType, } from "../ty
3
3
  import { liteTableName } from "../types/names.js";
4
4
  import * as PostgresTypeClass from "./postgres-type-class-enum.js";
5
5
  import {} from "./specs.js";
6
+ /**
7
+ * Determines if a PostgreSQL column is an enum type.
8
+ * This checks both the element type class (for arrays of enums) and the main type class.
9
+ */
10
+ export function isEnumColumn(spec) {
11
+ return (spec.elemPgTypeClass ?? spec.pgTypeClass) === PostgresTypeClass.Enum;
12
+ }
13
+ /**
14
+ * Determines if a PostgreSQL column is an array type.
15
+ * In PostgreSQL's system, array columns have a non-null elemPgTypeClass.
16
+ */
17
+ export function isArrayColumn(spec) {
18
+ return spec.elemPgTypeClass !== null && spec.elemPgTypeClass !== undefined;
19
+ }
6
20
  function zeroVersionColumnSpec(defaultVersion) {
7
21
  return {
8
22
  pos: Number.MAX_SAFE_INTEGER, // i.e. last
@@ -52,11 +66,11 @@ export function mapPostgresToLiteDefault(table, column, dataType, defaultExpress
52
66
  return match[1];
53
67
  }
54
68
  export function mapPostgresToLiteColumn(table, column, ignoreDefault) {
55
- const { pos, dataType, pgTypeClass, notNull, dflt, elemPgTypeClass = null, } = column.spec;
69
+ const { pos, dataType, notNull, dflt, elemPgTypeClass = null } = column.spec;
56
70
  // PostgreSQL includes [] in dataType for array types (e.g., 'int4[]',
57
71
  // 'int4[][]'). liteTypeString() appends attributes:
58
72
  // "varchar[]|NOT_NULL|TEXT_ARRAY", "my_enum[][]|TEXT_ENUM|TEXT_ARRAY"
59
- const liteType = liteTypeString(dataType, notNull, (elemPgTypeClass ?? pgTypeClass) === PostgresTypeClass.Enum, elemPgTypeClass !== null);
73
+ const liteType = liteTypeString(dataType, notNull, isEnumColumn(column.spec), isArrayColumn(column.spec));
60
74
  return {
61
75
  pos,
62
76
  dataType: liteType,
@@ -1 +1 @@
1
- {"version":3,"file":"pg-to-lite.js","sourceRoot":"","sources":["../../../../../zero-cache/src/db/pg-to-lite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pg-to-lite.js","sourceRoot":"","sources":["../../../../../zero-cache/src/db/pg-to-lite.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@
9
9
  * plain type names while preserving all necessary upstream type information.
10
10
  */
11
11
  import type { Database } from '../../../../zqlite/src/db.ts';
12
- import type { LiteTableSpec } from '../../db/specs.ts';
12
+ import type { ColumnSpec, LiteTableSpec } from '../../db/specs.ts';
13
13
  /**
14
14
  * Structured column metadata, replacing the old pipe-delimited string format.
15
15
  */
@@ -38,8 +38,8 @@ export declare class ColumnMetadataStore {
38
38
  * Returns `undefined` if the metadata table doesn't exist yet.
39
39
  */
40
40
  static getInstance(db: Database): ColumnMetadataStore | undefined;
41
- insert(tableName: string, columnName: string, metadata: ColumnMetadata): void;
42
- update(tableName: string, oldColumnName: string, newColumnName: string, metadata: ColumnMetadata): void;
41
+ insert(tableName: string, columnName: string, spec: ColumnSpec): void;
42
+ update(tableName: string, oldColumnName: string, newColumnName: string, spec: ColumnSpec): void;
43
43
  deleteColumn(tableName: string, columnName: string): void;
44
44
  deleteTable(tableName: string): void;
45
45
  renameTable(oldTableName: string, newTableName: string): void;
@@ -62,4 +62,11 @@ export declare function liteTypeStringToMetadata(liteTypeString: string, charact
62
62
  * This is a compatibility helper for the migration period.
63
63
  */
64
64
  export declare function metadataToLiteTypeString(metadata: ColumnMetadata): string;
65
+ /**
66
+ * Converts PostgreSQL ColumnSpec to structured ColumnMetadata.
67
+ * Used during replication to populate the metadata table from upstream schema.
68
+ *
69
+ * Uses the same logic as liteTypeString() and mapPostgresToLiteColumn() via shared helpers.
70
+ */
71
+ export declare function pgColumnSpecToMetadata(spec: ColumnSpec): ColumnMetadata;
65
72
  //# sourceMappingURL=column-metadata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"column-metadata.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-source/column-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAC,QAAQ,EAAY,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAQrD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,sDAAsD;IACtD,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAUD,eAAO,MAAM,4BAA4B,0UAWxC,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,mBAAmB;;IAY9B,OAAO;IAqDP;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,GAAG,mBAAmB,GAAG,SAAS;IAoBjE,MAAM,CACJ,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,cAAc,GACvB,IAAI;IAYP,MAAM,CACJ,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,cAAc,GACvB,IAAI;IAaP,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAIzD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIpC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAI7D,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAkB5E,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;IAmBxD,QAAQ,IAAI,OAAO;IAKnB;;;OAGG;IACH,0BAA0B,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI;CAW1D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,MAAM,EACtB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,GACjC,cAAc,CAiBhB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAWzE"}
1
+ {"version":3,"file":"column-metadata.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-source/column-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAC,QAAQ,EAAY,MAAM,8BAA8B,CAAC;AAEtE,OAAO,KAAK,EAAC,UAAU,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAC;AASjE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,sDAAsD;IACtD,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAUD,eAAO,MAAM,4BAA4B,0UAWxC,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,mBAAmB;;IAY9B,OAAO;IAqDP;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,GAAG,mBAAmB,GAAG,SAAS;IAoBjE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI;IAqBrE,MAAM,CACJ,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,UAAU,GACf,IAAI;IAcP,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAIzD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIpC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAI7D,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAkB5E,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;IAmBxD,QAAQ,IAAI,OAAO;IAKnB;;;OAGG;IACH,0BAA0B,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI;CAW1D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,MAAM,EACtB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,GACjC,cAAc,CAiBhB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAOzE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,UAAU,GAAG,cAAc,CAQvE"}
@@ -8,7 +8,8 @@
8
8
  * This table stores that metadata separately, allowing SQLite columns to use
9
9
  * plain type names while preserving all necessary upstream type information.
10
10
  */
11
- import { upstreamDataType, nullableUpstream, isEnum as checkIsEnum, isArray as checkIsArray, } from "../../types/lite.js";
11
+ import { isArrayColumn, isEnumColumn } from "../../db/pg-to-lite.js";
12
+ import { upstreamDataType, nullableUpstream, isEnum as checkIsEnum, isArray as checkIsArray, liteTypeString, } from "../../types/lite.js";
12
13
  export const CREATE_COLUMN_METADATA_TABLE = `
13
14
  CREATE TABLE "_zero.column_metadata" (
14
15
  table_name TEXT NOT NULL,
@@ -102,10 +103,15 @@ export class ColumnMetadataStore {
102
103
  }
103
104
  return instance;
104
105
  }
105
- insert(tableName, columnName, metadata) {
106
+ insert(tableName, columnName, spec) {
107
+ const metadata = pgColumnSpecToMetadata(spec);
108
+ this.#insertMetadata(tableName, columnName, metadata);
109
+ }
110
+ #insertMetadata(tableName, columnName, metadata) {
106
111
  this.#insertStmt.run(tableName, columnName, metadata.upstreamType, metadata.isNotNull ? 1 : 0, metadata.isEnum ? 1 : 0, metadata.isArray ? 1 : 0, metadata.characterMaxLength ?? null);
107
112
  }
108
- update(tableName, oldColumnName, newColumnName, metadata) {
113
+ update(tableName, oldColumnName, newColumnName, spec) {
114
+ const metadata = pgColumnSpecToMetadata(spec);
109
115
  this.#updateStmt.run(newColumnName, metadata.upstreamType, metadata.isNotNull ? 1 : 0, metadata.isEnum ? 1 : 0, metadata.isArray ? 1 : 0, metadata.characterMaxLength ?? null, tableName, oldColumnName);
110
116
  }
111
117
  deleteColumn(tableName, columnName) {
@@ -156,7 +162,7 @@ export class ColumnMetadataStore {
156
162
  for (const table of tables) {
157
163
  for (const [columnName, columnSpec] of Object.entries(table.columns)) {
158
164
  const metadata = liteTypeStringToMetadata(columnSpec.dataType, columnSpec.characterMaximumLength);
159
- this.insert(table.name, columnName, metadata);
165
+ this.#insertMetadata(table.name, columnName, metadata);
160
166
  }
161
167
  }
162
168
  }
@@ -185,14 +191,21 @@ export function liteTypeStringToMetadata(liteTypeString, characterMaxLength) {
185
191
  * This is a compatibility helper for the migration period.
186
192
  */
187
193
  export function metadataToLiteTypeString(metadata) {
188
- const { upstreamType, isNotNull, isEnum } = metadata;
189
- let typeString = upstreamType;
190
- if (isNotNull) {
191
- typeString += '|NOT_NULL';
192
- }
193
- if (isEnum) {
194
- typeString += '|TEXT_ENUM';
195
- }
196
- return typeString;
194
+ return liteTypeString(metadata.upstreamType, metadata.isNotNull, metadata.isEnum, metadata.isArray);
195
+ }
196
+ /**
197
+ * Converts PostgreSQL ColumnSpec to structured ColumnMetadata.
198
+ * Used during replication to populate the metadata table from upstream schema.
199
+ *
200
+ * Uses the same logic as liteTypeString() and mapPostgresToLiteColumn() via shared helpers.
201
+ */
202
+ export function pgColumnSpecToMetadata(spec) {
203
+ return {
204
+ upstreamType: spec.dataType,
205
+ isNotNull: spec.notNull ?? false,
206
+ isEnum: isEnumColumn(spec),
207
+ isArray: isArrayColumn(spec),
208
+ characterMaxLength: spec.characterMaximumLength ?? null,
209
+ };
197
210
  }
198
211
  //# sourceMappingURL=column-metadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"column-metadata.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-source/column-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"column-metadata.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-source/column-metadata.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"replica-schema.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-source/replica-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAEL,KAAK,uBAAuB,EAE7B,MAAM,4BAA4B,CAAC;AAOpC,wBAAsB,WAAW,CAC/B,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,GAC3D,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED,wBAAsB,cAAc,CAClC,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,iBAgBf;AAED,eAAO,MAAM,yBAAyB,EAAE,uBAiBvC,CAAC"}
1
+ {"version":3,"file":"replica-schema.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-source/replica-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAGjD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAEL,KAAK,uBAAuB,EAE7B,MAAM,4BAA4B,CAAC;AAYpC,wBAAsB,WAAW,CAC/B,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,GAC3D,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED,wBAAsB,cAAc,CAClC,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,iBAgBf;AAED,eAAO,MAAM,yBAAyB,EAAE,uBA4BvC,CAAC"}
@@ -1,7 +1,10 @@
1
1
  import { SqliteError } from '@rocicorp/zero-sqlite3';
2
+ import { must } from "../../../../shared/src/must.js";
2
3
  import { runSchemaMigrations, } from "../../db/migration-lite.js";
4
+ import { listTables } from "../../db/lite-tables.js";
3
5
  import { AutoResetSignal } from "../change-streamer/schema/tables.js";
4
6
  import { CREATE_RUNTIME_EVENTS_TABLE, recordEvent, } from "../replicator/schema/replication-state.js";
7
+ import { ColumnMetadataStore, CREATE_COLUMN_METADATA_TABLE, } from "./column-metadata.js";
5
8
  export async function initReplica(log, debugName, dbPath, initialSync) {
6
9
  const setupMigration = {
7
10
  migrateSchema: (log, tx) => initialSync(log, tx),
@@ -42,5 +45,15 @@ export const schemaVersionMigrationMap = {
42
45
  recordEvent(db, 'upgrade');
43
46
  },
44
47
  },
48
+ 6: {
49
+ migrateSchema: (_, db) => {
50
+ db.exec(CREATE_COLUMN_METADATA_TABLE);
51
+ },
52
+ migrateData: (_, db) => {
53
+ const store = ColumnMetadataStore.getInstance(db);
54
+ const tables = listTables(db);
55
+ must(store).populateFromExistingTables(tables);
56
+ },
57
+ },
45
58
  };
46
59
  //# sourceMappingURL=replica-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"replica-schema.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-source/replica-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EACL,mBAAmB,GAGpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,eAAe,EAAC,MAAM,qCAAqC,CAAC;AACpE,OAAO,EACL,2BAA2B,EAC3B,WAAW,GACZ,MAAM,2CAA2C,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,GAAe,EACf,SAAiB,EACjB,MAAc,EACd,WAA4D;IAE5D,MAAM,cAAc,GAAc;QAChC,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC;QAChD,cAAc,EAAE,CAAC;KAClB,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,mBAAmB,CACvB,GAAG,EACH,SAAS,EACT,MAAM,EACN,cAAc,EACd,yBAAyB,CAC1B,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAC5D,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAe,EACf,SAAiB,EACjB,MAAc;IAEd,MAAM,mBAAmB,CACvB,GAAG,EACH,SAAS,EACT,MAAM;IACN,yCAAyC;IACzC;QACE,aAAa,EAAE,GAAG,EAAE;YAClB,MAAM,IAAI,KAAK,CACb,wDAAwD,CACzD,CAAC;QACJ,CAAC;KACF,EACD,yBAAyB,CAC1B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAA4B;IAChE,oEAAoE;IACpE,CAAC,EAAE;QACD,aAAa,EAAE,GAAG,EAAE;YAClB,MAAM,IAAI,eAAe,CAAC,iCAAiC,CAAC,CAAC;QAC/D,CAAC;QACD,cAAc,EAAE,CAAC;KAClB;IAED,CAAC,EAAE;QACD,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;YACvB,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACvC,CAAC;QACD,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;YACrB,WAAW,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAC7B,CAAC;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"replica-schema.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-source/replica-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAC,IAAI,EAAC,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EACL,mBAAmB,GAGpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAC,eAAe,EAAC,MAAM,qCAAqC,CAAC;AACpE,OAAO,EACL,2BAA2B,EAC3B,WAAW,GACZ,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAE9B,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,GAAe,EACf,SAAiB,EACjB,MAAc,EACd,WAA4D;IAE5D,MAAM,cAAc,GAAc;QAChC,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC;QAChD,cAAc,EAAE,CAAC;KAClB,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,mBAAmB,CACvB,GAAG,EACH,SAAS,EACT,MAAM,EACN,cAAc,EACd,yBAAyB,CAC1B,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAC5D,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAe,EACf,SAAiB,EACjB,MAAc;IAEd,MAAM,mBAAmB,CACvB,GAAG,EACH,SAAS,EACT,MAAM;IACN,yCAAyC;IACzC;QACE,aAAa,EAAE,GAAG,EAAE;YAClB,MAAM,IAAI,KAAK,CACb,wDAAwD,CACzD,CAAC;QACJ,CAAC;KACF,EACD,yBAAyB,CAC1B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAA4B;IAChE,oEAAoE;IACpE,CAAC,EAAE;QACD,aAAa,EAAE,GAAG,EAAE;YAClB,MAAM,IAAI,eAAe,CAAC,iCAAiC,CAAC,CAAC;QAC/D,CAAC;QACD,cAAc,EAAE,CAAC;KAClB;IAED,CAAC,EAAE;QACD,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;YACvB,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACvC,CAAC;QACD,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;YACrB,WAAW,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAC7B,CAAC;KACF;IAED,CAAC,EAAE;QACD,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;YACvB,EAAE,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACxC,CAAC;QACD,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;YACrB,MAAM,KAAK,GAAG,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;KACF;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"change-processor.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/replicator/change-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAsBjD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AA6B5D,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,iDAAiD,CAAC;AACtF,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAYpD,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,cAAc,CAAC;AAElE,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,qBAAa,eAAe;;gBAexB,EAAE,EAAE,eAAe,EACnB,IAAI,EAAE,mBAAmB,EACzB,WAAW,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI;IAqBrD,KAAK,CAAC,EAAE,EAAE,UAAU;IAIpB,8CAA8C;IAC9C,cAAc,CACZ,EAAE,EAAE,UAAU,EACd,UAAU,EAAE,gBAAgB,GAC3B,YAAY,GAAG,IAAI;CA+IvB"}
1
+ {"version":3,"file":"change-processor.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/replicator/change-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAsBjD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AA8B5D,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,iDAAiD,CAAC;AACtF,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAYpD,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,cAAc,CAAC;AAElE,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,qBAAa,eAAe;;gBAexB,EAAE,EAAE,eAAe,EACnB,IAAI,EAAE,mBAAmB,EACzB,WAAW,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI;IAqBrD,KAAK,CAAC,EAAE,EAAE,UAAU;IAIpB,8CAA8C;IAC9C,cAAc,CACZ,EAAE,EAAE,UAAU,EACd,UAAU,EAAE,gBAAgB,GAC3B,YAAY,GAAG,IAAI;CA+IvB"}
@@ -6,6 +6,7 @@ import { must } from "../../../../shared/src/must.js";
6
6
  import { createLiteIndexStatement, createLiteTableStatement, liteColumnDef, } from "../../db/create.js";
7
7
  import { computeZqlSpecs, listIndexes, listTables, } from "../../db/lite-tables.js";
8
8
  import { mapPostgresToLite, mapPostgresToLiteColumn, mapPostgresToLiteIndex, } from "../../db/pg-to-lite.js";
9
+ import { ColumnMetadataStore } from "../change-source/column-metadata.js";
9
10
  import { JSON_PARSED, liteRow, } from "../../types/lite.js";
10
11
  import { liteTableName } from "../../types/names.js";
11
12
  import { id } from "../../types/sql.js";
@@ -361,6 +362,13 @@ class TransactionProcessor {
361
362
  processCreateTable(create) {
362
363
  const table = mapPostgresToLite(create.spec);
363
364
  this.#db.db.exec(createLiteTableStatement(table));
365
+ // Write to metadata table
366
+ const store = ColumnMetadataStore.getInstance(this.#db.db);
367
+ if (store) {
368
+ for (const [colName, colSpec] of Object.entries(create.spec.columns)) {
369
+ store.insert(table.name, colName, colSpec);
370
+ }
371
+ }
364
372
  this.#logResetOp(table.name);
365
373
  this.#lc.info?.(create.tag, table.name);
366
374
  }
@@ -368,6 +376,11 @@ class TransactionProcessor {
368
376
  const oldName = liteTableName(rename.old);
369
377
  const newName = liteTableName(rename.new);
370
378
  this.#db.db.exec(`ALTER TABLE ${id(oldName)} RENAME TO ${id(newName)}`);
379
+ // Rename in metadata table
380
+ const store = ColumnMetadataStore.getInstance(this.#db.db);
381
+ if (store) {
382
+ store.renameTable(oldName, newName);
383
+ }
371
384
  this.#bumpVersions(newName);
372
385
  this.#logResetOp(oldName);
373
386
  this.#lc.info?.(rename.tag, oldName, newName);
@@ -377,6 +390,11 @@ class TransactionProcessor {
377
390
  const { name } = msg.column;
378
391
  const spec = mapPostgresToLiteColumn(table, msg.column);
379
392
  this.#db.db.exec(`ALTER TABLE ${id(table)} ADD ${id(name)} ${liteColumnDef(spec)}`);
393
+ // Write to metadata table
394
+ const store = ColumnMetadataStore.getInstance(this.#db.db);
395
+ if (store) {
396
+ store.insert(table, name, msg.column.spec);
397
+ }
380
398
  this.#bumpVersions(table);
381
399
  this.#lc.info?.(msg.tag, table, msg.column);
382
400
  }
@@ -425,6 +443,11 @@ class TransactionProcessor {
425
443
  if (oldName !== newName) {
426
444
  this.#db.db.exec(`ALTER TABLE ${id(table)} RENAME ${id(oldName)} TO ${id(newName)}`);
427
445
  }
446
+ // Update metadata table
447
+ const store = ColumnMetadataStore.getInstance(this.#db.db);
448
+ if (store) {
449
+ store.update(table, msg.old.name, msg.new.name, msg.new.spec);
450
+ }
428
451
  this.#bumpVersions(table);
429
452
  this.#lc.info?.(msg.tag, table, msg.new);
430
453
  }
@@ -432,12 +455,22 @@ class TransactionProcessor {
432
455
  const table = liteTableName(msg.table);
433
456
  const { column } = msg;
434
457
  this.#db.db.exec(`ALTER TABLE ${id(table)} DROP ${id(column)}`);
458
+ // Delete from metadata table
459
+ const store = ColumnMetadataStore.getInstance(this.#db.db);
460
+ if (store) {
461
+ store.deleteColumn(table, column);
462
+ }
435
463
  this.#bumpVersions(table);
436
464
  this.#lc.info?.(msg.tag, table, column);
437
465
  }
438
466
  processDropTable(drop) {
439
467
  const name = liteTableName(drop.id);
440
468
  this.#db.db.exec(`DROP TABLE IF EXISTS ${id(name)}`);
469
+ // Delete from metadata table
470
+ const store = ColumnMetadataStore.getInstance(this.#db.db);
471
+ if (store) {
472
+ store.deleteTable(name);
473
+ }
441
474
  this.#logResetOp(name);
442
475
  this.#lc.info?.(drop.tag, name);
443
476
  }