Subject Re: [IBO] EOF reported after next - missing one record.
Author danialwidner
--- In IBObjects@y..., "Jason Wharton" <jwharton@i...> wrote:
> Yes, that is what it attempts to do. But, there must be something
in your
> setup that is confusing it.
>
> Did my recommendations resolve your issue?

My boss wants to know exactly what that will do. Will it requery
with each commit? Will it fetchall and keep it cached until the
object is closed?

You have indicated I should make a code change to implement it at an
internal level at run time. Does it not do it if set at the outer
object level? IE I could group select a few hundred queries and set
the property for all of them instead of spending all week making
changes that might not even work.

As it involves several thousand queries in around 90 units, it
wasn't even tried. Many of these units have well over 200 queries on
them.


>
> Thanks,
> Jason Wharton
> CPS - Mesa AZ
> http://www.ibobjects.com
>
>
> ----- Original Message -----
> From: "danialwidner" <dwidner@a...>
> To: <IBObjects@y...>
> Sent: Tuesday, July 16, 2002 1:49 PM
> Subject: Re: [IBO] EOF reported after next - missing one record.
>
>
> > Jason,
> > Would it be possible to get a bookmark before the commit and
then
> > return to it after the commit.
> >
> >
> > --- In IBObjects@y..., "Jason Wharton" <jwharton@i...> wrote:
> > > Daniel,
> > >
> > > For PURE bde emulation you should switch the CommitAction of
your
> > query (at
> > > run-time using the InternalDataset property) to caFetchAll and
see
> > if that
> > > makes a difference. For many, this was a horrible problem the
BDE
> > imposed
> > > upon people because their query would run forever if it had a
lot
> > of records
> > > in it.
> > >
> > > > This is the scenario:
> > > >
> > > > IBOQuery.InternalDataset.CommitAction := caFetchAll;
> > > > IBOQuery.open; // record count = x (say 20 for instance)
> > > >
> > > > While not iboQuery.eof do
> > > > Begin
> > > > .....
> > > >
> > > >
> > >
> > > HTH,
> > > Jason Wharton
> > > CPS - Mesa AZ
> > > http://www.ibobjects.com
> > >
> > >
> > > ----- Original Message -----
> > > From: "danialwidner" <dwidner@a...>
> > > To: <IBObjects@y...>
> > > Sent: Wednesday, June 26, 2002 8:24 AM
> > > Subject: [IBO] EOF reported after next - missing one record.
> > >
> > >
> > > > I have isolated a problem discovered 2 weeks ago and reported
> > > > directly to Jason.
> > > >
> > > > This is the scenario:
> > > >
> > > >
> > > > IBOQuery.open; // record count = x (say 20 for instance)
> > > >
> > > > While not iboQuery.eof do
> > > > Begin
> > > > .....
> > > >
> > > >
> > > > DB.StartTransaction;
> > > >
> > > > UpdateQuery.execSQL; // update control record as
completed
> > > >
> > > > DB.Commit;
> > > > // record count is now x-1 because it requeried.
> > > > // record 1 is NOT the record we came into the loop with
> > > > // It is now the original record # 2
> > > > iboQuery.Next; // we just skipped the ORIGIONAL record # 2
> > > >
> > > > End;
> > > > // record #2 never gets processed.
> > > >
> > > > I know that putting the IBOQuery used for control on it's own
> > > > transaction will fix the problem. However, this is BDE
converted
> > > > code. It could take months to just add that item to all the
files
> > > > and queries that need it. Standard BDE operation needs to be
> > > > restored / implemented (IE don't refire IBOqueries on commit
if
> > the
> > > > values in the query itself have not been altered. Whatever).
> > > >
> > > > Perhaps have independent internal transactions for each
query.
> > Then
> > > > from the DB StartTransaction action track a "Dirty" flag for
> > those
> > > > tranactions that are exececuted in some / any way before the
> > > > commit / rollback action. Then only commit / rollback the
dirty
> > > > transactions leaving the clean external loop transactions
alone.
> > > >
> > > >
> > > > Dan
> >
> >
> >
> >
>
_____________________________________________________________________
______
> > IB Objects - direct, complete, custom connectivity to Firebird or
> InterBase
> > without the need for BDE, ODBC or any other layer.
> >
>
_____________________________________________________________________
______
> > http://www.ibobjects.com - your IBO community resource for Tech
Info
> papers,
> > keyword-searchable FAQ, community code contributions and more !
> >
> > Your use of Yahoo! Groups is subject to
http://docs.yahoo.com/info/terms/
> >
> >
> >