Explorar el Código

Enable tag caching

Whenever a tag cache read or write request is made, ensure that the
tag cache exists (create it if it does not exist).
Steve Pieper hace 12 años
padre
commit
09f383f382
Se han modificado 1 ficheros con 8 adiciones y 0 borrados
  1. 8 0
      Libs/DICOM/Core/ctkDICOMDatabase.cpp

+ 8 - 0
Libs/DICOM/Core/ctkDICOMDatabase.cpp

@@ -1230,6 +1230,10 @@ bool ctkDICOMDatabase::initializeTagCache()
 QString ctkDICOMDatabase::cachedTag(const QString sopInstanceUID, const QString tag)
 {
   Q_D(ctkDICOMDatabase);
+  if ( !this->tagCacheExists() )
+    {
+    this->initializeTagCache();
+    }
   QSqlQuery selectValue( d->Database );
   selectValue.prepare( "SELECT Value FROM TagCache WHERE SOPInstanceUID = :sopInstanceUID AND Tag = :tag" );
   selectValue.bindValue(":sopInstanceUID",sopInstanceUID);
@@ -1247,6 +1251,10 @@ QString ctkDICOMDatabase::cachedTag(const QString sopInstanceUID, const QString
 bool ctkDICOMDatabase::cacheTag(const QString sopInstanceUID, const QString tag, const QString value)
 {
   Q_D(ctkDICOMDatabase);
+  if ( !this->tagCacheExists() )
+    {
+    this->initializeTagCache();
+    }
   QSqlQuery insertTag( d->Database );
   insertTag.prepare( "INSERT OR REPLACE INTO TagCache VALUES(:sopInstanceUID, :tag, :value)" );
   insertTag.bindValue(":sopInstanceUID",sopInstanceUID);