aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Database/Transaction.cpp
diff options
context:
space:
mode:
authorMachiavelli <none@none>2010-09-19 12:16:29 +0200
committerMachiavelli <none@none>2010-09-19 12:16:29 +0200
commit0982719f5fa3266adf655dc7e1541177e40c3b93 (patch)
tree813e2983afd619dd34b3e69f9b0fc0b3ed42a2b7 /src/server/shared/Database/Transaction.cpp
parenta25ef432233c7a9340179d3f694b2d240cdeafef (diff)
Core/DBLayer:
- Declare the datatypes used to determine transaction element data (prepared statement/adhoc query string) on a generic level in SQLOperation.h - Implement variable SQL element data for SQLQueryHolder class so it can execute both prepared statements and adhoc queries - Make MySQLConnection::Query for adhoc queries return pointer to type instead of an autopointer, the autopointer is now applied on higher level code just like the function for querying prepared statements --HG-- branch : trunk
Diffstat (limited to 'src/server/shared/Database/Transaction.cpp')
-rw-r--r--src/server/shared/Database/Transaction.cpp22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/server/shared/Database/Transaction.cpp b/src/server/shared/Database/Transaction.cpp
index 693bc1f96b2..0a7fe4dab60 100644
--- a/src/server/shared/Database/Transaction.cpp
+++ b/src/server/shared/Database/Transaction.cpp
@@ -22,8 +22,8 @@
//- Append a raw ad-hoc query to the transaction
void Transaction::Append(const char* sql)
{
- TransactionElementData data;
- data.type = TRANSACTION_ELEMENT_RAW;
+ SQLElementData data;
+ data.type = SQL_ELEMENT_RAW;
data.element.query = strdup(sql);
m_queries.push(data);
}
@@ -42,8 +42,8 @@ void Transaction::PAppend(const char* sql, ...)
//- Append a prepared statement to the transaction
void Transaction::Append(PreparedStatement* stmt)
{
- TransactionElementData data;
- data.type = TRANSACTION_ELEMENT_PREPARED;
+ SQLElementData data;
+ data.type = SQL_ELEMENT_PREPARED;
data.element.stmt = stmt;
m_queries.push(data);
}
@@ -52,13 +52,13 @@ void Transaction::Cleanup()
{
while (!m_queries.empty())
{
- TransactionElementData data = m_queries.front();
+ SQLElementData data = m_queries.front();
switch (data.type)
{
- case TRANSACTION_ELEMENT_PREPARED:
+ case SQL_ELEMENT_PREPARED:
delete data.element.stmt;
break;
- case TRANSACTION_ELEMENT_RAW:
+ case SQL_ELEMENT_RAW:
free((void*)(data.element.query));
break;
}
@@ -68,17 +68,17 @@ void Transaction::Cleanup()
bool TransactionTask::Execute()
{
- std::queue<TransactionElementData> &queries = m_trans->m_queries;
+ std::queue<SQLElementData> &queries = m_trans->m_queries;
if (queries.empty())
return false;
m_conn->BeginTransaction();
while (!queries.empty())
{
- TransactionElementData data = queries.front();
+ SQLElementData data = queries.front();
switch (data.type)
{
- case TRANSACTION_ELEMENT_PREPARED:
+ case SQL_ELEMENT_PREPARED:
{
PreparedStatement* stmt = data.element.stmt;
ASSERT(stmt);
@@ -91,7 +91,7 @@ bool TransactionTask::Execute()
delete data.element.stmt;
}
break;
- case TRANSACTION_ELEMENT_RAW:
+ case SQL_ELEMENT_RAW:
{
const char* sql = data.element.query;
ASSERT(sql);