Subject Setting blob values to a binary hex literal returns strange results (PSQL)
Author Martijn Tonies (Upscene Productions)
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!