Subject Re: [firebird-support] EXECUTE BLOCK and isc_tpb_autocommit results in Exception
Author Thomas Steinmaurer
Hello Wolfgang,

> I use Delphi and IBObjects with FIrebird 2.1 (2.1.1.17910). To change the database I uses a script with an Execute Block:
>
> [sql]
> EXECUTE BLOCK AS BEGIN
> if (not exists(select 1 from rdb$relations where rdb$relation_name = 'T_AQ_ASSQUARTAL')) then
> execute statement
> 'CREATE TABLE T_AQ_ASSQUARTAL (
> T_AQ_PAT_ID DOM_ID,
> T_AQ_ASS_ID DOM_ID,
> T_AQ_CHIP_IK DOM_IK,
> T_AQ_QUARTAL DOM_ABR_CHECK,
> T_AQ_LEISTSUM DOM_INTEGER
> );';
> END^
> [/sql]
>
> This work very fine - but if the transaction uses "isc_tpb_autocommit" I recieve this exception:
>
> ISC ERROR CODE:335544333
>
> ISC ERROR MESSAGE:
> internal gds software consistency check (Too many savepoints (287), file: tra.cpp line: 2731)
>
> I try to backup and restore the database - no change. Anybody with ideas to solve this problem?

As discussed in the German newsgroup, it might be related to one of
Dmitry's fix in November 2010 in the Firebird 2.5 code branch.

Are you able to test your script under Firebird 2.5?


--
With regards,

Thomas Steinmaurer
Upscene Productions
http://www.upscene.com
http://blog.upscene.com/thomas/

Download LogManager Series, FB TraceManager today!
Continuous Database Monitoring Solutions supporting
Firebird, InterBase, Advantage Database, MS SQL Server
and NexusDB!