Subject | Problem with Firebird 3 |
---|---|
Author | |
Post date | 2017-03-06T13:52:12Z |
Hello,
I use IBO v4.8.6 for quite a long time. Now I want to change from Firebird 2.5 to Firebird 3 and as I was testing if everything works, I discovered a problem with my IBO version.
When I have a query with a subquery to another table and use a filter, then I get an error because the RDB$DB_KEY is generated as '.RDB$DB_KEY" instead of "relationname.RDB$DB_KEY".
I think it would be best to give an example:
I have 2 tables:
create table table1
(table1_id integer not null primary key,
field1 varchar (10));
create table table2
(table2_id integer not null primary key,
table1_id integer,
field1 varchar (10));
Then I have a sql statement like that:
select field1, (select field1 from table 2 where table2,table1_id = table1.table1_id)
from table1
When I put that into the sql of a TIB_Query and set a filer for that TIB_Query and set filtered to true, then it generates a wrong serversql.
On FB2.5.x it generates:
select field1, (select field1 from table 2 where table2,table1_id = table1.table1_id)
, table1.RDB$DB_KEY
from table1
WHERE (table1.table1_id > 10)
On FB3.0 it generates:
select field1, (select field1 from table 2 where table2,table1_id = table1.table1_id)
, .RDB$DB_KEY
from table1
WHERE (table1.table1_id > 10)
Is this a known problem that is solved in the latest release of IBO?
I use IBO with Delphi 2007 for some older projects. So have to solve this for my older Delphi 2007 projects. Would be great if there is an easy solution.
Hope someone can help me soon.
Best regards
Helmut