Have to release meta page before reading root one!
authorVadim B. Mikheev
Mon, 7 Jun 1999 14:28:22 +0000 (14:28 +0000)
committerVadim B. Mikheev
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);
    }
 
    /*