v 2.3 -- VarChar limited to 2044 of UTF16 chars (4Kb page)

Ruslan Zasukhin sunshine at public.kherson.ua
Wed Apr 5 11:19:17 CDT 2006


On 4/5/06 2:46 AM, "jda" <jda at his.com> wrote:

Hi Jon,
Hi All,

> Also, it looks like *all* my older databases give the varchar "error"
> when diagnosed with b8. They were diagnosed as "OK" with b3, which
> makes me think that the diagnosis in b8 may be wrong.

I already see where is problem.

* PageFile store into disk file the size of page.

    your VarChar[2000]  in 2.2 have use 8K page.
    your database remember this

* now when 2.3 read this it get wrong size - 8K instead of 4K.
    and even worse -- your data really is located on 8K page.
    and 2.3 do not have way now to read such pages.

Problems problems problems...
I see these ways 

1) developer who have use in Valentina 2.2  VarChar fields longer of 1022
    need ship intermediate version of own app, which will
    CHANGE max length of all VarChar to 1022.

    if db.SchemaVersion = xxx then

        // 1a) for each VarChar with length > 1022 but < 2044
        fld.maxlength = 1022

        // 1b) for each VarChar with length > 2044 do
        fld.type = kTypeText

        db.SchemaVersin = db.SchemaVersion + 1
    end    
    

2) We can try implement own algorithm of conversion
    but we can do this only for case 1a)

    for case 1b) we cannot do this automatically
    because you need adjust your sources to use Text instead VarChar.


-------------
So I'd like to hear.

    HOW MANY developers get into this problem ?

    Does exists other developers except Jon which use VarChar
        longer of 1022 ?
        longer of 2044 ?

-- 
Best regards,

Ruslan Zasukhin
VP Engineering and New Technology
Paradigma Software, Inc

Valentina - Joining Worlds of Information
http://www.paradigmasoft.com

[I feel the need: the need for speed]




More information about the Valentina-beta mailing list