From 5316e90fd9c7713b9cfefe0e55f8f47746efc992 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 29 Jan 2005 22:36:03 +0000 Subject: [PATCH] Make sure contrib C functions are marked strict where needed. Kris Jurka --- contrib/chkpass/chkpass.sql.in | 10 +++++----- contrib/isbn_issn/isbn_issn.sql.in | 32 +++++++++++++++--------------- contrib/lo/lo.sql.in | 12 +++++------ 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/contrib/chkpass/chkpass.sql.in b/contrib/chkpass/chkpass.sql.in index 1a8a144ef6..fcd8060d44 100644 --- a/contrib/chkpass/chkpass.sql.in +++ b/contrib/chkpass/chkpass.sql.in @@ -16,12 +16,12 @@ create function chkpass_in(opaque) returns opaque as 'MODULE_PATHNAME' - language 'c'; + language 'c' with (isStrict); create function chkpass_out(opaque) returns opaque as 'MODULE_PATHNAME' - language 'c'; + language 'c' with (isStrict); create type chkpass ( internallength = 16, @@ -33,7 +33,7 @@ create type chkpass ( create function raw(chkpass) returns text as 'MODULE_PATHNAME', 'chkpass_rout' - language 'c'; + language 'c' with (isStrict); -- -- The various boolean tests: @@ -42,12 +42,12 @@ create function raw(chkpass) create function eq(chkpass, text) returns bool as 'MODULE_PATHNAME', 'chkpass_eq' - language 'c'; + language 'c' with (isStrict); create function ne(chkpass, text) returns bool as 'MODULE_PATHNAME', 'chkpass_ne' - language 'c'; + language 'c' with (isStrict); -- -- Now the operators. Note how some of the parameters to some diff --git a/contrib/isbn_issn/isbn_issn.sql.in b/contrib/isbn_issn/isbn_issn.sql.in index 916d63610d..3a6edc2116 100644 --- a/contrib/isbn_issn/isbn_issn.sql.in +++ b/contrib/isbn_issn/isbn_issn.sql.in @@ -12,12 +12,12 @@ create function issn_in(opaque) returns opaque as 'MODULE_PATHNAME' - language 'c'; + language 'c' with (isStrict); create function issn_out(opaque) returns opaque as 'MODULE_PATHNAME' - language 'c'; + language 'c' with (isStrict); create type issn ( internallength = 16, @@ -33,32 +33,32 @@ create type issn ( create function issn_lt(issn, issn) returns bool as 'MODULE_PATHNAME' - language 'c'; + language 'c' with (isStrict); create function issn_le(issn, issn) returns bool as 'MODULE_PATHNAME' - language 'c'; + language 'c' with (isStrict); create function issn_eq(issn, issn) returns bool as 'MODULE_PATHNAME' - language 'c'; + language 'c' with (isStrict); create function issn_ge(issn, issn) returns bool as 'MODULE_PATHNAME' - language 'c'; + language 'c' with (isStrict); create function issn_gt(issn, issn) returns bool as 'MODULE_PATHNAME' - language 'c'; + language 'c' with (isStrict); create function issn_ne(issn, issn) returns bool as 'MODULE_PATHNAME' - language 'c'; + language 'c' with (isStrict); -- -- Now the operators. Note how some of the parameters to some @@ -125,12 +125,12 @@ create operator <> ( create function isbn_in(opaque) returns opaque as 'MODULE_PATHNAME' - language 'c'; + language 'c' with (isStrict); create function isbn_out(opaque) returns opaque as 'MODULE_PATHNAME' - language 'c'; + language 'c' with (isStrict); create type isbn ( internallength = 16, @@ -146,32 +146,32 @@ create type isbn ( create function isbn_lt(isbn, isbn) returns bool as 'MODULE_PATHNAME' - language 'c'; + language 'c' with (isStrict); create function isbn_le(isbn, isbn) returns bool as 'MODULE_PATHNAME' - language 'c'; + language 'c' with (isStrict); create function isbn_eq(isbn, isbn) returns bool as 'MODULE_PATHNAME' - language 'c'; + language 'c' with (isStrict); create function isbn_ge(isbn, isbn) returns bool as 'MODULE_PATHNAME' - language 'c'; + language 'c' with (isStrict); create function isbn_gt(isbn, isbn) returns bool as 'MODULE_PATHNAME' - language 'c'; + language 'c' with (isStrict); create function isbn_ne(isbn, isbn) returns bool as 'MODULE_PATHNAME' - language 'c'; + language 'c' with (isStrict); -- -- Now the operators. Note how some of the parameters to some diff --git a/contrib/lo/lo.sql.in b/contrib/lo/lo.sql.in index 2dc43223ae..8f0b1095d4 100644 --- a/contrib/lo/lo.sql.in +++ b/contrib/lo/lo.sql.in @@ -11,13 +11,13 @@ create function lo_in(opaque) returns opaque as 'MODULE_PATHNAME' - language 'c'; + language 'c' with (isStrict); -- used by the lo type, it returns the oid of the object create function lo_out(opaque) returns opaque as 'MODULE_PATHNAME' - language 'c'; + language 'c' with (isStrict); -- finally the type itself create type lo ( @@ -31,7 +31,7 @@ create type lo ( create function lo_oid(lo) returns oid as 'MODULE_PATHNAME' - language 'c'; + language 'c' with (isStrict); -- same function, named to allow it to be used as a type coercion, eg: -- create table a (image lo); @@ -40,17 +40,17 @@ create function lo_oid(lo) create function oid(lo) returns oid as 'MODULE_PATHNAME', 'lo_oid' - language 'c'; + language 'c' with (isStrict); -- this allows us to convert an oid to a managed lo object -- ie: insert into test values (lo_import('/fullpath/file')::lo); create function lo(oid) returns lo as 'MODULE_PATHNAME' - language 'c'; + language 'c' with (isStrict); -- This is used in triggers create function lo_manage() returns opaque as 'MODULE_PATHNAME' - language 'c'; + language 'c' with (isStrict); -- 2.39.5