[tarantool-patches] Re: [PATCH] schema: rework index sequence API
Konstantin Osipov
kostja at tarantool.org
Mon May 27 22:38:46 MSK 2019
* Vladimir Davydov <vdavydov.dev at gmail.com> [19/05/27 22:25]:
> Rather than passing 'sequence_part' along with 'sequence' on index
> create/alter, pass a table with the following fields:
>
> - id: sequence id or name
> - field: auto increment field id or name or path in case of json index
>
> If id is omitted, the sequence will be auto-generated (equivalent to
> 'sequence = true'). If field is omitted, the first indexed field is
> used. Old format, i.e. passing false/true or sequence name/id instead of
> a table is still supported.
Hi,
Thank you for the patch.
I certainly do not appreciate lack of changes in _space_sequence
definition.
You do hope, it seems, that mentioning field name in the sequence
name is a stupid idea, and will be reverted some day.
Meanwhile all front ends will have to resolve the field to path to
build a proper statement for _space_sequence.
> +s.index.pk:alter{sequence = false}
> +s.index.pk:alter{sequence = {field = 'x.a.b[1]'}}
> +s:replace{{a = {b = {box.NULL}}}} -- ok
What happens when I rename the field using space::format()?
Does sequence continue to work? Which field is it using then?
What happens when if I alter the index and modify its part names, order
or count? The answer to this question depends on whether
_sequence_space stores the path or the part.
If you think using a field is a stupid idea and the core should
continue using part no, please, test the consequences of this at
least.
--
Konstantin Osipov, Moscow, Russia
More information about the Tarantool-patches
mailing list