mariadb async query
From Onset Developer Wiki
Description
Executes a query in different parallel threads. Order of execution cannot be guaranteed. Better use mariadb_query if you are unsure about it.
Syntax
mariadb_async_query(handle, query_str [, callback_func, callback_args...])
Parameters
- handle
Connection handle. - query_str
The query to be executed. - callback_func (optional)
The function that will be called when the query was executed. - callback_args (optional)
Multiple arguments to pass to the callback_func.
Return Value
- Returns true if the query was successfully queued.
Example
function GetCurrentPlayTime(player)
CreateTimer(function(player)
for k, v in pairs (GetAllPlayers()) do
if GetAllPlayers() == true then
local query = mariadb_prepare(sql, "SELECT * FROM accounts WHERE id = '?';",
PlayerData[v].accountid)
mariadb_async_query(sql, query, GetPlayerTime, v)
end
end
end, 15000, player)
end
AddEvent("OnPackageStart", GetCurrentPlayTime)
function GetPlayerTime(player)
local result = mariadb_get_assoc(1)
local playtime = math.tointeger(result['time']) -- total time played on the server without session time.
PlayerData[player].time = math.floor(PlayerData[player].time + (GetTimeSeconds() - PlayerData[player].play_time)) -- session play time.
PlayerData[player].play_time = GetTimeSeconds()
return PlayerData[player].time + playtime -- returns the total play time on the server.
end
See also
- OnQueryError
- mariadb_log
- mariadb_connect
- mariadb_connect_file
- mariadb_close
- mariadb_unprocessed_queries
- mariadb_async_query
- mariadb_query
- mariadb_await_query
- mariadb_query_file
- mariadb_await_query_file
- mariadb_errno
- mariadb_error
- mariadb_escape_string
- mariadb_prepare
- mariadb_set_charset
- mariadb_get_charset
- mariadb_stat
- mariadb_get_row_count
- mariadb_get_field_count
- mariadb_get_result_count
- mariadb_get_field_name
- mariadb_set_result
- mariadb_get_value_index
- mariadb_get_value_index_int
- mariadb_get_value_index_float
- mariadb_get_value_name
- mariadb_get_value_name_int
- mariadb_get_value_name_float
- mariadb_save_result
- mariadb_delete_result
- mariadb_set_active_result
- mariadb_unset_active_result
- mariadb_is_any_result_active
- mariadb_is_valid_result
- mariadb_get_affected_rows
- mariadb_get_warning_count
- mariadb_get_insert_id
- mariadb_get_query_exec_time
- mariadb_get_query_string
- mariadb_get_row
- mariadb_get_assoc