28.05.2018 04:04, Adriano dos Santos Fernandes wrote:
I'm adding system procedure support, coded in C++, initially for list time zone rule transition, as it can't be done with virtual table (needs parameters). I see others great potentials with this. We can also later code system triggers with them, as they are currently coded directly in BLR and are unmaintainable.
I'd rather get rid of them at all, replacing with built-in VIO-level processing. We already did that for some.
For system tables, their IDs starts with 0, while user tables starts at 128. User procedures already starts with 0, so initially I'm creating system procedures with negative IDs.
I suppose you assign IDs directly, without generator usage? So it remains initialized with zero?
Anyone see a problem with that?
I suspect some code pieces may treat IDs as USHORT. It's harmless per se, but problems may arise after promoting those unsigned IDs to ULONG. I'm not sure it happens, but it's worth checking.
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