blob: b8c68170b1a47f7fe1a29bb2d511be80c86d90e4 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.36.0 (20140111.2315)
-->
<!-- Title: Cloneable Pages: 1 -->
<svg width="2355pt" height="1636pt"
viewBox="0.00 0.00 2355.00 1636.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1632)">
<title>Cloneable</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-1632 2351,-1632 2351,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="907,-1570.5 907,-1627.5 967,-1627.5 967,-1570.5 907,-1570.5"/>
<text text-anchor="middle" x="937" y="-1615.5" font-family="Helvetica,sans-Serif" font-size="10.00">Cloneable</text>
<polyline fill="none" stroke="black" points="907,-1608.5 967,-1608.5 "/>
<text text-anchor="middle" x="937" y="-1596.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="907,-1589.5 967,-1589.5 "/>
<text text-anchor="middle" x="937" y="-1577.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1Expr.html" target="_top" xlink:title="{com.cloudera.impala.analysis.Expr\n|+ EXPR_CHILDREN_LIMIT\l+ EXPR_DEPTH_LIMIT\l+ IS_NOT_PREDICATE\l+ IS_OR_PREDICATE\l+ IS_SCALAR_SUBQUERY\l+ NON_NULL_EMPTY_AGG\l+ IS_BUILTIN_AGG_FN\l+ IS_TRUE_LITERAL\l# id_\l# type_\l# isAnalyzed_\l# isWhereClauseConjunct_\l# printSqlInParens_\l# selectivity_\l# numDistinctValues_\l# fn_\l# DEFAULT_SELECTIVITY\l&#45; isAuxExpr_\l&#45; LOG\l&#45; NEGATE_FN\l&#45; isAggregatePredicate_\l|+ getId()\l+ getType()\l+ getSelectivity()\l+ getNumDistinctValues()\l+ setPrintSqlInParens()\l+ isWhereClauseConjunct()\l+ setIsWhereClauseConjunct()\l+ isAuxExpr()\l+ isRegisteredPredicate()\l+ setIsAuxExpr()\land 35 more...\l+ analyze()\l+ getNumDistinctValues()\l+ treesToThrift()\l+ isAggregatePredicate()\l+ debugString()\l+ toSql()\l+ equalLists()\l+ equalSets()\l+ isSubset()\l+ intersect()\land 10 more...\l~ getResolvedWildCardType()\l# Expr()\l# Expr()\l# setId()\l# computeNumDistinctValues()\l# collectChildReturnTypes()\l# getBuiltinFunction()\l# castForFunctionCall()\l# convertNumericLiteralsFrom\lDecimal()\l# toSqlImpl()\l# treeToThriftHelper()\land 6 more...\l&#45; isExplicitCastToDecimal()\l&#45; convertNumericLiteralsTo\lFloat()\l}">
<polygon fill="white" stroke="black" points="764.5,-849 764.5,-1533 933.5,-1533 933.5,-849 764.5,-849"/>
<text text-anchor="middle" x="849" y="-1521" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.Expr</text>
<polyline fill="none" stroke="black" points="764.5,-1514 933.5,-1514 "/>
<text text-anchor="start" x="772.5" y="-1502" font-family="Helvetica,sans-Serif" font-size="10.00">+ EXPR_CHILDREN_LIMIT</text>
<text text-anchor="start" x="772.5" y="-1491" font-family="Helvetica,sans-Serif" font-size="10.00">+ EXPR_DEPTH_LIMIT</text>
<text text-anchor="start" x="772.5" y="-1480" font-family="Helvetica,sans-Serif" font-size="10.00">+ IS_NOT_PREDICATE</text>
<text text-anchor="start" x="772.5" y="-1469" font-family="Helvetica,sans-Serif" font-size="10.00">+ IS_OR_PREDICATE</text>
<text text-anchor="start" x="772.5" y="-1458" font-family="Helvetica,sans-Serif" font-size="10.00">+ IS_SCALAR_SUBQUERY</text>
<text text-anchor="start" x="772.5" y="-1447" font-family="Helvetica,sans-Serif" font-size="10.00">+ NON_NULL_EMPTY_AGG</text>
<text text-anchor="start" x="772.5" y="-1436" font-family="Helvetica,sans-Serif" font-size="10.00">+ IS_BUILTIN_AGG_FN</text>
<text text-anchor="start" x="772.5" y="-1425" font-family="Helvetica,sans-Serif" font-size="10.00">+ IS_TRUE_LITERAL</text>
<text text-anchor="start" x="772.5" y="-1414" font-family="Helvetica,sans-Serif" font-size="10.00"># id_</text>
<text text-anchor="start" x="772.5" y="-1403" font-family="Helvetica,sans-Serif" font-size="10.00"># type_</text>
<text text-anchor="start" x="772.5" y="-1392" font-family="Helvetica,sans-Serif" font-size="10.00"># isAnalyzed_</text>
<text text-anchor="start" x="772.5" y="-1381" font-family="Helvetica,sans-Serif" font-size="10.00"># isWhereClauseConjunct_</text>
<text text-anchor="start" x="772.5" y="-1370" font-family="Helvetica,sans-Serif" font-size="10.00"># printSqlInParens_</text>
<text text-anchor="start" x="772.5" y="-1359" font-family="Helvetica,sans-Serif" font-size="10.00"># selectivity_</text>
<text text-anchor="start" x="772.5" y="-1348" font-family="Helvetica,sans-Serif" font-size="10.00"># numDistinctValues_</text>
<text text-anchor="start" x="772.5" y="-1337" font-family="Helvetica,sans-Serif" font-size="10.00"># fn_</text>
<text text-anchor="start" x="772.5" y="-1326" font-family="Helvetica,sans-Serif" font-size="10.00"># DEFAULT_SELECTIVITY</text>
<text text-anchor="start" x="772.5" y="-1315" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; isAuxExpr_</text>
<text text-anchor="start" x="772.5" y="-1304" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; LOG</text>
<text text-anchor="start" x="772.5" y="-1293" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; NEGATE_FN</text>
<text text-anchor="start" x="772.5" y="-1282" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; isAggregatePredicate_</text>
<polyline fill="none" stroke="black" points="764.5,-1275 933.5,-1275 "/>
<text text-anchor="start" x="772.5" y="-1263" font-family="Helvetica,sans-Serif" font-size="10.00">+ getId()</text>
<text text-anchor="start" x="772.5" y="-1252" font-family="Helvetica,sans-Serif" font-size="10.00">+ getType()</text>
<text text-anchor="start" x="772.5" y="-1241" font-family="Helvetica,sans-Serif" font-size="10.00">+ getSelectivity()</text>
<text text-anchor="start" x="772.5" y="-1230" font-family="Helvetica,sans-Serif" font-size="10.00">+ getNumDistinctValues()</text>
<text text-anchor="start" x="772.5" y="-1219" font-family="Helvetica,sans-Serif" font-size="10.00">+ setPrintSqlInParens()</text>
<text text-anchor="start" x="772.5" y="-1208" font-family="Helvetica,sans-Serif" font-size="10.00">+ isWhereClauseConjunct()</text>
<text text-anchor="start" x="772.5" y="-1197" font-family="Helvetica,sans-Serif" font-size="10.00">+ setIsWhereClauseConjunct()</text>
<text text-anchor="start" x="772.5" y="-1186" font-family="Helvetica,sans-Serif" font-size="10.00">+ isAuxExpr()</text>
<text text-anchor="start" x="772.5" y="-1175" font-family="Helvetica,sans-Serif" font-size="10.00">+ isRegisteredPredicate()</text>
<text text-anchor="start" x="772.5" y="-1164" font-family="Helvetica,sans-Serif" font-size="10.00">+ setIsAuxExpr()</text>
<text text-anchor="start" x="772.5" y="-1153" font-family="Helvetica,sans-Serif" font-size="10.00">and 35 more...</text>
<text text-anchor="start" x="772.5" y="-1142" font-family="Helvetica,sans-Serif" font-size="10.00">+ analyze()</text>
<text text-anchor="start" x="772.5" y="-1131" font-family="Helvetica,sans-Serif" font-size="10.00">+ getNumDistinctValues()</text>
<text text-anchor="start" x="772.5" y="-1120" font-family="Helvetica,sans-Serif" font-size="10.00">+ treesToThrift()</text>
<text text-anchor="start" x="772.5" y="-1109" font-family="Helvetica,sans-Serif" font-size="10.00">+ isAggregatePredicate()</text>
<text text-anchor="start" x="772.5" y="-1098" font-family="Helvetica,sans-Serif" font-size="10.00">+ debugString()</text>
<text text-anchor="start" x="772.5" y="-1087" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSql()</text>
<text text-anchor="start" x="772.5" y="-1076" font-family="Helvetica,sans-Serif" font-size="10.00">+ equalLists()</text>
<text text-anchor="start" x="772.5" y="-1065" font-family="Helvetica,sans-Serif" font-size="10.00">+ equalSets()</text>
<text text-anchor="start" x="772.5" y="-1054" font-family="Helvetica,sans-Serif" font-size="10.00">+ isSubset()</text>
<text text-anchor="start" x="772.5" y="-1043" font-family="Helvetica,sans-Serif" font-size="10.00">+ intersect()</text>
<text text-anchor="start" x="772.5" y="-1032" font-family="Helvetica,sans-Serif" font-size="10.00">and 10 more...</text>
<text text-anchor="start" x="772.5" y="-1021" font-family="Helvetica,sans-Serif" font-size="10.00">~ getResolvedWildCardType()</text>
<text text-anchor="start" x="772.5" y="-1010" font-family="Helvetica,sans-Serif" font-size="10.00"># Expr()</text>
<text text-anchor="start" x="772.5" y="-999" font-family="Helvetica,sans-Serif" font-size="10.00"># Expr()</text>
<text text-anchor="start" x="772.5" y="-988" font-family="Helvetica,sans-Serif" font-size="10.00"># setId()</text>
<text text-anchor="start" x="772.5" y="-977" font-family="Helvetica,sans-Serif" font-size="10.00"># computeNumDistinctValues()</text>
<text text-anchor="start" x="772.5" y="-966" font-family="Helvetica,sans-Serif" font-size="10.00"># collectChildReturnTypes()</text>
<text text-anchor="start" x="772.5" y="-955" font-family="Helvetica,sans-Serif" font-size="10.00"># getBuiltinFunction()</text>
<text text-anchor="start" x="772.5" y="-944" font-family="Helvetica,sans-Serif" font-size="10.00"># castForFunctionCall()</text>
<text text-anchor="start" x="772.5" y="-933" font-family="Helvetica,sans-Serif" font-size="10.00"># convertNumericLiteralsFrom</text>
<text text-anchor="start" x="772.5" y="-922" font-family="Helvetica,sans-Serif" font-size="10.00">Decimal()</text>
<text text-anchor="start" x="772.5" y="-911" font-family="Helvetica,sans-Serif" font-size="10.00"># toSqlImpl()</text>
<text text-anchor="start" x="772.5" y="-900" font-family="Helvetica,sans-Serif" font-size="10.00"># treeToThriftHelper()</text>
<text text-anchor="start" x="772.5" y="-889" font-family="Helvetica,sans-Serif" font-size="10.00">and 6 more...</text>
<text text-anchor="start" x="772.5" y="-878" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; isExplicitCastToDecimal()</text>
<text text-anchor="start" x="772.5" y="-867" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; convertNumericLiteralsTo</text>
<text text-anchor="start" x="772.5" y="-856" font-family="Helvetica,sans-Serif" font-size="10.00">Float()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge"><title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M928.863,-1560.46C927.116,-1552.4 925.137,-1543.27 922.973,-1533.28"/>
<polygon fill="none" stroke="midnightblue" points="925.482,-1561.38 931.021,-1570.41 932.323,-1559.9 925.482,-1561.38"/>
</g>
<!-- Node26 -->
<g id="node26" class="node"><title>Node26</title>
<g id="a_node26"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1FunctionParams.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lFunctionParams\n|&#45; isStar_\l&#45; isDistinct_\l&#45; exprs_\l|+ FunctionParams()\l+ FunctionParams()\l+ isStar()\l+ isDistinct()\l+ exprs()\l+ setIsDistinct()\l+ size()\l+ createStarParam()\l&#45; FunctionParams()\l}">
<polygon fill="white" stroke="black" points="951.5,-1102 951.5,-1280 1100.5,-1280 1100.5,-1102 951.5,-1102"/>
<text text-anchor="start" x="959.5" y="-1268" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="1026" y="-1257" font-family="Helvetica,sans-Serif" font-size="10.00">FunctionParams</text>
<polyline fill="none" stroke="black" points="951.5,-1250 1100.5,-1250 "/>
<text text-anchor="start" x="959.5" y="-1238" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; isStar_</text>
<text text-anchor="start" x="959.5" y="-1227" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; isDistinct_</text>
<text text-anchor="start" x="959.5" y="-1216" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; exprs_</text>
<polyline fill="none" stroke="black" points="951.5,-1209 1100.5,-1209 "/>
<text text-anchor="start" x="959.5" y="-1197" font-family="Helvetica,sans-Serif" font-size="10.00">+ FunctionParams()</text>
<text text-anchor="start" x="959.5" y="-1186" font-family="Helvetica,sans-Serif" font-size="10.00">+ FunctionParams()</text>
<text text-anchor="start" x="959.5" y="-1175" font-family="Helvetica,sans-Serif" font-size="10.00">+ isStar()</text>
<text text-anchor="start" x="959.5" y="-1164" font-family="Helvetica,sans-Serif" font-size="10.00">+ isDistinct()</text>
<text text-anchor="start" x="959.5" y="-1153" font-family="Helvetica,sans-Serif" font-size="10.00">+ exprs()</text>
<text text-anchor="start" x="959.5" y="-1142" font-family="Helvetica,sans-Serif" font-size="10.00">+ setIsDistinct()</text>
<text text-anchor="start" x="959.5" y="-1131" font-family="Helvetica,sans-Serif" font-size="10.00">+ size()</text>
<text text-anchor="start" x="959.5" y="-1120" font-family="Helvetica,sans-Serif" font-size="10.00">+ createStarParam()</text>
<text text-anchor="start" x="959.5" y="-1109" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; FunctionParams()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node26 -->
<g id="edge25" class="edge"><title>Node1&#45;&gt;Node26</title>
<path fill="none" stroke="midnightblue" d="M945.224,-1560.48C959.089,-1497.24 987.474,-1367.75 1006.62,-1280.39"/>
<polygon fill="none" stroke="midnightblue" points="941.77,-1559.9 943.047,-1570.41 948.608,-1561.39 941.77,-1559.9"/>
</g>
<!-- Node3 -->
<g id="node3" class="node"><title>Node3</title>
<g id="a_node3"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1AnalyticExpr.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lAnalyticExpr\n|+ FIRST_VALUE_REWRITE\l&#45; fnCall_\l&#45; partitionExprs_\l&#45; orderByElements_\l&#45; window_\l&#45; resetWindow_\l&#45; sqlString_\l&#45; LOG\l&#45; LEAD\l&#45; LAG\l&#45; FIRSTVALUE\l&#45; LASTVALUE\l&#45; RANK\l&#45; DENSERANK\l&#45; ROWNUMBER\l&#45; MIN\l&#45; MAX\l|+ AnalyticExpr()\l+ getFnCall()\l+ getPartitionExprs()\l+ getOrderByElements()\l+ getWindow()\l+ equals()\l+ isConstant()\l+ clone()\l+ toSqlImpl()\l+ debugString()\l+ analyze()\l+ isAnalyticFn()\l+ isAggregateFn()\l~ checkOffset()\l# AnalyticExpr()\l# toThrift()\l# resetAnalysisState()\l# substituteImpl()\l&#45; checkRangeOffsetBoundaryExpr()\l&#45; standardize()\l&#45; getOffsetExpr()\l&#45; syncWithChildren()\l&#45; setChildren()\l&#45; isOffsetFn()\l&#45; isMinMax()\l&#45; isRankingFn()\l}">
<polygon fill="white" stroke="black" points="0,-292.5 0,-811.5 172,-811.5 172,-292.5 0,-292.5"/>
<text text-anchor="start" x="8" y="-799.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="86" y="-788.5" font-family="Helvetica,sans-Serif" font-size="10.00">AnalyticExpr</text>
<polyline fill="none" stroke="black" points="0,-781.5 172,-781.5 "/>
<text text-anchor="start" x="8" y="-769.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FIRST_VALUE_REWRITE</text>
<text text-anchor="start" x="8" y="-758.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; fnCall_</text>
<text text-anchor="start" x="8" y="-747.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; partitionExprs_</text>
<text text-anchor="start" x="8" y="-736.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; orderByElements_</text>
<text text-anchor="start" x="8" y="-725.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; window_</text>
<text text-anchor="start" x="8" y="-714.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; resetWindow_</text>
<text text-anchor="start" x="8" y="-703.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; sqlString_</text>
<text text-anchor="start" x="8" y="-692.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; LOG</text>
<text text-anchor="start" x="8" y="-681.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; LEAD</text>
<text text-anchor="start" x="8" y="-670.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; LAG</text>
<text text-anchor="start" x="8" y="-659.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; FIRSTVALUE</text>
<text text-anchor="start" x="8" y="-648.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; LASTVALUE</text>
<text text-anchor="start" x="8" y="-637.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; RANK</text>
<text text-anchor="start" x="8" y="-626.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; DENSERANK</text>
<text text-anchor="start" x="8" y="-615.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ROWNUMBER</text>
<text text-anchor="start" x="8" y="-604.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; MIN</text>
<text text-anchor="start" x="8" y="-593.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; MAX</text>
<polyline fill="none" stroke="black" points="0,-586.5 172,-586.5 "/>
<text text-anchor="start" x="8" y="-574.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AnalyticExpr()</text>
<text text-anchor="start" x="8" y="-563.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getFnCall()</text>
<text text-anchor="start" x="8" y="-552.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getPartitionExprs()</text>
<text text-anchor="start" x="8" y="-541.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getOrderByElements()</text>
<text text-anchor="start" x="8" y="-530.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getWindow()</text>
<text text-anchor="start" x="8" y="-519.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ equals()</text>
<text text-anchor="start" x="8" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isConstant()</text>
<text text-anchor="start" x="8" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ clone()</text>
<text text-anchor="start" x="8" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSqlImpl()</text>
<text text-anchor="start" x="8" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ debugString()</text>
<text text-anchor="start" x="8" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ analyze()</text>
<text text-anchor="start" x="8" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isAnalyticFn()</text>
<text text-anchor="start" x="8" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isAggregateFn()</text>
<text text-anchor="start" x="8" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">~ checkOffset()</text>
<text text-anchor="start" x="8" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AnalyticExpr()</text>
<text text-anchor="start" x="8" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00"># toThrift()</text>
<text text-anchor="start" x="8" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00"># resetAnalysisState()</text>
<text text-anchor="start" x="8" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00"># substituteImpl()</text>
<text text-anchor="start" x="8" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; checkRangeOffsetBoundaryExpr()</text>
<text text-anchor="start" x="8" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; standardize()</text>
<text text-anchor="start" x="8" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; getOffsetExpr()</text>
<text text-anchor="start" x="8" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; syncWithChildren()</text>
<text text-anchor="start" x="8" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; setChildren()</text>
<text text-anchor="start" x="8" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; isOffsetFn()</text>
<text text-anchor="start" x="8" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; isMinMax()</text>
<text text-anchor="start" x="8" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; isRankingFn()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge"><title>Node2&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M754.757,-1160.41C611.372,-1110.79 338.506,-997.597 181,-812 177.978,-808.44 175.049,-804.775 172.21,-801.018"/>
<polygon fill="none" stroke="midnightblue" points="753.838,-1163.8 764.433,-1163.73 756.11,-1157.18 753.838,-1163.8"/>
</g>
<!-- Node4 -->
<g id="node4" class="node"><title>Node4</title>
<g id="a_node4"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1ArithmeticExpr.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lArithmeticExpr\n|&#45; op_\l|+ getOp()\l+ ArithmeticExpr()\l+ debugString()\l+ toSqlImpl()\l+ analyze()\l+ clone()\l+ initBuiltins()\l~ castChild()\l# ArithmeticExpr()\l# toThrift()\l}">
<polygon fill="white" stroke="black" points="190.5,-468.5 190.5,-635.5 339.5,-635.5 339.5,-468.5 190.5,-468.5"/>
<text text-anchor="start" x="198.5" y="-623.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="265" y="-612.5" font-family="Helvetica,sans-Serif" font-size="10.00">ArithmeticExpr</text>
<polyline fill="none" stroke="black" points="190.5,-605.5 339.5,-605.5 "/>
<text text-anchor="start" x="198.5" y="-593.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; op_</text>
<polyline fill="none" stroke="black" points="190.5,-586.5 339.5,-586.5 "/>
<text text-anchor="start" x="198.5" y="-574.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getOp()</text>
<text text-anchor="start" x="198.5" y="-563.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ArithmeticExpr()</text>
<text text-anchor="start" x="198.5" y="-552.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ debugString()</text>
<text text-anchor="start" x="198.5" y="-541.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSqlImpl()</text>
<text text-anchor="start" x="198.5" y="-530.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ analyze()</text>
<text text-anchor="start" x="198.5" y="-519.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ clone()</text>
<text text-anchor="start" x="198.5" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ initBuiltins()</text>
<text text-anchor="start" x="198.5" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">~ castChild()</text>
<text text-anchor="start" x="198.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ArithmeticExpr()</text>
<text text-anchor="start" x="198.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00"># toThrift()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node4 -->
<g id="edge3" class="edge"><title>Node2&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M755.193,-1142.4C642.933,-1080.82 456.666,-963.277 349,-812 311.654,-759.526 290.267,-689.543 278.43,-635.552"/>
<polygon fill="none" stroke="midnightblue" points="753.692,-1145.56 764.147,-1147.28 757.041,-1139.42 753.692,-1145.56"/>
</g>
<!-- Node5 -->
<g id="node5" class="node"><title>Node5</title>
<g id="a_node5"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1CaseExpr.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lCaseExpr\n|&#45; decodeExpr_\l&#45; hasCaseExpr_\l&#45; hasElseExpr_\l|+ CaseExpr()\l+ CaseExpr()\l+ equals()\l+ toSqlImpl()\l+ analyze()\l+ clone()\l+ initBuiltins()\l~ toCaseSql()\l# CaseExpr()\l# toThrift()\l&#45; isCase()\l&#45; isDecode()\l}">
<polygon fill="white" stroke="black" points="357.5,-446.5 357.5,-657.5 506.5,-657.5 506.5,-446.5 357.5,-446.5"/>
<text text-anchor="start" x="365.5" y="-645.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="432" y="-634.5" font-family="Helvetica,sans-Serif" font-size="10.00">CaseExpr</text>
<polyline fill="none" stroke="black" points="357.5,-627.5 506.5,-627.5 "/>
<text text-anchor="start" x="365.5" y="-615.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; decodeExpr_</text>
<text text-anchor="start" x="365.5" y="-604.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; hasCaseExpr_</text>
<text text-anchor="start" x="365.5" y="-593.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; hasElseExpr_</text>
<polyline fill="none" stroke="black" points="357.5,-586.5 506.5,-586.5 "/>
<text text-anchor="start" x="365.5" y="-574.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CaseExpr()</text>
<text text-anchor="start" x="365.5" y="-563.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CaseExpr()</text>
<text text-anchor="start" x="365.5" y="-552.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ equals()</text>
<text text-anchor="start" x="365.5" y="-541.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSqlImpl()</text>
<text text-anchor="start" x="365.5" y="-530.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ analyze()</text>
<text text-anchor="start" x="365.5" y="-519.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ clone()</text>
<text text-anchor="start" x="365.5" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ initBuiltins()</text>
<text text-anchor="start" x="365.5" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">~ toCaseSql()</text>
<text text-anchor="start" x="365.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00"># CaseExpr()</text>
<text text-anchor="start" x="365.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00"># toThrift()</text>
<text text-anchor="start" x="365.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; isCase()</text>
<text text-anchor="start" x="365.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; isDecode()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node5 -->
<g id="edge4" class="edge"><title>Node2&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M756.748,-1106.27C682.58,-1034.53 580.464,-925.137 516,-812 488.795,-764.254 468.976,-706.463 455.445,-657.596"/>
<polygon fill="none" stroke="midnightblue" points="754.656,-1109.11 764.288,-1113.53 759.51,-1104.07 754.656,-1109.11"/>
</g>
<!-- Node6 -->
<g id="node6" class="node"><title>Node6</title>
<g id="a_node6"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1CastExpr.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lCastExpr\n|&#45; targetTypeDef_\l&#45; isImplicit_\l&#45; noOp_\l|+ CastExpr()\l+ CastExpr()\l+ toSqlImpl()\l+ debugString()\l+ isImplicit()\l+ analyze()\l+ ignoreImplicitCast()\l+ equals()\l+ clone()\l+ initBuiltins()\l# CastExpr()\l# treeToThriftHelper()\l# toThrift()\l&#45; analyze()\l&#45; getFnName()\l}">
<polygon fill="white" stroke="black" points="524.5,-430 524.5,-674 673.5,-674 673.5,-430 524.5,-430"/>
<text text-anchor="start" x="532.5" y="-662" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="599" y="-651" font-family="Helvetica,sans-Serif" font-size="10.00">CastExpr</text>
<polyline fill="none" stroke="black" points="524.5,-644 673.5,-644 "/>
<text text-anchor="start" x="532.5" y="-632" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; targetTypeDef_</text>
<text text-anchor="start" x="532.5" y="-621" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; isImplicit_</text>
<text text-anchor="start" x="532.5" y="-610" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; noOp_</text>
<polyline fill="none" stroke="black" points="524.5,-603 673.5,-603 "/>
<text text-anchor="start" x="532.5" y="-591" font-family="Helvetica,sans-Serif" font-size="10.00">+ CastExpr()</text>
<text text-anchor="start" x="532.5" y="-580" font-family="Helvetica,sans-Serif" font-size="10.00">+ CastExpr()</text>
<text text-anchor="start" x="532.5" y="-569" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSqlImpl()</text>
<text text-anchor="start" x="532.5" y="-558" font-family="Helvetica,sans-Serif" font-size="10.00">+ debugString()</text>
<text text-anchor="start" x="532.5" y="-547" font-family="Helvetica,sans-Serif" font-size="10.00">+ isImplicit()</text>
<text text-anchor="start" x="532.5" y="-536" font-family="Helvetica,sans-Serif" font-size="10.00">+ analyze()</text>
<text text-anchor="start" x="532.5" y="-525" font-family="Helvetica,sans-Serif" font-size="10.00">+ ignoreImplicitCast()</text>
<text text-anchor="start" x="532.5" y="-514" font-family="Helvetica,sans-Serif" font-size="10.00">+ equals()</text>
<text text-anchor="start" x="532.5" y="-503" font-family="Helvetica,sans-Serif" font-size="10.00">+ clone()</text>
<text text-anchor="start" x="532.5" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ initBuiltins()</text>
<text text-anchor="start" x="532.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00"># CastExpr()</text>
<text text-anchor="start" x="532.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00"># treeToThriftHelper()</text>
<text text-anchor="start" x="532.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00"># toThrift()</text>
<text text-anchor="start" x="532.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; analyze()</text>
<text text-anchor="start" x="532.5" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; getFnName()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node6 -->
<g id="edge5" class="edge"><title>Node2&#45;&gt;Node6</title>
<path fill="none" stroke="midnightblue" d="M760.242,-998.005C734.106,-938.861 706.295,-873.2 683,-812 666.058,-767.49 649.44,-717.899 635.516,-674.12"/>
<polygon fill="none" stroke="midnightblue" points="757.171,-999.715 764.421,-1007.44 763.571,-996.879 757.171,-999.715"/>
</g>
<!-- Node7 -->
<g id="node7" class="node"><title>Node7</title>
<g id="a_node7"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1FunctionCallExpr.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lFunctionCallExpr\n|&#45; fnName_\l&#45; params_\l&#45; isAnalyticFnCall_\l&#45; isInternalFnCall_\l&#45; isMergeAggFn_\l&#45; label_\l|+ FunctionCallExpr()\l+ FunctionCallExpr()\l+ FunctionCallExpr()\l+ isMergeAggFn()\l+ resetAnalysisState()\l+ equals()\l+ toSqlImpl()\l+ debugString()\l+ getParams()\l+ isScalarFunction()\land 10 more...\l+ createExpr()\l+ createMergeAggCall()\l~ validateScalarFnParams()\l# FunctionCallExpr()\l# toThrift()\l# getFunctionNotFoundError()\l&#45; FunctionCallExpr()\l&#45; resolveDecimalReturnType()\l}">
<polygon fill="white" stroke="black" points="691.5,-391.5 691.5,-712.5 840.5,-712.5 840.5,-391.5 691.5,-391.5"/>
<text text-anchor="start" x="699.5" y="-700.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="766" y="-689.5" font-family="Helvetica,sans-Serif" font-size="10.00">FunctionCallExpr</text>
<polyline fill="none" stroke="black" points="691.5,-682.5 840.5,-682.5 "/>
<text text-anchor="start" x="699.5" y="-670.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; fnName_</text>
<text text-anchor="start" x="699.5" y="-659.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; params_</text>
<text text-anchor="start" x="699.5" y="-648.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; isAnalyticFnCall_</text>
<text text-anchor="start" x="699.5" y="-637.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; isInternalFnCall_</text>
<text text-anchor="start" x="699.5" y="-626.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; isMergeAggFn_</text>
<text text-anchor="start" x="699.5" y="-615.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; label_</text>
<polyline fill="none" stroke="black" points="691.5,-608.5 840.5,-608.5 "/>
<text text-anchor="start" x="699.5" y="-596.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FunctionCallExpr()</text>
<text text-anchor="start" x="699.5" y="-585.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FunctionCallExpr()</text>
<text text-anchor="start" x="699.5" y="-574.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FunctionCallExpr()</text>
<text text-anchor="start" x="699.5" y="-563.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isMergeAggFn()</text>
<text text-anchor="start" x="699.5" y="-552.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ resetAnalysisState()</text>
<text text-anchor="start" x="699.5" y="-541.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ equals()</text>
<text text-anchor="start" x="699.5" y="-530.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSqlImpl()</text>
<text text-anchor="start" x="699.5" y="-519.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ debugString()</text>
<text text-anchor="start" x="699.5" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getParams()</text>
<text text-anchor="start" x="699.5" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isScalarFunction()</text>
<text text-anchor="start" x="699.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 10 more...</text>
<text text-anchor="start" x="699.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ createExpr()</text>
<text text-anchor="start" x="699.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ createMergeAggCall()</text>
<text text-anchor="start" x="699.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">~ validateScalarFnParams()</text>
<text text-anchor="start" x="699.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00"># FunctionCallExpr()</text>
<text text-anchor="start" x="699.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00"># toThrift()</text>
<text text-anchor="start" x="699.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00"># getFunctionNotFoundError()</text>
<text text-anchor="start" x="699.5" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; FunctionCallExpr()</text>
<text text-anchor="start" x="699.5" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; resolveDecimalReturnType()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node7 -->
<g id="edge6" class="edge"><title>Node2&#45;&gt;Node7</title>
<path fill="none" stroke="midnightblue" d="M803.222,-838.665C797.491,-794.684 791.87,-751.547 786.803,-712.657"/>
<polygon fill="none" stroke="midnightblue" points="799.761,-839.192 804.524,-848.656 806.702,-838.288 799.761,-839.192"/>
</g>
<!-- Node9 -->
<g id="node9" class="node"><title>Node9</title>
<g id="a_node9"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1LiteralExpr.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lLiteralExpr\n||+ LiteralExpr()\l+ getStringValue()\l+ swapSign()\l+ compareTo()\l+ create()\l+ fromThrift()\l+ create()\l# LiteralExpr()\l}">
<polygon fill="white" stroke="black" points="858.5,-479.5 858.5,-624.5 1007.5,-624.5 1007.5,-479.5 858.5,-479.5"/>
<text text-anchor="start" x="866.5" y="-612.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="933" y="-601.5" font-family="Helvetica,sans-Serif" font-size="10.00">LiteralExpr</text>
<polyline fill="none" stroke="black" points="858.5,-594.5 1007.5,-594.5 "/>
<text text-anchor="middle" x="933" y="-582.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="858.5,-575.5 1007.5,-575.5 "/>
<text text-anchor="start" x="866.5" y="-563.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LiteralExpr()</text>
<text text-anchor="start" x="866.5" y="-552.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getStringValue()</text>
<text text-anchor="start" x="866.5" y="-541.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ swapSign()</text>
<text text-anchor="start" x="866.5" y="-530.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ compareTo()</text>
<text text-anchor="start" x="866.5" y="-519.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ create()</text>
<text text-anchor="start" x="866.5" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ fromThrift()</text>
<text text-anchor="start" x="866.5" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ create()</text>
<text text-anchor="start" x="866.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00"># LiteralExpr()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node9 -->
<g id="edge8" class="edge"><title>Node2&#45;&gt;Node9</title>
<path fill="none" stroke="midnightblue" d="M895.324,-838.713C906.062,-757.282 916.419,-678.74 923.547,-624.684"/>
<polygon fill="none" stroke="midnightblue" points="891.85,-838.285 894.012,-848.656 898.79,-839.2 891.85,-838.285"/>
</g>
<!-- Node14 -->
<g id="node14" class="node"><title>Node14</title>
<g id="a_node14"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1Predicate.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lPredicate\n|# isEqJoinConjunct_\l|+ Predicate()\l+ isEqJoinConjunct()\l+ setIsEqJoinConjunct()\l+ analyze()\l+ isSingleColumnPredicate()\l+ getEqSlots()\l+ getBoundSlot()\l# Predicate()\l}">
<polygon fill="white" stroke="black" points="1277.5,-479.5 1277.5,-624.5 1426.5,-624.5 1426.5,-479.5 1277.5,-479.5"/>
<text text-anchor="start" x="1285.5" y="-612.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="1352" y="-601.5" font-family="Helvetica,sans-Serif" font-size="10.00">Predicate</text>
<polyline fill="none" stroke="black" points="1277.5,-594.5 1426.5,-594.5 "/>
<text text-anchor="start" x="1285.5" y="-582.5" font-family="Helvetica,sans-Serif" font-size="10.00"># isEqJoinConjunct_</text>
<polyline fill="none" stroke="black" points="1277.5,-575.5 1426.5,-575.5 "/>
<text text-anchor="start" x="1285.5" y="-563.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Predicate()</text>
<text text-anchor="start" x="1285.5" y="-552.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isEqJoinConjunct()</text>
<text text-anchor="start" x="1285.5" y="-541.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ setIsEqJoinConjunct()</text>
<text text-anchor="start" x="1285.5" y="-530.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ analyze()</text>
<text text-anchor="start" x="1285.5" y="-519.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isSingleColumnPredicate()</text>
<text text-anchor="start" x="1285.5" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getEqSlots()</text>
<text text-anchor="start" x="1285.5" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getBoundSlot()</text>
<text text-anchor="start" x="1285.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00"># Predicate()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node14 -->
<g id="edge13" class="edge"><title>Node2&#45;&gt;Node14</title>
<path fill="none" stroke="midnightblue" d="M939.703,-852.075C940.789,-850.705 941.888,-849.346 943,-848 966.039,-820.11 985.301,-831.137 1016,-812 1110.85,-752.875 1211.31,-672.838 1277.41,-617.456"/>
<polygon fill="none" stroke="midnightblue" points="936.904,-849.973 933.623,-860.047 942.47,-854.218 936.904,-849.973"/>
</g>
<!-- Node23 -->
<g id="node23" class="node"><title>Node23</title>
<g id="a_node23"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1SlotRef.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lSlotRef\n|&#45; rawPath_\l&#45; label_\l&#45; desc_\l&#45; LOG\l|+ SlotRef()\l+ SlotRef()\l+ SlotRef()\l+ analyze()\l+ getDesc()\l+ getSlotId()\l+ getResolvedPath()\l+ toSqlImpl()\l+ debugString()\l+ hashCode()\land 6 more...\l# toThrift()\l# uncheckedCastTo()\l&#45; SlotRef()\l}">
<polygon fill="white" stroke="black" points="1444.5,-430 1444.5,-674 1593.5,-674 1593.5,-430 1444.5,-430"/>
<text text-anchor="start" x="1452.5" y="-662" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="1519" y="-651" font-family="Helvetica,sans-Serif" font-size="10.00">SlotRef</text>
<polyline fill="none" stroke="black" points="1444.5,-644 1593.5,-644 "/>
<text text-anchor="start" x="1452.5" y="-632" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; rawPath_</text>
<text text-anchor="start" x="1452.5" y="-621" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; label_</text>
<text text-anchor="start" x="1452.5" y="-610" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; desc_</text>
<text text-anchor="start" x="1452.5" y="-599" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; LOG</text>
<polyline fill="none" stroke="black" points="1444.5,-592 1593.5,-592 "/>
<text text-anchor="start" x="1452.5" y="-580" font-family="Helvetica,sans-Serif" font-size="10.00">+ SlotRef()</text>
<text text-anchor="start" x="1452.5" y="-569" font-family="Helvetica,sans-Serif" font-size="10.00">+ SlotRef()</text>
<text text-anchor="start" x="1452.5" y="-558" font-family="Helvetica,sans-Serif" font-size="10.00">+ SlotRef()</text>
<text text-anchor="start" x="1452.5" y="-547" font-family="Helvetica,sans-Serif" font-size="10.00">+ analyze()</text>
<text text-anchor="start" x="1452.5" y="-536" font-family="Helvetica,sans-Serif" font-size="10.00">+ getDesc()</text>
<text text-anchor="start" x="1452.5" y="-525" font-family="Helvetica,sans-Serif" font-size="10.00">+ getSlotId()</text>
<text text-anchor="start" x="1452.5" y="-514" font-family="Helvetica,sans-Serif" font-size="10.00">+ getResolvedPath()</text>
<text text-anchor="start" x="1452.5" y="-503" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSqlImpl()</text>
<text text-anchor="start" x="1452.5" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ debugString()</text>
<text text-anchor="start" x="1452.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ hashCode()</text>
<text text-anchor="start" x="1452.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">and 6 more...</text>
<text text-anchor="start" x="1452.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00"># toThrift()</text>
<text text-anchor="start" x="1452.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00"># uncheckedCastTo()</text>
<text text-anchor="start" x="1452.5" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; SlotRef()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node23 -->
<g id="edge22" class="edge"><title>Node2&#45;&gt;Node23</title>
<path fill="none" stroke="midnightblue" d="M941.205,-849.495C941.799,-848.993 942.398,-848.495 943,-848 1027.7,-778.405 1348.74,-879.655 1435,-812 1477.03,-779.034 1498.32,-724.708 1509,-674.301"/>
<polygon fill="none" stroke="midnightblue" points="938.812,-846.939 933.674,-856.205 943.469,-852.165 938.812,-846.939"/>
</g>
<!-- Node24 -->
<g id="node24" class="node"><title>Node24</title>
<g id="a_node24"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1Subquery.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lSubquery\n|# stmt_\l# analyzer_\l&#45; LOG\l|+ getAnalyzer()\l+ getStatement()\l+ toSqlImpl()\l+ Subquery()\l+ Subquery()\l+ analyze()\l+ returnsScalarColumn()\l+ clone()\l# toThrift()\l&#45; createStructTypeFromExprList()\l}">
<polygon fill="white" stroke="black" points="1612,-457.5 1612,-646.5 1774,-646.5 1774,-457.5 1612,-457.5"/>
<text text-anchor="start" x="1620" y="-634.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="1693" y="-623.5" font-family="Helvetica,sans-Serif" font-size="10.00">Subquery</text>
<polyline fill="none" stroke="black" points="1612,-616.5 1774,-616.5 "/>
<text text-anchor="start" x="1620" y="-604.5" font-family="Helvetica,sans-Serif" font-size="10.00"># stmt_</text>
<text text-anchor="start" x="1620" y="-593.5" font-family="Helvetica,sans-Serif" font-size="10.00"># analyzer_</text>
<text text-anchor="start" x="1620" y="-582.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; LOG</text>
<polyline fill="none" stroke="black" points="1612,-575.5 1774,-575.5 "/>
<text text-anchor="start" x="1620" y="-563.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getAnalyzer()</text>
<text text-anchor="start" x="1620" y="-552.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getStatement()</text>
<text text-anchor="start" x="1620" y="-541.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSqlImpl()</text>
<text text-anchor="start" x="1620" y="-530.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Subquery()</text>
<text text-anchor="start" x="1620" y="-519.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Subquery()</text>
<text text-anchor="start" x="1620" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ analyze()</text>
<text text-anchor="start" x="1620" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ returnsScalarColumn()</text>
<text text-anchor="start" x="1620" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ clone()</text>
<text text-anchor="start" x="1620" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00"># toThrift()</text>
<text text-anchor="start" x="1620" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; createStructTypeFromExprList()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node24 -->
<g id="edge23" class="edge"><title>Node2&#45;&gt;Node24</title>
<path fill="none" stroke="midnightblue" d="M941.191,-849.478C941.79,-848.982 942.393,-848.489 943,-848 1057.17,-755.943 1484.69,-900.026 1602,-812 1653.27,-773.526 1675.79,-703.986 1685.61,-646.645"/>
<polygon fill="none" stroke="midnightblue" points="938.823,-846.899 933.606,-856.12 943.435,-852.166 938.823,-846.899"/>
</g>
<!-- Node25 -->
<g id="node25" class="node"><title>Node25</title>
<g id="a_node25"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1TimestampArithmeticExpr.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lTimestampArithmeticExpr\n|&#45; funcName_\l&#45; op_\l&#45; timeUnitIdent_\l&#45; timeUnit_\l&#45; intervalFirst_\l&#45; TIME_UNITS_MAP\l|+ TimestampArithmeticExpr()\l+ TimestampArithmeticExpr()\l+ analyze()\l+ getTimeUnitIdent()\l+ getTimeUnit()\l+ getOp()\l+ toSqlImpl()\l+ clone()\l~ [static initializer]()\l# TimestampArithmeticExpr()\l# toThrift()\l}">
<polygon fill="white" stroke="black" points="1792.5,-435.5 1792.5,-668.5 1941.5,-668.5 1941.5,-435.5 1792.5,-435.5"/>
<text text-anchor="start" x="1800.5" y="-656.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="1867" y="-645.5" font-family="Helvetica,sans-Serif" font-size="10.00">TimestampArithmeticExpr</text>
<polyline fill="none" stroke="black" points="1792.5,-638.5 1941.5,-638.5 "/>
<text text-anchor="start" x="1800.5" y="-626.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; funcName_</text>
<text text-anchor="start" x="1800.5" y="-615.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; op_</text>
<text text-anchor="start" x="1800.5" y="-604.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; timeUnitIdent_</text>
<text text-anchor="start" x="1800.5" y="-593.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; timeUnit_</text>
<text text-anchor="start" x="1800.5" y="-582.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; intervalFirst_</text>
<text text-anchor="start" x="1800.5" y="-571.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; TIME_UNITS_MAP</text>
<polyline fill="none" stroke="black" points="1792.5,-564.5 1941.5,-564.5 "/>
<text text-anchor="start" x="1800.5" y="-552.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TimestampArithmeticExpr()</text>
<text text-anchor="start" x="1800.5" y="-541.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TimestampArithmeticExpr()</text>
<text text-anchor="start" x="1800.5" y="-530.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ analyze()</text>
<text text-anchor="start" x="1800.5" y="-519.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getTimeUnitIdent()</text>
<text text-anchor="start" x="1800.5" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getTimeUnit()</text>
<text text-anchor="start" x="1800.5" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getOp()</text>
<text text-anchor="start" x="1800.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSqlImpl()</text>
<text text-anchor="start" x="1800.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ clone()</text>
<text text-anchor="start" x="1800.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">~ [static initializer]()</text>
<text text-anchor="start" x="1800.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00"># TimestampArithmeticExpr()</text>
<text text-anchor="start" x="1800.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00"># toThrift()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node25 -->
<g id="edge24" class="edge"><title>Node2&#45;&gt;Node25</title>
<path fill="none" stroke="midnightblue" d="M941.183,-849.467C941.785,-848.975 942.39,-848.486 943,-848 1016.07,-789.791 1708.63,-868.536 1783,-812 1827.31,-778.314 1848.63,-720.822 1858.73,-668.549"/>
<polygon fill="none" stroke="midnightblue" points="938.831,-846.874 933.562,-856.066 943.413,-852.166 938.831,-846.874"/>
</g>
<!-- Node8 -->
<g id="node8" class="node"><title>Node8</title>
<g id="a_node8"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1ExtractFromExpr.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lExtractFromExpr\n|&#45; EXTRACT_FIELDS\l|+ ExtractFromExpr()\l+ analyze()\l+ toSqlImpl()\l+ clone()\l~ [static initializer]()\l# ExtractFromExpr()\l# getFunctionNotFoundError()\l}">
<polygon fill="white" stroke="black" points="190.5,-61 190.5,-195 339.5,-195 339.5,-61 190.5,-61"/>
<text text-anchor="start" x="198.5" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="265" y="-172" font-family="Helvetica,sans-Serif" font-size="10.00">ExtractFromExpr</text>
<polyline fill="none" stroke="black" points="190.5,-165 339.5,-165 "/>
<text text-anchor="start" x="198.5" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; EXTRACT_FIELDS</text>
<polyline fill="none" stroke="black" points="190.5,-146 339.5,-146 "/>
<text text-anchor="start" x="198.5" y="-134" font-family="Helvetica,sans-Serif" font-size="10.00">+ ExtractFromExpr()</text>
<text text-anchor="start" x="198.5" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+ analyze()</text>
<text text-anchor="start" x="198.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSqlImpl()</text>
<text text-anchor="start" x="198.5" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00">+ clone()</text>
<text text-anchor="start" x="198.5" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">~ [static initializer]()</text>
<text text-anchor="start" x="198.5" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00"># ExtractFromExpr()</text>
<text text-anchor="start" x="198.5" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00"># getFunctionNotFoundError()</text>
</a>
</g>
</g>
<!-- Node7&#45;&gt;Node8 -->
<g id="edge7" class="edge"><title>Node7&#45;&gt;Node8</title>
<path fill="none" stroke="midnightblue" d="M741.55,-381.577C728.994,-347.349 710.167,-314.891 682,-292 566.477,-198.115 476.137,-333.435 349,-256 325.52,-241.699 307.254,-218.057 293.841,-195.025"/>
<polygon fill="none" stroke="midnightblue" points="738.332,-382.979 744.928,-391.271 744.942,-380.676 738.332,-382.979"/>
</g>
<!-- Node10 -->
<g id="node10" class="node"><title>Node10</title>
<g id="a_node10"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1BoolLiteral.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lBoolLiteral\n|&#45; value_\l|+ BoolLiteral()\l+ BoolLiteral()\l+ debugString()\l+ equals()\l+ getValue()\l+ toSqlImpl()\l+ getStringValue()\l+ compareTo()\l+ clone()\l# BoolLiteral()\l# toThrift()\l# uncheckedCastTo()\l}">
<polygon fill="white" stroke="black" points="357.5,-33.5 357.5,-222.5 506.5,-222.5 506.5,-33.5 357.5,-33.5"/>
<text text-anchor="start" x="365.5" y="-210.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="432" y="-199.5" font-family="Helvetica,sans-Serif" font-size="10.00">BoolLiteral</text>
<polyline fill="none" stroke="black" points="357.5,-192.5 506.5,-192.5 "/>
<text text-anchor="start" x="365.5" y="-180.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; value_</text>
<polyline fill="none" stroke="black" points="357.5,-173.5 506.5,-173.5 "/>
<text text-anchor="start" x="365.5" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ BoolLiteral()</text>
<text text-anchor="start" x="365.5" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ BoolLiteral()</text>
<text text-anchor="start" x="365.5" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ debugString()</text>
<text text-anchor="start" x="365.5" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ equals()</text>
<text text-anchor="start" x="365.5" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getValue()</text>
<text text-anchor="start" x="365.5" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSqlImpl()</text>
<text text-anchor="start" x="365.5" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getStringValue()</text>
<text text-anchor="start" x="365.5" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ compareTo()</text>
<text text-anchor="start" x="365.5" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ clone()</text>
<text text-anchor="start" x="365.5" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00"># BoolLiteral()</text>
<text text-anchor="start" x="365.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00"># toThrift()</text>
<text text-anchor="start" x="365.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00"># uncheckedCastTo()</text>
</a>
</g>
</g>
<!-- Node9&#45;&gt;Node10 -->
<g id="edge9" class="edge"><title>Node9&#45;&gt;Node10</title>
<path fill="none" stroke="midnightblue" d="M929.046,-469.343C921.581,-410.679 901.537,-334.697 849,-292 733.477,-198.115 643.137,-333.435 516,-256 502.002,-247.474 489.858,-235.629 479.49,-222.572"/>
<polygon fill="none" stroke="midnightblue" points="925.577,-469.817 930.219,-479.341 932.529,-469.001 925.577,-469.817"/>
</g>
<!-- Node11 -->
<g id="node11" class="node"><title>Node11</title>
<g id="a_node11"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1NullLiteral.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lNullLiteral\n||+ NullLiteral()\l+ equals()\l+ toSqlImpl()\l+ debugString()\l+ getStringValue()\l+ clone()\l+ create()\l# NullLiteral()\l# uncheckedCastTo()\l# toThrift()\l# resetAnalysisState()\l}">
<polygon fill="white" stroke="black" points="524.5,-39 524.5,-217 673.5,-217 673.5,-39 524.5,-39"/>
<text text-anchor="start" x="532.5" y="-205" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="599" y="-194" font-family="Helvetica,sans-Serif" font-size="10.00">NullLiteral</text>
<polyline fill="none" stroke="black" points="524.5,-187 673.5,-187 "/>
<text text-anchor="middle" x="599" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="524.5,-168 673.5,-168 "/>
<text text-anchor="start" x="532.5" y="-156" font-family="Helvetica,sans-Serif" font-size="10.00">+ NullLiteral()</text>
<text text-anchor="start" x="532.5" y="-145" font-family="Helvetica,sans-Serif" font-size="10.00">+ equals()</text>
<text text-anchor="start" x="532.5" y="-134" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSqlImpl()</text>
<text text-anchor="start" x="532.5" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+ debugString()</text>
<text text-anchor="start" x="532.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+ getStringValue()</text>
<text text-anchor="start" x="532.5" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00">+ clone()</text>
<text text-anchor="start" x="532.5" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ create()</text>
<text text-anchor="start" x="532.5" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00"># NullLiteral()</text>
<text text-anchor="start" x="532.5" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00"># uncheckedCastTo()</text>
<text text-anchor="start" x="532.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00"># toThrift()</text>
<text text-anchor="start" x="532.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00"># resetAnalysisState()</text>
</a>
</g>
</g>
<!-- Node9&#45;&gt;Node11 -->
<g id="edge10" class="edge"><title>Node9&#45;&gt;Node11</title>
<path fill="none" stroke="midnightblue" d="M927.431,-469.134C919.104,-411.521 898.687,-336.949 849,-292 793.016,-241.355 745.307,-298.626 683,-256 668.055,-245.775 655.093,-231.93 644.124,-217.133"/>
<polygon fill="none" stroke="midnightblue" points="923.999,-469.875 928.804,-479.318 930.937,-468.94 923.999,-469.875"/>
</g>
<!-- Node12 -->
<g id="node12" class="node"><title>Node12</title>
<g id="a_node12"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1NumericLiteral.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lNumericLiteral\n|&#45; value_\l&#45; explicitlyCast_\l|+ NumericLiteral()\l+ NumericLiteral()\l+ NumericLiteral()\l+ NumericLiteral()\l+ debugString()\l+ equals()\l+ toSqlImpl()\l+ getStringValue()\l+ getDoubleValue()\l+ getLongValue()\land 6 more...\l# NumericLiteral()\l# toThrift()\l# explicitlyCastToFloat()\l# uncheckedCastTo()\l&#45; init()\l&#45; getUnscaledValue()\l}">
<polygon fill="white" stroke="black" points="691.5,-0.5 691.5,-255.5 840.5,-255.5 840.5,-0.5 691.5,-0.5"/>
<text text-anchor="start" x="699.5" y="-243.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="766" y="-232.5" font-family="Helvetica,sans-Serif" font-size="10.00">NumericLiteral</text>
<polyline fill="none" stroke="black" points="691.5,-225.5 840.5,-225.5 "/>
<text text-anchor="start" x="699.5" y="-213.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; value_</text>
<text text-anchor="start" x="699.5" y="-202.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; explicitlyCast_</text>
<polyline fill="none" stroke="black" points="691.5,-195.5 840.5,-195.5 "/>
<text text-anchor="start" x="699.5" y="-183.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ NumericLiteral()</text>
<text text-anchor="start" x="699.5" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ NumericLiteral()</text>
<text text-anchor="start" x="699.5" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ NumericLiteral()</text>
<text text-anchor="start" x="699.5" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ NumericLiteral()</text>
<text text-anchor="start" x="699.5" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ debugString()</text>
<text text-anchor="start" x="699.5" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ equals()</text>
<text text-anchor="start" x="699.5" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSqlImpl()</text>
<text text-anchor="start" x="699.5" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getStringValue()</text>
<text text-anchor="start" x="699.5" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getDoubleValue()</text>
<text text-anchor="start" x="699.5" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getLongValue()</text>
<text text-anchor="start" x="699.5" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 6 more...</text>
<text text-anchor="start" x="699.5" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00"># NumericLiteral()</text>
<text text-anchor="start" x="699.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00"># toThrift()</text>
<text text-anchor="start" x="699.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00"># explicitlyCastToFloat()</text>
<text text-anchor="start" x="699.5" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00"># uncheckedCastTo()</text>
<text text-anchor="start" x="699.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; init()</text>
<text text-anchor="start" x="699.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; getUnscaledValue()</text>
</a>
</g>
</g>
<!-- Node9&#45;&gt;Node12 -->
<g id="edge11" class="edge"><title>Node9&#45;&gt;Node12</title>
<path fill="none" stroke="midnightblue" d="M910.164,-469.512C894.825,-417.903 873.067,-350.167 849,-292 844.083,-280.116 838.644,-267.912 832.972,-255.788"/>
<polygon fill="none" stroke="midnightblue" points="906.86,-470.683 913.049,-479.283 913.574,-468.701 906.86,-470.683"/>
</g>
<!-- Node13 -->
<g id="node13" class="node"><title>Node13</title>
<g id="a_node13"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1StringLiteral.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lStringLiteral\n|&#45; value_\l|+ StringLiteral()\l+ StringLiteral()\l+ equals()\l+ toSqlImpl()\l+ getValue()\l+ getUnescapedValue()\l+ getStringValue()\l+ debugString()\l+ convertToNumber()\l+ compareTo()\l+ clone()\l# StringLiteral()\l# toThrift()\l# uncheckedCastTo()\l}">
<polygon fill="white" stroke="black" points="858.5,-22.5 858.5,-233.5 1007.5,-233.5 1007.5,-22.5 858.5,-22.5"/>
<text text-anchor="start" x="866.5" y="-221.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="933" y="-210.5" font-family="Helvetica,sans-Serif" font-size="10.00">StringLiteral</text>
<polyline fill="none" stroke="black" points="858.5,-203.5 1007.5,-203.5 "/>
<text text-anchor="start" x="866.5" y="-191.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; value_</text>
<polyline fill="none" stroke="black" points="858.5,-184.5 1007.5,-184.5 "/>
<text text-anchor="start" x="866.5" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ StringLiteral()</text>
<text text-anchor="start" x="866.5" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ StringLiteral()</text>
<text text-anchor="start" x="866.5" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ equals()</text>
<text text-anchor="start" x="866.5" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSqlImpl()</text>
<text text-anchor="start" x="866.5" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getValue()</text>
<text text-anchor="start" x="866.5" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getUnescapedValue()</text>
<text text-anchor="start" x="866.5" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getStringValue()</text>
<text text-anchor="start" x="866.5" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ debugString()</text>
<text text-anchor="start" x="866.5" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ convertToNumber()</text>
<text text-anchor="start" x="866.5" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ compareTo()</text>
<text text-anchor="start" x="866.5" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ clone()</text>
<text text-anchor="start" x="866.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00"># StringLiteral()</text>
<text text-anchor="start" x="866.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00"># toThrift()</text>
<text text-anchor="start" x="866.5" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00"># uncheckedCastTo()</text>
</a>
</g>
</g>
<!-- Node9&#45;&gt;Node13 -->
<g id="edge12" class="edge"><title>Node9&#45;&gt;Node13</title>
<path fill="none" stroke="midnightblue" d="M933,-469.306C933,-402.171 933,-306.612 933,-233.838"/>
<polygon fill="none" stroke="midnightblue" points="929.5,-469.413 933,-479.413 936.5,-469.413 929.5,-469.413"/>
</g>
<!-- Node15 -->
<g id="node15" class="node"><title>Node15</title>
<g id="a_node15"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1BetweenPredicate.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lBetweenPredicate\n|&#45; isNotBetween_\l&#45; rewrittenPredicate_\l&#45; originalChildren_\l|+ BetweenPredicate()\l+ getRewrittenPredicate()\l+ analyze()\l+ getConjuncts()\l+ toSqlImpl()\l+ clone()\l+ reset()\l# BetweenPredicate()\l# toThrift()\l# substituteImpl()\l}">
<polygon fill="white" stroke="black" points="1025.5,-33.5 1025.5,-222.5 1174.5,-222.5 1174.5,-33.5 1025.5,-33.5"/>
<text text-anchor="start" x="1033.5" y="-210.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="1100" y="-199.5" font-family="Helvetica,sans-Serif" font-size="10.00">BetweenPredicate</text>
<polyline fill="none" stroke="black" points="1025.5,-192.5 1174.5,-192.5 "/>
<text text-anchor="start" x="1033.5" y="-180.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; isNotBetween_</text>
<text text-anchor="start" x="1033.5" y="-169.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; rewrittenPredicate_</text>
<text text-anchor="start" x="1033.5" y="-158.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; originalChildren_</text>
<polyline fill="none" stroke="black" points="1025.5,-151.5 1174.5,-151.5 "/>
<text text-anchor="start" x="1033.5" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ BetweenPredicate()</text>
<text text-anchor="start" x="1033.5" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getRewrittenPredicate()</text>
<text text-anchor="start" x="1033.5" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ analyze()</text>
<text text-anchor="start" x="1033.5" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getConjuncts()</text>
<text text-anchor="start" x="1033.5" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSqlImpl()</text>
<text text-anchor="start" x="1033.5" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ clone()</text>
<text text-anchor="start" x="1033.5" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ reset()</text>
<text text-anchor="start" x="1033.5" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00"># BetweenPredicate()</text>
<text text-anchor="start" x="1033.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00"># toThrift()</text>
<text text-anchor="start" x="1033.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00"># substituteImpl()</text>
</a>
</g>
</g>
<!-- Node14&#45;&gt;Node15 -->
<g id="edge14" class="edge"><title>Node14&#45;&gt;Node15</title>
<path fill="none" stroke="midnightblue" d="M1303.95,-470.533C1261.77,-399.908 1200.41,-297.148 1156.02,-222.809"/>
<polygon fill="none" stroke="midnightblue" points="1301.12,-472.622 1309.25,-479.413 1307.13,-469.033 1301.12,-472.622"/>
</g>
<!-- Node16 -->
<g id="node16" class="node"><title>Node16</title>
<g id="a_node16"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1BinaryPredicate.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lBinaryPredicate\n|&#45; op_\l&#45; LOG\l|+ getOp()\l+ setOp()\l+ BinaryPredicate()\l+ isNullMatchingEq()\l+ toSqlImpl()\l+ debugString()\l+ analyze()\l+ getSlotBinding()\l+ getEqSlots()\l+ getBoundSlot()\l+ negate()\l+ equals()\l+ clone()\l+ initBuiltins()\l+ getEqSlots()\l# BinaryPredicate()\l# toThrift()\l}">
<polygon fill="white" stroke="black" points="1192.5,-0.5 1192.5,-255.5 1341.5,-255.5 1341.5,-0.5 1192.5,-0.5"/>
<text text-anchor="start" x="1200.5" y="-243.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="1267" y="-232.5" font-family="Helvetica,sans-Serif" font-size="10.00">BinaryPredicate</text>
<polyline fill="none" stroke="black" points="1192.5,-225.5 1341.5,-225.5 "/>
<text text-anchor="start" x="1200.5" y="-213.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; op_</text>
<text text-anchor="start" x="1200.5" y="-202.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; LOG</text>
<polyline fill="none" stroke="black" points="1192.5,-195.5 1341.5,-195.5 "/>
<text text-anchor="start" x="1200.5" y="-183.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getOp()</text>
<text text-anchor="start" x="1200.5" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ setOp()</text>
<text text-anchor="start" x="1200.5" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ BinaryPredicate()</text>
<text text-anchor="start" x="1200.5" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isNullMatchingEq()</text>
<text text-anchor="start" x="1200.5" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSqlImpl()</text>
<text text-anchor="start" x="1200.5" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ debugString()</text>
<text text-anchor="start" x="1200.5" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ analyze()</text>
<text text-anchor="start" x="1200.5" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getSlotBinding()</text>
<text text-anchor="start" x="1200.5" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getEqSlots()</text>
<text text-anchor="start" x="1200.5" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getBoundSlot()</text>
<text text-anchor="start" x="1200.5" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ negate()</text>
<text text-anchor="start" x="1200.5" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ equals()</text>
<text text-anchor="start" x="1200.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ clone()</text>
<text text-anchor="start" x="1200.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ initBuiltins()</text>
<text text-anchor="start" x="1200.5" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getEqSlots()</text>
<text text-anchor="start" x="1200.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00"># BinaryPredicate()</text>
<text text-anchor="start" x="1200.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00"># toThrift()</text>
</a>
</g>
</g>
<!-- Node14&#45;&gt;Node16 -->
<g id="edge15" class="edge"><title>Node14&#45;&gt;Node16</title>
<path fill="none" stroke="midnightblue" d="M1335.59,-469.512C1323.38,-408.889 1306.48,-325.006 1292.51,-255.668"/>
<polygon fill="none" stroke="midnightblue" points="1332.18,-470.301 1337.58,-479.413 1339.04,-468.919 1332.18,-470.301"/>
</g>
<!-- Node17 -->
<g id="node17" class="node"><title>Node17</title>
<g id="a_node17"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1CompoundPredicate.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lCompoundPredicate\n|&#45; op_\l|+ CompoundPredicate()\l+ getOp()\l+ equals()\l+ debugString()\l+ toSqlImpl()\l+ analyze()\l+ getBoundSlots()\l+ negate()\l+ clone()\l+ initBuiltins()\l+ createConjunctivePredicate()\l+ createConjunction()\l# CompoundPredicate()\l# toThrift()\l}">
<polygon fill="white" stroke="black" points="1360,-22.5 1360,-233.5 1512,-233.5 1512,-22.5 1360,-22.5"/>
<text text-anchor="start" x="1368" y="-221.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="1436" y="-210.5" font-family="Helvetica,sans-Serif" font-size="10.00">CompoundPredicate</text>
<polyline fill="none" stroke="black" points="1360,-203.5 1512,-203.5 "/>
<text text-anchor="start" x="1368" y="-191.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; op_</text>
<polyline fill="none" stroke="black" points="1360,-184.5 1512,-184.5 "/>
<text text-anchor="start" x="1368" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CompoundPredicate()</text>
<text text-anchor="start" x="1368" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getOp()</text>
<text text-anchor="start" x="1368" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ equals()</text>
<text text-anchor="start" x="1368" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ debugString()</text>
<text text-anchor="start" x="1368" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSqlImpl()</text>
<text text-anchor="start" x="1368" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ analyze()</text>
<text text-anchor="start" x="1368" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getBoundSlots()</text>
<text text-anchor="start" x="1368" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ negate()</text>
<text text-anchor="start" x="1368" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ clone()</text>
<text text-anchor="start" x="1368" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ initBuiltins()</text>
<text text-anchor="start" x="1368" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ createConjunctivePredicate()</text>
<text text-anchor="start" x="1368" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ createConjunction()</text>
<text text-anchor="start" x="1368" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00"># CompoundPredicate()</text>
<text text-anchor="start" x="1368" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00"># toThrift()</text>
</a>
</g>
</g>
<!-- Node14&#45;&gt;Node17 -->
<g id="edge16" class="edge"><title>Node14&#45;&gt;Node17</title>
<path fill="none" stroke="midnightblue" d="M1368.26,-469.306C1381.62,-402.171 1400.65,-306.612 1415.13,-233.838"/>
<polygon fill="none" stroke="midnightblue" points="1364.77,-468.923 1366.25,-479.413 1371.63,-470.289 1364.77,-468.923"/>
</g>
<!-- Node18 -->
<g id="node18" class="node"><title>Node18</title>
<g id="a_node18"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1ExistsPredicate.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lExistsPredicate\n|&#45; notExists_\l&#45; LOG\l|+ isNotExists()\l+ ExistsPredicate()\l+ negate()\l+ ExistsPredicate()\l+ analyze()\l+ clone()\l+ toSqlImpl()\l# toThrift()\l}">
<polygon fill="white" stroke="black" points="1530.5,-50 1530.5,-206 1679.5,-206 1679.5,-50 1530.5,-50"/>
<text text-anchor="start" x="1538.5" y="-194" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="1605" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00">ExistsPredicate</text>
<polyline fill="none" stroke="black" points="1530.5,-176 1679.5,-176 "/>
<text text-anchor="start" x="1538.5" y="-164" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; notExists_</text>
<text text-anchor="start" x="1538.5" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; LOG</text>
<polyline fill="none" stroke="black" points="1530.5,-146 1679.5,-146 "/>
<text text-anchor="start" x="1538.5" y="-134" font-family="Helvetica,sans-Serif" font-size="10.00">+ isNotExists()</text>
<text text-anchor="start" x="1538.5" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+ ExistsPredicate()</text>
<text text-anchor="start" x="1538.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+ negate()</text>
<text text-anchor="start" x="1538.5" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00">+ ExistsPredicate()</text>
<text text-anchor="start" x="1538.5" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ analyze()</text>
<text text-anchor="start" x="1538.5" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">+ clone()</text>
<text text-anchor="start" x="1538.5" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSqlImpl()</text>
<text text-anchor="start" x="1538.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00"># toThrift()</text>
</a>
</g>
</g>
<!-- Node14&#45;&gt;Node18 -->
<g id="edge17" class="edge"><title>Node14&#45;&gt;Node18</title>
<path fill="none" stroke="midnightblue" d="M1360.6,-469.532C1370.4,-413.52 1391.33,-340.736 1436,-292 1463.72,-261.756 1489.45,-282.226 1521,-256 1537.67,-242.143 1552.28,-224.133 1564.44,-206.052"/>
<polygon fill="none" stroke="midnightblue" points="1357.14,-468.992 1358.95,-479.431 1364.04,-470.141 1357.14,-468.992"/>
</g>
<!-- Node19 -->
<g id="node19" class="node"><title>Node19</title>
<g id="a_node19"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1InPredicate.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lInPredicate\n|&#45; isNotIn_\l&#45; IN_SET_LOOKUP\l&#45; NOT_IN_SET_LOOKUP\l&#45; IN_ITERATE\l&#45; NOT_IN_ITERATE\l|+ isNotIn()\l+ InPredicate()\l+ InPredicate()\l+ analyze()\l+ toSqlImpl()\l+ getBoundSlot()\l+ negate()\l+ clone()\l+ initBuiltins()\l# InPredicate()\l# toThrift()\l}">
<polygon fill="white" stroke="black" points="1697.5,-17 1697.5,-239 1846.5,-239 1846.5,-17 1697.5,-17"/>
<text text-anchor="start" x="1705.5" y="-227" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="1772" y="-216" font-family="Helvetica,sans-Serif" font-size="10.00">InPredicate</text>
<polyline fill="none" stroke="black" points="1697.5,-209 1846.5,-209 "/>
<text text-anchor="start" x="1705.5" y="-197" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; isNotIn_</text>
<text text-anchor="start" x="1705.5" y="-186" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; IN_SET_LOOKUP</text>
<text text-anchor="start" x="1705.5" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; NOT_IN_SET_LOOKUP</text>
<text text-anchor="start" x="1705.5" y="-164" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; IN_ITERATE</text>
<text text-anchor="start" x="1705.5" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; NOT_IN_ITERATE</text>
<polyline fill="none" stroke="black" points="1697.5,-146 1846.5,-146 "/>
<text text-anchor="start" x="1705.5" y="-134" font-family="Helvetica,sans-Serif" font-size="10.00">+ isNotIn()</text>
<text text-anchor="start" x="1705.5" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+ InPredicate()</text>
<text text-anchor="start" x="1705.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+ InPredicate()</text>
<text text-anchor="start" x="1705.5" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00">+ analyze()</text>
<text text-anchor="start" x="1705.5" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSqlImpl()</text>
<text text-anchor="start" x="1705.5" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">+ getBoundSlot()</text>
<text text-anchor="start" x="1705.5" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ negate()</text>
<text text-anchor="start" x="1705.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ clone()</text>
<text text-anchor="start" x="1705.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ initBuiltins()</text>
<text text-anchor="start" x="1705.5" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00"># InPredicate()</text>
<text text-anchor="start" x="1705.5" y="-24" font-family="Helvetica,sans-Serif" font-size="10.00"># toThrift()</text>
</a>
</g>
</g>
<!-- Node14&#45;&gt;Node19 -->
<g id="edge18" class="edge"><title>Node14&#45;&gt;Node19</title>
<path fill="none" stroke="midnightblue" d="M1356.46,-469.284C1364.2,-410.965 1384.37,-335.445 1436,-292 1522.57,-219.155 1592.4,-316.496 1688,-256 1695.6,-251.194 1702.65,-245.424 1709.19,-239.032"/>
<polygon fill="none" stroke="midnightblue" points="1352.99,-468.871 1355.24,-479.223 1359.93,-469.725 1352.99,-468.871"/>
</g>
<!-- Node20 -->
<g id="node20" class="node"><title>Node20</title>
<g id="a_node20"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1IsNullPredicate.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lIsNullPredicate\n|&#45; isNotNull_\l&#45; IS_NULL\l&#45; IS_NOT_NULL\l|+ IsNullPredicate()\l+ isNotNull()\l+ equals()\l+ toSqlImpl()\l+ debugString()\l+ analyze()\l+ getBoundSlot()\l+ negate()\l+ clone()\l+ initBuiltins()\l# IsNullPredicate()\l# toThrift()\l}">
<polygon fill="white" stroke="black" points="1864.5,-22.5 1864.5,-233.5 2013.5,-233.5 2013.5,-22.5 1864.5,-22.5"/>
<text text-anchor="start" x="1872.5" y="-221.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="1939" y="-210.5" font-family="Helvetica,sans-Serif" font-size="10.00">IsNullPredicate</text>
<polyline fill="none" stroke="black" points="1864.5,-203.5 2013.5,-203.5 "/>
<text text-anchor="start" x="1872.5" y="-191.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; isNotNull_</text>
<text text-anchor="start" x="1872.5" y="-180.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; IS_NULL</text>
<text text-anchor="start" x="1872.5" y="-169.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; IS_NOT_NULL</text>
<polyline fill="none" stroke="black" points="1864.5,-162.5 2013.5,-162.5 "/>
<text text-anchor="start" x="1872.5" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsNullPredicate()</text>
<text text-anchor="start" x="1872.5" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isNotNull()</text>
<text text-anchor="start" x="1872.5" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ equals()</text>
<text text-anchor="start" x="1872.5" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSqlImpl()</text>
<text text-anchor="start" x="1872.5" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ debugString()</text>
<text text-anchor="start" x="1872.5" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ analyze()</text>
<text text-anchor="start" x="1872.5" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getBoundSlot()</text>
<text text-anchor="start" x="1872.5" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ negate()</text>
<text text-anchor="start" x="1872.5" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ clone()</text>
<text text-anchor="start" x="1872.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ initBuiltins()</text>
<text text-anchor="start" x="1872.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00"># IsNullPredicate()</text>
<text text-anchor="start" x="1872.5" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00"># toThrift()</text>
</a>
</g>
</g>
<!-- Node14&#45;&gt;Node20 -->
<g id="edge19" class="edge"><title>Node14&#45;&gt;Node20</title>
<path fill="none" stroke="midnightblue" d="M1355.65,-469.297C1362.94,-410.42 1382.91,-334.186 1436,-292 1509.17,-233.861 1774.66,-303.733 1855,-256 1865.11,-249.992 1874.25,-242.235 1882.44,-233.518"/>
<polygon fill="none" stroke="midnightblue" points="1352.16,-468.999 1354.5,-479.331 1359.11,-469.791 1352.16,-468.999"/>
</g>
<!-- Node21 -->
<g id="node21" class="node"><title>Node21</title>
<g id="a_node21"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1LikePredicate.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lLikePredicate\n|&#45; op_\l|+ LikePredicate()\l+ LikePredicate()\l+ equals()\l+ toSqlImpl()\l+ analyze()\l+ clone()\l+ initBuiltins()\l# toThrift()\l}">
<polygon fill="white" stroke="black" points="2031.5,-55.5 2031.5,-200.5 2180.5,-200.5 2180.5,-55.5 2031.5,-55.5"/>
<text text-anchor="start" x="2039.5" y="-188.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="2106" y="-177.5" font-family="Helvetica,sans-Serif" font-size="10.00">LikePredicate</text>
<polyline fill="none" stroke="black" points="2031.5,-170.5 2180.5,-170.5 "/>
<text text-anchor="start" x="2039.5" y="-158.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; op_</text>
<polyline fill="none" stroke="black" points="2031.5,-151.5 2180.5,-151.5 "/>
<text text-anchor="start" x="2039.5" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LikePredicate()</text>
<text text-anchor="start" x="2039.5" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LikePredicate()</text>
<text text-anchor="start" x="2039.5" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ equals()</text>
<text text-anchor="start" x="2039.5" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSqlImpl()</text>
<text text-anchor="start" x="2039.5" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ analyze()</text>
<text text-anchor="start" x="2039.5" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ clone()</text>
<text text-anchor="start" x="2039.5" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ initBuiltins()</text>
<text text-anchor="start" x="2039.5" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00"># toThrift()</text>
</a>
</g>
</g>
<!-- Node14&#45;&gt;Node21 -->
<g id="edge20" class="edge"><title>Node14&#45;&gt;Node21</title>
<path fill="none" stroke="midnightblue" d="M1355.32,-469.212C1362.43,-410.1 1382.31,-333.605 1436,-292 1539.13,-212.084 1909.03,-321.268 2022,-256 2044.09,-243.238 2061.46,-222.052 2074.53,-200.606"/>
<polygon fill="none" stroke="midnightblue" points="1351.82,-468.963 1354.21,-479.286 1358.78,-469.73 1351.82,-468.963"/>
</g>
<!-- Node22 -->
<g id="node22" class="node"><title>Node22</title>
<g id="a_node22"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1TupleIsNullPredicate.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lTupleIsNullPredicate\n|&#45; tupleIds_\l&#45; analyzer_\l|+ TupleIsNullPredicate()\l+ analyze()\l+ equals()\l+ getTupleIds()\l+ isConstant()\l+ clone()\l+ wrapExprs()\l+ wrapExpr()\l# TupleIsNullPredicate()\l# toThrift()\l# toSqlImpl()\l&#45; requiresNullWrapping()\l}">
<polygon fill="white" stroke="black" points="2198.5,-28 2198.5,-228 2347.5,-228 2347.5,-28 2198.5,-28"/>
<text text-anchor="start" x="2206.5" y="-216" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="2273" y="-205" font-family="Helvetica,sans-Serif" font-size="10.00">TupleIsNullPredicate</text>
<polyline fill="none" stroke="black" points="2198.5,-198 2347.5,-198 "/>
<text text-anchor="start" x="2206.5" y="-186" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; tupleIds_</text>
<text text-anchor="start" x="2206.5" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; analyzer_</text>
<polyline fill="none" stroke="black" points="2198.5,-168 2347.5,-168 "/>
<text text-anchor="start" x="2206.5" y="-156" font-family="Helvetica,sans-Serif" font-size="10.00">+ TupleIsNullPredicate()</text>
<text text-anchor="start" x="2206.5" y="-145" font-family="Helvetica,sans-Serif" font-size="10.00">+ analyze()</text>
<text text-anchor="start" x="2206.5" y="-134" font-family="Helvetica,sans-Serif" font-size="10.00">+ equals()</text>
<text text-anchor="start" x="2206.5" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+ getTupleIds()</text>
<text text-anchor="start" x="2206.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+ isConstant()</text>
<text text-anchor="start" x="2206.5" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00">+ clone()</text>
<text text-anchor="start" x="2206.5" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ wrapExprs()</text>
<text text-anchor="start" x="2206.5" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">+ wrapExpr()</text>
<text text-anchor="start" x="2206.5" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00"># TupleIsNullPredicate()</text>
<text text-anchor="start" x="2206.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00"># toThrift()</text>
<text text-anchor="start" x="2206.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00"># toSqlImpl()</text>
<text text-anchor="start" x="2206.5" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; requiresNullWrapping()</text>
</a>
</g>
</g>
<!-- Node14&#45;&gt;Node22 -->
<g id="edge21" class="edge"><title>Node14&#45;&gt;Node22</title>
<path fill="none" stroke="midnightblue" d="M1355.12,-469.293C1362.12,-410.031 1381.94,-333.307 1436,-292 1502.56,-241.143 2116.19,-297.409 2189,-256 2201.41,-248.943 2212.32,-239.212 2221.81,-228.25"/>
<polygon fill="none" stroke="midnightblue" points="1351.62,-469.074 1354.03,-479.392 1358.58,-469.825 1351.62,-469.074"/>
</g>
</g>
</svg>