PreparedQueryResult SQLQueryHolder::GetPreparedResult(size_t index) {
	// Don't call to this function if the index is of a prepared statement
	if (index < m_queries.size()) {
		PreparedResultSet* result = m_queries[index].second.presult;
		if (!result || !result->GetRowCount())
			return PreparedQueryResult(NULL);

		return PreparedQueryResult(result);
	} else
		return PreparedQueryResult(NULL);
}
Exemple #2
0
bool PreparedStatementTask::Execute() {
    if (m_has_result) {
        PreparedResultSet* result = m_conn->Query(m_stmt);
        if (!result || !result->GetRowCount()) {
            m_result.set(PreparedQueryResult(NULL));
            return false;
        }
        m_result.set(PreparedQueryResult(result));
        return true;
    }

    return m_conn->Execute(m_stmt);
}
PreparedQueryResult DatabaseWorkerPool<T>::Query(PreparedStatement* stmt)
{
	auto connection = GetFreeConnection();
	PreparedResultSet* ret = connection->Query(stmt);
	connection->Unlock();

	//! Delete proxy-class. Not needed anymore
	delete stmt;

	if (!ret || !ret->GetRowCount())
	{
		delete ret;
		return PreparedQueryResult(NULL);
	}

	return PreparedQueryResult(ret);
}