Driver e wrapper database ad alte prestazioni per nanos world. Supporta pool di connessioni MySQL e fallback SQLite locale trasparente senza alterare il codice applicativo.
Funzioni & API Esportate 3
MetaMySQL.Query
Server
MetaMySQL.Query(sql,params,callback)
Esegue una query SELECT asincrona con parametri posizionali preparati (:0, :1, ...) e restituisce un array di righe.
Parametri & Opzioni
Parametro
Tipo
Stato
Descrizione
sql
string
Obbligatorio
Query SQL con segnaposto :0, :1, ...
params
any[]
Opzionale (default: {})
Array ordinato dei valori per i parametri.
callback
function(rows, err)
Obbligatorio
Callback con l'array delle righe o il messaggio di errore.
Valore di Ritorno
void— Nessun valore di ritorno.
Esempio d'Uso
Esempio Lua
MetaMySQL.Query("SELECT * FROM users WHERE identifier = :0 LIMIT 1",{"char1:76561198..."},function(rows,err)iferrthenConsole.Error("Errore DB: %s",err)returnendif#rows>0thenConsole.Log("Trovato: %s %s",rows[1].firstname,rows[1].lastname)endend)
MetaMySQL.Execute
Server
MetaMySQL.Execute(sql,params,callback)
Esegue una query di modifica (INSERT, UPDATE, DELETE) e restituisce il numero di righe modificate.
Parametri & Opzioni
Parametro
Tipo
Stato
Descrizione
sql
string
Obbligatorio
Query SQL di esecuzione.
params
any[]
Opzionale (default: {})
Array dei parametri preparati.
callback
function(affectedRows, err)
Opzionale
Callback con il conteggio delle righe modificate.
Valore di Ritorno
void— Nessun valore di ritorno.
Esempio d'Uso
Esempio Lua
MetaMySQL.Execute("UPDATE users SET money = money + :0 WHERE identifier = :1",{100,"char1:765611..."},function(affected,err)iferrthenreturnConsole.Error(err)endConsole.Log("Monete aggiornate su %d record",affected)end)
MetaMySQL.Transaction
Server
MetaMySQL.Transaction(queries,callback)
Esegue una serie atomica di query con commit automatico o rollback in caso di errore.
MetaMySQL.Transaction({{query="UPDATE accounts SET balance = balance - 100 WHERE id = 1"},{query="UPDATE accounts SET balance = balance + 100 WHERE id = 2"}},function(success,err)ifnotsuccessthenConsole.Error("Transazione fallita: %s",err)endend)