summaryrefslogtreecommitdiff
path: root/contrib/seg
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/seg
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/seg')
-rw-r--r--contrib/seg/.gitignore1
-rw-r--r--contrib/seg/Makefile6
-rw-r--r--contrib/seg/expected/seg.out8
-rw-r--r--contrib/seg/expected/seg_1.out8
-rw-r--r--contrib/seg/seg--1.0.sql (renamed from contrib/seg/seg.sql.in)6
-rw-r--r--contrib/seg/seg--unpackaged--1.0.sql51
-rw-r--r--contrib/seg/seg.control5
-rw-r--r--contrib/seg/sql/seg.sql10
-rw-r--r--contrib/seg/uninstall_seg.sql94
9 files changed, 64 insertions, 125 deletions
diff --git a/contrib/seg/.gitignore b/contrib/seg/.gitignore
index a8973ff696c..102f8b3246d 100644
--- a/contrib/seg/.gitignore
+++ b/contrib/seg/.gitignore
@@ -1,5 +1,4 @@
/segparse.c
/segscan.c
-/seg.sql
# Generated subdirectories
/results/
diff --git a/contrib/seg/Makefile b/contrib/seg/Makefile
index e8c7a448450..d84934c67fb 100644
--- a/contrib/seg/Makefile
+++ b/contrib/seg/Makefile
@@ -2,8 +2,10 @@
MODULE_big = seg
OBJS = seg.o segparse.o
-DATA_built = seg.sql
-DATA = uninstall_seg.sql
+
+EXTENSION = seg
+DATA = seg--1.0.sql seg--unpackaged--1.0.sql
+
REGRESS = seg
EXTRA_CLEAN = y.tab.c y.tab.h
diff --git a/contrib/seg/expected/seg.out b/contrib/seg/expected/seg.out
index 17c803e50e4..1f82a4abb86 100644
--- a/contrib/seg/expected/seg.out
+++ b/contrib/seg/expected/seg.out
@@ -1,13 +1,7 @@
--
-- Test seg datatype
--
---
--- first, define the datatype. Turn off echoing so that expected file
--- does not depend on contents of seg.sql.
---
-SET client_min_messages = warning;
-\set ECHO none
-RESET client_min_messages;
+CREATE EXTENSION seg;
--
-- testing the input and output functions
--
diff --git a/contrib/seg/expected/seg_1.out b/contrib/seg/expected/seg_1.out
index a4cca8b3917..563c744b2d6 100644
--- a/contrib/seg/expected/seg_1.out
+++ b/contrib/seg/expected/seg_1.out
@@ -1,13 +1,7 @@
--
-- Test seg datatype
--
---
--- first, define the datatype. Turn off echoing so that expected file
--- does not depend on contents of seg.sql.
---
-SET client_min_messages = warning;
-\set ECHO none
-RESET client_min_messages;
+CREATE EXTENSION seg;
--
-- testing the input and output functions
--
diff --git a/contrib/seg/seg.sql.in b/contrib/seg/seg--1.0.sql
index 9bd747656c8..02d8ffadb0a 100644
--- a/contrib/seg/seg.sql.in
+++ b/contrib/seg/seg--1.0.sql
@@ -1,10 +1,6 @@
-/* contrib/seg/seg.sql.in */
-
--- Adjust this setting to control where the objects get created.
-SET search_path = public;
+/* contrib/seg/seg--1.0.sql */
-- Create the user-defined type for 1-D floating point intervals (seg)
---
CREATE OR REPLACE FUNCTION seg_in(cstring)
RETURNS seg
diff --git a/contrib/seg/seg--unpackaged--1.0.sql b/contrib/seg/seg--unpackaged--1.0.sql
new file mode 100644
index 00000000000..9fefbfc9aa4
--- /dev/null
+++ b/contrib/seg/seg--unpackaged--1.0.sql
@@ -0,0 +1,51 @@
+/* contrib/seg/seg--unpackaged--1.0.sql */
+
+ALTER EXTENSION seg ADD type seg;
+ALTER EXTENSION seg ADD function seg_in(cstring);
+ALTER EXTENSION seg ADD function seg_out(seg);
+ALTER EXTENSION seg ADD function seg_over_left(seg,seg);
+ALTER EXTENSION seg ADD function seg_over_right(seg,seg);
+ALTER EXTENSION seg ADD function seg_left(seg,seg);
+ALTER EXTENSION seg ADD function seg_right(seg,seg);
+ALTER EXTENSION seg ADD function seg_lt(seg,seg);
+ALTER EXTENSION seg ADD function seg_le(seg,seg);
+ALTER EXTENSION seg ADD function seg_gt(seg,seg);
+ALTER EXTENSION seg ADD function seg_ge(seg,seg);
+ALTER EXTENSION seg ADD function seg_contains(seg,seg);
+ALTER EXTENSION seg ADD function seg_contained(seg,seg);
+ALTER EXTENSION seg ADD function seg_overlap(seg,seg);
+ALTER EXTENSION seg ADD function seg_same(seg,seg);
+ALTER EXTENSION seg ADD function seg_different(seg,seg);
+ALTER EXTENSION seg ADD function seg_cmp(seg,seg);
+ALTER EXTENSION seg ADD function seg_union(seg,seg);
+ALTER EXTENSION seg ADD function seg_inter(seg,seg);
+ALTER EXTENSION seg ADD function seg_size(seg);
+ALTER EXTENSION seg ADD function seg_center(seg);
+ALTER EXTENSION seg ADD function seg_upper(seg);
+ALTER EXTENSION seg ADD function seg_lower(seg);
+ALTER EXTENSION seg ADD operator >(seg,seg);
+ALTER EXTENSION seg ADD operator >=(seg,seg);
+ALTER EXTENSION seg ADD operator <(seg,seg);
+ALTER EXTENSION seg ADD operator <=(seg,seg);
+ALTER EXTENSION seg ADD operator >>(seg,seg);
+ALTER EXTENSION seg ADD operator <<(seg,seg);
+ALTER EXTENSION seg ADD operator &<(seg,seg);
+ALTER EXTENSION seg ADD operator &&(seg,seg);
+ALTER EXTENSION seg ADD operator &>(seg,seg);
+ALTER EXTENSION seg ADD operator <>(seg,seg);
+ALTER EXTENSION seg ADD operator =(seg,seg);
+ALTER EXTENSION seg ADD operator <@(seg,seg);
+ALTER EXTENSION seg ADD operator @>(seg,seg);
+ALTER EXTENSION seg ADD operator ~(seg,seg);
+ALTER EXTENSION seg ADD operator @(seg,seg);
+ALTER EXTENSION seg ADD function gseg_consistent(internal,seg,integer,oid,internal);
+ALTER EXTENSION seg ADD function gseg_compress(internal);
+ALTER EXTENSION seg ADD function gseg_decompress(internal);
+ALTER EXTENSION seg ADD function gseg_penalty(internal,internal,internal);
+ALTER EXTENSION seg ADD function gseg_picksplit(internal,internal);
+ALTER EXTENSION seg ADD function gseg_union(internal,internal);
+ALTER EXTENSION seg ADD function gseg_same(seg,seg,internal);
+ALTER EXTENSION seg ADD operator family seg_ops using btree;
+ALTER EXTENSION seg ADD operator class seg_ops using btree;
+ALTER EXTENSION seg ADD operator family gist_seg_ops using gist;
+ALTER EXTENSION seg ADD operator class gist_seg_ops using gist;
diff --git a/contrib/seg/seg.control b/contrib/seg/seg.control
new file mode 100644
index 00000000000..a1286962eed
--- /dev/null
+++ b/contrib/seg/seg.control
@@ -0,0 +1,5 @@
+# seg extension
+comment = 'data type for representing line segments or floating-point intervals'
+default_version = '1.0'
+module_pathname = '$libdir/seg'
+relocatable = true
diff --git a/contrib/seg/sql/seg.sql b/contrib/seg/sql/seg.sql
index b8a29d659a5..7b7f138dbf6 100644
--- a/contrib/seg/sql/seg.sql
+++ b/contrib/seg/sql/seg.sql
@@ -2,15 +2,7 @@
-- Test seg datatype
--
---
--- first, define the datatype. Turn off echoing so that expected file
--- does not depend on contents of seg.sql.
---
-SET client_min_messages = warning;
-\set ECHO none
-\i seg.sql
-\set ECHO all
-RESET client_min_messages;
+CREATE EXTENSION seg;
--
-- testing the input and output functions
diff --git a/contrib/seg/uninstall_seg.sql b/contrib/seg/uninstall_seg.sql
deleted file mode 100644
index 27e8ba901a7..00000000000
--- a/contrib/seg/uninstall_seg.sql
+++ /dev/null
@@ -1,94 +0,0 @@
-/* contrib/seg/uninstall_seg.sql */
-
--- Adjust this setting to control where the objects get dropped.
-SET search_path = public;
-
-DROP OPERATOR CLASS gist_seg_ops USING gist;
-
-DROP OPERATOR CLASS seg_ops USING btree;
-
-DROP FUNCTION gseg_same(seg, seg, internal);
-
-DROP FUNCTION gseg_union(internal, internal);
-
-DROP FUNCTION gseg_picksplit(internal, internal);
-
-DROP FUNCTION gseg_penalty(internal,internal,internal);
-
-DROP FUNCTION gseg_decompress(internal);
-
-DROP FUNCTION gseg_compress(internal);
-
-DROP FUNCTION gseg_consistent(internal,seg,int,oid,internal);
-
-DROP OPERATOR <@ (seg, seg);
-
-DROP OPERATOR @> (seg, seg);
-
-DROP OPERATOR ~ (seg, seg);
-
-DROP OPERATOR @ (seg, seg);
-
-DROP OPERATOR <> (seg, seg);
-
-DROP OPERATOR = (seg, seg);
-
-DROP OPERATOR >> (seg, seg);
-
-DROP OPERATOR &> (seg, seg);
-
-DROP OPERATOR && (seg, seg);
-
-DROP OPERATOR &< (seg, seg);
-
-DROP OPERATOR << (seg, seg);
-
-DROP OPERATOR >= (seg, seg);
-
-DROP OPERATOR > (seg, seg);
-
-DROP OPERATOR <= (seg, seg);
-
-DROP OPERATOR < (seg, seg);
-
-DROP FUNCTION seg_center(seg);
-
-DROP FUNCTION seg_lower(seg);
-
-DROP FUNCTION seg_upper(seg);
-
-DROP FUNCTION seg_size(seg);
-
-DROP FUNCTION seg_inter(seg, seg);
-
-DROP FUNCTION seg_union(seg, seg);
-
-DROP FUNCTION seg_cmp(seg, seg);
-
-DROP FUNCTION seg_different(seg, seg);
-
-DROP FUNCTION seg_same(seg, seg);
-
-DROP FUNCTION seg_overlap(seg, seg);
-
-DROP FUNCTION seg_contained(seg, seg);
-
-DROP FUNCTION seg_contains(seg, seg);
-
-DROP FUNCTION seg_ge(seg, seg);
-
-DROP FUNCTION seg_gt(seg, seg);
-
-DROP FUNCTION seg_le(seg, seg);
-
-DROP FUNCTION seg_lt(seg, seg);
-
-DROP FUNCTION seg_right(seg, seg);
-
-DROP FUNCTION seg_left(seg, seg);
-
-DROP FUNCTION seg_over_right(seg, seg);
-
-DROP FUNCTION seg_over_left(seg, seg);
-
-DROP TYPE seg CASCADE;