17.01.2017 14:29, Adriano dos Santos Fernandes wrote: >>> But what exactly "invalid state" means? I can't imagine anything but >>> violation of >>> "foreign key" on table rdb$dependencies. If Firebird ever is going to have >>> deferred >>> constraints, allowing some metadata to be inconsistent during transaction >>> and their >>> validation on commit should be relatively simple using them, no? >>> >>> >> Everything that causes user to currently use tools that "recompile" >> (recreate or alter to empty bodies and alter again). >> > A classical example: isql -x > > Creates lots of workarounds and many times has problems with > dependencies, while it could instead create all metadata in the same > transaction without care about order and commit everything together > letting the engine do the job.
Yes, that's exactly what I was talking about: dependency on objects that don't exist yet. Should work perfectly well using deferred FK constraints on system tables. Currently system tables don't have foreign keys at all and dependency checking is done by code. Changing that can make code simpler and robust. -- WBR, SD. ------------------------------------------------------------------------------ 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