[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