projects
/
fms.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
version 0.1.15
[fms.git]
/
src
/
db
/
sqlite3statement.cpp
diff --git
a/src/db/sqlite3statement.cpp
b/src/db/sqlite3statement.cpp
index
54c26fe
..
81df27a
100644
(file)
--- a/
src/db/sqlite3statement.cpp
+++ b/
src/db/sqlite3statement.cpp
@@
-15,6
+15,7
@@
Statement::Statement()
m_parametercount=0;
\r
m_resultcolumncount=0;
\r
m_rowreturned=false;
\r
m_parametercount=0;
\r
m_resultcolumncount=0;
\r
m_rowreturned=false;
\r
+ m_lastinsertrowid=-1;
\r
}
\r
\r
Statement::Statement(sqlite3_stmt *statement)
\r
}
\r
\r
Statement::Statement(sqlite3_stmt *statement)
\r
@@
-23,6
+24,7
@@
Statement::Statement(sqlite3_stmt *statement)
m_parametercount=sqlite3_bind_parameter_count(m_statement);
\r
m_resultcolumncount=sqlite3_column_count(m_statement);
\r
m_rowreturned=false;
\r
m_parametercount=sqlite3_bind_parameter_count(m_statement);
\r
m_resultcolumncount=sqlite3_column_count(m_statement);
\r
m_rowreturned=false;
\r
+ m_lastinsertrowid=-1;
\r
\r
if(m_statement)
\r
{
\r
\r
if(m_statement)
\r
{
\r
@@
-36,6
+38,7
@@
Statement::Statement(const Statement &rhs)
m_parametercount=0;
\r
m_resultcolumncount=0;
\r
m_rowreturned=false;
\r
m_parametercount=0;
\r
m_resultcolumncount=0;
\r
m_rowreturned=false;
\r
+ m_lastinsertrowid=-1;
\r
*this=rhs;
\r
}
\r
\r
*this=rhs;
\r
}
\r
\r
@@
-44,6
+47,7
@@
Statement::~Statement()
\r
Finalize();
\r
\r
\r
Finalize();
\r
\r
+ /*
\r
std::vector<char *>::iterator i;
\r
for(i=textptrs.begin(); i!=textptrs.end(); i++)
\r
{
\r
std::vector<char *>::iterator i;
\r
for(i=textptrs.begin(); i!=textptrs.end(); i++)
\r
{
\r
@@
-52,6
+56,8
@@
Statement::~Statement()
delete [] (*i);
\r
}
\r
}
\r
delete [] (*i);
\r
}
\r
}
\r
+ */
\r
+
\r
}
\r
\r
const bool Statement::Bind(const int column)
\r
}
\r
\r
const bool Statement::Bind(const int column)
\r
@@
-59,7
+65,7
@@
const bool Statement::Bind(const int column)
if(Valid() && column>=0 && column<m_parametercount)
\r
{
\r
//ZThread::Guard<ZThread::Mutex> g(DB::instance()->m_mutex);
\r
if(Valid() && column>=0 && column<m_parametercount)
\r
{
\r
//ZThread::Guard<ZThread::Mutex> g(DB::instance()->m_mutex);
\r
- PThread::Guard g(DB::Instance()->m_mutex);
\r
+
//
PThread::Guard g(DB::Instance()->m_mutex);
\r
if(sqlite3_bind_null(m_statement,column+1)==SQLITE_OK)
\r
{
\r
return true;
\r
if(sqlite3_bind_null(m_statement,column+1)==SQLITE_OK)
\r
{
\r
return true;
\r
@@
-80,7
+86,7
@@
const bool Statement::Bind(const int column, const int value)
if(Valid() && column>=0 && column<m_parametercount)
\r
{
\r
//ZThread::Guard<ZThread::Mutex> g(DB::instance()->m_mutex);
\r
if(Valid() && column>=0 && column<m_parametercount)
\r
{
\r
//ZThread::Guard<ZThread::Mutex> g(DB::instance()->m_mutex);
\r
- PThread::Guard g(DB::Instance()->m_mutex);
\r
+
//
PThread::Guard g(DB::Instance()->m_mutex);
\r
if(sqlite3_bind_int(m_statement,column+1,value)==SQLITE_OK)
\r
{
\r
return true;
\r
if(sqlite3_bind_int(m_statement,column+1,value)==SQLITE_OK)
\r
{
\r
return true;
\r
@@
-101,7
+107,7
@@
const bool Statement::Bind(const int column, const double value)
if(Valid() && column>=0 && column<m_parametercount)
\r
{
\r
//ZThread::Guard<ZThread::Mutex> g(DB::instance()->m_mutex);
\r
if(Valid() && column>=0 && column<m_parametercount)
\r
{
\r
//ZThread::Guard<ZThread::Mutex> g(DB::instance()->m_mutex);
\r
- PThread::Guard g(DB::Instance()->m_mutex);
\r
+
//
PThread::Guard g(DB::Instance()->m_mutex);
\r
if(sqlite3_bind_double(m_statement,column+1,value)==SQLITE_OK)
\r
{
\r
return true;
\r
if(sqlite3_bind_double(m_statement,column+1,value)==SQLITE_OK)
\r
{
\r
return true;
\r
@@
-121,13
+127,9
@@
const bool Statement::Bind(const int column, const std::string &value)
{
\r
if(Valid() && column>=0 && column<m_parametercount)
\r
{
\r
{
\r
if(Valid() && column>=0 && column<m_parametercount)
\r
{
\r
- char *text=new char[value.size()+1];
\r
- strncpy(text,value.c_str(),value.size());
\r
- text[value.size()]=NULL;
\r
- textptrs.push_back(text);
\r
//ZThread::Guard<ZThread::Mutex> g(DB::instance()->m_mutex);
\r
//ZThread::Guard<ZThread::Mutex> g(DB::instance()->m_mutex);
\r
- PThread::Guard g(DB::Instance()->m_mutex);
\r
- if(sqlite3_bind_text(m_statement,column+1,
text,value.size(),NULL
)==SQLITE_OK)
\r
+
//
PThread::Guard g(DB::Instance()->m_mutex);
\r
+ if(sqlite3_bind_text(m_statement,column+1,
value.c_str(),value.size(),SQLITE_TRANSIENT
)==SQLITE_OK)
\r
{
\r
return true;
\r
}
\r
{
\r
return true;
\r
}
\r
@@
-147,8
+149,8
@@
const bool Statement::Bind(const int column, const void *data, const int length)
if(Valid() && column>=0 && column<m_parametercount)
\r
{
\r
//ZThread::Guard<ZThread::Mutex> g(DB::instance()->m_mutex);
\r
if(Valid() && column>=0 && column<m_parametercount)
\r
{
\r
//ZThread::Guard<ZThread::Mutex> g(DB::instance()->m_mutex);
\r
- PThread::Guard g(DB::Instance()->m_mutex);
\r
- if(sqlite3_bind_blob(m_statement,column+1,data,length,
NULL
)==SQLITE_OK)
\r
+
//
PThread::Guard g(DB::Instance()->m_mutex);
\r
+ if(sqlite3_bind_blob(m_statement,column+1,data,length,
SQLITE_TRANSIENT
)==SQLITE_OK)
\r
{
\r
return true;
\r
}
\r
{
\r
return true;
\r
}
\r
@@
-226,7
+228,7
@@
const bool Statement::ResultBlob(const int column, void *data, int &length)
if(Valid() && column>=0 && column<m_resultcolumncount)
\r
{
\r
//ZThread::Guard<ZThread::Mutex> g(DB::instance()->m_mutex);
\r
if(Valid() && column>=0 && column<m_resultcolumncount)
\r
{
\r
//ZThread::Guard<ZThread::Mutex> g(DB::instance()->m_mutex);
\r
- PThread::Guard g(DB::Instance()->m_mutex);
\r
+
//
PThread::Guard g(DB::Instance()->m_mutex);
\r
data=(void *)sqlite3_column_blob(m_statement,column);
\r
length=sqlite3_column_bytes(m_statement,column);
\r
return true;
\r
data=(void *)sqlite3_column_blob(m_statement,column);
\r
length=sqlite3_column_bytes(m_statement,column);
\r
return true;
\r
@@
-242,7
+244,7
@@
const bool Statement::ResultDouble(const int column, double &result)
if(Valid() && column>=0 && column<m_resultcolumncount)
\r
{
\r
//ZThread::Guard<ZThread::Mutex> g(DB::instance()->m_mutex);
\r
if(Valid() && column>=0 && column<m_resultcolumncount)
\r
{
\r
//ZThread::Guard<ZThread::Mutex> g(DB::instance()->m_mutex);
\r
- PThread::Guard g(DB::Instance()->m_mutex);
\r
+
//
PThread::Guard g(DB::Instance()->m_mutex);
\r
result=sqlite3_column_double(m_statement,column);
\r
return true;
\r
}
\r
result=sqlite3_column_double(m_statement,column);
\r
return true;
\r
}
\r
@@
-257,7
+259,7
@@
const bool Statement::ResultInt(const int column, int &result)
if(Valid() && column>=0 && column<m_resultcolumncount)
\r
{
\r
//ZThread::Guard<ZThread::Mutex> g(DB::instance()->m_mutex);
\r
if(Valid() && column>=0 && column<m_resultcolumncount)
\r
{
\r
//ZThread::Guard<ZThread::Mutex> g(DB::instance()->m_mutex);
\r
- PThread::Guard g(DB::Instance()->m_mutex);
\r
+
//
PThread::Guard g(DB::Instance()->m_mutex);
\r
result=sqlite3_column_int(m_statement,column);
\r
return true;
\r
}
\r
result=sqlite3_column_int(m_statement,column);
\r
return true;
\r
}
\r
@@
-272,7
+274,7
@@
const bool Statement::ResultNull(const int column)
if(Valid() && column>=0 && column<m_resultcolumncount)
\r
{
\r
//ZThread::Guard<ZThread::Mutex> g(DB::instance()->m_mutex);
\r
if(Valid() && column>=0 && column<m_resultcolumncount)
\r
{
\r
//ZThread::Guard<ZThread::Mutex> g(DB::instance()->m_mutex);
\r
- PThread::Guard g(DB::Instance()->m_mutex);
\r
+
//
PThread::Guard g(DB::Instance()->m_mutex);
\r
if(sqlite3_column_type(m_statement,column)==SQLITE_NULL)
\r
{
\r
return true;
\r
if(sqlite3_column_type(m_statement,column)==SQLITE_NULL)
\r
{
\r
return true;
\r
@@
-293,7
+295,7
@@
const bool Statement::ResultText(const int column, std::string &result)
if(Valid() && column>=0 && column<m_resultcolumncount)
\r
{
\r
//ZThread::Guard<ZThread::Mutex> g(DB::instance()->m_mutex);
\r
if(Valid() && column>=0 && column<m_resultcolumncount)
\r
{
\r
//ZThread::Guard<ZThread::Mutex> g(DB::instance()->m_mutex);
\r
- PThread::Guard g(DB::Instance()->m_mutex);
\r
+
//
PThread::Guard g(DB::Instance()->m_mutex);
\r
const unsigned char *cresult=sqlite3_column_text(m_statement,column);
\r
if(cresult)
\r
{
\r
const unsigned char *cresult=sqlite3_column_text(m_statement,column);
\r
if(cresult)
\r
{
\r