Subject Re: [Firebird-general] Generator Question
Author Ann Harrison
On Wed, Nov 30, 2011 at 1:04 PM, Kevin Stanton
<Kevin.Stanton@...> wrote:
>
> I have a customer that reports from time to time that my application is
> issuing the same Order Number.  The order number's source is a generator.
>
>
>
> My application (using a very old version of IBO):
>
> 1)      Creates a Transaction object in code.  (default AutoCommit is False)
>
> 2)      Creates a cursor object in code and assigns the above transaction.
>
> 3)      The cursor component calls a stored procedure which calls gen_id:
>
> EndOrderNo = gen_id(gen_orderno, :InOrderCount);


Is there ever a case where InOrderCount is 0? Or negative?

>
> 4)      The Transaction component's "Commit" method never gets called.  This
> is probably my error however I thought generator calls/increments are
> outside of the transaction.

You probably ought to call commit from time to time, or insure that
the transaction is read only, read committed. Otherwise, you'll block
garbage collection. But that will have no effect on generators.

And, this question probably should have gone to firebird-support
@yahoogroups.com

Cheers,

Ann