Icon View Incident Report

Serious Serious
Reported By: Altec SA Ioa v Tsiadis [ALTEC SA]
Reported On: 3/21/2011
For: Version 2.05 Build 4
# 3405 LIKE Operator Not Working Correctly Both With and Without Escape Characters

LIKE operator with ESCAPE clause on indexed columns causes incorrect results.

SCRIPT
BEGIN

EXECUTE IMMEDIATE 'CREATE TABLE "LikeTest"
(
"ID" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) NOT NULL,
"ADESCR" VARCHAR(50) COLLATE "ANSI",
"ADESCR2" VARCHAR(50) COLLATE "ANSI" GENERATED ALWAYS AS ADESCR

)

EXECUTE IMMEDIATE 'INSERT INTO "LikeTest" VALUES (1,
                  ''///WOOL 100%'',
                  ''///WOOL 100%'')';

EXECUTE IMMEDIATE 'INSERT INTO "LikeTest" VALUES (2,
                  ''//COTTON 50%/WOOL 50%'',
                  ''//COTTON 50%/WOOL 50%'')';

EXECUTE IMMEDIATE 'INSERT INTO "LikeTest" VALUES (3,
                  ''/LICRA 20%/COTTON 30%/WOOL 50%'',
                  ''/LICRA 20%/COTTON 30%/WOOL 50%'')';

EXECUTE IMMEDIATE 'INSERT INTO "LikeTest" VALUES (4,
                  ''//COTTON 50%/WOOL 50%'',
                  ''//COTTON 50%/WOOL 50%'')';

EXECUTE IMMEDIATE 'CREATE INDEX "LikeTest_ix1" ON "LikeTest" ("ADESCR" COLLATE "ANSI")';

END

--ADESCR IS PHYSICAL INDEXED COLUMN
--QUERY DOES NOT RETURN RESULTS
SELECT * FROM LIKETEST WHERE ADESCR LIKE '%30/%%' ESCAPE '/'

--ADESCR2 IS GENERATED NON INDEXED COLUMN
--QUERY WORKS FINE
SELECT * FROM LIKETEST WHERE ADESCR2 LIKE '%30/%%' ESCAPE '/'

--ESCAPE ESCAPE CHARACTER
--PASS
SELECT * FROM LIKETEST WHERE ADESCR2 LIKE '//////WOOL%' ESCAPE '/'
--FAIL
SELECT * FROM LIKETEST WHERE ADESCR LIKE '//////WOOL%' ESCAPE '/'
--MUST NOT ESCAPE ESCAPE CHAR TO WORK
SELECT * FROM LIKETEST WHERE ADESCR LIKE '///WOOL%' ESCAPE '/'
--PASS
SELECT * FROM LIKETEST WHERE ADESCR2 LIKE '//////%' ESCAPE '/'
--MUST ESCAPE ESCAPE CHAR TO WORK
--PASS
SELECT * FROM LIKETEST WHERE ADESCR LIKE '//////%' ESCAPE '/'



Resolution Resolution
Fixed Problem on 3/29/2011 in version 2.05 build 5


Products Affected Products Affected
ElevateDB Additional Software and Utilities
ElevateDB DAC Client-Server
ElevateDB DAC Client-Server with Source
ElevateDB DAC Standard
ElevateDB DAC Standard with Source
ElevateDB DAC Trial
ElevateDB LCL Standard with Source
ElevateDB PHP Standard
ElevateDB PHP Standard with Source
ElevateDB PHP Trial
ElevateDB VCL Client-Server
ElevateDB VCL Client-Server with Source
ElevateDB VCL Standard
ElevateDB VCL Standard with Source
ElevateDB VCL Trial

Image