comparison OrthancServer/DatabaseWrapper.cpp @ 252:bd009f0b1931

db version
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 05 Dec 2012 12:50:25 +0100
parents e4148b0ab1d0
children 2354560daf2f
comparison
equal deleted inserted replaced
251:4dc9d00c359c 252:bd009f0b1931
733 std::string query; 733 std::string query;
734 EmbeddedResources::GetFileResource(query, EmbeddedResources::PREPARE_DATABASE); 734 EmbeddedResources::GetFileResource(query, EmbeddedResources::PREPARE_DATABASE);
735 db_.Execute(query); 735 db_.Execute(query);
736 } 736 }
737 737
738 // Sanity check of the version of the database
739 std::string version = GetGlobalProperty(GlobalProperty_DatabaseSchemaVersion, "Unknown");
740 bool ok = false;
741 try
742 {
743 LOG(INFO) << "Version of the Orthanc database: " << version;
744 unsigned int v = boost::lexical_cast<unsigned int>(version);
745
746 // This version of Orthanc is only compatible with version 2 of
747 // the DB schema (since Orthanc 0.3.1)
748 ok = (v == 2);
749 }
750 catch (boost::bad_lexical_cast&)
751 {
752 }
753
754 if (!ok)
755 {
756 throw OrthancException(ErrorCode_IncompatibleDatabaseVersion);
757 }
758
738 signalRemainingAncestor_ = new Internals::SignalRemainingAncestor; 759 signalRemainingAncestor_ = new Internals::SignalRemainingAncestor;
739 db_.Register(signalRemainingAncestor_); 760 db_.Register(signalRemainingAncestor_);
740 db_.Register(new Internals::SignalFileDeleted(listener_)); 761 db_.Register(new Internals::SignalFileDeleted(listener_));
741 } 762 }
742 763