Oracle Compatibility Tasks

From PostgreSQL wiki
Jump to navigationJump to search

Implementation Jobs for Improving Oracle Compatibility in PostgreSQL

Here are a few jobs and research projects for improving Oracle compatibility in and around PostgreSQL. This is based upon Peter Eisentraut's talk at PGCon 2008. Please add your thoughts.

Syntax

  • Quoted identifiers, upper vs. lower case folding
  • MINUS vs. EXCEPT (check whether Oracle also supports EXCEPT)

Data Types

  • Implement varchar2 as alias for varchar [orafce]
  • Implement clob as alias for text [PG core]
  • Implement long as alias for text or clob? [orafce]
  • Implement nchar, nvarchar2, nclob as appropriate [orafce and PG core]
  • Implement number as alias for numeric [orafce]
  • Implement binary_float, binary_double as aliases for float4, float8 [orafce]
  • Implement blob [PG core]
  • Implement raw, long raw [orafce]
  • Figure out some way to allow Oracle-behavior with date (???)
  • Fix interval type to be compatible with SQL standard.

Null Behavior

I would like to see a detailed analysis and definition of how null values really behave in Oracle. We can probably implement workarounds to make the behavior optionally more similar, but at the moment the Oracle behavior just appears weird and totally inconsistent.

Sequences

  • Add NOCACHE clause to CREATE SEQUENCE

Formatting

  • Add more features and robustness to to_char.
  • Maybe add custom variables for the NLS_ settings that internally change the right PostgreSQL settings.

Triggers

  • Allow creating triggers and associated functions in one statement. The function would be created automatically as a depend

PL/pgSQL

  • Make DECLARE optional
  • Make PERFORM optional for procedure calls