From 519cd36d062b1bba368fea11f8763eb7f024ca90 Mon Sep 17 00:00:00 2001 From: "Vadim B. Mikheev" Date: Tue, 25 May 1999 18:31:28 +0000 Subject: [PATCH] Get rid of page-level locking in btree-s. BT_READ/BT_WRITE are BUFFER_LOCK_SHARE/BUFFER_LOCK_EXCLUSIVE now. Also get rid of #define BT_VERSION_1 - we use version 1 as default for near two years now. --- src/include/access/nbtree.h | 17 ++++------------- src/include/config.h.in | 9 --------- 2 files changed, 4 insertions(+), 22 deletions(-) diff --git a/src/include/access/nbtree.h b/src/include/access/nbtree.h index a25e0c2c43..80a3150487 100644 --- a/src/include/access/nbtree.h +++ b/src/include/access/nbtree.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: nbtree.h,v 1.25 1999/05/25 16:13:32 momjian Exp $ + * $Id: nbtree.h,v 1.26 1999/05/25 18:31:28 vadim Exp $ * *------------------------------------------------------------------------- */ @@ -19,7 +19,7 @@ #include #include #include -#include +#include /* don't remove, required by BT_READ/BT_WRITE */ #include /* @@ -107,26 +107,17 @@ typedef BTScanOpaqueData *BTScanOpaque; typedef struct BTItemData { -#ifndef BTREE_VERSION_1 - Oid bti_oid; - int32 bti_dummy; /* padding to make bti_itup align at - * 8-byte boundary */ -#endif IndexTupleData bti_itup; } BTItemData; typedef BTItemData *BTItem; -#ifdef BTREE_VERSION_1 #define BTItemSame(i1, i2) ( i1->bti_itup.t_tid.ip_blkid.bi_hi == \ i2->bti_itup.t_tid.ip_blkid.bi_hi && \ i1->bti_itup.t_tid.ip_blkid.bi_lo == \ i2->bti_itup.t_tid.ip_blkid.bi_lo && \ i1->bti_itup.t_tid.ip_posid == \ i2->bti_itup.t_tid.ip_posid ) -#else -#define BTItemSame(i1, i2) ( i1->bti_oid == i2->bti_oid ) -#endif /* * BTStackData -- As we descend a tree, we push the (key, pointer) @@ -165,8 +156,8 @@ typedef struct BTPageState * requests for pages, in order to do locking correctly. */ -#define BT_READ 0 -#define BT_WRITE 1 +#define BT_READ BUFFER_LOCK_SHARE +#define BT_WRITE BUFFER_LOCK_EXCLUSIVE /* * Similarly, the difference between insertion and non-insertion binary diff --git a/src/include/config.h.in b/src/include/config.h.in index ab45bd8489..f90501ed11 100644 --- a/src/include/config.h.in +++ b/src/include/config.h.in @@ -506,15 +506,6 @@ extern void srandom(unsigned int seed); */ #define FASTBUILD /* access/nbtree/nbtsort.c */ -/* - * BTREE_VERSION_1: we must guarantee that all tuples in A LEVEL - * are unique, not in ALL INDEX. So, we can use bti_itup->t_tid - * as unique identifier for a given index tuple (logical position - * within a level) and take off bti_oid & bti_dummy (8 bytes total) - * from btree items. - */ -#define BTREE_VERSION_1 - /* * TBL_FREE_CMD_MEMORY: free memory allocated for an user query inside * transaction block after this query is done. -- 2.11.0