|  | <?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- isAuxExpr_\l- LOG\l- NEGATE_FN\l- 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- isExplicitCastToDecimal()\l- 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">- isAuxExpr_</text> | 
|  | <text text-anchor="start" x="772.5" y="-1304" font-family="Helvetica,sans-Serif" font-size="10.00">- LOG</text> | 
|  | <text text-anchor="start" x="772.5" y="-1293" font-family="Helvetica,sans-Serif" font-size="10.00">- NEGATE_FN</text> | 
|  | <text text-anchor="start" x="772.5" y="-1282" font-family="Helvetica,sans-Serif" font-size="10.00">- 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">- isExplicitCastToDecimal()</text> | 
|  | <text text-anchor="start" x="772.5" y="-867" font-family="Helvetica,sans-Serif" font-size="10.00">- 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->Node2 --> | 
|  | <g id="edge1" class="edge"><title>Node1->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|- isStar_\l- isDistinct_\l- exprs_\l|+ FunctionParams()\l+ FunctionParams()\l+ isStar()\l+ isDistinct()\l+ exprs()\l+ setIsDistinct()\l+ size()\l+ createStarParam()\l- 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">- isStar_</text> | 
|  | <text text-anchor="start" x="959.5" y="-1227" font-family="Helvetica,sans-Serif" font-size="10.00">- isDistinct_</text> | 
|  | <text text-anchor="start" x="959.5" y="-1216" font-family="Helvetica,sans-Serif" font-size="10.00">- 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">- FunctionParams()</text> | 
|  | </a> | 
|  | </g> | 
|  | </g> | 
|  | <!-- Node1->Node26 --> | 
|  | <g id="edge25" class="edge"><title>Node1->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- fnCall_\l- partitionExprs_\l- orderByElements_\l- window_\l- resetWindow_\l- sqlString_\l- LOG\l- LEAD\l- LAG\l- FIRSTVALUE\l- LASTVALUE\l- RANK\l- DENSERANK\l- ROWNUMBER\l- MIN\l- 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- checkRangeOffsetBoundaryExpr()\l- standardize()\l- getOffsetExpr()\l- syncWithChildren()\l- setChildren()\l- isOffsetFn()\l- isMinMax()\l- 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">- fnCall_</text> | 
|  | <text text-anchor="start" x="8" y="-747.5" font-family="Helvetica,sans-Serif" font-size="10.00">- partitionExprs_</text> | 
|  | <text text-anchor="start" x="8" y="-736.5" font-family="Helvetica,sans-Serif" font-size="10.00">- orderByElements_</text> | 
|  | <text text-anchor="start" x="8" y="-725.5" font-family="Helvetica,sans-Serif" font-size="10.00">- window_</text> | 
|  | <text text-anchor="start" x="8" y="-714.5" font-family="Helvetica,sans-Serif" font-size="10.00">- resetWindow_</text> | 
|  | <text text-anchor="start" x="8" y="-703.5" font-family="Helvetica,sans-Serif" font-size="10.00">- sqlString_</text> | 
|  | <text text-anchor="start" x="8" y="-692.5" font-family="Helvetica,sans-Serif" font-size="10.00">- LOG</text> | 
|  | <text text-anchor="start" x="8" y="-681.5" font-family="Helvetica,sans-Serif" font-size="10.00">- LEAD</text> | 
|  | <text text-anchor="start" x="8" y="-670.5" font-family="Helvetica,sans-Serif" font-size="10.00">- LAG</text> | 
|  | <text text-anchor="start" x="8" y="-659.5" font-family="Helvetica,sans-Serif" font-size="10.00">- FIRSTVALUE</text> | 
|  | <text text-anchor="start" x="8" y="-648.5" font-family="Helvetica,sans-Serif" font-size="10.00">- LASTVALUE</text> | 
|  | <text text-anchor="start" x="8" y="-637.5" font-family="Helvetica,sans-Serif" font-size="10.00">- RANK</text> | 
|  | <text text-anchor="start" x="8" y="-626.5" font-family="Helvetica,sans-Serif" font-size="10.00">- DENSERANK</text> | 
|  | <text text-anchor="start" x="8" y="-615.5" font-family="Helvetica,sans-Serif" font-size="10.00">- ROWNUMBER</text> | 
|  | <text text-anchor="start" x="8" y="-604.5" font-family="Helvetica,sans-Serif" font-size="10.00">- MIN</text> | 
|  | <text text-anchor="start" x="8" y="-593.5" font-family="Helvetica,sans-Serif" font-size="10.00">- 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">- checkRangeOffsetBoundaryExpr()</text> | 
|  | <text text-anchor="start" x="8" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00">- standardize()</text> | 
|  | <text text-anchor="start" x="8" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00">- getOffsetExpr()</text> | 
|  | <text text-anchor="start" x="8" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00">- syncWithChildren()</text> | 
|  | <text text-anchor="start" x="8" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">- setChildren()</text> | 
|  | <text text-anchor="start" x="8" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">- isOffsetFn()</text> | 
|  | <text text-anchor="start" x="8" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">- isMinMax()</text> | 
|  | <text text-anchor="start" x="8" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">- isRankingFn()</text> | 
|  | </a> | 
|  | </g> | 
|  | </g> | 
|  | <!-- Node2->Node3 --> | 
|  | <g id="edge2" class="edge"><title>Node2->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|- 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">- 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->Node4 --> | 
|  | <g id="edge3" class="edge"><title>Node2->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|- decodeExpr_\l- hasCaseExpr_\l- hasElseExpr_\l|+ CaseExpr()\l+ CaseExpr()\l+ equals()\l+ toSqlImpl()\l+ analyze()\l+ clone()\l+ initBuiltins()\l~ toCaseSql()\l# CaseExpr()\l# toThrift()\l- isCase()\l- 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">- decodeExpr_</text> | 
|  | <text text-anchor="start" x="365.5" y="-604.5" font-family="Helvetica,sans-Serif" font-size="10.00">- hasCaseExpr_</text> | 
|  | <text text-anchor="start" x="365.5" y="-593.5" font-family="Helvetica,sans-Serif" font-size="10.00">- 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">- isCase()</text> | 
|  | <text text-anchor="start" x="365.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">- isDecode()</text> | 
|  | </a> | 
|  | </g> | 
|  | </g> | 
|  | <!-- Node2->Node5 --> | 
|  | <g id="edge4" class="edge"><title>Node2->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|- targetTypeDef_\l- isImplicit_\l- 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- analyze()\l- 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">- targetTypeDef_</text> | 
|  | <text text-anchor="start" x="532.5" y="-621" font-family="Helvetica,sans-Serif" font-size="10.00">- isImplicit_</text> | 
|  | <text text-anchor="start" x="532.5" y="-610" font-family="Helvetica,sans-Serif" font-size="10.00">- 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">- analyze()</text> | 
|  | <text text-anchor="start" x="532.5" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">- getFnName()</text> | 
|  | </a> | 
|  | </g> | 
|  | </g> | 
|  | <!-- Node2->Node6 --> | 
|  | <g id="edge5" class="edge"><title>Node2->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|- fnName_\l- params_\l- isAnalyticFnCall_\l- isInternalFnCall_\l- isMergeAggFn_\l- 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- FunctionCallExpr()\l- 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">- fnName_</text> | 
|  | <text text-anchor="start" x="699.5" y="-659.5" font-family="Helvetica,sans-Serif" font-size="10.00">- params_</text> | 
|  | <text text-anchor="start" x="699.5" y="-648.5" font-family="Helvetica,sans-Serif" font-size="10.00">- isAnalyticFnCall_</text> | 
|  | <text text-anchor="start" x="699.5" y="-637.5" font-family="Helvetica,sans-Serif" font-size="10.00">- isInternalFnCall_</text> | 
|  | <text text-anchor="start" x="699.5" y="-626.5" font-family="Helvetica,sans-Serif" font-size="10.00">- isMergeAggFn_</text> | 
|  | <text text-anchor="start" x="699.5" y="-615.5" font-family="Helvetica,sans-Serif" font-size="10.00">- 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">- FunctionCallExpr()</text> | 
|  | <text text-anchor="start" x="699.5" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00">- resolveDecimalReturnType()</text> | 
|  | </a> | 
|  | </g> | 
|  | </g> | 
|  | <!-- Node2->Node7 --> | 
|  | <g id="edge6" class="edge"><title>Node2->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->Node9 --> | 
|  | <g id="edge8" class="edge"><title>Node2->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->Node14 --> | 
|  | <g id="edge13" class="edge"><title>Node2->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|- rawPath_\l- label_\l- desc_\l- 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- 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">- rawPath_</text> | 
|  | <text text-anchor="start" x="1452.5" y="-621" font-family="Helvetica,sans-Serif" font-size="10.00">- label_</text> | 
|  | <text text-anchor="start" x="1452.5" y="-610" font-family="Helvetica,sans-Serif" font-size="10.00">- desc_</text> | 
|  | <text text-anchor="start" x="1452.5" y="-599" font-family="Helvetica,sans-Serif" font-size="10.00">- 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">- SlotRef()</text> | 
|  | </a> | 
|  | </g> | 
|  | </g> | 
|  | <!-- Node2->Node23 --> | 
|  | <g id="edge22" class="edge"><title>Node2->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- LOG\l|+ getAnalyzer()\l+ getStatement()\l+ toSqlImpl()\l+ Subquery()\l+ Subquery()\l+ analyze()\l+ returnsScalarColumn()\l+ clone()\l# toThrift()\l- 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">- 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">- createStructTypeFromExprList()</text> | 
|  | </a> | 
|  | </g> | 
|  | </g> | 
|  | <!-- Node2->Node24 --> | 
|  | <g id="edge23" class="edge"><title>Node2->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|- funcName_\l- op_\l- timeUnitIdent_\l- timeUnit_\l- intervalFirst_\l- 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">- funcName_</text> | 
|  | <text text-anchor="start" x="1800.5" y="-615.5" font-family="Helvetica,sans-Serif" font-size="10.00">- op_</text> | 
|  | <text text-anchor="start" x="1800.5" y="-604.5" font-family="Helvetica,sans-Serif" font-size="10.00">- timeUnitIdent_</text> | 
|  | <text text-anchor="start" x="1800.5" y="-593.5" font-family="Helvetica,sans-Serif" font-size="10.00">- timeUnit_</text> | 
|  | <text text-anchor="start" x="1800.5" y="-582.5" font-family="Helvetica,sans-Serif" font-size="10.00">- intervalFirst_</text> | 
|  | <text text-anchor="start" x="1800.5" y="-571.5" font-family="Helvetica,sans-Serif" font-size="10.00">- 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->Node25 --> | 
|  | <g id="edge24" class="edge"><title>Node2->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|- 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">- 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->Node8 --> | 
|  | <g id="edge7" class="edge"><title>Node7->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|- 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">- 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->Node10 --> | 
|  | <g id="edge9" class="edge"><title>Node9->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->Node11 --> | 
|  | <g id="edge10" class="edge"><title>Node9->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|- value_\l- 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- init()\l- 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">- value_</text> | 
|  | <text text-anchor="start" x="699.5" y="-202.5" font-family="Helvetica,sans-Serif" font-size="10.00">- 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">- init()</text> | 
|  | <text text-anchor="start" x="699.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">- getUnscaledValue()</text> | 
|  | </a> | 
|  | </g> | 
|  | </g> | 
|  | <!-- Node9->Node12 --> | 
|  | <g id="edge11" class="edge"><title>Node9->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|- 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">- 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->Node13 --> | 
|  | <g id="edge12" class="edge"><title>Node9->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|- isNotBetween_\l- rewrittenPredicate_\l- 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">- isNotBetween_</text> | 
|  | <text text-anchor="start" x="1033.5" y="-169.5" font-family="Helvetica,sans-Serif" font-size="10.00">- rewrittenPredicate_</text> | 
|  | <text text-anchor="start" x="1033.5" y="-158.5" font-family="Helvetica,sans-Serif" font-size="10.00">- 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->Node15 --> | 
|  | <g id="edge14" class="edge"><title>Node14->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|- op_\l- 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">- op_</text> | 
|  | <text text-anchor="start" x="1200.5" y="-202.5" font-family="Helvetica,sans-Serif" font-size="10.00">- 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->Node16 --> | 
|  | <g id="edge15" class="edge"><title>Node14->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|- 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">- 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->Node17 --> | 
|  | <g id="edge16" class="edge"><title>Node14->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|- notExists_\l- 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">- notExists_</text> | 
|  | <text text-anchor="start" x="1538.5" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">- 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->Node18 --> | 
|  | <g id="edge17" class="edge"><title>Node14->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|- isNotIn_\l- IN_SET_LOOKUP\l- NOT_IN_SET_LOOKUP\l- IN_ITERATE\l- 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">- isNotIn_</text> | 
|  | <text text-anchor="start" x="1705.5" y="-186" font-family="Helvetica,sans-Serif" font-size="10.00">- IN_SET_LOOKUP</text> | 
|  | <text text-anchor="start" x="1705.5" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00">- NOT_IN_SET_LOOKUP</text> | 
|  | <text text-anchor="start" x="1705.5" y="-164" font-family="Helvetica,sans-Serif" font-size="10.00">- IN_ITERATE</text> | 
|  | <text text-anchor="start" x="1705.5" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">- 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->Node19 --> | 
|  | <g id="edge18" class="edge"><title>Node14->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|- isNotNull_\l- IS_NULL\l- 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">- isNotNull_</text> | 
|  | <text text-anchor="start" x="1872.5" y="-180.5" font-family="Helvetica,sans-Serif" font-size="10.00">- IS_NULL</text> | 
|  | <text text-anchor="start" x="1872.5" y="-169.5" font-family="Helvetica,sans-Serif" font-size="10.00">- 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->Node20 --> | 
|  | <g id="edge19" class="edge"><title>Node14->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|- 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">- 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->Node21 --> | 
|  | <g id="edge20" class="edge"><title>Node14->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|- tupleIds_\l- analyzer_\l|+ TupleIsNullPredicate()\l+ analyze()\l+ equals()\l+ getTupleIds()\l+ isConstant()\l+ clone()\l+ wrapExprs()\l+ wrapExpr()\l# TupleIsNullPredicate()\l# toThrift()\l# toSqlImpl()\l- 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">- tupleIds_</text> | 
|  | <text text-anchor="start" x="2206.5" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00">- 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">- requiresNullWrapping()</text> | 
|  | </a> | 
|  | </g> | 
|  | </g> | 
|  | <!-- Node14->Node22 --> | 
|  | <g id="edge21" class="edge"><title>Node14->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> |