orez 0.2.9 → 0.2.10
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pg-proxy-browser.d.ts","sourceRoot":"","sources":["../src/pg-proxy-browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAYH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"pg-proxy-browser.d.ts","sourceRoot":"","sources":["../src/pg-proxy-browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAYH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAyqBlD,MAAM,WAAW,YAAY;IAC3B,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAA;IACzC,KAAK,IAAI,IAAI,CAAA;CACd;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,GAAG,eAAe,EACjC,MAAM,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACjF,OAAO,CAAC,YAAY,CAAC,CAk5BvB"}
|
package/dist/pg-proxy-browser.js
CHANGED
|
@@ -18,6 +18,42 @@ import { handleReplicationQuery, handleStartReplication, signalReplicationChange
|
|
|
18
18
|
// shared encoder/decoder instances
|
|
19
19
|
const textEncoder = new TextEncoder();
|
|
20
20
|
const textDecoder = new TextDecoder();
|
|
21
|
+
// verbose wire-protocol logging. off by default — every postgres message hits
|
|
22
|
+
// the hot path, so unconditional console.debug calls are surprisingly expensive
|
|
23
|
+
// even when devtools is set to hide them (the interpolated strings still get
|
|
24
|
+
// built, and devtools retains them).
|
|
25
|
+
//
|
|
26
|
+
// re-evaluated on every call so you can flip it at runtime from any iframe,
|
|
27
|
+
// worker, or console without restarting. toggle via either:
|
|
28
|
+
// - env: OREZ_DEBUG_WIRE=1 (picked up at process start)
|
|
29
|
+
// - global: globalThis.__OREZ_DEBUG_WIRE__ = true (works anywhere, anytime)
|
|
30
|
+
function isDebugWire() {
|
|
31
|
+
try {
|
|
32
|
+
if (globalThis.__OREZ_DEBUG_WIRE__ === true)
|
|
33
|
+
return true;
|
|
34
|
+
if (typeof process !== 'undefined' && process.env?.OREZ_DEBUG_WIRE)
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
catch { }
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
// postgres frontend/backend message type bytes — only used for debug-wire logging
|
|
41
|
+
const PG_MSG_TYPE_NAMES = {
|
|
42
|
+
0x50: 'Parse',
|
|
43
|
+
0x42: 'Bind',
|
|
44
|
+
0x44: 'Describe',
|
|
45
|
+
0x45: 'Execute',
|
|
46
|
+
0x43: 'Close',
|
|
47
|
+
0x48: 'Flush',
|
|
48
|
+
0x53: 'Sync',
|
|
49
|
+
0x51: 'Query',
|
|
50
|
+
0x58: 'Terminate',
|
|
51
|
+
0x70: 'Password',
|
|
52
|
+
0x46: 'FunctionCall',
|
|
53
|
+
0x64: 'CopyData',
|
|
54
|
+
0x63: 'CopyDone',
|
|
55
|
+
0x66: 'CopyFail',
|
|
56
|
+
};
|
|
21
57
|
const schemaQueryCache = new Map();
|
|
22
58
|
const schemaQueryInFlight = new Map();
|
|
23
59
|
const SCHEMA_CACHE_TTL_MS = 30_000;
|
|
@@ -535,7 +571,7 @@ function messagePortToDuplex(port) {
|
|
|
535
571
|
start(controller) {
|
|
536
572
|
port.onmessage = (ev) => {
|
|
537
573
|
msgCount++;
|
|
538
|
-
if (msgCount <= 3) {
|
|
574
|
+
if (isDebugWire() && msgCount <= 3) {
|
|
539
575
|
console.debug(`[pg-proxy-duplex] msg#${msgCount} type=${typeof ev.data} isAB=${ev.data instanceof ArrayBuffer} isU8=${ev.data instanceof Uint8Array} len=${ev.data?.byteLength ?? ev.data?.length ?? '?'}`);
|
|
540
576
|
}
|
|
541
577
|
if (ev.data instanceof ArrayBuffer) {
|
|
@@ -556,7 +592,7 @@ function messagePortToDuplex(port) {
|
|
|
556
592
|
const writable = new WritableStream({
|
|
557
593
|
write(chunk) {
|
|
558
594
|
_globalWriteCount++;
|
|
559
|
-
if (_globalWriteCount <= 200) {
|
|
595
|
+
if (isDebugWire() && _globalWriteCount <= 200) {
|
|
560
596
|
console.debug(`[pg-proxy-ws-write] #${_globalWriteCount} len=${chunk.byteLength}`);
|
|
561
597
|
}
|
|
562
598
|
// transfer the ArrayBuffer for zero-copy
|
|
@@ -663,7 +699,8 @@ export async function createBrowserProxy(dbInput, config) {
|
|
|
663
699
|
const params = parseStartupParams(data);
|
|
664
700
|
const dbName = params.database || 'postgres';
|
|
665
701
|
const isRepl = params.replication === 'database';
|
|
666
|
-
|
|
702
|
+
if (isDebugWire())
|
|
703
|
+
console.debug(`[pg-proxy] connection: db=${dbName} repl=${isRepl}`);
|
|
667
704
|
// all connections handled with raw MessagePort (no pg-gateway).
|
|
668
705
|
// pg-gateway uses for-await on ReadableStream which is broken
|
|
669
706
|
// in browser Web Workers (same root cause as patches #9, #18, #20).
|
|
@@ -725,7 +762,9 @@ export async function createBrowserProxy(dbInput, config) {
|
|
|
725
762
|
// step 2: wait for Password message (p), then send AuthOk + params
|
|
726
763
|
port.onmessage = (ev) => {
|
|
727
764
|
const data2 = ev.data instanceof ArrayBuffer ? new Uint8Array(ev.data) : ev.data;
|
|
728
|
-
|
|
765
|
+
if (isDebugWire()) {
|
|
766
|
+
console.debug(`[pg-proxy-raw-auth] ${dbName} repl=${isReplicationConnection} got msg type=0x${data2?.[0]?.toString(16)} len=${data2?.length}`);
|
|
767
|
+
}
|
|
729
768
|
if (!data2 || data2[0] !== 0x70) {
|
|
730
769
|
console.warn('[pg-proxy-raw-auth] expected password, got type=0x' + data2?.[0]?.toString(16));
|
|
731
770
|
}
|
|
@@ -762,7 +801,8 @@ export async function createBrowserProxy(dbInput, config) {
|
|
|
762
801
|
pos += p.length;
|
|
763
802
|
}
|
|
764
803
|
write(combined);
|
|
765
|
-
|
|
804
|
+
if (isDebugWire())
|
|
805
|
+
console.debug('[pg-proxy-repl-raw] auth complete, ready for queries');
|
|
766
806
|
// step 3: handle subsequent messages (queries, replication commands)
|
|
767
807
|
installQueryHandler();
|
|
768
808
|
};
|
|
@@ -821,25 +861,10 @@ export async function createBrowserProxy(dbInput, config) {
|
|
|
821
861
|
async function processMessage(data) {
|
|
822
862
|
_pmCount++;
|
|
823
863
|
const msgType = data[0];
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
0x44: 'Describe',
|
|
829
|
-
0x45: 'Execute',
|
|
830
|
-
0x43: 'Close',
|
|
831
|
-
0x48: 'Flush',
|
|
832
|
-
0x53: 'Sync',
|
|
833
|
-
0x51: 'Query',
|
|
834
|
-
0x58: 'Terminate',
|
|
835
|
-
0x70: 'Password',
|
|
836
|
-
0x46: 'FunctionCall',
|
|
837
|
-
0x64: 'CopyData',
|
|
838
|
-
0x63: 'CopyDone',
|
|
839
|
-
0x66: 'CopyFail',
|
|
840
|
-
};
|
|
841
|
-
const name = typeNames[msgType] || `unknown(0x${msgType.toString(16)})`;
|
|
842
|
-
console.debug(`[pg-proxy-pm] #${_pmCount} ${dbName} ${name} len=${data.length}`);
|
|
864
|
+
if (isDebugWire()) {
|
|
865
|
+
const name = PG_MSG_TYPE_NAMES[msgType] || `unknown(0x${msgType.toString(16)})`;
|
|
866
|
+
console.debug(`[pg-proxy-pm] #${_pmCount} ${dbName} ${name} len=${data.length}`);
|
|
867
|
+
}
|
|
843
868
|
// replication connection: handle replication commands
|
|
844
869
|
if (isReplicationConnection && msgType === 0x51) {
|
|
845
870
|
const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
|
|
@@ -906,13 +931,15 @@ export async function createBrowserProxy(dbInput, config) {
|
|
|
906
931
|
return;
|
|
907
932
|
}
|
|
908
933
|
// regular query handling (SimpleQuery or extended protocol)
|
|
909
|
-
if (
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
934
|
+
if (isDebugWire()) {
|
|
935
|
+
if (msgType === 0x50) {
|
|
936
|
+
const q = extractParseQuery(data);
|
|
937
|
+
if (q)
|
|
938
|
+
console.debug(`[pg-proxy-raw] ${dbName}: Parse ${q.slice(0, 80)}`);
|
|
939
|
+
}
|
|
940
|
+
else if (msgType === 0x51) {
|
|
941
|
+
console.debug(`[pg-proxy-raw] ${dbName}: SimpleQuery len=${data.length}`);
|
|
942
|
+
}
|
|
916
943
|
}
|
|
917
944
|
// extended protocol pipeline: Parse(0x50), Bind(0x42), Describe(0x44),
|
|
918
945
|
// Execute(0x45), Close(0x43), Flush(0x48)
|
|
@@ -987,7 +1014,7 @@ export async function createBrowserProxy(dbInput, config) {
|
|
|
987
1014
|
return;
|
|
988
1015
|
}
|
|
989
1016
|
const dt = performance.now() - t0;
|
|
990
|
-
if (dt > 100)
|
|
1017
|
+
if (isDebugWire() && dt > 100)
|
|
991
1018
|
console.debug(`[pg-proxy-raw] slow query on ${dbName}: ${dt.toFixed(0)}ms`);
|
|
992
1019
|
// update transaction state
|
|
993
1020
|
const rfqStatus = getReadyForQueryStatus(result);
|
|
@@ -1148,7 +1175,8 @@ export async function createBrowserProxy(dbInput, config) {
|
|
|
1148
1175
|
// but tools like pg_restore also need encoding, datestyle, etc.
|
|
1149
1176
|
// write directly to the port since pg-gateway owns the writable stream
|
|
1150
1177
|
onAuthenticated() {
|
|
1151
|
-
|
|
1178
|
+
if (isDebugWire())
|
|
1179
|
+
console.debug(`[pg-proxy-conn] authenticated db=${dbName}`);
|
|
1152
1180
|
for (const [name, value] of SERVER_PARAMS) {
|
|
1153
1181
|
rawWrite(buildParameterStatus(name, value));
|
|
1154
1182
|
}
|
|
@@ -1159,16 +1187,22 @@ export async function createBrowserProxy(dbInput, config) {
|
|
|
1159
1187
|
isReplicationConnection = true;
|
|
1160
1188
|
}
|
|
1161
1189
|
dbName = params?.database || 'postgres';
|
|
1162
|
-
|
|
1190
|
+
if (isDebugWire()) {
|
|
1191
|
+
console.debug(`[pg-proxy-conn] startup: db=${dbName} user=${params?.user} repl=${params?.replication || 'none'}`);
|
|
1192
|
+
}
|
|
1163
1193
|
const { db } = getDbContext(dbName);
|
|
1164
1194
|
await db.waitReady;
|
|
1165
1195
|
},
|
|
1166
1196
|
async onMessage(data, state) {
|
|
1167
1197
|
if (!state.isAuthenticated) {
|
|
1168
|
-
|
|
1198
|
+
if (isDebugWire()) {
|
|
1199
|
+
console.debug(`[pg-proxy-conn] msg before auth, type=0x${data[0].toString(16)}`);
|
|
1200
|
+
}
|
|
1169
1201
|
return;
|
|
1170
1202
|
}
|
|
1171
|
-
|
|
1203
|
+
if (isDebugWire()) {
|
|
1204
|
+
console.debug(`[pg-proxy-conn] msg db=${dbName} type=0x${data[0].toString(16)} len=${data.length}`);
|
|
1205
|
+
}
|
|
1172
1206
|
// handle replication connections (always go to postgres instance)
|
|
1173
1207
|
if (isReplicationConnection) {
|
|
1174
1208
|
if (data[0] === 0x51) {
|
|
@@ -1399,14 +1433,20 @@ export async function createBrowserProxy(dbInput, config) {
|
|
|
1399
1433
|
};
|
|
1400
1434
|
}
|
|
1401
1435
|
async function handleReplicationMessageBrowser(data, rawWrite, isClosed, closeConn, db, mutex, connection) {
|
|
1402
|
-
|
|
1436
|
+
if (isDebugWire()) {
|
|
1437
|
+
console.debug(`[pg-proxy-repl] ENTRY type=0x${data[0].toString(16)} len=${data.length}`);
|
|
1438
|
+
}
|
|
1403
1439
|
// for non-SimpleQuery messages (extended protocol), execute against PGlite directly.
|
|
1404
1440
|
if (data[0] !== 0x51) {
|
|
1405
|
-
|
|
1441
|
+
if (isDebugWire()) {
|
|
1442
|
+
console.debug(`[pg-proxy-repl] ext protocol msg type=0x${data[0].toString(16)} len=${data.length}`);
|
|
1443
|
+
}
|
|
1406
1444
|
await mutex.acquire();
|
|
1407
1445
|
try {
|
|
1408
1446
|
const result = await db.execProtocolRaw(data, { syncToFs: false });
|
|
1409
|
-
|
|
1447
|
+
if (isDebugWire()) {
|
|
1448
|
+
console.debug(`[pg-proxy-repl] ext protocol result len=${result.length}`);
|
|
1449
|
+
}
|
|
1410
1450
|
return result;
|
|
1411
1451
|
}
|
|
1412
1452
|
finally {
|
|
@@ -1453,15 +1493,22 @@ async function handleReplicationMessageBrowser(data, rawWrite, isClosed, closeCo
|
|
|
1453
1493
|
return undefined;
|
|
1454
1494
|
}
|
|
1455
1495
|
// handle replication queries + fallthrough to pglite, all under mutex
|
|
1456
|
-
|
|
1457
|
-
|
|
1496
|
+
if (isDebugWire()) {
|
|
1497
|
+
console.debug(`[pg-proxy-repl] query: ${query.slice(0, 100)}`);
|
|
1498
|
+
console.debug(`[pg-proxy-repl] acquiring mutex...`);
|
|
1499
|
+
}
|
|
1458
1500
|
await mutex.acquire();
|
|
1459
|
-
|
|
1501
|
+
if (isDebugWire())
|
|
1502
|
+
console.debug(`[pg-proxy-repl] mutex acquired, testing db access...`);
|
|
1460
1503
|
try {
|
|
1461
1504
|
const testResult = await db.query('SELECT 1 as test');
|
|
1462
|
-
|
|
1505
|
+
if (isDebugWire()) {
|
|
1506
|
+
console.debug(`[pg-proxy-repl] db.query works: ${JSON.stringify(testResult.rows)}`);
|
|
1507
|
+
}
|
|
1463
1508
|
const response = await handleReplicationQuery(query, db);
|
|
1464
|
-
|
|
1509
|
+
if (isDebugWire()) {
|
|
1510
|
+
console.debug(`[pg-proxy-repl] handleReplicationQuery result: ${response ? 'bytes(' + response.length + ')' : 'null'}`);
|
|
1511
|
+
}
|
|
1465
1512
|
if (response)
|
|
1466
1513
|
return response;
|
|
1467
1514
|
// apply query rewrites before forwarding
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pg-proxy-browser.js","sourceRoot":"","sources":["../src/pg-proxy-browser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pg-proxy-browser.js","sourceRoot":"","sources":["../src/pg-proxy-browser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "orez",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.10",
|
|
4
4
|
"description": "PGlite-powered zero-sync development backend. No Docker required.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"dependencies": {
|
|
69
69
|
"@electric-sql/pglite": "0.4.1",
|
|
70
70
|
"@electric-sql/pglite-tools": "^0.3.1",
|
|
71
|
-
"bedrock-sqlite": "0.2.
|
|
71
|
+
"bedrock-sqlite": "0.2.10",
|
|
72
72
|
"citty": "^0.2.0",
|
|
73
73
|
"pg-gateway": "0.3.0-beta.4",
|
|
74
74
|
"pgsql-parser": "^17.9.11",
|
package/src/pg-proxy-browser.ts
CHANGED
|
@@ -29,6 +29,41 @@ import type { PGlite } from '@electric-sql/pglite'
|
|
|
29
29
|
const textEncoder = new TextEncoder()
|
|
30
30
|
const textDecoder = new TextDecoder()
|
|
31
31
|
|
|
32
|
+
// verbose wire-protocol logging. off by default — every postgres message hits
|
|
33
|
+
// the hot path, so unconditional console.debug calls are surprisingly expensive
|
|
34
|
+
// even when devtools is set to hide them (the interpolated strings still get
|
|
35
|
+
// built, and devtools retains them).
|
|
36
|
+
//
|
|
37
|
+
// re-evaluated on every call so you can flip it at runtime from any iframe,
|
|
38
|
+
// worker, or console without restarting. toggle via either:
|
|
39
|
+
// - env: OREZ_DEBUG_WIRE=1 (picked up at process start)
|
|
40
|
+
// - global: globalThis.__OREZ_DEBUG_WIRE__ = true (works anywhere, anytime)
|
|
41
|
+
function isDebugWire(): boolean {
|
|
42
|
+
try {
|
|
43
|
+
if ((globalThis as any).__OREZ_DEBUG_WIRE__ === true) return true
|
|
44
|
+
if (typeof process !== 'undefined' && process.env?.OREZ_DEBUG_WIRE) return true
|
|
45
|
+
} catch {}
|
|
46
|
+
return false
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// postgres frontend/backend message type bytes — only used for debug-wire logging
|
|
50
|
+
const PG_MSG_TYPE_NAMES: Record<number, string> = {
|
|
51
|
+
0x50: 'Parse',
|
|
52
|
+
0x42: 'Bind',
|
|
53
|
+
0x44: 'Describe',
|
|
54
|
+
0x45: 'Execute',
|
|
55
|
+
0x43: 'Close',
|
|
56
|
+
0x48: 'Flush',
|
|
57
|
+
0x53: 'Sync',
|
|
58
|
+
0x51: 'Query',
|
|
59
|
+
0x58: 'Terminate',
|
|
60
|
+
0x70: 'Password',
|
|
61
|
+
0x46: 'FunctionCall',
|
|
62
|
+
0x64: 'CopyData',
|
|
63
|
+
0x63: 'CopyDone',
|
|
64
|
+
0x66: 'CopyFail',
|
|
65
|
+
}
|
|
66
|
+
|
|
32
67
|
// schema query cache: identical information_schema/catalog queries from multiple
|
|
33
68
|
// zero-cache clients are deduplicated. first query executes, all others get cached result.
|
|
34
69
|
interface CachedQueryResult {
|
|
@@ -619,7 +654,7 @@ function messagePortToDuplex(port: MessagePort): {
|
|
|
619
654
|
start(controller) {
|
|
620
655
|
port.onmessage = (ev: MessageEvent) => {
|
|
621
656
|
msgCount++
|
|
622
|
-
if (msgCount <= 3) {
|
|
657
|
+
if (isDebugWire() && msgCount <= 3) {
|
|
623
658
|
console.debug(
|
|
624
659
|
`[pg-proxy-duplex] msg#${msgCount} type=${typeof ev.data} isAB=${ev.data instanceof ArrayBuffer} isU8=${ev.data instanceof Uint8Array} len=${ev.data?.byteLength ?? ev.data?.length ?? '?'}`
|
|
625
660
|
)
|
|
@@ -641,7 +676,7 @@ function messagePortToDuplex(port: MessagePort): {
|
|
|
641
676
|
const writable = new WritableStream<Uint8Array>({
|
|
642
677
|
write(chunk) {
|
|
643
678
|
_globalWriteCount++
|
|
644
|
-
if (_globalWriteCount <= 200) {
|
|
679
|
+
if (isDebugWire() && _globalWriteCount <= 200) {
|
|
645
680
|
console.debug(`[pg-proxy-ws-write] #${_globalWriteCount} len=${chunk.byteLength}`)
|
|
646
681
|
}
|
|
647
682
|
// transfer the ArrayBuffer for zero-copy
|
|
@@ -779,7 +814,8 @@ export async function createBrowserProxy(
|
|
|
779
814
|
const params = parseStartupParams(data)
|
|
780
815
|
const dbName = params.database || 'postgres'
|
|
781
816
|
const isRepl = params.replication === 'database'
|
|
782
|
-
|
|
817
|
+
if (isDebugWire())
|
|
818
|
+
console.debug(`[pg-proxy] connection: db=${dbName} repl=${isRepl}`)
|
|
783
819
|
// all connections handled with raw MessagePort (no pg-gateway).
|
|
784
820
|
// pg-gateway uses for-await on ReadableStream which is broken
|
|
785
821
|
// in browser Web Workers (same root cause as patches #9, #18, #20).
|
|
@@ -847,9 +883,11 @@ export async function createBrowserProxy(
|
|
|
847
883
|
port.onmessage = (ev: MessageEvent) => {
|
|
848
884
|
const data2 =
|
|
849
885
|
ev.data instanceof ArrayBuffer ? new Uint8Array(ev.data) : (ev.data as Uint8Array)
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
886
|
+
if (isDebugWire()) {
|
|
887
|
+
console.debug(
|
|
888
|
+
`[pg-proxy-raw-auth] ${dbName} repl=${isReplicationConnection} got msg type=0x${data2?.[0]?.toString(16)} len=${data2?.length}`
|
|
889
|
+
)
|
|
890
|
+
}
|
|
853
891
|
if (!data2 || data2[0] !== 0x70) {
|
|
854
892
|
console.warn(
|
|
855
893
|
'[pg-proxy-raw-auth] expected password, got type=0x' + data2?.[0]?.toString(16)
|
|
@@ -895,7 +933,8 @@ export async function createBrowserProxy(
|
|
|
895
933
|
}
|
|
896
934
|
write(combined)
|
|
897
935
|
|
|
898
|
-
|
|
936
|
+
if (isDebugWire())
|
|
937
|
+
console.debug('[pg-proxy-repl-raw] auth complete, ready for queries')
|
|
899
938
|
|
|
900
939
|
// step 3: handle subsequent messages (queries, replication commands)
|
|
901
940
|
installQueryHandler()
|
|
@@ -962,25 +1001,10 @@ export async function createBrowserProxy(
|
|
|
962
1001
|
async function processMessage(data: Uint8Array) {
|
|
963
1002
|
_pmCount++
|
|
964
1003
|
const msgType = data[0]
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
0x42: 'Bind',
|
|
969
|
-
0x44: 'Describe',
|
|
970
|
-
0x45: 'Execute',
|
|
971
|
-
0x43: 'Close',
|
|
972
|
-
0x48: 'Flush',
|
|
973
|
-
0x53: 'Sync',
|
|
974
|
-
0x51: 'Query',
|
|
975
|
-
0x58: 'Terminate',
|
|
976
|
-
0x70: 'Password',
|
|
977
|
-
0x46: 'FunctionCall',
|
|
978
|
-
0x64: 'CopyData',
|
|
979
|
-
0x63: 'CopyDone',
|
|
980
|
-
0x66: 'CopyFail',
|
|
1004
|
+
if (isDebugWire()) {
|
|
1005
|
+
const name = PG_MSG_TYPE_NAMES[msgType] || `unknown(0x${msgType.toString(16)})`
|
|
1006
|
+
console.debug(`[pg-proxy-pm] #${_pmCount} ${dbName} ${name} len=${data.length}`)
|
|
981
1007
|
}
|
|
982
|
-
const name = typeNames[msgType] || `unknown(0x${msgType.toString(16)})`
|
|
983
|
-
console.debug(`[pg-proxy-pm] #${_pmCount} ${dbName} ${name} len=${data.length}`)
|
|
984
1008
|
|
|
985
1009
|
// replication connection: handle replication commands
|
|
986
1010
|
if (isReplicationConnection && msgType === 0x51) {
|
|
@@ -1049,11 +1073,13 @@ export async function createBrowserProxy(
|
|
|
1049
1073
|
}
|
|
1050
1074
|
|
|
1051
1075
|
// regular query handling (SimpleQuery or extended protocol)
|
|
1052
|
-
if (
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1076
|
+
if (isDebugWire()) {
|
|
1077
|
+
if (msgType === 0x50) {
|
|
1078
|
+
const q = extractParseQuery(data)
|
|
1079
|
+
if (q) console.debug(`[pg-proxy-raw] ${dbName}: Parse ${q.slice(0, 80)}`)
|
|
1080
|
+
} else if (msgType === 0x51) {
|
|
1081
|
+
console.debug(`[pg-proxy-raw] ${dbName}: SimpleQuery len=${data.length}`)
|
|
1082
|
+
}
|
|
1057
1083
|
}
|
|
1058
1084
|
|
|
1059
1085
|
// extended protocol pipeline: Parse(0x50), Bind(0x42), Describe(0x44),
|
|
@@ -1137,7 +1163,7 @@ export async function createBrowserProxy(
|
|
|
1137
1163
|
return
|
|
1138
1164
|
}
|
|
1139
1165
|
const dt = performance.now() - t0
|
|
1140
|
-
if (dt > 100)
|
|
1166
|
+
if (isDebugWire() && dt > 100)
|
|
1141
1167
|
console.debug(`[pg-proxy-raw] slow query on ${dbName}: ${dt.toFixed(0)}ms`)
|
|
1142
1168
|
|
|
1143
1169
|
// update transaction state
|
|
@@ -1308,7 +1334,7 @@ export async function createBrowserProxy(
|
|
|
1308
1334
|
// but tools like pg_restore also need encoding, datestyle, etc.
|
|
1309
1335
|
// write directly to the port since pg-gateway owns the writable stream
|
|
1310
1336
|
onAuthenticated() {
|
|
1311
|
-
console.debug(`[pg-proxy-conn] authenticated db=${dbName}`)
|
|
1337
|
+
if (isDebugWire()) console.debug(`[pg-proxy-conn] authenticated db=${dbName}`)
|
|
1312
1338
|
for (const [name, value] of SERVER_PARAMS) {
|
|
1313
1339
|
rawWrite(buildParameterStatus(name, value))
|
|
1314
1340
|
}
|
|
@@ -1320,23 +1346,29 @@ export async function createBrowserProxy(
|
|
|
1320
1346
|
isReplicationConnection = true
|
|
1321
1347
|
}
|
|
1322
1348
|
dbName = params?.database || 'postgres'
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1349
|
+
if (isDebugWire()) {
|
|
1350
|
+
console.debug(
|
|
1351
|
+
`[pg-proxy-conn] startup: db=${dbName} user=${params?.user} repl=${params?.replication || 'none'}`
|
|
1352
|
+
)
|
|
1353
|
+
}
|
|
1326
1354
|
const { db } = getDbContext(dbName)
|
|
1327
1355
|
await db.waitReady
|
|
1328
1356
|
},
|
|
1329
1357
|
|
|
1330
1358
|
async onMessage(data, state) {
|
|
1331
1359
|
if (!state.isAuthenticated) {
|
|
1360
|
+
if (isDebugWire()) {
|
|
1361
|
+
console.debug(
|
|
1362
|
+
`[pg-proxy-conn] msg before auth, type=0x${data[0].toString(16)}`
|
|
1363
|
+
)
|
|
1364
|
+
}
|
|
1365
|
+
return
|
|
1366
|
+
}
|
|
1367
|
+
if (isDebugWire()) {
|
|
1332
1368
|
console.debug(
|
|
1333
|
-
`[pg-proxy-conn] msg
|
|
1369
|
+
`[pg-proxy-conn] msg db=${dbName} type=0x${data[0].toString(16)} len=${data.length}`
|
|
1334
1370
|
)
|
|
1335
|
-
return
|
|
1336
1371
|
}
|
|
1337
|
-
console.debug(
|
|
1338
|
-
`[pg-proxy-conn] msg db=${dbName} type=0x${data[0].toString(16)} len=${data.length}`
|
|
1339
|
-
)
|
|
1340
1372
|
|
|
1341
1373
|
// handle replication connections (always go to postgres instance)
|
|
1342
1374
|
if (isReplicationConnection) {
|
|
@@ -1605,17 +1637,25 @@ async function handleReplicationMessageBrowser(
|
|
|
1605
1637
|
mutex: Mutex,
|
|
1606
1638
|
connection: PostgresConnection
|
|
1607
1639
|
): Promise<Uint8Array | undefined> {
|
|
1608
|
-
|
|
1640
|
+
if (isDebugWire()) {
|
|
1641
|
+
console.debug(
|
|
1642
|
+
`[pg-proxy-repl] ENTRY type=0x${data[0].toString(16)} len=${data.length}`
|
|
1643
|
+
)
|
|
1644
|
+
}
|
|
1609
1645
|
|
|
1610
1646
|
// for non-SimpleQuery messages (extended protocol), execute against PGlite directly.
|
|
1611
1647
|
if (data[0] !== 0x51) {
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1648
|
+
if (isDebugWire()) {
|
|
1649
|
+
console.debug(
|
|
1650
|
+
`[pg-proxy-repl] ext protocol msg type=0x${data[0].toString(16)} len=${data.length}`
|
|
1651
|
+
)
|
|
1652
|
+
}
|
|
1615
1653
|
await mutex.acquire()
|
|
1616
1654
|
try {
|
|
1617
1655
|
const result = await db.execProtocolRaw(data, { syncToFs: false })
|
|
1618
|
-
|
|
1656
|
+
if (isDebugWire()) {
|
|
1657
|
+
console.debug(`[pg-proxy-repl] ext protocol result len=${result.length}`)
|
|
1658
|
+
}
|
|
1619
1659
|
return result
|
|
1620
1660
|
} finally {
|
|
1621
1661
|
mutex.release()
|
|
@@ -1667,17 +1707,23 @@ async function handleReplicationMessageBrowser(
|
|
|
1667
1707
|
}
|
|
1668
1708
|
|
|
1669
1709
|
// handle replication queries + fallthrough to pglite, all under mutex
|
|
1670
|
-
|
|
1671
|
-
|
|
1710
|
+
if (isDebugWire()) {
|
|
1711
|
+
console.debug(`[pg-proxy-repl] query: ${query.slice(0, 100)}`)
|
|
1712
|
+
console.debug(`[pg-proxy-repl] acquiring mutex...`)
|
|
1713
|
+
}
|
|
1672
1714
|
await mutex.acquire()
|
|
1673
|
-
console.debug(`[pg-proxy-repl] mutex acquired, testing db access...`)
|
|
1715
|
+
if (isDebugWire()) console.debug(`[pg-proxy-repl] mutex acquired, testing db access...`)
|
|
1674
1716
|
try {
|
|
1675
1717
|
const testResult = await db.query('SELECT 1 as test')
|
|
1676
|
-
|
|
1718
|
+
if (isDebugWire()) {
|
|
1719
|
+
console.debug(`[pg-proxy-repl] db.query works: ${JSON.stringify(testResult.rows)}`)
|
|
1720
|
+
}
|
|
1677
1721
|
const response = await handleReplicationQuery(query, db)
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1722
|
+
if (isDebugWire()) {
|
|
1723
|
+
console.debug(
|
|
1724
|
+
`[pg-proxy-repl] handleReplicationQuery result: ${response ? 'bytes(' + response.length + ')' : 'null'}`
|
|
1725
|
+
)
|
|
1726
|
+
}
|
|
1681
1727
|
if (response) return response
|
|
1682
1728
|
|
|
1683
1729
|
// apply query rewrites before forwarding
|