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 EFB502BB63 for ; Tue, 3 Apr 2018 11:34:20 -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 CGMFof2WAlOo for ; Tue, 3 Apr 2018 11:34:20 -0400 (EDT) Received: from smtp58.i.mail.ru (smtp58.i.mail.ru [217.69.128.38]) (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 50C8F2BAE9 for ; Tue, 3 Apr 2018 11:34:20 -0400 (EDT) From: Vladislav Shpilevoy Subject: [tarantool-patches] [PATCH 0/4] sql: refactor insertion and lua Date: Tue, 3 Apr 2018 18:34:11 +0300 Message-Id: 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 Cc: korablev@tarantool.org, Vladislav Shpilevoy Branch: http://github.com/tarantool/tarantool/tree/gh-2618-preliminary-patches Issue: https://github.com/tarantool/tarantool/issues/2618 The patchset consists of patches preliminary to SQL IProto "last updated tuple" introduction. It is possible, that its implementation plan will be changed several times, but this patchset looks useful even with no IProto "last updated tuple". 1) The patch does SQL INSERT/UPDATE refactoring by removal of 2 unused VDBE parameters, and by restyling of final insertion opcodes generator: sqlite3CompleteInsertion. 2) The patch does refactoring of Lua SQL executor, that is extremely overengineered now. Vladislav Shpilevoy (4): sql: remove unused opcodes from OP_[Sorter/Idx][Insert/Replace] sql: remove unused error codes, use enum instead of defines sql: simplify lua SQL executor sql: remove useless branching in insertOrReplace src/box/lua/sql.c | 239 +++++++----------------------------------------- src/box/sql.c | 18 ++-- src/box/sql/analyze.c | 8 +- src/box/sql/build.c | 4 - src/box/sql/delete.c | 2 +- src/box/sql/expr.c | 5 +- src/box/sql/insert.c | 80 ++++------------ src/box/sql/main.c | 32 ------- src/box/sql/os_unix.c | 9 +- src/box/sql/select.c | 29 +++--- src/box/sql/sqliteInt.h | 102 +++++++++++++-------- src/box/sql/trigger.c | 3 +- src/box/sql/update.c | 6 +- src/box/sql/vdbe.c | 10 +- src/box/sql/vdbeInt.h | 5 +- src/box/sql/vdbeapi.c | 9 -- src/box/sql/vdbeaux.c | 1 - src/box/sql/wherecode.c | 5 +- 18 files changed, 152 insertions(+), 415 deletions(-) -- 2.14.3 (Apple Git-98)