Subject Re: [firebird-support] Maximum Inserts in a single transaction.
Author Thomas Steinmaurer
Hello Dalton,

> I guess this is a support question vs a development question, as it
> concerns an earlier version of Firebird.
>
> Does anyone one know if there is a maximum number of inserts that can be
> performed in a single transaction?
>
> I am using Firebird 1.54 and I am processing a small sub-set of records
> (about two months worth), selecting them in natural order, performing a
> task upon the data and then inserting the final results into a separate
> table.
>
> I am getting "insufficient memory for sort operation" when I am running
> the process. I have 50 GB of free space on my temp area, 16 GB of Ram
> and only one process running on the machine.
>
> I am getting the error about the 32 million row mark and it strikes me
> that is the area of a signed 32bit number.
>
> Is this a known limit to the number of DML within a single transaction?
> If I break it up to span two transactions, my problem goes away.
> If this is a known limit, has it been removed in more recent versions of
> Firebird?

Possibly. From the Firebird 2.0 Release Notes p.10:

40-bit (64-bit internally) record enumerators have been introduced to
overcome the ~30GB table size limit imposed by 32-bit record enumeration.

Although, I can't say for sure that your particular problem has been
fixed. ;-)

HTH.

--
Best Regards,
Thomas Steinmaurer
LogManager Series - Logging/Auditing Suites supporting
InterBase, Firebird, Advantage Database, MS SQL Server and
NexusDB V2
Upscene Productions
http://www.upscene.com
My blog:
http://blog.upscene.com/thomas/