//======================================================================================================================
DatabaseResult* DatabaseImplementationMySql::ExecuteSql(int8* sql,bool procedure)
{
    DatabaseResult* newResult = new(ResultPool::ordered_malloc()) DatabaseResult(procedure);

    newResult->setDatabaseImplementation(this);

    // Execute the statement
    uint32 len = (uint32)strlen(sql);
    mysql_real_query(mConnection, sql, len);

    if(mysql_errno(mConnection) != 0)
    {
        gLogger->log(LogManager::EMERGENCY, "DatabaseError: %s", mysql_error(mConnection));


    }

    mResultSet = mysql_store_result(mConnection);

    newResult->setConnectionReference((void*)mConnection);
    newResult->setResultSetReference((void*)mResultSet);

    if (mResultSet)
    {
        newResult->setRowCount(mResultSet->row_count);
    }

    return newResult;
}