Subject Re: [IBO] Test suite?
Author Geoff Worboys
> Let me try and clarify. Both IBO 4.x and IBO 5.x should work
> with all of the character sets that Firebird/InterBase support.
> [...]

I would argue that IBO 4.x has only ever worked with single-byte
character sets, certainly not all IB/FB support. This is not
a criticism of IBO, it was able to offer only this level of
support because that's all Delphi did until 2009. Sure there
was the "WideString" type... but not a lot of a good when there
where no components written to use it.

And in all this IBO only ever accepted what it was given and
hoped that the developer/user managed to match the connection
character set with what the user (Windows) was actually using.

Now that Delphi has unicode and now that Firebird (since v2.1)
gives useful character-set information via the existing API
it is possible for IBO to do much better... and to do so with
not much effort on it's part.

At least that is the plan and the intention of my code... it
remains to be seen whether I truly manage it. (I know it is
possible because I've done it in C++/Qt code.)


> Ok, perhaps I did not understand what you said property. I
> prefer to leave the handling of character sets to the database
> and the OS as much as possible. I would not eagerly delve into
> a project that required too much in the way of custom
> transliteration routines on the client.

Nothing very difficult about what I have done so far. I simply
created a list of Firebird character-set identities and match
them to Windows code-pages. With the character-set detail
returned from Firebird v2.1 I can give Delphi the code-page
required to convert the input bytes to a unicode string and
vise-versa.

Assuming I have gotten the code right (big assumption) this
should work for all predefined Firebird character-sets (don't
know about Interbase but perhaps someone who watches IB can
help out in that regard).


> Start with the sample applications and I'll see what I can
> do from there.

Hmmm... samples don't make a very good test library - too much
user interaction to run many tests quickly and easily. And
most of the samples are gui based and I have not converted all
that stuff yet.


--
Geoff Worboys
Telesis Computing