EOF does not work if TOraQuery contains clob fields
Posted: Fri 27 Jan 2006 15:45
Client version: Oracle 9.2.0.7
Server version: Oracle 9.2.0.7
Delphi version: 7
ODAC version: 5.70.0.28
Example:
dataset: TOraQuery;
SQL := 'select * from lotrec';
i < RecordCount after the loop finishes.
AFAICS this happens if the iterated table contains CLOB fields (but I didn't try with BLOB, XMLTYPE). Having only basic types integer, number, varchar2,... the example above works.
If executing the example above with the table below, RecordCount=30000 (which is correct) but i=4728 (it differs from run to run).
PL/SQL Script:
Server version: Oracle 9.2.0.7
Delphi version: 7
ODAC version: 5.70.0.28
Example:
dataset: TOraQuery;
SQL := 'select * from lotrec';
Code: Select all
dataset.First;
i := 0;
while not dataset.Eof do
begin
Inc(i);
dataset.Next;
end;AFAICS this happens if the iterated table contains CLOB fields (but I didn't try with BLOB, XMLTYPE). Having only basic types integer, number, varchar2,... the example above works.
If executing the example above with the table below, RecordCount=30000 (which is correct) but i=4728 (it differs from run to run).
PL/SQL Script:
Code: Select all
create table lotrec (a integer not null primary key, b clob);
declare
i integer;
begin
for i in 1 .. 30000 loop
insert into lotrec values (i, 'a');
end loop;
end;