From 2f11da9387ca3594ffc1002703c50b6b2ccf0f09 Mon Sep 17 00:00:00 2001 From: pmp-p Date: Mon, 28 Jul 2025 13:44:36 +0200 Subject: [PATCH 1/6] switch to pglite-builder sdk (EH fix) --- pglite-build.sh | 4 ++-- postgres-pglite | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pglite-build.sh b/pglite-build.sh index 37be95cdc..87b4bcb76 100755 --- a/pglite-build.sh +++ b/pglite-build.sh @@ -1,8 +1,8 @@ #!/bin/bash pushd postgres-pglite - WASI=true ./wasm-build/build-with-docker.sh - WASI=false ./wasm-build/build-with-docker.sh + WASI=true ./wasm-builder/build-with-docker.sh + WASI=false ./wasm-builder/build-with-docker.sh popd diff --git a/postgres-pglite b/postgres-pglite index 006919984..c18d916ab 160000 --- a/postgres-pglite +++ b/postgres-pglite @@ -1 +1 @@ -Subproject commit 006919984958cacec7df00892a74f3c6bf2e000b +Subproject commit c18d916ab970e24e6cabd2cacd9a175fd657f53b From 170690dd6ef49eac5ea34fd451f63fb0c9d23750 Mon Sep 17 00:00:00 2001 From: pmp-p Date: Mon, 28 Jul 2025 13:49:18 +0200 Subject: [PATCH 2/6] update submodule --- postgres-pglite | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/postgres-pglite b/postgres-pglite index c18d916ab..bda5254b6 160000 --- a/postgres-pglite +++ b/postgres-pglite @@ -1 +1 @@ -Subproject commit c18d916ab970e24e6cabd2cacd9a175fd657f53b +Subproject commit bda5254b6ebca486682cce47ac0fc82620bea606 From 82aebc938911eab7fb10d626acd42a50d0da7d20 Mon Sep 17 00:00:00 2001 From: tudor Date: Mon, 28 Jul 2025 13:58:31 +0200 Subject: [PATCH 3/6] #737 --- packages/pglite/tests/basic.test.ts | 10 ++++++++++ packages/pglite/tests/plpgsql.test.js | 20 ++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/packages/pglite/tests/basic.test.ts b/packages/pglite/tests/basic.test.ts index 8f58c3881..1b75118df 100644 --- a/packages/pglite/tests/basic.test.ts +++ b/packages/pglite/tests/basic.test.ts @@ -648,5 +648,15 @@ await testEsmCjsAndDTC(async (importType, defaultDataTransferContainer) => { affectedRows: 0, }) }) + it('timezone', async () => { + const db = new PGlite({ + defaultDataTransferContainer, + }) + + const res = await db.query( + `SELECT now(),* FROM pg_timezone_names WHERE name = current_setting('TIMEZONE')`, + ) + expect(res.rows.length).toEqual(1) + }) }) }) diff --git a/packages/pglite/tests/plpgsql.test.js b/packages/pglite/tests/plpgsql.test.js index 5c2276246..7ba4428d3 100644 --- a/packages/pglite/tests/plpgsql.test.js +++ b/packages/pglite/tests/plpgsql.test.js @@ -43,4 +43,24 @@ describe('plpgsql', () => { const res = await db.query('SELECT calculate_factorial(5) AS result;') expect(res.rows[0].result).toBe(120) }) + + it('plpgsql usable after exception', async () => { + const db = await PGlite.create() + + await db.exec(` + CREATE EXTENSION IF NOT EXISTS plpgsql; + CREATE OR REPLACE PROCEDURE raise_exception() LANGUAGE plpgsql AS $$ + BEGIN + RAISE 'exception'; + END; + $$; + `) + + try { + await db.exec('CALL raise_exception();') + } catch (e) { + // expected + expect(e.message).toBe('Dynamic linking error: cannot resolve symbol setTempRet0') + } + }) }) From ee185ec1faee8c5597784cebe74d71416b5630c3 Mon Sep 17 00:00:00 2001 From: tudor Date: Mon, 28 Jul 2025 14:06:04 +0200 Subject: [PATCH 4/6] style --- packages/pglite/tests/plpgsql.test.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/pglite/tests/plpgsql.test.js b/packages/pglite/tests/plpgsql.test.js index 7ba4428d3..86d39c531 100644 --- a/packages/pglite/tests/plpgsql.test.js +++ b/packages/pglite/tests/plpgsql.test.js @@ -60,7 +60,9 @@ describe('plpgsql', () => { await db.exec('CALL raise_exception();') } catch (e) { // expected - expect(e.message).toBe('Dynamic linking error: cannot resolve symbol setTempRet0') + expect(e.message).toBe( + 'Dynamic linking error: cannot resolve symbol setTempRet0', + ) } }) }) From 1bf44be1f86df19a2b09e5efbc7b9190a5f52c63 Mon Sep 17 00:00:00 2001 From: tudor Date: Mon, 28 Jul 2025 15:29:12 +0200 Subject: [PATCH 5/6] update test --- packages/pglite/tests/plpgsql.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/pglite/tests/plpgsql.test.js b/packages/pglite/tests/plpgsql.test.js index 86d39c531..ec7319c9c 100644 --- a/packages/pglite/tests/plpgsql.test.js +++ b/packages/pglite/tests/plpgsql.test.js @@ -61,7 +61,7 @@ describe('plpgsql', () => { } catch (e) { // expected expect(e.message).toBe( - 'Dynamic linking error: cannot resolve symbol setTempRet0', + 'exception', ) } }) From ab9005e785b2569be07e076f54f812bcd0d8dd02 Mon Sep 17 00:00:00 2001 From: tudor Date: Mon, 28 Jul 2025 15:54:31 +0200 Subject: [PATCH 6/6] style --- packages/pglite/tests/plpgsql.test.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/pglite/tests/plpgsql.test.js b/packages/pglite/tests/plpgsql.test.js index ec7319c9c..8633feacb 100644 --- a/packages/pglite/tests/plpgsql.test.js +++ b/packages/pglite/tests/plpgsql.test.js @@ -60,9 +60,7 @@ describe('plpgsql', () => { await db.exec('CALL raise_exception();') } catch (e) { // expected - expect(e.message).toBe( - 'exception', - ) + expect(e.message).toBe('exception') } }) })