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[] data = new byte[keyLengths[i]]; byteBuffer.get( data ); BTreeFactory.setKey( btree, leaf, i, data );
BTreeFactory.setKey( btree, node, i - 1, page.getLeftMostKey() );
BTreeFactory.setKey( btree, node, i - 1, p.getLeftMostKey() );
/** * Creates all the nodes using the provided node pages, and update the upper laye */ private InMemoryNode<K, V> createParentNode( BTree<K, V> btree, List<InMemoryNode<K, V>> nodes, int maxElements ) { // We have enough tuples to fulfill the upper node. // First, create the new node InMemoryNode<K, V> parentNode = ( InMemoryNode<K, V> ) BTreeFactory.createNode( btree, 0, btreeConfiguration.getPageSize() ); int nodePos = 0; // Then iterate on the tuples, creating the needed pages for ( InMemoryNode<K, V> node : nodes ) { if ( nodePos != 0 ) { K key = node.getLeftMostKey(); BTreeFactory.setKey( btree, parentNode, nodePos - 1, key ); } PageHolder<K, V> pageHolder = new PageHolder<K, V>( btree, node ); parentNode.setPageHolder( nodePos, pageHolder ); nodePos++; } // And return the node return parentNode; }
BTreeFactory.setKey( btree, node, i, key );
BTreeFactory.setKey( btree, leaf1, leafIndex, tuple.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 );
BTreeFactory.setKey( btree, node, nodePos, tuple.getKey() ); PageHolder<K, V> pageHolder = new PageHolder<K, V>( btree, leaf ); node.setPageHolder( nodePos, pageHolder ); BTreeFactory.setKey( btree, node, nodePos, tuple.getKey() ); PageHolder<K, V> pageHolder = new PageHolder<K, V>( btree, leaf ); node.setPageHolder( nodePos, pageHolder );