diff --git a/.gitmodules b/.gitmodules index a2b2f6b5a7287..e6c2bcb846f22 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,6 +10,10 @@ [submodule "pglite/pg_uuidv7"] path = pglite/pg_uuidv7 url = https://github.com/fboulnois/pg_uuidv7/ +[submodule "pglite/age"] + path = pglite/age + url = https://github.com/apache/age.git + branch = master [submodule "pglite/pg_hashids"] path = pglite/pg_hashids url = https://github.com/iCyberon/pg_hashids diff --git a/pglite-wasm/excluded.pglite.imports b/pglite-wasm/excluded.pglite.imports index e0d801f2348b5..776c442baff52 100644 --- a/pglite-wasm/excluded.pglite.imports +++ b/pglite-wasm/excluded.pglite.imports @@ -15,6 +15,7 @@ invoke_ij invoke_ijj invoke_j invoke_ji +invoke_jii invoke_jiiiii invoke_v invoke_vi diff --git a/pglite-wasm/included.pglite.imports b/pglite-wasm/included.pglite.imports index ad348a8178828..44114a4ed7d3f 100644 --- a/pglite-wasm/included.pglite.imports +++ b/pglite-wasm/included.pglite.imports @@ -85,6 +85,11 @@ strerror_r strftime strlcpy strlen +post_parse_analyze_hook +set_rel_pathlist_hook +ProcessUtility_hook +RegisterExtensibleNodeMethods +object_access_hook strncat strncmp strstr @@ -93,4 +98,4 @@ text_to_cstring text_to_cstring_buffer time tolower -TupleDescGetAttInMetadata \ No newline at end of file +TupleDescGetAttInMetadata diff --git a/pglite/Makefile b/pglite/Makefile index 3d7ad4d6ba209..e27f11c1293f1 100644 --- a/pglite/Makefile +++ b/pglite/Makefile @@ -1,4 +1,3 @@ -# Packages other extensions into individual tar.gz archives top_builddir = .. include $(top_builddir)/src/Makefile.global @@ -8,6 +7,7 @@ SUBDIRS = \ vector \ pgtap \ pg_uuidv7 \ + age \ pg_hashids prefix ?= /install/pglite @@ -30,6 +30,19 @@ dist: $(addsuffix .tar.gz,$(EXTENSIONS)) cd $(EXTENSIONS_BUILD_ROOT)/$*/$(prefix) && \ files=$$(find . -type f -o -type l | sed 's|^\./||') && \ tar -czf $(ARCHIVE_DIR)/$*.tar.gz $$files + +# AGE requires SIZEOF_DATUM=4 for 32-bit WASM compatibility (strips PASSEDBYVALUE from graphid) +age.tar.gz: + @echo "=== Staging age (with 32-bit support) ===" + rm -rf $(EXTENSIONS_BUILD_ROOT)/age + bash -c 'mkdir -p $(EXTENSIONS_BUILD_ROOT)/age/$(prefix)/{bin,lib,share/extension,share/doc,share/postgresql/extension,share/postgresql/tsearch_data,include}' + rm -f age/age--*.sql + $(MAKE) -C age install DESTDIR=$(EXTENSIONS_BUILD_ROOT)/age SIZEOF_DATUM=4 + @echo "=== Packaging age ===" + mkdir -p $(ARCHIVE_DIR) + cd $(EXTENSIONS_BUILD_ROOT)/age/$(prefix) && \ + files=$$(find . -type f -o -type l | sed 's|^\./||') && \ + tar -czf $(ARCHIVE_DIR)/age.tar.gz $$files # tar -C $(EXTENSIONS_BUILD_ROOT)/$*/$(prefix) -czf $(ARCHIVE_DIR)/$*.tar.gz . .PHONY: dist diff --git a/pglite/age b/pglite/age new file mode 160000 index 0000000000000..b29ca5e7d2f84 --- /dev/null +++ b/pglite/age @@ -0,0 +1 @@ +Subproject commit b29ca5e7d2f84cfe2619eea70c4ace2cba41aa0b