16.01.2017 22:48, Dimitry Sibiryakov wrote: > >> But what about low-level logic like >> VIO_get_current() which must see uncommitted changes? > > If format is created at the end of DDL execution (instead of DFW), it > can/must be > written into database before any DML can write any record with new format.
You miss my point. It's written into RDB$FORMATS/RDB$RELATIONS but not committed because transaction is still active. So concurrent transactions cannot see these changes, accordingly to your versioning approach. But VIO_get_current() must see them. Do you suggest to use "dirty read" in such cases? 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