Impala
Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.
|
Classes | |
class | GlobalState |
class | ValueTransferGraph |
Static Public Member Functions | |
static Analyzer | createWithNewGlobalState (Analyzer parentAnalyzer) |
Static Public Attributes | |
static final String | DB_DOES_NOT_EXIST_ERROR_MSG = "Database does not exist: " |
static final String | DB_ALREADY_EXISTS_ERROR_MSG = "Database already exists: " |
static final String | TBL_DOES_NOT_EXIST_ERROR_MSG = "Table does not exist: " |
static final String | TBL_ALREADY_EXISTS_ERROR_MSG = "Table already exists: " |
static final String | FN_DOES_NOT_EXIST_ERROR_MSG = "Function does not exist: " |
static final String | FN_ALREADY_EXISTS_ERROR_MSG = "Function already exists: " |
static final String | DATA_SRC_DOES_NOT_EXIST_ERROR_MSG |
static final String | DATA_SRC_ALREADY_EXISTS_ERROR_MSG |
Package Functions | |
public< T extends Expr > void | createEquivConjuncts (List< TupleId > lhsTids, TupleId rhsTid, List< T > conjuncts) |
public< T extends Expr > void | createEquivConjuncts (TupleId tid, List< T > conjuncts, Set< SlotId > ignoreSlots) |
public< T extends Expr > void | createEquivConjuncts (TupleId tid, List< T > conjuncts) |
Private Member Functions | |
Analyzer (Analyzer parentAnalyzer, GlobalState globalState) | |
Path | resolvePath (List< String > rawPath, PathType pathType, boolean resolveInAncestors) throws AnalysisException, TableLoadingException |
Path | resolvePaths (List< String > rawPath, List< Path > paths, PathType pathType, LinkedList< String > errors) |
void | markConstantConjunct (Expr conjunct, boolean fromHavingClause) |
void | registerConjunct (Expr e) |
boolean | canEvalPredicate (PlanNode node, Expr e) |
Map< EquivalenceClassId, List < SlotId > > | getEquivClasses (List< TupleId > tids) |
List< List< SlotId > > | getEquivDestSlotIds (TupleId srcTid, List< SlotId > srcSids, TupleId destTid, Set< SlotId > ignoreSlots) |
boolean | hasOuterJoinedTuple (EquivalenceClassId eqClassId) |
boolean | isTrueWithNullSlots (Expr p) |
boolean | hasMutualValueTransfer (SlotId slotA, SlotId slotB) |
boolean | checkSystemDbAccess (String dbName, Privilege privilege) throws AuthorizationException |
Private Attributes | |
final User | user_ |
boolean | hasLimitOffsetClause_ = false |
int | callDepth_ = 0 |
boolean | isSubquery_ = false |
String | authErrorMsg_ |
boolean | enablePrivChecks_ = true |
TupleId | visibleSemiJoinedTupleId_ = null |
final GlobalState | globalState_ |
final ArrayList< Analyzer > | ancestors_ |
final Map< String, View > | localViews_ = Maps.newHashMap() |
final Map< String, TupleDescriptor > | aliasMap_ = Maps.newHashMap() |
final Map< TupleId, TableRef > | tableRefMap_ = Maps.newHashMap() |
final Set< String > | ambiguousAliases_ = Sets.newHashSet() |
final Map< String, SlotDescriptor > | slotRefMap_ = Maps.newHashMap() |
Set< TableName > | missingTbls_ = new HashSet<TableName>() |
boolean | hasEmptyResultSet_ = false |
boolean | hasEmptySpjResultSet_ = false |
Static Private Attributes | |
static final Logger | LOG = LoggerFactory.getLogger(Analyzer.class) |
Repository of analysis state for single select block.
Conjuncts: Conjuncts are registered during analysis (registerConjuncts()) and assigned during the planning process (getUnassigned[Oj]Conjuncts()/isConjunctAssigned()/ markConjunctsAssigned()). All conjuncts are assigned a unique id when initially registered, and all registered conjuncts are referenced by their id (ie, there are no containers other than the one holding the referenced conjuncts), to make substitute() simple.
Slot equivalence classes: Equivalence of individual slots is computed based on registered equality predicates; those predicates are either present directly in the query or are implied by the syntactic elements used in query (example: a GROUP BY clause has implied equality predicates between the grouping exprs and the grouping slots of the aggregation output tuple). Implied equality predicates are registered with createAuxEquivPredicate(); they are never assigned during plan generation. Also tracks each catalog object access, so authorization checks can be performed once analysis is complete. TODO: We often use the terms stmt/block/analyzer interchangeably, although they may have slightly different meanings (sometimes depending on the context). Use the terms more accurately and consistently here and elsewhere.
Definition at line 105 of file Analyzer.java.
|
inline |
Definition at line 331 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.ancestors_, com.cloudera.impala.util.TSessionStateUtil.getEffectiveUser(), com.cloudera.impala.analysis.Analyzer.globalState_, and com.cloudera.impala.analysis.Analyzer.user_.
Referenced by com.cloudera.impala.analysis.Analyzer.createWithNewGlobalState().
|
inline |
Analyzer constructor for nested select block. GlobalState is inherited from the parentAnalyzer.
Definition at line 342 of file Analyzer.java.
|
inlineprivate |
Analyzer constructor for nested select block with the specified global state.
Definition at line 349 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.ancestors_, com.cloudera.impala.analysis.Analyzer.authErrorMsg_, com.cloudera.impala.analysis.Analyzer.enablePrivChecks_, com.cloudera.impala.analysis.Analyzer.globalState_, com.cloudera.impala.analysis.Analyzer.missingTbls_, and com.cloudera.impala.analysis.Analyzer.user_.
|
inline |
Definition at line 2087 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.getTable().
|
inline |
Creates a new slot descriptor and related state in globalState.
Definition at line 813 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.registerSlotRef().
|
inline |
Add a warning that will be displayed to the user. Ignores null messages.
Definition at line 2307 of file Analyzer.java.
References count.
|
inline |
Authorizes all privilege requests, throwing an AuthorizationException if the user does not have sufficient privileges for any of the requests. Generally called after analysis has completed.
Definition at line 2700 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.checkSystemDbAccess(), com.cloudera.impala.authorization.PrivilegeRequest.getAuthorizeable(), com.cloudera.impala.authorization.PrivilegeRequest.getPrivilege(), com.cloudera.impala.analysis.Analyzer.getUser(), com.cloudera.impala.analysis.Analyzer.globalState_, com.cloudera.impala.analysis.Analyzer.GlobalState.maskedPrivilegeReqs, and com.cloudera.impala.analysis.Analyzer.GlobalState.privilegeReqs.
|
inline |
Checks if a conjunct from the On-clause of an anti join can be evaluated in a node that materializes a given list of tuple ids.
Definition at line 1245 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.getAntiJoinRef().
Referenced by com.cloudera.impala.analysis.Analyzer.canEvalPredicate(), and com.cloudera.impala.analysis.Analyzer.getEqJoinConjuncts().
|
inline |
Checks if a conjunct can be evaluated at a node materializing a list of tuple ids 'tids'.
Definition at line 1153 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.getFullOuterJoinRef().
Referenced by com.cloudera.impala.analysis.Analyzer.canEvalPredicate(), and com.cloudera.impala.analysis.Analyzer.getEqJoinConjuncts().
|
inline |
Returns true if predicate 'e' can be correctly evaluated by a tree materializing 'tupleIds', otherwise false:
Definition at line 1169 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.canEvalAntiJoinedConjunct(), com.cloudera.impala.analysis.Analyzer.canEvalFullOuterJoinedConjunct(), com.cloudera.impala.analysis.Expr.debugString(), com.cloudera.impala.analysis.TableRef.getAllTupleIds(), com.cloudera.impala.analysis.Expr.getId(), com.cloudera.impala.analysis.TableRef.getJoinOp(), com.cloudera.impala.analysis.Analyzer.getLastOjClause(), com.cloudera.impala.analysis.Analyzer.globalState_, com.cloudera.impala.analysis.Analyzer.isAntiJoinedConjunct(), com.cloudera.impala.analysis.Expr.isBoundByTupleIds(), com.cloudera.impala.analysis.Analyzer.isTrueWithNullSlots(), com.cloudera.impala.analysis.Expr.isWhereClauseConjunct(), com.cloudera.impala.analysis.Analyzer.GlobalState.ojClauseByConjunct, and com.cloudera.impala.analysis.Analyzer.GlobalState.outerJoinedTupleIds.
Referenced by com.cloudera.impala.analysis.Analyzer.canEvalPredicate(), com.cloudera.impala.analysis.Analyzer.getUnassignedConjuncts(), and com.cloudera.impala.planner.SingleNodePlanner.migrateConjunctsToInlineView().
|
inlineprivate |
Definition at line 1237 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.canEvalPredicate(), and com.cloudera.impala.planner.PlanNode.getTblRefIds().
|
inline |
Determines compatible type for given exprs, and casts them to compatible type. Calls analyze() on each of the exprs. Throw an AnalysisException if the types are incompatible, returns compatible type otherwise.
Definition at line 2014 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.getCompatibleType().
|
inline |
Casts the exprs in the given lists position-by-position such that for every i, the i-th expr among all expr lists is compatible. Throw an AnalysisException if the types are incompatible.
Definition at line 2038 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.getCompatibleType().
|
inlineprivate |
Throws an authorization exception if the dbName is a system db and they are trying to modify it. Returns true if this is a system db and the action is allowed.
Definition at line 2732 of file Analyzer.java.
References com.cloudera.impala.catalog.Db.isSystemDb().
Referenced by com.cloudera.impala.analysis.Analyzer.authorize().
|
inline |
Populate globalState.valueTransfer based on the registered equi-join predicates of the form <slotref> = <slotref>.
Definition at line 1777 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.GlobalState.equivClassMembers, com.cloudera.impala.analysis.Analyzer.globalState_, and com.cloudera.impala.analysis.Analyzer.hasValueTransfer().
|
inline |
Definition at line 1766 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.isOuterJoined().
|
inline |
Definition at line 292 of file Analyzer.java.
|
inline |
Adds a new slot descriptor in tupleDesc that is identical to srcSlotDesc except for the path and slot id.
Definition at line 823 of file Analyzer.java.
Create and register an auxiliary predicate to express an equivalence between two exprs (BinaryPredicate with EQ); this predicate does not need to be assigned, but it's used for equivalence class computation.
Definition at line 969 of file Analyzer.java.
References com.cloudera.impala.analysis.BinaryPredicate.debugString(), and com.cloudera.impala.analysis.Analyzer.registerConjunct().
|
inline |
Creates an analyzed equality predicate between the given slots.
Definition at line 980 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.GlobalState.descTbl, com.cloudera.impala.analysis.DescriptorTable.getSlotDesc(), and com.cloudera.impala.analysis.Analyzer.globalState_.
Referenced by com.cloudera.impala.analysis.Analyzer.createEquivConjuncts().
|
inlinepackage |
For each equivalence class, adds/removes predicates from conjuncts such that it contains a minimum set of <lhsSlot> = <rhsSlot> predicates that establish the known equivalences between slots in lhsTids and rhsTid (lhsTids must not contain rhsTid). Preserves original conjuncts when possible. Assumes that predicates for establishing equivalences among slots in only lhsTids and only rhsTid have already been established. This function adds the remaining predicates to "connect" the disjoin equivalent slot sets of lhsTids and rhsTid. The intent of this function is to enable construction of a minimum spanning tree to cover the known slot equivalences. This function should be called for join nodes during plan generation to (1) remove redundant join predicates, and (2) establish equivalences among slots materialized at that join node. TODO: Consider optimizing for the cheapest minimum set of predicates. TODO: Consider caching the DisjointSet during plan generation instead of re-creating it here on every invocation.
Definition at line 1430 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.createEqPredicate(), com.cloudera.impala.analysis.Analyzer.getEquivClasses(), com.cloudera.impala.analysis.Analyzer.getEquivClassId(), com.cloudera.impala.analysis.Analyzer.getTupleId(), com.cloudera.impala.analysis.Analyzer.hasMutualValueTransfer(), com.cloudera.impala.analysis.Analyzer.isFullOuterJoined(), and com.cloudera.impala.analysis.Analyzer.isOuterJoined().
Referenced by com.cloudera.impala.analysis.Analyzer.createEquivConjuncts().
|
inlinepackage |
For each equivalence class, adds/removes predicates from conjuncts such that it contains a minimum set of <slot> = <slot> predicates that establish the known equivalences between slots belonging to tid. Preserves original conjuncts when possible. The intent of this function is to enable construction of a minimum spanning tree to cover the known slot equivalences. This function should be called to add conjuncts to plan nodes that materialize a new tuple, e.g., scans and aggregations. Does not enforce equivalence between slots in ignoreSlots. Equivalences (if any) among slots in ignoreSlots are assumed to have already been enforced. TODO: Consider optimizing for the cheapest minimum set of predicates.
Definition at line 1535 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.createEqPredicate(), com.cloudera.impala.analysis.Analyzer.getEquivClasses(), com.cloudera.impala.analysis.Analyzer.getEquivClassId(), and com.cloudera.impala.analysis.Analyzer.hasMutualValueTransfer().
|
inlinepackage |
Definition at line 1604 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.createEquivConjuncts().
|
inline |
Assign all remaining unassigned slots to their own equivalence classes.
Definition at line 2290 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.GlobalState.equivClassBySlotId, and com.cloudera.impala.analysis.Analyzer.globalState_.
|
inlinestatic |
Returns a new analyzer with the specified parent analyzer but with a new global state.
Definition at line 363 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.Analyzer(), com.cloudera.impala.analysis.Analyzer.GlobalState.catalog, com.cloudera.impala.analysis.Analyzer.getQueryCtx(), and com.cloudera.impala.analysis.Analyzer.globalState_.
|
inline |
Checks if the given database contains the given table for the given Privilege level. If the table exists in the database, true is returned. Otherwise false.
If the user does not have sufficient privileges to access the table an AuthorizationException is thrown. If the database does not exist in the catalog an AnalysisError is thrown.
Definition at line 2215 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.DB_DOES_NOT_EXIST_ERROR_MSG, com.cloudera.impala.analysis.Analyzer.getCatalog(), and com.cloudera.impala.analysis.Analyzer.registerPrivReq().
|
inline |
Definition at line 2274 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.callDepth_.
Returns true if e1 and e2 are equivalent expressions.
Definition at line 1887 of file Analyzer.java.
Referenced by com.cloudera.impala.planner.DistributedPlanner.getCompatPartition(), and com.cloudera.impala.planner.DistributedPlanner.isCompatPartition().
Return true if l1 is equivalent to l2 when both lists are interpreted as sets. For this check, each SlotRefs in both l1 and l2 is replaced with its canonical equivalence-class representative, and then duplicate exprs are removed.
Definition at line 1874 of file Analyzer.java.
|
inline |
Returns true if e must be evaluated by a join node. Note that it may still be safe to evaluate e elsewhere as well, but in any case the join must evaluate e.
Definition at line 1045 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.isAntiJoinedConjunct(), com.cloudera.impala.analysis.Analyzer.isFullOuterJoined(), com.cloudera.impala.analysis.Analyzer.isOjConjunct(), com.cloudera.impala.analysis.Analyzer.isOuterJoined(), and com.cloudera.impala.analysis.Expr.isWhereClauseConjunct().
Referenced by com.cloudera.impala.analysis.Analyzer.getBoundPredicates(), and com.cloudera.impala.analysis.SelectStmt.materializeRequiredSlots().
|
inline |
Returns a list of the successful catalog object access events. Does not include accesses that failed due to AuthorizationExceptions. In general, if analysis fails for any reason this list may be incomplete.
Definition at line 2086 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.WithClause.analyze().
|
inline |
Definition at line 1107 of file Analyzer.java.
Definition at line 1748 of file Analyzer.java.
References com.cloudera.impala.analysis.TableRef.getJoinOp().
Referenced by com.cloudera.impala.analysis.Analyzer.canEvalAntiJoinedConjunct(), and com.cloudera.impala.analysis.Analyzer.isAntiJoinedConjunct().
|
inline |
Definition at line 1937 of file Analyzer.java.
|
inline |
Definition at line 2069 of file Analyzer.java.
|
inline |
Returns a list of predicates that are fully bound by destTid. Predicates are derived by replacing the slots of a source predicate with slots of the destTid, if for each source slot there is an equivalent slot in destTid. In particular, the returned list contains predicates that must be evaluated at a join node (bound to outer-joined tuple) but can also be safely evaluated by a plan node materializing destTid. Such predicates are not marked as assigned. All other inferred predicates are marked as assigned if 'markAssigned' is true. This function returns bound predicates regardless of whether the source predicated have been assigned. It is up to the caller to decide if a bound predicate should actually be used. Destination slots in destTid can be ignored by passing them in ignoreSlots. TODO: exclude UDFs from predicate propagation? their overloaded variants could have very different semantics
Definition at line 1274 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.GlobalState.descTbl, com.cloudera.impala.analysis.Analyzer.GlobalState.equivClassBySlotId, com.cloudera.impala.analysis.Analyzer.evalByJoin(), com.cloudera.impala.analysis.Analyzer.getEquivDestSlotIds(), com.cloudera.impala.analysis.Expr.getId(), com.cloudera.impala.analysis.TableRef.getJoinOp(), com.cloudera.impala.analysis.DescriptorTable.getSlotDesc(), com.cloudera.impala.analysis.Analyzer.globalState_, com.cloudera.impala.analysis.Analyzer.hasOuterJoinedTuple(), com.cloudera.impala.analysis.Analyzer.hasValueTransfer(), com.cloudera.impala.analysis.Analyzer.isAntiJoinedConjunct(), com.cloudera.impala.analysis.Analyzer.isTrueWithNullSlots(), com.cloudera.impala.analysis.Expr.isWhereClauseConjunct_, com.cloudera.impala.analysis.Analyzer.markConjunctAssigned(), com.cloudera.impala.analysis.Analyzer.GlobalState.ojClauseByConjunct, com.cloudera.impala.analysis.Analyzer.GlobalState.outerJoinedTupleIds, and com.cloudera.impala.analysis.Analyzer.GlobalState.singleTidConjuncts.
Referenced by com.cloudera.impala.analysis.Analyzer.getBoundPredicates().
Definition at line 1387 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.getBoundPredicates().
|
inline |
Definition at line 2275 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.callDepth_.
|
inline |
Definition at line 1099 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.GlobalState.catalog, com.cloudera.impala.analysis.Analyzer.globalState_, and com.cloudera.impala.catalog.ImpaladCatalog.isReady().
Referenced by com.cloudera.impala.analysis.Analyzer.dbContainsTable(), com.cloudera.impala.analysis.Analyzer.getDb(), and com.cloudera.impala.analysis.Analyzer.getTable().
|
inline |
Definition at line 2071 of file Analyzer.java.
|
inline |
Return slot descriptor corresponding to column referenced in the context of tupleDesc, or null if no such reference exists.
Definition at line 1088 of file Analyzer.java.
References com.cloudera.impala.analysis.TupleDescriptor.getSlots().
|
inline |
Returns assignment-compatible type of expr.getType() and lastCompatibleType. If lastCompatibleType is null, returns expr.getType() (if valid). If types are not compatible throws an exception reporting the incompatible types and their expr.toSql().
lastCompatibleExpr is passed for error reporting purposes, but note that lastCompatibleExpr may not yet have lastCompatibleType, because it was not cast yet.
Definition at line 1989 of file Analyzer.java.
References com.cloudera.impala.catalog.Type.isValid().
Referenced by com.cloudera.impala.analysis.Analyzer.castAllToCompatibleType(), and com.cloudera.impala.analysis.Analyzer.castToUnionCompatibleTypes().
Definition at line 2269 of file Analyzer.java.
|
inline |
Definition at line 2266 of file Analyzer.java.
|
inline |
Returns the Catalog Db object for the given database at the given Privilege level. The privilege request is tracked in the analyzer and authorized post-analysis.
If the database does not exist in the catalog an AnalysisError is thrown.
If addAccessEvent is true, this call will add a new entry to accessEvents if the catalog access was successful. If false, no accessEvent will be added.
Definition at line 2185 of file Analyzer.java.
|
inline |
Definition at line 2189 of file Analyzer.java.
References com.cloudera.impala.authorization.PrivilegeRequestBuilder.allOf(), com.cloudera.impala.authorization.Privilege.ANY, com.cloudera.impala.authorization.PrivilegeRequestBuilder.any(), com.cloudera.impala.analysis.Analyzer.DB_DOES_NOT_EXIST_ERROR_MSG, com.cloudera.impala.analysis.Analyzer.getCatalog(), and com.cloudera.impala.analysis.Analyzer.registerPrivReq().
|
inline |
Definition at line 2066 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.getFqTableName(), com.cloudera.impala.analysis.Analyzer.getTargetDbName(), and com.cloudera.impala.analysis.Analyzer.resolvePath().
|
inline |
Returns the descriptor of the given explicit or implicit table alias or null if no such alias has been registered. Throws an AnalysisException if the given table alias is ambiguous.
Definition at line 557 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.ambiguousAliases_.
Referenced by com.cloudera.impala.analysis.Analyzer.resolvePath().
|
inline |
Definition at line 1095 of file Analyzer.java.
|
inline |
Returns list of candidate equi-join conjuncts to be evaluated by the join node that is specified by: a) the tids materialized by one side (lhs or rhs) and, b) joinedTblRef which is the new joined table. If joinedTblRef is an outer join, only equi-join conjuncts from that outer join's On clause are returned. If an equi-join conjunct is full outer joined, it is not added to the candidate list if this is not the plan node to full outer join it.
Definition at line 1119 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.canEvalAntiJoinedConjunct(), com.cloudera.impala.analysis.Analyzer.canEvalFullOuterJoinedConjunct(), and com.cloudera.impala.analysis.TableRef.getJoinOp().
|
inlineprivate |
Returns a map of partial equivalence classes that only contains slot ids belonging to the given tuple ids. Only contains equivalence classes with more than one member.
Definition at line 1612 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.GlobalState.equivClassMembers, com.cloudera.impala.analysis.Analyzer.getEquivClassId(), com.cloudera.impala.analysis.Analyzer.getTupleDesc(), and com.cloudera.impala.analysis.Analyzer.globalState_.
Referenced by com.cloudera.impala.analysis.Analyzer.createEquivConjuncts().
|
inline |
Definition at line 1863 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.createEquivConjuncts(), and com.cloudera.impala.analysis.Analyzer.getEquivClasses().
|
inline |
Definition at line 1867 of file Analyzer.java.
|
inlineprivate |
Returns a list of slot mappings from srcTid to destTid for the purpose of predicate propagation. Each mapping assigns every slot in srcSids to an equivalent slot in destTid. Does not generate all possible mappings, but limits the results to useful and/or non-redundant mappings, i.e., those mappings that would improve the performance of query execution.
Definition at line 1637 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.getTupleDesc(), and com.cloudera.impala.analysis.Analyzer.hasValueTransfer().
Referenced by com.cloudera.impala.analysis.Analyzer.getBoundPredicates().
|
inline |
Return in equivSlotIds the ids of slots that are in the same equivalence class as slotId and are part of a tuple in tupleIds.
Definition at line 1850 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.GlobalState.descTbl, com.cloudera.impala.analysis.Analyzer.GlobalState.equivClassMembers, com.cloudera.impala.analysis.DescriptorTable.getSlotDesc(), and com.cloudera.impala.analysis.Analyzer.globalState_.
Returns the fully-qualified table name of tableName. If tableName is already fully qualified, returns tableName.
Definition at line 2246 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.getDefaultDb(), com.cloudera.impala.analysis.TableName.getTbl(), and com.cloudera.impala.analysis.TableName.isFullyQualified().
Definition at line 1015 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.canEvalFullOuterJoinedConjunct().
|
inline |
Definition at line 2070 of file Analyzer.java.
Referenced by com.cloudera.impala.planner.HBaseScanNode.computeScanRangeLocations().
Return rhs ref of last Join clause that outer-joined id.
Definition at line 1080 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.canEvalPredicate().
|
inline |
Definition at line 2302 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.localViews_.
Referenced by com.cloudera.impala.analysis.WithClause.analyze().
|
inline |
Definition at line 380 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.missingTbls_.
Referenced by com.cloudera.impala.analysis.WithClause.analyze().
|
inline |
Definition at line 383 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.hasAncestors().
Referenced by com.cloudera.impala.analysis.Analyzer.resolvePath().
|
inline |
Definition at line 2077 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.WithClause.analyze().
|
inline |
Definition at line 2068 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.createWithNewGlobalState(), and com.cloudera.impala.analysis.Analyzer.isTrueWithNullSlots().
|
inline |
Definition at line 2072 of file Analyzer.java.
|
inline |
Given a "table alias"."column alias", return the SlotDescriptor
Definition at line 575 of file Analyzer.java.
|
inline |
Returns the Catalog Table object for the given database and table name. Adds the table to this analyzer's "missingTbls_" and throws an AnalysisException if the table has not yet been loaded in the local catalog cache. Throws an AnalysisException if the table or the db does not exist in the Catalog. This function does not register authorization requests and does not log access events.
Definition at line 2098 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.DB_DOES_NOT_EXIST_ERROR_MSG, com.cloudera.impala.analysis.Analyzer.getCatalog(), com.cloudera.impala.catalog.Table.getDb(), com.cloudera.impala.catalog.Table.getFullName(), com.cloudera.impala.catalog.Table.getName(), com.cloudera.impala.catalog.Table.isLoaded(), and com.cloudera.impala.analysis.Analyzer.TBL_DOES_NOT_EXIST_ERROR_MSG.
Referenced by com.cloudera.impala.analysis.Analyzer.getTable(), and com.cloudera.impala.analysis.Analyzer.resolvePath().
|
inline |
Returns the Catalog Table object for the TableName. Adds the table to this analyzer's "missingTbls_" and throws an AnalysisException if the table has not yet been loaded in the local catalog cache. Throws an AnalysisException if the table or the db does not exist in the Catalog. Always registers a privilege request for the table at the given privilege level, regardless of the state of the table (i.e. whether it exists, is loaded, etc.). If addAccessEvent is true, adds an access event if the catalog access succeeded.
Definition at line 2134 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.addAccessEvent(), com.cloudera.impala.analysis.Analyzer.getTable(), com.cloudera.impala.analysis.Analyzer.getTargetDbName(), and com.cloudera.impala.analysis.Analyzer.registerPrivReq().
|
inline |
Returns the Catalog Table object for the TableName at the given Privilege level and adds an audit event if the access was successful.
If the user does not have sufficient privileges to access the table an AuthorizationException is thrown. If the table or the db does not exist in the Catalog, an AnalysisError is thrown.
Definition at line 2170 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.getTable().
Definition at line 570 of file Analyzer.java.
|
inline |
If the table name is fully qualified, the database from the TableName object will be returned. Otherwise the default analyzer database will be returned.
Definition at line 2234 of file Analyzer.java.
References com.cloudera.impala.analysis.TableName.getDb(), and com.cloudera.impala.analysis.Analyzer.getDefaultDb().
Referenced by com.cloudera.impala.analysis.Analyzer.getTable().
|
inline |
Definition at line 2238 of file Analyzer.java.
References com.cloudera.impala.analysis.FunctionName.getDb(), and com.cloudera.impala.analysis.Analyzer.getDefaultDb().
|
inline |
Definition at line 2285 of file Analyzer.java.
|
inline |
Definition at line 566 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.getEquivClasses(), and com.cloudera.impala.analysis.Analyzer.getEquivDestSlotIds().
Definition at line 1724 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.createEquivConjuncts(), com.cloudera.impala.analysis.Analyzer.hasOuterJoinedTuple(), com.cloudera.impala.analysis.Analyzer.isFullOuterJoined(), com.cloudera.impala.analysis.Analyzer.isOuterJoined(), and com.cloudera.impala.analysis.Analyzer.ValueTransferGraph.partitionValueTransfers().
|
inline |
Return all unassigned non-constant registered conjuncts that are fully bound by given list of tuple ids. If 'inclOjConjuncts' is false, conjuncts tied to an Outer Join clause are excluded.
Definition at line 994 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.GlobalState.assignedConjuncts, com.cloudera.impala.analysis.Analyzer.GlobalState.conjuncts, com.cloudera.impala.analysis.Analyzer.globalState_, and com.cloudera.impala.analysis.Analyzer.GlobalState.ojClauseByConjunct.
Referenced by com.cloudera.impala.analysis.Analyzer.getUnassignedConjuncts().
Return all unassigned registered conjuncts that are fully bound by node's (logical) tuple ids, can be evaluated by 'node' and are not tied to an Outer Join clause.
Definition at line 1028 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.canEvalPredicate(), and com.cloudera.impala.analysis.Analyzer.getUnassignedConjuncts().
Return all unassigned conjuncts of the outer join referenced by right-hand side table ref.
Definition at line 1061 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.GlobalState.assignedConjuncts, and com.cloudera.impala.analysis.Analyzer.globalState_.
|
inline |
Definition at line 2067 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.user_.
Referenced by com.cloudera.impala.analysis.Analyzer.authorize().
|
inline |
Returns a list of each warning logged, indicating if it was logged more than once.
Definition at line 390 of file Analyzer.java.
References count, com.cloudera.impala.analysis.Analyzer.globalState_, and com.cloudera.impala.analysis.Analyzer.GlobalState.warnings.
|
inline |
Definition at line 382 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.getParentAnalyzer(), and com.cloudera.impala.analysis.Analyzer.resolvePath().
|
inline |
Returns true if the query block corresponding to this analyzer is guaranteed to return an empty result set, e.g., due to a limit 0 or a constant predicate that evaluates to false.
Definition at line 590 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.hasEmptyResultSet_.
|
inline |
Returns true if the select-project-join portion of this query block returns an empty result set.
Definition at line 597 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.hasEmptySpjResultSet_.
|
inline |
Definition at line 381 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.resolvePath().
|
inlineprivate |
Definition at line 2277 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.hasValueTransfer().
Referenced by com.cloudera.impala.analysis.Analyzer.createEquivConjuncts().
|
inlineprivate |
Returns true if the equivalence class identified by 'eqClassId' contains a slot belonging to an outer-joined tuple.
Definition at line 1688 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.getTupleId(), and com.cloudera.impala.analysis.Analyzer.isOuterJoined().
Referenced by com.cloudera.impala.analysis.Analyzer.getBoundPredicates().
|
inline |
Definition at line 154 of file Analyzer.java.
|
inline |
Return true if there's at least one unassigned non-auxiliary conjunct.
Definition at line 1948 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.GlobalState.assignedConjuncts, com.cloudera.impala.analysis.Analyzer.GlobalState.conjuncts, com.cloudera.impala.analysis.Expr.debugString(), com.cloudera.impala.analysis.Analyzer.globalState_, and com.cloudera.impala.analysis.Expr.isAuxExpr().
Definition at line 2281 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.computeEquivClasses(), com.cloudera.impala.analysis.Analyzer.getBoundPredicates(), com.cloudera.impala.analysis.Analyzer.getEquivDestSlotIds(), and com.cloudera.impala.analysis.Analyzer.hasMutualValueTransfer().
|
inline |
Definition at line 2273 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.callDepth_.
|
inline |
Modifies the analysis state associated with the rhs table ref of an outer join to accomodate a join inversion that changes the rhs table ref of the join from oldRhsTbl to newRhsTbl. TODO: Revisit this function and how outer joins are inverted. This function should not be necessary because the semantics of an inverted outer join do not change. This function will naturally become obsolete when we can transform outer joins with otherPredicates into inner joins.
Definition at line 1400 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.globalState_, and com.cloudera.impala.analysis.Analyzer.GlobalState.outerJoinedTupleIds.
Referenced by com.cloudera.impala.analysis.TableRef.invertJoin().
|
inline |
Definition at line 1744 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.getAntiJoinRef().
Referenced by com.cloudera.impala.analysis.Analyzer.canEvalPredicate(), com.cloudera.impala.analysis.Analyzer.evalByJoin(), and com.cloudera.impala.analysis.Analyzer.getBoundPredicates().
|
inline |
Definition at line 1933 of file Analyzer.java.
|
inline |
Definition at line 2256 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.InlineViewRef.analyze().
|
inline |
Definition at line 1019 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.createEquivConjuncts(), com.cloudera.impala.analysis.Analyzer.evalByJoin(), and com.cloudera.impala.analysis.Analyzer.isFullOuterJoined().
|
inline |
Definition at line 1754 of file Analyzer.java.
|
inline |
Definition at line 1758 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.getTupleId(), and com.cloudera.impala.analysis.Analyzer.isFullOuterJoined().
|
inline |
Definition at line 1011 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.evalByJoin(), and com.cloudera.impala.analysis.Analyzer.markConstantConjunct().
|
inline |
Definition at line 1732 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.containsOuterJoinedTid(), com.cloudera.impala.analysis.Analyzer.createEquivConjuncts(), com.cloudera.impala.analysis.Analyzer.evalByJoin(), com.cloudera.impala.analysis.Analyzer.hasOuterJoinedTuple(), and com.cloudera.impala.analysis.Analyzer.isOuterJoined().
|
inline |
Definition at line 1736 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.getTupleId(), and com.cloudera.impala.analysis.Analyzer.isOuterJoined().
|
inline |
Return true if this analyzer has no ancestors. (i.e. false for the analyzer created for inline views/ union operands, etc.)
Definition at line 583 of file Analyzer.java.
|
inline |
Definition at line 1740 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.isVisible().
|
inline |
Definition at line 152 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.isSubquery_.
|
inlineprivate |
Returns true if 'p' evaluates to true when all its referenced slots are NULL, false otherwise. TODO: Can we avoid dealing with the exceptions thrown by analysis and eval?
Definition at line 1701 of file Analyzer.java.
References com.cloudera.impala.analysis.NullLiteral.clone(), and com.cloudera.impala.analysis.Analyzer.getQueryCtx().
Referenced by com.cloudera.impala.analysis.Analyzer.canEvalPredicate(), and com.cloudera.impala.analysis.Analyzer.getBoundPredicates().
|
inline |
Definition at line 1762 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.isSemiJoined(), and com.cloudera.impala.analysis.Analyzer.visibleSemiJoinedTupleId_.
Referenced by com.cloudera.impala.analysis.Analyzer.resolvePaths().
|
inline |
Mark predicate as assigned.
Definition at line 1928 of file Analyzer.java.
References com.cloudera.impala.analysis.Expr.debugString().
Referenced by com.cloudera.impala.analysis.Analyzer.getBoundPredicates(), and com.cloudera.impala.analysis.Analyzer.markConstantConjunct().
|
inline |
Mark predicates as assigned.
Definition at line 1917 of file Analyzer.java.
|
inlineprivate |
If the given conjunct is a constant non-oj conjunct, marks it as assigned, and evaluates the conjunct. If the conjunct evaluates to false, marks this query block as having an empty result set or as having an empty select-project-join portion, if fromHavingClause is true or false, respectively. No-op if the conjunct is not constant or is outer joined.
Definition at line 892 of file Analyzer.java.
References com.cloudera.impala.service.FeSupport.EvalPredicate(), com.cloudera.impala.analysis.Analyzer.globalState_, com.cloudera.impala.analysis.Analyzer.hasEmptyResultSet_, com.cloudera.impala.analysis.Analyzer.hasEmptySpjResultSet_, com.cloudera.impala.analysis.Expr.isConstant(), com.cloudera.impala.analysis.Analyzer.isOjConjunct(), com.cloudera.impala.analysis.Analyzer.markConjunctAssigned(), and com.cloudera.impala.analysis.Analyzer.GlobalState.queryCtx.
Referenced by com.cloudera.impala.analysis.Analyzer.registerConjuncts(), and com.cloudera.impala.analysis.Analyzer.registerOnClauseConjuncts().
|
inline |
Mark all slots that are referenced in exprs as materialized.
Definition at line 1962 of file Analyzer.java.
|
inline |
Definition at line 1971 of file Analyzer.java.
|
inlineprivate |
Assigns a new id to the given conjunct and registers it with all tuple and slot ids it references and with the global conjunct list.
Definition at line 916 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.GlobalState.eqJoinConjuncts, com.cloudera.impala.analysis.Expr.getId(), com.cloudera.impala.analysis.BinaryPredicate.getOp(), com.cloudera.impala.analysis.Analyzer.globalState_, com.cloudera.impala.analysis.BinaryPredicate.Operator.Operator(), com.cloudera.impala.analysis.Analyzer.registerFullOuterJoinedConjunct(), com.cloudera.impala.analysis.Analyzer.GlobalState.singleTidConjuncts, and com.cloudera.impala.analysis.Expr.toSql().
Referenced by com.cloudera.impala.analysis.Analyzer.createAuxEquivPredicate(), com.cloudera.impala.analysis.Analyzer.registerConjuncts(), and com.cloudera.impala.analysis.Analyzer.registerOnClauseConjuncts().
|
inline |
Register all conjuncts in a list of predicates as Having-clause conjuncts.
Definition at line 837 of file Analyzer.java.
|
inline |
Register all conjuncts that make up 'e'. If fromHavingClause is false, this conjunct is assumed to originate from a Where clause.
Definition at line 877 of file Analyzer.java.
References com.cloudera.impala.analysis.Expr.getConjuncts(), com.cloudera.impala.analysis.Analyzer.markConstantConjunct(), and com.cloudera.impala.analysis.Analyzer.registerConjunct().
|
inline |
Register conjuncts that are outer joined by a full outer join. For a given predicate, we record the last full outer join that outer-joined any of its tuple ids. We need this additional information because full-outer joins obey different rules with respect to predicate pushdown compared to left and right outer joins.
Definition at line 508 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.GlobalState.fullOuterJoinedTupleIds, and com.cloudera.impala.analysis.Analyzer.globalState_.
Referenced by com.cloudera.impala.analysis.Analyzer.registerConjunct().
|
inline |
Register tids as being outer-joined by a full outer join clause represented by rhsRef.
Definition at line 527 of file Analyzer.java.
|
inline |
Registers a local view definition with this analyzer. Throws an exception if a view definition with the same alias has already been registered.
Definition at line 409 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.localViews_.
|
inline |
Register all conjuncts that make up the On-clause 'e' of the given right-hand side of a join. Assigns each conjunct a unique id. If rhsRef is the right-hand side of an outer join, then the conjuncts conjuncts are registered such that they can only be evaluated by the node implementing that join.
Definition at line 849 of file Analyzer.java.
References com.cloudera.impala.analysis.Expr.getConjuncts(), com.cloudera.impala.analysis.TableRef.getJoinOp(), com.cloudera.impala.analysis.Analyzer.markConstantConjunct(), and com.cloudera.impala.analysis.Analyzer.registerConjunct().
|
inline |
Register tids as being outer-joined by Join clause represented by rhsRef.
Definition at line 538 of file Analyzer.java.
|
inline |
Registers a new PrivilegeRequest in the analyzer. If authErrorMsg_ is set, the privilege request will be added to the list of "masked" privilege requests, using authErrorMsg_ as the auth failure error message. Otherwise it will get added as a normal privilege request that will use the standard error message on authorization failure. If enablePrivChecks_ is false, the registration request will be ignored. This is used when analyzing catalog views since users should be able to query a view even if they do not have privileges on the underlying tables.
Definition at line 2685 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.authErrorMsg_, and com.cloudera.impala.analysis.Analyzer.enablePrivChecks_.
Referenced by com.cloudera.impala.analysis.Analyzer.dbContainsTable(), com.cloudera.impala.analysis.Analyzer.getDb(), and com.cloudera.impala.analysis.Analyzer.getTable().
|
inline |
Register the given tuple id as being the invisible side of a semi-join.
Definition at line 548 of file Analyzer.java.
|
inline |
Creates and returns an empty SlotDescriptor for the given Path if it hasn't previously been registered, otherwise returns the existing descriptor.
Definition at line 797 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.addSlotDescriptor().
|
inline |
Creates an returns an empty TupleDescriptor for the given table ref and registers it against all its legal aliases. For tables refs with an explicit alias, only the explicit alias is legal. For tables refs with no explicit alias, the fully-qualified and unqualified table names are legal aliases. Column references against unqualified implicit aliases can be ambiguous, therefore, we register such ambiguous aliases here. Requires that all views have been substituted. Throws if an existing explicit alias or implicit fully-qualified alias has already been registered for another table ref.
Definition at line 427 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.aliasMap_, and com.cloudera.impala.analysis.TupleDescriptor.hasExplicitAlias().
Definition at line 1728 of file Analyzer.java.
Removes redundant expressions from exprs based on equivalence classes, as follows: First, normalizes the exprs using the canonical SlotRef representative of each equivalence class. Then retains the first original element of exprs that is non-redundant in the normalized exprs. Returns a new list with the unique exprs.
Definition at line 1899 of file Analyzer.java.
|
inline |
Resolves the given raw path according to the given path type, as follows: SLOT_REF and STAR: Resolves the path in the context of all registered tuple descriptors, considering qualified as well as unqualified matches. TABLE_REF: Resolves the path in the context of all registered tuple descriptors only considering qualified matches, as well as catalog tables/views.
Path resolution: Regardless of the path type, a raw path can have multiple successful resolutions. A resolution is said to be 'successful' if all raw path elements can be mapped to a corresponding alias/table/column/field.
Path legality: A successful resolution may be illegal with respect to the path type, e.g., a SlotRef cannot reference intermediate collection types, etc.
Path ambiguity: A raw path is ambiguous if it has multiple legal resolutions. Otherwise, the ambiguity is resolved in favor of the legal resolution.
Returns the single legal path resolution if it exists. Throws if there was no legal resolution or if the path is ambiguous.
Definition at line 622 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.isSubquery_, and com.cloudera.impala.analysis.Path.PathType.SLOT_REF.
|
inlineprivate |
Definition at line 632 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.getDefaultDb(), com.cloudera.impala.analysis.Analyzer.getDescriptor(), com.cloudera.impala.analysis.Analyzer.getParentAnalyzer(), com.cloudera.impala.analysis.Analyzer.getTable(), com.cloudera.impala.analysis.Analyzer.hasAncestors(), com.cloudera.impala.analysis.Analyzer.hasMissingTbls(), com.cloudera.impala.analysis.Analyzer.resolvePaths(), com.cloudera.impala.analysis.Path.PathType.SLOT_REF, com.cloudera.impala.analysis.Path.PathType.STAR, com.cloudera.impala.analysis.Path.PathType.TABLE_REF, and com.cloudera.impala.analysis.Analyzer.tableRefMap_.
|
inlineprivate |
Resolves the given paths and checks them for legality and ambiguity. Returns the single legal path resolution if it exists, null otherwise. Populates 'errors' with a a prioritized list of error messages starting with the most relevant one. The list contains at least one error message if null is returned.
Definition at line 700 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.isVisible(), com.cloudera.impala.analysis.Path.PathType.SLOT_REF, and com.cloudera.impala.analysis.Path.PathType.TABLE_REF.
Referenced by com.cloudera.impala.analysis.Analyzer.resolvePath().
|
inline |
Resolves the given TableRef into a concrete BaseTableRef, ViewRef or CollectionTableRef. Returns the new resolved table ref or the given table ref if it is already resolved. Adds audit events and privilege requests for the database and/or table.
Definition at line 468 of file Analyzer.java.
|
inline |
Definition at line 1941 of file Analyzer.java.
|
inline |
Definition at line 2254 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.authErrorMsg_.
|
inline |
Definition at line 2251 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.enablePrivChecks_.
|
inline |
Definition at line 591 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.hasEmptyResultSet_.
|
inline |
Definition at line 2262 of file Analyzer.java.
|
inline |
Definition at line 153 of file Analyzer.java.
|
inline |
Definition at line 2255 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.WithClause.analyze().
|
inline |
Definition at line 148 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.isSubquery_.
|
inline |
Definition at line 2257 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.useHiveColLabels().
|
inline |
Makes the given semi-joined tuple visible such that its slots can be referenced. If tid is null, makes the currently visible semi-joined tuple invisible again.
Definition at line 373 of file Analyzer.java.
References com.cloudera.impala.analysis.Analyzer.visibleSemiJoinedTupleId_.
|
inline |
Definition at line 2260 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.setUseHiveColLabels().
|
private |
Definition at line 308 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.registerTableRef().
|
private |
Definition at line 314 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.getDescriptor().
|
private |
Definition at line 298 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.Analyzer(), and com.cloudera.impala.analysis.Analyzer.ValueTransferGraph.partitionValueTransfers().
|
private |
Definition at line 135 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.Analyzer(), com.cloudera.impala.analysis.Analyzer.registerPrivReq(), and com.cloudera.impala.analysis.Analyzer.setAuthErrMsg().
|
private |
Definition at line 128 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.decrementCallDepth(), com.cloudera.impala.analysis.Analyzer.getCallDepth(), and com.cloudera.impala.analysis.Analyzer.incrementCallDepth().
|
static |
Definition at line 115 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.CreateDataSrcStmt.analyze().
|
static |
Definition at line 113 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.DropDataSrcStmt.analyze().
|
static |
Definition at line 108 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.CreateDbStmt.analyze().
|
static |
Definition at line 107 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.CreateTableAsSelectStmt.analyze(), com.cloudera.impala.analysis.DropDbStmt.analyze(), com.cloudera.impala.analysis.DropFunctionStmt.analyze(), com.cloudera.impala.analysis.ShowFunctionsStmt.analyze(), com.cloudera.impala.analysis.ShowTablesStmt.analyze(), com.cloudera.impala.analysis.CreateFunctionStmtBase.analyze(), com.cloudera.impala.analysis.Analyzer.dbContainsTable(), com.cloudera.impala.analysis.Analyzer.getDb(), and com.cloudera.impala.analysis.Analyzer.getTable().
|
private |
Definition at line 138 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.Analyzer(), com.cloudera.impala.analysis.Analyzer.registerPrivReq(), and com.cloudera.impala.analysis.Analyzer.setEnablePrivChecks().
|
static |
Definition at line 112 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.CreateFunctionStmtBase.analyze().
|
static |
Definition at line 111 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.DropFunctionStmt.analyze().
|
private |
Definition at line 288 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.Analyzer(), com.cloudera.impala.analysis.Analyzer.authorize(), com.cloudera.impala.analysis.Analyzer.canEvalPredicate(), com.cloudera.impala.analysis.Analyzer.computeEquivClasses(), com.cloudera.impala.analysis.Analyzer.ValueTransferGraph.computeValueTransfers(), com.cloudera.impala.analysis.Analyzer.createEqPredicate(), com.cloudera.impala.analysis.Analyzer.createIdentityEquivClasses(), com.cloudera.impala.analysis.Analyzer.createWithNewGlobalState(), com.cloudera.impala.analysis.Analyzer.getBoundPredicates(), com.cloudera.impala.analysis.Analyzer.getCatalog(), com.cloudera.impala.analysis.Analyzer.getEquivClasses(), com.cloudera.impala.analysis.Analyzer.getEquivSlots(), com.cloudera.impala.analysis.Analyzer.getUnassignedConjuncts(), com.cloudera.impala.analysis.Analyzer.getUnassignedOjConjuncts(), com.cloudera.impala.analysis.Analyzer.getWarnings(), com.cloudera.impala.analysis.Analyzer.hasUnassignedConjuncts(), com.cloudera.impala.analysis.Analyzer.invertOuterJoinState(), com.cloudera.impala.analysis.Analyzer.markConstantConjunct(), com.cloudera.impala.analysis.Analyzer.ValueTransferGraph.partitionValueTransfers(), com.cloudera.impala.analysis.Analyzer.registerConjunct(), com.cloudera.impala.analysis.Analyzer.registerFullOuterJoinedConjunct(), and com.cloudera.impala.analysis.Analyzer.ValueTransferGraph.validate().
|
private |
Definition at line 324 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.hasEmptyResultSet(), com.cloudera.impala.analysis.Analyzer.markConstantConjunct(), and com.cloudera.impala.analysis.Analyzer.setHasEmptyResultSet().
|
private |
Definition at line 329 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.hasEmptySpjResultSet(), and com.cloudera.impala.analysis.Analyzer.markConstantConjunct().
|
private |
Definition at line 123 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.ValueTransferGraph.partitionValueTransfers().
|
private |
Definition at line 131 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.isSubquery(), com.cloudera.impala.analysis.Analyzer.resolvePath(), and com.cloudera.impala.analysis.Analyzer.setIsSubquery().
|
private |
Definition at line 301 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.getLocalViews(), and com.cloudera.impala.analysis.Analyzer.registerLocalView().
|
staticprivate |
Definition at line 118 of file Analyzer.java.
|
private |
Definition at line 320 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.Analyzer(), and com.cloudera.impala.analysis.Analyzer.getMissingTbls().
|
private |
Definition at line 317 of file Analyzer.java.
|
private |
Definition at line 311 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.resolvePath().
|
static |
Definition at line 110 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.CreateViewStmt.analyze(), com.cloudera.impala.analysis.AlterTableOrViewRenameStmt.analyze(), com.cloudera.impala.analysis.CreateTableLikeStmt.analyze(), and com.cloudera.impala.analysis.CreateTableStmt.analyze().
|
static |
Definition at line 109 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.ResetMetadataStmt.analyze(), and com.cloudera.impala.analysis.Analyzer.getTable().
|
private |
Definition at line 120 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.Analyzer(), and com.cloudera.impala.analysis.Analyzer.getUser().
|
private |
Definition at line 146 of file Analyzer.java.
Referenced by com.cloudera.impala.analysis.Analyzer.isVisible(), and com.cloudera.impala.analysis.Analyzer.setVisibleSemiJoinedTuple().