Subject Re: [firebird-support] Performance Question
Author Tim Ledgerwood
>
>It is strange:
>
>What will happen is a 'ghost' record will appear. If I do a:
>
>Select * from taxpassoff where Propid = 1220000000
>
>I will get four records (All showing that they have AssessmentYear = 2004)
>
>If I change the select to:
>
>Select * from taxpassoff where Propid = 1220000000 and AssessmentYear = 2004
>
>I only get 3 records. AssessmentYear and PropID are both INTEGERS.
>
>If I change the select to:
>
>Select * from taxpassoff where Propid = 1220000000 and
>cast(AssessmentYear as INTEGER) = 2004
>
>I will see all four records.
>
>This table may have 120,000 records in it and every once in a while
>there will be 1 to 4 records that have done this.

I would suspect that you are getting bad data into the table. That is where
I would look first. I have never heard of "ghost" data in Firebird/Interbase -
you see what is there. You cannot see what is not yet committed. There is no
such thing as "dirty read" in Interbase/Firebird.

If you were getting bad data into this table, that would also explain the key
violation you are getting.

Regards

Tim


[Non-text portions of this message have been removed]