Subject | Re: [ib-support] Ignorance or ancient bug? |
---|---|
Author | Pavel Cisar |
Post date | 2002-01-18T10:57:57Z |
Hi,
On 17 Jan 2002, at 21:23, alex_vnru wrote:
> Thinking some time I understand what is it - some commited records
> are placed on the pages which are already passed by current count(*)
> execution, some not. But is it as designed? I can't remember on what
> was based my inshurance about another behavior, and when one of us
> asked this in bpi.bugdiscussions, Jeff Overcash, who is respected by
> me as specialist regardless of all confrontations, answered in
> the sense I had before this experiment.
> We tested it on RC2 and IB 5.1 - the same behavior. So what is it -
> widespread mistake or old unnoticed bug?
Try to approach this problem from technical POV. It's not doable to
include committed and thus visible records on pages that were
already visited. I doubt that _any_ sql server out there is doing that
in isolation level equal to read committed. After all it's the reason
why we have isolation levels.
Transactions have to be _always_ isolated (ACID) by definition, but
we're going with compromise to get better throughput (avoid strict
serialization). Any aggregation function returns "accurate" results
only in true isolation from other transactions, for FB in snapshot
isolation levels.
So, it's not IMHO bug or mistake in implementation, it's how world
works :-)
Best regards
Pavel Cisar
http://www.ibphoenix.com
For all your upto date Firebird and
InterBase information