OVERLAY with binary blob - data corruption
------------------------------------------
Key: CORE-5356
URL: http://tracker.firebirdsql.org/browse/CORE-5356
Project: Firebird Core
Issue Type: Bug
Components: Engine
Affects Versions: 3.0.0
Environment: Firebird 3.0.0 64bit, Windows 10 Pro 64 bit CZ
Reporter: Karel Rys
Hello,
I have a table like this:
CREATE TABLE Users
(
...
Prava blob,
...
);
Records in this table now have char_length of Prava in range 399 to 403. It
stores binary zeroes and ones (user rights in our application).
When I run this:
SELECT
char_length(a.Prava) as ActualLength,
ascii_val(a.Prava) as NewValue1,
ascii_val(substring(a.Prava FROM 1 FOR 1)) as NewValue2,
ascii_val(OVERLAY(
a.Prava PLACING ascii_char(1) FROM 200 for 1
)) as NewValue3,
ascii_val(substring(OVERLAY(
a.Prava PLACING ascii_char(1) FROM 200 for 1
) FROM 1 FOR 1)) as NewValue4,
a.*
FROM Users a
I get:
ActualLength, NewValue1, NewValue2, NewValue3, NewValue4, ...
403, 1, 1, 46, 46, ...
402, 1, 1, 1, 1, ...
399, 0, 0, 0, 0, ...
402, 1, 1, 1, 1, ...
...
It seems that OVERLAY returns wrong data for the first record - there should
not be any "46".
Kind regards,
Karel Rys
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
------------------------------------------------------------------------------
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel