view PostgreSQL/NEWS @ 431:7c1fe5d6c12c pg-transactions

PG: IncrementGlobalProperty
author Alain Mazy <am@osimis.io>
date Thu, 07 Dec 2023 12:13:43 +0100
parents f1f3c5554283
children 8b7c1c423367
line wrap: on
line source

Pending changes in the mainline
===============================

* Experimental debug feature:
  Introduced 2 new configurations with these default values:
    "ReadOnlyTransactionStatement": "SET TRANSACTION ISOLATION LEVEL SERIALIZABLE READ ONLY"
    "ReadWriteTransactionStatement": "SET TRANSACTION ISOLATION LEVEL SERIALIZABLE READ WRITE"
  You can now customize the transaction isolation level.
  If setting these values to "", no statement is run and therefore, the default DB or server
  isolation level is used.
* internals:
  - Added a UNIQUE constraint on Resources.publicId to detect DB inconsistencies
* New "EnableVerboseLogs" configuration to show SQL statements being executed.


Release 5.1 (2023-06-27)
========================

* Optimization of LookupResources mainly used in tools/find, C-Find and QIDO-RS.

Release 5.0 (2023-04-15)
========================

* Added support for labels
* Compatibility with Orthanc SDK 1.12.0 (communications between the
  Orthanc core and the database plugin using Google Protocol Buffers)
* Upgraded dependencies for static builds (notably on Windows and LSB):
  - openssl 3.1.0


Release 4.0 (2021-04-22)
========================

* New option "IndexConnectionsCount" to control how many simultaneous
  connections to the PostgreSQL database are used by the index plugin
* Support of revisions for metadata and attachments
* Support of multiple readers/writers, by handling retries from Orthanc SDK 1.9.2
* Support of range reads for the storage area, from Orthanc SDK 1.9.0
* Fix issue #193 (LSB binaries crash with PostgreSQL + SSL) by changeset
  in OrthancFramework: https://orthanc.uclouvain.be/hg/orthanc/rev/9a9118406484
* Fix issue #151 (Storage failures when running with two instances and PG_LOCK=false)


Release 3.3 (2020-12-14)
========================

* Added an advisory lock to avoid race conditions during database setup
* Added "MaximumConnectionRetries" & "ConnectionRetryInterval" to configure 
  the retries when connecting to the DB at startup
* Support of dynamic linking against the system-wide Orthanc framework library
* Upgraded dependencies for static builds (notably on Windows and LSB):
  - openssl 1.1.1g
  - libpq 13.1 (replacing libpq 9.6.1)


Release 3.2 (2019-03-01)
========================

* Explicit deallocation of prepared statements


Release 3.1 (2019-02-08)
========================

* Fix build on Debian Buster
* Remove "ASSERT" in SQL for compatibility with older releases of PostgreSQL
* Implementation of new extensions: LookupResourceAndParent and GetAllMetadata
* Performance: Defining option "TCP_NODELAY" if libpq is linked statically


Release 3.0 (2019-01-21)
========================

* New configuration option: "EnableSsl"
* Database optimizations by implementing new primitives of Orthanc SDK 1.5.2
* Fix issue 105 (Unable to connect to PostgreSQL database using SSL)
* Fix Debian issue #906771 (Uncaught exception prevents db intialization
  (likely related to pg_trgm))
* Fix: Catching exceptions in destructors


Release 2.2 (2018-07-16)
========================

!! Important remark when upgrading from an older version of the plugin:

   The plugin will create a new index to improve search performance.
   This can take several minutes at the first Orthanc startup. Orthanc
   will not be available during this period. On a PostgreSQL database
   with 100,000 studies, we have observed that updating the index took
   around 10 minutes.

* Migration into the "orthanc-databases" repository
* Full refactoring to share code with MySQL
* Fix issue 41 (Additional range IdentifierConstraintType in Orthanc)
  !! This fix requires Orthanc version >= 1.4.0
* Fix issue 47 (Index improvements for PG plugin)
* Fix issue 76 (PG connection shall reconnect/retry in case it loses
  the connection to the server)


Release 2.1 (2018-04-20)
========================

* Running transactions in "Serializable" isolation level to avoid 
  inconsistencies if multiple Orthanc are writing to the same DB
* Upgrade to PostgreSQL 9.6.1 client library for static builds
* Performance warning if runtime debug assertions are turned on
* Fix issue 62 (use correct type for lo_read() value)
* Fix issue 63 (allow to connect without specifing username and/or port)
* Fix issue 68 (PostgreSQL plugin needs extra flags to compile)
* Resort to Orthanc framework
* Support of Linux Standard Base, OpenBSD and FreeBSD


Release 2.0 (2015-12-02)
========================

=> Minimum SDK version: 0.9.5 <=
=> Supported database versions: 5 (upgrade only) and 6 <=

* Support version 6 of the database schema
* The "value" column of tables "MainDicomTags" and "DicomIdentifiers" are now TEXT instead of BYTEA


Release 1.3 (2015-10-07)
========================

=> Minimum SDK version: 0.9.4 <=
=> Supported database versions: 5 <=

* Fix build with Orthanc plugin SDK 0.9.4
* Implementation of "GetAllPublicIdsWithLimit" extension
* Implementation of "UpgradeDatabase" extension


Release 1.2 (2015-08-02)
========================

=> Minimum SDK version: 0.9.1 <=

* Inject version information into Windows binaries
* CMake flag to prevent compiling the unit tests (if no PostgreSQL test server is available)
* Update to Boost 1.58.0 for static and Windows builds
* Support of OS X compilation


Release 1.1 (2015-07-03)
========================

* Fixes
* Support of Visual Studio 2008
* Support of FreeBSD thanks Mikhail <mp39590@gmail.com>


Release 1.0 (2015-02-27)
========================

* Use of advisory locks
* Support of connection URI in PostgreSQL
* Options "EnableIndex" and "EnableStorage" to explicitly enable PostgreSQL


2015-02-06
==========

* Initial release