1 package com.daffodilwoods.daffodildb.server.sql99.dcl.sqlcontrolstatement; 2 3 import java.util.*; 4 5 import com.daffodilwoods.daffodildb.server.serversystem.*; 6 import com.daffodilwoods.daffodildb.server.sql99.common.*; 7 import com.daffodilwoods.daffodildb.server.sql99.token.*; 8 import com.daffodilwoods.daffodildb.server.sql99.utils.*; 9 import com.daffodilwoods.database.resource.*; 10 11 public class ifstatementelseifclause { 12 public SQLstatementlist _SQLstatementlist0; 13 public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439221; 14 public searchcondition _searchcondition2; 15 public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439223; 16 17 private _Reference[] searchConditionRefs; 18 private _ServerSession serverSession; 19 20 public Object run(Object object) throws DException { 21 _searchcondition2.getColumnDetails(); 22 _SQLstatementlist0.run(object); 23 return null; 24 } 25 26 public SQLstatementlist getSQLstatementlistIfConditionSatisfied( 27 _VariableValues vv) throws DException { 28 return (SearchConditionUtility.executeExpression(_searchcondition2, 29 searchConditionRefs, vv, serverSession).hashCode() == 0) ? 30 _SQLstatementlist0 : null; 31 } 32 33 public void setOuterControlStatement(SQLcontrolstatement st) { 34 _SQLstatementlist0.setOuterControlStatement(st); 35 } 36 37 public Object [] getParameters(Object object) throws DException { 38 ArrayList list = new ArrayList(); 39 Object [] par1 = _SQLstatementlist0.getParameters(object); 40 if (par1 != null) { 41 list.addAll(Arrays.asList(par1)); 42 } 43 Object [] par2 = _searchcondition2.getParameters(object); 44 if (par2 != null) { 45 list.addAll(Arrays.asList(par2)); 46 } 47 return list.toArray(); 48 } 49 50 public _Reference[] checkSemantic(_ServerSession object) throws DException { 51 serverSession = object; 52 if (_searchcondition2.hasContainClause()) 53 throw new DException("DSE8138", null); 54 ArrayList list = new ArrayList(); 55 _Reference[] par1 = _SQLstatementlist0.checkSemantic(object); 56 if (par1 != null) { 57 list.addAll(Arrays.asList(par1)); 58 } 59 searchConditionRefs = _searchcondition2.getReferences(SQLcontrolstatement. 60 dummyTableDetail); 61 if (searchConditionRefs != null) { 62 if (searchConditionRefs[0].getReferenceType() != SimpleConstants.SUBQUERY) 63 list.addAll(Arrays.asList(searchConditionRefs)); 64 } 65 67 try { 68 _searchcondition2.getColumnDetails(); 69 _searchcondition2.checkSemantic(serverSession); 70 } catch (DException ex) { 71 if (!ex.getDseCode().equalsIgnoreCase("DSE4115")) { 72 throw ex; 73 } 74 } 75 return (_Reference[]) list.toArray(new _Reference[0]); 76 } 77 78 public String toString() { 79 StringBuffer sb = new StringBuffer (); 80 sb.append(" "); 81 sb.append(_SRESERVEDWORD12065439223); 82 sb.append(" "); 83 sb.append(_searchcondition2); 84 sb.append(" "); 85 sb.append(_SRESERVEDWORD12065439221); 86 sb.append(" "); 87 sb.append(_SQLstatementlist0); 88 return sb.toString().trim(); 89 } 90 91 public Object clone() throws CloneNotSupportedException { 92 return this; 93 } 94 95 public ColumnDetails[] getColumnDetails() throws DException { 96 return GeneralPurposeStaticClass.getJointColumnDetails(_searchcondition2.getColumnDetails(), _SQLstatementlist0.getColumnDetails()); 97 } 98 99 public void getTableIncluded(ArrayList aList) throws DException { 100 _searchcondition2.getTablesIncluded(aList); 101 } 102 103 public void getColumnsIncluded(ArrayList aList) throws DException { 104 _searchcondition2.getColumnsIncluded(aList); 105 } 106 } 107 | Popular Tags |