Subject | IBOQuery parser bug |
---|---|
Author | tomjanczkadao |
Post date | 2011-08-08T07:58:17Z |
Hi
Bug is very simple to reproduce at any database, just open with
TIBOQuery statement like this:
execute block
returns(OUT_STRING varchar(31))
as
begin
select db.rdb$character_set_name
from RDB$DATABASE db
order by db.rdb$character_set_name
into :OUT_STRING;
suspend;
end
SQLMonitor shows what is sent to FB:
execute block
returns(OUT_STRING varchar(31))
as
begin
select db.rdb$character_set_name
from RDB$DATABASE db
ORDER BY db.rdb$character_set_name into ? /* PRM_0 */ ASC
;
suspend;
end
Problem is ORDER BY clause, followed by INTO.
1. parameters inside execute block should not be prepared at all.
2. parsing order clause appends ASC after INTO!!
IBO 4.9.14 build 12
Regards, Tomek
[Non-text portions of this message have been removed]
Bug is very simple to reproduce at any database, just open with
TIBOQuery statement like this:
execute block
returns(OUT_STRING varchar(31))
as
begin
select db.rdb$character_set_name
from RDB$DATABASE db
order by db.rdb$character_set_name
into :OUT_STRING;
suspend;
end
SQLMonitor shows what is sent to FB:
execute block
returns(OUT_STRING varchar(31))
as
begin
select db.rdb$character_set_name
from RDB$DATABASE db
ORDER BY db.rdb$character_set_name into ? /* PRM_0 */ ASC
;
suspend;
end
Problem is ORDER BY clause, followed by INTO.
1. parameters inside execute block should not be prepared at all.
2. parsing order clause appends ASC after INTO!!
IBO 4.9.14 build 12
Regards, Tomek
[Non-text portions of this message have been removed]