summaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'contrib')
-rw-r--r--contrib/btree_gist/btree_gist.sql.in70
-rw-r--r--contrib/chkpass/chkpass.sql.in10
-rw-r--r--contrib/cube/cube.c8
-rw-r--r--contrib/cube/cube.sql.in36
-rw-r--r--contrib/dbmirror/MirrorSetup.sql2
-rw-r--r--contrib/fulltextindex/README.fti2
-rw-r--r--contrib/fulltextindex/fti.c2
-rw-r--r--contrib/fulltextindex/fti.pl2
-rw-r--r--contrib/fulltextindex/fti.sql.in2
-rw-r--r--contrib/intarray/_int.sql.in64
-rw-r--r--contrib/isbn_issn/isbn_issn.sql.in20
-rw-r--r--contrib/lo/lo.sql.in12
-rw-r--r--contrib/lo/lo_drop.sql12
-rw-r--r--contrib/ltree/ltree.sql.in86
-rwxr-xr-xcontrib/mysql/my2pg.pl28
-rw-r--r--contrib/noupdate/noup.sql.in2
-rw-r--r--contrib/oracle/Ora2Pg.pm2
-rw-r--r--contrib/rserv/MasterInit.in2
-rw-r--r--contrib/rserv/master.sql.in2
-rw-r--r--contrib/rtree_gist/rtree_gist.sql.in46
-rw-r--r--contrib/seg/seg.c8
-rw-r--r--contrib/seg/seg.sql.in36
-rw-r--r--contrib/spi/autoinc.sql.in2
-rw-r--r--contrib/spi/insert_username.sql.in2
-rw-r--r--contrib/spi/moddatetime.sql.in2
-rw-r--r--contrib/spi/refint.sql.in4
-rw-r--r--contrib/spi/timetravel.sql.in2
-rw-r--r--contrib/string/string_io.sql.in8
-rw-r--r--contrib/tsearch/tsearch.sql.in66
29 files changed, 265 insertions, 275 deletions
diff --git a/contrib/btree_gist/btree_gist.sql.in b/contrib/btree_gist/btree_gist.sql.in
index dbb68c7c74..a60a7c2706 100644
--- a/contrib/btree_gist/btree_gist.sql.in
+++ b/contrib/btree_gist/btree_gist.sql.in
@@ -4,13 +4,13 @@ begin transaction;
SET search_path = public;
-- create type of int4 key
-CREATE FUNCTION int4key_in(opaque)
-RETURNS opaque
+CREATE FUNCTION int4key_in(cstring)
+RETURNS int4key
AS 'MODULE_PATHNAME'
LANGUAGE 'c' with (isstrict);
-CREATE FUNCTION int4key_out(opaque)
-RETURNS opaque
+CREATE FUNCTION int4key_out(int4key)
+RETURNS cstring
AS 'MODULE_PATHNAME'
LANGUAGE 'c' with (isstrict);
@@ -29,19 +29,19 @@ output = int4key_out
--
--
-- define the GiST support methods
-create function gint4_consistent(opaque,int4,int2) returns bool as 'MODULE_PATHNAME' language 'C';
+create function gint4_consistent(internal,int4,int2) returns bool as 'MODULE_PATHNAME' language 'C';
-create function gint4_compress(opaque) returns opaque as 'MODULE_PATHNAME' language 'C';
+create function gint4_compress(internal) returns internal as 'MODULE_PATHNAME' language 'C';
-create function btree_decompress(opaque) returns opaque as 'MODULE_PATHNAME' language 'C';
+create function btree_decompress(internal) returns internal as 'MODULE_PATHNAME' language 'C';
-create function gint4_penalty(opaque,opaque,opaque) returns opaque as 'MODULE_PATHNAME' language 'C' with(isstrict);
+create function gint4_penalty(internal,internal,internal) returns internal as 'MODULE_PATHNAME' language 'C' with(isstrict);
-create function gint4_picksplit(opaque, opaque) returns opaque as 'MODULE_PATHNAME' language 'C';
+create function gint4_picksplit(internal, internal) returns internal as 'MODULE_PATHNAME' language 'C';
-create function gint4_union(bytea, opaque) returns int4 as 'MODULE_PATHNAME' language 'C';
+create function gint4_union(bytea, internal) returns int4 as 'MODULE_PATHNAME' language 'C';
-create function gint4_same(opaque, opaque, opaque) returns opaque as 'MODULE_PATHNAME' language 'C';
+create function gint4_same(internal, internal, internal) returns internal as 'MODULE_PATHNAME' language 'C';
-- Create the operator class
CREATE OPERATOR CLASS gist_int4_ops
@@ -51,13 +51,13 @@ CREATE OPERATOR CLASS gist_int4_ops
OPERATOR 3 = ,
OPERATOR 4 >= ,
OPERATOR 5 > ,
- FUNCTION 1 gint4_consistent (opaque, int4, int2),
- FUNCTION 2 gint4_union (bytea, opaque),
- FUNCTION 3 gint4_compress (opaque),
- FUNCTION 4 btree_decompress (opaque),
- FUNCTION 5 gint4_penalty (opaque, opaque, opaque),
- FUNCTION 6 gint4_picksplit (opaque, opaque),
- FUNCTION 7 gint4_same (opaque, opaque, opaque),
+ FUNCTION 1 gint4_consistent (internal, int4, int2),
+ FUNCTION 2 gint4_union (bytea, internal),
+ FUNCTION 3 gint4_compress (internal),
+ FUNCTION 4 btree_decompress (internal),
+ FUNCTION 5 gint4_penalty (internal, internal, internal),
+ FUNCTION 6 gint4_picksplit (internal, internal),
+ FUNCTION 7 gint4_same (internal, internal, internal),
STORAGE int4key;
@@ -70,13 +70,13 @@ CREATE OPERATOR CLASS gist_int4_ops
--
-- create type of timestamp key
-CREATE FUNCTION tskey_in(opaque)
-RETURNS opaque
+CREATE FUNCTION tskey_in(cstring)
+RETURNS tskey
AS 'MODULE_PATHNAME'
LANGUAGE 'c' with (isstrict);
-CREATE FUNCTION tskey_out(opaque)
-RETURNS opaque
+CREATE FUNCTION tskey_out(tskey)
+RETURNS cstring
AS 'MODULE_PATHNAME'
LANGUAGE 'c' with (isstrict);
@@ -86,17 +86,17 @@ input = tskey_in,
output = tskey_out
);
-create function gts_consistent(opaque,timestamp,int2) returns bool as 'MODULE_PATHNAME' language 'C';
+create function gts_consistent(internal,timestamp,int2) returns bool as 'MODULE_PATHNAME' language 'C';
-create function gts_compress(opaque) returns opaque as 'MODULE_PATHNAME' language 'C';
+create function gts_compress(internal) returns internal as 'MODULE_PATHNAME' language 'C';
-create function gts_penalty(opaque,opaque,opaque) returns opaque as 'MODULE_PATHNAME' language 'C' with(isstrict);
+create function gts_penalty(internal,internal,internal) returns internal as 'MODULE_PATHNAME' language 'C' with(isstrict);
-create function gts_picksplit(opaque, opaque) returns opaque as 'MODULE_PATHNAME' language 'C';
+create function gts_picksplit(internal, internal) returns internal as 'MODULE_PATHNAME' language 'C';
-create function gts_union(bytea, opaque) returns int4 as 'MODULE_PATHNAME' language 'C';
+create function gts_union(bytea, internal) returns int4 as 'MODULE_PATHNAME' language 'C';
-create function gts_same(opaque, opaque, opaque) returns opaque as 'MODULE_PATHNAME' language 'C';
+create function gts_same(internal, internal, internal) returns internal as 'MODULE_PATHNAME' language 'C';
-- Create the operator class
CREATE OPERATOR CLASS gist_timestamp_ops
@@ -106,13 +106,13 @@ CREATE OPERATOR CLASS gist_timestamp_ops
OPERATOR 3 = ,
OPERATOR 4 >= ,
OPERATOR 5 > ,
- FUNCTION 1 gts_consistent (opaque, timestamp, int2),
- FUNCTION 2 gts_union (bytea, opaque),
- FUNCTION 3 gts_compress (opaque),
- FUNCTION 4 btree_decompress (opaque),
- FUNCTION 5 gts_penalty (opaque, opaque, opaque),
- FUNCTION 6 gts_picksplit (opaque, opaque),
- FUNCTION 7 gts_same (opaque, opaque, opaque),
+ FUNCTION 1 gts_consistent (internal, timestamp, int2),
+ FUNCTION 2 gts_union (bytea, internal),
+ FUNCTION 3 gts_compress (internal),
+ FUNCTION 4 btree_decompress (internal),
+ FUNCTION 5 gts_penalty (internal, internal, internal),
+ FUNCTION 6 gts_picksplit (internal, internal),
+ FUNCTION 7 gts_same (internal, internal, internal),
STORAGE tskey;
diff --git a/contrib/chkpass/chkpass.sql.in b/contrib/chkpass/chkpass.sql.in
index 72ad5e559c..3e331509d7 100644
--- a/contrib/chkpass/chkpass.sql.in
+++ b/contrib/chkpass/chkpass.sql.in
@@ -4,7 +4,7 @@
-- darcy@druid.net
-- http://www.druid.net/darcy/
--
--- $Header: /cvsroot/pgsql/contrib/chkpass/chkpass.sql.in,v 1.1 2001/08/23 16:50:33 tgl Exp $
+-- $Header: /cvsroot/pgsql/contrib/chkpass/chkpass.sql.in,v 1.2 2002/08/22 00:01:38 tgl Exp $
--
-- best viewed with tabs set to 4
--
@@ -13,13 +13,13 @@
-- Input and output functions and the type itself:
--
-create function chkpass_in(opaque)
- returns opaque
+create function chkpass_in(cstring)
+ returns chkpass
as 'MODULE_PATHNAME'
language 'c';
-create function chkpass_out(opaque)
- returns opaque
+create function chkpass_out(chkpass)
+ returns cstring
as 'MODULE_PATHNAME'
language 'c';
diff --git a/contrib/cube/cube.c b/contrib/cube/cube.c
index b0b479016a..afd69029c9 100644
--- a/contrib/cube/cube.c
+++ b/contrib/cube/cube.c
@@ -99,14 +99,6 @@ cube_in(char *str)
return ((NDBOX *) result);
}
-/*
- * You might have noticed a slight inconsistency between the following
- * declaration and the SQL definition:
- * CREATE FUNCTION cube_out(opaque) RETURNS opaque ...
- * The reason is that the argument pass into cube_out is really just a
- * pointer. POSTGRES thinks all output functions are:
- * char *out_func(char *);
- */
char *
cube_out(NDBOX *cube)
{
diff --git a/contrib/cube/cube.sql.in b/contrib/cube/cube.sql.in
index 0637fbedfd..5889c687a5 100644
--- a/contrib/cube/cube.sql.in
+++ b/contrib/cube/cube.sql.in
@@ -5,13 +5,13 @@ BEGIN TRANSACTION;
-- Adjust this setting to control where the objects get created.
SET search_path = public;
-CREATE FUNCTION cube_in(opaque)
-RETURNS opaque
+CREATE FUNCTION cube_in(cstring)
+RETURNS cube
AS 'MODULE_PATHNAME'
LANGUAGE 'c' WITH (isStrict);
-CREATE FUNCTION cube_out(opaque)
-RETURNS opaque
+CREATE FUNCTION cube_out(cube)
+RETURNS cstring
AS 'MODULE_PATHNAME'
LANGUAGE 'c' WITH (isStrict);
@@ -192,25 +192,25 @@ CREATE OPERATOR ~ (
-- define the GiST support methods
-CREATE FUNCTION g_cube_consistent(opaque,cube,int4) RETURNS bool
+CREATE FUNCTION g_cube_consistent(internal,cube,int4) RETURNS bool
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-CREATE FUNCTION g_cube_compress(opaque) RETURNS opaque
+CREATE FUNCTION g_cube_compress(internal) RETURNS internal
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-CREATE FUNCTION g_cube_decompress(opaque) RETURNS opaque
+CREATE FUNCTION g_cube_decompress(internal) RETURNS internal
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-CREATE FUNCTION g_cube_penalty(opaque,opaque,opaque) RETURNS opaque
+CREATE FUNCTION g_cube_penalty(internal,internal,internal) RETURNS internal
AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict);
-CREATE FUNCTION g_cube_picksplit(opaque, opaque) RETURNS opaque
+CREATE FUNCTION g_cube_picksplit(internal, internal) RETURNS internal
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-CREATE FUNCTION g_cube_union(bytea, opaque) RETURNS cube
+CREATE FUNCTION g_cube_union(bytea, internal) RETURNS cube
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-CREATE FUNCTION g_cube_same(cube, cube, opaque) RETURNS opaque
+CREATE FUNCTION g_cube_same(cube, cube, internal) RETURNS internal
AS 'MODULE_PATHNAME' LANGUAGE 'c';
@@ -226,13 +226,13 @@ CREATE OPERATOR CLASS gist_cube_ops
OPERATOR 6 = ,
OPERATOR 7 @ ,
OPERATOR 8 ~ ,
- FUNCTION 1 g_cube_consistent (opaque, cube, int4),
- FUNCTION 2 g_cube_union (bytea, opaque),
- FUNCTION 3 g_cube_compress (opaque),
- FUNCTION 4 g_cube_decompress (opaque),
- FUNCTION 5 g_cube_penalty (opaque, opaque, opaque),
- FUNCTION 6 g_cube_picksplit (opaque, opaque),
- FUNCTION 7 g_cube_same (cube, cube, opaque);
+ FUNCTION 1 g_cube_consistent (internal, cube, int4),
+ FUNCTION 2 g_cube_union (bytea, internal),
+ FUNCTION 3 g_cube_compress (internal),
+ FUNCTION 4 g_cube_decompress (internal),
+ FUNCTION 5 g_cube_penalty (internal, internal, internal),
+ FUNCTION 6 g_cube_picksplit (internal, internal),
+ FUNCTION 7 g_cube_same (cube, cube, internal);
END TRANSACTION;
diff --git a/contrib/dbmirror/MirrorSetup.sql b/contrib/dbmirror/MirrorSetup.sql
index b28b8e4104..8e03264165 100644
--- a/contrib/dbmirror/MirrorSetup.sql
+++ b/contrib/dbmirror/MirrorSetup.sql
@@ -1,5 +1,5 @@
-CREATE FUNCTION "recordchange" () RETURNS opaque AS
+CREATE FUNCTION "recordchange" () RETURNS trigger AS
'/usr/local/pgsql/lib/pending.so', 'recordchange' LANGUAGE 'C';
CREATE TABLE "MirrorHost" (
diff --git a/contrib/fulltextindex/README.fti b/contrib/fulltextindex/README.fti
index 5c3d6362a6..cdf15c24da 100644
--- a/contrib/fulltextindex/README.fti
+++ b/contrib/fulltextindex/README.fti
@@ -58,7 +58,7 @@ sub-string will fit.
The create the function that contains the trigger::
- create function fti() returns opaque as
+ create function fti() returns trigger as
'/path/to/fti.so' language 'C';
And finally define the trigger on the 'cds' table:
diff --git a/contrib/fulltextindex/fti.c b/contrib/fulltextindex/fti.c
index 8050f2a9d7..0c4cceb3f5 100644
--- a/contrib/fulltextindex/fti.c
+++ b/contrib/fulltextindex/fti.c
@@ -21,7 +21,7 @@
* Example:
*
* -- Create the SQL function based on the compiled shared object
- * create function fti() returns opaque as
+ * create function fti() returns trigger as
* '/usr/local/pgsql/lib/contrib/fti.so' language 'C';
*
* -- Create the FTI table
diff --git a/contrib/fulltextindex/fti.pl b/contrib/fulltextindex/fti.pl
index 58080a5425..5b660ed815 100644
--- a/contrib/fulltextindex/fti.pl
+++ b/contrib/fulltextindex/fti.pl
@@ -27,7 +27,7 @@
#
# create index fti_idx on my_fti_table (string,id);
#
-# create function fti() returns opaque as
+# create function fti() returns trigger as
# '/path/to/fti/file/fti.so'
# language 'C';
#
diff --git a/contrib/fulltextindex/fti.sql.in b/contrib/fulltextindex/fti.sql.in
index e0da2353c5..c8e705b90f 100644
--- a/contrib/fulltextindex/fti.sql.in
+++ b/contrib/fulltextindex/fti.sql.in
@@ -1,3 +1,3 @@
-create function fti() returns opaque as
+create function fti() returns trigger as
'MODULE_PATHNAME'
language 'C'; \ No newline at end of file
diff --git a/contrib/intarray/_int.sql.in b/contrib/intarray/_int.sql.in
index fe1a6f9d38..7f9a8082ca 100644
--- a/contrib/intarray/_int.sql.in
+++ b/contrib/intarray/_int.sql.in
@@ -7,13 +7,13 @@ BEGIN TRANSACTION;
SET search_path = public;
-- Query type
-CREATE FUNCTION bqarr_in(opaque)
-RETURNS opaque
+CREATE FUNCTION bqarr_in(cstring)
+RETURNS query_int
AS 'MODULE_PATHNAME'
LANGUAGE 'c' with (isstrict);
-CREATE FUNCTION bqarr_out(opaque)
-RETURNS opaque
+CREATE FUNCTION bqarr_out(query_int)
+RETURNS cstring
AS 'MODULE_PATHNAME'
LANGUAGE 'c' with (isstrict);
@@ -200,25 +200,25 @@ CREATE OPERATOR & (
--------------
-- define the GiST support methods
-CREATE FUNCTION g_int_consistent(opaque,_int4,int4) RETURNS bool
+CREATE FUNCTION g_int_consistent(internal,_int4,int4) RETURNS bool
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-CREATE FUNCTION g_int_compress(opaque) RETURNS opaque
+CREATE FUNCTION g_int_compress(internal) RETURNS internal
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-CREATE FUNCTION g_int_decompress(opaque) RETURNS opaque
+CREATE FUNCTION g_int_decompress(internal) RETURNS internal
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-CREATE FUNCTION g_int_penalty(opaque,opaque,opaque) RETURNS opaque
+CREATE FUNCTION g_int_penalty(internal,internal,internal) RETURNS internal
AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict);
-CREATE FUNCTION g_int_picksplit(opaque, opaque) RETURNS opaque
+CREATE FUNCTION g_int_picksplit(internal, internal) RETURNS internal
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-CREATE FUNCTION g_int_union(bytea, opaque) RETURNS _int4
+CREATE FUNCTION g_int_union(bytea, internal) RETURNS _int4
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-CREATE FUNCTION g_int_same(_int4, _int4, opaque) RETURNS opaque
+CREATE FUNCTION g_int_same(_int4, _int4, internal) RETURNS internal
AS 'MODULE_PATHNAME' LANGUAGE 'c';
@@ -231,38 +231,38 @@ CREATE OPERATOR CLASS gist__int_ops
OPERATOR 7 @,
OPERATOR 8 ~,
OPERATOR 20 @@ (_int4, query_int),
- FUNCTION 1 g_int_consistent (opaque, _int4, int4),
- FUNCTION 2 g_int_union (bytea, opaque),
- FUNCTION 3 g_int_compress (opaque),
- FUNCTION 4 g_int_decompress (opaque),
- FUNCTION 5 g_int_penalty (opaque, opaque, opaque),
- FUNCTION 6 g_int_picksplit (opaque, opaque),
- FUNCTION 7 g_int_same (_int4, _int4, opaque);
+ FUNCTION 1 g_int_consistent (internal, _int4, int4),
+ FUNCTION 2 g_int_union (bytea, internal),
+ FUNCTION 3 g_int_compress (internal),
+ FUNCTION 4 g_int_decompress (internal),
+ FUNCTION 5 g_int_penalty (internal, internal, internal),
+ FUNCTION 6 g_int_picksplit (internal, internal),
+ FUNCTION 7 g_int_same (_int4, _int4, internal);
---------------------------------------------
-- intbig
---------------------------------------------
-- define the GiST support methods
-CREATE FUNCTION g_intbig_consistent(opaque,_int4,int4) RETURNS bool
+CREATE FUNCTION g_intbig_consistent(internal,_int4,int4) RETURNS bool
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-CREATE FUNCTION g_intbig_compress(opaque) RETURNS opaque
+CREATE FUNCTION g_intbig_compress(internal) RETURNS internal
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-CREATE FUNCTION g_intbig_decompress(opaque) RETURNS opaque
+CREATE FUNCTION g_intbig_decompress(internal) RETURNS internal
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-CREATE FUNCTION g_intbig_penalty(opaque,opaque,opaque) RETURNS opaque
+CREATE FUNCTION g_intbig_penalty(internal,internal,internal) RETURNS internal
AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict);
-CREATE FUNCTION g_intbig_picksplit(opaque, opaque) RETURNS opaque
+CREATE FUNCTION g_intbig_picksplit(internal, internal) RETURNS internal
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-CREATE FUNCTION g_intbig_union(bytea, opaque) RETURNS _int4
+CREATE FUNCTION g_intbig_union(bytea, internal) RETURNS _int4
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-CREATE FUNCTION g_intbig_same(_int4, _int4, opaque) RETURNS opaque
+CREATE FUNCTION g_intbig_same(_int4, _int4, internal) RETURNS internal
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-- register the opclass for indexing (not as default)
@@ -274,12 +274,12 @@ CREATE OPERATOR CLASS gist__intbig_ops
OPERATOR 7 @ RECHECK,
OPERATOR 8 ~ RECHECK,
OPERATOR 20 @@ (_int4, query_int) RECHECK,
- FUNCTION 1 g_intbig_consistent (opaque, _int4, int4),
- FUNCTION 2 g_intbig_union (bytea, opaque),
- FUNCTION 3 g_intbig_compress (opaque),
- FUNCTION 4 g_intbig_decompress (opaque),
- FUNCTION 5 g_intbig_penalty (opaque, opaque, opaque),
- FUNCTION 6 g_intbig_picksplit (opaque, opaque),
- FUNCTION 7 g_intbig_same (_int4, _int4, opaque);
+ FUNCTION 1 g_intbig_consistent (internal, _int4, int4),
+ FUNCTION 2 g_intbig_union (bytea, internal),
+ FUNCTION 3 g_intbig_compress (internal),
+ FUNCTION 4 g_intbig_decompress (internal),
+ FUNCTION 5 g_intbig_penalty (internal, internal, internal),
+ FUNCTION 6 g_intbig_picksplit (internal, internal),
+ FUNCTION 7 g_intbig_same (_int4, _int4, internal);
END TRANSACTION;
diff --git a/contrib/isbn_issn/isbn_issn.sql.in b/contrib/isbn_issn/isbn_issn.sql.in
index 3a47621c2c..64767f8502 100644
--- a/contrib/isbn_issn/isbn_issn.sql.in
+++ b/contrib/isbn_issn/isbn_issn.sql.in
@@ -1,7 +1,7 @@
--
-- PostgreSQL code for ISSNs.
--
--- $Id: isbn_issn.sql.in,v 1.5 2002/07/30 17:34:37 tgl Exp $
+-- $Id: isbn_issn.sql.in,v 1.6 2002/08/22 00:01:39 tgl Exp $
--
-- Adjust this setting to control where the objects get created.
@@ -12,13 +12,13 @@ SET search_path = public;
-- Input and output functions and the type itself:
--
-create function issn_in(opaque)
- returns opaque
+create function issn_in(cstring)
+ returns issn
as 'MODULE_PATHNAME'
language 'c';
-create function issn_out(opaque)
- returns opaque
+create function issn_out(issn)
+ returns cstring
as 'MODULE_PATHNAME'
language 'c';
@@ -123,19 +123,19 @@ create operator <> (
--
-- PostgreSQL code for ISBNs.
--
--- $Id: isbn_issn.sql.in,v 1.5 2002/07/30 17:34:37 tgl Exp $
+-- $Id: isbn_issn.sql.in,v 1.6 2002/08/22 00:01:39 tgl Exp $
--
--
-- Input and output functions and the type itself:
--
-create function isbn_in(opaque)
- returns opaque
+create function isbn_in(cstring)
+ returns isbn
as 'MODULE_PATHNAME'
language 'c';
-create function isbn_out(opaque)
- returns opaque
+create function isbn_out(isbn)
+ returns cstring
as 'MODULE_PATHNAME'
language 'c';
diff --git a/contrib/lo/lo.sql.in b/contrib/lo/lo.sql.in
index f9fed597fd..e60b46ce09 100644
--- a/contrib/lo/lo.sql.in
+++ b/contrib/lo/lo.sql.in
@@ -1,21 +1,21 @@
--
-- PostgreSQL code for LargeObjects
--
--- $Id: lo.sql.in,v 1.6 2000/11/21 21:51:58 tgl Exp $
+-- $Id: lo.sql.in,v 1.7 2002/08/22 00:01:39 tgl Exp $
--
--
-- Create the data type
--
-- used by the lo type, it takes an oid and returns an lo object
-create function lo_in(opaque)
- returns opaque
+create function lo_in(cstring)
+ returns lo
as 'MODULE_PATHNAME'
language 'c';
-- used by the lo type, it returns the oid of the object
-create function lo_out(opaque)
- returns opaque
+create function lo_out(lo)
+ returns cstring
as 'MODULE_PATHNAME'
language 'c';
@@ -51,6 +51,6 @@ create function lo(oid)
-- This is used in triggers
create function lo_manage()
- returns opaque
+ returns trigger
as 'MODULE_PATHNAME'
language 'c';
diff --git a/contrib/lo/lo_drop.sql b/contrib/lo/lo_drop.sql
index 2472715a3d..4e4602836c 100644
--- a/contrib/lo/lo_drop.sql
+++ b/contrib/lo/lo_drop.sql
@@ -6,16 +6,10 @@
-- remove our test table
drop table a;
--- now drop any sql based functions associated with the lo type
-drop function oid(lo);
+-- now drop the type and associated C functions
+drop type lo CASCADE;
--- now drop the type
-drop type lo;
-
--- as the type is gone, remove the C based functions
-drop function lo_in(opaque);
-drop function lo_out(opaque);
-drop function lo(oid);
+-- the trigger function has no dependency on the type, so drop separately
drop function lo_manage();
-- the lo stuff is now removed from the system
diff --git a/contrib/ltree/ltree.sql.in b/contrib/ltree/ltree.sql.in
index 4e0f52ea1f..ad7f61472b 100644
--- a/contrib/ltree/ltree.sql.in
+++ b/contrib/ltree/ltree.sql.in
@@ -3,13 +3,13 @@ BEGIN;
-- Adjust this setting to control where the objects get created.
SET search_path = public;
-CREATE FUNCTION ltree_in(opaque)
-RETURNS opaque
+CREATE FUNCTION ltree_in(cstring)
+RETURNS ltree
AS 'MODULE_PATHNAME'
LANGUAGE 'c' with (isstrict);
-CREATE FUNCTION ltree_out(opaque)
-RETURNS opaque
+CREATE FUNCTION ltree_out(ltree)
+RETURNS cstring
AS 'MODULE_PATHNAME'
LANGUAGE 'c' with (isstrict);
@@ -232,13 +232,13 @@ CREATE OPERATOR CLASS ltree_ops
--lquery type
-CREATE FUNCTION lquery_in(opaque)
-RETURNS opaque
+CREATE FUNCTION lquery_in(cstring)
+RETURNS lquery
AS 'MODULE_PATHNAME'
LANGUAGE 'c' with (isstrict);
-CREATE FUNCTION lquery_out(opaque)
-RETURNS opaque
+CREATE FUNCTION lquery_out(lquery)
+RETURNS cstring
AS 'MODULE_PATHNAME'
LANGUAGE 'c' with (isstrict);
@@ -284,13 +284,13 @@ CREATE OPERATOR ^~ (
RESTRICT = contsel, JOIN = contjoinsel
);
-CREATE FUNCTION ltxtq_in(opaque)
-RETURNS opaque
+CREATE FUNCTION ltxtq_in(cstring)
+RETURNS ltxtquery
AS 'MODULE_PATHNAME'
LANGUAGE 'c' with (isstrict);
-CREATE FUNCTION ltxtq_out(opaque)
-RETURNS opaque
+CREATE FUNCTION ltxtq_out(ltxtquery)
+RETURNS cstring
AS 'MODULE_PATHNAME'
LANGUAGE 'c' with (isstrict);
@@ -339,13 +339,13 @@ CREATE OPERATOR ^@ (
);
--GiST support for ltree
-CREATE FUNCTION ltree_gist_in(opaque)
-RETURNS opaque
+CREATE FUNCTION ltree_gist_in(cstring)
+RETURNS ltree_gist
AS 'MODULE_PATHNAME'
LANGUAGE 'c' with (isstrict);
-CREATE FUNCTION ltree_gist_out(opaque)
-RETURNS opaque
+CREATE FUNCTION ltree_gist_out(ltree_gist)
+RETURNS cstring
AS 'MODULE_PATHNAME'
LANGUAGE 'c' with (isstrict);
@@ -357,13 +357,13 @@ CREATE TYPE ltree_gist (
);
-create function ltree_consistent(opaque,opaque,int2) returns bool as 'MODULE_PATHNAME' language 'C';
-create function ltree_compress(opaque) returns opaque as 'MODULE_PATHNAME' language 'C';
-create function ltree_decompress(opaque) returns opaque as 'MODULE_PATHNAME' language 'C';
-create function ltree_penalty(opaque,opaque,opaque) returns opaque as 'MODULE_PATHNAME' language 'C' with(isstrict);
-create function ltree_picksplit(opaque, opaque) returns opaque as 'MODULE_PATHNAME' language 'C';
-create function ltree_union(bytea, opaque) returns int4 as 'MODULE_PATHNAME' language 'C';
-create function ltree_same(opaque, opaque, opaque) returns opaque as 'MODULE_PATHNAME' language 'C';
+create function ltree_consistent(internal,internal,int2) returns bool as 'MODULE_PATHNAME' language 'C';
+create function ltree_compress(internal) returns internal as 'MODULE_PATHNAME' language 'C';
+create function ltree_decompress(internal) returns internal as 'MODULE_PATHNAME' language 'C';
+create function ltree_penalty(internal,internal,internal) returns internal as 'MODULE_PATHNAME' language 'C' with(isstrict);
+create function ltree_picksplit(internal, internal) returns internal as 'MODULE_PATHNAME' language 'C';
+create function ltree_union(bytea, internal) returns int4 as 'MODULE_PATHNAME' language 'C';
+create function ltree_same(internal, internal, internal) returns internal as 'MODULE_PATHNAME' language 'C';
CREATE OPERATOR CLASS gist_ltree_ops
DEFAULT FOR TYPE ltree USING gist AS
@@ -378,13 +378,13 @@ CREATE OPERATOR CLASS gist_ltree_ops
OPERATOR 13 ~ (lquery, ltree) ,
OPERATOR 14 @ (ltree, ltxtquery) ,
OPERATOR 15 @ (ltxtquery, ltree) ,
- FUNCTION 1 ltree_consistent (opaque, opaque, int2),
- FUNCTION 2 ltree_union (bytea, opaque),
- FUNCTION 3 ltree_compress (opaque),
- FUNCTION 4 ltree_decompress (opaque),
- FUNCTION 5 ltree_penalty (opaque, opaque, opaque),
- FUNCTION 6 ltree_picksplit (opaque, opaque),
- FUNCTION 7 ltree_same (opaque, opaque, opaque),
+ FUNCTION 1 ltree_consistent (internal, internal, int2),
+ FUNCTION 2 ltree_union (bytea, internal),
+ FUNCTION 3 ltree_compress (internal),
+ FUNCTION 4 ltree_decompress (internal),
+ FUNCTION 5 ltree_penalty (internal, internal, internal),
+ FUNCTION 6 ltree_picksplit (internal, internal),
+ FUNCTION 7 ltree_same (internal, internal, internal),
STORAGE ltree_gist;
@@ -566,12 +566,12 @@ CREATE OPERATOR ?@ (
);
--GiST support for ltree[]
-create function _ltree_consistent(opaque,opaque,int2) returns bool as 'MODULE_PATHNAME' language 'C';
-create function _ltree_compress(opaque) returns opaque as 'MODULE_PATHNAME' language 'C';
-create function _ltree_penalty(opaque,opaque,opaque) returns opaque as 'MODULE_PATHNAME' language 'C' with(isstrict);
-create function _ltree_picksplit(opaque, opaque) returns opaque as 'MODULE_PATHNAME' language 'C';
-create function _ltree_union(bytea, opaque) returns int4 as 'MODULE_PATHNAME' language 'C';
-create function _ltree_same(opaque, opaque, opaque) returns opaque as 'MODULE_PATHNAME' language 'C';
+create function _ltree_consistent(internal,internal,int2) returns bool as 'MODULE_PATHNAME' language 'C';
+create function _ltree_compress(internal) returns internal as 'MODULE_PATHNAME' language 'C';
+create function _ltree_penalty(internal,internal,internal) returns internal as 'MODULE_PATHNAME' language 'C' with(isstrict);
+create function _ltree_picksplit(internal, internal) returns internal as 'MODULE_PATHNAME' language 'C';
+create function _ltree_union(bytea, internal) returns int4 as 'MODULE_PATHNAME' language 'C';
+create function _ltree_same(internal, internal, internal) returns internal as 'MODULE_PATHNAME' language 'C';
CREATE OPERATOR CLASS gist__ltree_ops
DEFAULT FOR TYPE _ltree USING gist AS
@@ -581,13 +581,13 @@ CREATE OPERATOR CLASS gist__ltree_ops
OPERATOR 13 ~ (lquery, _ltree) RECHECK ,
OPERATOR 14 @ (_ltree, ltxtquery) RECHECK ,
OPERATOR 15 @ (ltxtquery, _ltree) RECHECK ,
- FUNCTION 1 _ltree_consistent (opaque, opaque, int2),
- FUNCTION 2 _ltree_union (bytea, opaque),
- FUNCTION 3 _ltree_compress (opaque),
- FUNCTION 4 ltree_decompress (opaque),
- FUNCTION 5 _ltree_penalty (opaque, opaque, opaque),
- FUNCTION 6 _ltree_picksplit (opaque, opaque),
- FUNCTION 7 _ltree_same (opaque, opaque, opaque),
+ FUNCTION 1 _ltree_consistent (internal, internal, int2),
+ FUNCTION 2 _ltree_union (bytea, internal),
+ FUNCTION 3 _ltree_compress (internal),
+ FUNCTION 4 ltree_decompress (internal),
+ FUNCTION 5 _ltree_penalty (internal, internal, internal),
+ FUNCTION 6 _ltree_picksplit (internal, internal),
+ FUNCTION 7 _ltree_same (internal, internal, internal),
STORAGE ltree_gist;
diff --git a/contrib/mysql/my2pg.pl b/contrib/mysql/my2pg.pl
index 9ceaca46f5..737fdd57cd 100755
--- a/contrib/mysql/my2pg.pl
+++ b/contrib/mysql/my2pg.pl
@@ -36,7 +36,7 @@
# SUCH DAMAGE.
#
# $My2pg: my2pg.pl,v 1.24 2001/12/06 19:32:20 fonin Exp $
-# $Id: my2pg.pl,v 1.8 2002/04/24 01:42:29 momjian Exp $
+# $Id: my2pg.pl,v 1.9 2002/08/22 00:01:39 tgl Exp $
# TODO:
# + Handle SETs
@@ -47,6 +47,12 @@
#
# $Log: my2pg.pl,v $
+# Revision 1.9 2002/08/22 00:01:39 tgl
+# Add a bunch of pseudo-types to replace the behavior formerly associated
+# with OPAQUE, as per recent pghackers discussion. I still want to do some
+# more work on the 'cstring' pseudo-type, but I'm going to commit the bulk
+# of the changes now before the tree starts shifting under me ...
+#
# Revision 1.8 2002/04/24 01:42:29 momjian
# Update to my2pg 1.24.
#
@@ -193,7 +199,7 @@ $libtypename.='/libtypes.so';
# push header to libtypes.c
open(LIBTYPES,">$libtypesource");
print LIBTYPES "/******************************************************";
-print LIBTYPES "\n * My2Pg \$Revision: 1.8 $ \translated dump";
+print LIBTYPES "\n * My2Pg \$Revision: 1.9 $ \translated dump";
print LIBTYPES "\n * User types definitions";
print LIBTYPES "\n ******************************************************/";
print LIBTYPES "\n\n#include <postgres.h>\n";
@@ -308,11 +314,11 @@ int2* $typename"."_in (char *str) {
print LIBTYPES "\n * Types for table ".uc($table_name);
print LIBTYPES "\n */\n";
- $types.="\nCREATE FUNCTION $typename"."_in (opaque)
+ $types.="\nCREATE FUNCTION $typename"."_in (cstring)
RETURNS $typename
AS '$libtypename'
LANGUAGE 'c'
- WITH (ISCACHABLE);\n";
+ WITH (ISSTRICT, ISCACHABLE);\n";
# creating output function
my $func_out="
@@ -362,11 +368,11 @@ bool $typename"."_ge(int2* a, int2* b) {
return (*a>=*b);
}\n";
- $types.="\nCREATE FUNCTION $typename"."_out (opaque)
- RETURNS opaque
+ $types.="\nCREATE FUNCTION $typename"."_out ($typename)
+ RETURNS cstring
AS '$libtypename'
LANGUAGE 'c'
- WITH (ISCACHABLE);\n";
+ WITH (ISSTRICT, ISCACHABLE);\n";
$types.="\nCREATE TYPE $typename (
internallength = 2,
@@ -509,7 +515,7 @@ $typesize* $typename"."_in (char *str) {
print LIBTYPES "\n * Types for table ".uc($table_name);
print LIBTYPES "\n */\n";
- $types.="\nCREATE FUNCTION $typename"."_in (opaque)
+ $types.="\nCREATE FUNCTION $typename"."_in (cstring)
RETURNS $typename
AS '$libtypename'
LANGUAGE 'c';\n";
@@ -561,8 +567,8 @@ $typesize find_in_set($typesize *a, $typesize *b) {
\n";
- $types.="\nCREATE FUNCTION $typename"."_out (opaque)
- RETURNS opaque
+ $types.="\nCREATE FUNCTION $typename"."_out ($typename)
+ RETURNS cstring
AS '$libtypename'
LANGUAGE 'c';\n";
@@ -725,7 +731,7 @@ close(LIBTYPES);
open(MAKE,">Makefile");
print MAKE "#
-# My2Pg \$Revision: 1.8 $ \translated dump
+# My2Pg \$Revision: 1.9 $ \translated dump
# Makefile
#
diff --git a/contrib/noupdate/noup.sql.in b/contrib/noupdate/noup.sql.in
index abf92837d1..283876258b 100644
--- a/contrib/noupdate/noup.sql.in
+++ b/contrib/noupdate/noup.sql.in
@@ -1,6 +1,6 @@
DROP FUNCTION noup ();
CREATE FUNCTION noup ()
- RETURNS opaque
+ RETURNS trigger
AS 'MODULE_PATHNAME'
LANGUAGE 'C';
diff --git a/contrib/oracle/Ora2Pg.pm b/contrib/oracle/Ora2Pg.pm
index e2dabfc75b..a11d836550 100644
--- a/contrib/oracle/Ora2Pg.pm
+++ b/contrib/oracle/Ora2Pg.pm
@@ -854,7 +854,7 @@ print STDERR "Add triggers definition...\n" if ($self->{debug});
# Escaping Single Quotes
#$trig->[4] =~ s/'/''/sg;
- $sql_output .= "CREATE FUNCTION pg_fct_\L$trig->[0]\E () RETURNS OPAQUE AS '\n$trig->[4]\n' LANGUAGE 'plpgsql'\n\n";
+ $sql_output .= "CREATE FUNCTION pg_fct_\L$trig->[0]\E () RETURNS TRIGGER AS '\n$trig->[4]\n' LANGUAGE 'plpgsql'\n\n";
$sql_output .= "CREATE TRIGGER \L$trig->[0]\E\n\t$trig->[1] $trig->[2] ON \L$trig->[3]\E FOR EACH ROW\n\tEXECUTE PROCEDURE pg_fct_\L$trig->[0]\E();\n\n";
}
}
diff --git a/contrib/rserv/MasterInit.in b/contrib/rserv/MasterInit.in
index 68854c743a..1bfe1c9776 100644
--- a/contrib/rserv/MasterInit.in
+++ b/contrib/rserv/MasterInit.in
@@ -89,7 +89,7 @@ RollbackAndQuit($conn) if ($result->resultStatus ne PGRES_COMMAND_OK);
$result = $conn->exec("create sequence _rserv_sync_seq_");
RollbackAndQuit($conn) if ($result->resultStatus ne PGRES_COMMAND_OK);
-$result = $conn->exec("CREATE FUNCTION _rserv_log_() RETURNS opaque" .
+$result = $conn->exec("CREATE FUNCTION _rserv_log_() RETURNS trigger" .
" AS '@MODULE_FILENAME@' LANGUAGE 'c'");
RollbackAndQuit($conn) if ($result->resultStatus ne PGRES_COMMAND_OK);
diff --git a/contrib/rserv/master.sql.in b/contrib/rserv/master.sql.in
index f8d37148b9..ed6d2045bc 100644
--- a/contrib/rserv/master.sql.in
+++ b/contrib/rserv/master.sql.in
@@ -79,7 +79,7 @@ create sequence _rserv_sync_seq_;
drop function _rserv_log_();
CREATE FUNCTION _rserv_log_()
- RETURNS opaque
+ RETURNS trigger
AS '@MODULE_FILENAME@'
LANGUAGE 'c'
;
diff --git a/contrib/rtree_gist/rtree_gist.sql.in b/contrib/rtree_gist/rtree_gist.sql.in
index df254404e1..b32671227f 100644
--- a/contrib/rtree_gist/rtree_gist.sql.in
+++ b/contrib/rtree_gist/rtree_gist.sql.in
@@ -11,19 +11,19 @@ SET search_path = public;
--
--
-- define the GiST support methods
-create function gbox_consistent(opaque,box,int4) returns bool as 'MODULE_PATHNAME' language 'C';
+create function gbox_consistent(internal,box,int4) returns bool as 'MODULE_PATHNAME' language 'C';
-create function gbox_compress(opaque) returns opaque as 'MODULE_PATHNAME' language 'C';
+create function gbox_compress(internal) returns internal as 'MODULE_PATHNAME' language 'C';
-create function rtree_decompress(opaque) returns opaque as 'MODULE_PATHNAME' language 'C';
+create function rtree_decompress(internal) returns internal as 'MODULE_PATHNAME' language 'C';
-create function gbox_penalty(opaque,opaque,opaque) returns opaque as 'MODULE_PATHNAME' language 'C' with (isstrict);
+create function gbox_penalty(internal,internal,internal) returns internal as 'MODULE_PATHNAME' language 'C' with (isstrict);
-create function gbox_picksplit(opaque, opaque) returns opaque as 'MODULE_PATHNAME' language 'C';
+create function gbox_picksplit(internal, internal) returns internal as 'MODULE_PATHNAME' language 'C';
-create function gbox_union(bytea, opaque) returns box as 'MODULE_PATHNAME' language 'C';
+create function gbox_union(bytea, internal) returns box as 'MODULE_PATHNAME' language 'C';
-create function gbox_same(box, box, opaque) returns opaque as 'MODULE_PATHNAME' language 'C';
+create function gbox_same(box, box, internal) returns internal as 'MODULE_PATHNAME' language 'C';
-- create the operator class
CREATE OPERATOR CLASS gist_box_ops
@@ -36,13 +36,13 @@ CREATE OPERATOR CLASS gist_box_ops
OPERATOR 6 ~= ,
OPERATOR 7 ~ ,
OPERATOR 8 @ ,
- FUNCTION 1 gbox_consistent (opaque, box, int4),
- FUNCTION 2 gbox_union (bytea, opaque),
- FUNCTION 3 gbox_compress (opaque),
- FUNCTION 4 rtree_decompress (opaque),
- FUNCTION 5 gbox_penalty (opaque, opaque, opaque),
- FUNCTION 6 gbox_picksplit (opaque, opaque),
- FUNCTION 7 gbox_same (box, box, opaque);
+ FUNCTION 1 gbox_consistent (internal, box, int4),
+ FUNCTION 2 gbox_union (bytea, internal),
+ FUNCTION 3 gbox_compress (internal),
+ FUNCTION 4 rtree_decompress (internal),
+ FUNCTION 5 gbox_penalty (internal, internal, internal),
+ FUNCTION 6 gbox_picksplit (internal, internal),
+ FUNCTION 7 gbox_same (box, box, internal);
--
@@ -53,9 +53,9 @@ CREATE OPERATOR CLASS gist_box_ops
--
--
-- define the GiST support methods
-create function gpoly_consistent(opaque,polygon,int4) returns bool as 'MODULE_PATHNAME' language 'C';
+create function gpoly_consistent(internal,polygon,int4) returns bool as 'MODULE_PATHNAME' language 'C';
-create function gpoly_compress(opaque) returns opaque as 'MODULE_PATHNAME' language 'C';
+create function gpoly_compress(internal) returns internal as 'MODULE_PATHNAME' language 'C';
-- create the operator class
CREATE OPERATOR CLASS gist_poly_ops
@@ -68,13 +68,13 @@ CREATE OPERATOR CLASS gist_poly_ops
OPERATOR 6 ~= RECHECK ,
OPERATOR 7 ~ RECHECK ,
OPERATOR 8 @ RECHECK ,
- FUNCTION 1 gpoly_consistent (opaque, polygon, int4),
- FUNCTION 2 gbox_union (bytea, opaque),
- FUNCTION 3 gpoly_compress (opaque),
- FUNCTION 4 rtree_decompress (opaque),
- FUNCTION 5 gbox_penalty (opaque, opaque, opaque),
- FUNCTION 6 gbox_picksplit (opaque, opaque),
- FUNCTION 7 gbox_same (box, box, opaque),
+ FUNCTION 1 gpoly_consistent (internal, polygon, int4),
+ FUNCTION 2 gbox_union (bytea, internal),
+ FUNCTION 3 gpoly_compress (internal),
+ FUNCTION 4 rtree_decompress (internal),
+ FUNCTION 5 gbox_penalty (internal, internal, internal),
+ FUNCTION 6 gbox_picksplit (internal, internal),
+ FUNCTION 7 gbox_same (box, box, internal),
STORAGE box;
diff --git a/contrib/seg/seg.c b/contrib/seg/seg.c
index 097304b638..d7eea9cadd 100644
--- a/contrib/seg/seg.c
+++ b/contrib/seg/seg.c
@@ -114,14 +114,6 @@ seg_in(char *str)
return (result);
}
-/*
- * You might have noticed a slight inconsistency between the following
- * declaration and the SQL definition:
- * CREATE FUNCTION seg_out(opaque) RETURNS opaque ...
- * The reason is that the argument passed into seg_out is really just a
- * pointer. POSTGRES thinks all output functions are:
- * char *out_func(char *);
- */
char *
seg_out(SEG * seg)
{
diff --git a/contrib/seg/seg.sql.in b/contrib/seg/seg.sql.in
index 2da70ac682..cbeaa08d13 100644
--- a/contrib/seg/seg.sql.in
+++ b/contrib/seg/seg.sql.in
@@ -5,13 +5,13 @@ BEGIN TRANSACTION;
-- Adjust this setting to control where the objects get created.
SET search_path = public;
-CREATE FUNCTION seg_in(opaque)
-RETURNS opaque
+CREATE FUNCTION seg_in(cstring)
+RETURNS seg
AS 'MODULE_PATHNAME'
LANGUAGE 'c';
-CREATE FUNCTION seg_out(opaque)
-RETURNS opaque
+CREATE FUNCTION seg_out(seg)
+RETURNS cstring
AS 'MODULE_PATHNAME'
LANGUAGE 'c';
@@ -216,25 +216,25 @@ CREATE OPERATOR ~ (
-- define the GiST support methods
-CREATE FUNCTION gseg_consistent(opaque,seg,int4) RETURNS bool
+CREATE FUNCTION gseg_consistent(internal,seg,int4) RETURNS bool
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-CREATE FUNCTION gseg_compress(opaque) RETURNS opaque
+CREATE FUNCTION gseg_compress(internal) RETURNS internal
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-CREATE FUNCTION gseg_decompress(opaque) RETURNS opaque
+CREATE FUNCTION gseg_decompress(internal) RETURNS internal
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-CREATE FUNCTION gseg_penalty(opaque,opaque,opaque) RETURNS opaque
+CREATE FUNCTION gseg_penalty(internal,internal,internal) RETURNS internal
AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict);
-CREATE FUNCTION gseg_picksplit(opaque, opaque) RETURNS opaque
+CREATE FUNCTION gseg_picksplit(internal, internal) RETURNS internal
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-CREATE FUNCTION gseg_union(bytea, opaque) RETURNS seg
+CREATE FUNCTION gseg_union(bytea, internal) RETURNS seg
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-CREATE FUNCTION gseg_same(seg, seg, opaque) RETURNS opaque
+CREATE FUNCTION gseg_same(seg, seg, internal) RETURNS internal
AS 'MODULE_PATHNAME' LANGUAGE 'c';
@@ -250,13 +250,13 @@ CREATE OPERATOR CLASS gist_seg_ops
OPERATOR 6 = ,
OPERATOR 7 @ ,
OPERATOR 8 ~ ,
- FUNCTION 1 gseg_consistent (opaque, seg, int4),
- FUNCTION 2 gseg_union (bytea, opaque),
- FUNCTION 3 gseg_compress (opaque),
- FUNCTION 4 gseg_decompress (opaque),
- FUNCTION 5 gseg_penalty (opaque, opaque, opaque),
- FUNCTION 6 gseg_picksplit (opaque, opaque),
- FUNCTION 7 gseg_same (seg, seg, opaque);
+ FUNCTION 1 gseg_consistent (internal, seg, int4),
+ FUNCTION 2 gseg_union (bytea, internal),
+ FUNCTION 3 gseg_compress (internal),
+ FUNCTION 4 gseg_decompress (internal),
+ FUNCTION 5 gseg_penalty (internal, internal, internal),
+ FUNCTION 6 gseg_picksplit (internal, internal),
+ FUNCTION 7 gseg_same (seg, seg, internal);
END TRANSACTION;
diff --git a/contrib/spi/autoinc.sql.in b/contrib/spi/autoinc.sql.in
index 3676742943..172fdd74b2 100644
--- a/contrib/spi/autoinc.sql.in
+++ b/contrib/spi/autoinc.sql.in
@@ -1,6 +1,6 @@
DROP FUNCTION autoinc();
CREATE FUNCTION autoinc()
- RETURNS opaque
+ RETURNS trigger
AS 'MODULE_PATHNAME'
LANGUAGE 'C';
diff --git a/contrib/spi/insert_username.sql.in b/contrib/spi/insert_username.sql.in
index 436fc88b73..b7689a4321 100644
--- a/contrib/spi/insert_username.sql.in
+++ b/contrib/spi/insert_username.sql.in
@@ -1,6 +1,6 @@
DROP FUNCTION insert_username();
CREATE FUNCTION insert_username()
- RETURNS opaque
+ RETURNS trigger
AS 'MODULE_PATHNAME'
LANGUAGE 'C';
diff --git a/contrib/spi/moddatetime.sql.in b/contrib/spi/moddatetime.sql.in
index d497900ecf..07208787a6 100644
--- a/contrib/spi/moddatetime.sql.in
+++ b/contrib/spi/moddatetime.sql.in
@@ -1,6 +1,6 @@
DROP FUNCTION moddatetime();
CREATE FUNCTION moddatetime()
- RETURNS opaque
+ RETURNS trigger
AS 'MODULE_PATHNAME'
LANGUAGE 'C';
diff --git a/contrib/spi/refint.sql.in b/contrib/spi/refint.sql.in
index d193319d9d..688d2abd44 100644
--- a/contrib/spi/refint.sql.in
+++ b/contrib/spi/refint.sql.in
@@ -2,11 +2,11 @@ DROP FUNCTION check_primary_key ();
DROP FUNCTION check_foreign_key ();
CREATE FUNCTION check_primary_key ()
- RETURNS opaque
+ RETURNS trigger
AS 'MODULE_PATHNAME'
LANGUAGE 'C';
CREATE FUNCTION check_foreign_key ()
- RETURNS opaque
+ RETURNS trigger
AS 'MODULE_PATHNAME'
LANGUAGE 'C';
diff --git a/contrib/spi/timetravel.sql.in b/contrib/spi/timetravel.sql.in
index 46912abf6d..f519b93de1 100644
--- a/contrib/spi/timetravel.sql.in
+++ b/contrib/spi/timetravel.sql.in
@@ -2,7 +2,7 @@ DROP FUNCTION timetravel();
DROP FUNCTION set_timetravel(name, int4);
CREATE FUNCTION timetravel()
- RETURNS opaque
+ RETURNS trigger
AS 'MODULE_PATHNAME'
LANGUAGE 'C';
diff --git a/contrib/string/string_io.sql.in b/contrib/string/string_io.sql.in
index 2a15e4b535..8718b812bb 100644
--- a/contrib/string/string_io.sql.in
+++ b/contrib/string/string_io.sql.in
@@ -9,21 +9,21 @@
-- Define the new output functions.
--
-create function c_charout(opaque) returns int4
+create function c_charout(bpchar) returns cstring
as 'MODULE_PATHNAME'
language 'c';
-create function c_textout(opaque) returns int4
+create function c_textout(text) returns cstring
as 'MODULE_PATHNAME'
language 'c';
-create function c_varcharout(opaque) returns int4
+create function c_varcharout(varchar) returns cstring
as 'MODULE_PATHNAME'
language 'c';
-- This is not needed because escapes are handled by the parser
--
--- create function c_textin(opaque)
+-- create function c_textin(cstring)
-- returns text
-- as 'MODULE_PATHNAME'
-- language 'c';
diff --git a/contrib/tsearch/tsearch.sql.in b/contrib/tsearch/tsearch.sql.in
index 356427f2a4..a709a14758 100644
--- a/contrib/tsearch/tsearch.sql.in
+++ b/contrib/tsearch/tsearch.sql.in
@@ -5,13 +5,13 @@ SET search_path = public;
-- TXTIDX type
-CREATE FUNCTION txtidx_in(opaque)
-RETURNS opaque
+CREATE FUNCTION txtidx_in(cstring)
+RETURNS txtidx
AS 'MODULE_PATHNAME'
LANGUAGE 'c' with (isstrict);
-CREATE FUNCTION txtidx_out(opaque)
-RETURNS opaque
+CREATE FUNCTION txtidx_out(txtidx)
+RETURNS cstring
AS 'MODULE_PATHNAME'
LANGUAGE 'c' with (isstrict);
@@ -34,13 +34,13 @@ LANGUAGE 'c' with (isstrict);
--QUERYTYPES
--without morphology
-CREATE FUNCTION qtxt_in(opaque)
-RETURNS opaque
+CREATE FUNCTION qtxt_in(cstring)
+RETURNS query_txt
AS 'MODULE_PATHNAME'
LANGUAGE 'c' with (isstrict);
-CREATE FUNCTION qtxt_out(opaque)
-RETURNS opaque
+CREATE FUNCTION qtxt_out(query_txt)
+RETURNS cstring
AS 'MODULE_PATHNAME'
LANGUAGE 'c' with (isstrict);
@@ -51,15 +51,21 @@ output = qtxt_out
);
--with morphology
-CREATE FUNCTION mqtxt_in(opaque)
-RETURNS opaque
+CREATE FUNCTION mqtxt_in(cstring)
+RETURNS mquery_txt
AS 'MODULE_PATHNAME'
LANGUAGE 'c' with (isstrict);
+--same C output function as for query_txt
+CREATE FUNCTION mqtxt_out(mquery_txt)
+RETURNS cstring
+AS 'MODULE_PATHNAME', 'qtxt_out'
+LANGUAGE 'c' with (isstrict);
+
CREATE TYPE mquery_txt (
internallength = -1,
input = mqtxt_in,
-output = qtxt_out
+output = mqtxt_out
);
--only for debug
@@ -115,19 +121,19 @@ CREATE OPERATOR ~# (
);
--Trigger
-create function tsearch() returns opaque as
+create function tsearch() returns trigger as
'MODULE_PATHNAME'
language 'C';
--GiST
--GiST key type
-CREATE FUNCTION gtxtidx_in(opaque)
-RETURNS opaque
+CREATE FUNCTION gtxtidx_in(cstring)
+RETURNS gtxtidx
AS 'MODULE_PATHNAME'
LANGUAGE 'c' with (isstrict);
-CREATE FUNCTION gtxtidx_out(opaque)
-RETURNS opaque
+CREATE FUNCTION gtxtidx_out(gtxtidx)
+RETURNS cstring
AS 'MODULE_PATHNAME'
LANGUAGE 'c' with (isstrict);
@@ -138,25 +144,25 @@ output = gtxtidx_out
);
-- support functions
-CREATE FUNCTION gtxtidx_consistent(gtxtidx,opaque,int4) RETURNS bool
+CREATE FUNCTION gtxtidx_consistent(gtxtidx,internal,int4) RETURNS bool
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-CREATE FUNCTION gtxtidx_compress(opaque) RETURNS opaque
+CREATE FUNCTION gtxtidx_compress(internal) RETURNS internal
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-CREATE FUNCTION gtxtidx_decompress(opaque) RETURNS opaque
+CREATE FUNCTION gtxtidx_decompress(internal) RETURNS internal
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-CREATE FUNCTION gtxtidx_penalty(opaque,opaque,opaque) RETURNS opaque
+CREATE FUNCTION gtxtidx_penalty(internal,internal,internal) RETURNS internal
AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict);
-CREATE FUNCTION gtxtidx_picksplit(opaque, opaque) RETURNS opaque
+CREATE FUNCTION gtxtidx_picksplit(internal, internal) RETURNS internal
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-CREATE FUNCTION gtxtidx_union(bytea, opaque) RETURNS _int4
+CREATE FUNCTION gtxtidx_union(bytea, internal) RETURNS _int4
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-CREATE FUNCTION gtxtidx_same(gtxtidx, gtxtidx, opaque) RETURNS opaque
+CREATE FUNCTION gtxtidx_same(gtxtidx, gtxtidx, internal) RETURNS internal
AS 'MODULE_PATHNAME' LANGUAGE 'c';
-- create the operator class
@@ -164,13 +170,13 @@ CREATE OPERATOR CLASS gist_txtidx_ops
DEFAULT FOR TYPE txtidx USING gist AS
OPERATOR 1 @@ (txtidx, query_txt) RECHECK ,
OPERATOR 2 ## (txtidx, mquery_txt) RECHECK ,
- FUNCTION 1 gtxtidx_consistent (gtxtidx, opaque, int4),
- FUNCTION 2 gtxtidx_union (bytea, opaque),
- FUNCTION 3 gtxtidx_compress (opaque),
- FUNCTION 4 gtxtidx_decompress (opaque),
- FUNCTION 5 gtxtidx_penalty (opaque, opaque, opaque),
- FUNCTION 6 gtxtidx_picksplit (opaque, opaque),
- FUNCTION 7 gtxtidx_same (gtxtidx, gtxtidx, opaque),
+ FUNCTION 1 gtxtidx_consistent (gtxtidx, internal, int4),
+ FUNCTION 2 gtxtidx_union (bytea, internal),
+ FUNCTION 3 gtxtidx_compress (internal),
+ FUNCTION 4 gtxtidx_decompress (internal),
+ FUNCTION 5 gtxtidx_penalty (internal, internal, internal),
+ FUNCTION 6 gtxtidx_picksplit (internal, internal),
+ FUNCTION 7 gtxtidx_same (gtxtidx, gtxtidx, internal),
STORAGE gtxtidx;