Subject RE: [firebird-support] Firebird BUG
Author Paul Beach
Helen,

> I don't *know* what the limit is - that's why I put a guess(?) mark by the
> number.
>
> >But then again maybe I have missed something somewhere.
> >Althoug I would need to go and do some checking to make sure.
>
> Check the code that throws error 335544663, max_clones_exceeded - afair,
> this is related to there being too many recversions of the same record.

Look closely at the error, it is not related to a metadata update:

> Database: /manager/gdb/EcomaxUBR2000.GDB
> operation was cancelled
> internal gds software consistency check (error during savepoint
> backout (290))

The error yo9u refer to above is actually thrown from EXE_find_request
when it's trying togenerate yet another clone of an existing request to support a
recursive trigger, procedure, or recursive GDML request.

and a simple test:

Welcome to QLI
Query Language Interpreter
QLI> create database 'test.fdb';
QLI> create table foo (f1 integer);
QLI> select * from foo
QLI> store foo
Enter F1: 1
QLI> store foo
Enter F1: 2
QLI> repeat 500
CON> for foo
CON> modify using begin
CON> f1 = f1 + 1;
CON> end
QLI> select * from foo

F1
===========

501
502

QLI> commit
QLI> repeat 500
CON> for foo
CON> modify using begin
CON> f1 = f1 + 1;
CON> end
QLI> select * from foo

F1
===========

1001
1002

QLI> rollback
QLI> select * from foo

F1
===========

501
502

Regards
Paul