KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > sessionsystem > sessioncondition > ReadUncommittedCondition


1 package com.daffodilwoods.daffodildb.server.sessionsystem.sessioncondition;
2
3 import com.daffodilwoods.database.resource.DException;
4 import com.daffodilwoods.database.general.SystemFields;
5 import com.daffodilwoods.daffodildb.utils.field.FieldBase;
6 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator._Iterator;
7 import com.daffodilwoods.daffodildb.server.sessionsystem.SystemFieldsCharacteristics;
8
9 /**
10  *
11  * <p>Description: Read Only Isolation level Read Uncommitted in which </p>
12  * Dirty Read is possible
13  * No Repeatable Read is possible and
14  * Phantom Read is also Possible.
15  * i.e condition for getting the committed as well as uncommitted reocrds from all the sessions </p>
16  * <p>Company: Daffodil Software Ltd.</p>
17  * @version 1.0
18  */

19 public class ReadUncommittedCondition implements _SessionCondition {
20
21     Object JavaDoc[] condition;
22
23     public ReadUncommittedCondition() throws DException{
24         condition = new Object JavaDoc[2];
25         FieldBase bytesForMaxIntegerValue = (FieldBase)SystemFields.maxIntegerValue;
26         condition[0] = bytesForMaxIntegerValue;
27         condition[1] = bytesForMaxIntegerValue;
28     }
29
30 /**
31  * Evaluates the condition above.
32  * @param values
33  * @return
34  * @throws DException
35  */

36     public boolean evaluate(_Iterator nonIndexedIterator) throws DException {
37          Object JavaDoc[] valuesToCompare = (Object JavaDoc[])nonIndexedIterator.getColumnValues( SystemFieldsCharacteristics.ISIT );//new int[]{SystemFields.invalidSessionId ,SystemFields.invalidTransactionId } ) ;
38
return (StaticConditionHelper.compare(condition[0], valuesToCompare[0]) == 0)
39          && (StaticConditionHelper.compare(condition[1], valuesToCompare[1]) == 0);
40      }
41
42
43     /**
44      * refreshes the condition.
45      * @param values
46      * @throws DException
47      */

48     public void setParameterValues(Object JavaDoc[] values) throws DException{
49         throw new UnsupportedOperationException JavaDoc(" NOT POSSIBLE ");
50     }
51
52     public String JavaDoc toString(){
53         return "[ READ_UNCOMMITTED_CONDITION => invalidSessionId = maxIntegerValue and invalidTransactionId = maxIntegerValue ] ";
54     }
55
56
57 }
58
Popular Tags