Loading...
Searching...
No Matches
PgsqlSqlUtil Module

# PgsqlSqlUtil Module Introduction

The PgsqlSqlUtil module provides a high level API for working with PostgreSQL database objects using the Qore native `pgsql` driver.

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

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

Note
  This module requires the pgsql binary module for communication with PostgreSQL databases

See also
  pgsqlsqlutilbaseintro for implementation information about this module

# Release Notes

## PgsqlSqlUtil v1.8

- updated to use the pgsqlsqlutilbaseintro module for the base implementation

## PgsqlSqlUtil v1.7.1

- fixed bugs handling table objects in schemas other than `public` (issue 4602)

## PgsqlSqlUtil v1.7

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

## PgsqlSqlUtil v1.6

- added supoport for the `XML`, `JSON`, and `JSONB` types (issue 4448)

## PgsqlSqlUtil v1.5.3

- fixed handling column names that use reserved words (issue 4348)

## PgsqlSqlUtil v1.5.3

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

## PgsqlSqlUtil v1.5.3

- fixed bugs dropping foreign constraints and indices when aligning tables (issue 4246)

## PgsqlSqlUtil v1.5

- implemented atomic merge support (issue 3963)

## PgsqlSqlUtil v1.4.1

- fixed a bug generating literal date/time values for SQL queries (issue 3948)

## PgsqlSqlUtil v1.4

- added support for the DataProvider module (issue 3545)

## PgsqlSqlUtil v1.3.1

- fixed compatibility with PostgreSQL 12 (issue 3589)
- fixed comparison of triggers with column restrictions with table alignment (issue 3466)
- fixed quoting of reserved words in column names in table alignment (issue 3400)

## PgsqlSqlUtil v1.3

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

## PgsqlSqlUtil v1.2.1

- implemented support for custom column operators (issue 2314)
- fixed a bug where default column values were compared incorrectly leading to false positives when comparing and aligning DB schemas (issue 2527)

## PgsqlSqlUtil v1.2

- updated for complex types

## PgsqlSqlUtil v1.1.2

- fixed a bug in setting a `comment` for a table column (issue 1886)
- implemented cop_trunc_date() operator (issue 2032)

## PgsqlSqlUtil v1.1.1

- implemented the force option (i.e. cascade) for dropping code objects (issue 1314)

## PgsqlSqlUtil v1.1

- added support for `cop_cast` operator (feature 535)
- added support for the following datatypes and aliases: bool, float, int, timetz, timestamptz, varbit
- fixed support for the following datatypes and aliases: bit, bit varying, char, character, character varying, char varying, oid, varchar
- fixed bugs handling "bigint" and "double precision" column types with schema alignments
- fixed a bug with PgsqlTable::tryInsertImpl(); added an explicit "begin" call to make the savepoint work with PostgreSQL 9.3+ servers
- fixed a bug retrieving foreign constraints; columns were not guaranteed to be returned in declaration order
- implemented support for the `"returning"` clause as an insert option
- fixed a bug handling tablespaces in unique constraints
- fixed bugs in SqlUtil::cop_seq() and SqlUtil::cop_seq_currval() (issue 624)
- added support for listing PostgreSQL types and materialized views (issue 699)

## PgsqlSqlUtil v1.0

- initial release