1 package com.daffodilwoods.daffodildb.server.sessionsystem; 2 3 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator._Iterator; 4 import com.daffodilwoods.daffodildb.server.datasystem.interfaces._Table; 5 import com.daffodilwoods.daffodildb.server.sql99.expression.booleanvalueexpression._SingleTableExecuter; 6 import com.daffodilwoods.daffodildb.server.serversystem._ServerSession; 7 import com.daffodilwoods.database.resource.DException; 8 import com.daffodilwoods.database.general.QualifiedIdentifier; 9 import com.daffodilwoods.daffodildb.server.datasystem.mergesystem.MergeTable; 10 import java.lang.ref.WeakReference ; 11 12 13 public abstract class DataRetrieverWithoutCondition { 14 15 public _Iterator getIterator(Session session ,_Table mergeTable, _SingleTableExecuter singleTableExecuter, _ServerSession serverSession, QualifiedIdentifier tableName, ForUpdateTableHandler forUpdateTableHandler) throws DException{ 16 SessionIndex sessionIndexForFile = new SessionIndex( ( (MergeTable)mergeTable).getFileTable(), serverSession); 17 _Iterator baseIteratorForFile = singleTableExecuter.execute(sessionIndexForFile); 18 if (singleTableExecuter.hasForUpdate()) { 19 Object sessionId = ( (Session) session).getSuperMostSessionId(); 20 forUpdateTableHandler.addForUpdateVariableValues(sessionId,new ConditionReferenceValues(singleTableExecuter.getCondition(), null, null), new WeakReference (serverSession)); 21 } 22 return new SessionIteratorWithoutCondition(baseIteratorForFile); 23 } 24 } 25 | Popular Tags |