Subject | Re: [IBO] "object %o is in use"-Error because of CacheStatementHandles (firebird 2.0.1) |
---|---|
Author | Andreas Filsinger |
Post date | 2007-05-14T11:23:41Z |
Helen wrote ...
No, sorry, but its not me having the cursor still open - its IBO. To
populate the table i do (symbolic code):
q := TIB_Query.create(nil);
with q do
begin
sql.add('select RID from %o for update');
for n := 0 to pred(list.count) do
begin
insert;
Fields[0].AsInteger := list[n];
post;
end;
end;
q.free;
the produced log is:
http://orgamon.org/SQL.log.true.txt
this symbolic code above happens in the log from line 119 to 180. The
q.free should do a "close" or somesthing but it doesnt.
It has something do to with the "handle" that still is valid. With
CacheStatementHandles=false there are two additional "DEALLOCATE
STATEMENT"s - this make firebird 2.0.1 happy. Here is the successfull
Log:
http://orgamon.org/SQL.log.false.txt
(Lines 210+215)
--> IBO should handle the "IB_Query.free" in that way that there isn't
something left, responsible for the impossibility doing further
operations.
Thanks for your support!
Andreas
>Use".
> No, the last statement fails because you have a cursor open on the
> table you are trying to drop. - that's what is meant by "Object in
>Hi Helen,
> Helen
>
No, sorry, but its not me having the cursor still open - its IBO. To
populate the table i do (symbolic code):
q := TIB_Query.create(nil);
with q do
begin
sql.add('select RID from %o for update');
for n := 0 to pred(list.count) do
begin
insert;
Fields[0].AsInteger := list[n];
post;
end;
end;
q.free;
the produced log is:
http://orgamon.org/SQL.log.true.txt
this symbolic code above happens in the log from line 119 to 180. The
q.free should do a "close" or somesthing but it doesnt.
It has something do to with the "handle" that still is valid. With
CacheStatementHandles=false there are two additional "DEALLOCATE
STATEMENT"s - this make firebird 2.0.1 happy. Here is the successfull
Log:
http://orgamon.org/SQL.log.false.txt
(Lines 210+215)
--> IBO should handle the "IB_Query.free" in that way that there isn't
something left, responsible for the impossibility doing further
operations.
Thanks for your support!
Andreas