Loading...
Searching...
No Matches
OracleSqlUtil Module

# OracleSqlUtil Module Introduction

The OracleSqlUtil module provides a high level API for working with Oracle database objects.

Usually this module is loaded on demand from the SqlUtil module, however to use this module directly, use `"%requires OracleSqlUtil"` in your code.

All the public symbols in the module are defined in the OracleSqlUtil namespace

Note
  This module requires the oracle binary module for communication with Oracle databases

See also
  pgsqlsqlutilbaseintro for implementation information about this module

# Release Notes

## OracleSqlUtil v1.6

- updated to use the oraclesqlutilbaseintro module for the base implementation

## OracleSqlUtil v1.5

- implemented support for generating queries based on generic expressions using the DataProvider module's generic expression support (issue 4538)

## OracleSqlUtil v1.4.4

- allow a `VARCHAR` column to be created without a size, assume a default size (issue 4399)

## OracleSqlUtil v1.4.3

- added APIs to enable duplicate record creation errors to be detected (issue 4308)

## OracleSqlUtil v1.4.2

- fixed a bug where keywords were not properly quoted in merge / upsert statements (issue 4297)

## OracleSqlUtil v1.4.1

- fixed a bug where pseudocolumn references were used ambiguously in joins (issue 4214)
- fixed a bug where pseudocolumn names were quoted in queries leading to errors (issue 4210)
- fixed a bug generating queries with `limit` and `forupdate` (issue 4206)

## OracleSqlUtil v1.4

- added support for the DataProvider module (issue 3545)

## OracleSqlUtil v1.3.1

- fixed quoting of reserved words in column names in table alignment (issue 3400)

## OracleSqlUtil v1.3

- added support for serializing and deserializing AbstractTable objects (issue 2663)

## OracleSqlUtil v1.2.5

- worked around an Oracle bug in materialized view creation where when the schema user is missing the `CREATE MATERIALIZED VIEW` grant the table backing the view is created but the materialized view itself is not created causing future creation actions to fail (issue 2643)

## OracleSqlUtil v1.2.4

- implemented support for custom column operators (issue 2314)
- implemented support for chained synonyms (issue 2408)
- allow to use DBA_* views instead of ALL_* if possible (issue 2418)

## OracleSqlUtil v1.2.3

- fixed a bug in `character_semantics` for standalone column (issue 1688)
- implemented cop_trunc_date() operator (issue 2032)

## OracleSqlUtil v1.2.2

- fixed a bug in the force option (i.e. cascade) for dropping types (issue 1683)

## OracleSqlUtil v1.2.1

- implemented the force option (i.e. cascade) for dropping code objects (issue 1314)
- worked around ORA-22165 from op_in() caused by Oracle's limit on number of collection elements (issue 1660)

## OracleSqlUtil v1.2

- implemented support for the `"returning"` clause as an insert option
- implemented support for views for DML in the OracleSqlUtil::OracleTable class
- implemented OracleSqlUtil::OracleTable::getBaseType()
- implemented support for Oracle pseudocolumns in queries
- implemented support for SqlUtil::cop_cast() operator
- fixed bugs in SqlUtil::cop_seq() and SqlUtil::cop_seq_currval() (issue 624)
- return lists from Oracle's data dictionary ordered
- implemented OracleSqlUtil::OracleTable::bindEmptyStringsAsNull()
- implemented high-performance "upsert" (merge) support also supporting bulk DML
- implemented SqlUtil::cop_substr() and SqlUtil::uop_substr() operators (issue 801)
- implemented SqlUtil::op_substr() where operator (issue 883)

## OracleSqlUtil v1.1

- fixed selects with "limit" but no "offset"
- convert date/time values to timestamps with microseconds resolution instead of dates with second resolution when dynamically inserting values as strings in SQL (binding by value not affected)
- fixed schema information classes when the "string-numbers" driver option is enabled

## OracleSqlUtil v1.0

- initial release