1 package com.daffodilwoods.daffodildb.server.sessionsystem.sessioncondition; 2 3 import com.daffodilwoods.database.resource.*; 4 import com.daffodilwoods.daffodildb.utils.field.FieldBase; 5 import com.daffodilwoods.daffodildb.server.sessionsystem.sessioncondition.*; 6 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator._Iterator; 7 import com.daffodilwoods.database.general.*; 8 14 public class CriteriaForRollBackNCommit implements _SessionCondition { 15 16 Object [] condition; 17 18 private static int[] ISS = {SystemFields.invalidSessionId ,SystemFields.sessionId } ; 19 20 public CriteriaForRollBackNCommit(Object presentConditionValues) { 21 condition = new Object [2]; 22 Object sessionId = presentConditionValues ; 23 condition[0] = sessionId; 24 condition[1] = sessionId; 25 } 26 27 33 public boolean evaluate(_Iterator nonIndexedIterator ) throws DException { 34 Object [] valuesToCompare = (Object [])nonIndexedIterator.getColumnValues( ISS); return (StaticConditionHelper.compare(condition[0], valuesToCompare[0]) == 0 36 || StaticConditionHelper.compare(condition[1],valuesToCompare[1]) == 0); 37 } 38 39 40 45 public void setParameterValues(Object [] values) throws DException { 46 Object sessionId = values[0]; 47 condition[0] = sessionId; 48 condition[1] = sessionId; 49 } 50 51 public String toString() { 52 try { 53 return "[ ROLLBACK_N_COMMIT_CONDITION => invalidSessionId = "+((FieldBase)condition[0]).getObject()+" or sessionId = "+((FieldBase)condition[1]).getObject()+" ]"; 54 } 55 catch (DException ex) { 56 return null; 57 } 58 } 59 60 } 61 | Popular Tags |