From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 9 Jul 2019 11:11:50 +0300 From: Vladimir Davydov Subject: Re: [PATCH 5/5] Allow to execute non-yielding DDL statements in transactions Message-ID: <20190709081150.h7eczhxtue5q3fvk@esperanza> References: <2f4db121e3afe9599172b9a3abf8a48ab47e524b.1562357452.git.vdavydov.dev@gmail.com> <20190708122626.GD11062@atlas> <20190708165103.y6mymhvsvwmckbhy@esperanza> <20190708220227.GF7873@atlas> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190708220227.GF7873@atlas> To: Konstantin Osipov Cc: tarantool-patches@freelists.org List-ID: On Tue, Jul 09, 2019 at 01:02:27AM +0300, Konstantin Osipov wrote: > * Vladimir Davydov [19/07/08 22:14]: > > What about > > > > DDL does not support long operations, such as building an index or checking a space format, in a transaction > > It's not DDL, it's Tarantool :) Well, all error codes are about Tarantool. However, this particular one is about limitations of our data dictionarly language (DDL). > > I think a separate error code is OK, a clear message has more > value than sticking to the same error code. > > Can not perform %s in a multi-statement transaction. Okay. Sounds good to me. > > Is there a workaround? If yes, let's add it to the message. No, there's no workaround. The only way to run index build or space format check in a transaction is to execute it first, i.e. in fact in a single-statement transaction.