Icon View Incident Report

Serious Serious
Reported By: Guenter Angerer
Reported On: 8/21/2002
For: Version 3.14 Build 1
# 1189 Using SUBSTRING() Function on a BLOB Field Causes AV

A statement like the following SQL does not work and causes an AV. After several clicks on Run SQL, DBSys shuts down immediately.

DROP TABLE IF EXISTS TestTable;

CREATE TABLE TestTable (
  SupaBlob BLOB (0,1)
);

INSERT INTO TestTable VALUES 
('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');


SELECT CAST(SUBSTRING(SupaBlob  FROM 1) AS CHAR(250)) FROM TestTable;

SELECT SUBSTRING(SupaBlob  FROM 1) FROM TestTable;

also gives an AV.



Comments Comments
Workaround: the SELECT statement should look like this:

SELECT CAST(SUBSTRING(SupaBlob FROM 1 FOR 250) AS CHAR(250)) FROM TestTable;


Resolution Resolution
Fixed Problem on 8/28/2002 in version 3.15 build 1
Image