those ran by 'make installcheck'.
They are limited but have the benefit to at least check that all functions
can be called from SQL and that all code options are covered.
/!\ no test on results quality ( just 'select true from foo(bar);'
MODULES = $(EXTENSION)
DATA = pgfincore.sql uninstall_pgfincore.sql
DOCS = README.rst
+REGRESS = $(EXTENSION)
PG_CONFIG = pg_config
-
PG91 = $(shell $(PG_CONFIG) --version | grep -qE "8\.|9\.0" && echo no || echo yes)
ifeq ($(PG91),yes)
cp $< $@
DATA = pgfincore--unpackaged--$(EXTVERSION).sql pgfincore--$(EXTVERSION).sql
+REGRESS = $(EXTENSION).ext
EXTRA_CLEAN = $(EXTENSION)--$(EXTVERSION).sql
endif
--- /dev/null
+CREATE EXTENSION pgfincore;
+--
+-- test SYSCONF
+--
+select true from pgsysconf();
+ bool
+------
+ t
+(1 row)
+
+select true from pgsysconf_pretty();
+ bool
+------
+ t
+(1 row)
+
+--
+-- make a temp table to use below
+--
+CREATE TEMP TABLE test AS SELECT generate_series(1,256) as a;
+--
+-- this is not perfect testing but it is hard to predict what the OS will do
+-- for *sure*
+--
+--
+-- test fadvise_loader
+--
+select true from pgfadvise_loader('test', 0, true, true, B'1010');
+ bool
+------
+ t
+(1 row)
+
+select true from pgfadvise_loader('test', 0, true, false, B'1010');
+ bool
+------
+ t
+(1 row)
+
+select true from pgfadvise_loader('test', 0, false, true, B'1010');
+ bool
+------
+ t
+(1 row)
+
+select true from pgfadvise_loader('test', 0, false, false, B'1010');
+ bool
+------
+ t
+(1 row)
+
+--
+-- test pgfincore
+--
+select true from pgfincore('test', true);
+ bool
+------
+ t
+(1 row)
+
+select true from pgfincore('test');
+ bool
+------
+ t
+(1 row)
+
+--
+-- test DONTNEED, WILLNEED
+--
+select true from pgfadvise_willneed('test');
+ bool
+------
+ t
+(1 row)
+
+select true from pgfadvise_dontneed('test');
+ bool
+------
+ t
+(1 row)
+
+--
+-- test PGFADVISE flags
+--
+select true from pgfadvise_sequential('test');
+ bool
+------
+ t
+(1 row)
+
+select true from pgfadvise_random('test');
+ bool
+------
+ t
+(1 row)
+
+select true from pgfadvise_normal('test');
+ bool
+------
+ t
+(1 row)
+
--- /dev/null
+SET client_min_messages = warning;
+\set ECHO none
+RESET client_min_messages;
+--
+-- test SYSCONF
+--
+select true from pgsysconf();
+ bool
+------
+ t
+(1 row)
+
+select true from pgsysconf_pretty();
+ bool
+------
+ t
+(1 row)
+
+--
+-- make a temp table to use below
+--
+CREATE TEMP TABLE test AS SELECT generate_series(1,256) as a;
+--
+-- this is not perfect testing but it is hard to predict what the OS will do
+-- for *sure*
+--
+--
+-- test fadvise_loader
+--
+select true from pgfadvise_loader('test', 0, true, true, B'1010');
+ bool
+------
+ t
+(1 row)
+
+select true from pgfadvise_loader('test', 0, true, false, B'1010');
+ bool
+------
+ t
+(1 row)
+
+select true from pgfadvise_loader('test', 0, false, true, B'1010');
+ bool
+------
+ t
+(1 row)
+
+select true from pgfadvise_loader('test', 0, false, false, B'1010');
+ bool
+------
+ t
+(1 row)
+
+--
+-- test pgfincore
+--
+select true from pgfincore('test', true);
+ bool
+------
+ t
+(1 row)
+
+select true from pgfincore('test');
+ bool
+------
+ t
+(1 row)
+
+--
+-- test DONTNEED, WILLNEED
+--
+select true from pgfadvise_willneed('test');
+ bool
+------
+ t
+(1 row)
+
+select true from pgfadvise_dontneed('test');
+ bool
+------
+ t
+(1 row)
+
+--
+-- test PGFADVISE flags
+--
+select true from pgfadvise_sequential('test');
+ bool
+------
+ t
+(1 row)
+
+select true from pgfadvise_random('test');
+ bool
+------
+ t
+(1 row)
+
+select true from pgfadvise_normal('test');
+ bool
+------
+ t
+(1 row)
+
--- /dev/null
+SET client_min_messages = warning;
+\set ECHO none
+RESET client_min_messages;
+--
+-- test SYSCONF
+--
+select true from pgsysconf();
+ bool
+------
+ t
+(1 row)
+
+select true from pgsysconf_pretty();
+ bool
+------
+ t
+(1 row)
+
+--
+-- make a temp table to use below
+--
+CREATE TEMP TABLE test AS SELECT generate_series(1,256) as a;
+--
+-- this is not perfect testing but it is hard to predict what the OS will do
+-- for *sure*
+--
+--
+-- test fadvise_loader
+--
+select true from pgfadvise_loader('test', 0, true, true, B'1010');
+ERROR: POSIX_FADVISE UNSUPPORTED on your platform
+CONTEXT: SQL function "pgfadvise_loader" statement 1
+select true from pgfadvise_loader('test', 0, true, false, B'1010');
+ERROR: POSIX_FADVISE UNSUPPORTED on your platform
+CONTEXT: SQL function "pgfadvise_loader" statement 1
+select true from pgfadvise_loader('test', 0, false, true, B'1010');
+ERROR: POSIX_FADVISE UNSUPPORTED on your platform
+CONTEXT: SQL function "pgfadvise_loader" statement 1
+select true from pgfadvise_loader('test', 0, false, false, B'1010');
+ERROR: POSIX_FADVISE UNSUPPORTED on your platform
+CONTEXT: SQL function "pgfadvise_loader" statement 1
+--
+-- test pgfincore
+--
+select true from pgfincore('test', true);
+ bool
+------
+ t
+(1 row)
+
+select true from pgfincore('test');
+ bool
+------
+ t
+(1 row)
+
+--
+-- test DONTNEED, WILLNEED
+--
+select true from pgfadvise_willneed('test');
+ERROR: POSIX_FADVISE UNSUPPORTED on your platform
+CONTEXT: SQL function "pgfadvise_willneed" statement 1
+select true from pgfadvise_dontneed('test');
+ERROR: POSIX_FADVISE UNSUPPORTED on your platform
+CONTEXT: SQL function "pgfadvise_dontneed" statement 1
+--
+-- test PGFADVISE flags
+--
+select true from pgfadvise_sequential('test');
+ERROR: POSIX_FADVISE UNSUPPORTED on your platform
+CONTEXT: SQL function "pgfadvise_sequential" statement 1
+select true from pgfadvise_random('test');
+ERROR: POSIX_FADVISE UNSUPPORTED on your platform
+CONTEXT: SQL function "pgfadvise_random" statement 1
+select true from pgfadvise_normal('test');
+ERROR: POSIX_FADVISE UNSUPPORTED on your platform
+CONTEXT: SQL function "pgfadvise_normal" statement 1
--- /dev/null
+CREATE EXTENSION pgfincore;
+
+--
+-- test SYSCONF
+--
+select true from pgsysconf();
+select true from pgsysconf_pretty();
+
+--
+-- make a temp table to use below
+--
+CREATE TEMP TABLE test AS SELECT generate_series(1,256) as a;
+
+--
+-- this is not perfect testing but it is hard to predict what the OS will do
+-- for *sure*
+--
+
+--
+-- test fadvise_loader
+--
+select true from pgfadvise_loader('test', 0, true, true, B'1010');
+select true from pgfadvise_loader('test', 0, true, false, B'1010');
+select true from pgfadvise_loader('test', 0, false, true, B'1010');
+select true from pgfadvise_loader('test', 0, false, false, B'1010');
+
+--
+-- test pgfincore
+--
+select true from pgfincore('test', true);
+select true from pgfincore('test');
+
+--
+-- test DONTNEED, WILLNEED
+--
+select true from pgfadvise_willneed('test');
+select true from pgfadvise_dontneed('test');
+
+--
+-- test PGFADVISE flags
+--
+select true from pgfadvise_sequential('test');
+select true from pgfadvise_random('test');
+select true from pgfadvise_normal('test');
+
--- /dev/null
+SET client_min_messages = warning;
+\set ECHO none
+\i pgfincore.sql
+\set ECHO all
+RESET client_min_messages;
+
+--
+-- test SYSCONF
+--
+select true from pgsysconf();
+select true from pgsysconf_pretty();
+
+--
+-- make a temp table to use below
+--
+CREATE TEMP TABLE test AS SELECT generate_series(1,256) as a;
+
+--
+-- this is not perfect testing but it is hard to predict what the OS will do
+-- for *sure*
+--
+
+--
+-- test fadvise_loader
+--
+select true from pgfadvise_loader('test', 0, true, true, B'1010');
+select true from pgfadvise_loader('test', 0, true, false, B'1010');
+select true from pgfadvise_loader('test', 0, false, true, B'1010');
+select true from pgfadvise_loader('test', 0, false, false, B'1010');
+
+--
+-- test pgfincore
+--
+select true from pgfincore('test', true);
+select true from pgfincore('test');
+
+--
+-- test DONTNEED, WILLNEED
+--
+select true from pgfadvise_willneed('test');
+select true from pgfadvise_dontneed('test');
+
+--
+-- test PGFADVISE flags
+--
+select true from pgfadvise_sequential('test');
+select true from pgfadvise_random('test');
+select true from pgfadvise_normal('test');
+