DbFree: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
(Remove obsolete Requirements section)
 
(5 intermediate revisions by 4 users not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
{{Server function}}
{{Server function}}
{{New feature/item|3.0110|1.1|3328|
'''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]]
This function frees a database query handle. dbFree only needs to be used if a result has not been obtained with [[dbPoll]]


Line 10: Line 7:
bool dbFree ( handle queryHandle )
bool dbFree ( handle queryHandle )
</syntaxhighlight>
</syntaxhighlight>
 
{{OOP||queryHandle:free}}
===Required Arguments===
===Required Arguments===
*'''queryHandle:''' A query handle previously returned from [[dbQuery]]
*'''queryHandle:''' A query handle previously returned from [[dbQuery]]
Line 67: Line 64:
</syntaxhighlight>
</syntaxhighlight>
</div>
</div>
==Requirements==
{{Requirements|1.1.1-9.03328|n/a}}


==See Also==
==See Also==
{{Registry_functions}}
{{Registry_functions}}

Latest revision as of 15:35, 7 November 2024

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 )

OOP Syntax Help! I don't understand this!

Method: queryHandle:free(...)


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

See Also