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 60EAF2720F for ; Fri, 22 Jun 2018 16:04:05 -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 R2Z5wik156Yi for ; Fri, 22 Jun 2018 16:04:05 -0400 (EDT) Received: from smtp61.i.mail.ru (smtp61.i.mail.ru [217.69.128.41]) (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 C6BCB2720B for ; Fri, 22 Jun 2018 16:04:04 -0400 (EDT) Subject: [tarantool-patches] Re: [PATCH v1 2/2] sql: enable multi-engine tests for SQL References: From: Vladislav Shpilevoy Message-ID: <9418cbf4-7ffa-3cfd-a544-bd49b5e52a2c@tarantool.org> Date: Fri, 22 Jun 2018 23:04:00 +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: Kirill Shcherbatov , tarantool-patches@freelists.org Thanks for the patch! Wow, looks like Vinyl really works on SQL. Did you test sql-tap/ suite? Why is not it in the patch? It could be updated automatically using a short script that adds the engine setting at the beginning of a file. See 2 comments below. On 20/06/2018 20:06, Kirill Shcherbatov wrote: > Configured sql tests to set 'pragma sql_engine_default' on start. > This allows to test both vinyl and memtx engines for SQL. > > Resolves #2199. > --- > test/sql/check-clear-ephemeral.result | 6 ++++ > test/sql/check-clear-ephemeral.test.lua | 3 +- > test/sql/checks.result | 6 ++++ > test/sql/checks.test.lua | 2 ++ > test/sql/clear.result | 6 ++++ > test/sql/clear.test.lua | 2 ++ > test/sql/collation.result | 9 +++++ > test/sql/collation.test.lua | 3 ++ > test/sql/delete-multiple-idx.result | 6 ++++ > test/sql/delete-multiple-idx.test.lua | 2 ++ > test/sql/delete.result | 6 ++++ > test/sql/delete.test.lua | 2 ++ > test/sql/drop-index.result | 6 ++++ > test/sql/drop-index.test.lua | 2 ++ > test/sql/drop-table.result | 6 ++++ > test/sql/drop-table.test.lua | 2 ++ > test/sql/engine.cfg | 6 ++++ > test/sql/engine.result | 42 ++++++++++++++++++++++ > test/sql/engine.test.lua | 17 +++++++++ > test/sql/errinj.result | 9 +++++ > test/sql/errinj.test.lua | 3 ++ > test/sql/gh-2929-primary-key.result | 9 +++++ > test/sql/gh-2929-primary-key.test.lua | 4 +++ > test/sql/gh-2981-check-autoinc.result | 9 +++++ > test/sql/gh-2981-check-autoinc.test.lua | 4 +++ > test/sql/gh-3199-no-mem-leaks.result | 6 ++++ > test/sql/gh-3199-no-mem-leaks.test.lua | 2 ++ > test/sql/gh2141-delete-trigger-drop-table.result | 6 ++++ > test/sql/gh2141-delete-trigger-drop-table.test.lua | 2 ++ > test/sql/gh2251-multiple-update.result | 6 ++++ > test/sql/gh2251-multiple-update.test.lua | 2 ++ > test/sql/gh2483-remote-persistency-check.result | 6 ++++ > test/sql/gh2483-remote-persistency-check.test.lua | 2 ++ > .../gh2808-inline-unique-persistency-check.result | 6 ++++ > ...gh2808-inline-unique-persistency-check.test.lua | 2 ++ > test/sql/icu-upper-lower.result | 6 ++++ > test/sql/icu-upper-lower.test.lua | 2 ++ > test/sql/insert-unique.result | 6 ++++ > test/sql/insert-unique.test.lua | 2 ++ > test/sql/iproto.result | 12 ++++++- > test/sql/iproto.test.lua | 6 +++- > test/sql/max-on-index.result | 6 ++++ > test/sql/max-on-index.test.lua | 2 ++ > test/sql/message-func-indexes.result | 6 ++++ > test/sql/message-func-indexes.test.lua | 2 ++ > test/sql/misc.result | 9 +++++ > test/sql/misc.test.lua | 4 +++ > test/sql/on-conflict.result | 6 ++++ > test/sql/on-conflict.test.lua | 2 ++ > test/sql/persistency.result | 6 ++++ > test/sql/persistency.test.lua | 2 ++ > test/sql/savepoints.result | 6 ++++ > test/sql/savepoints.test.lua | 2 ++ > test/sql/select-null.result | 6 ++++ > test/sql/select-null.test.lua | 2 ++ > test/sql/sql-statN-index-drop.result | 6 ++++ > test/sql/sql-statN-index-drop.test.lua | 2 ++ > test/sql/suite.ini | 1 + > test/sql/tokenizer.result | 6 ++++ > test/sql/tokenizer.test.lua | 2 ++ > test/sql/transition.result | 9 +++++ > test/sql/transition.test.lua | 4 +++ > test/sql/transitive-transactions.result | 10 ++++++ > test/sql/transitive-transactions.test.lua | 6 ++++ > test/sql/triggers.result | 6 ++++ > test/sql/triggers.test.lua | 2 ++ > test/sql/update-with-nested-select.result | 6 ++++ > test/sql/update-with-nested-select.test.lua | 2 ++ > test/sql/upgrade.result | 6 ++++ > test/sql/upgrade.test.lua | 2 ++ > test/sql/view.result | 6 ++++ > test/sql/view.test.lua | 2 ++ > test/sql/view_delayed_wal.result | 6 ++++ > test/sql/view_delayed_wal.test.lua | 2 ++ > 74 files changed, 390 insertions(+), 3 deletions(-) > create mode 100644 test/sql/engine.cfg > create mode 100644 test/sql/engine.result > create mode 100644 test/sql/engine.test.lua > > diff --git a/test/sql/iproto.result b/test/sql/iproto.result > index 3b7574a..92b7c2e 100644 > --- a/test/sql/iproto.result > +++ b/test/sql/iproto.result > @@ -500,7 +509,8 @@ cn:execute('select * from test where id = :1', {1}) > - [1, 2, '3'] > ... > -- gh-2602 obuf_alloc breaks the tuple in different slabs > -_ = space:replace{1, 1, string.rep('a', 4 * 1024 * 1024)} > +-- 4 * 1024 * 1024 is higher than vinyl max tuple size > +if engine ~= 'vinyl' then _ = space:replace{1, 1, string.rep('a', 4 * 1024 * 1024)} end 1. Just increase vinyl_max_tuple_size to the same value. This test should work both for vinyl and memtx. > --- > ... > res = cn:execute('select * from test') > diff --git a/test/sql/transitive-transactions.result b/test/sql/transitive-transactions.result > index 272a25a..1cced76 100644 > --- a/test/sql/transitive-transactions.result > +++ b/test/sql/transitive-transactions.result > @@ -104,7 +110,11 @@ box.space.PARENT:select(); > --- > - - [1, 1] > ... > +-- vinyl doesn't rollback failed transactions > box.sql.execute('PRAGMA defer_foreign_keys = 1;') 2. Vinyl rollbacks failed transactions, but it does not rollback the whole transaction on a non-caught exception. Lets better do rollback always. It is no-op in memtx when no active transactions. > +if engine == 'vinyl' then > + box.rollback() > +end > fk_defer(); > --- > ...