FB 1.56; IB 4.9.9 (though it has been around for a long time); Delphi 2007

I posted this in IBObjects, but it **seems** like a problem with FB 1.56 
embedded, so I post it here as well.

I thought I should be able to end-task right after getting a generator ID and 
the generator should have already been incremented. But not with the embedded 
version.  The generator will not be incremented in a catastrophic failure with 
FB 1.56 embedded.


FTR, I ran it through the transaction commit and the value was still not 
incremented if I end-task Delphi.

The generator is incremented as long as I don't end-task from within Delphi 
(mimicking a critical failure). Calling "Halt" did not cause the problem.

**I moved away from FB Embedded and went to the server version and the problem 
went away.**

I created a small D2007 demo.

www.tbinc.com/misc/GeneratorNotIncremented.zip

To reproduce the problem, run the demo app (it has it's own database) in 
embedded mode (the 1.5.6 DLL is included). Click on the "Increment Generator"  
button. Then click on "End Task" which calls the exception. Re-run the demo and 
(at least for me) the generator is not incremented.

I would appreciate any comments. I have thousands of users and occasionally one 
of them has a critical failure. This creates a support nightmare for me.

Ed Dressel

Reply via email to