From: Bryan T. <tho...@us...> - 2007-03-11 11:43:19
|
Update of /cvsroot/cweb/bigdata/src/java/com/bigdata/isolation In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv5433/src/java/com/bigdata/isolation Modified Files: IsolatableFusedView.java IsolatedBTree.java IIsolatableIndex.java Removed Files: IsolatablePartitionedIndex.java Log Message: Continued minor refactoring in line with model updates. Index: IsolatableFusedView.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/isolation/IsolatableFusedView.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** IsolatableFusedView.java 8 Mar 2007 18:14:06 -0000 1.3 --- IsolatableFusedView.java 11 Mar 2007 11:42:44 -0000 1.4 *************** *** 49,56 **** import com.bigdata.objndx.AbstractBTree; ! import com.bigdata.objndx.FusedView; /** ! * A {@link FusedView} that understands how to process delete markers. * * @author <a href="mailto:tho...@us...">Bryan Thompson</a> --- 49,56 ---- import com.bigdata.objndx.AbstractBTree; ! import com.bigdata.objndx.ReadOnlyFusedView; /** ! * An {@link IFusedView} that understands how to process delete markers. * * @author <a href="mailto:tho...@us...">Bryan Thompson</a> *************** *** 59,63 **** * @todo refactor to isolate and override the merge rule. */ ! public class IsolatableFusedView extends FusedView implements IIsolatableIndex { /** --- 59,63 ---- * @todo refactor to isolate and override the merge rule. */ ! public class IsolatableFusedView extends ReadOnlyFusedView implements IIsolatableIndex { /** Index: IIsolatableIndex.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/isolation/IIsolatableIndex.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** IIsolatableIndex.java 8 Mar 2007 18:14:06 -0000 1.2 --- IIsolatableIndex.java 11 Mar 2007 11:42:44 -0000 1.3 *************** *** 58,61 **** --- 58,62 ---- import com.bigdata.objndx.IndexSegmentMerger; import com.bigdata.objndx.Leaf; + import com.bigdata.scaleup.IsolatablePartitionedIndexView; /** *************** *** 138,142 **** * btree on the journal. the UnisolatedBTree is different in that it reads * against a view and writes on the UnisolatedBTree. In fact, this is ! * precisely how the PartitionedIndex works already. All that we have to * do is to construct the view from the historical committed state from * which the transaction emerges. In order to do this, we need to be able --- 139,143 ---- * btree on the journal. the UnisolatedBTree is different in that it reads * against a view and writes on the UnisolatedBTree. In fact, this is ! * precisely how the PartitionedIndexView works already. All that we have to * do is to construct the view from the historical committed state from * which the transaction emerges. In order to do this, we need to be able *************** *** 193,198 **** * well). The place to do this is probably where the btrees are created * using an IsolatedBtree class (extends BTree or perhaps just implements ! * {@link IIndex} so that we can use it in combination with the FusedView ! * to support partitioned indices). FusedView will also need to be * modified to support delete markers and could thrown an exception if the * version counters were out of the expected order (so could the leaf --- 194,199 ---- * well). The place to do this is probably where the btrees are created * using an IsolatedBtree class (extends BTree or perhaps just implements ! * {@link IIndex} so that we can use it in combination with the ReadOnlyFusedView ! * to support partitioned indices). ReadOnlyFusedView will also need to be * modified to support delete markers and could thrown an exception if the * version counters were out of the expected order (so could the leaf *************** *** 208,212 **** * @see UnisolatedBTree * @see IsolatableFusedView ! * @see IsolatablePartitionedIndex * @see IndexSegmentMerger * @see Journal --- 209,213 ---- * @see UnisolatedBTree * @see IsolatableFusedView ! * @see IsolatablePartitionedIndexView * @see IndexSegmentMerger * @see Journal --- IsolatablePartitionedIndex.java DELETED --- Index: IsolatedBTree.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/isolation/IsolatedBTree.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** IsolatedBTree.java 8 Mar 2007 18:14:06 -0000 1.7 --- IsolatedBTree.java 11 Mar 2007 11:42:44 -0000 1.8 *************** *** 53,57 **** import com.bigdata.objndx.BTreeMetadata; import com.bigdata.objndx.ByteArrayValueSerializer; - import com.bigdata.objndx.FusedView; import com.bigdata.objndx.IBatchBTree; import com.bigdata.objndx.IEntryIterator; --- 53,56 ---- *************** *** 167,171 **** * a persistence capable parameter in order to reconstruct the view. * Consider whether or not this can be refactored per ! * {@link BTreeMetadata#load(IRawStore, long)}. */ public IsolatedBTree(IRawStore store, BTreeMetadata metadata, UnisolatedBTree src) { --- 166,170 ---- * a persistence capable parameter in order to reconstruct the view. * Consider whether or not this can be refactored per ! * {@link BTree#load(IRawStore, long)}. */ public IsolatedBTree(IRawStore store, BTreeMetadata metadata, UnisolatedBTree src) { *************** *** 335,343 **** public IEntryIterator rangeIterator(byte[] fromKey, byte[] toKey) { ! // FIXME we need a version of FusedView that is aware of delete markers ! // and that applies them such that a key deleted in the write set will ! // not have a value reported from the isolated index. ! return new FusedView(this,src).rangeIterator(fromKey, toKey); } --- 334,344 ---- public IEntryIterator rangeIterator(byte[] fromKey, byte[] toKey) { ! /* ! * This uses a version of ReadOnlyFusedView that is aware of delete markers and ! * that applies them such that a key deleted in the write set will not ! * have a value reported from the isolated index. ! */ ! return new IsolatableFusedView(this,src).rangeIterator(fromKey, toKey); } *************** *** 349,353 **** public IEntryIterator entryIterator() { ! return new FusedView(this,src).rangeIterator(null,null); } --- 350,354 ---- public IEntryIterator entryIterator() { ! return rangeIterator(null,null); } |