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
/
sqlite3db.cpp
diff --git
a/src/db/sqlite3db.cpp
b/src/db/sqlite3db.cpp
index
809fc68
..
a828a4a
100644
(file)
--- a/
src/db/sqlite3db.cpp
+++ b/
src/db/sqlite3db.cpp
@@
-1,5
+1,12
@@
#include "../../include/db/sqlite3db.h"
\r
\r
#include "../../include/db/sqlite3db.h"
\r
\r
+#ifdef QUERY_LOG
\r
+#include <Poco/Logger.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
@@
-12,7
+19,7
@@
DB::DB()
Initialize();
\r
}
\r
\r
Initialize();
\r
}
\r
\r
-DB::DB(
std::string
filename)
\r
+DB::DB(
const std::string &
filename)
\r
{
\r
Initialize();
\r
Open(filename);
\r
{
\r
Initialize();
\r
Open(filename);
\r
@@
-22,7
+29,7
@@
DB::~DB()
{
\r
if(IsOpen())
\r
{
\r
{
\r
if(IsOpen())
\r
{
\r
- Close();
\r
+ Close();
\r
}
\r
}
\r
\r
}
\r
}
\r
\r
@@
-30,7
+37,12
@@
const bool DB::Close()
{
\r
if(IsOpen())
\r
{
\r
{
\r
if(IsOpen())
\r
{
\r
- ZThread::Guard<ZThread::Mutex> g(m_mutex);
\r
+ sqlite3_stmt *st=0;
\r
+ while((st=sqlite3_next_stmt(m_db,0))!=0)
\r
+ {
\r
+ sqlite3_finalize(st);
\r
+ }
\r
+
\r
m_lastresult=sqlite3_close(m_db);
\r
if(m_lastresult==SQLITE_OK)
\r
{
\r
m_lastresult=sqlite3_close(m_db);
\r
if(m_lastresult==SQLITE_OK)
\r
{
\r
@@
-39,12
+51,12
@@
const bool DB::Close()
}
\r
else
\r
{
\r
}
\r
else
\r
{
\r
- return false;
\r
+ return false;
\r
}
\r
}
\r
else
\r
{
\r
}
\r
}
\r
else
\r
{
\r
- return false;
\r
+ return false;
\r
}
\r
}
\r
\r
}
\r
}
\r
\r
@@
-52,15
+64,17
@@
const bool DB::Execute(const std::string &sql)
{
\r
if(IsOpen())
\r
{
\r
{
\r
if(IsOpen())
\r
{
\r
- ZThread::Guard<ZThread::Mutex> g(m_mutex);
\r
m_lastresult=sqlite3_exec(m_db,sql.c_str(),NULL,NULL,NULL);
\r
m_lastresult=sqlite3_exec(m_db,sql.c_str(),NULL,NULL,NULL);
\r
+#ifdef QUERY_LOG
\r
+ Poco::Logger::get("querylog").information("Execute : "+sql);
\r
+#endif
\r
if(m_lastresult==SQLITE_OK)
\r
{
\r
return true;
\r
}
\r
else
\r
{
\r
if(m_lastresult==SQLITE_OK)
\r
{
\r
return true;
\r
}
\r
else
\r
{
\r
- return false;
\r
+ return false;
\r
}
\r
}
\r
else
\r
}
\r
}
\r
else
\r
@@
-73,8
+87,10
@@
const bool DB::ExecuteInsert(const std::string &sql, long &insertid)
{
\r
if(IsOpen())
\r
{
\r
{
\r
if(IsOpen())
\r
{
\r
- ZThread::Guard<ZThread::Mutex> g(m_mutex);
\r
m_lastresult=sqlite3_exec(m_db,sql.c_str(),NULL,NULL,NULL);
\r
m_lastresult=sqlite3_exec(m_db,sql.c_str(),NULL,NULL,NULL);
\r
+#ifdef QUERY_LOG
\r
+ Poco::Logger::get("querylog").information("Execute Insert : "+sql);
\r
+#endif
\r
if(m_lastresult==SQLITE_OK)
\r
{
\r
insertid=sqlite3_last_insert_rowid(m_db);
\r
if(m_lastresult==SQLITE_OK)
\r
{
\r
insertid=sqlite3_last_insert_rowid(m_db);
\r
@@
-82,7
+98,7
@@
const bool DB::ExecuteInsert(const std::string &sql, long &insertid)
}
\r
else
\r
{
\r
}
\r
else
\r
{
\r
- return false;
\r
+ return false;
\r
}
\r
}
\r
else
\r
}
\r
}
\r
else
\r
@@
-95,7
+111,6
@@
const int DB::GetLastError(std::string &errormessage)
{
\r
if(IsOpen())
\r
{
\r
{
\r
if(IsOpen())
\r
{
\r
- ZThread::Guard<ZThread::Mutex> g(m_mutex);
\r
int errcode=sqlite3_errcode(m_db);
\r
const char *errmsg=sqlite3_errmsg(m_db);
\r
if(errmsg)
\r
int errcode=sqlite3_errcode(m_db);
\r
const char *errmsg=sqlite3_errmsg(m_db);
\r
if(errmsg)
\r
@@
-106,7
+121,7
@@
const int DB::GetLastError(std::string &errormessage)
}
\r
else
\r
{
\r
}
\r
else
\r
{
\r
- return SQLITE_OK;
\r
+ return SQLITE_OK;
\r
}
\r
}
\r
\r
}
\r
}
\r
\r
@@
-118,19
+133,17
@@
void DB::Initialize()
\r
const bool DB::IsOpen()
\r
{
\r
\r
const bool DB::IsOpen()
\r
{
\r
- ZThread::Guard<ZThread::Mutex> g(m_mutex);
\r
- return m_db ? true : false;
\r
+ return m_db ? true : false;
\r
}
\r
\r
const bool DB::Open(const std::string &filename)
\r
{
\r
}
\r
\r
const bool DB::Open(const std::string &filename)
\r
{
\r
- if(IsOpen()==
fals
e)
\r
+ if(IsOpen()==
tru
e)
\r
{
\r
Close();
\r
}
\r
if(IsOpen()==false)
\r
{
\r
{
\r
Close();
\r
}
\r
if(IsOpen()==false)
\r
{
\r
- ZThread::Guard<ZThread::Mutex> g(m_mutex);
\r
m_lastresult=sqlite3_open(filename.c_str(),&m_db);
\r
if(m_lastresult==SQLITE_OK)
\r
{
\r
m_lastresult=sqlite3_open(filename.c_str(),&m_db);
\r
if(m_lastresult==SQLITE_OK)
\r
{
\r
@@
-138,12
+151,12
@@
const bool DB::Open(const std::string &filename)
}
\r
else
\r
{
\r
}
\r
else
\r
{
\r
- return false;
\r
+ return false;
\r
}
\r
}
\r
else
\r
{
\r
}
\r
}
\r
else
\r
{
\r
- return false;
\r
+ return false;
\r
}
\r
}
\r
\r
}
\r
}
\r
\r
@@
-151,9
+164,14
@@
Statement DB::Prepare(const std::string &sql)
{
\r
if(IsOpen())
\r
{
\r
{
\r
if(IsOpen())
\r
{
\r
- ZThread::Guard<ZThread::Mutex> g(m_mutex);
\r
sqlite3_stmt *statement=NULL;
\r
m_lastresult=sqlite3_prepare_v2(m_db,sql.c_str(),sql.size(),&statement,NULL);
\r
sqlite3_stmt *statement=NULL;
\r
m_lastresult=sqlite3_prepare_v2(m_db,sql.c_str(),sql.size(),&statement,NULL);
\r
+#ifdef QUERY_LOG
\r
+ size_t temp=reinterpret_cast<size_t>(statement);
\r
+ std::string tempstr("");
\r
+ StringFunctions::Convert(temp,tempstr);
\r
+ Poco::Logger::get("querylog").information("Prepare : "+sql+" "+tempstr);
\r
+#endif
\r
if(m_lastresult==SQLITE_OK)
\r
{
\r
return Statement(statement);
\r
if(m_lastresult==SQLITE_OK)
\r
{
\r
return Statement(statement);
\r
@@
-173,10
+191,12
@@
Recordset DB::Query(const std::string &sql)
{
\r
if(IsOpen())
\r
{
\r
{
\r
if(IsOpen())
\r
{
\r
- ZThread::Guard<ZThread::Mutex> g(m_mutex);
\r
char **rs=NULL;
\r
int rows,cols;
\r
m_lastresult=sqlite3_get_table(m_db,sql.c_str(),&rs,&rows,&cols,NULL);
\r
char **rs=NULL;
\r
int rows,cols;
\r
m_lastresult=sqlite3_get_table(m_db,sql.c_str(),&rs,&rows,&cols,NULL);
\r
+#ifdef QUERY_LOG
\r
+ Poco::Logger::get("querylog").information("Query : "+sql);
\r
+#endif
\r
if(m_lastresult==SQLITE_OK)
\r
{
\r
return Recordset(rs,rows,cols);
\r
if(m_lastresult==SQLITE_OK)
\r
{
\r
return Recordset(rs,rows,cols);
\r
@@
-197,10
+217,13
@@
const int DB::SetBusyTimeout(const int ms)
{
\r
if(IsOpen())
\r
{
\r
{
\r
if(IsOpen())
\r
{
\r
- ZThread::Guard<ZThread::Mutex> g(m_mutex);
\r
m_lastresult=sqlite3_busy_timeout(m_db,ms);
\r
return m_lastresult;
\r
}
\r
m_lastresult=sqlite3_busy_timeout(m_db,ms);
\r
return m_lastresult;
\r
}
\r
+ else
\r
+ {
\r
+ return SQLITE_ERROR;
\r
+ }
\r
}
\r
\r
} // namespace
\r
}
\r
\r
} // namespace
\r