目录
场景
为了使用方便,server 封装了一个执行 SQL 语句的函数:
function query_db(sql)
db, err = mysql:new()
ok, err = db:connect(host, port, ...)
res, err, errcode, sqlstate = db:query(sql)
ok, err = db:set_keepalive(max_idle_timeout, pool_size)
return res
end
ModuleA 和 ModuleB 共用改函数。二者的代码大致如下:
function http_request(url)
-- ...
end
function ModuleAInterface()
res = query("BEGIN")
res = query(update_sql1)
res = query(update_sql2)
ok, err = http_request("ModuleBInterface")
if ok then
res = query("COMMIT")
else
res = query("ROLLBACK")
end
end