Hi gurus,

What is the "right" result of the simple select stmt ?
I would say there are something like 2 types of the "right" answer:
1. Based on on the time when query started and ignoring all
committed/uncommited changes made by others during query run.
(like Oracle does (many years even without recently arrived
flashback
queries) or Sybase IQ ->AFAIK)
2. Based on the time when query finished and incorporating all committed

changes made by others during query run
(like Sybase's own dump does, when in the 3-rd phase it applied
trlog changes,
thouh dump is not the SQL select stmt)
It seems to me that 1-st look more attractive, cause you always know
"start time".

Now Sybase select stmt does not have nor 1. nor 2. honestly speaking
(without isolation level 3 of course, when it is artificially (based on
locks) the same) and usually
is the "mixture" of rows with different timestamps

Unfortunately achievement of the 1-st (or 2-nd) type of the "right"
answer based on
current Sybase's implementation of isolation level 3 (artificially
locking other
users) is not very realistic in multi-user env., (that is why many
people eventually
decided to use isolation level 0 for long-running queries)

But now without isolation level 3 (just level 1) you could end up with
result (mixture of
timestamps) which has never been presented in the table in any
particular moment
of the time in the table at all (though all committed). You even would
not know that !

I think that select stmt needs 2 modifications based on above different

types of the "right" answer. Immediately should post it as an
enhancement :-).
(Oh, just forgot that Oracle already has AS OF clause,
but we can put something like AS OF BEGIN and AS OF END)

Regards,
Eugene