Don't forget about SAVEPOINT handling! It can make things very messy in 
this case (BUT expected to work as part of the transaction logic from my 
point of view).
Lock should be applied in case of altering, parallel altering should be 
not allowed. (same as update a record, instant lock conflict error at 
command execution time, not commit time (even when different values are 
updated))

On 2017.01.18. 11:09, Dmitry Yemanov wrote:
> 18.01.2017 12:38, Alex Peshkoff wrote:
>> Currently with dfw we do have a lot of DDL errors raised at commit time
>> i.e. it's not a regression.
> True, but only because the actual work is performed during commit. If we
> claim that DDL changes are applied immediately, but error is thrown at
> commit, this looks weird. Especially if we find a way to allow mixed DDL
> and DML - imagine ALTER TABLE and subsequent UPDATE both executing OK
> but failing at commit because of the metadata conflict.
>
>   > But don't forget that under
>   > normal circumstances such conflicts will be very rare.
>
> I would seriously question the need to allow concurrent DDL against the
> same objects. This is simply not the way people work with the relational
> databases. I'd rather lock the metadata being changed at the DDL time
> and until commit.
>
>
> Dmitry
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> Firebird-Devel mailing list, web interface at 
> https://lists.sourceforge.net/lists/listinfo/firebird-devel


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to