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 F325230C48 for ; Thu, 13 Jun 2019 18:24:39 -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 7hnE04PPVI7U for ; Thu, 13 Jun 2019 18:24:39 -0400 (EDT) Received: from smtp53.i.mail.ru (smtp53.i.mail.ru [94.100.177.113]) (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 B0F6530BDB for ; Thu, 13 Jun 2019 18:24:39 -0400 (EDT) Subject: [tarantool-patches] Re: [PATCH v1 18/28] sql: remove SQL_CONSTRAINT errcode References: <40cba82136f5c06632922856f95294616a475b74.1560174553.git.imeevma@gmail.com> From: Vladislav Shpilevoy Message-ID: Date: Fri, 14 Jun 2019 00:24:55 +0200 MIME-Version: 1.0 In-Reply-To: <40cba82136f5c06632922856f95294616a475b74.1560174553.git.imeevma@gmail.com> Content-Type: text/plain; charset=utf-8 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, imeevma@tarantool.org Thanks for the patch! I've found 'sql_CONSTRAINT_UNIQUE' in sql-tap/unique.test.lua on line 229. These tests are disabled by 'if 0 > 0', but another comment says, that the issue #2495 fix should have enabled them back. We need to either resurrect these tests, or drop them. Consider my review fixes below and on the branch in a separate commit. ====================================================== diff --git a/src/box/sql/sqlInt.h b/src/box/sql/sqlInt.h index acfeea588..128f5747d 100644 --- a/src/box/sql/sqlInt.h +++ b/src/box/sql/sqlInt.h @@ -3719,17 +3719,16 @@ sql_generate_index_key(struct Parse *parse, struct index *index, int cursor, * ---------- ---------- -------------------------------------- * any ROLLBACK The current transaction is rolled * back and VDBE stops immediately - * with return code of sql_CONSTRAINT. + * with an error. * * any ABORT Back out changes from the current * command only (do not do a complete * rollback) then cause VDBE to return - * immediately with sql_CONSTRAINT. + * immediately with an error. * - * any FAIL VDBE returns immediately with a - * return code of sql_CONSTRAINT. The - * transaction is not rolled back and any - * changes to prior rows are retained. + * any FAIL VDBE returns immediately with an error. + * The transaction is not rolled back and + * any changes to prior rows are retained. * * any IGNORE The attempt in insert or update the * current row is skipped, without diff --git a/test/sql-tap/trigger1.test.lua b/test/sql-tap/trigger1.test.lua index 38d7c5525..bc02d6236 100755 --- a/test/sql-tap/trigger1.test.lua +++ b/test/sql-tap/trigger1.test.lua @@ -511,7 +511,7 @@ test:do_catchsql_test( -- }) --- verify_ex_errcode trigger1-6.3b sql_CONSTRAINT_TRIGGER +-- Verify the previous test has not deleted anything. test:do_execsql_test( "trigger1-6.4", [[ diff --git a/test/sql-tap/unique.test.lua b/test/sql-tap/unique.test.lua index fbd73a650..358a06f40 100755 --- a/test/sql-tap/unique.test.lua +++ b/test/sql-tap/unique.test.lua @@ -74,7 +74,7 @@ test:do_catchsql_test( -- }) --- verify_ex_errcode unique-1.3b sql_CONSTRAINT_PRIMARYKEY +-- Verify the previous test has not inserted anything. test:do_execsql_test( "unique-1.4", [[ @@ -95,7 +95,7 @@ test:do_catchsql_test( -- }) --- verify_ex_errcode unique-1.5b sql_CONSTRAINT_UNIQUE +-- Verify the previous test has not inserted anything. test:do_execsql_test( "unique-1.6", [[ @@ -171,7 +171,7 @@ test:do_catchsql_test( -- }) --- verify_ex_errcode unique-2.3b sql_CONSTRAINT_UNIQUE +-- Verify the previous test has not inserted anything. test:do_catchsql_test( "unique-2.4", [[ @@ -291,7 +291,6 @@ test:do_catchsql_test( -- }) --- verify_ex_errcode unique-3.4b sql_CONSTRAINT_UNIQUE --integrity_check unique-3.5 -- Make sure NULLs are distinct as far as the UNIQUE tests are -- concerned. @@ -405,7 +404,6 @@ test:do_catchsql_test( }) end --- verify_ex_errcode unique-4.10b sql_CONSTRAINT_UNIQUE --integrity_check unique-4.99 -- Test the error message generation logic. In particular, make sure we -- do not overflow the static buffer used to generate the error message. @@ -448,7 +446,4 @@ test:do_catchsql_test( -- }) --- verify_ex_errcode unique-5.2b sql_CONSTRAINT_UNIQUE - - test:finish_test()