# HG changeset patch # User Sebastien Jodogne # Date 1775839226 -7200 # Node ID 86555367e0e987a369d6689073fc23040e669a74 # Parent ade27a46cee7503b42f8e902a5e3962015f94562 cppcheck diff -r ade27a46cee7 -r 86555367e0e9 Framework/Common/DatabaseManager.h --- a/Framework/Common/DatabaseManager.h Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/Common/DatabaseManager.h Fri Apr 10 18:40:26 2026 +0200 @@ -269,7 +269,7 @@ const std::string& sql, const Query::Parameters& parametersTypes); - virtual ~StandaloneStatement(); + virtual ~StandaloneStatement() ORTHANC_OVERRIDE; void Execute() { diff -r ade27a46cee7 -r 86555367e0e9 Framework/Common/ImplicitTransaction.h --- a/Framework/Common/ImplicitTransaction.h Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/Common/ImplicitTransaction.h Fri Apr 10 18:40:26 2026 +0200 @@ -53,7 +53,7 @@ public: ImplicitTransaction(); - virtual ~ImplicitTransaction(); + virtual ~ImplicitTransaction() ORTHANC_OVERRIDE; virtual bool IsImplicit() const ORTHANC_OVERRIDE { diff -r ade27a46cee7 -r 86555367e0e9 Framework/Common/ResultBase.h --- a/Framework/Common/ResultBase.h Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/Common/ResultBase.h Fri Apr 10 18:40:26 2026 +0200 @@ -50,7 +50,7 @@ void SetFieldsCount(size_t count); public: - virtual ~ResultBase() + virtual ~ResultBase() ORTHANC_OVERRIDE { ClearFields(); } diff -r ade27a46cee7 -r 86555367e0e9 Framework/MySQL/MySQLDatabase.cpp --- a/Framework/MySQL/MySQLDatabase.cpp Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/MySQL/MySQLDatabase.cpp Fri Apr 10 18:40:26 2026 +0200 @@ -163,7 +163,7 @@ { // Fallback to TCP connection if no UNIX socket is provided unsigned int protocol = MYSQL_PROTOCOL_TCP; - mysql_options(mysql_, MYSQL_OPT_PROTOCOL, (unsigned int *) &protocol); + mysql_options(mysql_, MYSQL_OPT_PROTOCOL, reinterpret_cast(&protocol)); } if (parameters_.IsSsl()) @@ -172,15 +172,15 @@ { #if (MYSQL_VERSION_ID > 50110 && MYSQL_VERSION_ID < 80000) // Removed in MySQL client 8.0 my_bool verifyCert = 1; - mysql_options(mysql_, MYSQL_OPT_SSL_VERIFY_SERVER_CERT, (void *) &verifyCert); + mysql_options(mysql_, MYSQL_OPT_SSL_VERIFY_SERVER_CERT, reinterpret_cast(&verifyCert)); #endif - mysql_options(mysql_, MYSQL_OPT_SSL_CA, (void *)(parameters_.GetSslCaCertificates())); + mysql_options(mysql_, MYSQL_OPT_SSL_CA, reinterpret_cast(parameters_.GetSslCaCertificates())); } #if (MYSQL_VERSION_ID > 50110 && MYSQL_VERSION_ID < 80000) // Removed in MySQL client 8.0 my_bool enforceTls = 1; - mysql_options(mysql_, MYSQL_OPT_SSL_ENFORCE, (void *) &enforceTls); + mysql_options(mysql_, MYSQL_OPT_SSL_ENFORCE, reinterpret_cast(&enforceTls)); #endif } @@ -402,7 +402,7 @@ } - bool MySQLDatabase::DoesTableExist(MySQLTransaction& transaction, + bool MySQLDatabase::DoesTableExist(const MySQLTransaction& transaction, const std::string& name) { if (mysql_ == NULL) @@ -434,7 +434,7 @@ } - bool MySQLDatabase::DoesDatabaseExist(MySQLTransaction& transaction, + bool MySQLDatabase::DoesDatabaseExist(const MySQLTransaction& transaction, const std::string& name) { if (mysql_ == NULL) @@ -464,7 +464,7 @@ } - bool MySQLDatabase::DoesTriggerExist(MySQLTransaction& transaction, + bool MySQLDatabase::DoesTriggerExist(const MySQLTransaction& transaction, const std::string& name) { if (mysql_ == NULL) diff -r ade27a46cee7 -r 86555367e0e9 Framework/MySQL/MySQLDatabase.h --- a/Framework/MySQL/MySQLDatabase.h Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/MySQL/MySQLDatabase.h Fri Apr 10 18:40:26 2026 +0200 @@ -54,7 +54,7 @@ public: explicit MySQLDatabase(const MySQLParameters& parameters); - virtual ~MySQLDatabase(); + virtual ~MySQLDatabase() ORTHANC_OVERRIDE; void LogError(); @@ -88,13 +88,13 @@ void ExecuteMultiLines(const std::string& sql, bool arobaseSeparator); - bool DoesTableExist(MySQLTransaction& transaction, + bool DoesTableExist(const MySQLTransaction& transaction, const std::string& name); - bool DoesDatabaseExist(MySQLTransaction& transaction, + bool DoesDatabaseExist(const MySQLTransaction& transaction, const std::string& name); - bool DoesTriggerExist(MySQLTransaction& transaction, + bool DoesTriggerExist(const MySQLTransaction& transaction, const std::string& name); virtual Dialect GetDialect() const ORTHANC_OVERRIDE diff -r ade27a46cee7 -r 86555367e0e9 Framework/MySQL/MySQLStatement.cpp --- a/Framework/MySQL/MySQLStatement.cpp Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/MySQL/MySQLStatement.cpp Fri Apr 10 18:40:26 2026 +0200 @@ -295,7 +295,7 @@ MYSQL_RES* metadata_; public: - ResultMetadata(MySQLDatabase& db, + ResultMetadata(const MySQLDatabase& db, MySQLStatement& statement) : metadata_(NULL) { @@ -405,7 +405,7 @@ if (query.IsReadOnly()) { unsigned long type = (unsigned long) CURSOR_TYPE_READ_ONLY; - mysql_stmt_attr_set(statement_, STMT_ATTR_CURSOR_TYPE, (void*) &type); + mysql_stmt_attr_set(statement_, STMT_ATTR_CURSOR_TYPE, reinterpret_cast(&type)); } } @@ -450,7 +450,7 @@ } - IResult* MySQLStatement::Execute(ITransaction& transaction, + IResult* MySQLStatement::Execute(const ITransaction& transaction, const Dictionary& parameters) { std::list int64Parameters; @@ -554,7 +554,7 @@ } - void MySQLStatement::ExecuteWithoutResult(ITransaction& transaction, + void MySQLStatement::ExecuteWithoutResult(const ITransaction& transaction, const Dictionary& parameters) { std::unique_ptr dummy(Execute(transaction, parameters)); diff -r ade27a46cee7 -r 86555367e0e9 Framework/MySQL/MySQLStatement.h --- a/Framework/MySQL/MySQLStatement.h Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/MySQL/MySQLStatement.h Fri Apr 10 18:40:26 2026 +0200 @@ -50,7 +50,7 @@ MySQLStatement(MySQLDatabase& db, const Query& query); - virtual ~MySQLStatement(); + virtual ~MySQLStatement() ORTHANC_OVERRIDE; MYSQL_STMT* GetObject(); @@ -61,10 +61,10 @@ IValue* FetchResultField(size_t i); - IResult* Execute(ITransaction& transaction, + IResult* Execute(const ITransaction& transaction, const Dictionary& parameters); - void ExecuteWithoutResult(ITransaction& transaction, + void ExecuteWithoutResult(const ITransaction& transaction, const Dictionary& parameters); }; } diff -r ade27a46cee7 -r 86555367e0e9 Framework/MySQL/MySQLTransaction.h --- a/Framework/MySQL/MySQLTransaction.h Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/MySQL/MySQLTransaction.h Fri Apr 10 18:40:26 2026 +0200 @@ -42,7 +42,7 @@ explicit MySQLTransaction(MySQLDatabase& db, TransactionType type); - virtual ~MySQLTransaction(); + virtual ~MySQLTransaction() ORTHANC_OVERRIDE; virtual bool IsImplicit() const ORTHANC_OVERRIDE { diff -r ade27a46cee7 -r 86555367e0e9 Framework/Odbc/OdbcDatabase.h --- a/Framework/Odbc/OdbcDatabase.h Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/Odbc/OdbcDatabase.h Fri Apr 10 18:40:26 2026 +0200 @@ -48,7 +48,7 @@ OdbcDatabase(OdbcEnvironment& environment, const std::string& connectionString); - virtual ~OdbcDatabase(); + virtual ~OdbcDatabase() ORTHANC_OVERRIDE; SQLHDBC GetHandle() { diff -r ade27a46cee7 -r 86555367e0e9 Framework/Odbc/OdbcEnvironment.cpp --- a/Framework/Odbc/OdbcEnvironment.cpp Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/Odbc/OdbcEnvironment.cpp Fri Apr 10 18:40:26 2026 +0200 @@ -44,7 +44,7 @@ } /* We want ODBC 3 support */ - if (!SQL_SUCCEEDED(SQLSetEnvAttr(handle_, SQL_ATTR_ODBC_VERSION, (void *) SQL_OV_ODBC3, 0))) + if (!SQL_SUCCEEDED(SQLSetEnvAttr(handle_, SQL_ATTR_ODBC_VERSION, reinterpret_cast(SQL_OV_ODBC3), 0))) { SQLFreeHandle(SQL_HANDLE_ENV, handle_); throw Orthanc::OrthancException(Orthanc::ErrorCode_Database, diff -r ade27a46cee7 -r 86555367e0e9 Framework/Odbc/OdbcResult.h --- a/Framework/Odbc/OdbcResult.h Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/Odbc/OdbcResult.h Fri Apr 10 18:40:26 2026 +0200 @@ -59,7 +59,7 @@ OdbcResult(OdbcStatement& statement, Dialect dialect); - virtual ~OdbcResult(); + virtual ~OdbcResult() ORTHANC_OVERRIDE; virtual void SetExpectedType(size_t field, ValueType type) ORTHANC_OVERRIDE; diff -r ade27a46cee7 -r 86555367e0e9 Framework/Plugins/DatabaseBackendAdapterV3.cpp --- a/Framework/Plugins/DatabaseBackendAdapterV3.cpp Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/Plugins/DatabaseBackendAdapterV3.cpp Fri Apr 10 18:40:26 2026 +0200 @@ -645,7 +645,7 @@ std::unique_ptr output_; public: - Transaction(IndexConnectionsPool& pool) : + explicit Transaction(IndexConnectionsPool& pool) : pool_(pool), accessor_(new IndexConnectionsPool::Accessor(pool)), output_(new Output) @@ -677,7 +677,7 @@ uint32_t* target /* out */) { assert(target != NULL); - const DatabaseBackendAdapterV3::Transaction& that = *reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction& that = *reinterpret_cast(transaction); return that.GetOutput().ReadAnswersCount(*target); } @@ -687,7 +687,7 @@ uint32_t index) { assert(target != NULL); - const DatabaseBackendAdapterV3::Transaction& that = *reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction& that = *reinterpret_cast(transaction); return that.GetOutput().ReadAnswerAttachment(*target, index); } @@ -697,7 +697,7 @@ uint32_t index) { assert(target != NULL); - const DatabaseBackendAdapterV3::Transaction& that = *reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction& that = *reinterpret_cast(transaction); return that.GetOutput().ReadAnswerChange(*target, index); } @@ -711,7 +711,7 @@ assert(group != NULL); assert(element != NULL); assert(value != NULL); - const DatabaseBackendAdapterV3::Transaction& that = *reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction& that = *reinterpret_cast(transaction); return that.GetOutput().ReadAnswerDicomTag(*group, *element, *value, index); } @@ -721,7 +721,7 @@ uint32_t index) { assert(target != NULL); - const DatabaseBackendAdapterV3::Transaction& that = *reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction& that = *reinterpret_cast(transaction); return that.GetOutput().ReadAnswerExportedResource(*target, index); } @@ -731,7 +731,7 @@ uint32_t index) { assert(target != NULL); - const DatabaseBackendAdapterV3::Transaction& that = *reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction& that = *reinterpret_cast(transaction); return that.GetOutput().ReadAnswerInt32(*target, index); } @@ -741,7 +741,7 @@ uint32_t index) { assert(target != NULL); - const DatabaseBackendAdapterV3::Transaction& that = *reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction& that = *reinterpret_cast(transaction); return that.GetOutput().ReadAnswerInt64(*target, index); } @@ -751,7 +751,7 @@ uint32_t index) { assert(target != NULL); - const DatabaseBackendAdapterV3::Transaction& that = *reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction& that = *reinterpret_cast(transaction); return that.GetOutput().ReadAnswerMatchingResource(*target, index); } @@ -763,7 +763,7 @@ { assert(metadata != NULL); assert(value != NULL); - const DatabaseBackendAdapterV3::Transaction& that = *reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction& that = *reinterpret_cast(transaction); return that.GetOutput().ReadAnswerMetadata(*metadata, *value, index); } @@ -773,7 +773,7 @@ uint32_t index) { assert(target != NULL); - const DatabaseBackendAdapterV3::Transaction& that = *reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction& that = *reinterpret_cast(transaction); return that.GetOutput().ReadAnswerString(*target, index); } @@ -782,7 +782,7 @@ uint32_t* target /* out */) { assert(target != NULL); - const DatabaseBackendAdapterV3::Transaction& that = *reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction& that = *reinterpret_cast(transaction); return that.GetOutput().ReadEventsCount(*target); } @@ -792,7 +792,7 @@ uint32_t index) { assert(event != NULL); - const DatabaseBackendAdapterV3::Transaction& that = *reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction& that = *reinterpret_cast(transaction); return that.GetOutput().ReadEvent(*event, index); } @@ -944,7 +944,7 @@ static OrthancPluginErrorCode Rollback(OrthancPluginDatabaseTransaction* transaction) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -959,7 +959,7 @@ static OrthancPluginErrorCode Commit(OrthancPluginDatabaseTransaction* transaction, int64_t fileSizeDelta /* TODO - not used? */) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -976,7 +976,7 @@ const OrthancPluginAttachment* attachment, int64_t revision) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -990,7 +990,7 @@ static OrthancPluginErrorCode ClearChanges(OrthancPluginDatabaseTransaction* transaction) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1004,7 +1004,7 @@ static OrthancPluginErrorCode ClearExportedResources(OrthancPluginDatabaseTransaction* transaction) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1019,7 +1019,7 @@ static OrthancPluginErrorCode ClearMainDicomTags(OrthancPluginDatabaseTransaction* transaction, int64_t resourceId) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1038,7 +1038,7 @@ const char* hashSeries, const char* hashInstance) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1063,7 +1063,7 @@ int64_t id, int32_t contentType) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1079,7 +1079,7 @@ int64_t id, int32_t metadataType) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1094,7 +1094,7 @@ static OrthancPluginErrorCode DeleteResource(OrthancPluginDatabaseTransaction* transaction, int64_t id) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1109,7 +1109,7 @@ static OrthancPluginErrorCode GetAllMetadata(OrthancPluginDatabaseTransaction* transaction, int64_t id) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1132,7 +1132,7 @@ static OrthancPluginErrorCode GetAllPublicIds(OrthancPluginDatabaseTransaction* transaction, OrthancPluginResourceType resourceType) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1153,7 +1153,7 @@ uint64_t since, uint64_t limit) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1174,7 +1174,7 @@ int64_t since, uint32_t maxResults) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1193,7 +1193,7 @@ static OrthancPluginErrorCode GetChildrenInternalId(OrthancPluginDatabaseTransaction* transaction, int64_t id) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1213,7 +1213,7 @@ int64_t resourceId, int32_t metadata) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1232,7 +1232,7 @@ static OrthancPluginErrorCode GetChildrenPublicId(OrthancPluginDatabaseTransaction* transaction, int64_t id) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1253,7 +1253,7 @@ int64_t since, uint32_t maxResults) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1271,7 +1271,7 @@ static OrthancPluginErrorCode GetLastChange(OrthancPluginDatabaseTransaction* transaction) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1286,7 +1286,7 @@ static OrthancPluginErrorCode GetLastChangeIndex(OrthancPluginDatabaseTransaction* transaction, int64_t* target) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1300,7 +1300,7 @@ static OrthancPluginErrorCode GetLastExportedResource(OrthancPluginDatabaseTransaction* transaction) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1315,7 +1315,7 @@ static OrthancPluginErrorCode GetMainDicomTags(OrthancPluginDatabaseTransaction* transaction, int64_t id) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1330,7 +1330,7 @@ static OrthancPluginErrorCode GetPublicId(OrthancPluginDatabaseTransaction* transaction, int64_t id) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1346,7 +1346,7 @@ uint64_t* target /* out */, OrthancPluginResourceType resourceType) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1362,7 +1362,7 @@ OrthancPluginResourceType* target /* out */, uint64_t resourceId) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1377,7 +1377,7 @@ static OrthancPluginErrorCode GetTotalCompressedSize(OrthancPluginDatabaseTransaction* transaction, uint64_t* target /* out */) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1392,7 +1392,7 @@ static OrthancPluginErrorCode GetTotalUncompressedSize(OrthancPluginDatabaseTransaction* transaction, uint64_t* target /* out */) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1408,7 +1408,7 @@ uint8_t* target, uint64_t threshold) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1425,7 +1425,7 @@ uint8_t* target, int64_t resourceId) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1442,7 +1442,7 @@ uint8_t* target, int64_t resourceId) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1458,7 +1458,7 @@ static OrthancPluginErrorCode ListAvailableAttachments(OrthancPluginDatabaseTransaction* transaction, int64_t resourceId) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1479,7 +1479,7 @@ OrthancPluginResourceType resourceType, const char* date) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1501,7 +1501,7 @@ const char* seriesInstanceUid, const char* sopInstanceUid) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1519,7 +1519,7 @@ int64_t resourceId, int32_t contentType) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1535,7 +1535,7 @@ const char* serverIdentifier, int32_t property) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1558,7 +1558,7 @@ int64_t id, int32_t metadata) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1581,7 +1581,7 @@ int64_t* parentId /* out */, int64_t id) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1608,7 +1608,7 @@ OrthancPluginResourceType* type /* out */, const char* publicId) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1636,7 +1636,7 @@ uint32_t limit, uint8_t requestSomeInstanceId) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1664,7 +1664,7 @@ OrthancPluginResourceType* type /* out */, const char* publicId) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1695,7 +1695,7 @@ uint8_t* patientAvailable, int64_t* patientId) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1721,7 +1721,7 @@ int64_t* patientId, int64_t patientIdToAvoid) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1747,7 +1747,7 @@ int32_t property, const char* value) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1765,7 +1765,7 @@ const char* value, int64_t revision) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1781,7 +1781,7 @@ int64_t id, uint8_t isProtected) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { @@ -1801,7 +1801,7 @@ uint32_t countMetadata, const OrthancPluginResourcesContentMetadata* metadata) { - DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); + const DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast(transaction); try { diff -r ade27a46cee7 -r 86555367e0e9 Framework/Plugins/DatabaseBackendAdapterV4.cpp --- a/Framework/Plugins/DatabaseBackendAdapterV4.cpp Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/Plugins/DatabaseBackendAdapterV4.cpp Fri Apr 10 18:40:26 2026 +0200 @@ -129,63 +129,63 @@ } public: - Output(Orthanc::DatabasePluginMessages::DeleteAttachment::Response& deleteAttachment) + explicit Output(Orthanc::DatabasePluginMessages::DeleteAttachment::Response& deleteAttachment) { Clear(); deleteAttachment_ = &deleteAttachment; } - Output(Orthanc::DatabasePluginMessages::DeleteResource::Response& deleteResource) + explicit Output(Orthanc::DatabasePluginMessages::DeleteResource::Response& deleteResource) { Clear(); deleteResource_ = &deleteResource; } - Output(Orthanc::DatabasePluginMessages::GetChanges::Response& getChanges) + explicit Output(Orthanc::DatabasePluginMessages::GetChanges::Response& getChanges) { Clear(); getChanges_ = &getChanges; } #if ORTHANC_PLUGINS_HAS_CHANGES_EXTENDED == 1 - Output(Orthanc::DatabasePluginMessages::GetChangesExtended::Response& getChangesExtended) + explicit Output(Orthanc::DatabasePluginMessages::GetChangesExtended::Response& getChangesExtended) { Clear(); getChangesExtended_ = &getChangesExtended; } #endif - Output(Orthanc::DatabasePluginMessages::GetExportedResources::Response& getExportedResources) + explicit Output(Orthanc::DatabasePluginMessages::GetExportedResources::Response& getExportedResources) { Clear(); getExportedResources_ = &getExportedResources; } - Output(Orthanc::DatabasePluginMessages::GetLastChange::Response& getLastChange) + explicit Output(Orthanc::DatabasePluginMessages::GetLastChange::Response& getLastChange) { Clear(); getLastChange_ = &getLastChange; } - Output(Orthanc::DatabasePluginMessages::GetLastExportedResource::Response& getLastExportedResource) + explicit Output(Orthanc::DatabasePluginMessages::GetLastExportedResource::Response& getLastExportedResource) { Clear(); getLastExportedResource_ = &getLastExportedResource; } - Output(Orthanc::DatabasePluginMessages::GetMainDicomTags::Response& getMainDicomTags) + explicit Output(Orthanc::DatabasePluginMessages::GetMainDicomTags::Response& getMainDicomTags) { Clear(); getMainDicomTags_ = &getMainDicomTags; } - Output(Orthanc::DatabasePluginMessages::LookupAttachment::Response& lookupAttachment) + explicit Output(Orthanc::DatabasePluginMessages::LookupAttachment::Response& lookupAttachment) { Clear(); lookupAttachment_ = &lookupAttachment; } - Output(Orthanc::DatabasePluginMessages::LookupResources::Response& lookupResources) + explicit Output(Orthanc::DatabasePluginMessages::LookupResources::Response& lookupResources) { Clear(); lookupResources_ = &lookupResources; @@ -1467,10 +1467,10 @@ return OrthancPluginErrorCode_InternalError; } - BaseIndexConnectionsPool& pool = *reinterpret_cast(rawPool); - try { + BaseIndexConnectionsPool& pool = *reinterpret_cast(rawPool); + Orthanc::DatabasePluginMessages::Response response; switch (request.type()) @@ -1481,7 +1481,7 @@ case Orthanc::DatabasePluginMessages::REQUEST_TRANSACTION: { - BaseIndexConnectionsPool::Accessor& transaction = *reinterpret_cast(request.transaction_request().transaction()); + const BaseIndexConnectionsPool::Accessor& transaction = *reinterpret_cast(request.transaction_request().transaction()); ProcessTransactionOperation(*response.mutable_transaction_response(), request.transaction_request(), transaction.GetBackend(), transaction.GetManager()); break; diff -r ade27a46cee7 -r 86555367e0e9 Framework/Plugins/DynamicIndexConnectionsPool.h --- a/Framework/Plugins/DynamicIndexConnectionsPool.h Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/Plugins/DynamicIndexConnectionsPool.h Fri Apr 10 18:40:26 2026 +0200 @@ -59,7 +59,7 @@ size_t maxConnectionsCount, unsigned int houseKeepingDelaySeconds); - virtual ~DynamicIndexConnectionsPool(); + virtual ~DynamicIndexConnectionsPool() ORTHANC_OVERRIDE; virtual void OpenConnections(bool hasIdentifierTags, const std::list& identifierTags) ORTHANC_OVERRIDE; diff -r ade27a46cee7 -r 86555367e0e9 Framework/Plugins/ISqlLookupFormatter.cpp --- a/Framework/Plugins/ISqlLookupFormatter.cpp Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/Plugins/ISqlLookupFormatter.cpp Fri Apr 10 18:40:26 2026 +0200 @@ -807,7 +807,7 @@ assert(upperLevel <= queryLevel && queryLevel <= lowerLevel); - std::string ordering; + std::string orderingSql; std::string orderingJoins; if (request.ordering_size() > 0) @@ -869,22 +869,22 @@ if (formatter.SupportsNullsLast()) { - ordering = "ROW_NUMBER() OVER (ORDER BY " + orderByFieldsString + " NULLS LAST) AS rowNumber"; + orderingSql = "ROW_NUMBER() OVER (ORDER BY " + orderByFieldsString + " NULLS LAST) AS rowNumber"; } else { - ordering = "ROW_NUMBER() OVER (ORDER BY " + orderByFieldsString + ") AS rowNumber"; + orderingSql = "ROW_NUMBER() OVER (ORDER BY " + orderByFieldsString + ") AS rowNumber"; } } else { - ordering = "ROW_NUMBER() OVER (ORDER BY " + strQueryLevel + ".publicId) AS rowNumber"; // we need a default ordering in order to make default queries repeatable when using since&limit + orderingSql = "ROW_NUMBER() OVER (ORDER BY " + strQueryLevel + ".publicId) AS rowNumber"; // we need a default ordering in order to make default queries repeatable when using since&limit } sql = ("SELECT " + strQueryLevel + ".publicId, " + strQueryLevel + ".internalId, " + - ordering + + orderingSql + " FROM Resources AS " + strQueryLevel); diff -r ade27a46cee7 -r 86555367e0e9 Framework/Plugins/IndexBackend.cpp --- a/Framework/Plugins/IndexBackend.cpp Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/Plugins/IndexBackend.cpp Fri Apr 10 18:40:26 2026 +0200 @@ -163,7 +163,7 @@ void IndexBackend::ReadChangesInternal(IDatabaseBackendOutput& output, bool& done, - DatabaseManager& manager, + const DatabaseManager& manager, DatabaseManager::CachedStatement& statement, const Dictionary& args, uint32_t limit, @@ -1399,25 +1399,25 @@ case OrthancPluginIdentifierConstraint_Equal: header += "d.value = ${value}"; statement.reset(new DatabaseManager::CachedStatement( - STATEMENT_FROM_HERE, manager, header.c_str())); + STATEMENT_FROM_HERE, manager, header)); break; case OrthancPluginIdentifierConstraint_SmallerOrEqual: header += "d.value <= ${value}"; statement.reset(new DatabaseManager::CachedStatement( - STATEMENT_FROM_HERE, manager, header.c_str())); + STATEMENT_FROM_HERE, manager, header)); break; case OrthancPluginIdentifierConstraint_GreaterOrEqual: header += "d.value >= ${value}"; statement.reset(new DatabaseManager::CachedStatement( - STATEMENT_FROM_HERE, manager, header.c_str())); + STATEMENT_FROM_HERE, manager, header)); break; case OrthancPluginIdentifierConstraint_Wildcard: header += "d.value LIKE ${value}"; statement.reset(new DatabaseManager::CachedStatement( - STATEMENT_FROM_HERE, manager, header.c_str())); + STATEMENT_FROM_HERE, manager, header)); break; default: diff -r ade27a46cee7 -r 86555367e0e9 Framework/Plugins/IndexBackend.h --- a/Framework/Plugins/IndexBackend.h Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/Plugins/IndexBackend.h Fri Apr 10 18:40:26 2026 +0200 @@ -73,7 +73,7 @@ private: void ReadChangesInternal(IDatabaseBackendOutput& output, bool& done, - DatabaseManager& manager, + const DatabaseManager& manager, DatabaseManager::CachedStatement& statement, const Dictionary& args, uint32_t limit, @@ -577,7 +577,7 @@ const std::list& identifierTags); #if ORTHANC_PLUGINS_HAS_DATABASE_CONSTRAINT == 1 - ISqlLookupFormatter* CreateLookupFormatter(Dialect dialect); + static ISqlLookupFormatter* CreateLookupFormatter(Dialect dialect); #endif }; } diff -r ade27a46cee7 -r 86555367e0e9 Framework/Plugins/IndexConnectionsPool.h --- a/Framework/Plugins/IndexConnectionsPool.h Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/Plugins/IndexConnectionsPool.h Fri Apr 10 18:40:26 2026 +0200 @@ -62,7 +62,7 @@ size_t countConnections, unsigned int houseKeepingDelaySeconds); - virtual ~IndexConnectionsPool(); + virtual ~IndexConnectionsPool() ORTHANC_OVERRIDE; virtual void OpenConnections(bool hasIdentifierTags, const std::list& identifierTags) ORTHANC_OVERRIDE; diff -r ade27a46cee7 -r 86555367e0e9 Framework/Plugins/IndexUnitTests.h --- a/Framework/Plugins/IndexUnitTests.h Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/Plugins/IndexUnitTests.h Fri Apr 10 18:40:26 2026 +0200 @@ -359,16 +359,16 @@ CheckBlob(blob); } - std::string s; - ASSERT_TRUE(db.LookupGlobalProperty(s, *manager, MISSING_SERVER_IDENTIFIER, Orthanc::GlobalProperty_DatabaseSchemaVersion)); - ASSERT_EQ("6", s); + std::string a; + ASSERT_TRUE(db.LookupGlobalProperty(a, *manager, MISSING_SERVER_IDENTIFIER, Orthanc::GlobalProperty_DatabaseSchemaVersion)); + ASSERT_EQ("6", a); db.SetGlobalProperty(*manager, MISSING_SERVER_IDENTIFIER, Orthanc::GlobalProperty_DatabaseInternal9, "Hello"); - ASSERT_TRUE(db.LookupGlobalProperty(s, *manager, MISSING_SERVER_IDENTIFIER, Orthanc::GlobalProperty_DatabaseInternal9)); - ASSERT_EQ("Hello", s); + ASSERT_TRUE(db.LookupGlobalProperty(a, *manager, MISSING_SERVER_IDENTIFIER, Orthanc::GlobalProperty_DatabaseInternal9)); + ASSERT_EQ("Hello", a); db.SetGlobalProperty(*manager, MISSING_SERVER_IDENTIFIER, Orthanc::GlobalProperty_DatabaseInternal9, "HelloWorld"); - ASSERT_TRUE(db.LookupGlobalProperty(s, *manager, MISSING_SERVER_IDENTIFIER, Orthanc::GlobalProperty_DatabaseInternal9)); - ASSERT_EQ("HelloWorld", s); + ASSERT_TRUE(db.LookupGlobalProperty(a, *manager, MISSING_SERVER_IDENTIFIER, Orthanc::GlobalProperty_DatabaseInternal9)); + ASSERT_EQ("HelloWorld", a); ASSERT_EQ(0u, db.GetAllResourcesCount(*manager)); ASSERT_EQ(0u, db.GetResourcesCount(*manager, OrthancPluginResourceType_Patient)); @@ -408,9 +408,9 @@ ASSERT_EQ(1u, db.GetResourcesCount(*manager, OrthancPluginResourceType_Study)); ASSERT_EQ(2u, db.GetResourcesCount(*manager, OrthancPluginResourceType_Series)); - ASSERT_FALSE(db.GetParentPublicId(s, *manager, studyId)); - ASSERT_TRUE(db.GetParentPublicId(s, *manager, seriesId)); ASSERT_EQ("study", s); - ASSERT_TRUE(db.GetParentPublicId(s, *manager, series2Id)); ASSERT_EQ("study", s); + ASSERT_FALSE(db.GetParentPublicId(a, *manager, studyId)); + ASSERT_TRUE(db.GetParentPublicId(a, *manager, seriesId)); ASSERT_EQ("study", a); + ASSERT_TRUE(db.GetParentPublicId(a, *manager, series2Id)); ASSERT_EQ("study", a); std::list children; db.GetChildren(children, *manager, studyId); @@ -449,9 +449,9 @@ db.SetMetadata(*manager, studyId, Orthanc::MetadataType_ModifiedFrom, "modified", 42); db.SetMetadata(*manager, studyId, Orthanc::MetadataType_LastUpdate, "update2", 43); int64_t revision = -1; - ASSERT_FALSE(db.LookupMetadata(s, revision, *manager, seriesId, Orthanc::MetadataType_LastUpdate)); - ASSERT_TRUE(db.LookupMetadata(s, revision, *manager, studyId, Orthanc::MetadataType_LastUpdate)); - ASSERT_EQ("update2", s); + ASSERT_FALSE(db.LookupMetadata(a, revision, *manager, seriesId, Orthanc::MetadataType_LastUpdate)); + ASSERT_TRUE(db.LookupMetadata(a, revision, *manager, studyId, Orthanc::MetadataType_LastUpdate)); + ASSERT_EQ("update2", a); #if HAS_REVISIONS == 1 ASSERT_EQ(43, revision); @@ -460,8 +460,8 @@ #endif db.SetMetadata(*manager, studyId, Orthanc::MetadataType_LastUpdate, reinterpret_cast(UTF8), 44); - ASSERT_TRUE(db.LookupMetadata(s, revision, *manager, studyId, Orthanc::MetadataType_LastUpdate)); - ASSERT_STREQ(reinterpret_cast(UTF8), s.c_str()); + ASSERT_TRUE(db.LookupMetadata(a, revision, *manager, studyId, Orthanc::MetadataType_LastUpdate)); + ASSERT_STREQ(reinterpret_cast(UTF8), a.c_str()); #if HAS_REVISIONS == 1 ASSERT_EQ(44, revision); @@ -496,11 +496,11 @@ db.ListAvailableMetadata(md, *manager, seriesId); ASSERT_EQ(0u, md.size()); - ASSERT_TRUE(db.LookupMetadata(s, revision, *manager, studyId, Orthanc::MetadataType_LastUpdate)); + ASSERT_TRUE(db.LookupMetadata(a, revision, *manager, studyId, Orthanc::MetadataType_LastUpdate)); db.DeleteMetadata(*manager, studyId, Orthanc::MetadataType_LastUpdate); - ASSERT_FALSE(db.LookupMetadata(s, revision, *manager, studyId, Orthanc::MetadataType_LastUpdate)); + ASSERT_FALSE(db.LookupMetadata(a, revision, *manager, studyId, Orthanc::MetadataType_LastUpdate)); db.DeleteMetadata(*manager, seriesId, Orthanc::MetadataType_LastUpdate); - ASSERT_FALSE(db.LookupMetadata(s, revision, *manager, studyId, Orthanc::MetadataType_LastUpdate)); + ASSERT_FALSE(db.LookupMetadata(a, revision, *manager, studyId, Orthanc::MetadataType_LastUpdate)); db.ListAvailableMetadata(md, *manager, studyId); ASSERT_EQ(1u, md.size()); @@ -786,12 +786,12 @@ // column in "ServerProperties" is "TEXT" instead of "LONGTEXT" db.SetGlobalProperty(*manager, "some-server", Orthanc::GlobalProperty_DatabaseInternal8, longProperty.c_str()); - ASSERT_TRUE(db.LookupGlobalProperty(s, *manager, MISSING_SERVER_IDENTIFIER, Orthanc::GlobalProperty_DatabaseInternal8)); - ASSERT_EQ(longProperty, s); + ASSERT_TRUE(db.LookupGlobalProperty(a, *manager, MISSING_SERVER_IDENTIFIER, Orthanc::GlobalProperty_DatabaseInternal8)); + ASSERT_EQ(longProperty, a); - s.clear(); - ASSERT_TRUE(db.LookupGlobalProperty(s, *manager, "some-server", Orthanc::GlobalProperty_DatabaseInternal8)); - ASSERT_EQ(longProperty, s); + a.clear(); + ASSERT_TRUE(db.LookupGlobalProperty(a, *manager, "some-server", Orthanc::GlobalProperty_DatabaseInternal8)); + ASSERT_EQ(longProperty, a); } for (size_t level = 0; level < 4; level++) @@ -1069,7 +1069,7 @@ #if ORTHANC_PLUGINS_HAS_RESERVE_QUEUE_VALUE == 1 { std::string value; - uint64_t valueIdA, valueIdB, valueIdC, valueIdD, valueIdE, valueIdFail; + uint64_t valueIdA, valueIdB, valueIdC, valueIdD, valueIdE; { manager->StartTransaction(TransactionType_ReadWrite); @@ -1111,6 +1111,8 @@ ASSERT_EQ("d", value); ASSERT_TRUE(db.ReserveQueueValue(value, valueIdC, *manager, "test", false, 1)); ASSERT_EQ("c", value); + + uint64_t valueIdFail; ASSERT_FALSE(db.ReserveQueueValue(value, valueIdFail, *manager, "test", false, 1)); manager->CommitTransaction(); diff -r ade27a46cee7 -r 86555367e0e9 Framework/Plugins/PluginInitialization.cpp --- a/Framework/Plugins/PluginInitialization.cpp Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/Plugins/PluginInitialization.cpp Fri Apr 10 18:40:26 2026 +0200 @@ -155,7 +155,7 @@ std::string(isIndex ? "index" : "storage area") + " into a " + dbms + " database"); - OrthancPlugins::SetDescription(pluginName, description.c_str()); + OrthancPlugins::SetDescription(pluginName, description); return true; } diff -r ade27a46cee7 -r 86555367e0e9 Framework/Plugins/StorageBackend.cpp --- a/Framework/Plugins/StorageBackend.cpp Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/Plugins/StorageBackend.cpp Fri Apr 10 18:40:26 2026 +0200 @@ -330,7 +330,7 @@ bool success_; public: - Visitor(OrthancPluginMemoryBuffer64* target) : + explicit Visitor(OrthancPluginMemoryBuffer64* target) : target_(target), success_(false) { @@ -406,7 +406,7 @@ bool success_; public: - Visitor(OrthancPluginMemoryBuffer64* target) : + explicit Visitor(OrthancPluginMemoryBuffer64* target) : target_(target), success_(false) { @@ -520,7 +520,7 @@ { } - ~Visitor() + virtual ~Visitor() ORTHANC_OVERRIDE { if (data_ != NULL /* this condition is invalidated by "Release()" */ && *data_ != NULL) @@ -792,7 +792,7 @@ operation.Execute(*accessor); return; // Success } - catch (Orthanc::OrthancException& e) + catch (const Orthanc::OrthancException& e) { #if ORTHANC_FRAMEWORK_VERSION_IS_ABOVE(1, 9, 2) if (e.GetErrorCode() == Orthanc::ErrorCode_DatabaseCannotSerialize) diff -r ade27a46cee7 -r 86555367e0e9 Framework/PostgreSQL/PostgreSQLDatabase.h --- a/Framework/PostgreSQL/PostgreSQLDatabase.h Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/PostgreSQL/PostgreSQLDatabase.h Fri Apr 10 18:40:26 2026 +0200 @@ -57,7 +57,7 @@ { } - ~PostgreSQLDatabase(); + virtual ~PostgreSQLDatabase() ORTHANC_OVERRIDE; void Open(); diff -r ade27a46cee7 -r 86555367e0e9 Framework/PostgreSQL/PostgreSQLResult.cpp --- a/Framework/PostgreSQL/PostgreSQLResult.cpp Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/PostgreSQL/PostgreSQLResult.cpp Fri Apr 10 18:40:26 2026 +0200 @@ -211,7 +211,7 @@ Oid oid; assert(PQfsize(reinterpret_cast(result_), column) == sizeof(oid)); - oid = *(const Oid*) PQgetvalue(reinterpret_cast(result_), position_, column); + oid = *reinterpret_cast(PQgetvalue(reinterpret_cast(result_), position_, column)); oid = ntohl(oid); return boost::lexical_cast(oid); diff -r ade27a46cee7 -r 86555367e0e9 Framework/PostgreSQL/PostgreSQLStatement.cpp --- a/Framework/PostgreSQL/PostgreSQLStatement.cpp Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/PostgreSQL/PostgreSQLStatement.cpp Fri Apr 10 18:40:26 2026 +0200 @@ -537,7 +537,7 @@ }; - IResult* PostgreSQLStatement::Execute(ITransaction& transaction, + IResult* PostgreSQLStatement::Execute(const ITransaction& transaction, const Dictionary& parameters) { for (size_t i = 0; i < formatter_.GetParametersCount(); i++) @@ -589,7 +589,7 @@ } - void PostgreSQLStatement::ExecuteWithoutResult(ITransaction& transaction, + void PostgreSQLStatement::ExecuteWithoutResult(const ITransaction& transaction, const Dictionary& parameters) { std::unique_ptr dummy(Execute(transaction, parameters)); diff -r ade27a46cee7 -r 86555367e0e9 Framework/PostgreSQL/PostgreSQLStatement.h --- a/Framework/PostgreSQL/PostgreSQLStatement.h Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/PostgreSQL/PostgreSQLStatement.h Fri Apr 10 18:40:26 2026 +0200 @@ -72,7 +72,7 @@ PostgreSQLStatement(PostgreSQLDatabase& database, const Query& query); - ~PostgreSQLStatement(); + virtual ~PostgreSQLStatement() ORTHANC_OVERRIDE; void DeclareInputInteger(unsigned int param); @@ -103,10 +103,10 @@ return database_; } - IResult* Execute(ITransaction& transaction, + IResult* Execute(const ITransaction& transaction, const Dictionary& parameters); - void ExecuteWithoutResult(ITransaction& transaction, + void ExecuteWithoutResult(const ITransaction& transaction, const Dictionary& parameters); }; } diff -r ade27a46cee7 -r 86555367e0e9 Framework/PostgreSQL/PostgreSQLTransaction.h --- a/Framework/PostgreSQL/PostgreSQLTransaction.h Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/PostgreSQL/PostgreSQLTransaction.h Fri Apr 10 18:40:26 2026 +0200 @@ -45,7 +45,7 @@ explicit PostgreSQLTransaction(PostgreSQLDatabase& database, TransactionType type); - ~PostgreSQLTransaction(); + virtual ~PostgreSQLTransaction() ORTHANC_OVERRIDE; virtual bool IsImplicit() const ORTHANC_OVERRIDE { diff -r ade27a46cee7 -r 86555367e0e9 Framework/SQLite/SQLiteStatement.cpp --- a/Framework/SQLite/SQLiteStatement.cpp Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/SQLite/SQLiteStatement.cpp Fri Apr 10 18:40:26 2026 +0200 @@ -105,7 +105,7 @@ } - IResult* SQLiteStatement::Execute(ITransaction& transaction, + IResult* SQLiteStatement::Execute(const ITransaction& transaction, const Dictionary& parameters) { BindParameters(parameters); @@ -113,7 +113,7 @@ } - void SQLiteStatement::ExecuteWithoutResult(ITransaction& transaction, + void SQLiteStatement::ExecuteWithoutResult(const ITransaction& transaction, const Dictionary& parameters) { BindParameters(parameters); diff -r ade27a46cee7 -r 86555367e0e9 Framework/SQLite/SQLiteStatement.h --- a/Framework/SQLite/SQLiteStatement.h Fri Apr 10 16:43:14 2026 +0200 +++ b/Framework/SQLite/SQLiteStatement.h Fri Apr 10 18:40:26 2026 +0200 @@ -52,10 +52,10 @@ Orthanc::SQLite::Statement& GetObject(); - IResult* Execute(ITransaction& transaction, + IResult* Execute(const ITransaction& transaction, const Dictionary& parameters); - void ExecuteWithoutResult(ITransaction& transaction, + void ExecuteWithoutResult(const ITransaction& transaction, const Dictionary& parameters); }; } diff -r ade27a46cee7 -r 86555367e0e9 PostgreSQL/Plugins/PostgreSQLIndex.cpp --- a/PostgreSQL/Plugins/PostgreSQLIndex.cpp Fri Apr 10 16:43:14 2026 +0200 +++ b/PostgreSQL/Plugins/PostgreSQLIndex.cpp Fri Apr 10 18:40:26 2026 +0200 @@ -69,7 +69,8 @@ return PostgreSQLDatabase::CreateDatabaseFactory(parameters_); } - void PostgreSQLIndex::ApplyPrepareIndex(DatabaseManager::Transaction& t, DatabaseManager& manager) + void PostgreSQLIndex::ApplyPrepareIndex(DatabaseManager::Transaction& t, + const DatabaseManager& manager) { std::string query; diff -r ade27a46cee7 -r 86555367e0e9 PostgreSQL/Plugins/PostgreSQLIndex.h --- a/PostgreSQL/Plugins/PostgreSQLIndex.h Fri Apr 10 16:43:14 2026 +0200 +++ b/PostgreSQL/Plugins/PostgreSQLIndex.h Fri Apr 10 18:40:26 2026 +0200 @@ -49,7 +49,8 @@ return true; } - void ApplyPrepareIndex(DatabaseManager::Transaction& t, DatabaseManager& manager); + void ApplyPrepareIndex(DatabaseManager::Transaction& t, + const DatabaseManager& manager); public: PostgreSQLIndex(OrthancPluginContext* context,