1 package com.daffodilwoods.daffodildb.server.sql99.fulltext.dql.condition; 2 3 import com.daffodilwoods.database.resource.DException; 4 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator._Iterator; 5 import com.daffodilwoods.database.sqlinitiator._Order; 6 import com.daffodilwoods.daffodildb.server.datasystem.interfaces._IndexTable; 7 import com.daffodilwoods.daffodildb.server.datasystem.indexsystem._IndexInformation; 8 import com.daffodilwoods.daffodildb.server.sql99.utils.parser.ConditionParser; 9 import com.daffodilwoods.daffodildb.server.sql99.expression.booleanvalueexpression.booleanvalueexpression; 10 import com.daffodilwoods.daffodildb.server.sql99.utils.VariableValues; 11 import com.daffodilwoods.daffodildb.server.sql99.utils.ConditionVariableValue; 12 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator.condition.IndexedFilterIterator; 13 import com.daffodilwoods.daffodildb.server.sql99.utils._VariableValues; 14 import com.daffodilwoods.daffodildb.server.sql99.fulltext.dql.iterator.ContainsIterator; 15 import com.daffodilwoods.daffodildb.server.sql99.common.GeneralPurposeStaticClass; 16 17 29 30 public class ContainsPredicate implements _FullTextPredicate { 31 34 _FullTextPredicate fullTextPredicate; 35 38 String columnName ; 39 private _Order order; 40 41 booleanvalueexpression condition; 42 43 public ContainsPredicate(_FullTextPredicate fullTextPredicate) throws DException { 44 this.fullTextPredicate = fullTextPredicate; 45 condition = ConditionParser.parseCondition("rowid = ?"); 46 } 47 53 public int getType() throws DException { 54 return PredicateConstant.containsPredicate; 55 } 56 62 public String getColumn() throws DException { 63 return columnName = fullTextPredicate.getColumn(); 64 } 65 66 72 public void setColumn(String column) throws DException { 73 fullTextPredicate.setColumn(column); 74 } 75 public double getCost() throws DException { 76 return 0.0; 77 } 78 public double getCost(Object session) throws DException { 79 return 0.0; 80 } 81 88 public _Iterator execute(Object session) throws DException { 89 _Iterator fullTextIterator = fullTextPredicate.execute(session); 90 _Iterator tableIterator = GeneralPurposeStaticClass.getIndexedFilteredIterator(((_IndexTable)session).getDefaultIterator(),condition); 91 return new ContainsIterator(fullTextIterator,tableIterator); 92 93 } 94 95 public double getEstimatedRow() throws DException { 96 return 1; 97 } 98 public void setOrder(_Order order) throws DException { 99 this.order = order; 100 } 101 public _Order getOrder() throws DException { 102 return order; 103 } 104 105 112 public _Iterator executeForSortedResult(Object indexTable) throws DException{ 113 return execute(indexTable); 114 } 115 116 117 } 118 | Popular Tags |