Fixed threaded queries not having an IQuery assignment
This commit is contained in:
parent
1f0778b14e
commit
57160763af
@ -377,7 +377,8 @@ static cell AMX_NATIVE_CALL SQL_FieldNumToName(AMX *amx, cell *params)
|
|||||||
static cell AMX_NATIVE_CALL SQL_GetQueryString(AMX *amx, cell *params)
|
static cell AMX_NATIVE_CALL SQL_GetQueryString(AMX *amx, cell *params)
|
||||||
{
|
{
|
||||||
AmxQueryInfo *qInfo = (AmxQueryInfo *)GetHandle(params[1], Handle_Query);
|
AmxQueryInfo *qInfo = (AmxQueryInfo *)GetHandle(params[1], Handle_Query);
|
||||||
if (!qInfo)
|
|
||||||
|
if (!qInfo || !qInfo->pQuery)
|
||||||
{
|
{
|
||||||
MF_LogError(amx, AMX_ERR_NATIVE, "Invalid query handle: %d", params[1]);
|
MF_LogError(amx, AMX_ERR_NATIVE, "Invalid query handle: %d", params[1]);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -172,15 +172,13 @@ void MysqlThread::RunThread(IThreadHandle *pHandle)
|
|||||||
if (m_qrInfo.query_success && m_qrInfo.amxinfo.info.rs)
|
if (m_qrInfo.query_success && m_qrInfo.amxinfo.info.rs)
|
||||||
{
|
{
|
||||||
m_atomicResult.CopyFrom(m_qrInfo.amxinfo.info.rs);
|
m_atomicResult.CopyFrom(m_qrInfo.amxinfo.info.rs);
|
||||||
m_qrInfo.amxinfo.pQuery = NULL;
|
m_qrInfo.amxinfo.pQuery = pQuery;
|
||||||
m_qrInfo.amxinfo.info.rs = &m_atomicResult;
|
m_qrInfo.amxinfo.info.rs = &m_atomicResult;
|
||||||
}
|
} else {
|
||||||
|
|
||||||
if (pQuery)
|
|
||||||
{
|
|
||||||
pQuery->FreeHandle();
|
pQuery->FreeHandle();
|
||||||
pQuery = NULL;
|
pQuery = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pDatabase)
|
if (pDatabase)
|
||||||
{
|
{
|
||||||
pDatabase->FreeHandle();
|
pDatabase->FreeHandle();
|
||||||
@ -248,6 +246,11 @@ void MysqlThread::Execute()
|
|||||||
(cell)0,
|
(cell)0,
|
||||||
data_addr,
|
data_addr,
|
||||||
m_datalen);
|
m_datalen);
|
||||||
|
/* this should always be true I think */
|
||||||
|
if (m_qrInfo.amxinfo.pQuery)
|
||||||
|
{
|
||||||
|
m_qrInfo.amxinfo.pQuery->FreeHandle();
|
||||||
|
}
|
||||||
FreeHandle(hndl);
|
FreeHandle(hndl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user