summaryrefslogtreecommitdiff
path: root/contrib/btree_gin
diff options
context:
space:
mode:
authorTom Lane2011-02-14 01:06:41 +0000
committerTom Lane2011-02-14 03:54:49 +0000
commit629b3af27d5c2bc9d6e16b22b943ad651d4ecb56 (patch)
treeeae9ef9a69ae6ad7aacb2428e3cf15ec77873ac5 /contrib/btree_gin
parente693e97d754ed6812ea115170afeae4bf8797d3f (diff)
Convert contrib modules to use the extension facility.
This isn't fully tested as yet, in particular I'm not sure that the "foo--unpackaged--1.0.sql" scripts are OK. But it's time to get some buildfarm cycles on it. sepgsql is not converted to an extension, mainly because it seems to require a very nonstandard installation process. Dimitri Fontaine and Tom Lane
Diffstat (limited to 'contrib/btree_gin')
-rw-r--r--contrib/btree_gin/.gitignore1
-rw-r--r--contrib/btree_gin/Makefile5
-rw-r--r--contrib/btree_gin/btree_gin--1.0.sql (renamed from contrib/btree_gin/btree_gin.sql.in)5
-rw-r--r--contrib/btree_gin/btree_gin--unpackaged--1.0.sql116
-rw-r--r--contrib/btree_gin/btree_gin.control5
-rw-r--r--contrib/btree_gin/expected/install_btree_gin.out4
-rw-r--r--contrib/btree_gin/sql/install_btree_gin.sql6
-rw-r--r--contrib/btree_gin/uninstall_btree_gin.sql98
8 files changed, 127 insertions, 113 deletions
diff --git a/contrib/btree_gin/.gitignore b/contrib/btree_gin/.gitignore
index 7cebcf00f84..19b6c5ba425 100644
--- a/contrib/btree_gin/.gitignore
+++ b/contrib/btree_gin/.gitignore
@@ -1,3 +1,2 @@
-/btree_gin.sql
# Generated subdirectories
/results/
diff --git a/contrib/btree_gin/Makefile b/contrib/btree_gin/Makefile
index 8bc53f72daa..09fd3e6e11d 100644
--- a/contrib/btree_gin/Makefile
+++ b/contrib/btree_gin/Makefile
@@ -3,8 +3,9 @@
MODULE_big = btree_gin
OBJS = btree_gin.o
-DATA_built = btree_gin.sql
-DATA = uninstall_btree_gin.sql
+EXTENSION = btree_gin
+DATA = btree_gin--1.0.sql btree_gin--unpackaged--1.0.sql
+
REGRESS = install_btree_gin int2 int4 int8 float4 float8 money oid \
timestamp timestamptz time timetz date interval \
macaddr inet cidr text varchar char bytea bit varbit \
diff --git a/contrib/btree_gin/btree_gin.sql.in b/contrib/btree_gin/btree_gin--1.0.sql
index 19cc0b3df4f..08bbff721fb 100644
--- a/contrib/btree_gin/btree_gin.sql.in
+++ b/contrib/btree_gin/btree_gin--1.0.sql
@@ -1,7 +1,4 @@
-/* contrib/btree_gin/btree_gin.sql.in */
-
--- Adjust this setting to control where the objects get created.
-SET search_path = public;
+/* contrib/btree_gin/btree_gin--1.0.sql */
CREATE OR REPLACE FUNCTION gin_btree_consistent(internal, int2, anyelement, int4, internal, internal)
RETURNS bool
diff --git a/contrib/btree_gin/btree_gin--unpackaged--1.0.sql b/contrib/btree_gin/btree_gin--unpackaged--1.0.sql
new file mode 100644
index 00000000000..fe1ddeab878
--- /dev/null
+++ b/contrib/btree_gin/btree_gin--unpackaged--1.0.sql
@@ -0,0 +1,116 @@
+/* contrib/btree_gin/btree_gin--unpackaged--1.0.sql */
+
+ALTER EXTENSION btree_gin ADD function gin_btree_consistent(internal,smallint,anyelement,integer,internal,internal);
+ALTER EXTENSION btree_gin ADD function gin_extract_value_int2(smallint,internal);
+ALTER EXTENSION btree_gin ADD function gin_compare_prefix_int2(smallint,smallint,smallint,internal);
+ALTER EXTENSION btree_gin ADD function gin_extract_query_int2(smallint,internal,smallint,internal,internal);
+ALTER EXTENSION btree_gin ADD operator family int2_ops using gin;
+ALTER EXTENSION btree_gin ADD operator class int2_ops using gin;
+ALTER EXTENSION btree_gin ADD function gin_extract_value_int4(integer,internal);
+ALTER EXTENSION btree_gin ADD function gin_compare_prefix_int4(integer,integer,smallint,internal);
+ALTER EXTENSION btree_gin ADD function gin_extract_query_int4(integer,internal,smallint,internal,internal);
+ALTER EXTENSION btree_gin ADD operator family int4_ops using gin;
+ALTER EXTENSION btree_gin ADD operator class int4_ops using gin;
+ALTER EXTENSION btree_gin ADD function gin_extract_value_int8(bigint,internal);
+ALTER EXTENSION btree_gin ADD function gin_compare_prefix_int8(bigint,bigint,smallint,internal);
+ALTER EXTENSION btree_gin ADD function gin_extract_query_int8(bigint,internal,smallint,internal,internal);
+ALTER EXTENSION btree_gin ADD operator family int8_ops using gin;
+ALTER EXTENSION btree_gin ADD operator class int8_ops using gin;
+ALTER EXTENSION btree_gin ADD function gin_extract_value_float4(real,internal);
+ALTER EXTENSION btree_gin ADD function gin_compare_prefix_float4(real,real,smallint,internal);
+ALTER EXTENSION btree_gin ADD function gin_extract_query_float4(real,internal,smallint,internal,internal);
+ALTER EXTENSION btree_gin ADD operator family float4_ops using gin;
+ALTER EXTENSION btree_gin ADD operator class float4_ops using gin;
+ALTER EXTENSION btree_gin ADD function gin_extract_value_float8(double precision,internal);
+ALTER EXTENSION btree_gin ADD function gin_compare_prefix_float8(double precision,double precision,smallint,internal);
+ALTER EXTENSION btree_gin ADD function gin_extract_query_float8(double precision,internal,smallint,internal,internal);
+ALTER EXTENSION btree_gin ADD operator family float8_ops using gin;
+ALTER EXTENSION btree_gin ADD operator class float8_ops using gin;
+ALTER EXTENSION btree_gin ADD function gin_extract_value_money(money,internal);
+ALTER EXTENSION btree_gin ADD function gin_compare_prefix_money(money,money,smallint,internal);
+ALTER EXTENSION btree_gin ADD function gin_extract_query_money(money,internal,smallint,internal,internal);
+ALTER EXTENSION btree_gin ADD operator family money_ops using gin;
+ALTER EXTENSION btree_gin ADD operator class money_ops using gin;
+ALTER EXTENSION btree_gin ADD function gin_extract_value_oid(oid,internal);
+ALTER EXTENSION btree_gin ADD function gin_compare_prefix_oid(oid,oid,smallint,internal);
+ALTER EXTENSION btree_gin ADD function gin_extract_query_oid(oid,internal,smallint,internal,internal);
+ALTER EXTENSION btree_gin ADD operator family oid_ops using gin;
+ALTER EXTENSION btree_gin ADD operator class oid_ops using gin;
+ALTER EXTENSION btree_gin ADD function gin_extract_value_timestamp(timestamp without time zone,internal);
+ALTER EXTENSION btree_gin ADD function gin_compare_prefix_timestamp(timestamp without time zone,timestamp without time zone,smallint,internal);
+ALTER EXTENSION btree_gin ADD function gin_extract_query_timestamp(timestamp without time zone,internal,smallint,internal,internal);
+ALTER EXTENSION btree_gin ADD operator family timestamp_ops using gin;
+ALTER EXTENSION btree_gin ADD operator class timestamp_ops using gin;
+ALTER EXTENSION btree_gin ADD function gin_extract_value_timestamptz(timestamp with time zone,internal);
+ALTER EXTENSION btree_gin ADD function gin_compare_prefix_timestamptz(timestamp with time zone,timestamp with time zone,smallint,internal);
+ALTER EXTENSION btree_gin ADD function gin_extract_query_timestamptz(timestamp with time zone,internal,smallint,internal,internal);
+ALTER EXTENSION btree_gin ADD operator family timestamptz_ops using gin;
+ALTER EXTENSION btree_gin ADD operator class timestamptz_ops using gin;
+ALTER EXTENSION btree_gin ADD function gin_extract_value_time(time without time zone,internal);
+ALTER EXTENSION btree_gin ADD function gin_compare_prefix_time(time without time zone,time without time zone,smallint,internal);
+ALTER EXTENSION btree_gin ADD function gin_extract_query_time(time without time zone,internal,smallint,internal,internal);
+ALTER EXTENSION btree_gin ADD operator family time_ops using gin;
+ALTER EXTENSION btree_gin ADD operator class time_ops using gin;
+ALTER EXTENSION btree_gin ADD function gin_extract_value_timetz(time with time zone,internal);
+ALTER EXTENSION btree_gin ADD function gin_compare_prefix_timetz(time with time zone,time with time zone,smallint,internal);
+ALTER EXTENSION btree_gin ADD function gin_extract_query_timetz(time with time zone,internal,smallint,internal,internal);
+ALTER EXTENSION btree_gin ADD operator family timetz_ops using gin;
+ALTER EXTENSION btree_gin ADD operator class timetz_ops using gin;
+ALTER EXTENSION btree_gin ADD function gin_extract_value_date(date,internal);
+ALTER EXTENSION btree_gin ADD function gin_compare_prefix_date(date,date,smallint,internal);
+ALTER EXTENSION btree_gin ADD function gin_extract_query_date(date,internal,smallint,internal,internal);
+ALTER EXTENSION btree_gin ADD operator family date_ops using gin;
+ALTER EXTENSION btree_gin ADD operator class date_ops using gin;
+ALTER EXTENSION btree_gin ADD function gin_extract_value_interval(interval,internal);
+ALTER EXTENSION btree_gin ADD function gin_compare_prefix_interval(interval,interval,smallint,internal);
+ALTER EXTENSION btree_gin ADD function gin_extract_query_interval(interval,internal,smallint,internal,internal);
+ALTER EXTENSION btree_gin ADD operator family interval_ops using gin;
+ALTER EXTENSION btree_gin ADD operator class interval_ops using gin;
+ALTER EXTENSION btree_gin ADD function gin_extract_value_macaddr(macaddr,internal);
+ALTER EXTENSION btree_gin ADD function gin_compare_prefix_macaddr(macaddr,macaddr,smallint,internal);
+ALTER EXTENSION btree_gin ADD function gin_extract_query_macaddr(macaddr,internal,smallint,internal,internal);
+ALTER EXTENSION btree_gin ADD operator family macaddr_ops using gin;
+ALTER EXTENSION btree_gin ADD operator class macaddr_ops using gin;
+ALTER EXTENSION btree_gin ADD function gin_extract_value_inet(inet,internal);
+ALTER EXTENSION btree_gin ADD function gin_compare_prefix_inet(inet,inet,smallint,internal);
+ALTER EXTENSION btree_gin ADD function gin_extract_query_inet(inet,internal,smallint,internal,internal);
+ALTER EXTENSION btree_gin ADD operator family inet_ops using gin;
+ALTER EXTENSION btree_gin ADD operator class inet_ops using gin;
+ALTER EXTENSION btree_gin ADD function gin_extract_value_cidr(cidr,internal);
+ALTER EXTENSION btree_gin ADD function gin_compare_prefix_cidr(cidr,cidr,smallint,internal);
+ALTER EXTENSION btree_gin ADD function gin_extract_query_cidr(cidr,internal,smallint,internal,internal);
+ALTER EXTENSION btree_gin ADD operator family cidr_ops using gin;
+ALTER EXTENSION btree_gin ADD operator class cidr_ops using gin;
+ALTER EXTENSION btree_gin ADD function gin_extract_value_text(text,internal);
+ALTER EXTENSION btree_gin ADD function gin_compare_prefix_text(text,text,smallint,internal);
+ALTER EXTENSION btree_gin ADD function gin_extract_query_text(text,internal,smallint,internal,internal);
+ALTER EXTENSION btree_gin ADD operator family text_ops using gin;
+ALTER EXTENSION btree_gin ADD operator class text_ops using gin;
+ALTER EXTENSION btree_gin ADD operator family varchar_ops using gin;
+ALTER EXTENSION btree_gin ADD operator class varchar_ops using gin;
+ALTER EXTENSION btree_gin ADD function gin_extract_value_char("char",internal);
+ALTER EXTENSION btree_gin ADD function gin_compare_prefix_char("char","char",smallint,internal);
+ALTER EXTENSION btree_gin ADD function gin_extract_query_char("char",internal,smallint,internal,internal);
+ALTER EXTENSION btree_gin ADD operator family char_ops using gin;
+ALTER EXTENSION btree_gin ADD operator class char_ops using gin;
+ALTER EXTENSION btree_gin ADD function gin_extract_value_bytea(bytea,internal);
+ALTER EXTENSION btree_gin ADD function gin_compare_prefix_bytea(bytea,bytea,smallint,internal);
+ALTER EXTENSION btree_gin ADD function gin_extract_query_bytea(bytea,internal,smallint,internal,internal);
+ALTER EXTENSION btree_gin ADD operator family bytea_ops using gin;
+ALTER EXTENSION btree_gin ADD operator class bytea_ops using gin;
+ALTER EXTENSION btree_gin ADD function gin_extract_value_bit(bit,internal);
+ALTER EXTENSION btree_gin ADD function gin_compare_prefix_bit(bit,bit,smallint,internal);
+ALTER EXTENSION btree_gin ADD function gin_extract_query_bit(bit,internal,smallint,internal,internal);
+ALTER EXTENSION btree_gin ADD operator family bit_ops using gin;
+ALTER EXTENSION btree_gin ADD operator class bit_ops using gin;
+ALTER EXTENSION btree_gin ADD function gin_extract_value_varbit(bit varying,internal);
+ALTER EXTENSION btree_gin ADD function gin_compare_prefix_varbit(bit varying,bit varying,smallint,internal);
+ALTER EXTENSION btree_gin ADD function gin_extract_query_varbit(bit varying,internal,smallint,internal,internal);
+ALTER EXTENSION btree_gin ADD operator family varbit_ops using gin;
+ALTER EXTENSION btree_gin ADD operator class varbit_ops using gin;
+ALTER EXTENSION btree_gin ADD function gin_extract_value_numeric(numeric,internal);
+ALTER EXTENSION btree_gin ADD function gin_compare_prefix_numeric(numeric,numeric,smallint,internal);
+ALTER EXTENSION btree_gin ADD function gin_extract_query_numeric(numeric,internal,smallint,internal,internal);
+ALTER EXTENSION btree_gin ADD function gin_numeric_cmp(numeric,numeric);
+ALTER EXTENSION btree_gin ADD operator family numeric_ops using gin;
+ALTER EXTENSION btree_gin ADD operator class numeric_ops using gin;
diff --git a/contrib/btree_gin/btree_gin.control b/contrib/btree_gin/btree_gin.control
new file mode 100644
index 00000000000..3b2cb2d709d
--- /dev/null
+++ b/contrib/btree_gin/btree_gin.control
@@ -0,0 +1,5 @@
+# btree_gin extension
+comment = 'support for indexing common datatypes in GIN'
+default_version = '1.0'
+module_pathname = '$libdir/btree_gin'
+relocatable = true
diff --git a/contrib/btree_gin/expected/install_btree_gin.out b/contrib/btree_gin/expected/install_btree_gin.out
index 43f11fa263c..0fae4c5bfe0 100644
--- a/contrib/btree_gin/expected/install_btree_gin.out
+++ b/contrib/btree_gin/expected/install_btree_gin.out
@@ -1,3 +1 @@
-SET client_min_messages = warning;
-\set ECHO none
-RESET client_min_messages;
+CREATE EXTENSION btree_gin;
diff --git a/contrib/btree_gin/sql/install_btree_gin.sql b/contrib/btree_gin/sql/install_btree_gin.sql
index f54c8b4a0f3..0fae4c5bfe0 100644
--- a/contrib/btree_gin/sql/install_btree_gin.sql
+++ b/contrib/btree_gin/sql/install_btree_gin.sql
@@ -1,5 +1 @@
-SET client_min_messages = warning;
-\set ECHO none
-\i btree_gin.sql
-\set ECHO all
-RESET client_min_messages;
+CREATE EXTENSION btree_gin;
diff --git a/contrib/btree_gin/uninstall_btree_gin.sql b/contrib/btree_gin/uninstall_btree_gin.sql
deleted file mode 100644
index 30324dc709d..00000000000
--- a/contrib/btree_gin/uninstall_btree_gin.sql
+++ /dev/null
@@ -1,98 +0,0 @@
-/* contrib/btree_gin/uninstall_btree_gin.sql */
-
--- Adjust this setting to control where the objects get dropped.
-SET search_path = public;
-
-DROP OPERATOR FAMILY int2_ops USING gin CASCADE;
-DROP OPERATOR FAMILY int4_ops USING gin CASCADE;
-DROP OPERATOR FAMILY int8_ops USING gin CASCADE;
-DROP OPERATOR FAMILY float4_ops USING gin CASCADE;
-DROP OPERATOR FAMILY float8_ops USING gin CASCADE;
-DROP OPERATOR FAMILY money_ops USING gin CASCADE;
-DROP OPERATOR FAMILY oid_ops USING gin CASCADE;
-DROP OPERATOR FAMILY timestamp_ops USING gin CASCADE;
-DROP OPERATOR FAMILY timestamptz_ops USING gin CASCADE;
-DROP OPERATOR FAMILY time_ops USING gin CASCADE;
-DROP OPERATOR FAMILY timetz_ops USING gin CASCADE;
-DROP OPERATOR FAMILY date_ops USING gin CASCADE;
-DROP OPERATOR FAMILY interval_ops USING gin CASCADE;
-DROP OPERATOR FAMILY macaddr_ops USING gin CASCADE;
-DROP OPERATOR FAMILY inet_ops USING gin CASCADE;
-DROP OPERATOR FAMILY cidr_ops USING gin CASCADE;
-DROP OPERATOR FAMILY text_ops USING gin CASCADE;
-DROP OPERATOR FAMILY varchar_ops USING gin CASCADE;
-DROP OPERATOR FAMILY char_ops USING gin CASCADE;
-DROP OPERATOR FAMILY bytea_ops USING gin CASCADE;
-DROP OPERATOR FAMILY bit_ops USING gin CASCADE;
-DROP OPERATOR FAMILY varbit_ops USING gin CASCADE;
-DROP OPERATOR FAMILY numeric_ops USING gin CASCADE;
-
-DROP FUNCTION gin_btree_consistent(internal, int2, anyelement, int4, internal, internal);
-
-DROP FUNCTION gin_extract_value_int2(int2, internal);
-DROP FUNCTION gin_compare_prefix_int2(int2, int2, int2, internal);
-DROP FUNCTION gin_extract_query_int2(int2, internal, int2, internal, internal);
-DROP FUNCTION gin_extract_value_int4(int4, internal);
-DROP FUNCTION gin_compare_prefix_int4(int4, int4, int2, internal);
-DROP FUNCTION gin_extract_query_int4(int4, internal, int2, internal, internal);
-DROP FUNCTION gin_extract_value_int8(int8, internal);
-DROP FUNCTION gin_compare_prefix_int8(int8, int8, int2, internal);
-DROP FUNCTION gin_extract_query_int8(int8, internal, int2, internal, internal);
-DROP FUNCTION gin_extract_value_float4(float4, internal);
-DROP FUNCTION gin_compare_prefix_float4(float4, float4, int2, internal);
-DROP FUNCTION gin_extract_query_float4(float4, internal, int2, internal, internal);
-DROP FUNCTION gin_extract_value_float8(float8, internal);
-DROP FUNCTION gin_compare_prefix_float8(float8, float8, int2, internal);
-DROP FUNCTION gin_extract_query_float8(float8, internal, int2, internal, internal);
-DROP FUNCTION gin_extract_value_money(money, internal);
-DROP FUNCTION gin_compare_prefix_money(money, money, int2, internal);
-DROP FUNCTION gin_extract_query_money(money, internal, int2, internal, internal);
-DROP FUNCTION gin_extract_value_oid(oid, internal);
-DROP FUNCTION gin_compare_prefix_oid(oid, oid, int2, internal);
-DROP FUNCTION gin_extract_query_oid(oid, internal, int2, internal, internal);
-DROP FUNCTION gin_extract_value_timestamp(timestamp, internal);
-DROP FUNCTION gin_compare_prefix_timestamp(timestamp, timestamp, int2, internal);
-DROP FUNCTION gin_extract_query_timestamp(timestamp, internal, int2, internal, internal);
-DROP FUNCTION gin_extract_value_timestamptz(timestamptz, internal);
-DROP FUNCTION gin_compare_prefix_timestamptz(timestamptz, timestamptz, int2, internal);
-DROP FUNCTION gin_extract_query_timestamptz(timestamptz, internal, int2, internal, internal);
-DROP FUNCTION gin_extract_value_time(time, internal);
-DROP FUNCTION gin_compare_prefix_time(time, time, int2, internal);
-DROP FUNCTION gin_extract_query_time(time, internal, int2, internal, internal);
-DROP FUNCTION gin_extract_value_timetz(timetz, internal);
-DROP FUNCTION gin_compare_prefix_timetz(timetz, timetz, int2, internal);
-DROP FUNCTION gin_extract_query_timetz(timetz, internal, int2, internal, internal);
-DROP FUNCTION gin_extract_value_date(date, internal);
-DROP FUNCTION gin_compare_prefix_date(date, date, int2, internal);
-DROP FUNCTION gin_extract_query_date(date, internal, int2, internal, internal);
-DROP FUNCTION gin_extract_value_interval(interval, internal);
-DROP FUNCTION gin_compare_prefix_interval(interval, interval, int2, internal);
-DROP FUNCTION gin_extract_query_interval(interval, internal, int2, internal, internal);
-DROP FUNCTION gin_extract_value_macaddr(macaddr, internal);
-DROP FUNCTION gin_compare_prefix_macaddr(macaddr, macaddr, int2, internal);
-DROP FUNCTION gin_extract_query_macaddr(macaddr, internal, int2, internal, internal);
-DROP FUNCTION gin_extract_value_inet(inet, internal);
-DROP FUNCTION gin_compare_prefix_inet(inet, inet, int2, internal);
-DROP FUNCTION gin_extract_query_inet(inet, internal, int2, internal, internal);
-DROP FUNCTION gin_extract_value_cidr(cidr, internal);
-DROP FUNCTION gin_compare_prefix_cidr(cidr, cidr, int2, internal);
-DROP FUNCTION gin_extract_query_cidr(cidr, internal, int2, internal, internal);
-DROP FUNCTION gin_extract_value_text(text, internal);
-DROP FUNCTION gin_compare_prefix_text(text, text, int2, internal);
-DROP FUNCTION gin_extract_query_text(text, internal, int2, internal, internal);
-DROP FUNCTION gin_extract_value_char("char", internal);
-DROP FUNCTION gin_compare_prefix_char("char", "char", int2, internal);
-DROP FUNCTION gin_extract_query_char("char", internal, int2, internal, internal);
-DROP FUNCTION gin_extract_value_bytea(bytea, internal);
-DROP FUNCTION gin_compare_prefix_bytea(bytea, bytea, int2, internal);
-DROP FUNCTION gin_extract_query_bytea(bytea, internal, int2, internal, internal);
-DROP FUNCTION gin_extract_value_bit(bit, internal);
-DROP FUNCTION gin_compare_prefix_bit(bit, bit, int2, internal);
-DROP FUNCTION gin_extract_query_bit(bit, internal, int2, internal, internal);
-DROP FUNCTION gin_extract_value_varbit(varbit, internal);
-DROP FUNCTION gin_compare_prefix_varbit(varbit, varbit, int2, internal);
-DROP FUNCTION gin_extract_query_varbit(varbit, internal, int2, internal, internal);
-DROP FUNCTION gin_extract_value_numeric(numeric, internal);
-DROP FUNCTION gin_compare_prefix_numeric(numeric, numeric, int2, internal);
-DROP FUNCTION gin_extract_query_numeric(numeric, internal, int2, internal, internal);
-DROP FUNCTION gin_numeric_cmp(numeric, numeric);