Subject | Setting blob values to a binary hex literal returns strange results (PSQL) |
---|---|
Author | Martijn Tonies (Upscene Productions) |
Post date | 2014-09-25T10:03:12Z |
Hi all,
I’ve got this following problem and example:
SET TERM ^^ ;
create PROCEDURE DEBUG_TEST
returns (
C BLOB SUB_TYPE 0,
M2 Numeric(18,0),
I2 VarChar(10))
AS
declare variable i varchar(4) = X'4131';
declare variable m numeric(18) = 0x2121;
declare variable b blob;
begin
c = 0x40;
m2 = m;
i2 = i;
suspend;
end ^^
SET TERM ; ^^
As you can see, output BLOB “c” gets a binary value of 0x40, as per hex
literal in Firebird 2.5, a
single byte.
However, when I now query the routine:
select * from debug_test;
The blob returned is:
64
That is, ‘64’ in characters! Two characters!
I’ve verified this in Database Workbench, BLOB Editor for hex values,
returned is:
3634
And using f_blobsize function in FreeAdhocUDF, which returns a size of
“2”.
Any clue why this happens?
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!
Martijn Tonies
Upscene Productions
http://www.upscene.com
Download Database Workbench for Oracle, MS SQL Server, Sybase SQL
Anywhere, MySQL, InterBase, NexusDB and Firebird!