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 E6785296F2 for ; Wed, 13 Mar 2019 13:03:06 -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 CciDdQFXsLsn for ; Wed, 13 Mar 2019 13:03:06 -0400 (EDT) Received: from smtp48.i.mail.ru (smtp48.i.mail.ru [94.100.177.108]) (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 1BB2D240A2 for ; Wed, 13 Mar 2019 13:03:06 -0400 (EDT) From: imeevma@tarantool.org Subject: [tarantool-patches] [PATCH v4 0/8] sql: use diag_set() for errors in SQL Date: Wed, 13 Mar 2019 20:03:03 +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 The goal of this patch-set is to rework all SQL errors and make Tarantool ones from them. Currently this patch-set contains pathes that reworks all parser errors. https://github.com/tarantool/tarantool/issues/3965 https://github.com/tarantool/tarantool/tree/imeevma/gh-3965-use-diag_set-to-describe-error Difference from last version: - Some patches were removed and new added. - A bit changed position of patches in the set. Mergen Imeev (8): sql: rework syntax errors sql: set SQL parser errors via diag_set() sql: replace rc with is_aborted status in struct Parse sql: remove field nErr from struct Parse sql: remove field zErrMsg from struct Parse sql: rework three errors of "unsupported" type sql: rework semantic errors sql: remove sqlErrorMsg() src/box/errcode.h | 18 +- src/box/sql.c | 12 +- src/box/sql/alter.c | 3 +- src/box/sql/analyze.c | 13 +- src/box/sql/build.c | 221 +++++----- src/box/sql/callback.c | 3 +- src/box/sql/delete.c | 31 +- src/box/sql/expr.c | 175 ++++---- src/box/sql/insert.c | 40 +- src/box/sql/malloc.c | 9 +- src/box/sql/parse.y | 74 ++-- src/box/sql/pragma.c | 11 +- src/box/sql/prepare.c | 22 +- src/box/sql/resolve.c | 279 ++++++++----- src/box/sql/select.c | 219 +++++----- src/box/sql/sqlInt.h | 30 +- src/box/sql/tokenize.c | 84 ++-- src/box/sql/trigger.c | 35 +- src/box/sql/update.c | 22 +- src/box/sql/util.c | 39 -- src/box/sql/vdbemem.c | 8 +- src/box/sql/where.c | 13 +- src/box/sql/wherecode.c | 2 +- src/box/sql/whereexpr.c | 8 +- test/box/alter.result | 4 +- test/box/misc.result | 15 + test/sql-tap/alter2.test.lua | 4 +- test/sql-tap/analyzeD.test.lua | 2 +- test/sql-tap/autoinc.test.lua | 2 +- test/sql-tap/blob.test.lua | 20 +- test/sql-tap/check.test.lua | 16 +- test/sql-tap/colname.test.lua | 4 +- test/sql-tap/count.test.lua | 2 +- test/sql-tap/default.test.lua | 14 +- test/sql-tap/e_select1.test.lua | 36 +- test/sql-tap/engine.cfg | 3 + test/sql-tap/fkey2.test.lua | 4 +- test/sql-tap/func3.test.lua | 6 +- test/sql-tap/gh-2549-many-columns.test.lua | 2 +- test/sql-tap/gh2168-temp-tables.test.lua | 4 +- test/sql-tap/gh2548-select-compound-limit.test.lua | 2 +- test/sql-tap/hexlit.test.lua | 4 +- test/sql-tap/identifier_case.test.lua | 2 +- test/sql-tap/index-info.test.lua | 2 +- test/sql-tap/index1.test.lua | 2 +- test/sql-tap/index7.test.lua | 2 +- test/sql-tap/insert1.test.lua | 2 +- test/sql-tap/join.test.lua | 22 +- test/sql-tap/join3.test.lua | 2 +- test/sql-tap/keyword1.test.lua | 2 +- test/sql-tap/misc1.test.lua | 14 +- test/sql-tap/misc5.test.lua | 6 +- test/sql-tap/null.test.lua | 12 +- test/sql-tap/pragma.test.lua | 4 +- test/sql-tap/select1.test.lua | 26 +- test/sql-tap/select3.test.lua | 8 +- test/sql-tap/select4.test.lua | 6 +- test/sql-tap/select7.test.lua | 2 +- test/sql-tap/sql-errors.test.lua | 459 +++++++++++++++++++++ test/sql-tap/start-transaction.test.lua | 14 +- test/sql-tap/table.test.lua | 10 +- test/sql-tap/tkt2822.test.lua | 30 +- test/sql-tap/tkt3935.test.lua | 14 +- test/sql-tap/tokenize.test.lua | 26 +- test/sql-tap/trigger1.test.lua | 14 +- test/sql-tap/unique.test.lua | 2 +- test/sql-tap/view.test.lua | 24 +- test/sql-tap/where7.test.lua | 2 +- test/sql-tap/whereG.test.lua | 6 +- test/sql-tap/with1.test.lua | 12 +- test/sql-tap/with2.test.lua | 18 +- test/sql/checks.result | 12 +- test/sql/collation.result | 12 +- test/sql/foreign-keys.result | 10 +- test/sql/gh-2347-max-int-literals.result | 6 +- test/sql/gh-2929-primary-key.result | 8 +- test/sql/gh-3888-values-blob-assert.result | 8 +- test/sql/integer-overflow.result | 9 +- test/sql/iproto.result | 16 +- test/sql/misc.result | 14 +- test/sql/on-conflict.result | 16 +- test/sql/transition.result | 3 +- test/sql/triggers.result | 4 +- test/sql/types.result | 13 +- test/sql/view.result | 2 +- 85 files changed, 1434 insertions(+), 959 deletions(-) create mode 100755 test/sql-tap/sql-errors.test.lua -- 2.7.4