| 1 package com.daffodilwoods.daffodildb.server.sql99.dql.execution; 2 3 import com.daffodilwoods.daffodildb.server.serversystem.*; 4 import com.daffodilwoods.daffodildb.server.sql99.common.*; 5 import com.daffodilwoods.daffodildb.server.sql99.dql.plan.condition.*; 6 import com.daffodilwoods.daffodildb.server.sql99.dql.plan.table.*; 7 import com.daffodilwoods.daffodildb.server.sql99.dql.tableexpression.fromclause.*; 8 import com.daffodilwoods.daffodildb.server.sql99.expression.booleanvalueexpression.predicates.*; 9 import com.daffodilwoods.daffodildb.server.sql99.expression.rowvalueexpression.*; 10 import com.daffodilwoods.daffodildb.server.sql99.utils.*; 11 import com.daffodilwoods.daffodildb.utils.*; 12 import com.daffodilwoods.daffodildb.utils.comparator.*; 13 import com.daffodilwoods.database.resource.*; 14 import com.daffodilwoods.database.sqlinitiator.*; 15 16 29 30 public class NaturalRightIndexed extends PredicateAbstract implements predicate, OperatorConstants, _ComparisonPredicate { 31 32 35 36 NaturalJoinPredicate bve; 37 38 41 42 int Operator; 43 44 47 48 SuperComparator comparator; 49 50 53 54 private ColumnDetails[] columns; 55 56 public NaturalRightIndexed() { 57 } 58 59 public NaturalRightIndexed(NaturalJoinPredicate bveArg, int OperatorArg) throws 60 DException { 61 bve = bveArg; 62 Operator = OperatorArg; 63 columns = bveArg.getColumnDetails(); 64 } 65 66 79 80 public Object run(Object object) throws DException { 81 _VariableValues variableValues = (_VariableValues) object; 82 Object rightValue = variableValues.getColumnValues(columns[0]); 83 Object leftValue = variableValues.getColumnValues(columns[1]); 84 int cmp = -1; 85 try { 86 cmp = comparator.compare(leftValue, rightValue); 87 } catch (NullPointerException ex) { 88 comparator = GetByteComparator.getComparator(columns[0].getDatatype(), false, columns[0].getTable().cc.getCollator()); 89 cmp = comparator.compare(leftValue, rightValue); 90 } 91 return booleanResult[Operator - 1][cmp + 2]; 92 } 93 94 98 99 public _QualifiedBVE getQualifiedBVE(TableDetails[] tableDetails) throws DException { 100 101 return bve.getQualifiedBVE(tableDetails); 102 103 } 104 105 public double getCost(long rowCount, boolean index) throws DException { 106 return bve.getCost(rowCount, index); 107 } 108 109 public _IndexPredicateInterface getCost(_Order order, String [] queryColumns, Object session, TableDetails tableDetails) throws DException { 110 111 throw new UnsupportedOperationException ("Method not supported"); 112 113 } 114 115 public void setColumnPredicates(_AllColumnPredicates allColumnPredicates) throws DException { 116 117 bve.setColumnPredicates(allColumnPredicates); 118 119 } 120 121 public int getPredicateType() throws DException { 122 return bve.getPredicateType(); 123 } 124 125 public ParameterInfo[] getParameterInfo() throws DException { 126 127 return bve.getParameterInfo(); 128 129 } 130 131 public String toString() { 132 return bve.toString(); 133 } 134 135 public Object getValue() throws DException { 136 throw new DException("DSE0", new Object [] {"getValue() method not supposed to be called"}); 137 } 138 139 public AbstractRowValueExpression[] getChilds() { 140 AbstractRowValueExpression[] childs = new AbstractRowValueExpression[] {bve}; 141 return childs; 142 } 143 144 public _Reference[] checkSemantic(_ServerSession parent) throws DException { 145 return bve.checkSemantic(parent); 146 } 147 148 public long getEstimatedRows(long noOfRows) throws DException { 149 return bve.getEstimatedRows(noOfRows); 150 } 151 152 public int canUseForSeek() throws DException { 153 return bve.canUseForSeek(); 154 } 155 156 public int getConditionType() throws com.daffodilwoods.database.resource.DException { 157 return bve.getConditionType(); 158 } 159 160 public _BVEPlan getExecutionPlan() throws com.daffodilwoods.database.resource.DException { 161 return bve.getExecutionPlan(); 162 } 163 164 public boolean isNullPredicate() throws DException { 165 return bve.isNullPredicate(); 166 } 167 168 public void setOperator(int Type) throws DException { 169 Operator = Type; 170 } 171 } 172 | Popular Tags |