KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > datasystem > persistentsystem > versioninfo > VersionHandler


1 package com.daffodilwoods.daffodildb.server.datasystem.persistentsystem.
2     versioninfo;
3
4 import com.daffodilwoods.database.resource.DException;
5 import com.daffodilwoods.daffodildb.server.datasystem.persistentsystem.Cluster;
6 import com.daffodilwoods.daffodildb.server.datasystem.persistentsystem.
7
    TableManager;
8 import com.daffodilwoods.daffodildb.server.datasystem.interfaces._DatabaseUser;
9 import com.daffodilwoods.daffodildb.utils.byteconverter.CCzufDpowfsufs;
10 import com.daffodilwoods.daffodildb.server.datasystem.persistentsystem.
11
    PersistentDatabase;
12 import com.daffodilwoods.daffodildb.server.datasystem.persistentsystem.
13
    DatabaseProperties;
14 import com.daffodilwoods.daffodildb.server.datasystem.persistentsystem.
15
    _RecordCluster;
16 import com.daffodilwoods.daffodildb.server.datasystem.persistentsystem.
17
    TableProperties;
18 import com.daffodilwoods.daffodildb.utils.comparator.SuperComparator;
19 import com.daffodilwoods.daffodildb.server.datasystem.interfaces._Index;
20 import com.daffodilwoods.daffodildb.server.datasystem.indexsystem.
21
    _BTreeCharacteristics;
22 import com.daffodilwoods.daffodildb.server.datasystem.btree._NodeManager;
23 import com.daffodilwoods.daffodildb.server.datasystem.indexsystem.
24
    IndexColumnInformation;
25 import com.daffodilwoods.daffodildb.server.datasystem.interfaces.
26
    _ClusterProvider;
27 import com.daffodilwoods.daffodildb.utils.byteconverter.CbCUsffWbmvfIboemfs;
28 import com.daffodilwoods.database.general.QualifiedIdentifier;
29 import com.daffodilwoods.daffodildb.server.datasystem.interfaces._TableIterator;
30 import com.daffodilwoods.daffodildb.server.datasystem.interfaces._TableCharacteristics;
31 import com.daffodilwoods.daffodildb.server.datasystem.indexsystem._IndexInformation;
32 import com.daffodilwoods.daffodildb.server.datasystem.persistentsystem.PowerFileFactory;
33 import com.daffodilwoods.daffodildb.server.datasystem.persistentsystem.DRandomAccessFileUpto3_2;
34 import com.daffodilwoods.daffodildb.server.datasystem.persistentsystem.DRandomAccessFile;
35 import java.io.RandomAccessFile JavaDoc;
36 import com.daffodilwoods.daffodildb.server.datasystem.persistentsystem.FileGenerator;
37 import com.daffodilwoods.daffodildb.server.datasystem.persistentsystem.EncryptDRandomAccessFile;
38 import com.daffodilwoods.daffodildb.server.datasystem.encryptdecrypt.EDBlockCipher;
39
40 public abstract class VersionHandler {
41   public short CLUSTER_STARTPOINTER = 30;
42   public int ADDRESSLENGTH = 8; //no. of bytes for Addres in long
43
public int NEWADDRESSLENGTH = 4;
44   public int LENGTH = 2; // no. of bytes for storing variable length
45
public byte DELETE = 1;
46   public byte ACTIVE = 0;
47   public byte UPDATE = 2;
48   public byte RETRIEVE = 5;
49   public byte COMPLETE = 3;
50   public byte PARTIALLY = 4;
51   public byte NULL = 1;
52   public byte NOTNULL = 0;
53   public byte FULL = -1;
54   public int BLOBBYTESFORUPDATE = 1000;
55   public byte[] POWERFILEACTIVE = new byte[]{0};
56   public byte[] POWERFILEDELETE = new byte[]{1};
57
58   public int UPDATEBYTES = 40;
59   public byte[] UPDATABLEMEMORY = CCzufDpowfsufs.getBytes(new Long JavaDoc(50));
60   public String JavaDoc INITIALFILESIZE = "5 MB";
61   public int INCREMENTFACTOR = 100;
62   public String JavaDoc UNICODESUPPORT = "";
63   public String JavaDoc MULTIFILESUPPORT = "";
64   public long DEFAULTTIMEINTERVALFORBACKUP = 172800000;
65   public long TIMEFORWAIT = 50000;
66   public long SYSTEMDATABASELENGTH = 3 * 1024 * 1024;
67   public int PREVIOUSCLUSTERADDRESS = 6;
68   public String JavaDoc SYSTEMDATABASE = "systemdatabase";
69   public String JavaDoc TEMPDATABASE = "temp";
70
71   public String JavaDoc INCONSISTENTONLINEBACKUP = "inconsistentOnlineBackup";
72   public int DATABASEINFOSTORED = 1200;
73   public String JavaDoc DEFAULTCLUSTERSIZE = "16384";
74   public int TABLEINFO_CATALOGNAME = 0;
75   public int TABLEINFO_SCHEMANAME = 1;
76   public int TABLEINFO_TABLENAME = 2;
77   public int TABLEINFO_STARTCLUSTERADDRESS = 3;
78   public int TABLEINFO_LASTCLUSTERADDRESS = 4;
79
80   public int COLUMNINFO_CATALOGNAME = 0;
81   public int COLUMNINFO_SCHEMANAME = 1;
82   public int COLUMNINFO_TABLENAME = 2;
83   public int COLUMNINFO_COLUMNNAME = 3;
84   public int COLUMNINFO_COLUMNTYPE = 4;
85   public int COLUMNINFO_COLUMNSIZE = 5;
86   public int COLUMNINFO_COLUMNINDEX = 6;
87   public int POWERFAILUREBITPOSITION = 1600;
88   public String JavaDoc DATABASEVERSION = "01.01.02.10";
89   public int DATABASECODE = 1000;
90   public int VERSIONCODE = 1100;
91
92   public String JavaDoc DEFAULT_ALGO = "aes";
93   public String JavaDoc NONE = "<none>";
94   public String JavaDoc DEFAULT_KEY = "daffodil";
95
96   public int TABLEKEY_LENGTH = 6;
97   public int CHILD_LENGTH = 4;
98
99   public int PARENTNODEADDRESS = 30;
100   public int LEVEL_NODE = 34;
101   public int IS_LEAFNODE = 36;
102   public short BTREECLUSTER_STARTPOINTER = 37;
103   public byte TRUE = 1;
104   public byte FALSE = 0;
105
106   public int BLOBROWHEADER = 8;
107   public int LOBACTIVEBYTE = 1;
108   public int LOBFULLBYTE = 1;
109   public int LOBRECORDLENGTH = 4;
110   public int LOBSPAREBYTE = 1;
111   public int ACTIVE_DELETE = 1;
112   public int FULL_PARTIAL = 1;
113
114   public long ACTIVE_BYTE_POSITION_IN_POWERFILE = 0;
115   public long LENGTH_POSITION_IN_POWERFILE = 1;
116
117   public int FIXEDRECORDCLUSTER = 0;
118   public int PARTIALFIXEDRECORDCLUSTER = 1;
119   public int VARIABLERECORDCLUSTER = 2;
120   public int PARTIALVARIABLERECORDCLUSTER = 3;
121
122   public VersionHandler() {
123   }
124
125   public abstract void writeInfoForSystemTables(Cluster startCluster,
126                                                 PersistentDatabase
127                                                 persistentDatabase) throws
128       DException;
129
130   public abstract void initializeSystemTables(TableManager tableManager,
131                                               _DatabaseUser user,
132                                               byte[] bytes, String JavaDoc databaseName) throws
133       DException;
134
135   public abstract DatabaseProperties getDatabaseProperties() throws DException;
136
137   public abstract _RecordCluster getRecordCluster(TableProperties
138                                                   tableProperties,
139                                                   DatabaseProperties
140                                                   databaseProperties) throws
141       DException;
142
143   public abstract void setClusterSize(int clusterSize0);
144   public abstract int getClusterSize();
145
146   public abstract boolean isFullTextSupported();
147
148   public abstract boolean isBackUpSupported();
149   public abstract _Index getIndex(SuperComparator comparator0,_BTreeCharacteristics btreeCharacteristics0,IndexColumnInformation iinf1,_ClusterProvider clusterProvider0, int address,CbCUsffWbmvfIboemfs handler0,boolean isDefault) throws DException;
150   public abstract _IndexInformation getIndexInformation(QualifiedIdentifier tableName,String JavaDoc indexName,QualifiedIdentifier indexTableName,_TableIterator iterator,_TableCharacteristics tc) throws DException;
151   public abstract double getDbVersion();
152   public abstract boolean isDefault(String JavaDoc[] indexColumnNames);
153   public abstract Object JavaDoc[][] getDefaultIndexStructure() ;
154
155   public PowerFileFactoryUpto3_2 getPowerFileFactory(String JavaDoc databaseURL){
156     if(getDbVersion() > 3.2 )
157       return new PowerFileFactory(databaseURL);
158     else
159        return new PowerFileFactoryUpto3_2(databaseURL);
160   }
161
162   public DRandomAccessFileUpto3_2 getDRandomAccessFile(RandomAccessFile raf0,long fileSize0,String JavaDoc databaseURL0,int incrementFactor0,boolean multiFileSupport1,FileGenerator fileGenerator0 ,int clusterSize0) throws DException{
163      if(getDbVersion() > 3.2 )
164        return new DRandomAccessFile(raf0, fileSize0, databaseURL0, incrementFactor0, multiFileSupport1, fileGenerator0 ,clusterSize0);
165      else
166         return new DRandomAccessFileUpto3_2(raf0, fileSize0, databaseURL0, incrementFactor0, multiFileSupport1, fileGenerator0 ,clusterSize0);
167   }
168
169   public String JavaDoc getTempFileName(String JavaDoc fileName){
170     if(getDbVersion() > 3.2 )
171       return "_tempFile.swp";
172     else
173       return fileName+"_tempFile.swp";
174   }
175
176   public DRandomAccessFileUpto3_2 getEncryptDRandomAccessFile(RandomAccessFile raf0,long fileSize0,String JavaDoc databaseURL0,int incrementFactor0,boolean multiFileSupport1,FileGenerator fileGenerator0,EDBlockCipher bolckCipher0,int clusterSize ) throws DException{
177    if(getDbVersion() > 3.2 )
178      return new EncryptDRandomAccessFile(raf0, fileSize0, databaseURL0, incrementFactor0, multiFileSupport1, fileGenerator0 ,bolckCipher0,clusterSize);
179    else
180       return new EncryptDRandomAccessFileUpto3_2(raf0, fileSize0, databaseURL0, incrementFactor0, multiFileSupport1, fileGenerator0 ,bolckCipher0,clusterSize);
181   }
182
183  public abstract String JavaDoc getVersionCode();
184  public abstract String JavaDoc getDefaultClusterSize();
185
186 }
187
Popular Tags