From 347f21b6c9d2835a9e7001b0e29e33dd8bf35f64 Mon Sep 17 00:00:00 2001 From: tudor Date: Sun, 11 Jan 2026 14:40:17 +0100 Subject: [PATCH 1/4] backend impl of pg_searchtext --- .gitmodules | 3 +++ pglite-wasm/excluded.pglite.imports | 3 ++- pglite/Makefile | 3 ++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index a2b2f6b5a7287..bcb7ce0ea2cc8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -13,3 +13,6 @@ [submodule "pglite/pg_hashids"] path = pglite/pg_hashids url = https://github.com/iCyberon/pg_hashids +[submodule "pglite/pg_textsearch"] + path = pglite/pg_textsearch + url = https://github.com/timescale/pg_textsearch.git diff --git a/pglite-wasm/excluded.pglite.imports b/pglite-wasm/excluded.pglite.imports index e0d801f2348b5..10b344db2f63c 100644 --- a/pglite-wasm/excluded.pglite.imports +++ b/pglite-wasm/excluded.pglite.imports @@ -2,7 +2,9 @@ __indirect_function_table invoke_di invoke_didi invoke_dii +invoke_fii invoke_i +invoke_id invoke_ii invoke_iii invoke_iiii @@ -24,7 +26,6 @@ invoke_viiidi invoke_viiii invoke_viiiii invoke_viiiiii -invoke_viiiiii invoke_viiiiiiii invoke_viiiiiiiii invoke_viiji diff --git a/pglite/Makefile b/pglite/Makefile index 3d7ad4d6ba209..341b77f59b99a 100644 --- a/pglite/Makefile +++ b/pglite/Makefile @@ -8,7 +8,8 @@ SUBDIRS = \ vector \ pgtap \ pg_uuidv7 \ - pg_hashids + pg_hashids \ + pg_textsearch prefix ?= /install/pglite EXTENSIONS_BUILD_ROOT := /tmp/extensions/build From fa352bd4c2a97abc957684ad553d1c00ae849a6f Mon Sep 17 00:00:00 2001 From: tudor Date: Sun, 11 Jan 2026 15:10:04 +0100 Subject: [PATCH 2/4] pg_textsearch submodule again --- pglite/pg_textsearch | 1 + 1 file changed, 1 insertion(+) create mode 160000 pglite/pg_textsearch diff --git a/pglite/pg_textsearch b/pglite/pg_textsearch new file mode 160000 index 0000000000000..f76000c4eb641 --- /dev/null +++ b/pglite/pg_textsearch @@ -0,0 +1 @@ +Subproject commit f76000c4eb641bd4f0adeb8023d3f892be64c90c From 9d038fc8e3e30705657837d297b4fe9bb6324bd8 Mon Sep 17 00:00:00 2001 From: tudor Date: Fri, 27 Feb 2026 09:16:59 +0100 Subject: [PATCH 3/4] upgrade pg_textsearch version to v0.5.1 --- pglite/pg_textsearch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pglite/pg_textsearch b/pglite/pg_textsearch index f76000c4eb641..5c5147bf2610d 160000 --- a/pglite/pg_textsearch +++ b/pglite/pg_textsearch @@ -1 +1 @@ -Subproject commit f76000c4eb641bd4f0adeb8023d3f892be64c90c +Subproject commit 5c5147bf2610d786f1bd139951b9fb7fe4ac68fb From 4b4b764d977305f353c0ecb1f6bb88355a4d4087 Mon Sep 17 00:00:00 2001 From: tudor Date: Tue, 10 Mar 2026 15:47:05 +0100 Subject: [PATCH 4/4] Allow other pg tools to use the same script as entry point --- src/bin/pg_config/Makefile | 2 +- src/bin/pg_config/run_pg_config.mjs | 12 ------------ src/bin/pg_config/run_pg_script.mjs | 23 +++++++++++++++++++++++ src/bin/pg_ctl/Makefile | 3 +++ 4 files changed, 27 insertions(+), 13 deletions(-) delete mode 100644 src/bin/pg_config/run_pg_config.mjs create mode 100755 src/bin/pg_config/run_pg_script.mjs diff --git a/src/bin/pg_config/Makefile b/src/bin/pg_config/Makefile index 41c0119270d9d..f507541e70811 100644 --- a/src/bin/pg_config/Makefile +++ b/src/bin/pg_config/Makefile @@ -40,7 +40,7 @@ ifeq ($(PORTNAME), emscripten) $(INSTALL_PROGRAM) pg_config.wasm '$(DESTDIR)$(bindir)/pg_config.wasm' $(INSTALL_PROGRAM) pg_config$(X) '$(DESTDIR)$(bindir)/pg_config.mjs' $(INSTALL_PROGRAM) run_pg_config.mjs '$(DESTDIR)$(bindir)/run_pg_config.mjs' - ln -sf '$(DESTDIR)$(bindir)/run_pg_config.mjs' '$(DESTDIR)$(bindir)/pg_config' + ln -sf 'run_pg_config.mjs' '$(DESTDIR)$(bindir)/pg_config' endif installdirs: diff --git a/src/bin/pg_config/run_pg_config.mjs b/src/bin/pg_config/run_pg_config.mjs deleted file mode 100644 index ae1dd000b1be3..0000000000000 --- a/src/bin/pg_config/run_pg_config.mjs +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env node -import Module from "./pg_config.mjs"; - -// If the module has a `main()` (or similar) method, call it: -if (typeof Module.main === "function") { - await Module.main(); -} else if (typeof Module === "function") { - // If it's a callable function/class, instantiate or run it - await Module(); -} else { - console.error("⚠️ Module has no callable entry point"); -} diff --git a/src/bin/pg_config/run_pg_script.mjs b/src/bin/pg_config/run_pg_script.mjs new file mode 100755 index 0000000000000..4b40ca2af0a91 --- /dev/null +++ b/src/bin/pg_config/run_pg_script.mjs @@ -0,0 +1,23 @@ +#!/usr/bin/env node +import { basename, dirname, join } from "path"; + +const invokedPath = process.argv[1]; +const invokedName = basename(invokedPath).replace(/\.mjs$/, ""); + +if (invokedName.startsWith("run_")) { + console.error("This script should be invoked via a symlink (e.g., pg_config, pg_ctl)"); + process.exit(1); +} + +const moduleName = invokedName + ".mjs"; +const modulePath = join(dirname(invokedPath), moduleName); + +const { default: Module } = await import(modulePath); + +if (typeof Module.main === "function") { + await Module.main(); +} else if (typeof Module === "function") { + await Module(); +} else { + console.error("⚠️ Module has no callable entry point"); +} diff --git a/src/bin/pg_ctl/Makefile b/src/bin/pg_ctl/Makefile index 514cd8cf032f9..25fe7bd0018d1 100644 --- a/src/bin/pg_ctl/Makefile +++ b/src/bin/pg_ctl/Makefile @@ -37,6 +37,8 @@ install: all installdirs $(INSTALL_PROGRAM) pg_ctl$(X) '$(DESTDIR)$(bindir)/pg_ctl$(X)' ifeq ($(PORTNAME), emscripten) $(INSTALL_PROGRAM) pg_ctl.wasm '$(DESTDIR)$(bindir)/pg_ctl.wasm' + $(INSTALL_PROGRAM) pg_ctl$(X) '$(DESTDIR)$(bindir)/pg_ctl.mjs' + ln -sf '$(DESTDIR)$(bindir)/run_pg_config.mjs' '$(DESTDIR)$(bindir)/pg_ctl' endif installdirs: @@ -46,6 +48,7 @@ uninstall: rm -f '$(DESTDIR)$(bindir)/pg_ctl$(X)' ifeq ($(PORTNAME), emscripten) rm -f '$(DESTDIR)$(bindir)/pg_ctl.wasm' + rm -f '$(DESTDIR)$(bindir)/pg_ctl' endif clean distclean: