Mercurial > hg > orthanc
changeset 6116:14780871daaa attach-custom-data
changed signature of ITransaction::GetQueueSize()
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 20 May 2025 14:22:57 +0200 |
parents | 7dcc5e0a23b7 |
children | fec888c37d4e |
files | OrthancServer/Plugins/Engine/OrthancPluginDatabase.cpp OrthancServer/Plugins/Engine/OrthancPluginDatabaseV3.cpp OrthancServer/Plugins/Engine/OrthancPluginDatabaseV4.cpp OrthancServer/Plugins/Engine/OrthancPlugins.cpp OrthancServer/Sources/Database/IDatabaseWrapper.h OrthancServer/Sources/Database/SQLiteDatabaseWrapper.cpp OrthancServer/Sources/Database/StatelessDatabaseOperations.cpp OrthancServer/Sources/Database/StatelessDatabaseOperations.h |
diffstat | 8 files changed, 19 insertions(+), 26 deletions(-) [+] |
line wrap: on
line diff
--- a/OrthancServer/Plugins/Engine/OrthancPluginDatabase.cpp Mon May 19 15:13:19 2025 +0200 +++ b/OrthancServer/Plugins/Engine/OrthancPluginDatabase.cpp Tue May 20 14:22:57 2025 +0200 @@ -1492,8 +1492,7 @@ throw OrthancException(ErrorCode_InternalError); // Not supported } - virtual void GetQueueSize(uint64_t& size, - const std::string& queueId) ORTHANC_OVERRIDE + virtual uint64_t GetQueueSize(const std::string& queueId) ORTHANC_OVERRIDE { throw OrthancException(ErrorCode_InternalError); // Not supported }
--- a/OrthancServer/Plugins/Engine/OrthancPluginDatabaseV3.cpp Mon May 19 15:13:19 2025 +0200 +++ b/OrthancServer/Plugins/Engine/OrthancPluginDatabaseV3.cpp Tue May 20 14:22:57 2025 +0200 @@ -1104,8 +1104,7 @@ throw OrthancException(ErrorCode_InternalError); // Not supported } - virtual void GetQueueSize(uint64_t& size, - const std::string& queueId) ORTHANC_OVERRIDE + virtual uint64_t GetQueueSize(const std::string& queueId) ORTHANC_OVERRIDE { throw OrthancException(ErrorCode_InternalError); // Not supported } @@ -1122,8 +1121,6 @@ { throw OrthancException(ErrorCode_NotImplemented); // Not supported } - - };
--- a/OrthancServer/Plugins/Engine/OrthancPluginDatabaseV4.cpp Mon May 19 15:13:19 2025 +0200 +++ b/OrthancServer/Plugins/Engine/OrthancPluginDatabaseV4.cpp Tue May 20 14:22:57 2025 +0200 @@ -1863,12 +1863,10 @@ throw OrthancException(ErrorCode_InternalError); // TODO_ATTACH_CUSTOM_DATA } - virtual void GetQueueSize(uint64_t& size, - const std::string& queueId) ORTHANC_OVERRIDE + virtual uint64_t GetQueueSize(const std::string& queueId) ORTHANC_OVERRIDE { throw OrthancException(ErrorCode_InternalError); // TODO_ATTACH_CUSTOM_DATA } - };
--- a/OrthancServer/Plugins/Engine/OrthancPlugins.cpp Mon May 19 15:13:19 2025 +0200 +++ b/OrthancServer/Plugins/Engine/OrthancPlugins.cpp Tue May 20 14:22:57 2025 +0200 @@ -4797,7 +4797,7 @@ { PImpl::ServerContextReference lock(*pimpl_); - lock.GetContext().GetIndex().GetQueueSize(*parameters.size, parameters.queueId); + *parameters.size = lock.GetContext().GetIndex().GetQueueSize(parameters.queueId); } void OrthancPlugins::ApplyLoadDicomInstance(const _OrthancPluginLoadDicomInstance& params)
--- a/OrthancServer/Sources/Database/IDatabaseWrapper.h Mon May 19 15:13:19 2025 +0200 +++ b/OrthancServer/Sources/Database/IDatabaseWrapper.h Tue May 20 14:22:57 2025 +0200 @@ -463,9 +463,8 @@ const std::string& queueId, QueueOrigin origin) = 0; - virtual void GetQueueSize(uint64_t& size, - const std::string& queueId) = 0; - + // New in Orthanc 1.12.99, for statistics only + virtual uint64_t GetQueueSize(const std::string& queueId) = 0; };
--- a/OrthancServer/Sources/Database/SQLiteDatabaseWrapper.cpp Mon May 19 15:13:19 2025 +0200 +++ b/OrthancServer/Sources/Database/SQLiteDatabaseWrapper.cpp Tue May 20 14:22:57 2025 +0200 @@ -2224,9 +2224,11 @@ case QueueOrigin_Front: s.reset(new SQLite::Statement(db_, SQLITE_FROM_HERE, "SELECT id, value FROM Queues WHERE queueId=? ORDER BY id ASC LIMIT 1")); break; + case QueueOrigin_Back: s.reset(new SQLite::Statement(db_, SQLITE_FROM_HERE, "SELECT id, value FROM Queues WHERE queueId=? ORDER BY id DESC LIMIT 1")); break; + default: throw OrthancException(ErrorCode_InternalError); } @@ -2252,15 +2254,13 @@ } // New in Orthanc 1.12.99 - virtual void GetQueueSize(uint64_t& size, - const std::string& queueId) ORTHANC_OVERRIDE + virtual uint64_t GetQueueSize(const std::string& queueId) ORTHANC_OVERRIDE { SQLite::Statement s(db_, SQLITE_FROM_HERE, "SELECT COUNT(*) FROM Queues WHERE queueId=?"); s.BindString(0, queueId); s.Step(); - size = s.ColumnInt64(0); + return s.ColumnInt64(0); } - };
--- a/OrthancServer/Sources/Database/StatelessDatabaseOperations.cpp Mon May 19 15:13:19 2025 +0200 +++ b/OrthancServer/Sources/Database/StatelessDatabaseOperations.cpp Tue May 20 14:22:57 2025 +0200 @@ -3510,22 +3510,24 @@ return operations.HasFound(); } - void StatelessDatabaseOperations::GetQueueSize(uint64_t& size, - const std::string& queueId) + uint64_t StatelessDatabaseOperations::GetQueueSize(const std::string& queueId) { class Operations : public ReadOnlyOperationsT2<uint64_t&, const std::string& > { public: - virtual void ApplyTuple(ReadOnlyTransaction& transaction, const Tuple& tuple) ORTHANC_OVERRIDE { - transaction.GetQueueSize(tuple.get<0>(), tuple.get<1>()); + tuple.get<0>() = transaction.GetQueueSize(tuple.get<1>()); } }; + uint64_t size; + Operations operations; operations.Apply(*this, size, queueId); + + return size; }
--- a/OrthancServer/Sources/Database/StatelessDatabaseOperations.h Mon May 19 15:13:19 2025 +0200 +++ b/OrthancServer/Sources/Database/StatelessDatabaseOperations.h Tue May 20 14:22:57 2025 +0200 @@ -308,10 +308,9 @@ return transaction_.GetKeyValue(value, storeId, key); } - void GetQueueSize(uint64_t& size, - const std::string& queueId) + uint64_t GetQueueSize(const std::string& queueId) { - return transaction_.GetQueueSize(size, queueId); + return transaction_.GetQueueSize(queueId); } void ListKeys(std::list<std::string>& keys, @@ -820,7 +819,6 @@ const std::string& queueId, QueueOrigin origin); - void GetQueueSize(uint64_t& size, - const std::string& queueId); + uint64_t GetQueueSize(const std::string& queueId); }; }