1 package com.daffodilwoods.daffodildb.server.sql99.expression.datetimevalueexpression; 2 3 import com.daffodilwoods.database.resource.*; 4 import com.daffodilwoods.daffodildb.server.sql99.token.*; 5 import com.daffodilwoods.daffodildb.server.sql99.utils._Reference; 6 import com.daffodilwoods.daffodildb.server.serversystem._ServerSession; 7 import com.daffodilwoods.daffodildb.server.sql99.common.ColumnDetails; 8 import com.daffodilwoods.daffodildb.server.sql99.common.ParameterInfo; 9 import com.daffodilwoods.daffodildb.server.sql99.common.TableDetails; 10 import java.util.ArrayList ; 11 import com.daffodilwoods.daffodildb.server.sql99.utils._VariableValues; 12 import com.daffodilwoods.daffodildb.server.sql99.utils.ByteComparison; 13 import com.daffodilwoods.daffodildb.server.sql99.utils._VariableValueOperations; 14 import com.daffodilwoods.daffodildb.server.sql99.expression.numericvalueexpression.numericvalueexpression; 15 import com.daffodilwoods.daffodildb.server.sql99.expression.numericvalueexpression.AbstractTerm; 16 import com.daffodilwoods.daffodildb.server.sql99.expression.rowvalueexpression. 17 AbstractRowValueExpression; 18 import com.daffodilwoods.daffodildb.utils.field.FieldBase; 19 import com.daffodilwoods.daffodildb.server.sql99.common.GeneralPurposeStaticClass; 20 import com.daffodilwoods.daffodildb.server.sql99.common.Datatypes; 21 22 public class numericvalueexpressionSplussign_1537298301datetimeterm extends AbstractTerm 23 implements com.daffodilwoods.daffodildb.utils.parser.StatementExecuter ,datetimevalueexpression { 24 25 public datetimeterm _datetimeterm0 ; 26 public Splussign_1537298301 _Splussign_15372983011 ; 27 public numericvalueexpression _numericvalueexpression2 ; 28 public String toString() { 29 StringBuffer sb = new StringBuffer (); 30 sb.append(" "); 31 sb.append(_numericvalueexpression2); 32 sb.append(" "); 33 sb.append(_Splussign_15372983011); 34 sb.append(" "); 35 sb.append(_datetimeterm0); 36 return sb.toString(); 37 } 38 39 45 46 51 public Object clone() throws CloneNotSupportedException { 52 numericvalueexpressionSplussign_1537298301datetimeterm temp = new numericvalueexpressionSplussign_1537298301datetimeterm(); 53 temp._numericvalueexpression2 = (numericvalueexpression)temp._numericvalueexpression2.clone(); 54 temp._datetimeterm0 = (datetimeterm)temp._datetimeterm0.clone(); 55 temp._Splussign_15372983011 = (Splussign_1537298301)temp._Splussign_15372983011.clone(); 56 return temp; 57 } 58 59 65 public _Reference[] checkSemantic(_ServerSession ss) throws DException { 66 67 _Reference[] refs = super.checkSemantic(ss); 68 if(refs==null || refs.length==0){ 69 ByteComparison bc1 = _numericvalueexpression2.getByteComparison(ss); 70 ByteComparison bc2 = _datetimeterm0.getByteComparison(ss); 71 checkSemantic(ss, bc1, bc2); 72 } 73 checkForQuestion(_numericvalueexpression2.getColumnDetails(),_datetimeterm0.getColumnDetails()); 74 return refs; 75 76 77 } 78 79 84 85 90 public ColumnDetails[] getColumnDetails() throws DException { 91 ColumnDetails cd[] = super.getColumnDetails(); 92 if (cd.length == 1) 93 return cd; 94 95 ColumnDetails columnDetail = new ColumnDetails(); 96 String str = toString(); 97 columnDetail.setColumn(new String [] {str}); 98 columnDetail.setType(FUNCTIONAL); 99 columnDetail.setObject(this); 100 columnDetail.setExpression(str); 101 return new ColumnDetails[] { 102 columnDetail}; 103 104 } 105 106 107 112 public ParameterInfo[] getParameterInfo() throws DException { 113 ParameterInfo[] parameterInfo = super.getParameterInfo(); 114 for (int i = 0; i < parameterInfo.length; i++) { 115 if (parameterInfo[i].getQuestionMark()) { 116 parameterInfo[i].setDataType(Datatypes.BIGDECIMAL); 117 } 118 } 119 return parameterInfo; 120 121 122 } 123 124 130 131 136 137 142 143 149 150 156 157 163 164 169 public ColumnDetails[] getChildColumnDetails() { 170 return columnDetails; 171 } 172 173 178 179 182 183 188 189 194 public AbstractRowValueExpression[] getChilds() { 195 return new AbstractRowValueExpression[]{(AbstractRowValueExpression)_numericvalueexpression2,(AbstractRowValueExpression)_datetimeterm0 }; 196 } 197 198 207 public FieldBase getObject(int type1, int type2, Object result1, 208 Object result2) throws DException { 209 return GeneralPurposeStaticClass.datePlusTerm(type2,type1,result2,result1); 210 } 211 } 212 | Popular Tags |