From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 8 Jul 2019 19:46:48 +0300 From: Vladimir Davydov Subject: Re: [PATCH 5/5] Allow to execute non-yielding DDL statements in transactions Message-ID: <20190708164648.mug6rrfesclasdqv@esperanza> References: <2f4db121e3afe9599172b9a3abf8a48ab47e524b.1562357452.git.vdavydov.dev@gmail.com> <20190705225635.GB30966@atlas> <20190708080934.hp3zgk6ppw5mu2ww@esperanza> <20190708082116.GB21719@atlas> <20190708084330.dkh5zj4v67unt46o@esperanza> <20190708092506.GA8512@atlas> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190708092506.GA8512@atlas> To: Konstantin Osipov Cc: tarantool-patches@freelists.org List-ID: On Mon, Jul 08, 2019 at 12:25:06PM +0300, Konstantin Osipov wrote: > * Vladimir Davydov [19/07/08 11:45]: > > > In any case you test a fixed number of combinations, and should > > > come up with a randomized test. This feature encompasses all DDL > > > operators, including: > > > > > > - roles > > > - users > > > - functions > > > - SQL triggers > > > - SQL foreign key constraints > > > - SQL views > > > - SQL check constraints > > > > > > Every object should be involved in the test, and the generated > > > transactions should be random. > > > > Sounds tricky :-/ May be, hand this over to Q&A? > > Nobody is going to write the test better than you. You may even > hand this over to mermaids or some other mythical creature, if you > don't want this to happen. Mermaids are cool ;-) The problem is such a test is really difficult to come up with, because we'd have to implement something like a dependency graph describing which operations can be run after which. IMHO it isn't worth doing just for the sake of a functional test. Regarding SQL, the SQL team already has tests dealing with SQL related objects (like constraints or triggers). Once they introduce support of transactional DDL, we will get those tests for free.