From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 8 Jul 2019 11:09:34 +0300 From: Vladimir Davydov Subject: Re: [PATCH 5/5] Allow to execute non-yielding DDL statements in transactions Message-ID: <20190708080934.hp3zgk6ppw5mu2ww@esperanza> References: <2f4db121e3afe9599172b9a3abf8a48ab47e524b.1562357452.git.vdavydov.dev@gmail.com> <20190705225635.GB30966@atlas> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190705225635.GB30966@atlas> To: Konstantin Osipov Cc: tarantool-patches@freelists.org List-ID: On Sat, Jul 06, 2019 at 01:56:35AM +0300, Konstantin Osipov wrote: > * Vladimir Davydov [19/07/05 23:27]: > > Please work on a test case which not only ensures the statements > are allowed, but also produce desired results - as well as leave > no traces/partial effects on rollback. As a matter of fact, this simple test does check that rollback doesn't leave any traces - if it did, an attempt to commit the same statements would fail: box.begin() create() box.rollback() -- suppose it leaved some traces box.begin() create() box.commit() -- then this would fail It also checks that the DDL operations produce the desired results, otherwise an attempt to drop created objects would fail: box.begin() create() box.commit() -- suppose it didn't create some objects box.begin() drop() box.commit() -- then this would fail