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.sql99.utils._Reference; 7 import com.daffodilwoods.daffodildb.server.sql99.common.GeneralPurposeStaticClass; 8 import com.daffodilwoods.daffodildb.utils.comparator.SuperComparator; 9 import com.daffodilwoods.daffodildb.utils.comparator.CKpjoDpnqbsbups; 10 import com.daffodilwoods.daffodildb.utils.GetByteComparator; 11 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator.set.UnionDistinctIterator; 12 import com.daffodilwoods.daffodildb.server.sql99.common.Datatypes; 13 14 28 29 public class AnyKeyWordSortedPredicate implements _FullTextPredicate { 30 31 34 _FullTextPredicate leftPredicate ; 35 38 _FullTextPredicate rightPredicate ; 39 42 String columnName; 43 _Order order; 44 45 46 public AnyKeyWordSortedPredicate(_FullTextPredicate leftPredicate0,_FullTextPredicate rightPredicate0) { 47 leftPredicate = leftPredicate0; 48 rightPredicate = rightPredicate0; 49 50 } 51 52 58 public int getType() throws DException { 59 return PredicateConstant.anyKeyWordSortedPredicate; 60 } 61 67 public String getColumn() throws DException { 68 columnName = leftPredicate.getColumn(); 69 return columnName; 70 } 71 77 public void setColumn(String colName) throws DException { 78 leftPredicate.setColumn(colName); 79 rightPredicate.setColumn(colName); 80 } 81 public double getCost() throws DException { 82 return 0.0; 83 } 84 public double getCost(Object session) throws DException { 85 return 0.0; 86 } 87 94 public _Iterator execute(Object session) throws DException { 95 _Iterator leftIterator = leftPredicate.executeForSortedResult(session); 96 _Iterator rightIterator = rightPredicate.executeForSortedResult(session) ; 97 _Reference[] leftReferences = new _Reference[]{GeneralPurposeStaticClass.getColumnDetails("documentId")}; 98 _Reference[] rightReferences = new _Reference[]{GeneralPurposeStaticClass.getColumnDetails("documentId")}; 99 SuperComparator comparator = new CKpjoDpnqbsbups(new SuperComparator[]{GetByteComparator.getComparator(Datatypes.LONG,true,null)}); 100 _Reference[] orderLeftColumnDetails = new _Reference[]{GeneralPurposeStaticClass.getColumnDetails("documentId")}; 101 _Reference[] orderRightColumnDetails = new _Reference[]{GeneralPurposeStaticClass.getColumnDetails("documentId")}; 102 int[] appropriateDataType = new int[]{Datatypes.LONGSIZE}; 103 104 return new UnionDistinctIterator(leftIterator,rightIterator,leftReferences,rightReferences,comparator,appropriateDataType,appropriateDataType,orderLeftColumnDetails,orderRightColumnDetails,comparator,comparator); 105 } 106 public double getEstimatedRow() throws DException { 107 return 1; 108 } 109 public void setOrder(_Order order0) throws DException { 110 this.order = order0; 111 } 112 public _Order getOrder() throws DException { 113 return order; 114 } 115 122 public _Iterator executeForSortedResult(Object indexTable) throws DException{ 123 return execute(indexTable); 124 } 125 126 127 } 128 | Popular Tags |