コード例 #1
0
ファイル: SqlOperations.cpp プロジェクト: Ancient/mangos
void SqlQuery::Execute(SqlConnection *conn)
{
    if(!m_callback || !m_queue)
        return;

    LOCK_DB_CONN(conn);
    /// execute the query and store the result in the callback
    m_callback->SetResult(conn->Query(m_sql));
    /// add the callback to the sql result queue of the thread it originated from
    m_queue->add(m_callback);
}
コード例 #2
0
ファイル: SqlOperations.cpp プロジェクト: Ancient/mangos
void SqlQueryHolderEx::Execute(SqlConnection *conn)
{
    if(!m_holder || !m_callback || !m_queue)
        return;

    LOCK_DB_CONN(conn);
    /// we can do this, we are friends
    std::vector<SqlQueryHolder::SqlResultPair> &queries = m_holder->m_queries;
    for(size_t i = 0; i < queries.size(); i++)
    {
        /// execute all queries in the holder and pass the results
        char const *sql = queries[i].first;
        if(sql) m_holder->SetResult(i, conn->Query(sql));
    }

    /// sync with the caller thread
    m_queue->add(m_callback);
}
コード例 #3
0
ファイル: SqlOperations.cpp プロジェクト: Blumfield/ptc2
bool SqlTransaction::Execute(SqlConnection *conn)
{
    if (m_queue.empty())
        return true;

    LOCK_DB_CONN(conn);

    conn->BeginTransaction();

    const int nItems = m_queue.size();
    for (int i = 0; i < nItems; ++i)
    {
        SqlOperation * pStmt = m_queue[i];
        if(!pStmt->Execute(conn))
        {
            conn->RollbackTransaction();
            return false;
        }
    }

    return conn->CommitTransaction();
}
コード例 #4
0
ファイル: SqlOperations.cpp プロジェクト: Ancient/mangos
void SqlTransaction::Execute(SqlConnection *conn)
{
    if(m_queue.empty())
        return;

    LOCK_DB_CONN(conn);

    conn->BeginTransaction();

    const int nItems = m_queue.size();
    for (int i = 0; i < nItems; ++i)
    {
        const char *sql = m_queue[i];

        if(!conn->Execute(sql))
        {
            conn->RollbackTransaction();
            return;
        }
    }

    conn->CommitTransaction();
}
コード例 #5
0
ファイル: SqlOperations.cpp プロジェクト: cala/mangos-classic
bool SqlPreparedRequest::Execute(SqlConnection* conn)
{
    LOCK_DB_CONN(conn);
    return conn->ExecuteStmt(m_nIndex, *m_param);
}
コード例 #6
0
ファイル: SqlOperations.cpp プロジェクト: cala/mangos-classic
bool SqlPlainRequest::Execute(SqlConnection* conn)
{
    /// just do it
    LOCK_DB_CONN(conn);
    return conn->Execute(m_sql);
}
コード例 #7
0
ファイル: SqlOperations.cpp プロジェクト: Ancient/mangos
void SqlStatement::Execute(SqlConnection *conn)
{
    /// just do it
    LOCK_DB_CONN(conn);
    conn->Execute(m_sql);
}