Commit 029fac22 authored by Tom Lane's avatar Tom Lane

Avoid use of CREATE OR REPLACE FUNCTION in extension installation files.

It was never terribly consistent to use OR REPLACE (because of the lack of
comparable functionality for data types, operators, etc), and
experimentation shows that it's now positively pernicious in the extension
world.  We really want a failure to occur if there are any conflicts, else
it's unclear what the extension-ownership state of the conflicted object
ought to be.  Most of the time, CREATE EXTENSION will fail anyway because
of conflicts on other object types, but an extension defining only
functions can succeed, with bad results.
parent 629b3af2
...@@ -6,27 +6,27 @@ ...@@ -6,27 +6,27 @@
/* generic file access functions */ /* generic file access functions */
CREATE OR REPLACE FUNCTION pg_catalog.pg_file_write(text, text, bool) CREATE FUNCTION pg_catalog.pg_file_write(text, text, bool)
RETURNS bigint RETURNS bigint
AS 'MODULE_PATHNAME', 'pg_file_write' AS 'MODULE_PATHNAME', 'pg_file_write'
LANGUAGE C VOLATILE STRICT; LANGUAGE C VOLATILE STRICT;
CREATE OR REPLACE FUNCTION pg_catalog.pg_file_rename(text, text, text) CREATE FUNCTION pg_catalog.pg_file_rename(text, text, text)
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME', 'pg_file_rename' AS 'MODULE_PATHNAME', 'pg_file_rename'
LANGUAGE C VOLATILE; LANGUAGE C VOLATILE;
CREATE OR REPLACE FUNCTION pg_catalog.pg_file_rename(text, text) CREATE FUNCTION pg_catalog.pg_file_rename(text, text)
RETURNS bool RETURNS bool
AS 'SELECT pg_catalog.pg_file_rename($1, $2, NULL::pg_catalog.text);' AS 'SELECT pg_catalog.pg_file_rename($1, $2, NULL::pg_catalog.text);'
LANGUAGE SQL VOLATILE STRICT; LANGUAGE SQL VOLATILE STRICT;
CREATE OR REPLACE FUNCTION pg_catalog.pg_file_unlink(text) CREATE FUNCTION pg_catalog.pg_file_unlink(text)
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME', 'pg_file_unlink' AS 'MODULE_PATHNAME', 'pg_file_unlink'
LANGUAGE C VOLATILE STRICT; LANGUAGE C VOLATILE STRICT;
CREATE OR REPLACE FUNCTION pg_catalog.pg_logdir_ls() CREATE FUNCTION pg_catalog.pg_logdir_ls()
RETURNS setof record RETURNS setof record
AS 'MODULE_PATHNAME', 'pg_logdir_ls' AS 'MODULE_PATHNAME', 'pg_logdir_ls'
LANGUAGE C VOLATILE STRICT; LANGUAGE C VOLATILE STRICT;
...@@ -34,17 +34,17 @@ LANGUAGE C VOLATILE STRICT; ...@@ -34,17 +34,17 @@ LANGUAGE C VOLATILE STRICT;
/* Renaming of existing backend functions for pgAdmin compatibility */ /* Renaming of existing backend functions for pgAdmin compatibility */
CREATE OR REPLACE FUNCTION pg_catalog.pg_file_read(text, bigint, bigint) CREATE FUNCTION pg_catalog.pg_file_read(text, bigint, bigint)
RETURNS text RETURNS text
AS 'pg_read_file' AS 'pg_read_file'
LANGUAGE INTERNAL VOLATILE STRICT; LANGUAGE INTERNAL VOLATILE STRICT;
CREATE OR REPLACE FUNCTION pg_catalog.pg_file_length(text) CREATE FUNCTION pg_catalog.pg_file_length(text)
RETURNS bigint RETURNS bigint
AS 'SELECT size FROM pg_catalog.pg_stat_file($1)' AS 'SELECT size FROM pg_catalog.pg_stat_file($1)'
LANGUAGE SQL VOLATILE STRICT; LANGUAGE SQL VOLATILE STRICT;
CREATE OR REPLACE FUNCTION pg_catalog.pg_logfile_rotate() CREATE FUNCTION pg_catalog.pg_logfile_rotate()
RETURNS int4 RETURNS int4
AS 'pg_rotate_logfile' AS 'pg_rotate_logfile'
LANGUAGE INTERNAL VOLATILE STRICT; LANGUAGE INTERNAL VOLATILE STRICT;
This diff is collapsed.
This diff is collapsed.
...@@ -4,12 +4,12 @@ ...@@ -4,12 +4,12 @@
-- Input and output functions and the type itself: -- Input and output functions and the type itself:
-- --
CREATE OR REPLACE FUNCTION chkpass_in(cstring) CREATE FUNCTION chkpass_in(cstring)
RETURNS chkpass RETURNS chkpass
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION chkpass_out(chkpass) CREATE FUNCTION chkpass_out(chkpass)
RETURNS cstring RETURNS cstring
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT; LANGUAGE C STRICT;
...@@ -20,7 +20,7 @@ CREATE TYPE chkpass ( ...@@ -20,7 +20,7 @@ CREATE TYPE chkpass (
output = chkpass_out output = chkpass_out
); );
CREATE OR REPLACE FUNCTION raw(chkpass) CREATE FUNCTION raw(chkpass)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME', 'chkpass_rout' AS 'MODULE_PATHNAME', 'chkpass_rout'
LANGUAGE C STRICT; LANGUAGE C STRICT;
...@@ -29,12 +29,12 @@ CREATE OR REPLACE FUNCTION raw(chkpass) ...@@ -29,12 +29,12 @@ CREATE OR REPLACE FUNCTION raw(chkpass)
-- The various boolean tests: -- The various boolean tests:
-- --
CREATE OR REPLACE FUNCTION eq(chkpass, text) CREATE FUNCTION eq(chkpass, text)
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME', 'chkpass_eq' AS 'MODULE_PATHNAME', 'chkpass_eq'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION ne(chkpass, text) CREATE FUNCTION ne(chkpass, text)
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME', 'chkpass_ne' AS 'MODULE_PATHNAME', 'chkpass_ne'
LANGUAGE C STRICT; LANGUAGE C STRICT;
......
...@@ -16,22 +16,22 @@ CREATE TYPE citext; ...@@ -16,22 +16,22 @@ CREATE TYPE citext;
-- --
-- Input and output functions. -- Input and output functions.
-- --
CREATE OR REPLACE FUNCTION citextin(cstring) CREATE FUNCTION citextin(cstring)
RETURNS citext RETURNS citext
AS 'textin' AS 'textin'
LANGUAGE internal IMMUTABLE STRICT; LANGUAGE internal IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION citextout(citext) CREATE FUNCTION citextout(citext)
RETURNS cstring RETURNS cstring
AS 'textout' AS 'textout'
LANGUAGE internal IMMUTABLE STRICT; LANGUAGE internal IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION citextrecv(internal) CREATE FUNCTION citextrecv(internal)
RETURNS citext RETURNS citext
AS 'textrecv' AS 'textrecv'
LANGUAGE internal STABLE STRICT; LANGUAGE internal STABLE STRICT;
CREATE OR REPLACE FUNCTION citextsend(citext) CREATE FUNCTION citextsend(citext)
RETURNS bytea RETURNS bytea
AS 'textsend' AS 'textsend'
LANGUAGE internal STABLE STRICT; LANGUAGE internal STABLE STRICT;
...@@ -58,17 +58,17 @@ CREATE TYPE citext ( ...@@ -58,17 +58,17 @@ CREATE TYPE citext (
-- automatically kick in. -- automatically kick in.
-- --
CREATE OR REPLACE FUNCTION citext(bpchar) CREATE FUNCTION citext(bpchar)
RETURNS citext RETURNS citext
AS 'rtrim1' AS 'rtrim1'
LANGUAGE internal IMMUTABLE STRICT; LANGUAGE internal IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION citext(boolean) CREATE FUNCTION citext(boolean)
RETURNS citext RETURNS citext
AS 'booltext' AS 'booltext'
LANGUAGE internal IMMUTABLE STRICT; LANGUAGE internal IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION citext(inet) CREATE FUNCTION citext(inet)
RETURNS citext RETURNS citext
AS 'network_show' AS 'network_show'
LANGUAGE internal IMMUTABLE STRICT; LANGUAGE internal IMMUTABLE STRICT;
...@@ -90,32 +90,32 @@ CREATE CAST (inet AS citext) WITH FUNCTION citext(inet) AS ASSIGNMENT; ...@@ -90,32 +90,32 @@ CREATE CAST (inet AS citext) WITH FUNCTION citext(inet) AS ASSIGNMENT;
-- Operator Functions. -- Operator Functions.
-- --
CREATE OR REPLACE FUNCTION citext_eq( citext, citext ) CREATE FUNCTION citext_eq( citext, citext )
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION citext_ne( citext, citext ) CREATE FUNCTION citext_ne( citext, citext )
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION citext_lt( citext, citext ) CREATE FUNCTION citext_lt( citext, citext )
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION citext_le( citext, citext ) CREATE FUNCTION citext_le( citext, citext )
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION citext_gt( citext, citext ) CREATE FUNCTION citext_gt( citext, citext )
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION citext_ge( citext, citext ) CREATE FUNCTION citext_ge( citext, citext )
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
...@@ -190,12 +190,12 @@ CREATE OPERATOR > ( ...@@ -190,12 +190,12 @@ CREATE OPERATOR > (
-- Support functions for indexing. -- Support functions for indexing.
-- --
CREATE OR REPLACE FUNCTION citext_cmp(citext, citext) CREATE FUNCTION citext_cmp(citext, citext)
RETURNS int4 RETURNS int4
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
CREATE OR REPLACE FUNCTION citext_hash(citext) CREATE FUNCTION citext_hash(citext)
RETURNS int4 RETURNS int4
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
...@@ -226,12 +226,12 @@ DEFAULT FOR TYPE citext USING hash AS ...@@ -226,12 +226,12 @@ DEFAULT FOR TYPE citext USING hash AS
-- Aggregates. -- Aggregates.
-- --
CREATE OR REPLACE FUNCTION citext_smaller(citext, citext) CREATE FUNCTION citext_smaller(citext, citext)
RETURNS citext RETURNS citext
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE 'C' IMMUTABLE STRICT; LANGUAGE 'C' IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION citext_larger(citext, citext) CREATE FUNCTION citext_larger(citext, citext)
RETURNS citext RETURNS citext
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE 'C' IMMUTABLE STRICT; LANGUAGE 'C' IMMUTABLE STRICT;
...@@ -252,19 +252,19 @@ CREATE AGGREGATE max(citext) ( ...@@ -252,19 +252,19 @@ CREATE AGGREGATE max(citext) (
-- CITEXT pattern matching. -- CITEXT pattern matching.
-- --
CREATE OR REPLACE FUNCTION texticlike(citext, citext) CREATE FUNCTION texticlike(citext, citext)
RETURNS bool AS 'texticlike' RETURNS bool AS 'texticlike'
LANGUAGE internal IMMUTABLE STRICT; LANGUAGE internal IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION texticnlike(citext, citext) CREATE FUNCTION texticnlike(citext, citext)
RETURNS bool AS 'texticnlike' RETURNS bool AS 'texticnlike'
LANGUAGE internal IMMUTABLE STRICT; LANGUAGE internal IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION texticregexeq(citext, citext) CREATE FUNCTION texticregexeq(citext, citext)
RETURNS bool AS 'texticregexeq' RETURNS bool AS 'texticregexeq'
LANGUAGE internal IMMUTABLE STRICT; LANGUAGE internal IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION texticregexne(citext, citext) CREATE FUNCTION texticregexne(citext, citext)
RETURNS bool AS 'texticregexne' RETURNS bool AS 'texticregexne'
LANGUAGE internal IMMUTABLE STRICT; LANGUAGE internal IMMUTABLE STRICT;
...@@ -344,19 +344,19 @@ CREATE OPERATOR !~~* ( ...@@ -344,19 +344,19 @@ CREATE OPERATOR !~~* (
-- Matching citext to text. -- Matching citext to text.
-- --
CREATE OR REPLACE FUNCTION texticlike(citext, text) CREATE FUNCTION texticlike(citext, text)
RETURNS bool AS 'texticlike' RETURNS bool AS 'texticlike'
LANGUAGE internal IMMUTABLE STRICT; LANGUAGE internal IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION texticnlike(citext, text) CREATE FUNCTION texticnlike(citext, text)
RETURNS bool AS 'texticnlike' RETURNS bool AS 'texticnlike'
LANGUAGE internal IMMUTABLE STRICT; LANGUAGE internal IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION texticregexeq(citext, text) CREATE FUNCTION texticregexeq(citext, text)
RETURNS bool AS 'texticregexeq' RETURNS bool AS 'texticregexeq'
LANGUAGE internal IMMUTABLE STRICT; LANGUAGE internal IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION texticregexne(citext, text) CREATE FUNCTION texticregexne(citext, text)
RETURNS bool AS 'texticregexne' RETURNS bool AS 'texticregexne'
LANGUAGE internal IMMUTABLE STRICT; LANGUAGE internal IMMUTABLE STRICT;
...@@ -437,50 +437,50 @@ CREATE OPERATOR !~~* ( ...@@ -437,50 +437,50 @@ CREATE OPERATOR !~~* (
-- XXX TODO Ideally these would be implemented in C. -- XXX TODO Ideally these would be implemented in C.
-- --
CREATE OR REPLACE FUNCTION regexp_matches( citext, citext ) RETURNS TEXT[] AS $$ CREATE FUNCTION regexp_matches( citext, citext ) RETURNS TEXT[] AS $$
SELECT pg_catalog.regexp_matches( $1::pg_catalog.text, $2::pg_catalog.text, 'i' ); SELECT pg_catalog.regexp_matches( $1::pg_catalog.text, $2::pg_catalog.text, 'i' );
$$ LANGUAGE SQL IMMUTABLE STRICT; $$ LANGUAGE SQL IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION regexp_matches( citext, citext, text ) RETURNS TEXT[] AS $$ CREATE FUNCTION regexp_matches( citext, citext, text ) RETURNS TEXT[] AS $$
SELECT pg_catalog.regexp_matches( $1::pg_catalog.text, $2::pg_catalog.text, CASE WHEN pg_catalog.strpos($3, 'c') = 0 THEN $3 || 'i' ELSE $3 END ); SELECT pg_catalog.regexp_matches( $1::pg_catalog.text, $2::pg_catalog.text, CASE WHEN pg_catalog.strpos($3, 'c') = 0 THEN $3 || 'i' ELSE $3 END );
$$ LANGUAGE SQL IMMUTABLE STRICT; $$ LANGUAGE SQL IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION regexp_replace( citext, citext, text ) returns TEXT AS $$ CREATE FUNCTION regexp_replace( citext, citext, text ) returns TEXT AS $$
SELECT pg_catalog.regexp_replace( $1::pg_catalog.text, $2::pg_catalog.text, $3, 'i'); SELECT pg_catalog.regexp_replace( $1::pg_catalog.text, $2::pg_catalog.text, $3, 'i');
$$ LANGUAGE SQL IMMUTABLE STRICT; $$ LANGUAGE SQL IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION regexp_replace( citext, citext, text, text ) returns TEXT AS $$ CREATE FUNCTION regexp_replace( citext, citext, text, text ) returns TEXT AS $$
SELECT pg_catalog.regexp_replace( $1::pg_catalog.text, $2::pg_catalog.text, $3, CASE WHEN pg_catalog.strpos($4, 'c') = 0 THEN $4 || 'i' ELSE $4 END); SELECT pg_catalog.regexp_replace( $1::pg_catalog.text, $2::pg_catalog.text, $3, CASE WHEN pg_catalog.strpos($4, 'c') = 0 THEN $4 || 'i' ELSE $4 END);
$$ LANGUAGE SQL IMMUTABLE STRICT; $$ LANGUAGE SQL IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION regexp_split_to_array( citext, citext ) RETURNS TEXT[] AS $$ CREATE FUNCTION regexp_split_to_array( citext, citext ) RETURNS TEXT[] AS $$
SELECT pg_catalog.regexp_split_to_array( $1::pg_catalog.text, $2::pg_catalog.text, 'i' ); SELECT pg_catalog.regexp_split_to_array( $1::pg_catalog.text, $2::pg_catalog.text, 'i' );
$$ LANGUAGE SQL IMMUTABLE STRICT; $$ LANGUAGE SQL IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION regexp_split_to_array( citext, citext, text ) RETURNS TEXT[] AS $$ CREATE FUNCTION regexp_split_to_array( citext, citext, text ) RETURNS TEXT[] AS $$
SELECT pg_catalog.regexp_split_to_array( $1::pg_catalog.text, $2::pg_catalog.text, CASE WHEN pg_catalog.strpos($3, 'c') = 0 THEN $3 || 'i' ELSE $3 END ); SELECT pg_catalog.regexp_split_to_array( $1::pg_catalog.text, $2::pg_catalog.text, CASE WHEN pg_catalog.strpos($3, 'c') = 0 THEN $3 || 'i' ELSE $3 END );
$$ LANGUAGE SQL IMMUTABLE STRICT; $$ LANGUAGE SQL IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION regexp_split_to_table( citext, citext ) RETURNS SETOF TEXT AS $$ CREATE FUNCTION regexp_split_to_table( citext, citext ) RETURNS SETOF TEXT AS $$
SELECT pg_catalog.regexp_split_to_table( $1::pg_catalog.text, $2::pg_catalog.text, 'i' ); SELECT pg_catalog.regexp_split_to_table( $1::pg_catalog.text, $2::pg_catalog.text, 'i' );
$$ LANGUAGE SQL IMMUTABLE STRICT; $$ LANGUAGE SQL IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION regexp_split_to_table( citext, citext, text ) RETURNS SETOF TEXT AS $$ CREATE FUNCTION regexp_split_to_table( citext, citext, text ) RETURNS SETOF TEXT AS $$
SELECT pg_catalog.regexp_split_to_table( $1::pg_catalog.text, $2::pg_catalog.text, CASE WHEN pg_catalog.strpos($3, 'c') = 0 THEN $3 || 'i' ELSE $3 END ); SELECT pg_catalog.regexp_split_to_table( $1::pg_catalog.text, $2::pg_catalog.text, CASE WHEN pg_catalog.strpos($3, 'c') = 0 THEN $3 || 'i' ELSE $3 END );
$$ LANGUAGE SQL IMMUTABLE STRICT; $$ LANGUAGE SQL IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION strpos( citext, citext ) RETURNS INT AS $$ CREATE FUNCTION strpos( citext, citext ) RETURNS INT AS $$
SELECT pg_catalog.strpos( pg_catalog.lower( $1::pg_catalog.text ), pg_catalog.lower( $2::pg_catalog.text ) ); SELECT pg_catalog.strpos( pg_catalog.lower( $1::pg_catalog.text ), pg_catalog.lower( $2::pg_catalog.text ) );
$$ LANGUAGE SQL IMMUTABLE STRICT; $$ LANGUAGE SQL IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION replace( citext, citext, citext ) RETURNS TEXT AS $$ CREATE FUNCTION replace( citext, citext, citext ) RETURNS TEXT AS $$
SELECT pg_catalog.regexp_replace( $1::pg_catalog.text, pg_catalog.regexp_replace($2::pg_catalog.text, '([^a-zA-Z_0-9])', E'\\\\\\1', 'g'), $3::pg_catalog.text, 'gi' ); SELECT pg_catalog.regexp_replace( $1::pg_catalog.text, pg_catalog.regexp_replace($2::pg_catalog.text, '([^a-zA-Z_0-9])', E'\\\\\\1', 'g'), $3::pg_catalog.text, 'gi' );
$$ LANGUAGE SQL IMMUTABLE STRICT; $$ LANGUAGE SQL IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION split_part( citext, citext, int ) RETURNS TEXT AS $$ CREATE FUNCTION split_part( citext, citext, int ) RETURNS TEXT AS $$
SELECT (pg_catalog.regexp_split_to_array( $1::pg_catalog.text, pg_catalog.regexp_replace($2::pg_catalog.text, '([^a-zA-Z_0-9])', E'\\\\\\1', 'g'), 'i'))[$3]; SELECT (pg_catalog.regexp_split_to_array( $1::pg_catalog.text, pg_catalog.regexp_replace($2::pg_catalog.text, '([^a-zA-Z_0-9])', E'\\\\\\1', 'g'), 'i'))[$3];
$$ LANGUAGE SQL IMMUTABLE STRICT; $$ LANGUAGE SQL IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION translate( citext, citext, text ) RETURNS TEXT AS $$ CREATE FUNCTION translate( citext, citext, text ) RETURNS TEXT AS $$
SELECT pg_catalog.translate( pg_catalog.translate( $1::pg_catalog.text, pg_catalog.lower($2::pg_catalog.text), $3), pg_catalog.upper($2::pg_catalog.text), $3); SELECT pg_catalog.translate( pg_catalog.translate( $1::pg_catalog.text, pg_catalog.lower($2::pg_catalog.text), $3), pg_catalog.upper($2::pg_catalog.text), $3);
$$ LANGUAGE SQL IMMUTABLE STRICT; $$ LANGUAGE SQL IMMUTABLE STRICT;
...@@ -2,20 +2,20 @@ ...@@ -2,20 +2,20 @@
-- Create the user-defined type for N-dimensional boxes -- Create the user-defined type for N-dimensional boxes
CREATE OR REPLACE FUNCTION cube_in(cstring) CREATE FUNCTION cube_in(cstring)
RETURNS cube RETURNS cube
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION cube(float8[], float8[]) RETURNS cube CREATE FUNCTION cube(float8[], float8[]) RETURNS cube
AS 'MODULE_PATHNAME', 'cube_a_f8_f8' AS 'MODULE_PATHNAME', 'cube_a_f8_f8'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION cube(float8[]) RETURNS cube CREATE FUNCTION cube(float8[]) RETURNS cube
AS 'MODULE_PATHNAME', 'cube_a_f8' AS 'MODULE_PATHNAME', 'cube_a_f8'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION cube_out(cube) CREATE FUNCTION cube_out(cube)
RETURNS cstring RETURNS cstring
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
...@@ -35,70 +35,70 @@ COMMENT ON TYPE cube IS 'multi-dimensional cube ''(FLOAT-1, FLOAT-2, ..., FLOAT- ...@@ -35,70 +35,70 @@ COMMENT ON TYPE cube IS 'multi-dimensional cube ''(FLOAT-1, FLOAT-2, ..., FLOAT-
-- Comparison methods -- Comparison methods
CREATE OR REPLACE FUNCTION cube_eq(cube, cube) CREATE FUNCTION cube_eq(cube, cube)
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
COMMENT ON FUNCTION cube_eq(cube, cube) IS 'same as'; COMMENT ON FUNCTION cube_eq(cube, cube) IS 'same as';
CREATE OR REPLACE FUNCTION cube_ne(cube, cube) CREATE FUNCTION cube_ne(cube, cube)
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
COMMENT ON FUNCTION cube_ne(cube, cube) IS 'different'; COMMENT ON FUNCTION cube_ne(cube, cube) IS 'different';
CREATE OR REPLACE FUNCTION cube_lt(cube, cube) CREATE FUNCTION cube_lt(cube, cube)
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
COMMENT ON FUNCTION cube_lt(cube, cube) IS 'lower than'; COMMENT ON FUNCTION cube_lt(cube, cube) IS 'lower than';
CREATE OR REPLACE FUNCTION cube_gt(cube, cube) CREATE FUNCTION cube_gt(cube, cube)
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
COMMENT ON FUNCTION cube_gt(cube, cube) IS 'greater than'; COMMENT ON FUNCTION cube_gt(cube, cube) IS 'greater than';
CREATE OR REPLACE FUNCTION cube_le(cube, cube) CREATE FUNCTION cube_le(cube, cube)
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
COMMENT ON FUNCTION cube_le(cube, cube) IS 'lower than or equal to'; COMMENT ON FUNCTION cube_le(cube, cube) IS 'lower than or equal to';
CREATE OR REPLACE FUNCTION cube_ge(cube, cube) CREATE FUNCTION cube_ge(cube, cube)
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
COMMENT ON FUNCTION cube_ge(cube, cube) IS 'greater than or equal to'; COMMENT ON FUNCTION cube_ge(cube, cube) IS 'greater than or equal to';
CREATE OR REPLACE FUNCTION cube_cmp(cube, cube) CREATE FUNCTION cube_cmp(cube, cube)
RETURNS int4 RETURNS int4
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
COMMENT ON FUNCTION cube_cmp(cube, cube) IS 'btree comparison function'; COMMENT ON FUNCTION cube_cmp(cube, cube) IS 'btree comparison function';
CREATE OR REPLACE FUNCTION cube_contains(cube, cube) CREATE FUNCTION cube_contains(cube, cube)
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
COMMENT ON FUNCTION cube_contains(cube, cube) IS 'contains'; COMMENT ON FUNCTION cube_contains(cube, cube) IS 'contains';
CREATE OR REPLACE FUNCTION cube_contained(cube, cube) CREATE FUNCTION cube_contained(cube, cube)
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
COMMENT ON FUNCTION cube_contained(cube, cube) IS 'contained in'; COMMENT ON FUNCTION cube_contained(cube, cube) IS 'contained in';
CREATE OR REPLACE FUNCTION cube_overlap(cube, cube) CREATE FUNCTION cube_overlap(cube, cube)
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
...@@ -107,17 +107,17 @@ COMMENT ON FUNCTION cube_overlap(cube, cube) IS 'overlaps'; ...@@ -107,17 +107,17 @@ COMMENT ON FUNCTION cube_overlap(cube, cube) IS 'overlaps';
-- support routines for indexing -- support routines for indexing
CREATE OR REPLACE FUNCTION cube_union(cube, cube) CREATE FUNCTION cube_union(cube, cube)
RETURNS cube RETURNS cube
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION cube_inter(cube, cube) CREATE FUNCTION cube_inter(cube, cube)
RETURNS cube RETURNS cube
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION cube_size(cube) CREATE FUNCTION cube_size(cube)
RETURNS float8 RETURNS float8
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
...@@ -125,61 +125,61 @@ LANGUAGE C IMMUTABLE STRICT; ...@@ -125,61 +125,61 @@ LANGUAGE C IMMUTABLE STRICT;
-- Misc N-dimensional functions -- Misc N-dimensional functions
CREATE OR REPLACE FUNCTION cube_subset(cube, int4[]) CREATE FUNCTION cube_subset(cube, int4[])
RETURNS cube RETURNS cube
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
-- proximity routines -- proximity routines
CREATE OR REPLACE FUNCTION cube_distance(cube, cube) CREATE FUNCTION cube_distance(cube, cube)
RETURNS float8 RETURNS float8
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
-- Extracting elements functions -- Extracting elements functions
CREATE OR REPLACE FUNCTION cube_dim(cube) CREATE FUNCTION cube_dim(cube)
RETURNS int4 RETURNS int4
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION cube_ll_coord(cube, int4) CREATE FUNCTION cube_ll_coord(cube, int4)
RETURNS float8 RETURNS float8
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION cube_ur_coord(cube, int4) CREATE FUNCTION cube_ur_coord(cube, int4)
RETURNS float8 RETURNS float8
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION cube(float8) RETURNS cube CREATE FUNCTION cube(float8) RETURNS cube
AS 'MODULE_PATHNAME', 'cube_f8' AS 'MODULE_PATHNAME', 'cube_f8'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION cube(float8, float8) RETURNS cube CREATE FUNCTION cube(float8, float8) RETURNS cube
AS 'MODULE_PATHNAME', 'cube_f8_f8' AS 'MODULE_PATHNAME', 'cube_f8_f8'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION cube(cube, float8) RETURNS cube CREATE FUNCTION cube(cube, float8) RETURNS cube
AS 'MODULE_PATHNAME', 'cube_c_f8' AS 'MODULE_PATHNAME', 'cube_c_f8'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION cube(cube, float8, float8) RETURNS cube CREATE FUNCTION cube(cube, float8, float8) RETURNS cube
AS 'MODULE_PATHNAME', 'cube_c_f8_f8' AS 'MODULE_PATHNAME', 'cube_c_f8_f8'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
-- Test if cube is also a point -- Test if cube is also a point
CREATE OR REPLACE FUNCTION cube_is_point(cube) CREATE FUNCTION cube_is_point(cube)
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
-- Increasing the size of a cube by a radius in at least n dimensions -- Increasing the size of a cube by a radius in at least n dimensions
CREATE OR REPLACE FUNCTION cube_enlarge(cube, float8, int4) CREATE FUNCTION cube_enlarge(cube, float8, int4)
RETURNS cube RETURNS cube
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
...@@ -258,37 +258,37 @@ CREATE OPERATOR ~ ( ...@@ -258,37 +258,37 @@ CREATE OPERATOR ~ (
-- define the GiST support methods -- define the GiST support methods
CREATE OR REPLACE FUNCTION g_cube_consistent(internal,cube,int,oid,internal) CREATE FUNCTION g_cube_consistent(internal,cube,int,oid,internal)
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION g_cube_compress(internal) CREATE FUNCTION g_cube_compress(internal)
RETURNS internal RETURNS internal
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION g_cube_decompress(internal) CREATE FUNCTION g_cube_decompress(internal)
RETURNS internal RETURNS internal
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION g_cube_penalty(internal,internal,internal) CREATE FUNCTION g_cube_penalty(internal,internal,internal)
RETURNS internal RETURNS internal
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION g_cube_picksplit(internal, internal) CREATE FUNCTION g_cube_picksplit(internal, internal)
RETURNS internal RETURNS internal
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION g_cube_union(internal, internal) CREATE FUNCTION g_cube_union(internal, internal)
RETURNS cube RETURNS cube
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION g_cube_same(cube, cube, internal) CREATE FUNCTION g_cube_same(cube, cube, internal)
RETURNS internal RETURNS internal
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
......
...@@ -2,12 +2,12 @@ ...@@ -2,12 +2,12 @@
-- dblink_connect now restricts non-superusers to password -- dblink_connect now restricts non-superusers to password
-- authenticated connections -- authenticated connections
CREATE OR REPLACE FUNCTION dblink_connect (text) CREATE FUNCTION dblink_connect (text)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME','dblink_connect' AS 'MODULE_PATHNAME','dblink_connect'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_connect (text, text) CREATE FUNCTION dblink_connect (text, text)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME','dblink_connect' AS 'MODULE_PATHNAME','dblink_connect'
LANGUAGE C STRICT; LANGUAGE C STRICT;
...@@ -15,12 +15,12 @@ LANGUAGE C STRICT; ...@@ -15,12 +15,12 @@ LANGUAGE C STRICT;
-- dblink_connect_u allows non-superusers to use -- dblink_connect_u allows non-superusers to use
-- non-password authenticated connections, but initially -- non-password authenticated connections, but initially
-- privileges are revoked from public -- privileges are revoked from public
CREATE OR REPLACE FUNCTION dblink_connect_u (text) CREATE FUNCTION dblink_connect_u (text)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME','dblink_connect' AS 'MODULE_PATHNAME','dblink_connect'
LANGUAGE C STRICT SECURITY DEFINER; LANGUAGE C STRICT SECURITY DEFINER;
CREATE OR REPLACE FUNCTION dblink_connect_u (text, text) CREATE FUNCTION dblink_connect_u (text, text)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME','dblink_connect' AS 'MODULE_PATHNAME','dblink_connect'
LANGUAGE C STRICT SECURITY DEFINER; LANGUAGE C STRICT SECURITY DEFINER;
...@@ -28,179 +28,179 @@ LANGUAGE C STRICT SECURITY DEFINER; ...@@ -28,179 +28,179 @@ LANGUAGE C STRICT SECURITY DEFINER;
REVOKE ALL ON FUNCTION dblink_connect_u (text) FROM public; REVOKE ALL ON FUNCTION dblink_connect_u (text) FROM public;
REVOKE ALL ON FUNCTION dblink_connect_u (text, text) FROM public; REVOKE ALL ON FUNCTION dblink_connect_u (text, text) FROM public;
CREATE OR REPLACE FUNCTION dblink_disconnect () CREATE FUNCTION dblink_disconnect ()
RETURNS text RETURNS text
AS 'MODULE_PATHNAME','dblink_disconnect' AS 'MODULE_PATHNAME','dblink_disconnect'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_disconnect (text) CREATE FUNCTION dblink_disconnect (text)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME','dblink_disconnect' AS 'MODULE_PATHNAME','dblink_disconnect'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_open (text, text) CREATE FUNCTION dblink_open (text, text)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME','dblink_open' AS 'MODULE_PATHNAME','dblink_open'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_open (text, text, boolean) CREATE FUNCTION dblink_open (text, text, boolean)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME','dblink_open' AS 'MODULE_PATHNAME','dblink_open'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_open (text, text, text) CREATE FUNCTION dblink_open (text, text, text)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME','dblink_open' AS 'MODULE_PATHNAME','dblink_open'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_open (text, text, text, boolean) CREATE FUNCTION dblink_open (text, text, text, boolean)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME','dblink_open' AS 'MODULE_PATHNAME','dblink_open'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_fetch (text, int) CREATE FUNCTION dblink_fetch (text, int)
RETURNS setof record RETURNS setof record
AS 'MODULE_PATHNAME','dblink_fetch' AS 'MODULE_PATHNAME','dblink_fetch'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_fetch (text, int, boolean) CREATE FUNCTION dblink_fetch (text, int, boolean)
RETURNS setof record RETURNS setof record
AS 'MODULE_PATHNAME','dblink_fetch' AS 'MODULE_PATHNAME','dblink_fetch'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_fetch (text, text, int) CREATE FUNCTION dblink_fetch (text, text, int)
RETURNS setof record RETURNS setof record
AS 'MODULE_PATHNAME','dblink_fetch' AS 'MODULE_PATHNAME','dblink_fetch'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_fetch (text, text, int, boolean) CREATE FUNCTION dblink_fetch (text, text, int, boolean)
RETURNS setof record RETURNS setof record
AS 'MODULE_PATHNAME','dblink_fetch' AS 'MODULE_PATHNAME','dblink_fetch'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_close (text) CREATE FUNCTION dblink_close (text)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME','dblink_close' AS 'MODULE_PATHNAME','dblink_close'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_close (text, boolean) CREATE FUNCTION dblink_close (text, boolean)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME','dblink_close' AS 'MODULE_PATHNAME','dblink_close'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_close (text, text) CREATE FUNCTION dblink_close (text, text)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME','dblink_close' AS 'MODULE_PATHNAME','dblink_close'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_close (text, text, boolean) CREATE FUNCTION dblink_close (text, text, boolean)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME','dblink_close' AS 'MODULE_PATHNAME','dblink_close'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink (text, text) CREATE FUNCTION dblink (text, text)
RETURNS setof record RETURNS setof record
AS 'MODULE_PATHNAME','dblink_record' AS 'MODULE_PATHNAME','dblink_record'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink (text, text, boolean) CREATE FUNCTION dblink (text, text, boolean)
RETURNS setof record RETURNS setof record
AS 'MODULE_PATHNAME','dblink_record' AS 'MODULE_PATHNAME','dblink_record'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink (text) CREATE FUNCTION dblink (text)
RETURNS setof record RETURNS setof record
AS 'MODULE_PATHNAME','dblink_record' AS 'MODULE_PATHNAME','dblink_record'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink (text, boolean) CREATE FUNCTION dblink (text, boolean)
RETURNS setof record RETURNS setof record
AS 'MODULE_PATHNAME','dblink_record' AS 'MODULE_PATHNAME','dblink_record'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_exec (text, text) CREATE FUNCTION dblink_exec (text, text)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME','dblink_exec' AS 'MODULE_PATHNAME','dblink_exec'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_exec (text, text, boolean) CREATE FUNCTION dblink_exec (text, text, boolean)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME','dblink_exec' AS 'MODULE_PATHNAME','dblink_exec'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_exec (text) CREATE FUNCTION dblink_exec (text)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME','dblink_exec' AS 'MODULE_PATHNAME','dblink_exec'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_exec (text,boolean) CREATE FUNCTION dblink_exec (text,boolean)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME','dblink_exec' AS 'MODULE_PATHNAME','dblink_exec'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE TYPE dblink_pkey_results AS (position int, colname text); CREATE TYPE dblink_pkey_results AS (position int, colname text);
CREATE OR REPLACE FUNCTION dblink_get_pkey (text) CREATE FUNCTION dblink_get_pkey (text)
RETURNS setof dblink_pkey_results RETURNS setof dblink_pkey_results
AS 'MODULE_PATHNAME','dblink_get_pkey' AS 'MODULE_PATHNAME','dblink_get_pkey'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_build_sql_insert (text, int2vector, int, _text, _text) CREATE FUNCTION dblink_build_sql_insert (text, int2vector, int, _text, _text)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME','dblink_build_sql_insert' AS 'MODULE_PATHNAME','dblink_build_sql_insert'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_build_sql_delete (text, int2vector, int, _text) CREATE FUNCTION dblink_build_sql_delete (text, int2vector, int, _text)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME','dblink_build_sql_delete' AS 'MODULE_PATHNAME','dblink_build_sql_delete'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_build_sql_update (text, int2vector, int, _text, _text) CREATE FUNCTION dblink_build_sql_update (text, int2vector, int, _text, _text)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME','dblink_build_sql_update' AS 'MODULE_PATHNAME','dblink_build_sql_update'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_current_query () CREATE FUNCTION dblink_current_query ()
RETURNS text RETURNS text
AS 'MODULE_PATHNAME','dblink_current_query' AS 'MODULE_PATHNAME','dblink_current_query'
LANGUAGE C; LANGUAGE C;
CREATE OR REPLACE FUNCTION dblink_send_query(text, text) CREATE FUNCTION dblink_send_query(text, text)
RETURNS int4 RETURNS int4
AS 'MODULE_PATHNAME', 'dblink_send_query' AS 'MODULE_PATHNAME', 'dblink_send_query'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_is_busy(text) CREATE FUNCTION dblink_is_busy(text)
RETURNS int4 RETURNS int4
AS 'MODULE_PATHNAME', 'dblink_is_busy' AS 'MODULE_PATHNAME', 'dblink_is_busy'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_get_result(text) CREATE FUNCTION dblink_get_result(text)
RETURNS SETOF record RETURNS SETOF record
AS 'MODULE_PATHNAME', 'dblink_get_result' AS 'MODULE_PATHNAME', 'dblink_get_result'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_get_result(text, bool) CREATE FUNCTION dblink_get_result(text, bool)
RETURNS SETOF record RETURNS SETOF record
AS 'MODULE_PATHNAME', 'dblink_get_result' AS 'MODULE_PATHNAME', 'dblink_get_result'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_get_connections() CREATE FUNCTION dblink_get_connections()
RETURNS text[] RETURNS text[]
AS 'MODULE_PATHNAME', 'dblink_get_connections' AS 'MODULE_PATHNAME', 'dblink_get_connections'
LANGUAGE C; LANGUAGE C;
CREATE OR REPLACE FUNCTION dblink_cancel_query(text) CREATE FUNCTION dblink_cancel_query(text)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME', 'dblink_cancel_query' AS 'MODULE_PATHNAME', 'dblink_cancel_query'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_error_message(text) CREATE FUNCTION dblink_error_message(text)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME', 'dblink_error_message' AS 'MODULE_PATHNAME', 'dblink_error_message'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_get_notify( CREATE FUNCTION dblink_get_notify(
OUT notify_name TEXT, OUT notify_name TEXT,
OUT be_pid INT4, OUT be_pid INT4,
OUT extra TEXT OUT extra TEXT
...@@ -209,7 +209,7 @@ RETURNS setof record ...@@ -209,7 +209,7 @@ RETURNS setof record
AS 'MODULE_PATHNAME', 'dblink_get_notify' AS 'MODULE_PATHNAME', 'dblink_get_notify'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dblink_get_notify( CREATE FUNCTION dblink_get_notify(
conname TEXT, conname TEXT,
OUT notify_name TEXT, OUT notify_name TEXT,
OUT be_pid INT4, OUT be_pid INT4,
......
/* contrib/dict_int/dict_int--1.0.sql */ /* contrib/dict_int/dict_int--1.0.sql */
CREATE OR REPLACE FUNCTION dintdict_init(internal) CREATE FUNCTION dintdict_init(internal)
RETURNS internal RETURNS internal
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dintdict_lexize(internal, internal, internal, internal) CREATE FUNCTION dintdict_lexize(internal, internal, internal, internal)
RETURNS internal RETURNS internal
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT; LANGUAGE C STRICT;
......
/* contrib/dict_xsyn/dict_xsyn--1.0.sql */ /* contrib/dict_xsyn/dict_xsyn--1.0.sql */
CREATE OR REPLACE FUNCTION dxsyn_init(internal) CREATE FUNCTION dxsyn_init(internal)
RETURNS internal RETURNS internal
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION dxsyn_lexize(internal, internal, internal, internal) CREATE FUNCTION dxsyn_lexize(internal, internal, internal, internal)
RETURNS internal RETURNS internal
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT; LANGUAGE C STRICT;
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
-- place you need to change things for the cube base distance functions -- place you need to change things for the cube base distance functions
-- in order to use different units (or a better value for the Earth's radius). -- in order to use different units (or a better value for the Earth's radius).
CREATE OR REPLACE FUNCTION earth() RETURNS float8 CREATE FUNCTION earth() RETURNS float8
LANGUAGE SQL IMMUTABLE LANGUAGE SQL IMMUTABLE
AS 'SELECT ''6378168''::float8'; AS 'SELECT ''6378168''::float8';
...@@ -13,7 +13,7 @@ AS 'SELECT ''6378168''::float8'; ...@@ -13,7 +13,7 @@ AS 'SELECT ''6378168''::float8';
-- uncomment the one below. Note that doing this will break the regression -- uncomment the one below. Note that doing this will break the regression
-- tests. -- tests.
-- --
-- CREATE OR REPLACE FUNCTION earth() RETURNS float8 -- CREATE FUNCTION earth() RETURNS float8
-- LANGUAGE SQL IMMUTABLE -- LANGUAGE SQL IMMUTABLE
-- AS 'SELECT 180/pi()'; -- AS 'SELECT 180/pi()';
...@@ -30,43 +30,43 @@ CREATE DOMAIN earth AS cube ...@@ -30,43 +30,43 @@ CREATE DOMAIN earth AS cube
CONSTRAINT on_surface check(abs(cube_distance(value, '(0)'::cube) / CONSTRAINT on_surface check(abs(cube_distance(value, '(0)'::cube) /
earth() - 1) < '10e-7'::float8); earth() - 1) < '10e-7'::float8);
CREATE OR REPLACE FUNCTION sec_to_gc(float8) CREATE FUNCTION sec_to_gc(float8)
RETURNS float8 RETURNS float8
LANGUAGE SQL LANGUAGE SQL
IMMUTABLE STRICT IMMUTABLE STRICT
AS 'SELECT CASE WHEN $1 < 0 THEN 0::float8 WHEN $1/(2*earth()) > 1 THEN pi()*earth() ELSE 2*earth()*asin($1/(2*earth())) END'; AS 'SELECT CASE WHEN $1 < 0 THEN 0::float8 WHEN $1/(2*earth()) > 1 THEN pi()*earth() ELSE 2*earth()*asin($1/(2*earth())) END';
CREATE OR REPLACE FUNCTION gc_to_sec(float8) CREATE FUNCTION gc_to_sec(float8)
RETURNS float8 RETURNS float8
LANGUAGE SQL LANGUAGE SQL
IMMUTABLE STRICT IMMUTABLE STRICT
AS 'SELECT CASE WHEN $1 < 0 THEN 0::float8 WHEN $1/earth() > pi() THEN 2*earth() ELSE 2*earth()*sin($1/(2*earth())) END'; AS 'SELECT CASE WHEN $1 < 0 THEN 0::float8 WHEN $1/earth() > pi() THEN 2*earth() ELSE 2*earth()*sin($1/(2*earth())) END';
CREATE OR REPLACE FUNCTION ll_to_earth(float8, float8) CREATE FUNCTION ll_to_earth(float8, float8)
RETURNS earth RETURNS earth
LANGUAGE SQL LANGUAGE SQL
IMMUTABLE STRICT IMMUTABLE STRICT
AS 'SELECT cube(cube(cube(earth()*cos(radians($1))*cos(radians($2))),earth()*cos(radians($1))*sin(radians($2))),earth()*sin(radians($1)))::earth'; AS 'SELECT cube(cube(cube(earth()*cos(radians($1))*cos(radians($2))),earth()*cos(radians($1))*sin(radians($2))),earth()*sin(radians($1)))::earth';
CREATE OR REPLACE FUNCTION latitude(earth) CREATE FUNCTION latitude(earth)
RETURNS float8 RETURNS float8
LANGUAGE SQL LANGUAGE SQL
IMMUTABLE STRICT IMMUTABLE STRICT
AS 'SELECT CASE WHEN cube_ll_coord($1, 3)/earth() < -1 THEN -90::float8 WHEN cube_ll_coord($1, 3)/earth() > 1 THEN 90::float8 ELSE degrees(asin(cube_ll_coord($1, 3)/earth())) END'; AS 'SELECT CASE WHEN cube_ll_coord($1, 3)/earth() < -1 THEN -90::float8 WHEN cube_ll_coord($1, 3)/earth() > 1 THEN 90::float8 ELSE degrees(asin(cube_ll_coord($1, 3)/earth())) END';
CREATE OR REPLACE FUNCTION longitude(earth) CREATE FUNCTION longitude(earth)
RETURNS float8 RETURNS float8
LANGUAGE SQL LANGUAGE SQL
IMMUTABLE STRICT IMMUTABLE STRICT
AS 'SELECT degrees(atan2(cube_ll_coord($1, 2), cube_ll_coord($1, 1)))'; AS 'SELECT degrees(atan2(cube_ll_coord($1, 2), cube_ll_coord($1, 1)))';
CREATE OR REPLACE FUNCTION earth_distance(earth, earth) CREATE FUNCTION earth_distance(earth, earth)
RETURNS float8 RETURNS float8
LANGUAGE SQL LANGUAGE SQL
IMMUTABLE STRICT IMMUTABLE STRICT
AS 'SELECT sec_to_gc(cube_distance($1, $2))'; AS 'SELECT sec_to_gc(cube_distance($1, $2))';
CREATE OR REPLACE FUNCTION earth_box(earth, float8) CREATE FUNCTION earth_box(earth, float8)
RETURNS cube RETURNS cube
LANGUAGE SQL LANGUAGE SQL
IMMUTABLE STRICT IMMUTABLE STRICT
...@@ -74,7 +74,7 @@ AS 'SELECT cube_enlarge($1, gc_to_sec($2), 3)'; ...@@ -74,7 +74,7 @@ AS 'SELECT cube_enlarge($1, gc_to_sec($2), 3)';
--------------- geo_distance --------------- geo_distance
CREATE OR REPLACE FUNCTION geo_distance (point, point) CREATE FUNCTION geo_distance (point, point)
RETURNS float8 RETURNS float8
LANGUAGE C IMMUTABLE STRICT AS 'MODULE_PATHNAME'; LANGUAGE C IMMUTABLE STRICT AS 'MODULE_PATHNAME';
......
/* contrib/fuzzystrmatch/fuzzystrmatch--1.0.sql */ /* contrib/fuzzystrmatch/fuzzystrmatch--1.0.sql */
CREATE OR REPLACE FUNCTION levenshtein (text,text) RETURNS int CREATE FUNCTION levenshtein (text,text) RETURNS int
AS 'MODULE_PATHNAME','levenshtein' AS 'MODULE_PATHNAME','levenshtein'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION levenshtein (text,text,int,int,int) RETURNS int CREATE FUNCTION levenshtein (text,text,int,int,int) RETURNS int
AS 'MODULE_PATHNAME','levenshtein_with_costs' AS 'MODULE_PATHNAME','levenshtein_with_costs'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION levenshtein_less_equal (text,text,int) RETURNS int CREATE FUNCTION levenshtein_less_equal (text,text,int) RETURNS int
AS 'MODULE_PATHNAME','levenshtein_less_equal' AS 'MODULE_PATHNAME','levenshtein_less_equal'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION levenshtein_less_equal (text,text,int,int,int,int) RETURNS int CREATE FUNCTION levenshtein_less_equal (text,text,int,int,int,int) RETURNS int
AS 'MODULE_PATHNAME','levenshtein_less_equal_with_costs' AS 'MODULE_PATHNAME','levenshtein_less_equal_with_costs'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION metaphone (text,int) RETURNS text CREATE FUNCTION metaphone (text,int) RETURNS text
AS 'MODULE_PATHNAME','metaphone' AS 'MODULE_PATHNAME','metaphone'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION soundex(text) RETURNS text CREATE FUNCTION soundex(text) RETURNS text
AS 'MODULE_PATHNAME', 'soundex' AS 'MODULE_PATHNAME', 'soundex'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION text_soundex(text) RETURNS text CREATE FUNCTION text_soundex(text) RETURNS text
AS 'MODULE_PATHNAME', 'soundex' AS 'MODULE_PATHNAME', 'soundex'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION difference(text,text) RETURNS int CREATE FUNCTION difference(text,text) RETURNS int
AS 'MODULE_PATHNAME', 'difference' AS 'MODULE_PATHNAME', 'difference'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION dmetaphone (text) RETURNS text CREATE FUNCTION dmetaphone (text) RETURNS text
AS 'MODULE_PATHNAME', 'dmetaphone' AS 'MODULE_PATHNAME', 'dmetaphone'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION dmetaphone_alt (text) RETURNS text CREATE FUNCTION dmetaphone_alt (text) RETURNS text
AS 'MODULE_PATHNAME', 'dmetaphone_alt' AS 'MODULE_PATHNAME', 'dmetaphone_alt'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
This diff is collapsed.
...@@ -2,14 +2,14 @@ ...@@ -2,14 +2,14 @@
-- Internal function for the aggregate -- Internal function for the aggregate
-- Is called for each item in an aggregation -- Is called for each item in an aggregation
CREATE OR REPLACE FUNCTION int_agg_state (internal, int4) CREATE FUNCTION int_agg_state (internal, int4)
RETURNS internal RETURNS internal
AS 'array_agg_transfn' AS 'array_agg_transfn'
LANGUAGE INTERNAL; LANGUAGE INTERNAL;
-- Internal function for the aggregate -- Internal function for the aggregate
-- Is called at the end of the aggregation, and returns an array. -- Is called at the end of the aggregation, and returns an array.
CREATE OR REPLACE FUNCTION int_agg_final_array (internal) CREATE FUNCTION int_agg_final_array (internal)
RETURNS int4[] RETURNS int4[]
AS 'array_agg_finalfn' AS 'array_agg_finalfn'
LANGUAGE INTERNAL; LANGUAGE INTERNAL;
...@@ -26,7 +26,7 @@ CREATE AGGREGATE int_array_aggregate ( ...@@ -26,7 +26,7 @@ CREATE AGGREGATE int_array_aggregate (
-- The enumeration function -- The enumeration function
-- returns each element in a one dimensional integer array -- returns each element in a one dimensional integer array
-- as a row. -- as a row.
CREATE OR REPLACE FUNCTION int_array_enum(int4[]) CREATE FUNCTION int_array_enum(int4[])
RETURNS setof integer RETURNS setof integer
AS 'array_unnest' AS 'array_unnest'
LANGUAGE INTERNAL IMMUTABLE STRICT; LANGUAGE INTERNAL IMMUTABLE STRICT;
...@@ -5,12 +5,12 @@ ...@@ -5,12 +5,12 @@
-- --
-- Query type -- Query type
CREATE OR REPLACE FUNCTION bqarr_in(cstring) CREATE FUNCTION bqarr_in(cstring)
RETURNS query_int RETURNS query_int
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
CREATE OR REPLACE FUNCTION bqarr_out(query_int) CREATE FUNCTION bqarr_out(query_int)
RETURNS cstring RETURNS cstring
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
...@@ -22,20 +22,20 @@ CREATE TYPE query_int ( ...@@ -22,20 +22,20 @@ CREATE TYPE query_int (
); );
--only for debug --only for debug
CREATE OR REPLACE FUNCTION querytree(query_int) CREATE FUNCTION querytree(query_int)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
CREATE OR REPLACE FUNCTION boolop(_int4, query_int) CREATE FUNCTION boolop(_int4, query_int)
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
COMMENT ON FUNCTION boolop(_int4, query_int) IS 'boolean operation with array'; COMMENT ON FUNCTION boolop(_int4, query_int) IS 'boolean operation with array';
CREATE OR REPLACE FUNCTION rboolop(query_int, _int4) CREATE FUNCTION rboolop(query_int, _int4)
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
...@@ -67,35 +67,35 @@ CREATE OPERATOR ~~ ( ...@@ -67,35 +67,35 @@ CREATE OPERATOR ~~ (
-- Comparison methods -- Comparison methods
CREATE OR REPLACE FUNCTION _int_contains(_int4, _int4) CREATE FUNCTION _int_contains(_int4, _int4)
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
COMMENT ON FUNCTION _int_contains(_int4, _int4) IS 'contains'; COMMENT ON FUNCTION _int_contains(_int4, _int4) IS 'contains';
CREATE OR REPLACE FUNCTION _int_contained(_int4, _int4) CREATE FUNCTION _int_contained(_int4, _int4)
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
COMMENT ON FUNCTION _int_contained(_int4, _int4) IS 'contained in'; COMMENT ON FUNCTION _int_contained(_int4, _int4) IS 'contained in';
CREATE OR REPLACE FUNCTION _int_overlap(_int4, _int4) CREATE FUNCTION _int_overlap(_int4, _int4)
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
COMMENT ON FUNCTION _int_overlap(_int4, _int4) IS 'overlaps'; COMMENT ON FUNCTION _int_overlap(_int4, _int4) IS 'overlaps';
CREATE OR REPLACE FUNCTION _int_same(_int4, _int4) CREATE FUNCTION _int_same(_int4, _int4)
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
COMMENT ON FUNCTION _int_same(_int4, _int4) IS 'same as'; COMMENT ON FUNCTION _int_same(_int4, _int4) IS 'same as';
CREATE OR REPLACE FUNCTION _int_different(_int4, _int4) CREATE FUNCTION _int_different(_int4, _int4)
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
...@@ -104,12 +104,12 @@ COMMENT ON FUNCTION _int_different(_int4, _int4) IS 'different'; ...@@ -104,12 +104,12 @@ COMMENT ON FUNCTION _int_different(_int4, _int4) IS 'different';
-- support routines for indexing -- support routines for indexing
CREATE OR REPLACE FUNCTION _int_union(_int4, _int4) CREATE FUNCTION _int_union(_int4, _int4)
RETURNS _int4 RETURNS _int4
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
CREATE OR REPLACE FUNCTION _int_inter(_int4, _int4) CREATE FUNCTION _int_inter(_int4, _int4)
RETURNS _int4 RETURNS _int4
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
...@@ -187,12 +187,12 @@ CREATE OPERATOR ~ ( ...@@ -187,12 +187,12 @@ CREATE OPERATOR ~ (
); );
-------------- --------------
CREATE OR REPLACE FUNCTION intset(int4) CREATE FUNCTION intset(int4)
RETURNS _int4 RETURNS _int4
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
CREATE OR REPLACE FUNCTION icount(_int4) CREATE FUNCTION icount(_int4)
RETURNS int4 RETURNS int4
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
...@@ -202,32 +202,32 @@ CREATE OPERATOR # ( ...@@ -202,32 +202,32 @@ CREATE OPERATOR # (
PROCEDURE = icount PROCEDURE = icount
); );
CREATE OR REPLACE FUNCTION sort(_int4, text) CREATE FUNCTION sort(_int4, text)
RETURNS _int4 RETURNS _int4
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
CREATE OR REPLACE FUNCTION sort(_int4) CREATE FUNCTION sort(_int4)
RETURNS _int4 RETURNS _int4
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
CREATE OR REPLACE FUNCTION sort_asc(_int4) CREATE FUNCTION sort_asc(_int4)
RETURNS _int4 RETURNS _int4
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
CREATE OR REPLACE FUNCTION sort_desc(_int4) CREATE FUNCTION sort_desc(_int4)
RETURNS _int4 RETURNS _int4
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
CREATE OR REPLACE FUNCTION uniq(_int4) CREATE FUNCTION uniq(_int4)
RETURNS _int4 RETURNS _int4
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
CREATE OR REPLACE FUNCTION idx(_int4, int4) CREATE FUNCTION idx(_int4, int4)
RETURNS int4 RETURNS int4
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
...@@ -238,17 +238,17 @@ CREATE OPERATOR # ( ...@@ -238,17 +238,17 @@ CREATE OPERATOR # (
PROCEDURE = idx PROCEDURE = idx
); );
CREATE OR REPLACE FUNCTION subarray(_int4, int4, int4) CREATE FUNCTION subarray(_int4, int4, int4)
RETURNS _int4 RETURNS _int4
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
CREATE OR REPLACE FUNCTION subarray(_int4, int4) CREATE FUNCTION subarray(_int4, int4)
RETURNS _int4 RETURNS _int4
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
CREATE OR REPLACE FUNCTION intarray_push_elem(_int4, int4) CREATE FUNCTION intarray_push_elem(_int4, int4)
RETURNS _int4 RETURNS _int4
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
...@@ -259,7 +259,7 @@ CREATE OPERATOR + ( ...@@ -259,7 +259,7 @@ CREATE OPERATOR + (
PROCEDURE = intarray_push_elem PROCEDURE = intarray_push_elem
); );
CREATE OR REPLACE FUNCTION intarray_push_array(_int4, _int4) CREATE FUNCTION intarray_push_array(_int4, _int4)
RETURNS _int4 RETURNS _int4
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
...@@ -271,7 +271,7 @@ CREATE OPERATOR + ( ...@@ -271,7 +271,7 @@ CREATE OPERATOR + (
PROCEDURE = intarray_push_array PROCEDURE = intarray_push_array
); );
CREATE OR REPLACE FUNCTION intarray_del_elem(_int4, int4) CREATE FUNCTION intarray_del_elem(_int4, int4)
RETURNS _int4 RETURNS _int4
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
...@@ -282,7 +282,7 @@ CREATE OPERATOR - ( ...@@ -282,7 +282,7 @@ CREATE OPERATOR - (
PROCEDURE = intarray_del_elem PROCEDURE = intarray_del_elem
); );
CREATE OR REPLACE FUNCTION intset_union_elem(_int4, int4) CREATE FUNCTION intset_union_elem(_int4, int4)
RETURNS _int4 RETURNS _int4
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
...@@ -300,7 +300,7 @@ CREATE OPERATOR | ( ...@@ -300,7 +300,7 @@ CREATE OPERATOR | (
PROCEDURE = _int_union PROCEDURE = _int_union
); );
CREATE OR REPLACE FUNCTION intset_subtract(_int4, _int4) CREATE FUNCTION intset_subtract(_int4, _int4)
RETURNS _int4 RETURNS _int4
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
...@@ -320,37 +320,37 @@ CREATE OPERATOR & ( ...@@ -320,37 +320,37 @@ CREATE OPERATOR & (
-------------- --------------
-- define the GiST support methods -- define the GiST support methods
CREATE OR REPLACE FUNCTION g_int_consistent(internal,_int4,int,oid,internal) CREATE FUNCTION g_int_consistent(internal,_int4,int,oid,internal)
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION g_int_compress(internal) CREATE FUNCTION g_int_compress(internal)
RETURNS internal RETURNS internal
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION g_int_decompress(internal) CREATE FUNCTION g_int_decompress(internal)
RETURNS internal RETURNS internal
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION g_int_penalty(internal,internal,internal) CREATE FUNCTION g_int_penalty(internal,internal,internal)
RETURNS internal RETURNS internal
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION g_int_picksplit(internal, internal) CREATE FUNCTION g_int_picksplit(internal, internal)
RETURNS internal RETURNS internal
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION g_int_union(internal, internal) CREATE FUNCTION g_int_union(internal, internal)
RETURNS _int4 RETURNS _int4
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION g_int_same(_int4, _int4, internal) CREATE FUNCTION g_int_same(_int4, _int4, internal)
RETURNS internal RETURNS internal
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
...@@ -381,12 +381,12 @@ DEFAULT FOR TYPE _int4 USING gist AS ...@@ -381,12 +381,12 @@ DEFAULT FOR TYPE _int4 USING gist AS
--------------------------------------------- ---------------------------------------------
-- define the GiST support methods -- define the GiST support methods
CREATE OR REPLACE FUNCTION _intbig_in(cstring) CREATE FUNCTION _intbig_in(cstring)
RETURNS intbig_gkey RETURNS intbig_gkey
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
CREATE OR REPLACE FUNCTION _intbig_out(intbig_gkey) CREATE FUNCTION _intbig_out(intbig_gkey)
RETURNS cstring RETURNS cstring
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE; LANGUAGE C STRICT IMMUTABLE;
...@@ -397,37 +397,37 @@ CREATE TYPE intbig_gkey ( ...@@ -397,37 +397,37 @@ CREATE TYPE intbig_gkey (
OUTPUT = _intbig_out OUTPUT = _intbig_out
); );
CREATE OR REPLACE FUNCTION g_intbig_consistent(internal,internal,int,oid,internal) CREATE FUNCTION g_intbig_consistent(internal,internal,int,oid,internal)
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION g_intbig_compress(internal) CREATE FUNCTION g_intbig_compress(internal)
RETURNS internal RETURNS internal
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION g_intbig_decompress(internal) CREATE FUNCTION g_intbig_decompress(internal)
RETURNS internal RETURNS internal
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION g_intbig_penalty(internal,internal,internal) CREATE FUNCTION g_intbig_penalty(internal,internal,internal)
RETURNS internal RETURNS internal
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION g_intbig_picksplit(internal, internal) CREATE FUNCTION g_intbig_picksplit(internal, internal)
RETURNS internal RETURNS internal
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION g_intbig_union(internal, internal) CREATE FUNCTION g_intbig_union(internal, internal)
RETURNS _int4 RETURNS _int4
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION g_intbig_same(internal, internal, internal) CREATE FUNCTION g_intbig_same(internal, internal, internal)
RETURNS internal RETURNS internal
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
...@@ -455,12 +455,12 @@ AS ...@@ -455,12 +455,12 @@ AS
--GIN --GIN
CREATE OR REPLACE FUNCTION ginint4_queryextract(internal, internal, int2, internal, internal, internal, internal) CREATE FUNCTION ginint4_queryextract(internal, internal, int2, internal, internal, internal, internal)
RETURNS internal RETURNS internal
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION ginint4_consistent(internal, int2, internal, int4, internal, internal, internal, internal) CREATE FUNCTION ginint4_consistent(internal, int2, internal, int4, internal, internal, internal, internal)
RETURNS bool RETURNS bool
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT; LANGUAGE C IMMUTABLE STRICT;
......
This diff is collapsed.
...@@ -12,11 +12,11 @@ CREATE DOMAIN lo AS pg_catalog.oid; ...@@ -12,11 +12,11 @@ CREATE DOMAIN lo AS pg_catalog.oid;
-- The other functions that formerly existed are not needed because -- The other functions that formerly existed are not needed because
-- the implicit casts between a domain and its underlying type handle them. -- the implicit casts between a domain and its underlying type handle them.
-- --
CREATE OR REPLACE FUNCTION lo_oid(lo) RETURNS pg_catalog.oid AS CREATE FUNCTION lo_oid(lo) RETURNS pg_catalog.oid AS
'SELECT $1::pg_catalog.oid' LANGUAGE SQL STRICT IMMUTABLE; 'SELECT $1::pg_catalog.oid' LANGUAGE SQL STRICT IMMUTABLE;
-- This is used in triggers -- This is used in triggers
CREATE OR REPLACE FUNCTION lo_manage() CREATE FUNCTION lo_manage()
RETURNS pg_catalog.trigger RETURNS pg_catalog.trigger
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C; LANGUAGE C;
This diff is collapsed.
...@@ -3,12 +3,12 @@ ...@@ -3,12 +3,12 @@
-- --
-- get_raw_page() -- get_raw_page()
-- --
CREATE OR REPLACE FUNCTION get_raw_page(text, int4) CREATE FUNCTION get_raw_page(text, int4)
RETURNS bytea RETURNS bytea
AS 'MODULE_PATHNAME', 'get_raw_page' AS 'MODULE_PATHNAME', 'get_raw_page'
LANGUAGE C STRICT; LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION get_raw_page(text, text, int4) CREATE FUNCTION get_raw_page(text, text, int4)
RETURNS bytea RETURNS bytea
AS 'MODULE_PATHNAME', 'get_raw_page_fork' AS 'MODULE_PATHNAME', 'get_raw_page_fork'
LANGUAGE C STRICT; LANGUAGE C STRICT;
...@@ -16,7 +16,7 @@ LANGUAGE C STRICT; ...@@ -16,7 +16,7 @@ LANGUAGE C STRICT;
-- --
-- page_header() -- page_header()
-- --
CREATE OR REPLACE FUNCTION page_header(IN page bytea, CREATE FUNCTION page_header(IN page bytea,
OUT lsn text, OUT lsn text,
OUT tli smallint, OUT tli smallint,
OUT flags smallint, OUT flags smallint,
...@@ -32,7 +32,7 @@ LANGUAGE C STRICT; ...@@ -32,7 +32,7 @@ LANGUAGE C STRICT;
-- --
-- heap_page_items() -- heap_page_items()
-- --
CREATE OR REPLACE FUNCTION heap_page_items(IN page bytea, CREATE FUNCTION heap_page_items(IN page bytea,
OUT lp smallint, OUT lp smallint,
OUT lp_off smallint, OUT lp_off smallint,
OUT lp_flags smallint, OUT lp_flags smallint,
...@@ -53,7 +53,7 @@ LANGUAGE C STRICT; ...@@ -53,7 +53,7 @@ LANGUAGE C STRICT;
-- --
-- bt_metap() -- bt_metap()
-- --
CREATE OR REPLACE FUNCTION bt_metap(IN relname text, CREATE FUNCTION bt_metap(IN relname text,
OUT magic int4, OUT magic int4,
OUT version int4, OUT version int4,
OUT root int4, OUT root int4,
...@@ -66,7 +66,7 @@ LANGUAGE C STRICT; ...@@ -66,7 +66,7 @@ LANGUAGE C STRICT;
-- --
-- bt_page_stats() -- bt_page_stats()
-- --
CREATE OR REPLACE FUNCTION bt_page_stats(IN relname text, IN blkno int4, CREATE FUNCTION bt_page_stats(IN relname text, IN blkno int4,
OUT blkno int4, OUT blkno int4,
OUT type "char", OUT type "char",
OUT live_items int4, OUT live_items int4,
...@@ -84,7 +84,7 @@ LANGUAGE C STRICT; ...@@ -84,7 +84,7 @@ LANGUAGE C STRICT;
-- --
-- bt_page_items() -- bt_page_items()
-- --
CREATE OR REPLACE FUNCTION bt_page_items(IN relname text, IN blkno int4, CREATE FUNCTION bt_page_items(IN relname text, IN blkno int4,
OUT itemoffset smallint, OUT itemoffset smallint,
OUT ctid tid, OUT ctid tid,
OUT itemlen smallint, OUT itemlen smallint,
...@@ -98,7 +98,7 @@ LANGUAGE C STRICT; ...@@ -98,7 +98,7 @@ LANGUAGE C STRICT;
-- --
-- fsm_page_contents() -- fsm_page_contents()
-- --
CREATE OR REPLACE FUNCTION fsm_page_contents(IN page bytea) CREATE FUNCTION fsm_page_contents(IN page bytea)
RETURNS text RETURNS text
AS 'MODULE_PATHNAME', 'fsm_page_contents' AS 'MODULE_PATHNAME', 'fsm_page_contents'
LANGUAGE C STRICT; LANGUAGE C STRICT;
/* contrib/pg_buffercache/pg_buffercache--1.0.sql */ /* contrib/pg_buffercache/pg_buffercache--1.0.sql */
-- Register the function. -- Register the function.
CREATE OR REPLACE FUNCTION pg_buffercache_pages() CREATE FUNCTION pg_buffercache_pages()
RETURNS SETOF RECORD RETURNS SETOF RECORD
AS 'MODULE_PATHNAME', 'pg_buffercache_pages' AS 'MODULE_PATHNAME', 'pg_buffercache_pages'
LANGUAGE C; LANGUAGE C;
......
/* contrib/pg_freespacemap/pg_freespacemap--1.0.sql */ /* contrib/pg_freespacemap/pg_freespacemap--1.0.sql */
-- Register the C function. -- Register the C function.
CREATE OR REPLACE FUNCTION pg_freespace(regclass, bigint) CREATE FUNCTION pg_freespace(regclass, bigint)
RETURNS int2 RETURNS int2
AS 'MODULE_PATHNAME', 'pg_freespace' AS 'MODULE_PATHNAME', 'pg_freespace'
LANGUAGE C STRICT; LANGUAGE C STRICT;
-- pg_freespace shows the recorded space avail at each block in a relation -- pg_freespace shows the recorded space avail at each block in a relation
CREATE OR REPLACE FUNCTION CREATE FUNCTION
pg_freespace(rel regclass, blkno OUT bigint, avail OUT int2) pg_freespace(rel regclass, blkno OUT bigint, avail OUT int2)
RETURNS SETOF RECORD RETURNS SETOF RECORD
AS $$ AS $$
......
This diff is collapsed.
This diff is collapsed.
/* contrib/pgrowlocks/pgrowlocks--1.0.sql */ /* contrib/pgrowlocks/pgrowlocks--1.0.sql */
CREATE OR REPLACE FUNCTION pgrowlocks(IN relname text, CREATE FUNCTION pgrowlocks(IN relname text,
OUT locked_row TID, -- row TID OUT locked_row TID, -- row TID
OUT lock_type TEXT, -- lock type OUT lock_type TEXT, -- lock type
OUT locker XID, -- locking XID OUT locker XID, -- locking XID
......
This diff is collapsed.
This diff is collapsed.
/* contrib/spi/autoinc--1.0.sql */ /* contrib/spi/autoinc--1.0.sql */
CREATE OR REPLACE FUNCTION autoinc() CREATE FUNCTION autoinc()
RETURNS trigger RETURNS trigger
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C; LANGUAGE C;
/* contrib/spi/insert_username--1.0.sql */ /* contrib/spi/insert_username--1.0.sql */
CREATE OR REPLACE FUNCTION insert_username() CREATE FUNCTION insert_username()
RETURNS trigger RETURNS trigger
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C; LANGUAGE C;
/* contrib/spi/moddatetime--1.0.sql */ /* contrib/spi/moddatetime--1.0.sql */
CREATE OR REPLACE FUNCTION moddatetime() CREATE FUNCTION moddatetime()
RETURNS trigger RETURNS trigger
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE C; LANGUAGE C;
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment