Mercurial > hg > orthanc-databases
view PostgreSQL/NEWS @ 592:5abad3976d9f find-refactoring
PG: new ChildrendIndex2 to replace ChildrendIndex
author | Alain Mazy <am@orthanc.team> |
---|---|
date | Fri, 08 Nov 2024 16:19:46 +0100 |
parents | 14bd2e248417 |
children | 14ba6a6f633f |
line wrap: on
line source
Pending changes in the mainline =============================== DB schema revision: 2 Minimum plugin SDK (for build): 1.12.3 Optimal plugin SDK (for build): 1.12.5+ Minimum Orthanc runtime: 1.12.3 Optimal Orthanc runtime: 1.12.5+ * WARNING: An Index is being replaced to improve performance. The creation of the new index can take some time (we have observed 3 minutes on a DB with 70M instances). Orthanc will not be available during the creation of this index. If needed, you can create it manually before installing the new plugin by executing these SQL commands: CREATE INDEX IF NOT EXISTS ChildrenIndex2 ON Resources USING btree (parentId ASC NULLS LAST) INCLUDE (publicId, internalId); -- new in rev 3 DROP INDEX IF EXISTS ChildrenIndex; -- till rev 2; replaced by ChildrenIndex in rev 3 but no need to uninstall ChildrenIndex2 it when downgrading * Fix updates from plugin version 3.3 to latest version * Added support for ExtendedChanges: - changes?type=...&to=... * Performance optimizations (to be summarized before release): - using more prepared SQL statements: - InsertOrUpdateMetadata - ExecuteSetResourcesContentTags - merged BEGIN and SET TRANSACTION statements - reduced the number of round-trips between Orthanc and the PostgreSQL server: - e.g: when receiving an instance in an existing series, reduced the number of SQL queries from 13 to 9 * Fixed a memory leak when executing non cached SQL statements (rarely used) * New default values for configurations: - "IndexConnectionsCount": 50 - "TransactionMode": "ReadCommitted" Release 6.2 (2024-03-25) ======================== DB schema revision: 2 Minimum plugin SDK (for build): 1.12.3 Minimum Orthanc runtime: 1.12.3 * Fix check of Orthanc runtime version Release 6.1 (2024-02-14) ======================== DB schema revision: 2 * Fix handling of MaximumStorageSize & MaximumPatientCount. Release 6.0 (2024-02-08) ======================== DB schema revision: 2 * The DB schema has been updated to Revision 2. If you need to reinstall the previous version of the plugin, you should run this script: https://orthanc.uclouvain.be/hg/orthanc-databases/file/tip/PostgreSQL/Plugins/SQL/Downgrades/Rev2ToRev1.sql * Transaction Mode: Introduced a new configuration "TransactionMode" to select the transaction isolation level. Allowed values: "Serializable", "ReadCommitted". The "Serializable" mode was the only available value up to now. It is still the default value now. The "ReadCommitted" is possible now due to rewrites of SQL queries and notably improves the Orthanc ability to ingest data from multiple sources in parallel. * New "EnableVerboseLogs" configuration to show SQL statements being executed. Release 5.1 (2023-06-27) ======================== DB schema revision: 1 * 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