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 diff --git a/pglite/pg_textsearch b/pglite/pg_textsearch new file mode 160000 index 0000000000000..5c5147bf2610d --- /dev/null +++ b/pglite/pg_textsearch @@ -0,0 +1 @@ +Subproject commit 5c5147bf2610d786f1bd139951b9fb7fe4ac68fb 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: