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 15 public class InvalidCommittedCondition implements _SessionCondition { 16 17 Object [] condition; 18 private static int[] IST = {SystemFields.invalidSessionId ,SystemFields.transactionId } ; 19 public InvalidCommittedCondition(Object presentConditionValues) { 20 condition = new Object [2]; 21 condition[0] = presentConditionValues ; 22 condition[1] = SystemFields.maxIntegerValue; 23 } 24 25 31 public boolean evaluate(_Iterator nonIndexedIterator ) throws DException { 32 Object [] valuesToCompare = (Object [])nonIndexedIterator.getColumnValues(IST); return (StaticConditionHelper.compare(condition[0],valuesToCompare[0]) == 0) 34 && (StaticConditionHelper.compare(condition[1],valuesToCompare[1]) != 0); 35 } 36 37 38 43 public void setParameterValues(Object [] values) throws DException { 44 condition[0] = values[0] ; 45 } 46 47 public String toString(){ 48 try { 49 return "[ INVALID_COMMITTED_CONDITION => invalidSessionId = "+((FieldBase)condition[0]).getObject()+" and transactionId <> maxIntegerValue ]"; 50 } 51 catch (DException ex) { 52 return null; 53 } 54 } 55 56 } 57 | Popular Tags |