[tarantool-patches] Re: [PATCH v9 3/7] sql: remove box.sql.debug()
Mergen Imeev
imeevma at tarantool.org
Thu Mar 28 20:48:17 MSK 2019
Hi! Thank you for review. My answers, diff and new patch below.
On Wed, Mar 27, 2019 at 12:48:39AM +0300, Vladislav Shpilevoy wrote:
> Thanks for the patch! See 3 comments below.
>
> > commit 1e21fc73be5df524d500723bd3e47066475ee6b9
> > Author: Mergen Imeev <imeevma at gmail.com>
> > Date: Thu Jan 31 14:09:51 2019 +0300
> >
> > sql: remove box.sql.debug()
> >
> > Due to removing of box.sql.execute() it makes sense to remove
>
> 1. 'removing' -> 'removal'.
>
Fixed.
> > box.sql.debug() and move SQL statistics to box.stat.
>
> 2. For a foreign reader it is unknown that box.sql.execute() removal
> == box.sql removal. Probably, it should be said explicitly, that
> we want to remove the whole box.sql.
>
Fixed.
> >
> > Part or #3505
> >
> > diff --git a/test/sql-tap/between.test.lua b/test/sql-tap/between.test.lua
> > index d56de4e..1663e39 100755
> > --- a/test/sql-tap/between.test.lua
> > +++ b/test/sql-tap/between.test.lua
> > @@ -51,10 +51,10 @@ test:do_test(
> > -- is done. Then it appends the names of the table and index used.
> > --
> > local function queryplan(sql)
> > - local sql_sort_count = box.sql.debug().sql_sort_count
> > + local sqlite_sort_count = box.stat.sql().sql_sort_count
>
> 3. 'sqlite' -> 'sql'
>
Fixed.
Diff:
diff --git a/test/sql-tap/between.test.lua b/test/sql-tap/between.test.lua
index 1663e39..cd1aba1 100755
--- a/test/sql-tap/between.test.lua
+++ b/test/sql-tap/between.test.lua
@@ -51,10 +51,10 @@ test:do_test(
-- is done. Then it appends the names of the table and index used.
--
local function queryplan(sql)
- local sqlite_sort_count = box.stat.sql().sql_sort_count
+ local sql_sort_count = box.stat.sql().sql_sort_count
local data = test:execsql(sql)
local x = "nosort"
- if box.stat.sql().sql_sort_count - sqlite_sort_count then
+ if box.stat.sql().sql_sort_count - sql_sort_count then
x = "sort"
end
table.insert(data,x)
New patch:
commit 9ccee3a74a213ec1cc2e32e870d118dd772f4a6f
Author: Mergen Imeev <imeevma at gmail.com>
Date: Thu Jan 31 14:09:51 2019 +0300
sql: remove box.sql.debug()
Due to removal of box.sql.execute(), it makes sense to completely
remove box.sql. This patch moves the SQL statistics to box.stat
and removes box.sql.debug().
Part or #3505
diff --git a/src/box/lua/sql.c b/src/box/lua/sql.c
index ee20faa..cd6e75c 100644
--- a/src/box/lua/sql.c
+++ b/src/box/lua/sql.c
@@ -110,21 +110,11 @@ sqlerror:
return lua_error(L);
}
-static int
-lua_sql_debug(struct lua_State *L)
-{
- struct info_handler info;
- luaT_info_handler_create(&info, L);
- sql_debug_info(&info);
- return 1;
-}
-
void
box_lua_sql_init(struct lua_State *L)
{
static const struct luaL_Reg module_funcs [] = {
{"execute", lua_sql_execute},
- {"debug", lua_sql_debug},
{NULL, NULL}
};
diff --git a/src/box/lua/stat.c b/src/box/lua/stat.c
index f6b2812..18b81a1 100644
--- a/src/box/lua/stat.c
+++ b/src/box/lua/stat.c
@@ -42,6 +42,7 @@
#include "box/iproto.h"
#include "box/engine.h"
#include "box/vinyl.h"
+#include "box/sql.h"
#include "info/info.h"
#include "lua/info.h"
#include "lua/utils.h"
@@ -187,6 +188,15 @@ lbox_stat_net_call(struct lua_State *L)
return 1;
}
+static int
+lbox_stat_sql(struct lua_State *L)
+{
+ struct info_handler info;
+ luaT_info_handler_create(&info, L);
+ sql_debug_info(&info);
+ return 1;
+}
+
static const struct luaL_Reg lbox_stat_meta [] = {
{"__index", lbox_stat_index},
{"__call", lbox_stat_call},
@@ -206,6 +216,7 @@ box_lua_stat_init(struct lua_State *L)
static const struct luaL_Reg statlib [] = {
{"vinyl", lbox_stat_vinyl},
{"reset", lbox_stat_reset},
+ {"sql", lbox_stat_sql},
{NULL, NULL}
};
diff --git a/test/sql-tap/analyze3.test.lua b/test/sql-tap/analyze3.test.lua
index 1396287..dcbea1d 100755
--- a/test/sql-tap/analyze3.test.lua
+++ b/test/sql-tap/analyze3.test.lua
@@ -48,15 +48,6 @@ testprefix = "analyze3"
-- have been fixed.
--
-local function eqp(sql)
- return test:execsql("EXPLAIN QUERY PLAN"..sql)
-end
-
-local function sf_execsql(sql, db)
- r = test:execsql(sql)
- return {box.sql.debug().sql_search_count, r}
-end
-
---------------------------------------------------------------------------
--
-- analyze3-1.1.1:
diff --git a/test/sql-tap/between.test.lua b/test/sql-tap/between.test.lua
index d56de4e..cd1aba1 100755
--- a/test/sql-tap/between.test.lua
+++ b/test/sql-tap/between.test.lua
@@ -51,10 +51,10 @@ test:do_test(
-- is done. Then it appends the names of the table and index used.
--
local function queryplan(sql)
- local sql_sort_count = box.sql.debug().sql_sort_count
+ local sql_sort_count = box.stat.sql().sql_sort_count
local data = test:execsql(sql)
local x = "nosort"
- if box.sql.debug().sql_sort_count - sql_sort_count then
+ if box.stat.sql().sql_sort_count - sql_sort_count then
x = "sort"
end
table.insert(data,x)
diff --git a/test/sql-tap/gh-3307-xfer-optimization-issue.test.lua b/test/sql-tap/gh-3307-xfer-optimization-issue.test.lua
index 80a2a2d..bb8a498 100755
--- a/test/sql-tap/gh-3307-xfer-optimization-issue.test.lua
+++ b/test/sql-tap/gh-3307-xfer-optimization-issue.test.lua
@@ -5,9 +5,9 @@ test:plan(39)
local function do_xfer_test(test, test_func, test_name, func, exp, opts)
local opts = opts or {}
local exp_xfer_count = opts.exp_xfer_count
- local before = box.sql.debug().sql_xfer_count
+ local before = box.stat.sql().sql_xfer_count
test_func(test, test_name, func, exp)
- local after = box.sql.debug().sql_xfer_count
+ local after = box.stat.sql().sql_xfer_count
test:is(after - before, exp_xfer_count,
test_name .. '-xfer-count')
end
diff --git a/test/sql-tap/lua/sqltester.lua b/test/sql-tap/lua/sqltester.lua
index 8aac64c..05e2824 100644
--- a/test/sql-tap/lua/sqltester.lua
+++ b/test/sql-tap/lua/sqltester.lua
@@ -326,9 +326,9 @@ function test.do_select_tests(self, label, tests)
end
function test.sf_execsql(self, sql)
- local old = box.sql.debug().sql_search_count
+ local old = box.stat.sql().sql_search_count
local r = test:execsql(sql)
- local new = box.sql.debug().sql_search_count - old
+ local new = box.stat.sql().sql_search_count - old
return {new, r}
end
diff --git a/test/sql-tap/minmax2.test.lua b/test/sql-tap/minmax2.test.lua
index a6f840d..0e0f0d0 100755
--- a/test/sql-tap/minmax2.test.lua
+++ b/test/sql-tap/minmax2.test.lua
@@ -59,7 +59,7 @@ test:do_execsql_test(
test:do_test(
"minmax2-1.1",
function()
- sql_search_count = box.sql.debug().sql_search_count
+ sql_search_count = box.stat.sql().sql_search_count
return test:execsql "SELECT min(x) FROM t1"
end, {
-- <minmax2-1.1>
@@ -70,13 +70,13 @@ test:do_test(
test:do_test(
"minmax2-1.2",
function()
- return box.sql.debug().sql_search_count - sql_search_count
+ return box.stat.sql().sql_search_count - sql_search_count
end, 19)
test:do_test(
"minmax2-1.3",
function()
- sql_search_count = box.sql.debug().sql_search_count
+ sql_search_count = box.stat.sql().sql_search_count
return test:execsql "SELECT max(x) FROM t1"
end, {
-- <minmax2-1.3>
@@ -87,14 +87,14 @@ test:do_test(
test:do_test(
"minmax2-1.4",
function()
- return box.sql.debug().sql_search_count - sql_search_count
+ return box.stat.sql().sql_search_count - sql_search_count
end, 19)
test:do_test(
"minmax2-1.5",
function()
test:execsql "CREATE INDEX t1i1 ON t1(x DESC)"
- sql_search_count = box.sql.debug().sql_search_count
+ sql_search_count = box.stat.sql().sql_search_count
return test:execsql "SELECT min(x) FROM t1"
end, {
-- <minmax2-1.5>
@@ -105,13 +105,13 @@ test:do_test(
test:do_test(
"minmax2-1.6",
function()
- return box.sql.debug().sql_search_count - sql_search_count
+ return box.stat.sql().sql_search_count - sql_search_count
end, 1)
test:do_test(
"minmax2-1.7",
function()
- sql_search_count = box.sql.debug().sql_search_count
+ sql_search_count = box.stat.sql().sql_search_count
return test:execsql "SELECT max(x) FROM t1"
end, {
-- <minmax2-1.7>
@@ -122,13 +122,13 @@ test:do_test(
test:do_test(
"minmax2-1.8",
function()
- return box.sql.debug().sql_search_count - sql_search_count
+ return box.stat.sql().sql_search_count - sql_search_count
end, 0)
test:do_test(
"minmax2-1.9",
function()
- sql_search_count = box.sql.debug().sql_search_count
+ sql_search_count = box.stat.sql().sql_search_count
return test:execsql "SELECT max(y) FROM t1"
end, {
-- <minmax2-1.9>
@@ -139,7 +139,7 @@ test:do_test(
test:do_test(
"minmax2-1.10",
function()
- return box.sql.debug().sql_search_count - sql_search_count
+ return box.stat.sql().sql_search_count - sql_search_count
end, 19)
test:do_test(
@@ -149,7 +149,7 @@ test:do_test(
CREATE TABLE t2(a INTEGER PRIMARY KEY, b INT );
INSERT INTO t2 SELECT x, y FROM t1;
]]
- sql_search_count = box.sql.debug().sql_search_count
+ sql_search_count = box.stat.sql().sql_search_count
return test:execsql "SELECT min(a) FROM t2"
end, {
-- <minmax2-2.0>
@@ -160,13 +160,13 @@ test:do_test(
test:do_test(
"minmax2-2.1",
function()
- return box.sql.debug().sql_search_count - sql_search_count
+ return box.stat.sql().sql_search_count - sql_search_count
end, 0)
test:do_test(
"minmax2-2.2",
function()
- sql_search_count = box.sql.debug().sql_search_count
+ sql_search_count = box.stat.sql().sql_search_count
return test:execsql "SELECT max(a) FROM t2"
end, {
-- <minmax2-2.2>
@@ -177,7 +177,7 @@ test:do_test(
test:do_test(
"minmax2-2.3",
function()
- return box.sql.debug().sql_search_count - sql_search_count
+ return box.stat.sql().sql_search_count - sql_search_count
end, 0)
test:do_test(
@@ -186,7 +186,7 @@ test:do_test(
test:execsql "INSERT INTO t2 VALUES((SELECT max(a) FROM t2)+1,999)"
- sql_search_count = box.sql.debug().sql_search_count
+ sql_search_count = box.stat.sql().sql_search_count
return test:execsql "SELECT max(a) FROM t2"
end, {
-- <minmax2-3.0>
@@ -197,7 +197,7 @@ test:do_test(
test:do_test(
"minmax2-3.1",
function()
- return box.sql.debug().sql_search_count - sql_search_count
+ return box.stat.sql().sql_search_count - sql_search_count
end, 0)
test:do_test(
@@ -206,7 +206,7 @@ test:do_test(
test:execsql "INSERT INTO t2 VALUES((SELECT max(a) FROM t2)+1,999)"
- sql_search_count = box.sql.debug().sql_search_count
+ sql_search_count = box.stat.sql().sql_search_count
return test:execsql " SELECT b FROM t2 WHERE a=(SELECT max(a) FROM t2) "
@@ -220,7 +220,7 @@ test:do_test(
test:do_test(
"minmax2-3.3",
function()
- return box.sql.debug().sql_search_count - sql_search_count
+ return box.stat.sql().sql_search_count - sql_search_count
end, 1)
test:do_execsql_test(
diff --git a/test/sql-tap/minmax3.test.lua b/test/sql-tap/minmax3.test.lua
index 3707575..f1d9efc 100755
--- a/test/sql-tap/minmax3.test.lua
+++ b/test/sql-tap/minmax3.test.lua
@@ -24,9 +24,9 @@ test:plan(47)
--
local function count(sql)
- local sql_search_count = box.sql.debug().sql_search_count
+ local sql_search_count = box.stat.sql().sql_search_count
local r = test:execsql(sql)
- table.insert(r, box.sql.debug().sql_search_count - sql_search_count)
+ table.insert(r, box.stat.sql().sql_search_count - sql_search_count)
return r
end
diff --git a/test/sql-tap/where2.test.lua b/test/sql-tap/where2.test.lua
index 8eaf405..4116ca9 100755
--- a/test/sql-tap/where2.test.lua
+++ b/test/sql-tap/where2.test.lua
@@ -62,10 +62,10 @@ test:do_test(
-- Do an SQL statement. Append the search count to the end of the result.
--
local function count(sql)
- local sql_sort_count = box.sql.debug().sql_sort_count
+ local sql_sort_count = box.stat.sql().sql_sort_count
local r = test:execsql(sql)
- print("lol "..(box.sql.debug().sql_sort_count - sql_sort_count))
- table.insert(r, box.sql.debug().sql_sort_count - sql_sort_count)
+ print("lol "..(box.stat.sql().sql_sort_count - sql_sort_count))
+ table.insert(r, box.stat.sql().sql_sort_count - sql_sort_count)
return r
end
@@ -78,9 +78,9 @@ end
--
local function cksort(sql)
local sort = "nosort"
- local sql_sort_count = box.sql.debug().sql_sort_count
+ local sql_sort_count = box.stat.sql().sql_sort_count
local data = test:execsql(sql)
- if sql_sort_count < box.sql.debug().sql_sort_count then
+ if sql_sort_count < box.stat.sql().sql_sort_count then
sort = 'sort'
end
table.insert(data, sort)
@@ -97,9 +97,9 @@ end
--
local function queryplan(sql)
local sort = "nosort"
- local sql_sort_count = box.sql.debug().sql_sort_count
+ local sql_sort_count = box.stat.sql().sql_sort_count
local data = test:execsql(sql)
- if sql_sort_count < box.sql.debug().sql_sort_count then
+ if sql_sort_count < box.stat.sql().sql_sort_count then
sort = 'sort'
end
table.insert(data, sort)
diff --git a/test/sql-tap/whereA.test.lua b/test/sql-tap/whereA.test.lua
index b4a0f0a..2c8cb45 100755
--- a/test/sql-tap/whereA.test.lua
+++ b/test/sql-tap/whereA.test.lua
@@ -193,9 +193,9 @@ test:do_test(
-- Do an SQL statement. Append the search count to the end of the result.
--
local function count(sql)
- local sql_sort_count = box.sql.debug().sql_sort_count
+ local sql_sort_count = box.stat.sql().sql_sort_count
local r = test:execsql(sql)
- table.insert(r, box.sql.debug().sql_sort_count - sql_sort_count)
+ table.insert(r, box.stat.sql().sql_sort_count - sql_sort_count)
return r
end
diff --git a/test/sql-tap/whereD.test.lua b/test/sql-tap/whereD.test.lua
index b103f3c..14dc8d3 100755
--- a/test/sql-tap/whereD.test.lua
+++ b/test/sql-tap/whereD.test.lua
@@ -234,10 +234,10 @@ local function do_searchcount_test(tn, sql, res)
test:do_test(
tn,
function()
- local sql_search_count = box.sql.debug().sql_search_count
+ local sql_search_count = box.stat.sql().sql_search_count
local r = test:execsql(sql)
table.insert(r, "search")
- table.insert(r, box.sql.debug().sql_search_count - sql_search_count)
+ table.insert(r, box.stat.sql().sql_search_count - sql_search_count)
return r
end,
res)
diff --git a/test/sql-tap/with2.test.lua b/test/sql-tap/with2.test.lua
index ca3f00e..48f7377 100755
--- a/test/sql-tap/with2.test.lua
+++ b/test/sql-tap/with2.test.lua
@@ -389,9 +389,9 @@ genstmt(255), {
local function do_xfer_test(test, test_func, test_name, func, exp, opts)
local opts = opts or {}
local exp_xfer_count = opts.exp_xfer_count
- local before = box.sql.debug().sql_xfer_count
+ local before = box.stat.sql().sql_xfer_count
test_func(test, test_name, func, exp)
- local after = box.sql.debug().sql_xfer_count
+ local after = box.stat.sql().sql_xfer_count
test:is(after - before, exp_xfer_count,
test_name .. '-xfer-count')
end
More information about the Tarantool-patches
mailing list