summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2016-11-12 05:01:48 -0800
committerAndres Freund <andres@anarazel.de>2016-11-12 05:01:48 -0800
commit9be244dbe876038676e92e34d0f9fe55914376d2 (patch)
treee6c6d664cc92d12df8fa444cd907daa7480bc4ae
parent1c1475577623019ff887825b9a804f78ec806344 (diff)
downloadpostgresql-9be244dbe876038676e92e34d0f9fe55914376d2.tar.gz
Add minimal set of regression tests for pg_stat_statements.
While the set of covered functionality is fairly small, the added tests still are useful to get some basic buildfarm testing of pg_stat_statements itself, but also to exercise the lwlock tranch code on the buildfarm. Author: Amit Kapila, slightly editorialized by me Reviewed-By: Ashutosh Sharma, Andres Freund Discussion: <CAA4eK1JOjkdXYtHxh=2aDK4VgDtN-LNGKY_YqX0N=YEvuzQVWg@mail.gmail.com>
-rw-r--r--contrib/pg_stat_statements/Makefile7
-rw-r--r--contrib/pg_stat_statements/expected/pg_stat_statements.out21
-rw-r--r--contrib/pg_stat_statements/pg_stat_statements.conf1
-rw-r--r--contrib/pg_stat_statements/sql/pg_stat_statements.sql15
4 files changed, 44 insertions, 0 deletions
diff --git a/contrib/pg_stat_statements/Makefile b/contrib/pg_stat_statements/Makefile
index ddcdb10b92..f1a45eb17a 100644
--- a/contrib/pg_stat_statements/Makefile
+++ b/contrib/pg_stat_statements/Makefile
@@ -11,6 +11,9 @@ PGFILEDESC = "pg_stat_statements - execution statistics of SQL statements"
LDFLAGS_SL += $(filter -lm, $(LIBS))
+REGRESS_OPTS = --temp-config $(top_srcdir)/contrib/pg_stat_statements/pg_stat_statements.conf
+REGRESS = pg_stat_statements
+
ifdef USE_PGXS
PG_CONFIG = pg_config
PGXS := $(shell $(PG_CONFIG) --pgxs)
@@ -21,3 +24,7 @@ top_builddir = ../..
include $(top_builddir)/src/Makefile.global
include $(top_srcdir)/contrib/contrib-global.mk
endif
+
+# Disabled because these tests require "shared_preload_libraries=pg_stat_statements",
+# which typical installcheck users do not have (e.g. buildfarm clients).
+installcheck: REGRESS=
diff --git a/contrib/pg_stat_statements/expected/pg_stat_statements.out b/contrib/pg_stat_statements/expected/pg_stat_statements.out
new file mode 100644
index 0000000000..3573c19234
--- /dev/null
+++ b/contrib/pg_stat_statements/expected/pg_stat_statements.out
@@ -0,0 +1,21 @@
+CREATE EXTENSION pg_stat_statements;
+CREATE TABLE test (a int, b char(20));
+-- test the basic functionality of pg_stat_statements
+SELECT pg_stat_statements_reset();
+ pg_stat_statements_reset
+--------------------------
+
+(1 row)
+
+INSERT INTO test VALUES(generate_series(1, 10), 'aaa');
+UPDATE test SET b = 'bbb' WHERE a > 5;
+SELECT query, calls, rows from pg_stat_statements ORDER BY rows;
+ query | calls | rows
+----------------------------------------------------+-------+------
+ SELECT pg_stat_statements_reset(); | 1 | 1
+ UPDATE test SET b = ? WHERE a > ?; | 1 | 5
+ INSERT INTO test VALUES(generate_series(?, ?), ?); | 1 | 10
+(3 rows)
+
+DROP TABLE test;
+DROP EXTENSION pg_stat_statements;
diff --git a/contrib/pg_stat_statements/pg_stat_statements.conf b/contrib/pg_stat_statements/pg_stat_statements.conf
new file mode 100644
index 0000000000..13346e2807
--- /dev/null
+++ b/contrib/pg_stat_statements/pg_stat_statements.conf
@@ -0,0 +1 @@
+shared_preload_libraries = 'pg_stat_statements'
diff --git a/contrib/pg_stat_statements/sql/pg_stat_statements.sql b/contrib/pg_stat_statements/sql/pg_stat_statements.sql
new file mode 100644
index 0000000000..7e2b263428
--- /dev/null
+++ b/contrib/pg_stat_statements/sql/pg_stat_statements.sql
@@ -0,0 +1,15 @@
+CREATE EXTENSION pg_stat_statements;
+
+CREATE TABLE test (a int, b char(20));
+
+-- test the basic functionality of pg_stat_statements
+SELECT pg_stat_statements_reset();
+
+INSERT INTO test VALUES(generate_series(1, 10), 'aaa');
+UPDATE test SET b = 'bbb' WHERE a > 5;
+
+SELECT query, calls, rows from pg_stat_statements ORDER BY rows;
+
+DROP TABLE test;
+
+DROP EXTENSION pg_stat_statements;