1 package com.daffodilwoods.daffodildb.server.sql99.utils.parser; 2 3 import com.daffodilwoods.daffodildb.server.sql99.common.*; 4 import com.daffodilwoods.daffodildb.server.sql99.expression.booleanvalueexpression.*; 5 import com.daffodilwoods.daffodildb.utils.parser.*; 6 import com.daffodilwoods.database.resource.*; 7 8 public class SessionConditionParser { 9 10 static ProductionRules ruleBVE; 11 12 public SessionConditionParser() { 13 } 14 15 16 17 public static booleanvalueexpression parseCondition(String inputCondition) throws DException { 18 if (ruleBVE == null) { 19 ruleBVE = Parser.findProductionRule("boolean value expression"); 20 } 21 booleanvalueexpression condition = (booleanvalueexpression) ruleBVE.parseUsingTokens(inputCondition); 22 ColumnDetails[] cd = condition.getColumnDetails(); 23 for (int i = 0; i < cd.length; i++) { 24 if (cd[i].getType() == TypeConstants.REFERENCE) { 25 cd[i].setDatatype(Datatypes.LONG); 26 cd[i].setSize(Datatypes.LONGSIZE); 27 cd[i].setSessionConditionFlag(); 28 } 29 } 30 return condition; 31 } 32 33 34 } 35 | Popular Tags |