1 package com.daffodilwoods.daffodildb.server.sessionsystem.sessioncondition; 2 3 import com.daffodilwoods.daffodildb.utils.field.FieldBase; 4 import com.daffodilwoods.database.general.SystemFields; 5 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator._Iterator; 6 import com.daffodilwoods.daffodildb.server.sessionsystem.sessioncondition.StaticConditionHelper; 7 import com.daffodilwoods.database.resource.DException; 8 import com.daffodilwoods.daffodildb.server.sessionsystem.sessioncondition.SessionConditionReferences; 9 import com.daffodilwoods.daffodildb.server.sessionsystem.sessioncondition._SessionCondition; 10 11 public class PersistentForInsertedCondition implements _SessionCondition { 12 13 Object [] condition; 14 private static int[] STIS = {SystemFields.sessionId ,SystemFields.transactionId,SystemFields.invalidSessionId }; 15 public PersistentForInsertedCondition(Object presentConditionValues) { 16 condition = new Object [3]; 17 condition[0] = presentConditionValues ; condition[1] = (FieldBase)SystemFields.maxIntegerValue; 19 condition[2] = (FieldBase)SystemFields.maxIntegerValue; 20 } 21 22 28 public boolean evaluate(_Iterator nonIndexedIterator ) throws DException { 29 Object [] valuesToCompare = (Object [])nonIndexedIterator.getColumnValues( STIS); return (StaticConditionHelper.compare(condition[0],valuesToCompare[0]) == 0) 31 && (StaticConditionHelper.compare(condition[1],valuesToCompare[1]) == 0) 32 && (StaticConditionHelper.compare(condition[2],valuesToCompare[2]) == 0); 33 34 } 35 36 41 42 public void setParameterValues(Object [] values) throws DException { 43 condition[0] = values[0]; 44 } 45 46 public String toString(){ 47 return "[ PERSISTENT_INSERTED_CONDITION => sessionId = "+condition[0]+" and transactionId = maxIntegerValue and invalidSessionId = maxIntegerValue ]"; 48 } 49 50 } 51 | Popular Tags |