[tarantool-patches] Re: [PATCH 2/3] vinyl: move unique check optimization setup to the space level

Vladimir Davydov vdavydov.dev at gmail.com
Thu Jul 25 11:46:42 MSK 2019


On Thu, Jul 25, 2019 at 01:31:41AM +0300, Konstantin Osipov wrote:
> > +/** A trivial wrapper around space_build_index(). */
> > +static void
> > +alter_space_build_index(struct space *src_space, struct space *new_space,
> > +			struct index *new_index)
> > +{
> > +	bool check_unique = space_needs_check_unique(new_space,
> > +						     new_index->def->iid);
> 
> check_unique is not proper English, please use
> check_unique_constraint or check_unique_ck.

Yeah, sure, will rename to check_unique_constraint.

> 
> > +	space_build_index_xc(src_space, new_index, new_space->format,
> > +			     check_unique);
> 
> Why can't you move testing check_unique property inside space_build_index
> or even the engine specific implementation of space_build_index?

Then I would need to pass the old space to the function, which I'd like
to avoid, because this would make the function proto less obvious.

> 
> > +	space->unique_index_bitmap = calloc(bitmap_size(index_id_max + 1), 1);
> 
> Let's use check_unique_constraint_map

Okay.

> > +/**
> > + * Return true if the unique constraint must be checked for
> > + * the index with the given id before inserting a tuple into
> > + * the space.
> > + */
> > +static inline bool
> > +space_needs_check_unique(struct space *space, uint32_t index_id)
> 
> space_needs_unique_constraint_check

Okay.



More information about the Tarantool-patches mailing list