KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > sessionsystem > ForUpdateIterator


1 package com.daffodilwoods.daffodildb.server.sessionsystem;
2
3 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator._Iterator;
4 import com.daffodilwoods.daffodildb.server.sql99.common.ColumnDetails;
5 import com.daffodilwoods.database.resource.DException;
6 import com.daffodilwoods.daffodildb.server.sql99.dql.execution._OrderCount;
7 import com.daffodilwoods.daffodildb.server.sql99.common.TableDetails;
8 import com.daffodilwoods.database.sqlinitiator._Order;
9 import com.daffodilwoods.daffodildb.server.sql99.utils._Reference;
10 import com.daffodilwoods.daffodildb.utils.field.FieldBase;
11 import com.daffodilwoods.daffodildb.server.sql99.utils._IndexPredicate;
12 import com.daffodilwoods.daffodildb.server.sql99.common._KeyColumnInformation;
13 import com.daffodilwoods.daffodildb.server.datasystem.utility._Record;
14 import com.daffodilwoods.daffodildb.client._ExecutionPlan;
15 import com.daffodilwoods.daffodildb.server.sql99.common.ExecutionPlanForBrowser;
16 import com.daffodilwoods.daffodildb.server.sql99.expression.booleanvalueexpression.booleanvalueexpression;
17 import java.lang.ref.WeakReference JavaDoc;
18 import com.daffodilwoods.daffodildb.server.serversystem._ServerSession;
19 import com.daffodilwoods.database.general.QualifiedIdentifier;
20
21 public class ForUpdateIterator extends CommitedSessionIterator {
22
23   booleanvalueexpression bve;
24   ForUpdateTableHandler forUpdateTH;
25   Object JavaDoc sessionId;
26   _Reference[] references;
27   WeakReference JavaDoc serverSession;
28
29   public ForUpdateIterator( _Iterator iteratorMemory0, _Iterator iteratorUser0,SessionDatabase sessionDatabase0, boolean questionMarksNotFound0, booleanvalueexpression bve0,
30                            ForUpdateTableHandler forUpdateTH0, Object JavaDoc sessionId0, _Reference[] references0, WeakReference JavaDoc serverSession0,_ServerSession serverSession1,QualifiedIdentifier tableName0) throws DException{
31     super(iteratorMemory0,iteratorUser0,sessionDatabase0,questionMarksNotFound0,serverSession1,tableName0,true);
32     bve = bve0;
33     forUpdateTH = forUpdateTH0;
34     sessionId = sessionId0;
35     references = references0;
36     serverSession = serverSession0;
37   }
38
39
40   public void setConditionVariableValue(_Reference[] references, Object JavaDoc[] values, int priority) throws DException {
41     super.setConditionVariableValue(references, values, priority);
42     if(!questionMarkNotFound && checkReferences(references)) {
43       forUpdateTH.addForUpdateVariableValues(sessionId, new ConditionReferenceValues( bve, references, values ), serverSession);
44     }
45   }
46
47   public boolean checkReferences(_Reference[] refs0) {
48     boolean found = false;
49     for (int i = 0; i < refs0.length; i++) {
50       for (int j = 0; j < references.length; j++) {
51         if(refs0[i] == references[j]){
52           found = true;
53           break;
54         }
55       }
56       if(!found)
57         return false;
58     }
59     return true;
60   }
61 }
62
Popular Tags