On 3/24/2016 9:24 AM, Adriano dos Santos Fernandes wrote:
> On 08/03/2016 10:02, Dmitry Yemanov wrote:
>> All,
>>
>> The good thing is that the code internals are more or less ready to work
>> with context/stream number of any size, thanks to Claudio's refactoring.
>> So the issue is mostly about BLR.
>>
>> I see two possible solutions:
>>
>> 1) Bump BLR version, make all context-aware verbs to generate/parse
>> longer numbers (prefixed by counter, variable-length encoded, whatever)
>> if new BLR version is used. Support old BLR versions, for sure (for
>> migration, message descriptions, etc) but generate new BLR version for
>> new objects.
>>
>> The major problem here is backward compatibility. BLR version 6 cannot
>> be parsed by prior engines, so backward migration via gbak becomes
>> impossible (at least after some metadata have been modified in FB4).
>>
> 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.
>
> 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
>
>

Adding the flag would break backwards compatibility, so it's a 
non-starter.  Creating a new BLR version number doesn't make sense since 
it is hoped that future versions of Firebird will treat BLR as at most a 
legacy interface.

Now, that said, in the first incarnation of BLR at DEC I forgot to put a 
version number on front.  Recognising that all existing blr began with 
blr_begin (2), the first version number for BLR was three -- two meant, 
"no version number").

If you felt compelled to come up with some sort of hack, a variation on 
this might work.  Or you could just define a new BLR version, setting it 
only after BLR had been generated and a longer context id was required.

Better to punt and go with SQL.  It does appear that SQL has vanquished 
QUEL and DEC DML.


------------------------------------------------------------------------------
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