Impala
Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.
|
Public Member Functions | |
ExprSubstitutionMap () | |
ExprSubstitutionMap (List< Expr > lhs, List< Expr > rhs) | |
void | put (Expr lhsExpr, Expr rhsExpr) |
Expr | get (Expr lhsExpr) |
boolean | containsMappingFor (Expr lhsExpr) |
void | substituteLhs (ExprSubstitutionMap lhsSmap, Analyzer analyzer) |
List< Expr > | getLhs () |
List< Expr > | getRhs () |
int | size () |
String | debugString () |
void | clear () |
Static Public Member Functions | |
static ExprSubstitutionMap | compose (ExprSubstitutionMap f, ExprSubstitutionMap g, Analyzer analyzer) |
static ExprSubstitutionMap | combine (ExprSubstitutionMap f, ExprSubstitutionMap g) |
Private Member Functions | |
void | verify () |
Private Attributes | |
List< Expr > | lhs_ |
List< Expr > | rhs_ |
Static Private Attributes | |
static final Logger | LOG = LoggerFactory.getLogger(ExprSubstitutionMap.class) |
Map of expression substitutions: lhs[i] gets substituted with rhs[i]. To support expression substitution across query blocks, rhs exprs must already be analyzed when added to this map. Otherwise, analysis of a SlotRef may fail after substitution, e.g., because the table it refers to is in a different query block that is not visible. See Expr.substitute() and related functions for details on the actual substitution.
Definition at line 20 of file ExprSubstitutionMap.java.
|
inline |
Definition at line 26 of file ExprSubstitutionMap.java.
Referenced by com.cloudera.impala.analysis.ExprSubstitutionMap.combine(), and com.cloudera.impala.analysis.ExprSubstitutionMap.compose().
|
inline |
Definition at line 30 of file ExprSubstitutionMap.java.
References com.cloudera.impala.analysis.ExprSubstitutionMap.lhs_, and com.cloudera.impala.analysis.ExprSubstitutionMap.rhs_.
|
inline |
Definition at line 150 of file ExprSubstitutionMap.java.
|
inlinestatic |
Returns the union of two substitution maps. Always returns a non-null map.
Definition at line 101 of file ExprSubstitutionMap.java.
References com.cloudera.impala.analysis.ExprSubstitutionMap.ExprSubstitutionMap().
|
inlinestatic |
Return a map which is equivalent to applying f followed by g, i.e., g(f()). Always returns a non-null map.
Definition at line 67 of file ExprSubstitutionMap.java.
References com.cloudera.impala.analysis.ExprSubstitutionMap.ExprSubstitutionMap(), and com.cloudera.impala.analysis.ExprSubstitutionMap.lhs_.
|
inline |
Returns true if the smap contains a mapping for lhsExpr.
Definition at line 58 of file ExprSubstitutionMap.java.
Referenced by com.cloudera.impala.analysis.UnionStmt.createMetadata().
|
inline |
Definition at line 124 of file ExprSubstitutionMap.java.
References com.cloudera.impala.analysis.ExprSubstitutionMap.rhs_.
Referenced by com.cloudera.impala.analysis.AnalyticInfo.debugString().
Returns the expr mapped to lhsExpr or null if no mapping to lhsExpr exists.
Definition at line 48 of file ExprSubstitutionMap.java.
References com.cloudera.impala.analysis.ExprSubstitutionMap.lhs_.
|
inline |
Definition at line 119 of file ExprSubstitutionMap.java.
References com.cloudera.impala.analysis.ExprSubstitutionMap.lhs_.
|
inline |
Definition at line 120 of file ExprSubstitutionMap.java.
References com.cloudera.impala.analysis.ExprSubstitutionMap.rhs_.
Add an expr mapping. The rhsExpr must be analyzed to support correct substitution across query blocks. It is not required that the lhsExpr is analyzed.
Definition at line 39 of file ExprSubstitutionMap.java.
|
inline |
Definition at line 122 of file ExprSubstitutionMap.java.
|
inline |
Definition at line 115 of file ExprSubstitutionMap.java.
References com.cloudera.impala.analysis.ExprSubstitutionMap.lhs_.
|
inlineprivate |
Verifies the internal state of this smap: Checks that the lhs_ has no duplicates, and that all rhs exprs are analyzed.
Definition at line 138 of file ExprSubstitutionMap.java.
References com.cloudera.impala.analysis.ExprSubstitutionMap.lhs_.
|
private |
Definition at line 23 of file ExprSubstitutionMap.java.
Referenced by com.cloudera.impala.analysis.ExprSubstitutionMap.compose(), com.cloudera.impala.analysis.ExprSubstitutionMap.ExprSubstitutionMap(), com.cloudera.impala.analysis.ExprSubstitutionMap.get(), com.cloudera.impala.analysis.ExprSubstitutionMap.getLhs(), com.cloudera.impala.analysis.ExprSubstitutionMap.substituteLhs(), and com.cloudera.impala.analysis.ExprSubstitutionMap.verify().
|
staticprivate |
Definition at line 21 of file ExprSubstitutionMap.java.
|
private |