diff --git a/META.json b/META.json index b39d77b345f5..08a3ec5673f8 100644 --- a/META.json +++ b/META.json @@ -2,7 +2,7 @@ "name": "orafce", "abstract": "Oracle's compatibility functions and packages", "description": "This module allows use a well known Oracle's functions and packages inside PostgreSQL", - "version": "4.6.1", + "version": "4.7.0", "maintainer": [ "Pavel Stehule ", "Takahiro Itagaki " @@ -25,7 +25,7 @@ "orafce": { "file": "sql/orafce.sql", "docfile": "README.orafce", - "version": "4.6.1", + "version": "4.7.0", "abstract": "Oracle's compatibility functions and packages" } }, diff --git a/Makefile b/Makefile index fb4b3f335f69..8c38a081ec97 100644 --- a/Makefile +++ b/Makefile @@ -30,7 +30,7 @@ OBJS= regexp.o\ EXTENSION = orafce -DATA = orafce--4.6.sql\ +DATA = orafce--4.7.sql\ orafce--3.2--3.3.sql\ orafce--3.3--3.4.sql\ orafce--3.4--3.5.sql\ @@ -59,8 +59,10 @@ DATA = orafce--4.6.sql\ orafce--4.1--4.2.sql\ orafce--4.2--4.3.sql\ orafce--4.3--4.4.sql\ - orafce--4.4--4.5.sql \ - orafce--4.5--4.6.sql + orafce--4.4--4.5.sql\ + orafce--4.5--4.6.sql\ + orafce--4.6--4.7.sql + DOCS = README.asciidoc COPYRIGHT.orafce INSTALL.orafce diff --git a/math.c b/math.c index 64d50e7b8cba..481f2afa4867 100644 --- a/math.c +++ b/math.c @@ -37,8 +37,6 @@ orafce_reminder_smallint(PG_FUNCTION_ARGS) PG_RETURN_INT16(0); PG_RETURN_INT16(arg1 - ((int16) round(((double) arg1) / ((double) arg2)) * arg2)); - - PG_RETURN_NULL(); } /* diff --git a/orafce--4.6--4.7.sql b/orafce--4.6--4.7.sql new file mode 100644 index 000000000000..2cb46f7dd77c --- /dev/null +++ b/orafce--4.6--4.7.sql @@ -0,0 +1,4 @@ +ALTER FUNCTION oracle.remainder(smallint, smallint) STRICT; +ALTER FUNCTION oracle.remainder(int, int) STRICT; +ALTER FUNCTION oracle.remainder(bigint, bigint) STRICT; +ALTER FUNCTION oracle.remainder(numeric, numeric) STRICT; diff --git a/orafce--4.6.sql b/orafce--4.7.sql similarity index 99% rename from orafce--4.6.sql rename to orafce--4.7.sql index 2be54250a1b8..e16413200462 100644 --- a/orafce--4.6.sql +++ b/orafce--4.7.sql @@ -329,19 +329,19 @@ $$ LANGUAGE sql IMMUTABLE; CREATE OR REPLACE FUNCTION oracle.remainder(smallint, smallint) RETURNS smallint AS 'MODULE_PATHNAME','orafce_reminder_smallint' -LANGUAGE C IMMUTABLE; +LANGUAGE C IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION oracle.remainder(int, int) RETURNS int AS 'MODULE_PATHNAME','orafce_reminder_int' -LANGUAGE C IMMUTABLE; +LANGUAGE C IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION oracle.remainder(bigint, bigint) RETURNS bigint AS 'MODULE_PATHNAME','orafce_reminder_bigint' -LANGUAGE C IMMUTABLE; +LANGUAGE C IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION oracle.remainder(numeric, numeric) RETURNS numeric AS 'MODULE_PATHNAME','orafce_reminder_numeric' -LANGUAGE C IMMUTABLE; +LANGUAGE C IMMUTABLE STRICT; ALTER FUNCTION oracle.mod(smallint, smallint) PARALLEL SAFE; ALTER FUNCTION oracle.mod(int, int) PARALLEL SAFE; diff --git a/orafce.control b/orafce.control index 68d8b751bafe..d3c2421beb3a 100644 --- a/orafce.control +++ b/orafce.control @@ -1,5 +1,5 @@ # orafce extension comment = 'Functions and operators that emulate a subset of functions and packages from the Oracle RDBMS' -default_version = '4.6' +default_version = '4.7' module_pathname = '$libdir/orafce' relocatable = false