Subject | Re: [firebird-support] Varchar size overhead |
---|---|
Author | Douglas Tosi |
Post date | 2009-01-21T16:35:31Z |
On Wed, Jan 21, 2009 at 3:04 PM, Alexandre Benson Smith
<iblist@...> wrote:
Anyway I wonder why this scheme with several blocks of 127->2 is used.
Perhaps it's the fastest.
But I remember ASN.1 has a very simple and flexible way to encode
integers (including field sizes): If the first bit is 1, there is one
more byte. In the case of 1968 spaces, it would be encoded as a single
3 byte block (2 for size, one for space).
Of course, I agree with Hannes that varchars with trailing spaces is
odd to say the least.
--
Douglas Tosi
www.sinatica.com
<iblist@...> wrote:
> Ivan Prenosil wrote:I guess it's time to visit The Source. :)
>>> A bird told me some seconds ago that it is 127 to 2 not 512 to 2 :)
>>> I remember that I read that a very long time ago, but I don't know were
>>> it's documented, IIRC was a message in this list.
> 2.) 127 ->2 (from a friend)
> 3.) 128 -> 2 (Ivan)
> 4.) 256 -> 2 (Ann Harrison, message below),
Anyway I wonder why this scheme with several blocks of 127->2 is used.
Perhaps it's the fastest.
But I remember ASN.1 has a very simple and flexible way to encode
integers (including field sizes): If the first bit is 1, there is one
more byte. In the case of 1968 spaces, it would be encoded as a single
3 byte block (2 for size, one for space).
Of course, I agree with Hannes that varchars with trailing spaces is
odd to say the least.
--
Douglas Tosi
www.sinatica.com