Subject Re: [firebird-support] Re: Error : "There is at least one record with same fields values "
Author ian
Ann W. Harrison wrote:
> Martijn Tonies wrote:
>> RDB$DB_KEY is fixed for the current transaction only.
> There is an option to hold it for the duration of a transaction.
> If it became a major issue, we could make RDB$DB_KEY stable with
> little performance impact, though it would leave eight bytes of
> lost space for every deleted record.

This thread began with someone unable to identify a specific record for
update, because they had not defined a primary key. Having RDB$DB_KEY
valid for just a transaction is adequate to cope with this problem,
although the programmer needs to know about it in order to use it.

There will always be issues like this, when databases are created by
users with no knowledge of relational design and it is down them to
learn from their mistakes and correct the errors.