15 package com.cloudera.impala.analysis;
17 import java.util.ArrayList;
18 import java.util.List;
22 import com.cloudera.impala.common.Pair;
23 import com.cloudera.impala.common.Reference;
25 import com.google.common.base.Preconditions;
26 import com.google.common.base.Predicates;
27 import com.google.common.collect.Lists;
34 this.isEqJoinConjunct_ =
false;
51 super.analyze(analyzer);
65 Reference<SlotRef> slotRefRef, Reference<Integer> idxRef) {
69 for (; i < children_.size(); ++i) {
70 slotRef = getChild(i).unwrapSlotRef(
false);
71 if (slotRef != null)
break;
73 if (slotRef == null)
return false;
76 for (
int j = 0; j < children_.size(); ++j) {
78 if (!getChild(j).isConstant())
return false;
81 if (slotRefRef != null) slotRefRef.setRef(slotRef);
82 if (idxRef != null) idxRef.setRef(Integer.valueOf(i));
90 public Pair<SlotId, SlotId>
getEqSlots() {
return null; }
void setIsEqJoinConjunct(boolean v)
void analyze(Analyzer analyzer)
boolean isEqJoinConjunct()
static final ScalarType BOOLEAN
Pair< SlotId, SlotId > getEqSlots()
boolean isEqJoinConjunct_
Predicate(Predicate other)
boolean isSingleColumnPredicate(Reference< SlotRef > slotRefRef, Reference< Integer > idxRef)