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 D02C1266E6 for ; Tue, 5 Feb 2019 14:41:19 -0500 (EST) 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 oIGOeGTfGxA1 for ; Tue, 5 Feb 2019 14:41:19 -0500 (EST) Received: from smtpng2.m.smailru.net (smtpng2.m.smailru.net [94.100.179.3]) (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 8A2E4220F6 for ; Tue, 5 Feb 2019 14:41:19 -0500 (EST) Subject: [tarantool-patches] Re: [PATCH 0/8] Eliminate affinity from source code References: From: Vladislav Shpilevoy Message-ID: <4050ac30-ae5d-3293-04d0-2d1c3cf4d612@tarantool.org> Date: Tue, 5 Feb 2019 22:41:17 +0300 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit 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: tarantool-patches@freelists.org, Nikita Pettik Thank you for all the diligent labour on this patchset. Now LGTM. On 28/12/2018 10:34, Nikita Pettik wrote: > Branch: https://github.com/tarantool/tarantool/tree/np/gh-3698-eliminate-affinity > Issue: > https://github.com/tarantool/tarantool/issues/3698 > https://github.com/tarantool/tarantool/issues/3886 > > Main purpose of current patch-set is to remove affinity from source > code. We are starting from introducing itermediate converstors > from affinity to field type and vice versa. Then, step-by-step we > are replacing affinity usages with field type. Non-trivial part of > this patch-set is removing numeric affinity (see third patch in > series and commit message). > > It worth noting that current patch-set also fixes issue connected > with invisible to query optimizer indexes, which are created from > Lua: to choose suitable index QO checked affinity compatibility of > key part and field def. As a result, indexes created without affinity > field couldn't be used to process query. > > Nikita Pettik (8): > sql: remove SQLITE_ENABLE_UPDATE_DELETE_LIMIT define > sql: use field type instead of affinity for type_def > sql: remove numeric affinity > sql: replace affinity with field type for func > sql: replace field type with affinity for VDBE runtime > sql: replace affinity with field type in struct Expr > sql: clean-up affinity from SQL source code > Remove affinity from field definition > > src/box/field_def.c | 20 --- > src/box/field_def.h | 18 --- > src/box/lua/lua_sql.c | 12 +- > src/box/sql.c | 14 +- > src/box/sql/analyze.c | 5 +- > src/box/sql/build.c | 19 +-- > src/box/sql/date.c | 17 ++- > src/box/sql/delete.c | 16 +- > src/box/sql/expr.c | 281 ++++++++++++++++------------------- > src/box/sql/fkey.c | 8 +- > src/box/sql/func.c | 91 ++++++------ > src/box/sql/insert.c | 60 +++----- > src/box/sql/main.c | 4 +- > src/box/sql/parse.y | 38 +++-- > src/box/sql/resolve.c | 24 +-- > src/box/sql/select.c | 29 ++-- > src/box/sql/sqliteInt.h | 107 +++++-------- > src/box/sql/update.c | 17 +-- > src/box/sql/vdbe.c | 120 +++++++-------- > src/box/sql/vdbeInt.h | 2 +- > src/box/sql/vdbeaux.c | 19 ++- > src/box/sql/vdbemem.c | 37 ++--- > src/box/sql/where.c | 37 ++--- > src/box/sql/whereInt.h | 3 +- > src/box/sql/wherecode.c | 59 +++----- > src/box/sql/whereexpr.c | 34 ++--- > test/sql-tap/cast.test.lua | 10 +- > test/sql-tap/lua-tables.test.lua | 38 ++++- > test/sql-tap/tkt-80e031a00f.test.lua | 12 +- > test/sql/iproto.result | 2 +- > test/sql/types.result | 15 +- > test/sql/upgrade.result | 6 +- > 32 files changed, 516 insertions(+), 658 deletions(-) > > -- > 2.15.1 > >