DbFree

From Multi Theft Auto: Wiki
Revision as of 14:53, 7 December 2011 by X86dev (talk | contribs) (→‎Revert)
Jump to navigation Jump to search

Available only in MTA SA 1.1.1 r3328 and onwards This function frees a database query handle. dbFree only needs to be used if a result has not been obtained with dbPoll

Syntax

bool dbFree ( handle queryHandle )

Required Arguments

  • queryHandle: A query handle previously returned from dbQuery

Returns

Returns true if the handle was successfully freed, false otherwise.

Example

These examples show when dbFree should be used:

Required because dbPoll was not called:

local qh = dbQuery( connection, "SELECT * FROM table_name" )
dbFree ( qh )

Required because dbPoll was not called:

function aaa()
    dbQuery( myCallback, connection, "SELECT * FROM table_name" )
end

function myCallback(qh)
    dbFree ( qh )
end

Required because dbPoll is called, but the result was not ready and no more attempts will be made:

local qh = dbQuery( connection, "SELECT * FROM table_name" )
local result = dbPoll( qh, 10 )     -- Get result with a timeout of 10ms
if result == nil then
    result = dbPoll( qh, 10 )       -- Try again to get result with a timeout of 10ms
    if result == nil then
        dbFree( qh )                -- Give up
    end
end


These examples show when dbFree should NOT be used:

Not required because dbPoll was called with a -1 timeout:

local qh = dbQuery( connection, "SELECT * FROM table_name" )
local result = dbPoll( qh, -1 )    -- Wait until result has been gotten

Not required because dbPoll was called from the callback:

function aaa()
    dbQuery( myCallback, connection, "SELECT * FROM table_name" )
end

function myCallback(qh)
    local result = dbPoll( qh, 0 )  -- Timeout doesn't matter here because the result will always be ready
end

Requirements

This template will be deleted.

See Also