diff --git a/Makefile b/Makefile index b3510156a..e956d8517 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ MODULE_big = cstore_fdw PG_CPPFLAGS = -std=c11 OBJS = cstore.o cstore_fdw.o cstore_writer.o cstore_reader.o \ - cstore_compression.o mod.o cstore_metadata_tables.o cstore_tableam.o + cstore_compression.o mod.o cstore_metadata_tables.o EXTENSION = cstore_fdw DATA = cstore_fdw--1.7.sql cstore_fdw--1.6--1.7.sql cstore_fdw--1.5--1.6.sql cstore_fdw--1.4--1.5.sql \ @@ -17,15 +17,22 @@ DATA = cstore_fdw--1.7.sql cstore_fdw--1.6--1.7.sql cstore_fdw--1.5--1.6.sql cs # # disabled tests: am_block_filtering am_analyze am_alter # -REGRESS = extension_create am_create am_load am_query am_data_types am_functions \ - am_drop am_insert am_copyto am_truncate clean \ - fdw_create fdw_load fdw_query fdw_analyze fdw_data_types fdw_functions \ - fdw_block_filtering fdw_drop fdw_insert fdw_copyto fdw_alter fdw_truncate +REGRESS = extension_create EXTRA_CLEAN = cstore.pb-c.h cstore.pb-c.c data/*.cstore data/*.cstore.footer \ sql/block_filtering.sql sql/create.sql sql/data_types.sql sql/load.sql \ sql/copyto.sql expected/block_filtering.out expected/create.out \ expected/data_types.out expected/load.out expected/copyto.out +VER := $(shell pg_config --version) +ifeq ($(findstring 12,$(VER)),12) + REGRESS += am_create am_load am_query am_data_types am_functions \ + am_drop am_insert am_copyto am_truncate clean + OBJS += cstore_tableam.o +endif + +REGRESS += fdw_create fdw_load fdw_query fdw_analyze fdw_data_types fdw_functions \ + fdw_block_filtering fdw_drop fdw_insert fdw_copyto fdw_alter fdw_truncate + ifeq ($(enable_coverage),yes) PG_CPPFLAGS += --coverage SHLIB_LINK += --coverage diff --git a/cstore_fdw--1.7--1.8.sql b/cstore_fdw--1.7--1.8.sql index b1519d73e..8fe9416d1 100644 --- a/cstore_fdw--1.7--1.8.sql +++ b/cstore_fdw--1.7--1.8.sql @@ -1,9 +1,17 @@ /* cstore_fdw/cstore_fdw--1.7--1.8.sql */ -CREATE FUNCTION cstore_tableam_handler(internal) -RETURNS table_am_handler -LANGUAGE C -AS 'MODULE_PATHNAME', 'cstore_tableam_handler'; +DO $proc$ +BEGIN -CREATE ACCESS METHOD cstore_tableam -TYPE TABLE HANDLER cstore_tableam_handler; +IF version() ~ '12' THEN + EXECUTE $$ + CREATE FUNCTION cstore_tableam_handler(internal) + RETURNS table_am_handler + LANGUAGE C + AS 'MODULE_PATHNAME', 'cstore_tableam_handler'; + + CREATE ACCESS METHOD cstore_tableam + TYPE TABLE HANDLER cstore_tableam_handler; + $$; +END IF; +END$proc$;