]> granicus.if.org Git - postgresql/commitdiff
Have to release meta page before reading root one!
authorVadim B. Mikheev <vadim4o@yahoo.com>
Mon, 7 Jun 1999 14:28:22 +0000 (14:28 +0000)
committerVadim B. Mikheev <vadim4o@yahoo.com>
Mon, 7 Jun 1999 14:28:22 +0000 (14:28 +0000)
< 6.5 versions were just not affected by this bug due to locking.

src/backend/access/nbtree/nbtpage.c

index ea01a8e1d88cf81cc46ab353b2070efeba663ff2..d5ac5c3ea26a09d8a33649a271dd4e6af4cdd793 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtpage.c,v 1.23 1999/05/25 22:04:12 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtpage.c,v 1.24 1999/06/07 14:28:22 vadim Exp $
  *
  *     NOTES
  *        Postgres btree pages look like ordinary relation pages.      The opaque
@@ -265,10 +265,10 @@ _bt_getroot(Relation rel, int access)
        }
        else
        {
-               rootbuf = _bt_getbuf(rel, metad->btm_root, access);
+               rootblkno = metad->btm_root;
+               _bt_relbuf(rel, metabuf, BT_READ);      /* done with the meta page */
 
-               /* done with the meta page */
-               _bt_relbuf(rel, metabuf, BT_READ);
+               rootbuf = _bt_getbuf(rel, rootblkno, access);
        }
 
        /*