Enhancements:
-
Support push-down of
uuidvalues.
Per request from @GaddipatiAsish. -
Introduce a server option
nchar, turnedoffby default.
This option, if set, enables the fix forNCHARandNVARCHAR2columns introduced in 2.3.0.
We don't want that by default, since it causes a noticable performance hit and makesUPDATEs with long strings fail with ORA-01461.
Problem reports by @threenotrump, @chunter and @philflorent. -
Push down
LIMITclauses if possible.
These are pushed down asFETCH FIRST n ROWS ONLYfrom Oracle 12.2 on.
Based on a patch by @darold, per request from @iliasaz.
Bugfixes:
-
Fix a performance regression introduced in 2.3.0 by the fix for
NCHARandNVARCHAR2columns.
Reported by @philflorent. -
Fix a crash with type coerced array parameters.
This can make queries fail with aWHEREcondition likeWHERE varcharcol = ANY ($1);where
$1is atext[].
Reported by @samuelchoi16. -
Fix numeric precision in
IMPORT FOREIGN SCHEMA.
In Oracle the precision of aNUMBERcan be less than the scale, but that is not allowed in PostgreSQL.
That leads to errors duringIMPORT.
Reported by @alberto-dellera. -
Translate Oracle
NUMBERtobooleancorrectly.
The documentation says that numbers greater than 0 are mapped toTRUE, but oracle_fdw gagged on numbers greater than 1 with errors likeERROR: invalid input syntax for type boolean: "2"Reported by @mariszin.
-
Fix crash during
ANALYZEof certain foreign tables.
If the Oracle table has more columns than the foreign table,ANALYZEon the foreign table caused a crash.
Reported by Jan and @SeanKimMel. -
Fix build with unset
ORACLE_HOMEand Instant Client 21.
Reported by @fjf2002. -
Use the correct user mapping in
SECURITY DEFINERcontexts.
Before this, oracle_fdw always used the current user to determine the security context, which is wrong if a foreign table was accessed in aSECURITY DEFINERfunction.
Reported by @ksmalara.