Releases: laurenz/oracle_fdw
Releases · laurenz/oracle_fdw
Release 1.3.0
Enhancements:
- Add support for
IMPORT FOREIGN SCHEMA
for PostgreSQL 9.5 and higher. - Improve cost estimates by using the row count estimate.
Inspiration by Daniele Sevegnani. - Support two-dimensional geometries with an additional measure dimension.
Idea by Paul Dziemiela. - Throw an error if
oracle_close_connections()
is called inside a transaction that modified Oracle data.
Bugfixes:
- The server crashed for the constructs like
<column> = ANY (NULL)
.
Report and patch by dreckard. - oracle_fdw sometimes failed to recognize the SDO_GEOMETRY data type.
Per report from Bevan Jenkins. - Some point geometries were not translated properly.
Per report from Bevan Jenkins. - Ignore SDO_GEOMETRY elements with zero SDO_ETYPE.
According to Oracle, that is the correct behaviour.
Per report from Bevan Jenkins. - Fix
EXPLAIN (VERBOSE)
for queries containing current_timestamp.
This caused "ORA-30081: invalid data type for datetime/interval arithmetic".
Noticed by "kkwhite". - Oracle TIMESTAMP(0) fields caused errors like:
ERROR: invalid input syntax for type timestamp: "1977-06-09 18:00:00."
Also, handling of dates and timestamps before Christ was broken.
Report by "abiuan".
Release 1.2.0
Enhancements:
- Add support for a file "srid.map" to translate SRIDs between Oracle and PostGIS.
- If the Oracle session has been terminated outside of a transaction, try to reconnect once.
Idea by AVEN.
Bugfixes:
- Prepared statements with parameters can crash.
Because of custom plans, this does not manifest until the query has been executed several times in PostgreSQL 9.2 and higher.
Per report from Krzysztof Gorczyński and others.
This bug was introduced in 1.1.0.
Release 1.1.0
Enhancements:
- Add efficient support for translating between Oracle SDO_GEOMETRY and PostGIS geometry.
Supported geometry types are POINT, LINE, POLYGON, MULTIPOINT, MULTILINE and MULTIPOLYGON.
Courtesy of Oslandia, implemented by Vincent Mora. - Add regression tests for improved quality.
- Bind LOB data instead of LOB locators for INSERT and UPDATE.
This simplifies the code and makes Oracle triggers on LOB columns behave as expected.
Bugfixes:
- Fix a bug introduced in 1.0.0 that leads to crashes when LOB columns are modified.
- Fix several crashes when the foreign table has fewer or more columns than the Oracle table.
- Fix a bug that caused
RETURNING <expression>
to return NULL for complex expressions. - Writing date or timestamp columns failed when DateStyle was not ISO.
- Reading or writing negative INTERVAL DAY TO SECOND resulted in bad values because the string formats in PostgreSQL and Oracle differ.
Release 1.0.0
Enhancements:
- Add function oracle_diag(name) for diagnostic purposes.
ATTENTION: Use “ALTER EXTENSION oracle_fdw UPDATE” when upgrading from a previous version of oracle_fdw. - Avoid unnecessary local filtering for pushed down WHERE clauses with
internal parameters. - Add support for triggers on foreign tables for PostgreSQL 9.4.
Bugfixes:
- Fix logic error that keeps Oracle connections from closing.
- Fix “cache lookup failed for type 0” in queries with string parameters.
Per report from Adolfho Lopes.
Release 0.9.10
Enhancements:
- Add support for INSERT, DELETE and UPDATE.
This is a major rewrite that might cause some destabilization in existing functionality. - Add new column option “key” to indicate primary key columns.
This is needed for UPDATE and DELETE. - Add new table option “readonly” to forbid data modifying statements.
- Improved transaction handling for data modifying statements.
COMMIT, ROLLBACK and SAVEPOINT will work as expected. - Add paths for Oracle 12.1 to the Makefile.
Patch by Guillaume Lelarge.
Bugfixes:
- Don't try to push down the division operator.
That would produce incorrect results for numeric data types.
Release 0.9.9
Enhancements:
- Enable build with PostgreSQL 9.3.
Bugfixes:
- Fix error
ORA-01406: fetched column value was truncated
caused by timestamps with precision greater than 6.
Per report from David E. Wheeler. - Fix crash with IN lists that do not entirely consist of constants.
Per report from Wang Dong. - Fix handling of parameters during pushdown of WHERE conditions.
The previous implementation returned incorrect results for certain queries likeSELECT ... WHERE colname = (SELECT ...)
ATTENTION: Since correct handling of parameters is not possible before PostgreSQL 9.2, query parameters will not be pushed down in PostgreSQL 9.1.
This is a regression for cases where this happened to work. - Fix a logical error that can lead to incorrect Oracle WHERE clauses.
- Fix a bug that can lead to the incorrect omission of a scan clause, leading to wrong results.
Release 0.9.8
Enhancements:
- Add support for pushdown of IN and NOT IN clauses in WHERE conditions.
As suggested by Wang Dong.
Bugfixes:
- Add check to make sure that character string data are properly encoded.
This is necessary because Oracle does not check this properly.
Per report from David E. Wheeler.
Release 0.9.7
Bugfixes:
- Avoid failure to describe synonyms under certain conditions.
ATTENTION: This constitutes a compatibility break: table and schema names now have to be exactly as they are in Oracle's catalogs, i.e. without double quotes and normally in uppercase.
Per report from Bry Lo. - Add paths to Makefile so that we can build with Instant Client RPMs.
Noticed by Andrew Theaker. - Fix a memory corruption bug that can lead to crashes, errors and wrong results.
- Improve bad performance of
SELECT count(*)
on foreign tables.
This is a simple workaround for the (not yet confirmed) Oracle bug 14562530.
Release 0.9.6
Enhancements:
- Support Oracle types LONG and LONG RAW.
Introduce table optionmax_long
(default 32767) to set the maximal length of such columns.
Bugfixes:
- Fix a bug that causes a server crash when the PostgreSQL session is terminated if the only statements involving oracle_fdw during that session were CREATE statements.
Per report from Bry Lo.
Release 0.9.5
Enhancements:
- Support ANALYZE on foreign tables (from PostgreSQL 9.2 on).
Bugfixes:
- Fix a bug that leads to warnings and sometimes bad results if system columns of the foreign table are referenced.
- Fix wrong column width estimates of
plan_costs=on
.