On 25 Jan 2006,
kasis_100@yahoo.com wrote:
> Hi, all.
>
> I'm working with Sybase ASA ISQL 7.0.4.3423.
>
> Sometimes I launch time consuming process from ISQL. While it works, I
> want to check the table, which this process is filling, to see the
> progress. So, I launch another ISQL session, run count(*) against this
> table and get a result. But, if I try to run count(*) again, I always
> get the same result! Only thing that helps to get refreshed number is
> to disconnect and connect again.
>
> It's a small thing, but it is annoying. Why ISQL acts like this?
It isn't ISQL, its the way databases work. Until a commit is issued,
others shouldn't see the uncommitted work. Your second ISQL session is
just another client that isn't allowed to see the uncommitted work of
some other session, ie the isql session doing the work.
> How to get current amount of rows from table without
> disconnecting/connecting?
Well, you could use the "isolation level read uncommitted" but that
takes understanding transactional handling before you can understand
what you are using it for.
You could instrument the code to select what you are looking for at
particular points in time.
You could commit at particular points in time of the executing process.
--
Galen Boyer