From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id 28A792A7B4 for ; Thu, 28 Mar 2019 13:48:22 -0400 (EDT) Received: from turing.freelists.org ([127.0.0.1]) by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wVfHHNiQGyqm for ; Thu, 28 Mar 2019 13:48:22 -0400 (EDT) Received: from smtp46.i.mail.ru (smtp46.i.mail.ru [94.100.177.106]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id AB6112A6DF for ; Thu, 28 Mar 2019 13:48:21 -0400 (EDT) Date: Thu, 28 Mar 2019 20:48:17 +0300 From: Mergen Imeev Subject: [tarantool-patches] Re: [PATCH v9 3/7] sql: remove box.sql.debug() Message-ID: <20190328174817.GB4864@tarantool.org> References: <20190322154607.GE6548@chai> <20190325193952.GB11766@tarantool.org> <0077b7b4-c12a-af6b-672b-271b12e8b327@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <0077b7b4-c12a-af6b-672b-271b12e8b327@tarantool.org> Sender: tarantool-patches-bounce@freelists.org Errors-to: tarantool-patches-bounce@freelists.org Reply-To: tarantool-patches@freelists.org List-Help: List-Unsubscribe: List-software: Ecartis version 1.0.0 List-Id: tarantool-patches List-Subscribe: List-Owner: List-post: List-Archive: To: Vladislav Shpilevoy Cc: tarantool-patches@freelists.org, kostja@tarantool.org 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 > > 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 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, { -- @@ -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, { -- @@ -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, { -- @@ -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, { -- @@ -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, { -- @@ -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, { -- @@ -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, { -- @@ -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, { -- @@ -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