From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Sun, 26 May 2019 17:36:13 +0300 From: Vladimir Davydov Subject: Re: [tarantool-patches] Re: [PATCH 1/3] vinyl: fix secondary index divergence on update Message-ID: <20190526143613.23whsddiae3g64nh@esperanza> References: <8e4175c3f3b857097ccfd264608b046b71635e91.1558733443.git.vdavydov.dev@gmail.com> <20190525061157.GB14501@atlas> <20190525195119.4bwcu3sp5epm52pr@esperanza> <20190525202851.GB2340@atlas> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190525202851.GB2340@atlas> To: Konstantin Osipov Cc: tarantool-patches@freelists.org List-ID: On Sat, May 25, 2019 at 11:28:51PM +0300, Konstantin Osipov wrote: > * Vladimir Davydov [19/05/25 22:55]: > > On Sat, May 25, 2019 at 09:11:57AM +0300, Konstantin Osipov wrote: > > > Could you also please explain why you decided to introduce a new > > > flag, and not use is_overwritten? > > > > is_overwritten is cleared on rollback while is_nop stays unchanged. > > Then shouldn't better name be is_overwriting, as every > is_overwritten txv is overwritten by some is_overwriting txv > (is_nop)? Is there any symmetry between the two or there are cases > when they are unrelated? No. is_nop is set if a statement has no effect and can be skipped on commit, e.g. DELETE following REPLACE in case of a secondary index. Not every statement that overwrites some other statement has no effect, e.g. REPLACE following other REPLACE can't be skipped.