Subject Re: [firebird-support] Bug with character sets
Author Martijn Tonies
Hello Vlad,

>>> Do you consider "too complex and not very intuitive" for data access
>>> layer
>>> to query system tables for fileds CHECK constraints, DEFAULT values, etc
>>> ?
>>
>> This has nothing to do with fetching data. Having to query the
>> system tables in order to properly process the data as provided
>> by the client side API, does that sound "OK" to you?
>
> I never said it is OK. But i see nothing BAD so far.

Your example was faulty.

>We can't extend XSQLVAR
> without API change and introduce of BIG headache for component writers.

I can understand that.

>There
> is well known and easy to implement workaround - use it.
> Imagine we start to use sqlscale for N. It will be supported *only* by
> fbclient v3
> and fbserver v3 (or higher). I.e. it will not work if client or server
> have version less
> than 3. Imagine fb3 will be released at 01.01.2010. When you plan to
> migrate to fb3
> and use this feature ? Do you think component writers will be glad to
> implement
> additional check for versions of both client and server to decide if
> sqlscale contains N ?

Why is sqlscale only available in newer clients? It's available in the
structure right
now, can't it be filled?

It is done before, passing a characterset or collation ID (?) for BLOB
columns, for
example, did this require a client library change?

> I prefer to make one big change to API in some version of FB than
> introduce a lot
> of little hacks in every release. The only exception is when there is no
> workaround.

When UTF8 support was introduced, was this considered the correct workaround
to fetch CHAR data?

Funny to read that you consider fetching data from the server in order to
support
a client API not a "headache" for component writers or application writers.
Using
"sqlscale" to pass N would be much easier on both.

Heck, even if the component themselves do not use "sqlscale" to pass a
spaced
padded string of the correct length, the application writers can use it.


With regards,

Martijn Tonies
Upscene Productions
http://www.upscene.com

Download Database Workbench for Oracle, MS SQL Server, Sybase SQL
Anywhere, MySQL, InterBase, NexusDB and Firebird!

Database questions? Check the forum:
http://www.databasedevelopmentforum.com