diff Core/SQLite/Connection.cpp @ 1220:9b9026560a5f

SQLite wrapper is now fully independent of Orthanc
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 10 Nov 2014 16:33:51 +0100
parents a811bdf8b8eb
children 4c649dbeb61a
line wrap: on
line diff
--- a/Core/SQLite/Connection.cpp	Fri Nov 07 15:52:53 2014 +0100
+++ b/Core/SQLite/Connection.cpp	Mon Nov 10 16:33:51 2014 +0100
@@ -1,7 +1,8 @@
 /**
  * Orthanc - A Lightweight, RESTful DICOM Store
- * Copyright (C) 2012-2014 Medical Physics Department, CHU of Liege,
- * Belgium
+ *
+ * Copyright (C) 2012-2014 Sebastien Jodogne <s.jodogne@gmail.com>,
+ * Medical Physics Department, CHU of Liege, Belgium
  *
  * Copyright (c) 2012 The Chromium Authors. All rights reserved.
  *
@@ -34,17 +35,19 @@
  **/
 
 
+#if ORTHANC_SQLITE_STANDALONE != 1
 #include "../PrecompiledHeaders.h"
+#include <glog/logging.h>
+#endif
+
 #include "Connection.h"
+#include "OrthancSQLiteException.h"
 
 #include <memory>
 #include <cassert>
 #include <sqlite3.h>
 #include <string.h>
 
-#include <glog/logging.h>
-
-
 namespace Orthanc
 {
   namespace SQLite
@@ -67,7 +70,7 @@
     {
       if (!db_)
       {
-        throw OrthancException("SQLite: The database is not opened");
+        throw OrthancSQLiteException("SQLite: The database is not opened");
       }
     }
 
@@ -75,7 +78,7 @@
     {
       if (db_) 
       {
-        throw OrthancException("SQLite: Connection is already open");
+        throw OrthancSQLiteException("SQLite: Connection is already open");
       }
 
       int err = sqlite3_open(path.c_str(), &db_);
@@ -83,7 +86,7 @@
       {
         Close();
         db_ = NULL;
-        throw OrthancException("SQLite: Unable to open the database");
+        throw OrthancSQLiteException("SQLite: Unable to open the database");
       }
 
       // Execute PRAGMAs at this point
@@ -129,7 +132,7 @@
       {
         if (i->second->GetReferenceCount() >= 1)
         {
-          throw OrthancException("SQLite: This cached statement is already being referred to");
+          throw OrthancSQLiteException("SQLite: This cached statement is already being referred to");
         }
 
         return *i->second;
@@ -145,13 +148,16 @@
 
     bool Connection::Execute(const char* sql) 
     {
+#if ORTHANC_SQLITE_STANDALONE != 1
       VLOG(1) << "SQLite::Connection::Execute " << sql;
+#endif
+
       CheckIsOpen();
 
       int error = sqlite3_exec(db_, sql, NULL, NULL, NULL);
       if (error == SQLITE_ERROR)
       {
-        throw OrthancException("SQLite Execute error: " + std::string(sqlite3_errmsg(db_)));
+        throw OrthancSQLiteException("SQLite Execute error: " + std::string(sqlite3_errmsg(db_)));
       }
       else
       {
@@ -272,7 +278,7 @@
     {
       if (!transactionNesting_)
       {
-        throw OrthancException("Rolling back a nonexistent transaction");
+        throw OrthancSQLiteException("Rolling back a nonexistent transaction");
       }
 
       transactionNesting_--;
@@ -291,7 +297,7 @@
     {
       if (!transactionNesting_) 
       {
-        throw OrthancException("Committing a nonexistent transaction");
+        throw OrthancSQLiteException("Committing a nonexistent transaction");
       }
       transactionNesting_--;
 
@@ -359,7 +365,7 @@
       if (err != SQLITE_OK)
       {
         delete func;
-        throw OrthancException("SQLite: Unable to register a function");
+        throw OrthancSQLiteException("SQLite: Unable to register a function");
       }
 
       return func;
@@ -368,12 +374,15 @@
 
     void Connection::FlushToDisk()
     {
+#if ORTHANC_SQLITE_STANDALONE != 1
       VLOG(1) << "SQLite::Connection::FlushToDisk";
+#endif
+
       int err = sqlite3_wal_checkpoint(db_, NULL);
 
       if (err != SQLITE_OK)
       {
-        throw OrthancException("SQLite: Unable to flush the database");
+        throw OrthancSQLiteException("SQLite: Unable to flush the database");
       }
     }
   }