Update of /cvsroot/cweb/bigdata/src/java/com/bigdata/isolation
In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv24236/src/java/com/bigdata/isolation
Modified Files:
IsolatedBTree.java UnisolatedBTree.java
Log Message:
Modified the IndexSegmentBuilder to use the new TemporaryStore and removed the fullyBuffer boolean option since data will be automatically buffered out to 100M and the spill over onto disk.
Index: UnisolatedBTree.java
===================================================================
RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/isolation/UnisolatedBTree.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** UnisolatedBTree.java 15 Feb 2007 14:23:50 -0000 1.3
--- UnisolatedBTree.java 15 Feb 2007 22:01:18 -0000 1.4
***************
*** 81,88 ****
* @version $Id$
*
- * @todo efficient sharing of nodes and leaves for concurrent read-only views
- * (stealing children vs wrapping them with a flyweight wrapper; reuse of
- * the same btree instance for reading from the same historical state).
- *
* @see IsolatedBTree, a {@link BTree} that has been isolated by a transaction.
*
--- 81,84 ----
Index: IsolatedBTree.java
===================================================================
RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/isolation/IsolatedBTree.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** IsolatedBTree.java 15 Feb 2007 01:34:22 -0000 1.2
--- IsolatedBTree.java 15 Feb 2007 22:01:18 -0000 1.3
***************
*** 144,153 ****
* enough since just writing the tree onto the store does not make it
* restart safe. The {@link Tx} class needs to handle this.
- *
- * @todo It would be very nice if we could reuse immutable nodes from the
- * last committed state of a given btree. However, we can not simply
- * use the BTree instance from the global state since intervening
- * writes will show up inside of its node set and the view MUST be of
- * a historical ground state.
*/
public IsolatedBTree(IRawStore store, UnisolatedBTree src) {
--- 144,147 ----
***************
*** 313,324 ****
// 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);
}
! @Override
public IEntryIterator entryIterator() {
! // TODO Auto-generated method stub
! return super.entryIterator();
}
--- 307,323 ----
// 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);
}
! /**
! * Returns an ordered fused view of the entries in the key range in this
! * write set merged with those in the key range in the isolated index.
! */
public IEntryIterator entryIterator() {
!
! return new FusedView(this,src).rangeIterator(null,null);
!
}
***************
*** 396,400 ****
* conflict resolution that spans more than a single key-value at a
* time. However, we also need to expose the Tx to the conflict resolver
! * for that to work.
*/
BTree tmp = null;
--- 395,399 ----
* conflict resolution that spans more than a single key-value at a
* time. However, we also need to expose the Tx to the conflict resolver
! * for that to work (which is why we have not exposed the tx yet).
*/
BTree tmp = null;
|