[Tarantool-patches] [PATCH v2 2/3] box: make constraint operations transactional
Nikita Pettik
korablev at tarantool.org
Mon Dec 30 15:05:56 MSK 2019
On 30 Dec 14:12, Sergey Ostanevich wrote:
> Hi!
>
> I didn't find any issues, let's push it.
Pushed to master.
> Regards,
> Sergos
>
> On 30 Dec 00:28, Nikita Pettik wrote:
> > On 29 Dec 18:51, Vladislav Shpilevoy wrote:
> > > >>>> index c660b1c70..094a63ee1 100644
> > > >>>> --- a/src/box/errcode.h
> > > >>>> +++ b/src/box/errcode.h
> > > >>>> @@ -222,7 +222,7 @@ struct errcode_record {
> > > >>>> /*167 */_(ER_CREATE_FK_CONSTRAINT, "Failed to create foreign key constraint '%s': %s") \
> > > >>>> /*168 */_(ER_DROP_FK_CONSTRAINT, "Failed to drop foreign key constraint '%s': %s") \
> > > >>>> /*169 */_(ER_NO_SUCH_CONSTRAINT, "Constraint %s does not exist") \
> > > >>>> - /*170 */_(ER_CONSTRAINT_EXISTS, "Constraint %s already exists") \
> > > >>>> + /*170 */_(ER_CONSTRAINT_EXISTS, "Constraint %s '%s' already exists in space '%s'") \
> > > >>>
> > > >>> I'd better place type of constraint at the beggining of sentence:
> > > >>>
> > > >>> Check constraint xxx already exists
> > > >>> Foreign key constraint ...
> > > >>> Unique constraint ...
> > > >>>
> > > >>> Sounds way much better, doesn't it?
> > > >>
> > > >> It is subjective. I changed it to this order on purpose.
> > > >> 1) Because I wanted to go from more common term to a more
> > > >> concrete: 'Constraint' - common, <constraint type> - more
> > > >> concrete, <name> - even more concrete.
> > > >> 2) Because when I see '<type> constraint <name> already exists ...'
> > > >> for me it looks like someone tried to create constraint of
> > > >> type <type>. But it is not always so. Type is not the most
> > > >> important part of the message.
> > > >
> > > > Well, I think it may turn out to be good argument. Why do
> > > > you add type of constraint to message at all? My guess
> > > > is to simplify user's life and make finding constraint
> > > > with given name easy. If so, does it make sense?
> > >
> > > Your guess is right. I wanted to make it simpler to determine
> > > with what a constraint there is a conflict. So as a user could
> > > do rename of index/fk/ck/whatever-else which occupies the needed
> > > name.
> >
> > I mean if user finds out that name is already occupied,
> > one is likely to use another name rather than drop/rename
> > existing constraint. In this case type of constraint is not
> > vital.
> >
> > Anyway, patch LGTM. This is second one approve so it can be pushed,
> > but Sergos wrote that he is concerned about memory management
> > during constraint id creation/drop. Sergos, did you find any
> > issues, or we can push this patch?
> >
More information about the Tarantool-patches
mailing list