Subject No current record for fetch operation
Author RB Smissaert
Using FB 1.5 on a converted IB 5.6 dialect 1 database.
I connect with the ODBC driver from IBPhoenix and this is with ADO in VB6.

When I run this SQL:

SELECT
R.RDB$RELATION_ID,
RF.RDB$RELATION_NAME,
RF.RDB$FIELD_NAME,
T.RDB$TYPE_NAME,
RF.RDB$FIELD_POSITION,
F.RDB$FIELD_LENGTH,
RF.RDB$SYSTEM_FLAG
FROM
RDB$RELATION_FIELDS RF
LEFT JOIN RDB$FIELDS F ON (RF.RDB$FIELD_SOURCE = F.RDB$FIELD_NAME)
INNER JOIN RDB$TYPES T ON (F.RDB$FIELD_TYPE = T.RDB$TYPE)
INNER JOIN RDB$RELATIONS R ON (RF.RDB$RELATION_NAME = R.RDB$RELATION_NAME)
WHERE
T.RDB$FIELD_NAME = 'RDB$FIELD_TYPE'

I get the error message:

[ODBC Firebird driver][Firebird] No current record for fetch operation

And I understand that this is caused by the left join before the 2 inner
joins. Indeed if I change the left join to an inner join it runs fine.
There is no such problem with IB 5.6.

It is not a major problem as I can do multiple selects in the application
and join in SQLite, but I just wonder if this has been fixed in FB 2.0 or
2.1 or has this to do with the database dialect?


RBS