We have run into a very embarrassing problem. It seems that some network or server error lead the front-end application to get a generator value twice.
Is it possible that getting (and updating) the generator value stays in memory, and in case of loss of power, it remains in memory doesn't get to be written on disk, so when the power restores, it loses it's current value, so we can get the generator value again?
We are using Firebird 1.5.6, Delphi (BDE and native IBExpert components).
Thanks, SanTa
Update 1: It turned out that the server is some linux, if it helps ...
This can happen if you are connecting to the database without using aliaes and using paths that are different. Firebird then thinks that they are two separate databases. And one set of memory cache knows nothing about another.
This can cause severe database corruptions so it is important to ensure that all access to a database uses the same path. Or use aliases.