KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > datasystem > indexsystem > DefaultBTreeControlCluster


1 package com.daffodilwoods.daffodildb.server.datasystem.indexsystem;
2
3 import com.daffodilwoods.daffodildb.server.datasystem.interfaces._DatabaseUser;
4 import com.daffodilwoods.daffodildb.server.datasystem.btree.BTreeNode;
5 import com.daffodilwoods.daffodildb.server.datasystem.persistentsystem.ClusterCharacteristics;
6 import com.daffodilwoods.daffodildb.utils.byteconverter.CCzufDpowfsufs;
7 import com.daffodilwoods.database.resource.DException;
8 import com.daffodilwoods.daffodildb.server.datasystem.interfaces._ClusterProvider;
9
10 public class DefaultBTreeControlCluster extends IndexBtreeControlCluster{
11
12   public DefaultBTreeControlCluster(int address0,_ClusterProvider clusterProvider0) {
13     super(address0,clusterProvider0);
14   }
15   /**
16     * Update the Informations stored in it
17     * 1. Address RootNode of Btree
18     * 2. Size Of Btree
19     */

20
21
22    public void updateBTreeInfo(_DatabaseUser user,BTreeNode node, int btreeSize)throws DException{
23      FixedBTreeCluster cluster = (FixedBTreeCluster)clusterProvider.getCluster(user,new ClusterCharacteristics(address,true));
24      int rootClusterAddress = ((ClusterCharacteristics)node.getNodeKey()).getStartAddress();
25      if(rootNodeAddress != rootClusterAddress){
26        rootNodeAddress = rootClusterAddress;
27        cluster.updateBytes(versionHandler.CLUSTER_STARTPOINTER,CCzufDpowfsufs.getBytes(rootClusterAddress));
28      }
29      cluster.updateBytes(versionHandler.CLUSTER_STARTPOINTER + 2 * versionHandler.LENGTH,CCzufDpowfsufs.getBytes((long)btreeSize));
30    }
31
32 }
33
Popular Tags