[Tarantool-patches] [PATCH v2 0/3] Add constraint names hash table to space

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Sat Dec 7 19:34:49 MSK 2019


Hi! Thanks for the fixes!

On 04/12/2019 17:23, Roman Khabibov wrote:
> 
> 
>> On Nov 30, 2019, at 04:03, Vladislav Shpilevoy <v.shpilevoy at tarantool.org> wrote:
>>
>> Hi! Thanks for the patch!
>>
>> See 2 comments below!
>>
>> On 28/11/2019 19:34, Roman Khabibov wrote:
>>> I have made essential changes to the previous patch, so I decided
>>> to send it as v2.
>>>
>>> 1) I still don't understand, why we need to store constraint id. If we have the
>>> query "ALTER TABLE T DROP CONSTRAINT C", we just get struct space by its name,
>>> then find the corresponding constraint_def node by the name and emit opcode on
>>> replace in _index/_fk_constraint/_ck_constraint depending on
>>> constraint_def->type.
>>
>> 1. ID is a primary index. You can delete by ID. Is it always
>> possible to delete by name? Do all the constraint spaces have a
>> unique index over name consisting of one column?
> I know a space_id. So, I will delete tuples from _index, _ck, _fk by their unique
> composite indexes:
> +----------+------------+
> | space_id | name/iid   |
> +----------+------------+
> 
> If we want to delete by ID, let’s add it to _ck and _fk and keep it in struct constraint_def also. But, IMO, it is not about my patchset.
> 

You are right - ID won't help here. _index/_ck/_fk anyway
either have a unique index by <space_id, name>, or does not
have their own ID. So constraint ID won't help.


More information about the Tarantool-patches mailing list