| From: | Hiroshi Inoue <Inoue(at)tpf(dot)co(dot)jp> |
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
| Cc: | Vadim Mikheev <vmikheev(at)sectorbase(dot)com>, pgsql-hackers(at)postgreSQL(dot)org |
| Subject: | Re: Buffer access rules, and a probable bug |
| Date: | 2001-07-03 03:27:58 |
| Message-ID: | 3B413BBE.B8A75184@tpf.co.jp |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Tom Lane wrote:
>
> I have been making some notes about the rules for accessing shared disk
> buffers, since they aren't spelled out anywhere now AFAIK. In process
> I found what seems to be a nasty bug in the code that tries to build
> btree indexes that include already-dead tuples. (If memory serves,
> Hiroshi added that code awhile back to help suppress the "heap tuples
> != index tuples" complaint from VACUUM.)
>
[snip]
>
> I believe that nbtree.c's btbuild() code is currently in violation of
> these rules, because it calls HeapTupleSatisfiesNow() while holding a
> pin but no lock on the containing buffer.
OK, we had better avoid using heapam routines in btbuild() ?
regards,
Hiroshi Inoue
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Mariano Kamp | 2001-07-03 07:06:05 | JDBC Support - prepared Statements? |
| Previous Message | Alex Pilosov | 2001-07-03 02:32:01 | Re: selecting from cursor |