Adriano dos Santos Fernandes wrote:
> My test is a bit different as bulk_insert cannot be used with
> output parameters. Here is it:

> set bulk_insert EXECUTE BLOCK (
>     i VARCHAR(60) CHARACTER SET WIN1252 = ?
> ) AS
>     declare r VARCHAR(60) CHARACTER SET WIN1252;
>     DECLARE v VARCHAR(60) CHARACTER SET UTF8;
> BEGIN
>   v = _utf8 x'C3A1';
>   i = v;
>   r = v;
>   r = 'i=' || Octet_Length(i) || '  v=' || Octet_Length(v) || '  r=' ||
> Octet_Length(r);
>   exception ex r;
> END!
> ('a')

> Maybe the test can be done with EXECUTE STATEMENT 'EXECUTE
> BLOCK ...' too...

As I mentioned in my first post (but it may have been forgotten
in the conversation since) I was originally discussing the
problem problems found in FB v2.5.6.

Up to now I didn't have a proper FB3 install with compatible
client etc., so the only thing I had tried on FB3 (before now)
was your bulk insert example.  It turns out...

The EXECUTE BLOCK problem doesn't happen on FB3 (release or
snapshot) even when connecting to it with an FB2 client.

So whatever the problem in FB v2.5.6 is, it's server side.


The originally reported UDF problem also changes in FB v3.
This:
    SELECT ReflectType('abcdef') FROM RDB$DATABASE

gives the UDF input type as having the client connection
character set (rather than 127) - and that makes sense.
Curiously, however, this:

    SELECT ReflectType(:ParamName) FROM RDB$DATABASE

returns UDF input type as having the database default character
set regardless of the connection character set.  I'm not sure
what I expected.  Whatever, it's definitely better than FB v2.


I'll update my tracker items to confirm the problems as
reported don't happen in FB v3.  Whether anyone will feel
inclined to fix these in FB v2.5 I don't know.

Now that I know they exist I can probably live with them until
I migrate this application to FB3 (although that will probably
a long while).

Thanks for your time and patience, Adriano.

-- 
Geoff Worboys
Telesis Computing Pty Ltd


------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to