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 F23C12BDA7 for ; Sun, 5 May 2019 08:17:02 -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 X5K99EyiO6c3 for ; Sun, 5 May 2019 08:17:02 -0400 (EDT) Received: from smtpng1.m.smailru.net (smtpng1.m.smailru.net [94.100.181.251]) (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 ABC7C2BD18 for ; Sun, 5 May 2019 08:17:02 -0400 (EDT) From: imeevma@tarantool.org Subject: [tarantool-patches] [PATCH v1 00/12] sql: set errors in VDBE using diag_set() Date: Sun, 5 May 2019 15:17:00 +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: korablev@tarantool.org Cc: tarantool-patches@freelists.org This set of patches partially replaces the SQL error system with the Tarantool error system. There are still some parts of the SQL error system in the code, the most notable of which are the rc field in struct sql and struct Vdbe and the mallocFailed field in struct sql. I tried to remove the rc field from struct Vdbe, but it still has too many connections to the SQL code. I think this should be done in a different set of patches. https://github.com/tarantool/tarantool/issues/4074 https://github.com/tarantool/tarantool/tree/imeevma/gh-4074-diag_set-in-vdbe Mergen Imeev (12): sql: remove errors SQL_TARANTOOL_*_FAIL sql: remove error ER_SQL sql: rework diag_set() in OP_Halt sql: make SQL_TARANTOOL_ERROR the only errcode of OP_Halt sql: remove error SQL_INTERRUPT sql: remove error SQL_MISMATCH sql: set errors in VDBE using diag_set() sql: remove field zErrMsg from struct Vdbe sql: remove field pErr from struct sql sql: remove field errCode from struct sql sql: remove sqlError() and remove sqlErrorWithMsg() sql: use diag_set() to set an error in SQL functions src/box/alter.cc | 4 +- src/box/errcode.h | 2 +- src/box/execute.c | 23 +- src/box/lua/lua_sql.c | 15 +- src/box/sql.c | 37 +- src/box/sql/analyze.c | 6 +- src/box/sql/build.c | 31 +- src/box/sql/delete.c | 4 +- src/box/sql/expr.c | 7 +- src/box/sql/fk_constraint.c | 7 +- src/box/sql/func.c | 104 +++-- src/box/sql/insert.c | 29 +- src/box/sql/legacy.c | 2 - src/box/sql/main.c | 106 +---- src/box/sql/malloc.c | 5 - src/box/sql/prepare.c | 8 +- src/box/sql/resolve.c | 2 +- src/box/sql/select.c | 13 +- src/box/sql/sqlInt.h | 38 -- src/box/sql/tarantoolInt.h | 5 +- src/box/sql/tokenize.c | 3 - src/box/sql/trigger.c | 18 +- src/box/sql/util.c | 81 ---- src/box/sql/vdbe.c | 449 +++++++-------------- src/box/sql/vdbeInt.h | 40 +- src/box/sql/vdbeapi.c | 178 +------- src/box/sql/vdbeaux.c | 163 ++------ src/box/sql/vdbemem.c | 9 +- test/box/misc.result | 1 - test/sql-tap/autoinc.test.lua | 4 +- test/sql-tap/e_select1.test.lua | 4 +- test/sql-tap/gh-2931-savepoints.test.lua | 4 +- .../gh-3307-xfer-optimization-issue.test.lua | 10 +- test/sql-tap/gh2259-in-stmt-trans.test.lua | 8 +- test/sql-tap/gh2964-abort.test.lua | 2 +- test/sql-tap/intpkey.test.lua | 2 +- test/sql-tap/limit.test.lua | 26 +- test/sql-tap/misc1.test.lua | 2 +- test/sql-tap/select3.test.lua | 2 +- test/sql-tap/select4.test.lua | 8 +- test/sql-tap/select5.test.lua | 10 +- test/sql-tap/subselect.test.lua | 6 +- test/sql-tap/table.test.lua | 8 +- test/sql-tap/tkt-4a03edc4c8.test.lua | 2 +- test/sql-tap/tkt1473.test.lua | 36 +- test/sql-tap/trigger1.test.lua | 6 +- test/sql-tap/unique.test.lua | 10 +- test/sql/collation.result | 18 +- test/sql/delete.result | 7 +- test/sql/errinj.result | 6 +- test/sql/foreign-keys.result | 3 +- test/sql/func-recreate.result | 3 +- test/sql/insert-unique.result | 6 +- test/sql/iproto.result | 21 +- test/sql/on-conflict.result | 4 +- test/sql/persistency.result | 6 +- test/sql/transition.result | 6 +- test/sql/triggers.result | 21 +- test/sql/types.result | 9 +- 59 files changed, 458 insertions(+), 1192 deletions(-) -- 2.7.4