Mercurial > hg > orthanc-databases
comparison Framework/Plugins/DatabaseBackendAdapterV3.cpp @ 256:e184dcadf163
handling of revisions in metadata
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 16 Apr 2021 17:13:33 +0200 |
parents | d663d9e44f8d |
children | 793bbbe11287 |
comparison
equal
deleted
inserted
replaced
255:d663d9e44f8d | 256:e184dcadf163 |
---|---|
1705 ORTHANC_PLUGINS_DATABASE_CATCH(t->GetBackend().GetContext()); | 1705 ORTHANC_PLUGINS_DATABASE_CATCH(t->GetBackend().GetContext()); |
1706 } | 1706 } |
1707 | 1707 |
1708 | 1708 |
1709 static OrthancPluginErrorCode LookupMetadata(OrthancPluginDatabaseTransaction* transaction, | 1709 static OrthancPluginErrorCode LookupMetadata(OrthancPluginDatabaseTransaction* transaction, |
1710 int64_t* revision /* out */, | |
1710 int64_t id, | 1711 int64_t id, |
1711 int32_t metadata) | 1712 int32_t metadata) |
1712 { | 1713 { |
1713 DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast<DatabaseBackendAdapterV3::Transaction*>(transaction); | 1714 DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast<DatabaseBackendAdapterV3::Transaction*>(transaction); |
1714 | 1715 |
1715 try | 1716 try |
1716 { | 1717 { |
1717 t->GetOutput().Clear(); | 1718 t->GetOutput().Clear(); |
1718 | 1719 |
1719 std::string s; | 1720 std::string s; |
1720 if (t->GetBackend().LookupMetadata(s, t->GetManager(), id, metadata)) | 1721 if (t->GetBackend().LookupMetadata(s, *revision, t->GetManager(), id, metadata)) |
1721 { | 1722 { |
1722 t->GetOutput().AnswerString(s); | 1723 t->GetOutput().AnswerString(s); |
1723 } | 1724 } |
1724 | 1725 |
1725 return OrthancPluginErrorCode_Success; | 1726 return OrthancPluginErrorCode_Success; |
1911 | 1912 |
1912 | 1913 |
1913 static OrthancPluginErrorCode SetMetadata(OrthancPluginDatabaseTransaction* transaction, | 1914 static OrthancPluginErrorCode SetMetadata(OrthancPluginDatabaseTransaction* transaction, |
1914 int64_t id, | 1915 int64_t id, |
1915 int32_t metadata, | 1916 int32_t metadata, |
1916 const char* value) | 1917 const char* value, |
1917 { | 1918 int64_t revision) |
1918 DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast<DatabaseBackendAdapterV3::Transaction*>(transaction); | 1919 { |
1919 | 1920 DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast<DatabaseBackendAdapterV3::Transaction*>(transaction); |
1920 try | 1921 |
1921 { | 1922 try |
1922 t->GetOutput().Clear(); | 1923 { |
1923 t->GetBackend().SetMetadata(t->GetManager(), id, metadata, value); | 1924 t->GetOutput().Clear(); |
1925 t->GetBackend().SetMetadata(t->GetManager(), id, metadata, value, revision); | |
1924 return OrthancPluginErrorCode_Success; | 1926 return OrthancPluginErrorCode_Success; |
1925 } | 1927 } |
1926 ORTHANC_PLUGINS_DATABASE_CATCH(t->GetBackend().GetContext()); | 1928 ORTHANC_PLUGINS_DATABASE_CATCH(t->GetBackend().GetContext()); |
1927 } | 1929 } |
1928 | 1930 |