Skip to content

Release 2.2.0

Compare
Choose a tag to compare
@laurenz laurenz released this 10 Oct 07:52
· 180 commits to master since this release

Enhancements:

  • Add support for COPY to foreign tables (from PostgreSQL v11 on).
    This caused a crash before, as reported by @jkldv.

  • Add a new collation option for IMPORT FOREIGN SCHEMA that controls case folding.
    Patch by @sahapasci.

  • Add support for Oracle XMLTYPE.

  • Set V$SESSION_CONNECT_INFO.CLIENT_DRIVER to oracle_fdw.
    This makes it easier to identify the session on the Oracle side.

Bugfixes:

  • Fix crash or bad results with pushed down join queries.
    The query target list can change during query planning, but oracle_fdw relied on the one from before.
    This bug only manifests in PostgreSQL v11.
    Bug found by @Jaime2ndQuadrant and fixed by @yamatattsu.

  • Fix push-down of foreign scan conditions with variables belonging to other tables.
    This can lead to wrong results and warnings like:

    WARNING:  column number x of foreign table "y" does not exist in foreign Oracle table, will be replaced by NULL
    
  • Fix crash in UPDATE or DELETE where the optimizer can deduce that no scan is required, for example with WHERE 1 = 0.
    Reported by @mrship.

  • Fix crash or bad results in queries with IN or = ANY where the element type on the right-hand side is different from the left-hand side type.

  • Add support for reading infinite NUMBERs.
    Oracle NUMBER has infinite values, which are represented as ~ and -~.
    Since PostgreSQL's numeric does not know infinity, map these values to NaN in this case. For real and double precision we can use the normal infinity values.

  • The readonly option of IMPORT FOREIGN SCHEMA didn't work properly:
    When set to false, it would still create read-only foreign tables.
    Reported by @jacobdr.