@Override public void storeSortedTuple( Tuple<Integer, Integer> t, DataOutputStream out ) throws IOException { out.writeInt( t.getKey() ); out.writeInt( t.getValue() ); }
@Override public void storeSortedTuple( Tuple<Dn, E> t, DataOutputStream out ) throws IOException { out.writeUTF( t.getKey().getName() ); out.writeUTF( ( String ) t.getValue() ); }
@Override public int compare( Tuple<Dn, String> t1, Tuple<Dn, String> t2 ) { Dn dn1 = t1.getKey(); Dn dn2 = t2.getKey(); if ( dn1.isAncestorOf( dn2 ) ) { return -1; } else if ( dn2.isAncestorOf( dn1 ) ) { return 1; } else if ( dn1.equals( dn2 ) ) { return 0; } return comparator.compare( dn1, dn2 ); } }
private void injectTuple( BTree<K, V> btree, InMemoryLeaf<K, V> leaf, int leafPos, Tuple<K, V> tuple ) { BTreeFactory.setKey( btree, leaf, leafPos, tuple.getKey() ); ValueHolder<V> valueHolder = new InMemoryValueHolder<V>( btree, tuple.getValue() ); BTreeFactory.setValue( btree, leaf, leafPos, valueHolder ); }
byte[] keyBuffer = keySerializer.serialize( tuple.getKey() );
/** * gets a list of all the copied pages of a given B-Tree. * * @param name the name of the B-Tree * @return list of RevisionOffset * @throws Exception */ private List<RevisionOffset> getRevisions( String name ) throws Exception { TupleCursor<RevisionName, long[]> cursor = rm.copiedPageBtree.browse(); List<RevisionOffset> lst = new ArrayList<RevisionOffset>(); while ( cursor.hasNext() ) { Tuple<RevisionName, long[]> t = cursor.next(); RevisionName rn = t.getKey(); if ( name.equals( rn.getName() ) ) { //System.out.println( t.getValue() ); lst.add( new RevisionOffset( rn.getRevision(), t.getValue() ) ); } } cursor.close(); return lst; } }
.findLeftMost().getKey() );
if ( null != tuple && keyComparator.compare( tuple.getKey(), key ) == 0 )
BTreeFactory.setKey( btree, leaf1, leafIndex, tuple.getKey() );
/** * Inject a tuple into a leaf */ private static <K, V> void injectInLeaf( BTree<K, V> btree, Tuple<K, Set<V>> tuple, LevelInfo<K, V> leafLevel ) { PersistedLeaf<K, V> leaf = ( PersistedLeaf<K, V> ) leafLevel.getCurrentPage(); KeyHolder<K> keyHolder = new PersistedKeyHolder<K>( btree.getKeySerializer(), tuple.getKey() ); leaf.setKey( leafLevel.getCurrentPos(), keyHolder ); if ( btree.getType() != BTreeTypeEnum.PERSISTED_SUB ) { ValueHolder<V> valueHolder = new PersistedValueHolder<V>( btree, ( V[] ) tuple.getValue().toArray() ); leaf.setValue( leafLevel.getCurrentPos(), valueHolder ); } leafLevel.incCurrentPos(); }
KeyHolder<K> keyHolder = new PersistedKeyHolder<K>( btree.getKeySerializer(), tuple.getKey() ); keys[pos] = keyHolder;
newNode.setKey( index, new KeyHolder<K>( mergedResult.getModifiedPage().findLeftMost().getKey() ) );
BTreeFactory.setKey( btree, leaf, 0, tuple.getKey() ); ValueHolder<V> valueHolder = new InMemoryValueHolder<V>( btree, tuple.getValue() ); BTreeFactory.setValue( btree, leaf, 0, valueHolder ); BTreeFactory.setKey( btree, node, 0, tuple.getKey() ); PageHolder<K, V> pageHolder = new PageHolder<K, V>( btree, pageStack[level - 1] ); node.setPageHolder( 0, pageHolder ); BTreeFactory.setKey( btree, page, page.getNbElems(), tuple.getKey() ); ValueHolder<V> valueHolder = new InMemoryValueHolder<V>( btree, tuple.getValue() ); BTreeFactory.setValue( btree, page, page.getNbElems(), valueHolder ); BTreeFactory.setKey( btree, page, page.getNbElems(), tuple.getKey() ); PageHolder<K, V> pageHolder = new PageHolder<K, V>( btree, pageStack[level - 1] ); ( ( InMemoryNode<K, V> ) page ).setPageHolder( page.getNbElems(), pageHolder );
newPage.setKey( pos, new KeyHolder<K>( modifiedPage.findLeftMost().getKey() ) ); newPage.setKey( pos + 1, new KeyHolder<K>( modifiedSibling.findLeftMost().getKey() ) ); newPage.setKey( pos, new KeyHolder<K>( modifiedPage.findLeftMost().getKey() ) ); newPage.setKey( pos, new KeyHolder<K>( modifiedSibling.findLeftMost().getKey() ) ); newPage.setKey( pos - 1, new KeyHolder<K>( modifiedPage.findLeftMost().getKey() ) );
returnedTuple.setKey( tuple.getKey() ); returnedTuple.setValue( tuple.getValue() ); valueAvailable = true;
returnedTuple.setKey( tuple.getKey() ); returnedTuple.setValue( tuple.getValue() ); valueAvailable = true;