91 lines
2.4 KiB
Lua
91 lines
2.4 KiB
Lua
local driver = require "luaconnector51"
|
|
local cjson = require "cjson"
|
|
local Pool = require "tdpool"
|
|
local config = require "config"
|
|
ngx.say("start time:"..os.time())
|
|
|
|
local pool = Pool.new(Pool,config)
|
|
local conn = pool:get_connection()
|
|
|
|
local res = driver.query(conn,"drop database if exists nginx")
|
|
if res.code ~=0 then
|
|
ngx.say("drop db--- failed: "..res.error)
|
|
else
|
|
ngx.say("drop db--- pass.")
|
|
end
|
|
res = driver.query(conn,"create database nginx")
|
|
if res.code ~=0 then
|
|
ngx.say("create db--- failed: "..res.error)
|
|
|
|
else
|
|
ngx.say("create db--- pass.")
|
|
end
|
|
|
|
res = driver.query(conn,"use nginx")
|
|
if res.code ~=0 then
|
|
ngx.say("select db--- failed: "..res.error)
|
|
else
|
|
ngx.say("select db--- pass.")
|
|
end
|
|
|
|
res = driver.query(conn,"create table m1 (ts timestamp, speed int,owner binary(20))")
|
|
if res.code ~=0 then
|
|
ngx.say("create table---failed: "..res.error)
|
|
|
|
else
|
|
ngx.say("create table--- pass.")
|
|
end
|
|
|
|
res = driver.query(conn,"insert into m1 values ('2019-09-01 00:00:00.001', 0, 'robotspace'), ('2019-09-01 00:00:00.002',1,'Hilink'),('2019-09-01 00:00:00.003',2,'Harmony')")
|
|
if res.code ~=0 then
|
|
ngx.say("insert records failed: "..res.error)
|
|
return
|
|
else
|
|
if(res.affected == 3) then
|
|
ngx.say("insert records--- pass")
|
|
else
|
|
ngx.say("insert records---failed: expect 3 affected records, actually affected "..res.affected)
|
|
end
|
|
end
|
|
|
|
res = driver.query(conn,"select * from m1")
|
|
|
|
if res.code ~=0 then
|
|
ngx.say("select failed: "..res.error)
|
|
return
|
|
else
|
|
ngx.say(cjson.encode(res))
|
|
if (#(res.item) == 3) then
|
|
ngx.say("select--- pass")
|
|
else
|
|
ngx.say("select--- failed: expect 3 affected records, actually received "..#(res.item))
|
|
end
|
|
|
|
end
|
|
|
|
local flag = false
|
|
function query_callback(res)
|
|
if res.code ~=0 then
|
|
ngx.say("async_query_callback--- failed:"..res.error)
|
|
else
|
|
if(res.affected == 3) then
|
|
ngx.say("async_query_callback, insert records--- pass")
|
|
else
|
|
ngx.say("async_query_callback, insert records---failed: expect 3 affected records, actually affected "..res.affected)
|
|
end
|
|
end
|
|
flag = true
|
|
end
|
|
|
|
driver.query_a(conn,"insert into m1 values ('2019-09-01 00:00:00.001', 3, 'robotspace'),('2019-09-01 00:00:00.006', 4, 'Hilink'),('2019-09-01 00:00:00.007', 6, 'Harmony')", query_callback)
|
|
|
|
while not flag do
|
|
-- ngx.say("i am here once...")
|
|
ngx.sleep(0.001) -- time unit is second
|
|
end
|
|
|
|
ngx.say("pool water_mark:"..pool:get_water_mark())
|
|
|
|
pool:release_connection(conn)
|
|
ngx.say("end time:"..os.time())
|