projects
/
fms.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
version 0.3.29
[fms.git]
/
src
/
db
/
sqlite3statement.cpp
diff --git
a/src/db/sqlite3statement.cpp
b/src/db/sqlite3statement.cpp
index
31c6ea5
..
7ef5e27
100644
(file)
--- a/
src/db/sqlite3statement.cpp
+++ b/
src/db/sqlite3statement.cpp
@@
-1,5
+1,13
@@
#include "../../include/db/sqlite3db/sqlite3statement.h"
\r
\r
#include "../../include/db/sqlite3db/sqlite3statement.h"
\r
\r
+#ifdef QUERY_LOG
\r
+#include <Poco/Logger.h>
\r
+#include <Poco/FormattingChannel.h>
\r
+#include <Poco/PatternFormatter.h>
\r
+#include <Poco/FileChannel.h>
\r
+#include "../../include/stringfunctions.h"
\r
+#endif
\r
+
\r
#ifdef XMEM
\r
#include <xmem.h>
\r
#endif
\r
#ifdef XMEM
\r
#include <xmem.h>
\r
#endif
\r
@@
-7,6
+15,7
@@
namespace SQLite3DB
\r
{
\r
\r
namespace SQLite3DB
\r
{
\r
\r
+Poco::FastMutex Statement::m_mutex;
\r
std::map<sqlite3_stmt *, long> Statement::m_statementcount;
\r
\r
Statement::Statement():m_statement(0),m_parametercount(0),m_resultcolumncount(0),m_rowreturned(false),m_lastinsertrowid(-1)
\r
std::map<sqlite3_stmt *, long> Statement::m_statementcount;
\r
\r
Statement::Statement():m_statement(0),m_parametercount(0),m_resultcolumncount(0),m_rowreturned(false),m_lastinsertrowid(-1)
\r
@@
-21,6
+30,7
@@
Statement::Statement(sqlite3_stmt *statement):m_statement(statement),m_rowreturn
\r
if(m_statement)
\r
{
\r
\r
if(m_statement)
\r
{
\r
+ Poco::ScopedLock<Poco::FastMutex> g(m_mutex);
\r
m_statementcount[m_statement]++;
\r
}
\r
}
\r
m_statementcount[m_statement]++;
\r
}
\r
}
\r
@@
-134,7
+144,7
@@
void Statement::Finalize()
{
\r
if(m_statement)
\r
{
\r
{
\r
if(m_statement)
\r
{
\r
- Poco::ScopedLock<Poco::FastMutex> g(
DB::Instance()->
m_mutex);
\r
+ Poco::ScopedLock<Poco::FastMutex> g(m_mutex);
\r
m_statementcount[m_statement]--;
\r
if(m_statementcount[m_statement]<=0)
\r
{
\r
m_statementcount[m_statement]--;
\r
if(m_statementcount[m_statement]<=0)
\r
{
\r
@@
-159,7
+169,7
@@
Statement &Statement::operator=(const Statement &rhs)
\r
if(m_statement)
\r
{
\r
\r
if(m_statement)
\r
{
\r
- Poco::ScopedLock<Poco::FastMutex> g(
DB::Instance()->
m_mutex);
\r
+ Poco::ScopedLock<Poco::FastMutex> g(m_mutex);
\r
m_statementcount[m_statement]++;
\r
}
\r
}
\r
m_statementcount[m_statement]++;
\r
}
\r
}
\r
@@
-170,7
+180,6
@@
const bool Statement::Reset()
{
\r
if(Valid())
\r
{
\r
{
\r
if(Valid())
\r
{
\r
- Poco::ScopedLock<Poco::FastMutex> g(DB::Instance()->m_mutex);
\r
if(sqlite3_reset(m_statement)==SQLITE_OK)
\r
{
\r
return true;
\r
if(sqlite3_reset(m_statement)==SQLITE_OK)
\r
{
\r
return true;
\r
@@
-287,8
+296,13
@@
const bool Statement::Step(const bool saveinsertrowid)
m_rowreturned=false;
\r
if(Valid())
\r
{
\r
m_rowreturned=false;
\r
if(Valid())
\r
{
\r
- Poco::ScopedLock<Poco::FastMutex> g(DB::Instance()->m_mutex);
\r
int result=sqlite3_step(m_statement);
\r
int result=sqlite3_step(m_statement);
\r
+#ifdef QUERY_LOG
\r
+ size_t temp=reinterpret_cast<size_t>(m_statement);
\r
+ std::string tempstr("");
\r
+ StringFunctions::Convert(temp,tempstr);
\r
+ Poco::Logger::get("querylog").information("Step : "+tempstr);
\r
+#endif
\r
if(result==SQLITE_OK || result==SQLITE_ROW || result==SQLITE_DONE)
\r
{
\r
if(result==SQLITE_ROW)
\r
if(result==SQLITE_OK || result==SQLITE_ROW || result==SQLITE_DONE)
\r
{
\r
if(result==SQLITE_ROW)
\r
@@
-297,7
+311,7
@@
const bool Statement::Step(const bool saveinsertrowid)
}
\r
if(saveinsertrowid)
\r
{
\r
}
\r
if(saveinsertrowid)
\r
{
\r
- m_lastinsertrowid=sqlite3_last_insert_rowid(
DB::Instance()->GetDB(
));
\r
+ m_lastinsertrowid=sqlite3_last_insert_rowid(
sqlite3_db_handle(m_statement
));
\r
}
\r
return true;
\r
}
\r
}
\r
return true;
\r
}
\r
@@
-314,7
+328,6
@@
const bool Statement::Step(const bool saveinsertrowid)
\r
const bool Statement::Valid()
\r
{
\r
\r
const bool Statement::Valid()
\r
{
\r
- Poco::ScopedLock<Poco::FastMutex> g(DB::Instance()->m_mutex);
\r
return m_statement ? true : false ;
\r
}
\r
\r
return m_statement ? true : false ;
\r
}
\r
\r