@rocicorp/zero 0.16.2025022601 → 0.17.2025022800

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 (183) hide show
  1. package/out/{chunk-7E4L5D3N.js → chunk-5BT5TJFM.js} +517 -3962
  2. package/out/chunk-5BT5TJFM.js.map +7 -0
  3. package/out/chunk-P3NUVEQJ.js +3578 -0
  4. package/out/chunk-P3NUVEQJ.js.map +7 -0
  5. package/out/pg.js +593 -0
  6. package/out/pg.js.map +7 -0
  7. package/out/react.js +1 -4
  8. package/out/react.js.map +2 -2
  9. package/out/shared/src/types.js +2 -0
  10. package/out/shared/src/types.js.map +1 -0
  11. package/out/solid.js +3 -2
  12. package/out/solid.js.map +1 -1
  13. package/out/z2s/src/compiler.d.ts +26 -0
  14. package/out/z2s/src/compiler.d.ts.map +1 -0
  15. package/out/z2s/src/compiler.js +155 -0
  16. package/out/z2s/src/compiler.js.map +1 -0
  17. package/out/z2s/src/sql.d.ts +12 -0
  18. package/out/z2s/src/sql.d.ts.map +1 -0
  19. package/out/z2s/src/sql.js +18 -0
  20. package/out/z2s/src/sql.js.map +1 -0
  21. package/out/zero/src/pg.d.ts +2 -0
  22. package/out/zero/src/pg.d.ts.map +1 -0
  23. package/out/zero/src/pg.js +3 -0
  24. package/out/zero/src/pg.js.map +1 -0
  25. package/out/zero-cache/src/auth/load-permissions.d.ts +2 -2
  26. package/out/zero-cache/src/auth/load-permissions.d.ts.map +1 -1
  27. package/out/zero-cache/src/auth/load-permissions.js +6 -7
  28. package/out/zero-cache/src/auth/load-permissions.js.map +1 -1
  29. package/out/zero-cache/src/auth/read-authorizer.d.ts.map +1 -1
  30. package/out/zero-cache/src/auth/read-authorizer.js +1 -1
  31. package/out/zero-cache/src/auth/read-authorizer.js.map +1 -1
  32. package/out/zero-cache/src/auth/write-authorizer.d.ts +1 -1
  33. package/out/zero-cache/src/auth/write-authorizer.d.ts.map +1 -1
  34. package/out/zero-cache/src/auth/write-authorizer.js +4 -2
  35. package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
  36. package/out/zero-cache/src/config/zero-config.d.ts +1 -1
  37. package/out/zero-cache/src/config/zero-config.js +4 -4
  38. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  39. package/out/zero-cache/src/scripts/deploy-permissions.js +5 -4
  40. package/out/zero-cache/src/scripts/deploy-permissions.js.map +1 -1
  41. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  42. package/out/zero-cache/src/server/change-streamer.js +3 -2
  43. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  44. package/out/zero-cache/src/server/main.d.ts.map +1 -1
  45. package/out/zero-cache/src/server/main.js +2 -1
  46. package/out/zero-cache/src/server/main.js.map +1 -1
  47. package/out/zero-cache/src/server/multi/config.d.ts +1 -1
  48. package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
  49. package/out/zero-cache/src/server/syncer.js +4 -3
  50. package/out/zero-cache/src/server/syncer.js.map +1 -1
  51. package/out/zero-cache/src/services/change-source/custom/change-source.d.ts +2 -2
  52. package/out/zero-cache/src/services/change-source/custom/change-source.d.ts.map +1 -1
  53. package/out/zero-cache/src/services/change-source/custom/change-source.js +10 -10
  54. package/out/zero-cache/src/services/change-source/custom/change-source.js.map +1 -1
  55. package/out/zero-cache/src/services/change-source/custom/sync-schema.d.ts +1 -1
  56. package/out/zero-cache/src/services/change-source/custom/sync-schema.d.ts.map +1 -1
  57. package/out/zero-cache/src/services/change-source/custom/sync-schema.js +2 -2
  58. package/out/zero-cache/src/services/change-source/custom/sync-schema.js.map +1 -1
  59. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts +1 -1
  60. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +1 -1
  61. package/out/zero-cache/src/services/change-source/pg/change-source.js +14 -12
  62. package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -1
  63. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts +2 -2
  64. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts.map +1 -1
  65. package/out/zero-cache/src/services/change-source/pg/initial-sync.js +13 -9
  66. package/out/zero-cache/src/services/change-source/pg/initial-sync.js.map +1 -1
  67. package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts +1 -1
  68. package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts.map +1 -1
  69. package/out/zero-cache/src/services/change-source/pg/schema/ddl.js +11 -9
  70. package/out/zero-cache/src/services/change-source/pg/schema/ddl.js.map +1 -1
  71. package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts +2 -2
  72. package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts.map +1 -1
  73. package/out/zero-cache/src/services/change-source/pg/schema/init.js +10 -10
  74. package/out/zero-cache/src/services/change-source/pg/schema/init.js.map +1 -1
  75. package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts +1 -3
  76. package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts.map +1 -1
  77. package/out/zero-cache/src/services/change-source/pg/schema/published.js +1 -3
  78. package/out/zero-cache/src/services/change-source/pg/schema/published.js.map +1 -1
  79. package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts +10 -12
  80. package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts.map +1 -1
  81. package/out/zero-cache/src/services/change-source/pg/schema/shard.js +55 -51
  82. package/out/zero-cache/src/services/change-source/pg/schema/shard.js.map +1 -1
  83. package/out/zero-cache/src/services/change-source/pg/schema/validation.d.ts +1 -0
  84. package/out/zero-cache/src/services/change-source/pg/schema/validation.d.ts.map +1 -1
  85. package/out/zero-cache/src/services/change-source/pg/schema/validation.js +1 -0
  86. package/out/zero-cache/src/services/change-source/pg/schema/validation.js.map +1 -1
  87. package/out/zero-cache/src/services/change-source/pg/sync-schema.d.ts +1 -1
  88. package/out/zero-cache/src/services/change-source/pg/sync-schema.d.ts.map +1 -1
  89. package/out/zero-cache/src/services/change-source/pg/sync-schema.js +2 -2
  90. package/out/zero-cache/src/services/change-source/pg/sync-schema.js.map +1 -1
  91. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  92. package/out/zero-cache/src/services/change-streamer/storer.js +1 -3
  93. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  94. package/out/zero-cache/src/services/mutagen/mutagen.d.ts +2 -2
  95. package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
  96. package/out/zero-cache/src/services/mutagen/mutagen.js +18 -14
  97. package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
  98. package/out/zero-cache/src/services/view-syncer/client-handler.d.ts +1 -1
  99. package/out/zero-cache/src/services/view-syncer/client-handler.d.ts.map +1 -1
  100. package/out/zero-cache/src/services/view-syncer/client-handler.js +5 -6
  101. package/out/zero-cache/src/services/view-syncer/client-handler.js.map +1 -1
  102. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +1 -1
  103. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
  104. package/out/zero-cache/src/services/view-syncer/cvr-store.js +3 -3
  105. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
  106. package/out/zero-cache/src/services/view-syncer/cvr.d.ts +1 -1
  107. package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
  108. package/out/zero-cache/src/services/view-syncer/cvr.js +4 -3
  109. package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
  110. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +3 -3
  111. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
  112. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +12 -4
  113. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  114. package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts +1 -1
  115. package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts.map +1 -1
  116. package/out/zero-cache/src/services/view-syncer/row-record-cache.js +2 -2
  117. package/out/zero-cache/src/services/view-syncer/row-record-cache.js.map +1 -1
  118. package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts +3 -3
  119. package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts.map +1 -1
  120. package/out/zero-cache/src/services/view-syncer/schema/cvr.js +39 -39
  121. package/out/zero-cache/src/services/view-syncer/schema/cvr.js.map +1 -1
  122. package/out/zero-cache/src/services/view-syncer/schema/init.d.ts +1 -1
  123. package/out/zero-cache/src/services/view-syncer/schema/init.d.ts.map +1 -1
  124. package/out/zero-cache/src/services/view-syncer/schema/init.js +5 -5
  125. package/out/zero-cache/src/services/view-syncer/schema/init.js.map +1 -1
  126. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts +4 -3
  127. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +1 -1
  128. package/out/zero-cache/src/services/view-syncer/snapshotter.js +25 -23
  129. package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -1
  130. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +1 -1
  131. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  132. package/out/zero-cache/src/services/view-syncer/view-syncer.js +12 -8
  133. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  134. package/out/zero-client/src/client/custom.d.ts +1 -1
  135. package/out/zero-client/src/client/custom.d.ts.map +1 -1
  136. package/out/zero-client/src/client/zero.d.ts +1 -1
  137. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  138. package/out/zero-client/src/mod.d.ts +1 -0
  139. package/out/zero-client/src/mod.d.ts.map +1 -1
  140. package/out/zero-pg/src/custom.d.ts +42 -0
  141. package/out/zero-pg/src/custom.d.ts.map +1 -0
  142. package/out/zero-pg/src/custom.js +99 -0
  143. package/out/zero-pg/src/custom.js.map +1 -0
  144. package/out/zero-pg/src/db.d.ts +27 -0
  145. package/out/zero-pg/src/db.d.ts.map +1 -0
  146. package/out/zero-pg/src/db.js +2 -0
  147. package/out/zero-pg/src/db.js.map +1 -0
  148. package/out/zero-pg/src/logging.d.ts +3 -0
  149. package/out/zero-pg/src/logging.d.ts.map +1 -0
  150. package/out/zero-pg/src/logging.js +5 -0
  151. package/out/zero-pg/src/logging.js.map +1 -0
  152. package/out/zero-pg/src/mod.d.ts +5 -0
  153. package/out/zero-pg/src/mod.d.ts.map +1 -0
  154. package/out/zero-pg/src/mod.js +2 -0
  155. package/out/zero-pg/src/mod.js.map +1 -0
  156. package/out/zero-pg/src/query.d.ts +22 -0
  157. package/out/zero-pg/src/query.d.ts.map +1 -0
  158. package/out/zero-pg/src/query.js +54 -0
  159. package/out/zero-pg/src/query.js.map +1 -0
  160. package/out/zero-pg/src/web.d.ts +16 -0
  161. package/out/zero-pg/src/web.d.ts.map +1 -0
  162. package/out/zero-pg/src/web.js +115 -0
  163. package/out/zero-pg/src/web.js.map +1 -0
  164. package/out/zero-react/src/use-zero.d.ts +5 -4
  165. package/out/zero-react/src/use-zero.d.ts.map +1 -1
  166. package/out/zero.js +2 -1
  167. package/out/zql/src/ivm/exists.d.ts.map +1 -1
  168. package/out/zql/src/ivm/exists.js +43 -23
  169. package/out/zql/src/ivm/exists.js.map +1 -1
  170. package/out/zql/src/mutate/custom.js +10 -0
  171. package/out/zql/src/mutate/custom.js.map +1 -0
  172. package/out/zql/src/query/query-impl.d.ts +2 -2
  173. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  174. package/out/zql/src/query/query-impl.js +1 -1
  175. package/out/zql/src/query/query-impl.js.map +1 -1
  176. package/out/zql/src/query/query.d.ts +1 -1
  177. package/out/zql/src/query/query.d.ts.map +1 -1
  178. package/out/zql/src/query/static-query.d.ts +1 -1
  179. package/out/zql/src/query/static-query.d.ts.map +1 -1
  180. package/out/zql/src/query/static-query.js +3 -3
  181. package/out/zql/src/query/static-query.js.map +1 -1
  182. package/package.json +5 -1
  183. package/out/chunk-7E4L5D3N.js.map +0 -7
@@ -2,7 +2,7 @@ import type { LogContext } from '@rocicorp/logger';
2
2
  import type postgres from 'postgres';
3
3
  import { type JSONObject, type JSONValue } from '../../../types/bigint-json.ts';
4
4
  import { type RowID, type RowRecord } from './types.ts';
5
- export declare function cvrSchema(shardID: string): string;
5
+ export declare function cvrSchema(appID: string, shardID: string): string;
6
6
  export type InstancesRow = {
7
7
  clientGroupID: string;
8
8
  version: string;
@@ -74,10 +74,10 @@ export declare function compareRowsRows(a: RowsRow, b: RowsRow): number;
74
74
  * `cvr.rows` TABLE needs to be updated without affecting the
75
75
  * `SELECT ... FOR UPDATE` lock when `cvr.instances` is updated.
76
76
  */
77
- export declare function createRowsVersionTable(shardID: string): string;
77
+ export declare function createRowsVersionTable(appID: string, shardID: string): string;
78
78
  export type RowsVersionRow = {
79
79
  clientGroupID: string;
80
80
  version: string;
81
81
  };
82
- export declare function setupCVRTables(lc: LogContext, db: postgres.TransactionSql, shardID: string): Promise<void>;
82
+ export declare function setupCVRTables(lc: LogContext, db: postgres.TransactionSql, appID: string, shardID: string): Promise<void>;
83
83
  //# sourceMappingURL=cvr.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cvr.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/view-syncer/schema/cvr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cvr.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/view-syncer/schema/cvr.ts"],"names":[],"mappings":"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"}
@@ -3,19 +3,19 @@ import { stringCompare } from "../../../../../shared/src/string-compare.js";
3
3
  import { stringify, } from "../../../types/bigint-json.js";
4
4
  import { normalizedKeyOrder } from "../../../types/row-key.js";
5
5
  import { versionFromString, versionString, } from "./types.js";
6
- export function cvrSchema(shardID) {
7
- return `cvr_${shardID}`;
6
+ export function cvrSchema(appID, shardID) {
7
+ return `${appID}_${shardID}/cvr`;
8
8
  }
9
9
  // For readability in the sql statements.
10
- function schema(shardID) {
11
- return ident(cvrSchema(shardID));
10
+ function schema(appID, shardID) {
11
+ return ident(cvrSchema(appID, shardID));
12
12
  }
13
- function createSchema(shardID) {
14
- return `CREATE SCHEMA IF NOT EXISTS ${schema(shardID)};`;
13
+ function createSchema(appID, shardID) {
14
+ return `CREATE SCHEMA IF NOT EXISTS ${schema(appID, shardID)};`;
15
15
  }
16
- function createInstancesTable(shardID) {
16
+ function createInstancesTable(appID, shardID) {
17
17
  return `
18
- CREATE TABLE ${schema(shardID)}.instances (
18
+ CREATE TABLE ${schema(appID, shardID)}.instances (
19
19
  "clientGroupID" TEXT PRIMARY KEY,
20
20
  "version" TEXT NOT NULL, -- Sortable representation of CVRVersion, e.g. "5nbqa2w:09"
21
21
  "lastActive" TIMESTAMPTZ NOT NULL, -- For garbage collection
@@ -28,10 +28,10 @@ CREATE TABLE ${schema(shardID)}.instances (
28
28
  export function compareInstancesRows(a, b) {
29
29
  return stringCompare(a.clientGroupID, b.clientGroupID);
30
30
  }
31
- function createClientsTable(shardID) {
31
+ function createClientsTable(appID, shardID) {
32
32
  // patchVersion and deleted are not used. Remove after all readers are migrated.
33
33
  return `
34
- CREATE TABLE ${schema(shardID)}.clients (
34
+ CREATE TABLE ${schema(appID, shardID)}.clients (
35
35
  "clientGroupID" TEXT,
36
36
  "clientID" TEXT,
37
37
  "patchVersion" TEXT NOT NULL, -- Deprecated
@@ -41,12 +41,12 @@ CREATE TABLE ${schema(shardID)}.clients (
41
41
 
42
42
  CONSTRAINT fk_clients_client_group
43
43
  FOREIGN KEY("clientGroupID")
44
- REFERENCES ${schema(shardID)}.instances("clientGroupID")
44
+ REFERENCES ${schema(appID, shardID)}.instances("clientGroupID")
45
45
  );
46
46
 
47
47
  -- For catchup patches.
48
48
  CREATE INDEX client_patch_version
49
- ON ${schema(shardID)}.clients ("patchVersion");
49
+ ON ${schema(appID, shardID)}.clients ("patchVersion");
50
50
  `;
51
51
  }
52
52
  export function compareClientsRows(a, b) {
@@ -56,9 +56,9 @@ export function compareClientsRows(a, b) {
56
56
  }
57
57
  return stringCompare(a.clientID, b.clientID);
58
58
  }
59
- function createQueriesTable(shardID) {
59
+ function createQueriesTable(appID, shardID) {
60
60
  return `
61
- CREATE TABLE ${schema(shardID)}.queries (
61
+ CREATE TABLE ${schema(appID, shardID)}.queries (
62
62
  "clientGroupID" TEXT,
63
63
  "queryHash" TEXT,
64
64
  "clientAST" JSONB NOT NULL,
@@ -72,12 +72,12 @@ CREATE TABLE ${schema(shardID)}.queries (
72
72
 
73
73
  CONSTRAINT fk_queries_client_group
74
74
  FOREIGN KEY("clientGroupID")
75
- REFERENCES ${schema(shardID)}.instances("clientGroupID")
75
+ REFERENCES ${schema(appID, shardID)}.instances("clientGroupID")
76
76
  );
77
77
 
78
78
  -- For catchup patches.
79
79
  CREATE INDEX queries_patch_version
80
- ON ${schema(shardID)}.queries ("patchVersion" NULLS FIRST);
80
+ ON ${schema(appID, shardID)}.queries ("patchVersion" NULLS FIRST);
81
81
  `;
82
82
  }
83
83
  export function compareQueriesRows(a, b) {
@@ -87,9 +87,9 @@ export function compareQueriesRows(a, b) {
87
87
  }
88
88
  return stringCompare(a.queryHash, b.queryHash);
89
89
  }
90
- function createDesiresTable(shardID) {
90
+ function createDesiresTable(appID, shardID) {
91
91
  return `
92
- CREATE TABLE ${schema(shardID)}.desires (
92
+ CREATE TABLE ${schema(appID, shardID)}.desires (
93
93
  "clientGroupID" TEXT,
94
94
  "clientID" TEXT,
95
95
  "queryHash" TEXT,
@@ -103,23 +103,23 @@ CREATE TABLE ${schema(shardID)}.desires (
103
103
 
104
104
  CONSTRAINT fk_desires_client
105
105
  FOREIGN KEY("clientGroupID", "clientID")
106
- REFERENCES ${ident(cvrSchema(shardID))}.clients("clientGroupID", "clientID"),
106
+ REFERENCES ${ident(cvrSchema(appID, shardID))}.clients("clientGroupID", "clientID"),
107
107
 
108
108
  CONSTRAINT fk_desires_query
109
109
  FOREIGN KEY("clientGroupID", "queryHash")
110
- REFERENCES ${ident(cvrSchema(shardID))}.queries("clientGroupID", "queryHash")
110
+ REFERENCES ${ident(cvrSchema(appID, shardID))}.queries("clientGroupID", "queryHash")
111
111
  ON DELETE CASCADE
112
112
  );
113
113
 
114
114
  -- For catchup patches.
115
115
  CREATE INDEX desires_patch_version
116
- ON ${schema(shardID)}.desires ("patchVersion");
116
+ ON ${schema(appID, shardID)}.desires ("patchVersion");
117
117
 
118
118
  CREATE INDEX desires_expires_at
119
- ON ${schema(shardID)}.desires ("expiresAt");
119
+ ON ${schema(appID, shardID)}.desires ("expiresAt");
120
120
 
121
121
  CREATE INDEX desires_inactivated_at
122
- ON ${schema(shardID)}.desires ("inactivatedAt");
122
+ ON ${schema(appID, shardID)}.desires ("inactivatedAt");
123
123
  `;
124
124
  }
125
125
  export function compareDesiresRows(a, b) {
@@ -180,9 +180,9 @@ export function compareRowsRows(a, b) {
180
180
  * `cvr.rows` TABLE needs to be updated without affecting the
181
181
  * `SELECT ... FOR UPDATE` lock when `cvr.instances` is updated.
182
182
  */
183
- function createRowsTable(shardID) {
183
+ function createRowsTable(appID, shardID) {
184
184
  return `
185
- CREATE TABLE ${schema(shardID)}.rows (
185
+ CREATE TABLE ${schema(appID, shardID)}.rows (
186
186
  "clientGroupID" TEXT,
187
187
  "schema" TEXT,
188
188
  "table" TEXT,
@@ -196,11 +196,11 @@ CREATE TABLE ${schema(shardID)}.rows (
196
196
 
197
197
  -- For catchup patches.
198
198
  CREATE INDEX row_patch_version
199
- ON ${schema(shardID)}.rows ("patchVersion");
199
+ ON ${schema(appID, shardID)}.rows ("patchVersion");
200
200
 
201
201
  -- For listing rows returned by one or more query hashes. e.g.
202
202
  -- SELECT * FROM cvr_shard.rows WHERE "refCounts" ?| array[...queryHashes...];
203
- CREATE INDEX row_ref_counts ON ${schema(shardID)}.rows
203
+ CREATE INDEX row_ref_counts ON ${schema(appID, shardID)}.rows
204
204
  USING GIN ("refCounts");
205
205
  `;
206
206
  }
@@ -219,26 +219,26 @@ CREATE INDEX row_ref_counts ON ${schema(shardID)}.rows
219
219
  * `cvr.rows` TABLE needs to be updated without affecting the
220
220
  * `SELECT ... FOR UPDATE` lock when `cvr.instances` is updated.
221
221
  */
222
- export function createRowsVersionTable(shardID) {
222
+ export function createRowsVersionTable(appID, shardID) {
223
223
  return `
224
- CREATE TABLE ${schema(shardID)}."rowsVersion" (
224
+ CREATE TABLE ${schema(appID, shardID)}."rowsVersion" (
225
225
  "clientGroupID" TEXT PRIMARY KEY,
226
226
  "version" TEXT NOT NULL
227
227
  );
228
228
  `;
229
229
  }
230
- function createTables(shardID) {
231
- return (createSchema(shardID) +
232
- createInstancesTable(shardID) +
233
- createClientsTable(shardID) +
234
- createQueriesTable(shardID) +
235
- createDesiresTable(shardID) +
236
- createRowsTable(shardID) +
237
- createRowsVersionTable(shardID));
230
+ function createTables(appID, shardID) {
231
+ return (createSchema(appID, shardID) +
232
+ createInstancesTable(appID, shardID) +
233
+ createClientsTable(appID, shardID) +
234
+ createQueriesTable(appID, shardID) +
235
+ createDesiresTable(appID, shardID) +
236
+ createRowsTable(appID, shardID) +
237
+ createRowsVersionTable(appID, shardID));
238
238
  }
239
- export async function setupCVRTables(lc, db, shardID) {
239
+ export async function setupCVRTables(lc, db, appID, shardID) {
240
240
  lc.info?.(`Setting up CVR tables`);
241
- await db.unsafe(createTables(shardID));
241
+ await db.unsafe(createTables(appID, shardID));
242
242
  }
243
243
  function stringifySorted(r) {
244
244
  return stringify(normalizedKeyOrder(r));
@@ -1 +1 @@
1
- {"version":3,"file":"cvr.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/view-syncer/schema/cvr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cvr.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/view-syncer/schema/cvr.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import type { LogContext } from '@rocicorp/logger';
2
2
  import type { PostgresDB } from '../../../types/pg.ts';
3
- export declare function initViewSyncerSchema(log: LogContext, db: PostgresDB, shardID: string): Promise<void>;
3
+ export declare function initViewSyncerSchema(log: LogContext, db: PostgresDB, appID: string, shardID: string): Promise<void>;
4
4
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/view-syncer/schema/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAOjD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAGrD,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CA+Ff"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/view-syncer/schema/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAOjD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAGrD,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CA+Ff"}
@@ -1,9 +1,9 @@
1
1
  import { runSchemaMigrations, } from "../../../db/migration.js";
2
2
  import { createRowsVersionTable, cvrSchema, setupCVRTables } from "./cvr.js";
3
- export async function initViewSyncerSchema(log, db, shardID) {
4
- const schema = cvrSchema(shardID);
3
+ export async function initViewSyncerSchema(log, db, appID, shardID) {
4
+ const schema = cvrSchema(appID, shardID);
5
5
  const setupMigration = {
6
- migrateSchema: (lc, tx) => setupCVRTables(lc, tx, shardID),
6
+ migrateSchema: (lc, tx) => setupCVRTables(lc, tx, appID, shardID),
7
7
  minSafeVersion: 1,
8
8
  };
9
9
  const migrateV1toV2 = {
@@ -13,7 +13,7 @@ export async function initViewSyncerSchema(log, db, shardID) {
13
13
  };
14
14
  const migrateV2ToV3 = {
15
15
  migrateSchema: async (_, tx) => {
16
- await tx.unsafe(createRowsVersionTable(shardID));
16
+ await tx.unsafe(createRowsVersionTable(appID, shardID));
17
17
  },
18
18
  /** Populates the cvr.rowsVersion table with versions from cvr.instances. */
19
19
  migrateData: async (lc, tx) => {
@@ -65,6 +65,6 @@ export async function initViewSyncerSchema(log, db, shardID) {
65
65
  6: migrateV5ToV6,
66
66
  7: migrateV6ToV7,
67
67
  };
68
- await runSchemaMigrations(log, 'view-syncer', cvrSchema(shardID), db, setupMigration, schemaVersionMigrationMap);
68
+ await runSchemaMigrations(log, 'view-syncer', cvrSchema(appID, shardID), db, setupMigration, schemaVersionMigrationMap);
69
69
  }
70
70
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/view-syncer/schema/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/view-syncer/schema/init.ts"],"names":[],"mappings":"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"}
@@ -65,7 +65,7 @@ import { type SchemaVersions } from '../../types/schema-versions.ts';
65
65
  */
66
66
  export declare class Snapshotter {
67
67
  #private;
68
- constructor(lc: LogContext, dbFile: string);
68
+ constructor(lc: LogContext, dbFile: string, appID: string);
69
69
  /**
70
70
  * Initializes the snapshot to the current head of the database. This must be
71
71
  * only be called once. The state of whether a Snapshotter has been initialized
@@ -167,11 +167,12 @@ export declare class ResetPipelinesSignal extends Error {
167
167
  constructor(msg: string);
168
168
  }
169
169
  declare class Snapshot {
170
- static create(lc: LogContext, dbFile: string): Snapshot;
170
+ #private;
171
+ static create(lc: LogContext, dbFile: string, appID: string): Snapshot;
171
172
  readonly db: StatementRunner;
172
173
  readonly version: string;
173
174
  readonly schemaVersions: SchemaVersions;
174
- constructor(db: StatementRunner, version: string, schemaVersions: SchemaVersions);
175
+ constructor(db: StatementRunner, appID: string);
175
176
  numChangesSince(prevVersion: string): any;
176
177
  changesSince(prevVersion: string): {
177
178
  changes: IterableIterator<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"snapshotter.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/snapshotter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAM5C,OAAO,KAAK,EAAC,cAAc,EAAE,qBAAqB,EAAC,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAC,KAAK,SAAS,EAAC,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,KAAK,cAAc,EAAC,MAAM,gCAAgC,CAAC;AAanE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,qBAAa,WAAW;;gBAMV,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;IAK1C;;;;OAIG;IACH,IAAI,IAAI,IAAI;IAOZ,WAAW,IAAI,OAAO;IAItB,+EAA+E;IAC/E,OAAO,IAAI,QAAQ;IAKnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,YAAY;IAK1D,kBAAkB;;;;IAUlB;;;OAGG;IACH,OAAO;CAKR;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;CAC/C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,YAAa,SAAQ,QAAQ,CAAC,MAAM,CAAC;IACpD,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC;QAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC;QAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;IAEF;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,0BAA0B;gBAE3B,GAAG,EAAE,MAAM;CAGxB;AAQD,cAAM,QAAQ;IACZ,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;IAyB5C,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;gBAGtC,EAAE,EAAE,eAAe,EACnB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,cAAc;IAOhC,eAAe,CAAC,WAAW,EAAE,MAAM;IAQnC,YAAY,CAAC,WAAW,EAAE,MAAM;;;;IAUhC,MAAM,CAAC,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,SAAS;IAkBtD,OAAO,CAAC,KAAK,EAAE,qBAAqB;;;;IAYpC,WAAW,IAAI,QAAQ;CAOxB;AAoID,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,GAAG,EAAE,MAAM;CAGxB"}
1
+ {"version":3,"file":"snapshotter.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/snapshotter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAM5C,OAAO,KAAK,EAAC,cAAc,EAAE,qBAAqB,EAAC,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAC,KAAK,SAAS,EAAC,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,KAAK,cAAc,EAAC,MAAM,gCAAgC,CAAC;AAanE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,qBAAa,WAAW;;gBAOV,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAMzD;;;;OAIG;IACH,IAAI,IAAI,IAAI;IAOZ,WAAW,IAAI,OAAO;IAItB,+EAA+E;IAC/E,OAAO,IAAI,QAAQ;IAKnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,YAAY;IAK1D,kBAAkB;;;;IAUlB;;;OAGG;IACH,OAAO;CAKR;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;CAC/C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,YAAa,SAAQ,QAAQ,CAAC,MAAM,CAAC;IACpD,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC;QAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC;QAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;IAEF;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,0BAA0B;gBAE3B,GAAG,EAAE,MAAM;CAGxB;AAQD,cAAM,QAAQ;;IACZ,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAmB3D,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC;IAE7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;gBAE5B,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM;IAa9C,eAAe,CAAC,WAAW,EAAE,MAAM;IAQnC,YAAY,CAAC,WAAW,EAAE,MAAM;;;;IAUhC,MAAM,CAAC,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,SAAS;IAkBtD,OAAO,CAAC,KAAK,EAAE,qBAAqB;;;;IAYpC,WAAW,IAAI,QAAQ;CAIxB;AAuID,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,GAAG,EAAE,MAAM;CAGxB"}
@@ -73,11 +73,13 @@ import { getReplicationState, ZERO_VERSION_COLUMN_NAME as ROW_VERSION, } from ".
73
73
  export class Snapshotter {
74
74
  #lc;
75
75
  #dbFile;
76
+ #appID;
76
77
  #curr;
77
78
  #prev;
78
- constructor(lc, dbFile) {
79
+ constructor(lc, dbFile, appID) {
79
80
  this.#lc = lc;
80
81
  this.#dbFile = dbFile;
82
+ this.#appID = appID;
81
83
  }
82
84
  /**
83
85
  * Initializes the snapshot to the current head of the database. This must be
@@ -86,7 +88,7 @@ export class Snapshotter {
86
88
  */
87
89
  init() {
88
90
  assert(this.#curr === undefined, 'Already initialized');
89
- this.#curr = Snapshot.create(this.#lc, this.#dbFile);
91
+ this.#curr = Snapshot.create(this.#lc, this.#dbFile, this.#appID);
90
92
  this.#lc.debug?.(`Initial snapshot at version ${this.#curr.version}`);
91
93
  return this;
92
94
  }
@@ -137,13 +139,13 @@ export class Snapshotter {
137
139
  */
138
140
  advance(tables) {
139
141
  const { prev, curr } = this.advanceWithoutDiff();
140
- return new Diff(tables, prev, curr);
142
+ return new Diff(this.#appID, tables, prev, curr);
141
143
  }
142
144
  advanceWithoutDiff() {
143
145
  assert(this.#curr !== undefined, 'Snapshotter has not been initialized');
144
146
  const next = this.#prev
145
147
  ? this.#prev.resetToHead()
146
- : Snapshot.create(this.#lc, this.#curr.db.db.name);
148
+ : Snapshot.create(this.#lc, this.#curr.db.db.name, this.#appID);
147
149
  this.#prev = this.#curr;
148
150
  this.#curr = next;
149
151
  return { prev: this.#prev, curr: this.#curr };
@@ -169,11 +171,11 @@ export class ResetPipelinesSignal extends Error {
169
171
  super(msg);
170
172
  }
171
173
  }
172
- function getSchemaVersions(db) {
173
- return db.get('SELECT minSupportedVersion, maxSupportedVersion FROM "zero.schemaVersions"');
174
+ function getSchemaVersions(db, appID) {
175
+ return db.get(`SELECT minSupportedVersion, maxSupportedVersion FROM "${appID}.schemaVersions"`);
174
176
  }
175
177
  class Snapshot {
176
- static create(lc, dbFile) {
178
+ static create(lc, dbFile, appID) {
177
179
  const conn = new Database(lc, dbFile);
178
180
  conn.pragma('synchronous = OFF'); // Applied changes are ephemeral; COMMIT is never called.
179
181
  const [{ journal_mode: mode }] = conn.pragma('journal_mode');
@@ -182,21 +184,22 @@ class Snapshot {
182
184
  // on a db in the wal2 journal_mode.
183
185
  assert(mode === 'wal2', `replica db must be in wal2 mode (current: ${mode})`);
184
186
  const db = new StatementRunner(conn);
187
+ return new Snapshot(db, appID);
188
+ }
189
+ db;
190
+ #appID;
191
+ version;
192
+ schemaVersions;
193
+ constructor(db, appID) {
185
194
  db.beginConcurrent();
186
195
  // Note: The subsequent read is necessary to acquire the read lock
187
196
  // (which results in the logical creation of the snapshot). Calling
188
197
  // `BEGIN CONCURRENT` alone does not result in acquiring the read lock.
189
198
  const { stateVersion } = getReplicationState(db);
190
- const schemaVersions = getSchemaVersions(db);
191
- return new Snapshot(db, stateVersion, schemaVersions);
192
- }
193
- db;
194
- version;
195
- schemaVersions;
196
- constructor(db, version, schemaVersions) {
197
199
  this.db = db;
198
- this.version = version;
199
- this.schemaVersions = schemaVersions;
200
+ this.#appID = appID;
201
+ this.version = stateVersion;
202
+ this.schemaVersions = getSchemaVersions(db, appID);
200
203
  }
201
204
  numChangesSince(prevVersion) {
202
205
  const { count } = this.db.get('SELECT COUNT(*) AS count FROM "_zero.changeLog" WHERE stateVersion > ?', prevVersion);
@@ -234,18 +237,17 @@ class Snapshot {
234
237
  }
235
238
  resetToHead() {
236
239
  this.db.rollback();
237
- this.db.beginConcurrent();
238
- const { stateVersion } = getReplicationState(this.db);
239
- const schemaVersions = getSchemaVersions(this.db);
240
- return new Snapshot(this.db, stateVersion, schemaVersions);
240
+ return new Snapshot(this.db, this.#appID);
241
241
  }
242
242
  }
243
243
  class Diff {
244
+ #permissionsTable;
244
245
  tables;
245
246
  prev;
246
247
  curr;
247
248
  changes;
248
- constructor(tables, prev, curr) {
249
+ constructor(appID, tables, prev, curr) {
250
+ this.#permissionsTable = `${appID}.permissions`;
249
251
  this.tables = tables;
250
252
  this.prev = prev;
251
253
  this.curr = curr;
@@ -291,9 +293,9 @@ class Diff {
291
293
  // TODO: Consider doing this for deep-equal values.
292
294
  continue;
293
295
  }
294
- if (table === 'zero.permissions' &&
296
+ if (table === this.#permissionsTable &&
295
297
  prevValue.permissions !== nextValue.permissions) {
296
- throw new ResetPipelinesSignal(`zero.permissions have changed ${prevValue.hash} => ${nextValue.hash}`);
298
+ throw new ResetPipelinesSignal(`Permissions have changed ${prevValue.hash} => ${nextValue.hash}`);
297
299
  }
298
300
  // Modify the values in place when converting to ZQL rows
299
301
  // This is safe since we're the first node in the iterator chain.
@@ -1 +1 @@
1
- {"version":3,"file":"snapshotter.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/snapshotter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AACzD,OAAO,EAAC,IAAI,EAAC,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,CAAC,MAAM,kCAAkC,CAAC;AACtD,OAAO,EAAC,QAAQ,EAAC,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAC,eAAe,EAAC,MAAM,wCAAwC,CAAC;AAEvE,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EACL,kBAAkB,GAGnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAqB,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAC,EAAE,EAAC,MAAM,oBAAoB,CAAC;AACtC,OAAO,EACL,QAAQ,EACR,oBAAoB,IAAI,MAAM,EAC9B,MAAM,EACN,WAAW,GACZ,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,mBAAmB,EACnB,wBAAwB,IAAI,WAAW,GACxC,MAAM,2CAA2C,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,MAAM,OAAO,WAAW;IACb,GAAG,CAAa;IAChB,OAAO,CAAS;IACzB,KAAK,CAAuB;IAC5B,KAAK,CAAuB;IAE5B,YAAY,EAAc,EAAE,MAAc;QACxC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,IAAI;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,qBAAqB,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,+BAA+B,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;IAClC,CAAC;IAED,+EAA+E;IAC/E,OAAO;QACL,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,sCAAsC,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,OAAO,CAAC,MAAmC;QACzC,MAAM,EAAC,IAAI,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC/C,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,kBAAkB;QAChB,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,sCAAsC,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK;YACrB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAC1B,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,OAAO,EAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAC,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,6BAA6B,CAAC,CAAC;IAClD,CAAC;CACF;AAuCD;;;;GAIG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACpC,IAAI,GAAG,sBAAsB,CAAC;IAEvC,YAAY,GAAW;QACrB,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF;AAED,SAAS,iBAAiB,CAAC,EAAmB;IAC5C,OAAO,EAAE,CAAC,GAAG,CACX,4EAA4E,CAC7E,CAAC;AACJ,CAAC;AAED,MAAM,QAAQ;IACZ,MAAM,CAAC,MAAM,CAAC,EAAc,EAAE,MAAc;QAC1C,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,yDAAyD;QAC3F,MAAM,CAAC,EAAC,YAAY,EAAE,IAAI,EAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAGxD,CAAC;QACF,sEAAsE;QACtE,2EAA2E;QAC3E,oCAAoC;QACpC,MAAM,CACJ,IAAI,KAAK,MAAM,EACf,6CAA6C,IAAI,GAAG,CACrD,CAAC;QAEF,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QACrC,EAAE,CAAC,eAAe,EAAE,CAAC;QACrB,kEAAkE;QAClE,mEAAmE;QACnE,uEAAuE;QACvE,MAAM,EAAC,YAAY,EAAC,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAC/C,MAAM,cAAc,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAC7C,OAAO,IAAI,QAAQ,CAAC,EAAE,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IACxD,CAAC;IAEQ,EAAE,CAAkB;IACpB,OAAO,CAAS;IAChB,cAAc,CAAiB;IAExC,YACE,EAAmB,EACnB,OAAe,EACf,cAA8B;QAE9B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,eAAe,CAAC,WAAmB;QACjC,MAAM,EAAC,KAAK,EAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CACzB,wEAAwE,EACxE,WAAW,CACZ,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY,CAAC,WAAmB;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CACvC,wDAAwD,CACzD,CAAC;QACF,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;YAC9C,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC;SACrD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAA4B,EAAE,MAAiB;QACpD,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAgB,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CACvC,UAAU,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CACjD,KAAK,CAAC,IAAI,CACX,UAAU,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CACjC,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC;YACH,8DAA8D;YAC9D,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,CAAM,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,KAA4B;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CACvC,UAAU,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAClE,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE;YAChC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC;SACrD,CAAC;IACJ,CAAC;IAED,WAAW;QACT,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC;QAC1B,MAAM,EAAC,YAAY,EAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpD,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAC7D,CAAC;CACF;AAED,MAAM,IAAI;IACC,MAAM,CAA8B;IACpC,IAAI,CAAW;IACf,IAAI,CAAW;IACf,OAAO,CAAS;IAEzB,YACE,MAAmC,EACnC,IAAc,EACd,IAAc;QAEd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,MAAM,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE3E,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,CAAC;gBACH,gDAAgD;gBAChD,OAAO,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;YAC9B,CAAC;oBAAS,CAAC;gBACT,IAAI,EAAE,CAAC;YACT,CAAC;QACH,CAAC,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC;oBACH,SAAS,CAAC;wBACR,MAAM,EAAC,KAAK,EAAE,IAAI,EAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;wBACrC,IAAI,IAAI,EAAE,CAAC;4BACT,OAAO,EAAE,CAAC;4BACV,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC;wBAC7B,CAAC;wBAED,MAAM,EAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;wBACjE,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;4BACpB,oFAAoF;4BACpF,MAAM,IAAI,oBAAoB,CAC5B,oBAAoB,KAAK,cAAc,CACxC,CAAC;wBACJ,CAAC;wBACD,IAAI,EAAE,KAAK,WAAW,EAAE,CAAC;4BACvB,oEAAoE;4BACpE,MAAM,IAAI,oBAAoB,CAC5B,SAAS,KAAK,qBAAqB,CACpC,CAAC;wBACJ,CAAC;wBACD,MAAM,EAAC,SAAS,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;wBAE1D,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;wBACxB,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC;wBAC5D,IAAI,SAAS,GACX,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAE7D,wFAAwF;wBACxF,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;wBAElE,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;4BAC7C,iFAAiF;4BACjF,mDAAmD;4BACnD,SAAS;wBACX,CAAC;wBAED,IACE,KAAK,KAAK,kBAAkB;4BAC5B,SAAS,CAAC,WAAW,KAAK,SAAS,CAAC,WAAW,EAC/C,CAAC;4BACD,MAAM,IAAI,oBAAoB,CAC5B,iCAAiC,SAAS,CAAC,IAAI,OAAO,SAAS,CAAC,IAAI,EAAE,CACvE,CAAC;wBACJ,CAAC;wBAED,yDAAyD;wBACzD,iEAAiE;wBACjE,IAAI,SAAS,EAAE,CAAC;4BACd,SAAS,GAAG,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;wBAClD,CAAC;wBACD,IAAI,SAAS,EAAE,CAAC;4BACd,SAAS,GAAG,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;wBAClD,CAAC;wBACD,OAAO,EAAC,KAAK,EAAE,EAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAkB,EAAC,CAAC;oBACjE,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,+EAA+E;oBAC/E,OAAO,EAAE,CAAC;oBACV,MAAM,CAAC,CAAC;gBACV,CAAC;YACH,CAAC;YAED,MAAM,EAAE,CAAC,KAAc,EAAE,EAAE;gBACzB,OAAO,EAAE,CAAC;gBACV,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC;YAC7B,CAAC;SACF,CAAC;IACJ,CAAC;IAED,oBAAoB,CAClB,YAAoB,EACpB,EAAU,EACV,SAAmB,EACnB,SAAmB;QAEnB,oEAAoE;QACpE,+BAA+B;QAC/B,IAAI,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,IAAI,gBAAgB,CACxB,sDAAsD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAC1E,CAAC;QACJ,CAAC;QACD,IACE,SAAS,KAAK,IAAI;YAClB,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EACnD,CAAC;YACD,MAAM,IAAI,gBAAgB,CACxB,sDAAsD,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,CAC3E,CAAC;QACJ,CAAC;QACD,IAAI,EAAE,KAAK,MAAM,IAAI,SAAS,CAAC,WAAW,CAAC,KAAK,YAAY,EAAE,CAAC;YAC7D,MAAM,IAAI,gBAAgB,CACxB,gDAAgD,CACjD,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,GAAW;QACrB,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF"}
1
+ {"version":3,"file":"snapshotter.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/snapshotter.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ export interface ViewSyncer {
31
31
  export declare class ViewSyncerService implements ViewSyncer, ActivityBasedService {
32
32
  #private;
33
33
  readonly id: string;
34
- constructor(lc: LogContext, taskID: string, clientGroupID: string, shardID: string, db: PostgresDB, pipelineDriver: PipelineDriver, versionChanges: Subscription<ReplicaState>, drainCoordinator: DrainCoordinator, keepaliveMs?: number);
34
+ constructor(lc: LogContext, appID: string, taskID: string, clientGroupID: string, shardID: string, db: PostgresDB, pipelineDriver: PipelineDriver, versionChanges: Subscription<ReplicaState>, drainCoordinator: DrainCoordinator, keepaliveMs?: number);
35
35
  run(): Promise<void>;
36
36
  /**
37
37
  * Guarantees that the ViewSyncer will remain running for at least
@@ -1 +1 @@
1
- {"version":3,"file":"view-syncer.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/view-syncer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view-syncer.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/view-syncer.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ function randomID() {
27
27
  }
28
28
  export class ViewSyncerService {
29
29
  id;
30
+ #appID;
30
31
  #shardID;
31
32
  #lc;
32
33
  #pipelines;
@@ -46,16 +47,16 @@ export class ViewSyncerService {
46
47
  #cvr;
47
48
  #pipelinesSynced = false;
48
49
  #authData;
49
- #permissions = null; // Guaranteed if #pipelinesSynced.
50
- constructor(lc, taskID, clientGroupID, shardID, db, pipelineDriver, versionChanges, drainCoordinator, keepaliveMs = DEFAULT_KEEPALIVE_MS) {
50
+ constructor(lc, appID, taskID, clientGroupID, shardID, db, pipelineDriver, versionChanges, drainCoordinator, keepaliveMs = DEFAULT_KEEPALIVE_MS) {
51
51
  this.id = clientGroupID;
52
+ this.#appID = appID;
52
53
  this.#shardID = shardID;
53
54
  this.#lc = lc;
54
55
  this.#pipelines = pipelineDriver;
55
56
  this.#stateChanges = versionChanges;
56
57
  this.#drainCoordinator = drainCoordinator;
57
58
  this.#keepaliveMs = keepaliveMs;
58
- this.#cvrStore = new CVRStore(lc, db, shardID, taskID, clientGroupID,
59
+ this.#cvrStore = new CVRStore(lc, db, appID, shardID, taskID, clientGroupID,
59
60
  // On failure, cancel the #stateChanges subscription. The run()
60
61
  // loop will then await #cvrStore.flushed() which rejects if necessary.
61
62
  () => this.#stateChanges.cancel());
@@ -124,7 +125,6 @@ export class ViewSyncerService {
124
125
  }
125
126
  // stateVersion is at or beyond CVR version for the first time.
126
127
  lc.info?.(`init pipelines@${version} (cvr@${cvrVer})`);
127
- this.#permissions = this.#pipelines.currentPermissions();
128
128
  this.#hydrateUnchangedQueries(lc, cvr);
129
129
  await this.#syncQueryPipelineSet(lc, cvr);
130
130
  this.#pipelinesSynced = true;
@@ -229,7 +229,7 @@ export class ViewSyncerService {
229
229
  this.#deleteClient(clientID, newClient);
230
230
  },
231
231
  });
232
- const newClient = new ClientHandler(lc, this.id, clientID, wsID, this.#shardID, baseCookie, protocolVersion, schemaVersion, downstream);
232
+ const newClient = new ClientHandler(lc, this.id, clientID, wsID, this.#appID, this.#shardID, baseCookie, protocolVersion, schemaVersion, downstream);
233
233
  this.#clients.get(clientID)?.close(`replaced by wsID: ${wsID}`);
234
234
  this.#clients.set(clientID, newClient);
235
235
  // Note: initConnection() must be synchronous so that `downstream` is
@@ -260,7 +260,7 @@ export class ViewSyncerService {
260
260
  }
261
261
  }
262
262
  async #updatePatchesForDesiredQueries(lc, cvr, fn) {
263
- const updater = new CVRConfigDrivenUpdater(this.#cvrStore, cvr, this.#shardID);
263
+ const updater = new CVRConfigDrivenUpdater(this.#cvrStore, cvr, this.#appID, this.#shardID);
264
264
  const patches = fn(updater);
265
265
  this.#cvr = (await updater.flush(lc, true, this.#lastConnectTime)).cvr;
266
266
  if (cmpVersions(cvr.version, this.#cvr.version) < 0) {
@@ -420,7 +420,9 @@ export class ViewSyncerService {
420
420
  if (!query.internal && Object.keys(query.desiredBy).length === 0) {
421
421
  continue; // No longer desired.
422
422
  }
423
- const { query: transformedAst, hash: newTransformationHash } = transformAndHashQuery(lc, ast, must(this.#permissions).permissions ?? { tables: {} }, this.#authData, query.internal);
423
+ const { query: transformedAst, hash: newTransformationHash } = transformAndHashQuery(lc, ast, must(this.#pipelines.currentPermissions()).permissions ?? {
424
+ tables: {},
425
+ }, this.#authData, query.internal);
424
426
  if (newTransformationHash !== transformationHash) {
425
427
  continue; // Query results may have changed.
426
428
  }
@@ -453,7 +455,9 @@ export class ViewSyncerService {
453
455
  // Convert queries to their transformed ast's and hashes
454
456
  const hashToIDs = new Map();
455
457
  const serverQueries = Object.entries(cvr.queries).map(([id, q]) => {
456
- const { query, hash: transformationHash } = transformAndHashQuery(lc, q.ast, must(this.#permissions).permissions ?? { tables: {} }, this.#authData, q.internal);
458
+ const { query, hash: transformationHash } = transformAndHashQuery(lc, q.ast, must(this.#pipelines.currentPermissions()).permissions ?? {
459
+ tables: {},
460
+ }, this.#authData, q.internal);
457
461
  if (hashToIDs.has(transformationHash)) {
458
462
  must(hashToIDs.get(transformationHash)).push(id);
459
463
  }