35 if (!m_callback || !m_queue)
41 m_queue->add(m_callback);
48 while (next(callback))
57 if (!callback || !thread || !queue)
63 thread->
Delay(holderEx);
69 if (m_queries.size() <= index)
71 sLog.outError(
"Query index (%lu) out of range (size: %u) for query: %s", index, (
uint32)m_queries.size(), sql);
75 if (m_queries[index].first != NULL)
77 sLog.outError(
"Attempt assign query to holder index (%lu) where other query stored (Old: [%s] New: [%s])",
78 index, m_queries[index].first, sql);
91 sLog.outError(
"Query (index: %lu) is empty.", index);
103 sLog.outError(
"SQL Query truncated (and not execute) for format: %s", format);
107 return SetQuery(index, szQuery);
112 if (index < m_queries.size())
115 if (m_queries[index].first != NULL)
117 free((
void*)(const_cast<char*>(m_queries[index].first)));
118 m_queries[index].first = NULL;
121 return m_queries[index].second;
130 if (index < m_queries.size())
131 m_queries[index].second = result;
136 for (
size_t i = 0; i < m_queries.size(); i++)
140 if (m_queries[i].first != NULL)
141 free((
void*)(const_cast<char*>(m_queries[i].first)));
148 m_queries.resize(size);
153 if (!m_holder || !m_callback || !m_queue)
157 std::vector<SqlQueryHolder::SqlResultPair>& queries = m_holder->m_queries;
159 for (
size_t i = 0; i < queries.size(); i++)
162 char const* sql = queries[i].first;
163 if (sql) m_holder->SetResult(i, db->
Query(sql));
167 m_queue->add(m_callback);
bool Execute(Oregon::IQueryCallback *callback, SqlDelayThread *thread, SqlResultQueue *queue)
bool bool DirectExecute(const char *sql)
#define sLog
Log class singleton.
bool SetQuery(size_t index, const char *sql)
QueryResult_AutoPtr Query(const char *sql)
void SetResult(size_t index, QueryResult_AutoPtr result)
void Execute(Database *db)
void Execute(Database *db)
bool void SetSize(size_t size)
bool Delay(SqlOperation *sql)
void Execute(Database *db)
ACE_Refcounted_Auto_Ptr< QueryResult, ACE_Null_Mutex > QueryResult_AutoPtr
QueryResult_AutoPtr GetResult(size_t index)
bool SetPQuery(size_t index, const char *format,...) ATTR_PRINTF(3
std::pair< const char *, QueryResult_AutoPtr > SqlResultPair