ORACLE rowid in SQLCA.SQLERRM
With ORACLE, the rowid of the last affected row is available in
SQLCA.SQLERRM.
Before Genero 3.20, the character extended (base 64) representation of the rowid of the row
affected by an INSERT, UPDATE or DELETE could be
found in the SQLCA.SQLERRM register, when the following FGLPROFILE entry was
defined:
dbi.database.mydbname.ora.rowid.retrieve = true
This FGLPROFILE entry was required to fill the SQLCA.SQLERRM register with the
result of a SELECT ROWIDTOCHAR(?) FROM DUAL statement, that was executed after each
INSERT, UPDATE or DELETE SQL statement. For
performance reasons, the database.dbname.ora.rowid.retrieve
switch was by default set to false.
Starting with Genero 3.20, to fill the SQLCA.SQLERRM register, the Oracle ODI
driver uses now the OCIRowidToChar() API to convert the binary rowid value to the
character extended (base 64) representation. Since the additional SELECT statement
is not required anymore, the FGLPROFILE entry
database.dbname.ora.rowid.retrieve does no longer exist.
The SQLCA.SQLERRM is now implicitly filled with the rowid of the row affected
by an INSERT, UPDATE, DELETE statement, and after
a FETCH of a cursor declared with SELECT FOR UPDATE.