From 0a62886f84625ae1019f01ba109a186628fd2486 Mon Sep 17 00:00:00 2001 From: Ryo Kanbayashi Date: Thu, 12 Sep 2024 20:01:19 +0900 Subject: [PATCH] TestKeyDuplicateBTreePrallelTxnStrideVarchar(no strange giant lock, fixed length) really passed --- lib/storage/index/btree_index.go | 62 ++++++++++++++++---------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/lib/storage/index/btree_index.go b/lib/storage/index/btree_index.go index 7e0103f9..277f45a1 100644 --- a/lib/storage/index/btree_index.go +++ b/lib/storage/index/btree_index.go @@ -100,13 +100,13 @@ func (btidx *BTreeIndex) insertEntryInner(key *tuple.Tuple, rid page.RID, txn in convedKeyVal := samehada_util.EncodeValueAndRIDToDicOrderComparableVarchar(&orgKeyVal, &rid) if isNoLock == false { - if orgKeyVal.ValueType() == types.Varchar { - btidx.rwMtx.Lock() - defer btidx.rwMtx.Unlock() - } else { - btidx.rwMtx.RLock() - defer btidx.rwMtx.RUnlock() - } + //if orgKeyVal.ValueType() == types.Varchar { + // btidx.rwMtx.Lock() + // defer btidx.rwMtx.Unlock() + //} else { + btidx.rwMtx.RLock() + defer btidx.rwMtx.RUnlock() + //} } ridBytes := samehada_util.PackRIDto8bytes(&rid) @@ -129,13 +129,13 @@ func (btidx *BTreeIndex) deleteEntryInner(key *tuple.Tuple, rid page.RID, txn in convedKeyVal := samehada_util.EncodeValueAndRIDToDicOrderComparableVarchar(&orgKeyVal, &rid) if isNoLock == false { - if orgKeyVal.ValueType() == types.Varchar { - btidx.rwMtx.Lock() - defer btidx.rwMtx.Unlock() - } else { - btidx.rwMtx.RLock() - defer btidx.rwMtx.RUnlock() - } + //if orgKeyVal.ValueType() == types.Varchar { + // btidx.rwMtx.Lock() + // defer btidx.rwMtx.Unlock() + //} else { + btidx.rwMtx.RLock() + defer btidx.rwMtx.RUnlock() + //} } btidx.container.DeleteKey(convedKeyVal.SerializeOnlyVal(), 0) } @@ -150,11 +150,11 @@ func (btidx *BTreeIndex) ScanKey(key *tuple.Tuple, txn interface{}) []page.RID { smallestKeyVal := samehada_util.EncodeValueAndRIDToDicOrderComparableVarchar(&orgKeyVal, &page.RID{0, 0}) biggestKeyVal := samehada_util.EncodeValueAndRIDToDicOrderComparableVarchar(&orgKeyVal, &page.RID{math.MaxInt32, math.MaxUint32}) - if orgKeyVal.ValueType() == types.Varchar { - btidx.rwMtx.Lock() - } else { - btidx.rwMtx.RLock() - } + //if orgKeyVal.ValueType() == types.Varchar { + // btidx.rwMtx.Lock() + //} else { + btidx.rwMtx.RLock() + //} // Attention: returned itr's containing keys are string type Value which is constructed with byte arr of concatenated original key and value rangeItr := btidx.container.GetRangeItr(smallestKeyVal.SerializeOnlyVal(), biggestKeyVal.SerializeOnlyVal()) @@ -166,11 +166,11 @@ func (btidx *BTreeIndex) ScanKey(key *tuple.Tuple, txn interface{}) []page.RID { //uintRID := binary.BigEndian.Uint64(eightBytesRID[:]) retArr = append(retArr, samehada_util.Unpack8BytesToRID(eightBytesRID[:])) } - if orgKeyVal.ValueType() == types.Varchar { - btidx.rwMtx.Unlock() - } else { - btidx.rwMtx.RUnlock() - } + //if orgKeyVal.ValueType() == types.Varchar { + // btidx.rwMtx.Unlock() + //} else { + btidx.rwMtx.RUnlock() + //} return retArr } @@ -200,13 +200,13 @@ func (btidx *BTreeIndex) GetRangeScanIterator(start_key *tuple.Tuple, end_key *t biggestKeyVal = samehada_util.EncodeValueAndRIDToDicOrderComparableVarchar(&orgEndKeyVal, &page.RID{math.MaxInt32, math.MaxUint32}) } - if tupleSchema_.GetColumns()[btidx.col_idx].GetType() == types.Varchar { - btidx.rwMtx.Lock() - defer btidx.rwMtx.Unlock() - } else { - btidx.rwMtx.RLock() - defer btidx.rwMtx.RUnlock() - } + //if tupleSchema_.GetColumns()[btidx.col_idx].GetType() == types.Varchar { + // btidx.rwMtx.Lock() + // defer btidx.rwMtx.Unlock() + //} else { + btidx.rwMtx.RLock() + defer btidx.rwMtx.RUnlock() + //} var smalledKeyBytes []byte var biggestKeyBytes []byte