[commits] [tarantool] 02/02: alter: do not require index rebuild to clear uniqueness

Konstantin Osipov kostja at tarantool.org
Thu Feb 8 23:01:54 MSK 2018


* Vladimir Davydov <vdavydov.dev at gmail.com> [18/02/05 16:51]:
> This is an automated email from the git hooks/post-receive script.
> 
>     alter: do not require index rebuild to clear uniqueness
>     
>     Obviously, there's no point in rebuilding an index if all we do is
>     relaxing the uniqueness property. This will also allow us to clear
>     the uniqueness flag for vinyl indexes, which do not support rebuild.
>     
>     Note, a memtx tree index stores a pointer to either cmp_def or key_def
>     depending on whether the index is unique. Hence to clear the uniqueness
>     flag without rebuilding the index, we need to update this pointer. To do
>     that, we add a new index virtual method, update_def.
>     
>     Closes #2449

I don't see this patch in patches at . I am pushing it.

I don't however understand a related issue, how
generic_index_update_def can work in vinyl. I can see you forbade
changing a non-empty vinyl index, but you still can change an
empty one, and with generic implementation, your memory references
in all the derived formats you should be screwed, no? Or this case
is handled by vinyl_engine_commit_alter, so it works fine?

Seems like we use update_def and commit_alter for the same
purpose, and it is confusing.

-- 
Konstantin Osipov, Moscow, Russia, +7 903 626 22 32
http://tarantool.org - www.twitter.com/kostja_osipov



More information about the Tarantool-patches mailing list