On 24/03/2016 10:53, Dmitry Yemanov wrote:
> 24.03.2016 16:24, Adriano dos Santos Fernandes wrote:
>> If we use the new version only when the object actually uses more than
>> 255 contexts, it's an object that cannot be really migrated backward.
> It's doable, just with minor tweaks - BLR version tag should be adjusted 
> in-place after the whole BLR stream is composed.

Maybe not. At compilation phase (before BLR generation starts) things as
how many contexts was used are already known.

>> But maybe instead of change the version, we can introduce BLR flags. By
>> default, a backward-compatible object would not generate any flag and
>> then generates the same BLR when created.
>>
>> The initial BLR flag we could create is:
>>
>> blr_flag, blr_flag_large_context_space
>>
>> When an object has this flag (right after blr_version), BLR parser
>> parses the context numbers in a different way.
> I'd say its handling is likely to be absolutely the same as for new BLR 
> version, so I don't see any major difference. But I will think more 
> about this.
>
It's just more explicit.

I have no idea what was changed between BLR versions 4 and 5.

Nor I will understand looking at a procedure BLR why it used 5 (to
maintain possible compatibility) or 6 (to use a new semantic - but what?).


Adriano


------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351&iu=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to