From: | "Vadim Mikheev" <vmikheev(at)sectorbase(dot)com> |
---|---|
To: | <pgsql-hackers(at)postgreSQL(dot)org> |
Subject: | Re: SetQuerySnapshot() for utility statements |
Date: | 2000-10-19 05:13:18 |
Message-ID: | 00b001c0398b$4bc34660$b77a30d0@sectorbase.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
> I notice that ProcessUtility() calls SetQuerySnapshot() for FETCH
> and COPY TO statements, and nothing else.
>
> Seems to me this is very broken. Isn't a query snapshot needed for
> any utility command that might do database accesses?
Not needed. We don't support multi-versioning for schema operations.
More of that, sometimes it would be better to read *dirty* data from
system tables - so, no snapshot required.
What is really, hm, not good is that first SetQuerySnapshot defines
serializable snapshot for *all* transactions, even for ones with read
committed
isolevel: in the times of 6.5 I thought about ability to switch between
isolevels
inside single xaction - this is not required by standard and *bad* for
system:
just remember that vacuum doesn't clean up deleted tuples if there is some
transaction *potentially* interested in them. For read committed xactions
must be no serializable snapshot defined and MyProc->xmin must be
updated when *each* top-level query begins.
Vadim
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2000-10-19 05:40:54 | Re: Index Ops supporting money type |
Previous Message | Rich Ryan | 2000-10-19 04:54:17 | Index Ops supporting money type |