Subject Re: Server failed (power) and clients stayed up
Author mikcaau
HB,
Further investigation found that a number of generators had values
less than those already supplied.
ie select Max(Id) from MCareClaims returned a value = G_MCareClaims +
5

ie G_MCareClaims < Mac(Id)

I know who wrote the ap.
All posts are preceeded by a Gen_Id(GenName,1) to get a RowId for the
post.

I found the discrepancy in several tables 6 out of 15.
General solution was to inc(GenName, 1000) for all non system
generators.

Mick
ps Book is great. Care to write another :)


--- In firebird-support@yahoogroups.com, Helen Borrie <helebor@t...>
wrote:
> Even if forced writes were off, once a generator value has been
delivered,
> it can't be delivered again, regardless of what happens to writes
in the
> disk cache. I would rather look for (and kill) an application or a
trigger
> that is messing about with values that you expect to be delivered
by the
> generator - esp. those those that select max() and add 1; or read
> gen_id(aGen, 0) and add 1. Those are your integrity-killers.
>
> ./heLen