Hello everybody,
I wonder about the meaning of two concepts defined in SQL92 (definitions
after "Oracle 8 Concepts"):
a) FUZZY READ: A transaction rereads data it has previously read and
finds that another committed transaction has modified or deleted the
data.
b) PHANTOM READ: A transaction re-executes a query returning a set of
rows that satisfies a search condition and finds that another committed
transaction has inserted additional rows that satisfy the condition.
I understand that the only difference between these two is that fuzzy is
related to the modification/deletion, while phantom to the insertion
only. But the reason for we distinguish these two is not obvious for me.
Why don't we treat insertion as a kind of modification and therefore
unify these two terms into one? Or - why don't we separate FUZZY READS
into a) related to modification; b) related to deletion only. Are there
some cases when it is important to prevent from phantom while allow
fuzzy (or vice-versa)? I can hardly imagine such a thing.