orez 0.1.43 → 0.1.45
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.
- package/dist/admin/http-proxy.d.ts.map +1 -1
- package/dist/admin/http-proxy.js +3 -1
- package/dist/admin/http-proxy.js.map +1 -1
- package/dist/admin/log-store.d.ts.map +1 -1
- package/dist/admin/log-store.js +5 -1
- package/dist/admin/log-store.js.map +1 -1
- package/dist/admin/server.d.ts.map +1 -1
- package/dist/admin/server.js +25 -25
- package/dist/admin/server.js.map +1 -1
- package/dist/browser.d.ts +54 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +110 -0
- package/dist/browser.js.map +1 -0
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/pg-proxy-browser.d.ts +26 -0
- package/dist/pg-proxy-browser.d.ts.map +1 -0
- package/dist/pg-proxy-browser.js +1460 -0
- package/dist/pg-proxy-browser.js.map +1 -0
- package/dist/pg-proxy.d.ts.map +1 -1
- package/dist/pg-proxy.js +48 -34
- package/dist/pg-proxy.js.map +1 -1
- package/dist/pglite-ipc.d.ts.map +1 -1
- package/dist/pglite-ipc.js +3 -2
- package/dist/pglite-ipc.js.map +1 -1
- package/dist/pglite-manager.d.ts.map +1 -1
- package/dist/pglite-manager.js +101 -111
- package/dist/pglite-manager.js.map +1 -1
- package/dist/pglite-web-proxy.d.ts +38 -0
- package/dist/pglite-web-proxy.d.ts.map +1 -0
- package/dist/pglite-web-proxy.js +155 -0
- package/dist/pglite-web-proxy.js.map +1 -0
- package/dist/pglite-web-worker.d.ts +24 -0
- package/dist/pglite-web-worker.d.ts.map +1 -0
- package/dist/pglite-web-worker.js +139 -0
- package/dist/pglite-web-worker.js.map +1 -0
- package/dist/pglite-worker-thread.js +65 -24
- package/dist/pglite-worker-thread.js.map +1 -1
- package/dist/recovery.js +2 -2
- package/dist/recovery.js.map +1 -1
- package/dist/replication/change-tracker.js +9 -9
- package/dist/replication/change-tracker.js.map +1 -1
- package/dist/replication/handler.d.ts.map +1 -1
- package/dist/replication/handler.js +34 -26
- package/dist/replication/handler.js.map +1 -1
- package/dist/worker/browser-build-config.d.ts.map +1 -1
- package/dist/worker/browser-build-config.js +5 -2
- package/dist/worker/browser-build-config.js.map +1 -1
- package/dist/worker/browser-embed.d.ts.map +1 -1
- package/dist/worker/browser-embed.js +31 -26
- package/dist/worker/browser-embed.js.map +1 -1
- package/dist/worker/shims/fastify.d.ts +1 -0
- package/dist/worker/shims/fastify.d.ts.map +1 -1
- package/dist/worker/shims/fastify.js +31 -20
- package/dist/worker/shims/fastify.js.map +1 -1
- package/dist/worker/shims/postgres-browser.d.ts +12 -0
- package/dist/worker/shims/postgres-browser.d.ts.map +1 -0
- package/dist/worker/shims/postgres-browser.js +52 -0
- package/dist/worker/shims/postgres-browser.js.map +1 -0
- package/dist/worker/shims/postgres-socket.d.ts +83 -0
- package/dist/worker/shims/postgres-socket.d.ts.map +1 -0
- package/dist/worker/shims/postgres-socket.js +278 -0
- package/dist/worker/shims/postgres-socket.js.map +1 -0
- package/dist/worker/shims/postgres.d.ts.map +1 -1
- package/dist/worker/shims/postgres.js +18 -9
- package/dist/worker/shims/postgres.js.map +1 -1
- package/dist/worker/shims/stream-browser.d.ts +5 -4
- package/dist/worker/shims/stream-browser.d.ts.map +1 -1
- package/dist/worker/shims/stream-browser.js +7 -6
- package/dist/worker/shims/stream-browser.js.map +1 -1
- package/dist/worker/shims/ws-browser.d.ts.map +1 -1
- package/dist/worker/shims/ws-browser.js +43 -21
- package/dist/worker/shims/ws-browser.js.map +1 -1
- package/dist/worker/shims/ws.d.ts.map +1 -1
- package/dist/worker/shims/ws.js +81 -17
- package/dist/worker/shims/ws.js.map +1 -1
- package/package.json +11 -58
- package/src/admin/http-proxy.ts +4 -1
- package/src/admin/log-store.ts +5 -1
- package/src/admin/server.ts +26 -25
- package/src/browser.ts +195 -0
- package/src/cli.ts +1 -1
- package/src/index.ts +5 -2
- package/src/integration/integration.test.ts +1 -1
- package/src/integration/restore-live-stress.test.ts +2 -2
- package/src/pg-proxy-browser.ts +1673 -0
- package/src/pg-proxy.ts +48 -40
- package/src/pglite-ipc.ts +3 -2
- package/src/pglite-manager.ts +115 -133
- package/src/pglite-web-proxy.ts +180 -0
- package/src/pglite-web-worker.ts +152 -0
- package/src/pglite-worker-thread.ts +66 -24
- package/src/recovery.ts +2 -2
- package/src/replication/change-tracker.test.ts +1 -1
- package/src/replication/change-tracker.ts +9 -9
- package/src/replication/handler.ts +37 -26
- package/src/worker/browser-build-config.test.ts +1 -1
- package/src/worker/browser-build-config.ts +5 -2
- package/src/worker/browser-embed.ts +33 -30
- package/src/worker/shims/fastify.ts +37 -24
- package/src/worker/shims/postgres-browser.ts +59 -0
- package/src/worker/shims/postgres-socket.test.ts +576 -0
- package/src/worker/shims/postgres-socket.ts +310 -0
- package/src/worker/shims/postgres.ts +30 -15
- package/src/worker/shims/stream-browser.ts +15 -0
- package/src/worker/shims/ws-browser.ts +38 -20
- package/src/worker/shims/ws.ts +76 -21
package/dist/pglite-manager.js
CHANGED
|
@@ -57,6 +57,58 @@ function cleanStaleLocks(dataPath) {
|
|
|
57
57
|
return false;
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
+
// shared setup extracted from the 4 factory functions below
|
|
61
|
+
/** migrate old single-instance pgdata dir to the new pgdata-postgres layout */
|
|
62
|
+
function migrateDataDir(config) {
|
|
63
|
+
const pgliteDataDir = config.pgliteOptions?.dataDir;
|
|
64
|
+
if (!pgliteDataDir || !String(pgliteDataDir).startsWith('memory://')) {
|
|
65
|
+
const oldDataPath = resolve(config.dataDir, 'pgdata');
|
|
66
|
+
const newDataPath = resolve(config.dataDir, 'pgdata-postgres');
|
|
67
|
+
if (existsSync(oldDataPath) && !existsSync(newDataPath)) {
|
|
68
|
+
renameSync(oldDataPath, newDataPath);
|
|
69
|
+
log.debug.pglite('migrated pgdata → pgdata-postgres');
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/** create publication if ZERO_APP_PUBLICATIONS is set and publication doesn't exist */
|
|
74
|
+
async function ensurePublication(db) {
|
|
75
|
+
await db.exec('CREATE EXTENSION IF NOT EXISTS plpgsql');
|
|
76
|
+
const pubName = process.env.ZERO_APP_PUBLICATIONS?.trim();
|
|
77
|
+
if (pubName) {
|
|
78
|
+
const pubs = await db.query(`SELECT count(*) as count FROM pg_publication WHERE pubname = $1`, [pubName]);
|
|
79
|
+
if (Number(pubs.rows[0].count) === 0) {
|
|
80
|
+
const quoted = '"' + pubName.replace(/"/g, '""') + '"';
|
|
81
|
+
await db.exec(`CREATE PUBLICATION ${quoted}`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// pglite startParams replaces defaults, so always include required flags
|
|
86
|
+
const PGLITE_BASE_FLAGS = [
|
|
87
|
+
'--single',
|
|
88
|
+
'-F',
|
|
89
|
+
'-O',
|
|
90
|
+
'-j',
|
|
91
|
+
'-c',
|
|
92
|
+
'search_path=public',
|
|
93
|
+
'-c',
|
|
94
|
+
'exit_on_error=false',
|
|
95
|
+
'-c',
|
|
96
|
+
'log_checkpoints=false',
|
|
97
|
+
];
|
|
98
|
+
// cvr/cdb are just zero-cache bookkeeping — minimal fixed memory
|
|
99
|
+
const ZERO_START_PARAMS = [
|
|
100
|
+
...PGLITE_BASE_FLAGS,
|
|
101
|
+
'-c',
|
|
102
|
+
'shared_buffers=128kB',
|
|
103
|
+
'-c',
|
|
104
|
+
'wal_buffers=64kB',
|
|
105
|
+
'-c',
|
|
106
|
+
'work_mem=64kB',
|
|
107
|
+
'-c',
|
|
108
|
+
'maintenance_work_mem=1MB',
|
|
109
|
+
'-c',
|
|
110
|
+
'temp_buffers=800kB',
|
|
111
|
+
];
|
|
60
112
|
// create a single pglite instance with given dataDir suffix
|
|
61
113
|
async function createInstance(config, name, withExtensions) {
|
|
62
114
|
const { dataDir: userDataDir, debug: _dbg, ...userOpts } = config.pgliteOptions;
|
|
@@ -70,40 +122,55 @@ async function createInstance(config, name, withExtensions) {
|
|
|
70
122
|
}
|
|
71
123
|
}
|
|
72
124
|
log.debug.pglite(`creating ${name} instance at ${dataPath}`);
|
|
125
|
+
const isMain = withExtensions;
|
|
73
126
|
try {
|
|
74
127
|
const db = new PGlite({
|
|
75
128
|
dataDir: dataPath,
|
|
76
129
|
debug: config.logLevel === 'debug' ? 1 : 0,
|
|
77
130
|
relaxedDurability: true,
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
131
|
+
initialMemory: isMain ? 32 * 1024 * 1024 : 16 * 1024 * 1024,
|
|
132
|
+
...(isMain ? {} : { startParams: ZERO_START_PARAMS }),
|
|
133
|
+
// main instance: user overrides via pgliteOptions, zero instances: fixed
|
|
134
|
+
...(isMain
|
|
135
|
+
? {
|
|
136
|
+
startParams: [
|
|
137
|
+
...PGLITE_BASE_FLAGS,
|
|
138
|
+
'-c',
|
|
139
|
+
'shared_buffers=4MB',
|
|
140
|
+
'-c',
|
|
141
|
+
'wal_buffers=1MB',
|
|
142
|
+
],
|
|
143
|
+
...userOpts,
|
|
144
|
+
extensions: userOpts.extensions || {
|
|
145
|
+
vector,
|
|
146
|
+
pg_trgm,
|
|
147
|
+
pgcrypto,
|
|
148
|
+
uuid_ossp,
|
|
149
|
+
citext,
|
|
150
|
+
hstore,
|
|
151
|
+
ltree,
|
|
152
|
+
fuzzystrmatch,
|
|
153
|
+
btree_gin,
|
|
154
|
+
btree_gist,
|
|
155
|
+
cube,
|
|
156
|
+
earthdistance,
|
|
157
|
+
},
|
|
93
158
|
}
|
|
94
|
-
: {},
|
|
159
|
+
: { extensions: {} }),
|
|
95
160
|
});
|
|
96
161
|
await db.waitReady;
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
162
|
+
if (isMain) {
|
|
163
|
+
await db.exec(`
|
|
164
|
+
SET work_mem = '4MB';
|
|
165
|
+
SET maintenance_work_mem = '16MB';
|
|
166
|
+
SET effective_cache_size = '64MB';
|
|
167
|
+
SET random_page_cost = 1.1;
|
|
168
|
+
SET jit = off;
|
|
169
|
+
`);
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
await db.exec(`SET jit = off;`);
|
|
173
|
+
}
|
|
107
174
|
log.debug.pglite(`${name} ready`);
|
|
108
175
|
return db;
|
|
109
176
|
}
|
|
@@ -134,33 +201,13 @@ async function createInstance(config, name, withExtensions) {
|
|
|
134
201
|
* corrupted by queries on another.
|
|
135
202
|
*/
|
|
136
203
|
export async function createPGliteInstances(config) {
|
|
137
|
-
|
|
138
|
-
const pgliteDataDir = config.pgliteOptions?.dataDir;
|
|
139
|
-
if (!pgliteDataDir || !String(pgliteDataDir).startsWith('memory://')) {
|
|
140
|
-
const oldDataPath = resolve(config.dataDir, 'pgdata');
|
|
141
|
-
const newDataPath = resolve(config.dataDir, 'pgdata-postgres');
|
|
142
|
-
if (existsSync(oldDataPath) && !existsSync(newDataPath)) {
|
|
143
|
-
renameSync(oldDataPath, newDataPath);
|
|
144
|
-
log.debug.pglite('migrated pgdata → pgdata-postgres');
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
// create all 3 instances in parallel (only postgres needs app extensions)
|
|
204
|
+
migrateDataDir(config);
|
|
148
205
|
const [postgres, cvr, cdb] = await Promise.all([
|
|
149
206
|
createInstance(config, 'postgres', true),
|
|
150
207
|
createInstance(config, 'cvr', false),
|
|
151
208
|
createInstance(config, 'cdb', false),
|
|
152
209
|
]);
|
|
153
|
-
|
|
154
|
-
await postgres.exec('CREATE EXTENSION IF NOT EXISTS plpgsql');
|
|
155
|
-
// create publication only when explicitly configured
|
|
156
|
-
const pubName = process.env.ZERO_APP_PUBLICATIONS?.trim();
|
|
157
|
-
if (pubName) {
|
|
158
|
-
const pubs = await postgres.query(`SELECT count(*) as count FROM pg_publication WHERE pubname = $1`, [pubName]);
|
|
159
|
-
if (Number(pubs.rows[0].count) === 0) {
|
|
160
|
-
const quoted = '"' + pubName.replace(/"/g, '""') + '"';
|
|
161
|
-
await postgres.exec(`CREATE PUBLICATION ${quoted}`);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
210
|
+
await ensurePublication(postgres);
|
|
164
211
|
return { postgres, cvr, cdb };
|
|
165
212
|
}
|
|
166
213
|
/**
|
|
@@ -171,16 +218,8 @@ export async function createPGliteInstances(config) {
|
|
|
171
218
|
* ArrayBuffers are transferred (not copied) for wire protocol data.
|
|
172
219
|
*/
|
|
173
220
|
export async function createPGliteWorkerInstances(config) {
|
|
174
|
-
|
|
221
|
+
migrateDataDir(config);
|
|
175
222
|
const pgliteDataDir = config.pgliteOptions?.dataDir;
|
|
176
|
-
if (!pgliteDataDir || !String(pgliteDataDir).startsWith('memory://')) {
|
|
177
|
-
const oldDataPath = resolve(config.dataDir, 'pgdata');
|
|
178
|
-
const newDataPath = resolve(config.dataDir, 'pgdata-postgres');
|
|
179
|
-
if (existsSync(oldDataPath) && !existsSync(newDataPath)) {
|
|
180
|
-
renameSync(oldDataPath, newDataPath);
|
|
181
|
-
log.debug.pglite('migrated pgdata → pgdata-postgres');
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
223
|
const useMemory = typeof pgliteDataDir === 'string' && pgliteDataDir.startsWith('memory://');
|
|
185
224
|
const { dataDir: _ud, debug: _dbg, ...userOpts } = config.pgliteOptions;
|
|
186
225
|
function makeWorkerConfig(name, withExtensions) {
|
|
@@ -200,24 +239,12 @@ export async function createPGliteWorkerInstances(config) {
|
|
|
200
239
|
};
|
|
201
240
|
}
|
|
202
241
|
log.pglite('starting worker threads for postgres, cvr, cdb');
|
|
203
|
-
// create all 3 worker proxies in parallel
|
|
204
242
|
const pgProxy = new PGliteWorkerProxy(makeWorkerConfig('postgres', true));
|
|
205
243
|
const cvrProxy = new PGliteWorkerProxy(makeWorkerConfig('cvr', false));
|
|
206
244
|
const cdbProxy = new PGliteWorkerProxy(makeWorkerConfig('cdb', false));
|
|
207
245
|
await Promise.all([pgProxy.waitReady, cvrProxy.waitReady, cdbProxy.waitReady]);
|
|
208
246
|
log.pglite('all worker threads ready');
|
|
209
|
-
|
|
210
|
-
await pgProxy.exec('CREATE EXTENSION IF NOT EXISTS plpgsql');
|
|
211
|
-
// create publication only when explicitly configured
|
|
212
|
-
const pubName = process.env.ZERO_APP_PUBLICATIONS?.trim();
|
|
213
|
-
if (pubName) {
|
|
214
|
-
const pubs = await pgProxy.query(`SELECT count(*) as count FROM pg_publication WHERE pubname = $1`, [pubName]);
|
|
215
|
-
if (Number(pubs.rows[0].count) === 0) {
|
|
216
|
-
const quoted = '"' + pubName.replace(/"/g, '""') + '"';
|
|
217
|
-
await pgProxy.exec(`CREATE PUBLICATION ${quoted}`);
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
// cast to PGlite — our proxy implements the same interface surface
|
|
247
|
+
await ensurePublication(pgProxy);
|
|
221
248
|
return {
|
|
222
249
|
postgres: pgProxy,
|
|
223
250
|
cvr: cvrProxy,
|
|
@@ -232,29 +259,10 @@ export async function createPGliteWorkerInstances(config) {
|
|
|
232
259
|
* workers where running 3 pglite instances is too expensive.
|
|
233
260
|
*/
|
|
234
261
|
export async function createSinglePGliteInstance(config) {
|
|
235
|
-
|
|
236
|
-
const pgliteDataDir = config.pgliteOptions?.dataDir;
|
|
237
|
-
if (!pgliteDataDir || !String(pgliteDataDir).startsWith('memory://')) {
|
|
238
|
-
const oldDataPath = resolve(config.dataDir, 'pgdata');
|
|
239
|
-
const newDataPath = resolve(config.dataDir, 'pgdata-postgres');
|
|
240
|
-
if (existsSync(oldDataPath) && !existsSync(newDataPath)) {
|
|
241
|
-
renameSync(oldDataPath, newDataPath);
|
|
242
|
-
log.debug.pglite('migrated pgdata → pgdata-postgres');
|
|
243
|
-
}
|
|
244
|
-
}
|
|
262
|
+
migrateDataDir(config);
|
|
245
263
|
log.pglite('starting single shared pglite instance');
|
|
246
264
|
const db = await createInstance(config, 'postgres', true);
|
|
247
|
-
|
|
248
|
-
await db.exec('CREATE EXTENSION IF NOT EXISTS plpgsql');
|
|
249
|
-
// create publication only when explicitly configured
|
|
250
|
-
const pubName = process.env.ZERO_APP_PUBLICATIONS?.trim();
|
|
251
|
-
if (pubName) {
|
|
252
|
-
const pubs = await db.query(`SELECT count(*) as count FROM pg_publication WHERE pubname = $1`, [pubName]);
|
|
253
|
-
if (Number(pubs.rows[0].count) === 0) {
|
|
254
|
-
const quoted = '"' + pubName.replace(/"/g, '""') + '"';
|
|
255
|
-
await db.exec(`CREATE PUBLICATION ${quoted}`);
|
|
256
|
-
}
|
|
257
|
-
}
|
|
265
|
+
await ensurePublication(db);
|
|
258
266
|
// same instance for all three — pg-proxy detects this and shares a mutex
|
|
259
267
|
return { postgres: db, cvr: db, cdb: db };
|
|
260
268
|
}
|
|
@@ -262,16 +270,8 @@ export async function createSinglePGliteInstance(config) {
|
|
|
262
270
|
* create a single worker-backed pglite instance shared across all databases.
|
|
263
271
|
*/
|
|
264
272
|
export async function createSinglePGliteWorkerInstance(config) {
|
|
265
|
-
|
|
273
|
+
migrateDataDir(config);
|
|
266
274
|
const pgliteDataDir = config.pgliteOptions?.dataDir;
|
|
267
|
-
if (!pgliteDataDir || !String(pgliteDataDir).startsWith('memory://')) {
|
|
268
|
-
const oldDataPath = resolve(config.dataDir, 'pgdata');
|
|
269
|
-
const newDataPath = resolve(config.dataDir, 'pgdata-postgres');
|
|
270
|
-
if (existsSync(oldDataPath) && !existsSync(newDataPath)) {
|
|
271
|
-
renameSync(oldDataPath, newDataPath);
|
|
272
|
-
log.debug.pglite('migrated pgdata → pgdata-postgres');
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
275
|
const useMemory = typeof pgliteDataDir === 'string' && pgliteDataDir.startsWith('memory://');
|
|
276
276
|
const { dataDir: _ud, debug: _dbg, ...userOpts } = config.pgliteOptions;
|
|
277
277
|
const dataPath = useMemory ? 'memory://' : resolve(config.dataDir, 'pgdata-postgres');
|
|
@@ -291,17 +291,7 @@ export async function createSinglePGliteWorkerInstance(config) {
|
|
|
291
291
|
});
|
|
292
292
|
await proxy.waitReady;
|
|
293
293
|
log.pglite('single worker thread ready');
|
|
294
|
-
|
|
295
|
-
await proxy.exec('CREATE EXTENSION IF NOT EXISTS plpgsql');
|
|
296
|
-
// create publication only when explicitly configured
|
|
297
|
-
const pubName = process.env.ZERO_APP_PUBLICATIONS?.trim();
|
|
298
|
-
if (pubName) {
|
|
299
|
-
const pubs = await proxy.query(`SELECT count(*) as count FROM pg_publication WHERE pubname = $1`, [pubName]);
|
|
300
|
-
if (Number(pubs.rows[0].count) === 0) {
|
|
301
|
-
const quoted = '"' + pubName.replace(/"/g, '""') + '"';
|
|
302
|
-
await proxy.exec(`CREATE PUBLICATION ${quoted}`);
|
|
303
|
-
}
|
|
304
|
-
}
|
|
294
|
+
await ensurePublication(proxy);
|
|
305
295
|
const db = proxy;
|
|
306
296
|
return { postgres: db, cvr: db, cdb: db };
|
|
307
297
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pglite-manager.js","sourceRoot":"","sources":["../src/pglite-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pglite-manager.js","sourceRoot":"","sources":["../src/pglite-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PGlite Web Worker proxy — browser equivalent of pglite-ipc.ts.
|
|
3
|
+
*
|
|
4
|
+
* runs in the zero-cache worker, proxies calls to a Web Worker
|
|
5
|
+
* running the actual PGlite instance. mirrors PGliteWorkerProxy
|
|
6
|
+
* from pglite-ipc.ts but uses Web Worker postMessage instead of
|
|
7
|
+
* node worker_threads.
|
|
8
|
+
*
|
|
9
|
+
* ArrayBuffers are transferred (not copied) for execProtocolRaw
|
|
10
|
+
* to keep IPC overhead near-zero for wire protocol data.
|
|
11
|
+
*/
|
|
12
|
+
export declare class PGliteWebProxy {
|
|
13
|
+
private worker;
|
|
14
|
+
private pending;
|
|
15
|
+
private nextId;
|
|
16
|
+
private notificationCallbacks;
|
|
17
|
+
readonly name: string;
|
|
18
|
+
readonly waitReady: Promise<void>;
|
|
19
|
+
closed: boolean;
|
|
20
|
+
ready: boolean;
|
|
21
|
+
constructor(worker: Worker, name: string);
|
|
22
|
+
private installMessageHandler;
|
|
23
|
+
private send;
|
|
24
|
+
execProtocolRaw(data: Uint8Array, options?: {
|
|
25
|
+
syncToFs?: boolean;
|
|
26
|
+
throwOnError?: boolean;
|
|
27
|
+
}): Promise<Uint8Array>;
|
|
28
|
+
query<T = any>(sql: string, params?: any[]): Promise<{
|
|
29
|
+
rows: T[];
|
|
30
|
+
affectedRows?: number;
|
|
31
|
+
}>;
|
|
32
|
+
exec(sql: string): Promise<{
|
|
33
|
+
affectedRows?: number;
|
|
34
|
+
}[]>;
|
|
35
|
+
listen(channel: string, callback: (payload: string) => void): Promise<() => Promise<void>>;
|
|
36
|
+
close(): Promise<void>;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=pglite-web-proxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pglite-web-proxy.d.ts","sourceRoot":"","sources":["../src/pglite-web-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAqBH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,qBAAqB,CAAoD;IACjF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAGjC,MAAM,UAAQ;IACd,KAAK,UAAQ;gBAED,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IA6BxC,OAAO,CAAC,qBAAqB;IA+B7B,OAAO,CAAC,IAAI;IAaN,eAAe,CACnB,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GACvD,OAAO,CAAC,UAAU,CAAC;IAQhB,KAAK,CAAC,CAAC,GAAG,GAAG,EACjB,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,GAAG,EAAE,GACb,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAS1C,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAQvD,MAAM,CACV,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAClC,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAoBzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ7B"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PGlite Web Worker proxy — browser equivalent of pglite-ipc.ts.
|
|
3
|
+
*
|
|
4
|
+
* runs in the zero-cache worker, proxies calls to a Web Worker
|
|
5
|
+
* running the actual PGlite instance. mirrors PGliteWorkerProxy
|
|
6
|
+
* from pglite-ipc.ts but uses Web Worker postMessage instead of
|
|
7
|
+
* node worker_threads.
|
|
8
|
+
*
|
|
9
|
+
* ArrayBuffers are transferred (not copied) for execProtocolRaw
|
|
10
|
+
* to keep IPC overhead near-zero for wire protocol data.
|
|
11
|
+
*/
|
|
12
|
+
import { signalReplicationChange } from './replication/handler.js';
|
|
13
|
+
const WRITE_PREFIXES = ['insert', 'update', 'delete', 'copy', 'truncate'];
|
|
14
|
+
const SHARD_INTERNAL_TABLES = ['"replicas"', '"mutations"', '"replicationState"'];
|
|
15
|
+
function isReplicatedWrite(sql) {
|
|
16
|
+
const q = sql.trimStart().toLowerCase();
|
|
17
|
+
if (!WRITE_PREFIXES.some((p) => q.startsWith(p)))
|
|
18
|
+
return false;
|
|
19
|
+
for (const t of SHARD_INTERNAL_TABLES) {
|
|
20
|
+
if (q.includes(t.toLowerCase()))
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
export class PGliteWebProxy {
|
|
26
|
+
worker;
|
|
27
|
+
pending = new Map();
|
|
28
|
+
nextId = 1;
|
|
29
|
+
notificationCallbacks = new Map();
|
|
30
|
+
name;
|
|
31
|
+
waitReady;
|
|
32
|
+
// PGlite compat flags
|
|
33
|
+
closed = false;
|
|
34
|
+
ready = false;
|
|
35
|
+
constructor(worker, name) {
|
|
36
|
+
this.name = name;
|
|
37
|
+
this.worker = worker;
|
|
38
|
+
let onReady;
|
|
39
|
+
this.waitReady = new Promise((resolveReady, rejectReady) => {
|
|
40
|
+
onReady = () => {
|
|
41
|
+
this.ready = true;
|
|
42
|
+
resolveReady();
|
|
43
|
+
};
|
|
44
|
+
const onMessage = (ev) => {
|
|
45
|
+
const msg = ev.data;
|
|
46
|
+
if (msg?.type === 'ready') {
|
|
47
|
+
this.worker.removeEventListener('message', onMessage);
|
|
48
|
+
this.installMessageHandler();
|
|
49
|
+
onReady();
|
|
50
|
+
}
|
|
51
|
+
else if (msg?.type === 'error' && msg.id === 0) {
|
|
52
|
+
rejectReady(new Error(msg.message));
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
this.worker.addEventListener('message', onMessage);
|
|
56
|
+
this.worker.addEventListener('error', (ev) => {
|
|
57
|
+
rejectReady(new Error(String(ev)));
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
installMessageHandler() {
|
|
62
|
+
this.worker.addEventListener('message', (ev) => {
|
|
63
|
+
const msg = ev.data;
|
|
64
|
+
if (!msg || typeof msg !== 'object')
|
|
65
|
+
return;
|
|
66
|
+
if (msg.type === 'notification') {
|
|
67
|
+
const callbacks = this.notificationCallbacks.get(msg.channel);
|
|
68
|
+
if (callbacks) {
|
|
69
|
+
for (const cb of callbacks) {
|
|
70
|
+
try {
|
|
71
|
+
cb(msg.payload);
|
|
72
|
+
}
|
|
73
|
+
catch { }
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const req = this.pending.get(msg.id);
|
|
79
|
+
if (!req)
|
|
80
|
+
return;
|
|
81
|
+
this.pending.delete(msg.id);
|
|
82
|
+
if (msg.type === 'error') {
|
|
83
|
+
const err = new Error(msg.message);
|
|
84
|
+
if (msg.code)
|
|
85
|
+
err.code = msg.code;
|
|
86
|
+
req.reject(err);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
req.resolve(msg);
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
send(msg, transfer) {
|
|
94
|
+
const id = this.nextId++;
|
|
95
|
+
msg.id = id;
|
|
96
|
+
return new Promise((resolve, reject) => {
|
|
97
|
+
this.pending.set(id, { resolve, reject });
|
|
98
|
+
if (transfer?.length) {
|
|
99
|
+
this.worker.postMessage(msg, transfer);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
this.worker.postMessage(msg);
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
async execProtocolRaw(data, options) {
|
|
107
|
+
// copy to a transferable buffer then transfer
|
|
108
|
+
const buf = new ArrayBuffer(data.byteLength);
|
|
109
|
+
new Uint8Array(buf).set(data);
|
|
110
|
+
const result = await this.send({ type: 'execProtocolRaw', data: buf, options }, [buf]);
|
|
111
|
+
return new Uint8Array(result.data);
|
|
112
|
+
}
|
|
113
|
+
async query(sql, params) {
|
|
114
|
+
const result = await this.send({ type: 'query', sql, params });
|
|
115
|
+
// signal replication after writes on postgres instance (like orez-node's PGliteWorkerProxy)
|
|
116
|
+
if (this.name === 'postgres' && isReplicatedWrite(sql)) {
|
|
117
|
+
signalReplicationChange();
|
|
118
|
+
}
|
|
119
|
+
return { rows: result.rows ?? [], affectedRows: result.affectedRows };
|
|
120
|
+
}
|
|
121
|
+
async exec(sql) {
|
|
122
|
+
const result = await this.send({ type: 'exec', sql });
|
|
123
|
+
if (this.name === 'postgres' && isReplicatedWrite(sql)) {
|
|
124
|
+
signalReplicationChange();
|
|
125
|
+
}
|
|
126
|
+
return result.results ?? [];
|
|
127
|
+
}
|
|
128
|
+
async listen(channel, callback) {
|
|
129
|
+
let callbacks = this.notificationCallbacks.get(channel);
|
|
130
|
+
if (!callbacks) {
|
|
131
|
+
callbacks = new Set();
|
|
132
|
+
this.notificationCallbacks.set(channel, callbacks);
|
|
133
|
+
}
|
|
134
|
+
callbacks.add(callback);
|
|
135
|
+
const result = await this.send({ type: 'listen', channel });
|
|
136
|
+
const listenId = result.id;
|
|
137
|
+
return async () => {
|
|
138
|
+
callbacks.delete(callback);
|
|
139
|
+
if (callbacks.size === 0) {
|
|
140
|
+
this.notificationCallbacks.delete(channel);
|
|
141
|
+
}
|
|
142
|
+
await this.send({ type: 'unlisten', listenId }).catch(() => { });
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
async close() {
|
|
146
|
+
this.closed = true;
|
|
147
|
+
this.ready = false;
|
|
148
|
+
try {
|
|
149
|
+
await this.send({ type: 'close' });
|
|
150
|
+
}
|
|
151
|
+
catch { }
|
|
152
|
+
this.worker.terminate();
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=pglite-web-proxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pglite-web-proxy.js","sourceRoot":"","sources":["../src/pglite-web-proxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PGlite Web Worker — browser equivalent of pglite-worker-thread.ts.
|
|
3
|
+
*
|
|
4
|
+
* runs a single PGlite instance in a Web Worker. receives commands via
|
|
5
|
+
* postMessage, executes on PGlite, sends results back. ArrayBuffers
|
|
6
|
+
* are transferred (not copied) for execProtocolRaw.
|
|
7
|
+
*
|
|
8
|
+
* message protocol (same as pglite-worker-thread.ts):
|
|
9
|
+
* init: { type: 'init', dataDir, name, withExtensions, pgliteOptions }
|
|
10
|
+
* → { type: 'ready' }
|
|
11
|
+
*
|
|
12
|
+
* execProtocolRaw: { type: 'execProtocolRaw', id, data: ArrayBuffer, options }
|
|
13
|
+
* → { type: 'result', id, data: ArrayBuffer }
|
|
14
|
+
*
|
|
15
|
+
* query: { type: 'query', id, sql, params }
|
|
16
|
+
* → { type: 'result', id, rows, affectedRows }
|
|
17
|
+
*
|
|
18
|
+
* exec: { type: 'exec', id, sql }
|
|
19
|
+
* → { type: 'result', id, results: [{ affectedRows }] }
|
|
20
|
+
*
|
|
21
|
+
* listen/unlisten/close: same as pglite-worker-thread.ts
|
|
22
|
+
*/
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=pglite-web-worker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pglite-web-worker.d.ts","sourceRoot":"","sources":["../src/pglite-web-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG"}
|