无意中使用resty.mysql这个模块执行如下sql语句:“select 1;select 2;”,发现只返回第一条语句的执行结果,这是bug,还是我调用发生有误呢?我直接调用query这个方法 --
Hello! 2013/9/25 effaceking: > 无意中使用resty.mysql这个模块执行如下sql语句:“select 1;select > 2;”,发现只返回第一条语句的执行结果,这是bug,还是我调用发生有误呢?我直接调用query这个方法 > 出于效率方面的考虑,resty.mysql 不会一下子返回所有的结果集,而是由 Lua 程序员自己通过 read_result 方法一个一个去“拉”更多的结果集。query 方法只会调用一次 read_result 方法,即只会帮你自动拉第一个结果集。 更多细节可以参见 lua-resty-mysql 文档中的“Multi-Resultset Support”一节: https://github.com/agentzh/lua-resty-mysql#multi-resultset-support Regards, -agentzh
Hello! 2013/9/25 朱德江: > 应该是不支持这种调用方式,貌似其他的 mysql 客户端也不支持这种调用方式吧 > 我的 lua-resty-mysql 库是支持的,见 https://github.com/agentzh/lua-resty-mysql#multi-resultset-support 而我的 ngx_drizzle 这个 nginx C 模块所使用的 libdrizzle 这个 C 库是不支持的。 Regards, -agentzh