@rocicorp/zero 0.11.2025011800 → 0.11.2025011801

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 (62) hide show
  1. package/out/{chunk-U4FNXGTG.js → chunk-QV5ZN4MA.js} +2 -2
  2. package/out/solid.js +1 -1
  3. package/out/zero-cache/src/auth/write-authorizer.d.ts +1 -1
  4. package/out/zero-cache/src/auth/write-authorizer.d.ts.map +1 -1
  5. package/out/zero-cache/src/auth/write-authorizer.js +2 -4
  6. package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
  7. package/out/zero-cache/src/db/lite-tables.d.ts +14 -1
  8. package/out/zero-cache/src/db/lite-tables.d.ts.map +1 -1
  9. package/out/zero-cache/src/db/lite-tables.js +89 -6
  10. package/out/zero-cache/src/db/lite-tables.js.map +1 -1
  11. package/out/zero-cache/src/db/pg-to-lite.d.ts.map +1 -1
  12. package/out/zero-cache/src/db/pg-to-lite.js +3 -1
  13. package/out/zero-cache/src/db/pg-to-lite.js.map +1 -1
  14. package/out/zero-cache/src/db/postgres-replica-identity-enum.d.ts +9 -0
  15. package/out/zero-cache/src/db/postgres-replica-identity-enum.d.ts.map +1 -0
  16. package/out/zero-cache/src/db/postgres-replica-identity-enum.js +7 -0
  17. package/out/zero-cache/src/db/postgres-replica-identity-enum.js.map +1 -0
  18. package/out/zero-cache/src/db/specs.d.ts +39 -10
  19. package/out/zero-cache/src/db/specs.d.ts.map +1 -1
  20. package/out/zero-cache/src/db/specs.js +8 -1
  21. package/out/zero-cache/src/db/specs.js.map +1 -1
  22. package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts +45 -25
  23. package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts.map +1 -1
  24. package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts.map +1 -1
  25. package/out/zero-cache/src/services/change-source/pg/schema/init.js +6 -28
  26. package/out/zero-cache/src/services/change-source/pg/schema/init.js.map +1 -1
  27. package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts +18 -10
  28. package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts.map +1 -1
  29. package/out/zero-cache/src/services/change-source/pg/schema/published.js +14 -7
  30. package/out/zero-cache/src/services/change-source/pg/schema/published.js.map +1 -1
  31. package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts +6 -3
  32. package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts.map +1 -1
  33. package/out/zero-cache/src/services/change-source/pg/schema/shard.js +29 -1
  34. package/out/zero-cache/src/services/change-source/pg/schema/shard.js.map +1 -1
  35. package/out/zero-cache/src/services/change-source/pg/schema/validation.d.ts +2 -2
  36. package/out/zero-cache/src/services/change-source/pg/schema/validation.d.ts.map +1 -1
  37. package/out/zero-cache/src/services/change-source/pg/schema/validation.js +6 -2
  38. package/out/zero-cache/src/services/change-source/pg/schema/validation.js.map +1 -1
  39. package/out/zero-cache/src/services/change-source/pg/sync-schema.d.ts.map +1 -1
  40. package/out/zero-cache/src/services/change-source/pg/sync-schema.js +1 -0
  41. package/out/zero-cache/src/services/change-source/pg/sync-schema.js.map +1 -1
  42. package/out/zero-cache/src/services/change-source/protocol/current/data.d.ts +10 -10
  43. package/out/zero-cache/src/services/change-source/protocol/current/downstream.d.ts +15 -15
  44. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +5 -5
  45. package/out/zero-cache/src/services/replicator/incremental-sync.js +14 -1
  46. package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
  47. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +0 -5
  48. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
  49. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +18 -35
  50. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  51. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts +3 -3
  52. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +1 -1
  53. package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -1
  54. package/out/zero-cache/src/types/processes.d.ts.map +1 -1
  55. package/out/zero-cache/src/types/processes.js +6 -1
  56. package/out/zero-cache/src/types/processes.js.map +1 -1
  57. package/out/zero-cache/src/types/row-key.d.ts.map +1 -1
  58. package/out/zero-cache/src/types/row-key.js +7 -1
  59. package/out/zero-cache/src/types/row-key.js.map +1 -1
  60. package/out/zero.js +1 -1
  61. package/package.json +1 -1
  62. /package/out/{chunk-U4FNXGTG.js.map → chunk-QV5ZN4MA.js.map} +0 -0
@@ -13397,7 +13397,7 @@ function makeMessage(message, context, logLevel) {
13397
13397
  }
13398
13398
 
13399
13399
  // ../zero-client/src/client/version.ts
13400
- var version2 = "0.11.2025011800+63e14b";
13400
+ var version2 = "0.11.2025011801+0c3f2d";
13401
13401
 
13402
13402
  // ../zero-client/src/client/log-options.ts
13403
13403
  var LevelFilterLogSink = class {
@@ -15438,4 +15438,4 @@ export {
15438
15438
  escapeLike,
15439
15439
  Zero
15440
15440
  };
15441
- //# sourceMappingURL=chunk-U4FNXGTG.js.map
15441
+ //# sourceMappingURL=chunk-QV5ZN4MA.js.map
package/out/solid.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Zero
3
- } from "./chunk-U4FNXGTG.js";
3
+ } from "./chunk-QV5ZN4MA.js";
4
4
  import "./chunk-HARIWJ2J.js";
5
5
  import "./chunk-ULOTOBTC.js";
6
6
  import {
@@ -1,8 +1,8 @@
1
1
  import { LogContext } from '@rocicorp/logger';
2
2
  import type { JWTPayload } from 'jose';
3
3
  import type { CRUDOp, UpsertOp } from '../../../zero-protocol/src/mod.js';
4
- import type { PermissionsConfig } from '../../../zero-schema/src/compiled-permissions.js';
5
4
  import type { Schema } from '../../../zero-schema/src/builder/schema-builder.js';
5
+ import type { PermissionsConfig } from '../../../zero-schema/src/compiled-permissions.js';
6
6
  import { Database } from '../../../zqlite/src/db.js';
7
7
  import type { ZeroConfig } from '../config/zero-config.js';
8
8
  export interface WriteAuthorizer {
@@ -1 +1 @@
1
- {"version":3,"file":"write-authorizer.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/auth/write-authorizer.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AASrC,OAAO,KAAK,EACV,MAAM,EAIN,QAAQ,EACT,MAAM,mCAAmC,CAAC;AAK3C,OAAO,KAAK,EACV,iBAAiB,EAElB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,oDAAoD,CAAC;AAS/E,OAAO,EAAC,QAAQ,EAAC,MAAM,2BAA2B,CAAC;AAMnD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAUzD,MAAM,WAAW,eAAe;IAC9B,cAAc,CACZ,QAAQ,EAAE,UAAU,GAAG,SAAS,EAChC,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,GAC/B,OAAO,CAAC;IACX,eAAe,CACb,QAAQ,EAAE,UAAU,GAAG,SAAS,EAChC,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,GAC/B,OAAO,CAAC;IACX,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;CAC1D;AAED,qBAAa,mBAAoB,YAAW,eAAe;;gBAYvD,EAAE,EAAE,UAAU,EACd,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAC3C,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,iBAAiB,GAAG,SAAS,EAC1C,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,MAAM;IAsBd,cAAc,CACZ,QAAQ,EAAE,UAAU,GAAG,SAAS,EAChC,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;IAsBlC,eAAe,CACb,QAAQ,EAAE,UAAU,GAAG,SAAS,EAChC,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;IAyDlC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;CA8RzD"}
1
+ {"version":3,"file":"write-authorizer.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/auth/write-authorizer.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AASrC,OAAO,KAAK,EACV,MAAM,EAIN,QAAQ,EACT,MAAM,mCAAmC,CAAC;AAK3C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,oDAAoD,CAAC;AAC/E,OAAO,KAAK,EACV,iBAAiB,EAElB,MAAM,kDAAkD,CAAC;AAS1D,OAAO,EAAC,QAAQ,EAAC,MAAM,2BAA2B,CAAC;AAMnD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AASzD,MAAM,WAAW,eAAe;IAC9B,cAAc,CACZ,QAAQ,EAAE,UAAU,GAAG,SAAS,EAChC,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,GAC/B,OAAO,CAAC;IACX,eAAe,CACb,QAAQ,EAAE,UAAU,GAAG,SAAS,EAChC,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,GAC/B,OAAO,CAAC;IACX,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;CAC1D;AAED,qBAAa,mBAAoB,YAAW,eAAe;;gBAYvD,EAAE,EAAE,UAAU,EACd,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAC3C,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,iBAAiB,GAAG,SAAS,EAC1C,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,MAAM;IAqBd,cAAc,CACZ,QAAQ,EAAE,UAAU,GAAG,SAAS,EAChC,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;IAsBlC,eAAe,CACb,QAAQ,EAAE,UAAU,GAAG,SAAS,EAChC,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;IAyDlC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;CA8RzD"}
@@ -12,10 +12,9 @@ import { dnf } from '../../../zql/src/query/dnf.js';
12
12
  import { Database } from '../../../zqlite/src/db.js';
13
13
  import { compile, sql } from '../../../zqlite/src/internal/sql.js';
14
14
  import { fromSQLiteTypes, TableSource, } from '../../../zqlite/src/table-source.js';
15
- import { listTables } from '../db/lite-tables.js';
15
+ import { computeZqlSpecs } from '../db/lite-tables.js';
16
16
  import { StatementRunner } from '../db/statements.js';
17
17
  import { DatabaseStorage } from '../services/view-syncer/database-storage.js';
18
- import { setSpecs } from '../services/view-syncer/pipeline-driver.js';
19
18
  import { mapLiteDataTypeToZqlSchemaValue } from '../types/lite.js';
20
19
  export class WriteAuthorizerImpl {
21
20
  #schema;
@@ -40,8 +39,7 @@ export class WriteAuthorizerImpl {
40
39
  getSource: name => this.#getSource(name),
41
40
  createStorage: () => cgStorage.createStorage(),
42
41
  };
43
- this.#tableSpecs = new Map();
44
- setSpecs(listTables(replica), this.#tableSpecs);
42
+ this.#tableSpecs = computeZqlSpecs(this.#lc, replica);
45
43
  this.#statementRunner = new StatementRunner(replica);
46
44
  }
47
45
  canPreMutation(authData, ops) {
@@ -1 +1 @@
1
- {"version":3,"file":"write-authorizer.js","sourceRoot":"","sources":["../../../../../zero-cache/src/auth/write-authorizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write-authorizer.js","sourceRoot":"","sources":["../../../../../zero-cache/src/auth/write-authorizer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,18 @@
1
+ import type { LogContext } from '@rocicorp/logger';
1
2
  import type { Database } from '../../../zqlite/src/db.js';
2
- import type { LiteIndexSpec, LiteTableSpec } from './specs.js';
3
+ import type { LiteAndZqlSpec, LiteIndexSpec, LiteTableSpec } from './specs.js';
3
4
  export declare function listTables(db: Database): LiteTableSpec[];
4
5
  export declare function listIndexes(db: Database): LiteIndexSpec[];
6
+ /**
7
+ * Computes a TableSpec "view" of the replicated data that is
8
+ * suitable for processing / consumption for the client. This
9
+ * includes:
10
+ * * excluding tables without a PRIMARY KEY or UNIQUE INDEX
11
+ * * excluding columns with types that are not supported by ZQL
12
+ * * choosing columns to use as the primary key amongst those
13
+ * in unique indexes
14
+ *
15
+ * @param tableSpecs an optional map to reset and populate
16
+ */
17
+ export declare function computeZqlSpecs(lc: LogContext, replica: Database, tableSpecs?: Map<string, LiteAndZqlSpec>): Map<string, LiteAndZqlSpec>;
5
18
  //# sourceMappingURL=lite-tables.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lite-tables.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/db/lite-tables.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EAEd,MAAM,YAAY,CAAC;AAWpB,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,GAAG,aAAa,EAAE,CAyDxD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,GAAG,aAAa,EAAE,CA0CzD"}
1
+ {"version":3,"file":"lite-tables.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/db/lite-tables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAMjD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,2BAA2B,CAAC;AAKxD,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,aAAa,EAEd,MAAM,YAAY,CAAC;AAWpB,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,GAAG,aAAa,EAAE,CAqDxD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,GAAG,aAAa,EAAE,CAyCzD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,QAAQ,EACjB,UAAU,GAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAa,GAClD,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAqE7B"}
@@ -1,5 +1,9 @@
1
1
  import { assert } from '../../../shared/src/asserts.js';
2
2
  import { must } from '../../../shared/src/must.js';
3
+ import { difference } from '../../../shared/src/set-utils.js';
4
+ import * as v from '../../../shared/src/valita.js';
5
+ import { primaryKeySchema } from '../../../zero-protocol/src/primary-key.js';
6
+ import { dataTypeToZqlValueType, mapLiteDataTypeToZqlSchemaValue, } from '../types/lite.js';
3
7
  export function listTables(db) {
4
8
  const columns = db
5
9
  .prepare(`
@@ -14,6 +18,7 @@ export function listTables(db) {
14
18
  LEFT JOIN pragma_table_info(m.name) as p
15
19
  WHERE m.type = 'table'
16
20
  AND m.name NOT LIKE 'sqlite_%'
21
+ AND m.name NOT LIKE '_zero.%'
17
22
  `)
18
23
  .all();
19
24
  const tables = [];
@@ -24,7 +29,6 @@ export function listTables(db) {
24
29
  table = {
25
30
  name: col.table,
26
31
  columns: {},
27
- primaryKey: [],
28
32
  };
29
33
  tables.push(table);
30
34
  }
@@ -36,16 +40,16 @@ export function listTables(db) {
36
40
  dflt: col.dflt,
37
41
  };
38
42
  if (col.keyPos) {
43
+ if (!table.primaryKey) {
44
+ table = { ...table, primaryKey: [] };
45
+ }
46
+ assert(table.primaryKey);
39
47
  while (table.primaryKey.length < col.keyPos) {
40
48
  table.primaryKey.push('');
41
49
  }
42
50
  table.primaryKey[col.keyPos - 1] = col.name;
43
51
  }
44
52
  });
45
- // Sanity check that the primary keys are filled in.
46
- Object.values(tables).forEach(table => {
47
- assert(table.primaryKey.indexOf('') < 0, `Invalid primary key for ${JSON.stringify(table)}`);
48
- });
49
53
  return tables;
50
54
  }
51
55
  export function listIndexes(db) {
@@ -60,7 +64,6 @@ export function listIndexes(db) {
60
64
  JOIN pragma_index_list(idx.tbl_name) AS info ON info.name = idx.name
61
65
  JOIN pragma_index_xinfo(idx.name) as col
62
66
  WHERE idx.type = 'index' AND
63
- info.origin != 'pk' AND
64
67
  col.key = 1 AND
65
68
  idx.tbl_name NOT LIKE '_zero.%'
66
69
  ORDER BY idx.name, col.seqno ASC`)
@@ -82,4 +85,84 @@ export function listIndexes(db) {
82
85
  }
83
86
  return ret;
84
87
  }
88
+ /**
89
+ * Computes a TableSpec "view" of the replicated data that is
90
+ * suitable for processing / consumption for the client. This
91
+ * includes:
92
+ * * excluding tables without a PRIMARY KEY or UNIQUE INDEX
93
+ * * excluding columns with types that are not supported by ZQL
94
+ * * choosing columns to use as the primary key amongst those
95
+ * in unique indexes
96
+ *
97
+ * @param tableSpecs an optional map to reset and populate
98
+ */
99
+ export function computeZqlSpecs(lc, replica, tableSpecs = new Map()) {
100
+ tableSpecs.clear();
101
+ const uniqueColumns = new Map();
102
+ for (const { tableName, columns } of listIndexes(replica).filter(idx => idx.unique)) {
103
+ if (!uniqueColumns.has(tableName)) {
104
+ uniqueColumns.set(tableName, []);
105
+ }
106
+ uniqueColumns.get(tableName)?.push(Object.keys(columns));
107
+ }
108
+ listTables(replica).forEach(fullTable => {
109
+ // Only include columns for which the mapped ZQL Value is defined.
110
+ const columns = Object.fromEntries(Object.entries(fullTable.columns).filter(([_, spec]) => dataTypeToZqlValueType(spec.dataType)));
111
+ const visibleColumns = new Set(Object.keys(columns));
112
+ // Collect all columns that are part of a unique index.
113
+ const allKeyColumns = new Set();
114
+ // Examine all column combinations that can serve as a primary key.
115
+ const keys = (uniqueColumns.get(fullTable.name) ?? []).filter(key => {
116
+ if (difference(new Set(key), visibleColumns).size > 0) {
117
+ return false; // Exclude indexes over non-visible columns.
118
+ }
119
+ for (const col of key) {
120
+ allKeyColumns.add(col);
121
+ }
122
+ return true;
123
+ });
124
+ if (keys.length === 0) {
125
+ // Only include tables with a row key.
126
+ lc.debug?.(`not syncing table ${fullTable.name} because it has no primary key`);
127
+ return;
128
+ }
129
+ // Pick the "best" (i.e. shortest) key for default IVM operations.
130
+ const primaryKey = keys.sort(keyCmp)[0];
131
+ // The unionKey is used to reference rows in the CVR (and del-patches),
132
+ // which facilitates clients migrating from one PK to another.
133
+ // TODO: Update CVR to use this.
134
+ const unionKey = [...allKeyColumns];
135
+ const tableSpec = {
136
+ ...fullTable,
137
+ columns,
138
+ // normalize (sort) keys to minimize creating new objects.
139
+ // See row-key.ts: normalizedKeyOrder()
140
+ primaryKey: v.parse(primaryKey.sort(), primaryKeySchema),
141
+ unionKey: v.parse(unionKey.sort(), primaryKeySchema),
142
+ };
143
+ tableSpecs.set(tableSpec.name, {
144
+ tableSpec,
145
+ zqlSpec: Object.fromEntries(Object.entries(tableSpec.columns).map(([name, { dataType }]) => [
146
+ name,
147
+ mapLiteDataTypeToZqlSchemaValue(dataType),
148
+ ])),
149
+ });
150
+ });
151
+ return tableSpecs;
152
+ }
153
+ // Deterministic comparator for favoring shorter row keys.
154
+ function keyCmp(a, b) {
155
+ if (a.length !== b.length) {
156
+ return a.length - b.length; // Fewer columns are better.
157
+ }
158
+ for (let i = 0; i < a.length; i++) {
159
+ if (a[i] < b[i]) {
160
+ return -1;
161
+ }
162
+ if (a[i] > b[i]) {
163
+ return 1;
164
+ }
165
+ }
166
+ return 0;
167
+ }
85
168
  //# sourceMappingURL=lite-tables.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lite-tables.js","sourceRoot":"","sources":["../../../../../zero-cache/src/db/lite-tables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAC,IAAI,EAAC,MAAM,6BAA6B,CAAC;AAiBjD,MAAM,UAAU,UAAU,CAAC,EAAY;IACrC,MAAM,OAAO,GAAG,EAAE;SACf,OAAO,CACN;;;;;;;;;;;;OAYC,CACF;SACA,GAAG,EAAkB,CAAC;IAEzB,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,IAAI,KAAgC,CAAC;IAErC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACpB,IAAI,GAAG,CAAC,KAAK,KAAK,KAAK,EAAE,IAAI,EAAE,CAAC;YAC9B,YAAY;YACZ,KAAK,GAAG;gBACN,IAAI,EAAE,GAAG,CAAC,KAAK;gBACf,OAAO,EAAE,EAAE;gBACX,UAAU,EAAE,EAAE;aACf,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG;YACxB,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC;YAC1C,QAAQ,EAAE,GAAG,CAAC,IAAI;YAClB,sBAAsB,EAAE,IAAI;YAC5B,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,CAAC;YAC1B,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC;QACF,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,OAAO,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC5C,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC;YACD,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,oDAAoD;IACpD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACpC,MAAM,CACJ,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,EAChC,2BAA2B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CACnD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAY;IACtC,MAAM,OAAO,GAAG,EAAE;SACf,OAAO,CACN;;;;;;;;;;;;;wCAakC,CACnC;SACA,GAAG,EAMH,CAAC;IAEJ,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,EAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAC,IAAI,OAAO,EAAE,CAAC;QACxE,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;YAC9B,kDAAkD;YAClD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC;gBACP,SAAS;gBACT,IAAI;gBACJ,OAAO,EAAE,EAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAC;gBACxB,MAAM,EAAE,MAAM,KAAK,CAAC;aACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"lite-tables.js","sourceRoot":"","sources":["../../../../../zero-cache/src/db/lite-tables.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAC,IAAI,EAAC,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAC,UAAU,EAAC,MAAM,kCAAkC,CAAC;AAC5D,OAAO,KAAK,CAAC,MAAM,+BAA+B,CAAC;AACnD,OAAO,EAAC,gBAAgB,EAAC,MAAM,2CAA2C,CAAC;AAE3E,OAAO,EACL,sBAAsB,EACtB,+BAA+B,GAChC,MAAM,kBAAkB,CAAC;AAiB1B,MAAM,UAAU,UAAU,CAAC,EAAY;IACrC,MAAM,OAAO,GAAG,EAAE;SACf,OAAO,CACN;;;;;;;;;;;;;OAaC,CACF;SACA,GAAG,EAAkB,CAAC;IAEzB,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,IAAI,KAAgC,CAAC;IAErC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACpB,IAAI,GAAG,CAAC,KAAK,KAAK,KAAK,EAAE,IAAI,EAAE,CAAC;YAC9B,YAAY;YACZ,KAAK,GAAG;gBACN,IAAI,EAAE,GAAG,CAAC,KAAK;gBACf,OAAO,EAAE,EAAE;aACZ,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG;YACxB,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC;YAC1C,QAAQ,EAAE,GAAG,CAAC,IAAI;YAClB,sBAAsB,EAAE,IAAI;YAC5B,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,CAAC;YAC1B,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC;QACF,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gBACtB,KAAK,GAAG,EAAC,GAAG,KAAK,EAAE,UAAU,EAAE,EAAE,EAAC,CAAC;YACrC,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACzB,OAAO,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC5C,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC;YACD,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAY;IACtC,MAAM,OAAO,GAAG,EAAE;SACf,OAAO,CACN;;;;;;;;;;;;wCAYkC,CACnC;SACA,GAAG,EAMH,CAAC;IAEJ,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,EAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAC,IAAI,OAAO,EAAE,CAAC;QACxE,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;YAC9B,kDAAkD;YAClD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC;gBACP,SAAS;gBACT,IAAI;gBACJ,OAAO,EAAE,EAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAC;gBACxB,MAAM,EAAE,MAAM,KAAK,CAAC;aACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAC7B,EAAc,EACd,OAAiB,EACjB,aAA0C,IAAI,GAAG,EAAE;IAEnD,UAAU,CAAC,KAAK,EAAE,CAAC;IAEnB,MAAM,aAAa,GAAG,IAAI,GAAG,EAAsB,CAAC;IACpD,KAAK,MAAM,EAAC,SAAS,EAAE,OAAO,EAAC,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAC5D,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAClB,EAAE,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACnC,CAAC;QACD,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QACtC,kEAAkE;QAClE,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAChC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CACrD,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CACtC,CACF,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAErD,uDAAuD;QACvD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QAExC,mEAAmE;QACnE,MAAM,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YAClE,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACtD,OAAO,KAAK,CAAC,CAAC,4CAA4C;YAC5D,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;gBACtB,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,sCAAsC;YACtC,EAAE,CAAC,KAAK,EAAE,CACR,qBAAqB,SAAS,CAAC,IAAI,gCAAgC,CACpE,CAAC;YACF,OAAO;QACT,CAAC;QACD,kEAAkE;QAClE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,uEAAuE;QACvE,8DAA8D;QAC9D,gCAAgC;QAChC,MAAM,QAAQ,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;QAEpC,MAAM,SAAS,GAAG;YAChB,GAAG,SAAS;YACZ,OAAO;YACP,0DAA0D;YAC1D,uCAAuC;YACvC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,gBAAgB,CAAC;YACxD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,gBAAgB,CAAC;SACrD,CAAC;QAEF,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE;YAC7B,SAAS;YACT,OAAO,EAAE,MAAM,CAAC,WAAW,CACzB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAC,CAAC,EAAE,EAAE,CAAC;gBAC5D,IAAI;gBACJ,+BAA+B,CAAC,QAAQ,CAAC;aAC1C,CAAC,CACH;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,0DAA0D;AAC1D,SAAS,MAAM,CAAC,CAAW,EAAE,CAAW;IACtC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,4BAA4B;IAC1D,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,OAAO,CAAC,CAAC,CAAC;QACZ,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -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;AAKjD,OAAO,EACL,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,wBAAwB,EAAE,UAMtC,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,UAAU,EACd,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,QAQf;AAqCD,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,CAwBZ;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS,GAAG,aAAa,CAkB7D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa,CAOtE"}
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;AAKjD,OAAO,EACL,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,wBAAwB,EAAE,UAMtC,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,UAAU,EACd,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,QAQf;AAqCD,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,CAwBZ;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS,GAAG,aAAa,CAoB7D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa,CAOtE"}
@@ -65,7 +65,9 @@ export function mapPostgresToLiteColumn(table, column, ignoreDefault) {
65
65
  };
66
66
  }
67
67
  export function mapPostgresToLite(t) {
68
- const { schema: _, ...liteSpec } = t;
68
+ // PRIMARY KEYS are not written to the replica. Instead, we rely
69
+ // UNIQUE indexes, including those created for upstream PRIMARY KEYs.
70
+ const { schema: _, primaryKey: _dropped, ...liteSpec } = t;
69
71
  const name = liteTableName(t);
70
72
  return {
71
73
  ...liteSpec,
@@ -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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"}
@@ -0,0 +1,9 @@
1
+ export declare const Default = "d";
2
+ export declare const Nothing = "n";
3
+ export declare const Full = "f";
4
+ export declare const Index = "i";
5
+ export type Default = typeof Default;
6
+ export type Nothing = typeof Nothing;
7
+ export type Full = typeof Full;
8
+ export type Index = typeof Index;
9
+ //# sourceMappingURL=postgres-replica-identity-enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres-replica-identity-enum.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/db/postgres-replica-identity-enum.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,OAAO,MAAM,CAAC;AAC3B,eAAO,MAAM,OAAO,MAAM,CAAC;AAC3B,eAAO,MAAM,IAAI,MAAM,CAAC;AACxB,eAAO,MAAM,KAAK,MAAM,CAAC;AAEzB,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC;AACrC,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC;AACrC,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC;AAC/B,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC"}
@@ -0,0 +1,7 @@
1
+ /* eslint-disable @typescript-eslint/naming-convention */
2
+ // Values of the `relreplident` column in https://www.postgresql.org/docs/current/catalog-pg-class.html
3
+ export const Default = 'd';
4
+ export const Nothing = 'n';
5
+ export const Full = 'f';
6
+ export const Index = 'i';
7
+ //# sourceMappingURL=postgres-replica-identity-enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres-replica-identity-enum.js","sourceRoot":"","sources":["../../../../../zero-cache/src/db/postgres-replica-identity-enum.ts"],"names":[],"mappings":"AAAA,yDAAyD;AAEzD,uGAAuG;AAEvG,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC;AAC3B,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC;AAC3B,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC;AACxB,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAC"}
@@ -1,11 +1,13 @@
1
1
  import type { DeepReadonly } from '../../../shared/src/json.js';
2
2
  import * as v from '../../../shared/src/valita.js';
3
+ import type { PrimaryKey } from '../../../zero-protocol/src/primary-key.js';
3
4
  import type { SchemaValue } from '../../../zero-schema/src/table-schema.js';
4
5
  export declare const pgTypeClassSchema: v.UnionType<[v.Type<"b">, v.Type<"c">, v.Type<"d">, v.Type<"e">, v.Type<"p">, v.Type<"r">, v.Type<"m">]>;
6
+ export declare const pgReplicaIdentitySchema: v.UnionType<[v.Type<"d">, v.Type<"n">, v.Type<"f">, v.Type<"i">]>;
5
7
  export declare const columnSpec: v.ObjectType<{
6
8
  pos: v.Type<number>;
7
9
  dataType: v.Type<string>;
8
- pgTypeClass: v.Optional<"e" | "b" | "c" | "d" | "p" | "r" | "m">;
10
+ pgTypeClass: v.Optional<"e" | "d" | "b" | "c" | "p" | "r" | "m">;
9
11
  characterMaximumLength: v.Optional<number | null>;
10
12
  notNull: v.Optional<boolean | null>;
11
13
  dflt: v.Optional<string | null>;
@@ -14,46 +16,46 @@ export type ColumnSpec = Readonly<v.Infer<typeof columnSpec>>;
14
16
  export declare const liteTableSpec: v.ObjectType<{
15
17
  name: v.Type<string>;
16
18
  columns: v.Type<Record<string, {
17
- pgTypeClass?: "e" | "b" | "c" | "d" | "p" | "r" | "m" | undefined;
19
+ pgTypeClass?: "e" | "d" | "b" | "c" | "p" | "r" | "m" | undefined;
18
20
  characterMaximumLength?: number | null | undefined;
19
21
  notNull?: boolean | null | undefined;
20
22
  dflt?: string | null | undefined;
21
23
  pos: number;
22
24
  dataType: string;
23
25
  }>>;
24
- primaryKey: v.ArrayType<v.Type<string>>;
26
+ primaryKey: v.Optional<string[]>;
25
27
  }, undefined>;
26
28
  export declare const tableSpec: v.ObjectType<Omit<{
27
29
  name: v.Type<string>;
28
30
  columns: v.Type<Record<string, {
29
- pgTypeClass?: "e" | "b" | "c" | "d" | "p" | "r" | "m" | undefined;
31
+ pgTypeClass?: "e" | "d" | "b" | "c" | "p" | "r" | "m" | undefined;
30
32
  characterMaximumLength?: number | null | undefined;
31
33
  notNull?: boolean | null | undefined;
32
34
  dflt?: string | null | undefined;
33
35
  pos: number;
34
36
  dataType: string;
35
37
  }>>;
36
- primaryKey: v.ArrayType<v.Type<string>>;
38
+ primaryKey: v.Optional<string[]>;
37
39
  }, "schema"> & {
38
40
  schema: v.Type<string>;
39
41
  }, undefined>;
40
42
  export declare const publishedTableSpec: v.ObjectType<Omit<Omit<{
41
43
  name: v.Type<string>;
42
44
  columns: v.Type<Record<string, {
43
- pgTypeClass?: "e" | "b" | "c" | "d" | "p" | "r" | "m" | undefined;
45
+ pgTypeClass?: "e" | "d" | "b" | "c" | "p" | "r" | "m" | undefined;
44
46
  characterMaximumLength?: number | null | undefined;
45
47
  notNull?: boolean | null | undefined;
46
48
  dflt?: string | null | undefined;
47
49
  pos: number;
48
50
  dataType: string;
49
51
  }>>;
50
- primaryKey: v.ArrayType<v.Type<string>>;
52
+ primaryKey: v.Optional<string[]>;
51
53
  }, "schema"> & {
52
54
  schema: v.Type<string>;
53
- }, "publications" | "oid" | "columns"> & {
55
+ }, "publications" | "oid" | "columns" | "replicaIdentity"> & {
54
56
  oid: v.Type<number>;
55
57
  columns: v.Type<Record<string, {
56
- pgTypeClass?: "e" | "b" | "c" | "d" | "p" | "r" | "m" | undefined;
58
+ pgTypeClass?: "e" | "d" | "b" | "c" | "p" | "r" | "m" | undefined;
57
59
  characterMaximumLength?: number | null | undefined;
58
60
  notNull?: boolean | null | undefined;
59
61
  dflt?: string | null | undefined;
@@ -61,13 +63,28 @@ export declare const publishedTableSpec: v.ObjectType<Omit<Omit<{
61
63
  dataType: string;
62
64
  typeOID: number;
63
65
  }>>;
66
+ replicaIdentity: v.Optional<"n" | "d" | "f" | "i">;
64
67
  publications: v.Type<Record<string, {
65
68
  rowFilter: string | null;
66
69
  }>>;
67
70
  }, undefined>;
68
71
  export type LiteTableSpec = Readonly<v.Infer<typeof liteTableSpec>>;
72
+ export type LiteTableSpecWithKeys = Omit<LiteTableSpec, 'primaryKey'> & {
73
+ /**
74
+ * The key selected to act as the "primary key". Primary keys
75
+ * are not explicitly set on the replica, but an appropriate
76
+ * unique index is required.
77
+ */
78
+ primaryKey: PrimaryKey;
79
+ /**
80
+ * The union of all columns that are part of any unique index.
81
+ * This is guaranteed to include any combination of columns that
82
+ * can serve as a key.
83
+ */
84
+ unionKey: PrimaryKey;
85
+ };
69
86
  export type LiteAndZqlSpec = {
70
- tableSpec: LiteTableSpec;
87
+ tableSpec: LiteTableSpecWithKeys;
71
88
  zqlSpec: Record<string, SchemaValue>;
72
89
  };
73
90
  export type TableSpec = Readonly<v.Infer<typeof tableSpec>>;
@@ -90,4 +107,16 @@ export declare const indexSpec: v.ObjectType<Omit<{
90
107
  schema: v.Type<string>;
91
108
  }, undefined>;
92
109
  export type IndexSpec = DeepReadonly<v.Infer<typeof indexSpec>>;
110
+ export declare const publishedIndexSpec: v.ObjectType<Omit<Omit<{
111
+ name: v.Type<string>;
112
+ tableName: v.Type<string>;
113
+ unique: v.Type<boolean>;
114
+ columns: v.Type<Record<string, "ASC" | "DESC">>;
115
+ }, "schema"> & {
116
+ schema: v.Type<string>;
117
+ }, "isReplicaIdentity" | "isImmediate"> & {
118
+ isReplicaIdentity: v.Optional<boolean>;
119
+ isImmediate: v.Optional<boolean>;
120
+ }, undefined>;
121
+ export type PublishedIndexSpec = DeepReadonly<v.Infer<typeof publishedIndexSpec>>;
93
122
  //# sourceMappingURL=specs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/db/specs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,CAAC,MAAM,+BAA+B,CAAC;AACnD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AAG1E,eAAO,MAAM,iBAAiB,0GAQ7B,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;aAOrB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC;AAM9D,eAAO,MAAM,aAAa;;;;;;;;;;;aAIxB,CAAC;AAEH,eAAO,MAAM,SAAS;;;;;;;;;;;;;aAEpB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;aAI7B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC;AAEpE,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,aAAa,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC;AAE5D,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC;AAE9E,eAAO,MAAM,eAAe,8CAA+C,CAAC;AAE5E,eAAO,MAAM,aAAa;;;;;aAKxB,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEjE,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AAE3D,eAAO,MAAM,SAAS;;;;;;;aAEpB,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/db/specs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,CAAC,MAAM,+BAA+B,CAAC;AACnD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,2CAA2C,CAAC;AAC1E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AAI1E,eAAO,MAAM,iBAAiB,0GAQ7B,CAAC;AAEF,eAAO,MAAM,uBAAuB,mEAKnC,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;aAOrB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC;AAM9D,eAAO,MAAM,aAAa;;;;;;;;;;;aAIxB,CAAC;AAEH,eAAO,MAAM,SAAS;;;;;;;;;;;;;aAEpB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAK7B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC;AAEpE,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,GAAG;IACtE;;;;OAIG;IACH,UAAU,EAAE,UAAU,CAAC;IAEvB;;;;OAIG;IACH,QAAQ,EAAE,UAAU,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,qBAAqB,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC;AAE5D,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC;AAE9E,eAAO,MAAM,eAAe,8CAA+C,CAAC;AAE5E,eAAO,MAAM,aAAa;;;;;aAKxB,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEjE,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AAE3D,eAAO,MAAM,SAAS;;;;;;;aAEpB,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC;AAEhE,eAAO,MAAM,kBAAkB;;;;;;;;;;aAG7B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAC3C,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CACnC,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import * as v from '../../../shared/src/valita.js';
2
+ import * as PostgresReplicaIdentity from './postgres-replica-identity-enum.js';
2
3
  import * as PostgresTypeClass from './postgres-type-class-enum.js';
3
4
  export const pgTypeClassSchema = v.union(v.literal(PostgresTypeClass.Base), v.literal(PostgresTypeClass.Composite), v.literal(PostgresTypeClass.Domain), v.literal(PostgresTypeClass.Enum), v.literal(PostgresTypeClass.Pseudo), v.literal(PostgresTypeClass.Range), v.literal(PostgresTypeClass.Multirange));
5
+ export const pgReplicaIdentitySchema = v.union(v.literal(PostgresReplicaIdentity.Default), v.literal(PostgresReplicaIdentity.Nothing), v.literal(PostgresReplicaIdentity.Full), v.literal(PostgresReplicaIdentity.Index));
4
6
  export const columnSpec = v.object({
5
7
  pos: v.number(),
6
8
  dataType: v.string(),
@@ -15,7 +17,7 @@ const publishedColumnSpec = columnSpec.extend({
15
17
  export const liteTableSpec = v.object({
16
18
  name: v.string(),
17
19
  columns: v.record(columnSpec),
18
- primaryKey: v.array(v.string()),
20
+ primaryKey: v.array(v.string()).optional(),
19
21
  });
20
22
  export const tableSpec = liteTableSpec.extend({
21
23
  schema: v.string(),
@@ -23,6 +25,7 @@ export const tableSpec = liteTableSpec.extend({
23
25
  export const publishedTableSpec = tableSpec.extend({
24
26
  oid: v.number(),
25
27
  columns: v.record(publishedColumnSpec),
28
+ replicaIdentity: pgReplicaIdentitySchema.optional(),
26
29
  publications: v.record(v.object({ rowFilter: v.string().nullable() })),
27
30
  });
28
31
  export const directionSchema = v.union(v.literal('ASC'), v.literal('DESC'));
@@ -35,4 +38,8 @@ export const liteIndexSpec = v.object({
35
38
  export const indexSpec = liteIndexSpec.extend({
36
39
  schema: v.string(),
37
40
  });
41
+ export const publishedIndexSpec = indexSpec.extend({
42
+ isReplicaIdentity: v.boolean().optional(),
43
+ isImmediate: v.boolean().optional(),
44
+ });
38
45
  //# sourceMappingURL=specs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"specs.js","sourceRoot":"","sources":["../../../../../zero-cache/src/db/specs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,+BAA+B,CAAC;AAEnD,OAAO,KAAK,iBAAiB,MAAM,+BAA+B,CAAC;AAEnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CACtC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,EACjC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,EACtC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,EACnC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,EACjC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,EACnC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAClC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CACxC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,WAAW,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IACzC,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACxD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC;AAIH,MAAM,mBAAmB,GAAG,UAAU,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;IAC7B,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAChC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAC,MAAM,CAAC;IACjD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC;IACtC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAC,CAAC,CAAC;CACrE,CAAC,CAAC;AAaH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC;CACnC,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC"}
1
+ {"version":3,"file":"specs.js","sourceRoot":"","sources":["../../../../../zero-cache/src/db/specs.ts"],"names":[],"mappings":"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"}