comparison Framework/Plugins/IndexBackend.cpp @ 76:a1c6238b26f8 db-changes

new extension implemented for PostgreSQL: GetChildrenMetadata
author Sebastien Jodogne <s.jodogne@gmail.com>
date Sat, 05 Jan 2019 15:51:25 +0100
parents 52c70007bb87
children 2ee166f77501
comparison
equal deleted inserted replaced
75:52c70007bb87 76:a1c6238b26f8
1858 countMainDicomTags, mainDicomTags); 1858 countMainDicomTags, mainDicomTags);
1859 1859
1860 ExecuteSetResourcesContentMetadata(GetManager(), countMetadata, metadata); 1860 ExecuteSetResourcesContentMetadata(GetManager(), countMetadata, metadata);
1861 } 1861 }
1862 #endif 1862 #endif
1863
1864
1865 #if ORTHANC_PLUGINS_HAS_DATABASE_OPTIMIZATIONS_1 == 1
1866 // New primitive since Orthanc 1.5.2
1867 void IndexBackend::GetChildrenMetadata(std::list<std::string>& target,
1868 int64_t resourceId,
1869 int32_t metadata)
1870 {
1871 DatabaseManager::CachedStatement statement(
1872 STATEMENT_FROM_HERE, manager_,
1873 "SELECT value FROM Metadata WHERE type=${metadata} AND "
1874 "id IN (SELECT internalId FROM Resources WHERE parentId=${id})");
1875
1876 statement.SetReadOnly(true);
1877 statement.SetParameterType("id", ValueType_Integer64);
1878 statement.SetParameterType("metadata", ValueType_Integer64);
1879
1880 Dictionary args;
1881 args.SetIntegerValue("id", static_cast<int>(resourceId));
1882 args.SetIntegerValue("metadata", static_cast<int>(metadata));
1883
1884 ReadListOfStrings(target, statement, args);
1885 }
1886 #endif
1863 } 1887 }