[prev in list] [next in list] [prev in thread] [next in thread] 

List:       sptk-commits
Subject:    r1026 - in trunk: sptk4/db src/drivers/SQLite3
From:       alexey () mail ! total-knowledge ! com
Date:       2009-10-25 7:27:58
Message-ID: courier.000000004AE3FDFE.00002BA5 () mail ! total-knowledge ! com
[Download RAW message or body]

Author: alexey
Date: 2009-10-25 00:27:58 -0700 (Sun, 25 Oct 2009)
New Revision: 1026

Modified:
   trunk/sptk4/db/CSQLite3Database.h
   trunk/src/drivers/SQLite3/CSQLite3Database.cpp
Log:
Replaced non-standard locks with GUARD macro

Modified: trunk/sptk4/db/CSQLite3Database.h
===================================================================
--- trunk/sptk4/db/CSQLite3Database.h	2009-10-25 00:48:47 UTC (rev 1025)
+++ trunk/sptk4/db/CSQLite3Database.h	2009-10-25 07:27:58 UTC (rev 1026)
@@ -124,42 +124,6 @@
     virtual void objectList(CDbObjectType objectType,CStrings& objects) throw(std::exception);
 };
 
-/// @brief SQLite3 synchronization object
-///
-/// Locks SQLite3 database. That is needed for thread safety.
-/// Defines only protected constructors to be used internally.
-class SP_EXPORT CSQLite3Lock {
-    friend class CSQLite3Database;
-
-    CSQLite3Database& m_object;    /// SQLite3 database
-protected:
-    /// @brief Protected constructor
-    ///
-    /// Locks the SQLite3 object till the destructor is called.
-    /// @param object CSQLite3Database&, SQLite3 object to lock.
-    CSQLite3Lock(CSQLite3Database& object) : m_object(object) {
-        if (&m_object)
-            m_object.lock();
-    }
-
-    /// @brief Protected constructor
-    ///
-    /// Locks the SQLite3 object till the destructor is called.
-    /// @param object CSQLite3Database*, SQLite3 object to lock.
-    CSQLite3Lock(CSQLite3Database* object) : m_object(*object) {
-        if (&m_object)
-            m_object.lock();
-    }
-public:
-
-    /// @brief Destructor
-    ///
-    /// Unlocks the SQLite3 object defined in constructor.
-    ~CSQLite3Lock() {
-        if (&m_object)
-            m_object.unlock();
-    }
-};
 /// @}
 }
 

Modified: trunk/src/drivers/SQLite3/CSQLite3Database.cpp
===================================================================
--- trunk/src/drivers/SQLite3/CSQLite3Database.cpp	2009-10-25 00:48:47 UTC (rev 1025)
+++ trunk/src/drivers/SQLite3/CSQLite3Database.cpp	2009-10-25 07:27:58 UTC (rev 1026)
@@ -40,6 +40,7 @@
 #include <sptk4/db/CDatabaseField.h>
 #include <sptk4/db/CQuery.h>
 #include <sptk4/db/CParams.h>
+#include <sptk4/CGuard.h>
 #include <string>
 #include <stdio.h>
 
@@ -175,7 +176,7 @@
 // the previously allocated stmt is released
 void CSQLite3Database::queryAllocStmt(CQuery *query)
 {
-    CSQLite3Lock lock(this);
+    GUARD(*this);
 
     SQLHSTMT stmt = (SQLHSTMT) query->statement();
     if (stmt)
@@ -185,7 +186,7 @@
 
 void CSQLite3Database::queryFreeStmt(CQuery *query)
 {
-    CSQLite3Lock lock(this);
+    GUARD(*this);
 
     SQLHSTMT stmt = (SQLHSTMT) query->statement();
     if (stmt)
@@ -196,7 +197,7 @@
 
 void CSQLite3Database::queryCloseStmt(CQuery *query)
 {
-    CSQLite3Lock lock(this);
+    GUARD(*this);
 
     //sqlite3_reset((SQLHSTMT)query->statement());
     SQLHSTMT stmt = (SQLHSTMT) query->statement();
@@ -208,7 +209,7 @@
 
 void CSQLite3Database::queryPrepare(CQuery *query)
 {
-    CSQLite3Lock lock(this);
+    GUARD(*this);
 
     SQLHSTMT stmt;
     const char *pzTail;
@@ -230,7 +231,7 @@
 
 void CSQLite3Database::queryExecute(CQuery *query)
 {
-    CSQLite3Lock lock(this);
+    GUARD(*this);
 
     if (!query->prepared())
         throw CDatabaseException("Query isn't prepared");
@@ -238,7 +239,7 @@
 
 int CSQLite3Database::queryColCount(CQuery *query)
 {
-    CSQLite3Lock lock(this);
+    GUARD(*this);
 
     SQLHSTMT stmt = (SQLHSTMT) query->statement();
 
@@ -247,7 +248,7 @@
 
 void CSQLite3Database::queryBindParameters(CQuery *query)
 {
-    CSQLite3Lock lock(this);
+    GUARD(*this);
 
     SQLHSTMT stmt = (SQLHSTMT) query->statement();
 
@@ -414,7 +415,7 @@
 
     SQLHSTMT statement = (SQLHSTMT) query->statement();
 
-    CSQLite3Lock lock(this);
+    GUARD(*this);
 
     int rc = sqlite3_step(statement);
 

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic