Subject Re: [IBO] Too many SavePoints error
Author paultugwell
--- In IBObjects@yahoogroups.com, Helen Borrie <helebor@t...> wrote:
> At 01:29 PM 16/03/2004 +0000, you wrote:
> >I was doing an update on an IB6 database which involved changing
> >several table structures, then updating various existing fields in
> >the database and intitialising some new fields to zero. I ran this
> >update as a script using the IB_SQL utitlity. The script was of the
> >form
> >
> >ALTER TABLE STRUCTURES
> >
> >COMMIT;
> >
> >UPDATE TABLE A SET ORIGINALFIELD1 = 'X' WHERE ORIGINALFIELD1 = 'Y';
> >
> >COMMIT;
> >
> >UPDATE TABLE A SET NEWFIELD1 = 0, NEWFIELD2 = 0;
> >
> >COMMIT;
> >
> >where there were 3 copies of the update of original fields for
> >different values plus one copy of the new field update for each of
> >about 6 tables of 75,000 to 200,000 records.
> >
> >Eventually IB ground to a halt and I found the message 'Too many
> >savepoints (287)'
> >
> >I've since run the update on a copy of the data, with no problems.
> >Needless to say, the copy that crashed was at a customer's site.
The
> >database before updating verified OK and had no limbo transactions.
> >
> >There is very little information on this error, but what there is
> >seems to point to excessive commit retainings without a commit.
>
> You are right on the button. In IB, you need to ensure you do a
hard
> commit (not commit retaining) about once every 10,000 updates.
>
> Helen

Yes, but if I'm using the script function in IB_SQL and putting
COMMIT statements in the script, isn't this what I'm doing or am I
missing something?