blob: 485cc49df6875d989ac9d2f1867d109d99d40fbd [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.36.0 (20140111.2315)
-->
<!-- Title: com.cloudera.impala.planner.SingleNodePlanner Pages: 1 -->
<svg width="3886pt" height="2776pt"
viewBox="0.00 0.00 3885.84 2776.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 2772)">
<title>com.cloudera.impala.planner.SingleNodePlanner</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-2772 3881.84,-2772 3881.84,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="3195.84,-0.5 3195.84,-211.5 3359.84,-211.5 3359.84,-0.5 3195.84,-0.5"/>
<text text-anchor="start" x="3203.84" y="-199.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.planner.</text>
<text text-anchor="middle" x="3277.84" y="-188.5" font-family="Helvetica,sans-Serif" font-size="10.00">SingleNodePlanner</text>
<polyline fill="none" stroke="black" points="3195.84,-181.5 3359.84,-181.5 "/>
<text text-anchor="middle" x="3277.84" y="-169.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="3195.84,-162.5 3359.84,-162.5 "/>
<text text-anchor="start" x="3203.84" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SingleNodePlanner()</text>
<text text-anchor="start" x="3203.84" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ createSingleNodePlan()</text>
<text text-anchor="start" x="3203.84" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ migrateConjunctsToInlineView()</text>
<text text-anchor="start" x="3203.84" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; createEmptyNode()</text>
<text text-anchor="start" x="3203.84" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; createQueryPlan()</text>
<text text-anchor="start" x="3203.84" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; addUnassignedConjuncts()</text>
<text text-anchor="start" x="3203.84" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; createCheapestJoinPlan()</text>
<text text-anchor="start" x="3203.84" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; createJoinPlan()</text>
<text text-anchor="start" x="3203.84" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; createFromClauseJoinPlan()</text>
<text text-anchor="start" x="3203.84" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; createSelectPlan()</text>
<text text-anchor="start" x="3203.84" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; createAggregationPlan()</text>
<text text-anchor="start" x="3203.84" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; createConstantSelectPlan()</text>
<text text-anchor="start" x="3203.84" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; createHBaseValueRange()</text>
<text text-anchor="start" x="3203.84" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 8 more...</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1planner_1_1PlannerContext.html" target="_top" xlink:title="{com.cloudera.impala.planner.\lPlannerContext\n||+ PlannerContext()\l+ getQueryStmt()\l+ getQueryCtx()\l+ getQueryOptions()\l+ getAnalysisResult()\l+ getRootAnalyzer()\l+ isSingleNodeExec()\l+ getNextNodeId()\l+ getNextFragmentId()\l+ isInsertOrCtas()\l}">
<polygon fill="white" stroke="black" points="1499.84,-260.5 1499.84,-427.5 1643.84,-427.5 1643.84,-260.5 1499.84,-260.5"/>
<text text-anchor="start" x="1507.84" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.planner.</text>
<text text-anchor="middle" x="1571.84" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">PlannerContext</text>
<polyline fill="none" stroke="black" points="1499.84,-397.5 1643.84,-397.5 "/>
<text text-anchor="middle" x="1571.84" y="-385.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="1499.84,-378.5 1643.84,-378.5 "/>
<text text-anchor="start" x="1507.84" y="-366.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PlannerContext()</text>
<text text-anchor="start" x="1507.84" y="-355.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getQueryStmt()</text>
<text text-anchor="start" x="1507.84" y="-344.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getQueryCtx()</text>
<text text-anchor="start" x="1507.84" y="-333.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getQueryOptions()</text>
<text text-anchor="start" x="1507.84" y="-322.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getAnalysisResult()</text>
<text text-anchor="start" x="1507.84" y="-311.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getRootAnalyzer()</text>
<text text-anchor="start" x="1507.84" y="-300.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isSingleNodeExec()</text>
<text text-anchor="start" x="1507.84" y="-289.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getNextNodeId()</text>
<text text-anchor="start" x="1507.84" y="-278.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getNextFragmentId()</text>
<text text-anchor="start" x="1507.84" y="-267.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isInsertOrCtas()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node1 -->
<g id="edge1" class="edge"><title>Node2&#45;&gt;Node1</title>
<path fill="none" stroke="#404040" d="M1644.05,-333.01C1915.98,-295.393 2878.25,-162.276 3183.91,-119.993"/>
<polygon fill="none" stroke="#404040" points="3183.92,-119.992 3189.32,-115.207 3195.81,-118.347 3190.42,-123.132 3183.92,-119.992"/>
<text text-anchor="middle" x="2386.34" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;ctx_</text>
</g>
<!-- Node3 -->
<g id="node3" class="node"><title>Node3</title>
<polygon fill="white" stroke="#bfbfbf" points="1024.84,-499 1024.84,-567 1228.84,-567 1228.84,-499 1024.84,-499"/>
<text text-anchor="start" x="1032.84" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">IdGenerator&lt; com.cloudera.impala.planner.</text>
<text text-anchor="middle" x="1126.84" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">PlanFragmentId &gt;</text>
<polyline fill="none" stroke="#bfbfbf" points="1024.84,-537 1228.84,-537 "/>
<text text-anchor="middle" x="1126.84" y="-525" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="#bfbfbf" points="1024.84,-518 1228.84,-518 "/>
<text text-anchor="middle" x="1126.84" y="-506" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node3&#45;&gt;Node2 -->
<g id="edge2" class="edge"><title>Node3&#45;&gt;Node2</title>
<path fill="none" stroke="#404040" d="M1178.27,-498.987C1206.39,-481.799 1242.25,-461.248 1275.84,-446 1345.36,-414.437 1427.82,-387.073 1488.03,-368.82"/>
<polygon fill="none" stroke="#404040" points="1488.27,-368.747 1492.87,-363.189 1499.76,-365.292 1495.17,-370.85 1488.27,-368.747"/>
<text text-anchor="middle" x="1326.34" y="-449.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;fragmentIdGenerator_</text>
</g>
<!-- Node4 -->
<g id="node4" class="node"><title>Node4</title>
<polygon fill="white" stroke="#bfbfbf" points="844.337,-2111.5 844.337,-2168.5 889.337,-2168.5 889.337,-2111.5 844.337,-2111.5"/>
<text text-anchor="middle" x="866.837" y="-2156.5" font-family="Helvetica,sans-Serif" font-size="10.00">double</text>
<polyline fill="none" stroke="#bfbfbf" points="844.337,-2149.5 889.337,-2149.5 "/>
<text text-anchor="middle" x="866.837" y="-2137.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="#bfbfbf" points="844.337,-2130.5 889.337,-2130.5 "/>
<text text-anchor="middle" x="866.837" y="-2118.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node4&#45;&gt;Node2 -->
<g id="edge3" class="edge"><title>Node4&#45;&gt;Node2</title>
<path fill="none" stroke="#404040" d="M874.997,-2111.34C889.198,-2062.31 918.586,-1956.77 935.837,-1866 955.331,-1763.43 934.366,-1484.4 995.837,-1400 1020.42,-1366.25 1040.3,-1369.99 1080.84,-1360 1125.43,-1349.01 1460.69,-1373.8 1493.84,-1342 1741.65,-1104.23 1653.07,-638.641 1599.99,-439.265"/>
<polygon fill="none" stroke="#404040" points="1599.99,-439.257 1594.56,-434.505 1596.86,-427.671 1602.29,-432.422 1599.99,-439.257"/>
<text text-anchor="middle" x="1740.34" y="-943" font-family="Helvetica,sans-Serif" font-size="10.00"> +HASH_TBL_SPACE_OVERHEAD</text>
<text text-anchor="middle" x="1740.34" y="-932" font-family="Helvetica,sans-Serif" font-size="10.00">+SORT_MEM_MAX_FRACTION</text>
</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_1Expr.html" target="_top" xlink:title="{com.cloudera.impala.analysis.Expr\n||+ getId()\l+ getType()\l+ getSelectivity()\l+ getNumDistinctValues()\l+ setPrintSqlInParens()\l+ isWhereClauseConjunct()\l+ setIsWhereClauseConjunct()\l+ isAuxExpr()\l+ isRegisteredPredicate()\l+ setIsAuxExpr()\land 35 more...\l+ analyze()\l+ getNumDistinctValues()\l+ treesToThrift()\l+ isAggregatePredicate()\l+ debugString()\l+ toSql()\l+ equalLists()\l+ equalSets()\l+ isSubset()\l+ intersect()\land 10 more...\l~ getResolvedWildCardType()\l# Expr()\l# Expr()\l# setId()\l# computeNumDistinctValues()\l# collectChildReturnTypes()\l# getBuiltinFunction()\l# castForFunctionCall()\l# convertNumericLiteralsFrom\lDecimal()\l# toSqlImpl()\l# treeToThriftHelper()\land 6 more...\l&#45; isExplicitCastToDecimal()\l&#45; convertNumericLiteralsTo\lFloat()\l}">
<polygon fill="white" stroke="red" points="486.337,-1401 486.337,-1865 655.337,-1865 655.337,-1401 486.337,-1401"/>
<text text-anchor="middle" x="570.837" y="-1853" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.Expr</text>
<polyline fill="none" stroke="red" points="486.337,-1846 655.337,-1846 "/>
<text text-anchor="middle" x="570.837" y="-1834" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="red" points="486.337,-1827 655.337,-1827 "/>
<text text-anchor="start" x="494.337" y="-1815" font-family="Helvetica,sans-Serif" font-size="10.00">+ getId()</text>
<text text-anchor="start" x="494.337" y="-1804" font-family="Helvetica,sans-Serif" font-size="10.00">+ getType()</text>
<text text-anchor="start" x="494.337" y="-1793" font-family="Helvetica,sans-Serif" font-size="10.00">+ getSelectivity()</text>
<text text-anchor="start" x="494.337" y="-1782" font-family="Helvetica,sans-Serif" font-size="10.00">+ getNumDistinctValues()</text>
<text text-anchor="start" x="494.337" y="-1771" font-family="Helvetica,sans-Serif" font-size="10.00">+ setPrintSqlInParens()</text>
<text text-anchor="start" x="494.337" y="-1760" font-family="Helvetica,sans-Serif" font-size="10.00">+ isWhereClauseConjunct()</text>
<text text-anchor="start" x="494.337" y="-1749" font-family="Helvetica,sans-Serif" font-size="10.00">+ setIsWhereClauseConjunct()</text>
<text text-anchor="start" x="494.337" y="-1738" font-family="Helvetica,sans-Serif" font-size="10.00">+ isAuxExpr()</text>
<text text-anchor="start" x="494.337" y="-1727" font-family="Helvetica,sans-Serif" font-size="10.00">+ isRegisteredPredicate()</text>
<text text-anchor="start" x="494.337" y="-1716" font-family="Helvetica,sans-Serif" font-size="10.00">+ setIsAuxExpr()</text>
<text text-anchor="start" x="494.337" y="-1705" font-family="Helvetica,sans-Serif" font-size="10.00">and 35 more...</text>
<text text-anchor="start" x="494.337" y="-1694" font-family="Helvetica,sans-Serif" font-size="10.00">+ analyze()</text>
<text text-anchor="start" x="494.337" y="-1683" font-family="Helvetica,sans-Serif" font-size="10.00">+ getNumDistinctValues()</text>
<text text-anchor="start" x="494.337" y="-1672" font-family="Helvetica,sans-Serif" font-size="10.00">+ treesToThrift()</text>
<text text-anchor="start" x="494.337" y="-1661" font-family="Helvetica,sans-Serif" font-size="10.00">+ isAggregatePredicate()</text>
<text text-anchor="start" x="494.337" y="-1650" font-family="Helvetica,sans-Serif" font-size="10.00">+ debugString()</text>
<text text-anchor="start" x="494.337" y="-1639" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSql()</text>
<text text-anchor="start" x="494.337" y="-1628" font-family="Helvetica,sans-Serif" font-size="10.00">+ equalLists()</text>
<text text-anchor="start" x="494.337" y="-1617" font-family="Helvetica,sans-Serif" font-size="10.00">+ equalSets()</text>
<text text-anchor="start" x="494.337" y="-1606" font-family="Helvetica,sans-Serif" font-size="10.00">+ isSubset()</text>
<text text-anchor="start" x="494.337" y="-1595" font-family="Helvetica,sans-Serif" font-size="10.00">+ intersect()</text>
<text text-anchor="start" x="494.337" y="-1584" font-family="Helvetica,sans-Serif" font-size="10.00">and 10 more...</text>
<text text-anchor="start" x="494.337" y="-1573" font-family="Helvetica,sans-Serif" font-size="10.00">~ getResolvedWildCardType()</text>
<text text-anchor="start" x="494.337" y="-1562" font-family="Helvetica,sans-Serif" font-size="10.00"># Expr()</text>
<text text-anchor="start" x="494.337" y="-1551" font-family="Helvetica,sans-Serif" font-size="10.00"># Expr()</text>
<text text-anchor="start" x="494.337" y="-1540" font-family="Helvetica,sans-Serif" font-size="10.00"># setId()</text>
<text text-anchor="start" x="494.337" y="-1529" font-family="Helvetica,sans-Serif" font-size="10.00"># computeNumDistinctValues()</text>
<text text-anchor="start" x="494.337" y="-1518" font-family="Helvetica,sans-Serif" font-size="10.00"># collectChildReturnTypes()</text>
<text text-anchor="start" x="494.337" y="-1507" font-family="Helvetica,sans-Serif" font-size="10.00"># getBuiltinFunction()</text>
<text text-anchor="start" x="494.337" y="-1496" font-family="Helvetica,sans-Serif" font-size="10.00"># castForFunctionCall()</text>
<text text-anchor="start" x="494.337" y="-1485" font-family="Helvetica,sans-Serif" font-size="10.00"># convertNumericLiteralsFrom</text>
<text text-anchor="start" x="494.337" y="-1474" font-family="Helvetica,sans-Serif" font-size="10.00">Decimal()</text>
<text text-anchor="start" x="494.337" y="-1463" font-family="Helvetica,sans-Serif" font-size="10.00"># toSqlImpl()</text>
<text text-anchor="start" x="494.337" y="-1452" font-family="Helvetica,sans-Serif" font-size="10.00"># treeToThriftHelper()</text>
<text text-anchor="start" x="494.337" y="-1441" font-family="Helvetica,sans-Serif" font-size="10.00">and 6 more...</text>
<text text-anchor="start" x="494.337" y="-1430" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; isExplicitCastToDecimal()</text>
<text text-anchor="start" x="494.337" y="-1419" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; convertNumericLiteralsTo</text>
<text text-anchor="start" x="494.337" y="-1408" font-family="Helvetica,sans-Serif" font-size="10.00">Float()</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node10 -->
<g id="edge15" class="edge"><title>Node4&#45;&gt;Node10</title>
<path fill="none" stroke="#404040" d="M866.387,-2111.31C864.296,-2070.47 854.736,-1993.78 813.837,-1946 801.16,-1931.19 789.943,-1938.98 773.837,-1928 750.727,-1912.24 753.081,-1897.95 728.837,-1884 705.697,-1870.68 689.937,-1882.66 665.003,-1865.59"/>
<polygon fill="none" stroke="#404040" points="664.743,-1865.38 657.559,-1864.76 655.372,-1857.89 662.556,-1858.51 664.743,-1865.38"/>
<text text-anchor="middle" x="834.337" y="-1909" font-family="Helvetica,sans-Serif" font-size="10.00"> #selectivity_</text>
<text text-anchor="middle" x="834.337" y="-1898" font-family="Helvetica,sans-Serif" font-size="10.00">#DEFAULT_SELECTIVITY</text>
</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_1QueryStmt.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lQueryStmt\n||+ getAnalyzer()\l+ analyze()\l+ getColLabels()\l+ getMaterializedTupleIds()\l+ setWithClause()\l+ hasWithClause()\l+ getWithClause()\l+ hasOrderByClause()\l+ hasLimit()\l+ getLimit()\land 11 more...\l~ QueryStmt()\l# createSortInfo()\l# createSortTupleInfo()\l# getFirstAmbiguousAlias()\l# substituteOrdinals()\l# materializeSlots()\l&#45; analyzeLimit()\l}">
<polygon fill="white" stroke="black" points="1354.34,-638.5 1354.34,-893.5 1503.34,-893.5 1503.34,-638.5 1354.34,-638.5"/>
<text text-anchor="start" x="1362.34" y="-881.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="1428.84" y="-870.5" font-family="Helvetica,sans-Serif" font-size="10.00">QueryStmt</text>
<polyline fill="none" stroke="black" points="1354.34,-863.5 1503.34,-863.5 "/>
<text text-anchor="middle" x="1428.84" y="-851.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="1354.34,-844.5 1503.34,-844.5 "/>
<text text-anchor="start" x="1362.34" y="-832.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getAnalyzer()</text>
<text text-anchor="start" x="1362.34" y="-821.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ analyze()</text>
<text text-anchor="start" x="1362.34" y="-810.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getColLabels()</text>
<text text-anchor="start" x="1362.34" y="-799.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getMaterializedTupleIds()</text>
<text text-anchor="start" x="1362.34" y="-788.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ setWithClause()</text>
<text text-anchor="start" x="1362.34" y="-777.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ hasWithClause()</text>
<text text-anchor="start" x="1362.34" y="-766.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getWithClause()</text>
<text text-anchor="start" x="1362.34" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ hasOrderByClause()</text>
<text text-anchor="start" x="1362.34" y="-744.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ hasLimit()</text>
<text text-anchor="start" x="1362.34" y="-733.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getLimit()</text>
<text text-anchor="start" x="1362.34" y="-722.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 11 more...</text>
<text text-anchor="start" x="1362.34" y="-711.5" font-family="Helvetica,sans-Serif" font-size="10.00">~ QueryStmt()</text>
<text text-anchor="start" x="1362.34" y="-700.5" font-family="Helvetica,sans-Serif" font-size="10.00"># createSortInfo()</text>
<text text-anchor="start" x="1362.34" y="-689.5" font-family="Helvetica,sans-Serif" font-size="10.00"># createSortTupleInfo()</text>
<text text-anchor="start" x="1362.34" y="-678.5" font-family="Helvetica,sans-Serif" font-size="10.00"># getFirstAmbiguousAlias()</text>
<text text-anchor="start" x="1362.34" y="-667.5" font-family="Helvetica,sans-Serif" font-size="10.00"># substituteOrdinals()</text>
<text text-anchor="start" x="1362.34" y="-656.5" font-family="Helvetica,sans-Serif" font-size="10.00"># materializeSlots()</text>
<text text-anchor="start" x="1362.34" y="-645.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; analyzeLimit()</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node2 -->
<g id="edge4" class="edge"><title>Node5&#45;&gt;Node2</title>
<path fill="none" stroke="#404040" d="M1453.1,-638.389C1464.8,-587.075 1480.71,-527.815 1500.84,-476 1505.65,-463.597 1511.4,-450.89 1517.51,-438.502"/>
<polygon fill="none" stroke="#404040" points="1517.55,-438.425 1516.68,-431.266 1522.96,-427.713 1523.82,-434.872 1517.55,-438.425"/>
<text text-anchor="middle" x="1529.34" y="-530.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;queryStmt_</text>
</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_1StatementBase.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lStatementBase\n||+ analyze()\l+ toSql()\l+ setIsExplain()\l+ isExplain()\l}">
<polygon fill="white" stroke="black" points="1443.34,-1582.5 1443.34,-1683.5 1592.34,-1683.5 1592.34,-1582.5 1443.34,-1582.5"/>
<text text-anchor="start" x="1451.34" y="-1671.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="1517.84" y="-1660.5" font-family="Helvetica,sans-Serif" font-size="10.00">StatementBase</text>
<polyline fill="none" stroke="black" points="1443.34,-1653.5 1592.34,-1653.5 "/>
<text text-anchor="middle" x="1517.84" y="-1641.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="1443.34,-1634.5 1592.34,-1634.5 "/>
<text text-anchor="start" x="1451.34" y="-1622.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ analyze()</text>
<text text-anchor="start" x="1451.34" y="-1611.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSql()</text>
<text text-anchor="start" x="1451.34" y="-1600.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ setIsExplain()</text>
<text text-anchor="start" x="1451.34" y="-1589.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isExplain()</text>
</a>
</g>
</g>
<!-- Node6&#45;&gt;Node5 -->
<g id="edge5" class="edge"><title>Node6&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M1524.85,-1572.03C1537.61,-1447.07 1558.27,-1150.62 1499.84,-912 1498.34,-905.874 1496.55,-899.705 1494.54,-893.548"/>
<polygon fill="none" stroke="midnightblue" points="1521.35,-1571.85 1523.79,-1582.15 1528.31,-1572.57 1521.35,-1571.85"/>
</g>
<!-- Node49 -->
<g id="node49" class="node"><title>Node49</title>
<g id="a_node49"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1AnalysisContext_1_1AnalysisResult.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lAnalysisContext.AnalysisResult\n||+ isAlterTableStmt()\l+ isAlterViewStmt()\l+ isComputeStatsStmt()\l+ isQueryStmt()\l+ isInsertStmt()\l+ isDropDbStmt()\l+ isDropTableOrViewStmt()\l+ isDropFunctionStmt()\l+ isDropDataSrcStmt()\l+ isDropStatsStmt()\land 60 more...\l&#45; isDdlStmt()\l&#45; isViewMetadataStmt()\l&#45; isGrantRevokeStmt()\l}">
<polygon fill="white" stroke="black" points="2415.84,-660.5 2415.84,-871.5 2573.84,-871.5 2573.84,-660.5 2415.84,-660.5"/>
<text text-anchor="start" x="2423.84" y="-859.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="2494.84" y="-848.5" font-family="Helvetica,sans-Serif" font-size="10.00">AnalysisContext.AnalysisResult</text>
<polyline fill="none" stroke="black" points="2415.84,-841.5 2573.84,-841.5 "/>
<text text-anchor="middle" x="2494.84" y="-829.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="2415.84,-822.5 2573.84,-822.5 "/>
<text text-anchor="start" x="2423.84" y="-810.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isAlterTableStmt()</text>
<text text-anchor="start" x="2423.84" y="-799.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isAlterViewStmt()</text>
<text text-anchor="start" x="2423.84" y="-788.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isComputeStatsStmt()</text>
<text text-anchor="start" x="2423.84" y="-777.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isQueryStmt()</text>
<text text-anchor="start" x="2423.84" y="-766.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isInsertStmt()</text>
<text text-anchor="start" x="2423.84" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isDropDbStmt()</text>
<text text-anchor="start" x="2423.84" y="-744.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isDropTableOrViewStmt()</text>
<text text-anchor="start" x="2423.84" y="-733.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isDropFunctionStmt()</text>
<text text-anchor="start" x="2423.84" y="-722.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isDropDataSrcStmt()</text>
<text text-anchor="start" x="2423.84" y="-711.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isDropStatsStmt()</text>
<text text-anchor="start" x="2423.84" y="-700.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 60 more...</text>
<text text-anchor="start" x="2423.84" y="-689.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; isDdlStmt()</text>
<text text-anchor="start" x="2423.84" y="-678.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; isViewMetadataStmt()</text>
<text text-anchor="start" x="2423.84" y="-667.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; isGrantRevokeStmt()</text>
</a>
</g>
</g>
<!-- Node6&#45;&gt;Node49 -->
<g id="edge82" class="edge"><title>Node6&#45;&gt;Node49</title>
<path fill="none" stroke="#404040" d="M1533.75,-1582.36C1552.35,-1531.07 1587.55,-1451.47 1640.84,-1400 1653.99,-1387.3 1667.71,-1397.23 1677.84,-1382 1726.63,-1308.61 1640.93,-1051.56 1699.84,-986 1716.39,-967.576 1785.69,-973.497 1809.84,-968 2025.83,-918.836 2274.12,-840.346 2404.32,-797.444"/>
<polygon fill="none" stroke="#404040" points="2404.39,-797.422 2408.84,-791.742 2415.79,-793.659 2411.34,-799.338 2404.39,-797.422"/>
<text text-anchor="middle" x="1715.34" y="-1161.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;stmt_</text>
</g>
<!-- Node50 -->
<g id="node50" class="node"><title>Node50</title>
<g id="a_node50"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1CreateTableStmt.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lCreateTableStmt\n||+ CreateTableStmt()\l+ CreateTableStmt()\l+ clone()\l+ getTbl()\l+ getTblName()\l+ getColumnDefs()\l+ getPartitionColumnDefs()\l+ getComment()\l+ isExternal()\l+ getIfNotExists()\land 11 more...\l+ unescapeProperties()\l&#45; analyzeColumnDefs()\l&#45; analyzeAvroSchema()\l&#45; analyzeRowFormatValue()\l}">
<polygon fill="white" stroke="red" points="1740.34,-1053 1740.34,-1275 1889.34,-1275 1889.34,-1053 1740.34,-1053"/>
<text text-anchor="start" x="1748.34" y="-1263" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="1814.84" y="-1252" font-family="Helvetica,sans-Serif" font-size="10.00">CreateTableStmt</text>
<polyline fill="none" stroke="red" points="1740.34,-1245 1889.34,-1245 "/>
<text text-anchor="middle" x="1814.84" y="-1233" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="red" points="1740.34,-1226 1889.34,-1226 "/>
<text text-anchor="start" x="1748.34" y="-1214" font-family="Helvetica,sans-Serif" font-size="10.00">+ CreateTableStmt()</text>
<text text-anchor="start" x="1748.34" y="-1203" font-family="Helvetica,sans-Serif" font-size="10.00">+ CreateTableStmt()</text>
<text text-anchor="start" x="1748.34" y="-1192" font-family="Helvetica,sans-Serif" font-size="10.00">+ clone()</text>
<text text-anchor="start" x="1748.34" y="-1181" font-family="Helvetica,sans-Serif" font-size="10.00">+ getTbl()</text>
<text text-anchor="start" x="1748.34" y="-1170" font-family="Helvetica,sans-Serif" font-size="10.00">+ getTblName()</text>
<text text-anchor="start" x="1748.34" y="-1159" font-family="Helvetica,sans-Serif" font-size="10.00">+ getColumnDefs()</text>
<text text-anchor="start" x="1748.34" y="-1148" font-family="Helvetica,sans-Serif" font-size="10.00">+ getPartitionColumnDefs()</text>
<text text-anchor="start" x="1748.34" y="-1137" font-family="Helvetica,sans-Serif" font-size="10.00">+ getComment()</text>
<text text-anchor="start" x="1748.34" y="-1126" font-family="Helvetica,sans-Serif" font-size="10.00">+ isExternal()</text>
<text text-anchor="start" x="1748.34" y="-1115" font-family="Helvetica,sans-Serif" font-size="10.00">+ getIfNotExists()</text>
<text text-anchor="start" x="1748.34" y="-1104" font-family="Helvetica,sans-Serif" font-size="10.00">and 11 more...</text>
<text text-anchor="start" x="1748.34" y="-1093" font-family="Helvetica,sans-Serif" font-size="10.00">+ unescapeProperties()</text>
<text text-anchor="start" x="1748.34" y="-1082" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; analyzeColumnDefs()</text>
<text text-anchor="start" x="1748.34" y="-1071" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; analyzeAvroSchema()</text>
<text text-anchor="start" x="1748.34" y="-1060" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; analyzeRowFormatValue()</text>
</a>
</g>
</g>
<!-- Node6&#45;&gt;Node50 -->
<g id="edge84" class="edge"><title>Node6&#45;&gt;Node50</title>
<path fill="none" stroke="midnightblue" d="M1535.72,-1572.52C1554.5,-1519.91 1589.02,-1444.75 1643.84,-1400 1665.07,-1382.66 1681.23,-1398.88 1702.84,-1382 1719.17,-1369.24 1716.88,-1360.19 1726.84,-1342 1738.54,-1320.63 1750.52,-1297.5 1761.72,-1275.22"/>
<polygon fill="none" stroke="midnightblue" points="1532.38,-1571.47 1532.4,-1582.07 1538.99,-1573.77 1532.38,-1571.47"/>
</g>
<!-- Node7 -->
<g id="node7" class="node"><title>Node7</title>
<g id="a_node7"><a xlink:href="interfacecom_1_1cloudera_1_1impala_1_1analysis_1_1ParseNode.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lParseNode\n||+ analyze()\l+ toSql()\l}">
<polygon fill="white" stroke="black" points="1165.34,-2100.5 1165.34,-2179.5 1314.34,-2179.5 1314.34,-2100.5 1165.34,-2100.5"/>
<text text-anchor="start" x="1173.34" y="-2167.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="1239.84" y="-2156.5" font-family="Helvetica,sans-Serif" font-size="10.00">ParseNode</text>
<polyline fill="none" stroke="black" points="1165.34,-2149.5 1314.34,-2149.5 "/>
<text text-anchor="middle" x="1239.84" y="-2137.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="1165.34,-2130.5 1314.34,-2130.5 "/>
<text text-anchor="start" x="1173.34" y="-2118.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ analyze()</text>
<text text-anchor="start" x="1173.34" y="-2107.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSql()</text>
</a>
</g>
</g>
<!-- Node7&#45;&gt;Node6 -->
<g id="edge6" class="edge"><title>Node7&#45;&gt;Node6</title>
<path fill="none" stroke="midnightblue" d="M1249.67,-2090.54C1261.53,-2045.45 1286.12,-1980.23 1333.84,-1946 1385.17,-1909.18 1429.76,-1972.26 1474.84,-1928 1539.62,-1864.39 1535.65,-1749.28 1526.84,-1683.55"/>
<polygon fill="none" stroke="midnightblue" points="1246.24,-2089.85 1247.2,-2100.4 1253.03,-2091.55 1246.24,-2089.85"/>
</g>
<!-- Node7&#45;&gt;Node10 -->
<g id="edge11" class="edge"><title>Node7&#45;&gt;Node10</title>
<path fill="none" stroke="midnightblue" d="M1229.08,-2090.01C1212.98,-2029.81 1176.32,-1930.01 1102.84,-1884 1061.46,-1858.09 703.703,-1894.18 663.837,-1866 661.002,-1864 658.254,-1861.89 655.589,-1859.69"/>
<polygon fill="none" stroke="midnightblue" points="1225.78,-2091.24 1231.67,-2100.05 1232.56,-2089.49 1225.78,-2091.24"/>
</g>
<!-- Node45 -->
<g id="node45" class="node"><title>Node45</title>
<g id="a_node45"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1WithClause.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lWithClause\n||+ WithClause()\l+ WithClause()\l+ analyze()\l+ clone()\l+ toSql()\l}">
<polygon fill="white" stroke="black" points="1180.34,-1577 1180.34,-1689 1329.34,-1689 1329.34,-1577 1180.34,-1577"/>
<text text-anchor="start" x="1188.34" y="-1677" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="1254.84" y="-1666" font-family="Helvetica,sans-Serif" font-size="10.00">WithClause</text>
<polyline fill="none" stroke="black" points="1180.34,-1659 1329.34,-1659 "/>
<text text-anchor="middle" x="1254.84" y="-1647" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="1180.34,-1640 1329.34,-1640 "/>
<text text-anchor="start" x="1188.34" y="-1628" font-family="Helvetica,sans-Serif" font-size="10.00">+ WithClause()</text>
<text text-anchor="start" x="1188.34" y="-1617" font-family="Helvetica,sans-Serif" font-size="10.00">+ WithClause()</text>
<text text-anchor="start" x="1188.34" y="-1606" font-family="Helvetica,sans-Serif" font-size="10.00">+ analyze()</text>
<text text-anchor="start" x="1188.34" y="-1595" font-family="Helvetica,sans-Serif" font-size="10.00">+ clone()</text>
<text text-anchor="start" x="1188.34" y="-1584" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSql()</text>
</a>
</g>
</g>
<!-- Node7&#45;&gt;Node45 -->
<g id="edge73" class="edge"><title>Node7&#45;&gt;Node45</title>
<path fill="none" stroke="midnightblue" d="M1221.45,-2091C1206.33,-2048.79 1186.08,-1985.32 1177.84,-1928 1165.63,-1843.13 1199.94,-1747.55 1226.64,-1689.05"/>
<polygon fill="none" stroke="midnightblue" points="1218.18,-2092.26 1224.88,-2100.47 1224.76,-2089.87 1218.18,-2092.26"/>
</g>
<!-- Node8 -->
<g id="node8" class="node"><title>Node8</title>
<polygon fill="white" stroke="#bfbfbf" points="1604.84,-2111.5 1604.84,-2168.5 1654.84,-2168.5 1654.84,-2111.5 1604.84,-2111.5"/>
<text text-anchor="middle" x="1629.84" y="-2156.5" font-family="Helvetica,sans-Serif" font-size="10.00">boolean</text>
<polyline fill="none" stroke="#bfbfbf" points="1604.84,-2149.5 1654.84,-2149.5 "/>
<text text-anchor="middle" x="1629.84" y="-2137.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="#bfbfbf" points="1604.84,-2130.5 1654.84,-2130.5 "/>
<text text-anchor="middle" x="1629.84" y="-2118.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node8&#45;&gt;Node5 -->
<g id="edge70" class="edge"><title>Node8&#45;&gt;Node5</title>
<path fill="none" stroke="#404040" d="M1630.53,-2111.36C1633.19,-1982.3 1638.22,-1426.78 1541.84,-986 1534.51,-952.48 1533.98,-943.263 1519.84,-912 1516.55,-904.722 1512.94,-897.375 1509.13,-890.052"/>
<polygon fill="none" stroke="#404040" points="1509.07,-889.932 1502.71,-886.529 1503.4,-879.352 1509.76,-882.755 1509.07,-889.932"/>
<text text-anchor="middle" x="1645.34" y="-1368.5" font-family="Helvetica,sans-Serif" font-size="10.00"> #evaluateOrderBy_</text>
</g>
<!-- Node8&#45;&gt;Node6 -->
<g id="edge7" class="edge"><title>Node8&#45;&gt;Node6</title>
<path fill="none" stroke="#404040" d="M1625.3,-2111.25C1618.61,-2073.23 1604.62,-2003.14 1583.84,-1946 1580.78,-1937.59 1577.71,-1936.47 1574.84,-1928 1548.35,-1850.05 1532.82,-1756.05 1524.83,-1695.68"/>
<polygon fill="none" stroke="#404040" points="1524.82,-1695.6 1520.08,-1690.16 1523.28,-1683.7 1528.02,-1689.14 1524.82,-1695.6"/>
<text text-anchor="middle" x="1601.84" y="-1903.5" font-family="Helvetica,sans-Serif" font-size="10.00"> #isExplain_</text>
</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_1LimitElement.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lLimitElement\n||+ LimitElement()\l+ getLimitExpr()\l+ getOffsetExpr()\l+ getLimit()\l+ hasLimit()\l+ getOffset()\l+ toSql()\l+ analyze()\l+ clone()\l# LimitElement()\l&#45; evalIntegerExpr()\l}">
<polygon fill="white" stroke="black" points="571.337,-1075 571.337,-1253 720.337,-1253 720.337,-1075 571.337,-1075"/>
<text text-anchor="start" x="579.337" y="-1241" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="645.837" y="-1230" font-family="Helvetica,sans-Serif" font-size="10.00">LimitElement</text>
<polyline fill="none" stroke="black" points="571.337,-1223 720.337,-1223 "/>
<text text-anchor="middle" x="645.837" y="-1211" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="571.337,-1204 720.337,-1204 "/>
<text text-anchor="start" x="579.337" y="-1192" font-family="Helvetica,sans-Serif" font-size="10.00">+ LimitElement()</text>
<text text-anchor="start" x="579.337" y="-1181" font-family="Helvetica,sans-Serif" font-size="10.00">+ getLimitExpr()</text>
<text text-anchor="start" x="579.337" y="-1170" font-family="Helvetica,sans-Serif" font-size="10.00">+ getOffsetExpr()</text>
<text text-anchor="start" x="579.337" y="-1159" font-family="Helvetica,sans-Serif" font-size="10.00">+ getLimit()</text>
<text text-anchor="start" x="579.337" y="-1148" font-family="Helvetica,sans-Serif" font-size="10.00">+ hasLimit()</text>
<text text-anchor="start" x="579.337" y="-1137" font-family="Helvetica,sans-Serif" font-size="10.00">+ getOffset()</text>
<text text-anchor="start" x="579.337" y="-1126" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSql()</text>
<text text-anchor="start" x="579.337" y="-1115" font-family="Helvetica,sans-Serif" font-size="10.00">+ analyze()</text>
<text text-anchor="start" x="579.337" y="-1104" font-family="Helvetica,sans-Serif" font-size="10.00">+ clone()</text>
<text text-anchor="start" x="579.337" y="-1093" font-family="Helvetica,sans-Serif" font-size="10.00"># LimitElement()</text>
<text text-anchor="start" x="579.337" y="-1082" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; evalIntegerExpr()</text>
</a>
</g>
</g>
<!-- Node8&#45;&gt;Node9 -->
<g id="edge21" class="edge"><title>Node8&#45;&gt;Node9</title>
<path fill="none" stroke="#404040" d="M1621.56,-2111.2C1608.97,-2071.89 1582.36,-1998.95 1543.84,-1946 1519.58,-1912.66 1511.89,-1902.09 1474.84,-1884 1433.86,-1864 1404.44,-1899.8 1373.84,-1866 1304.13,-1789 1412.66,-1472.03 1337.84,-1400 1319.37,-1382.22 901.722,-1388.14 876.837,-1382 856.763,-1377.05 809.156,-1354.69 792.837,-1342 764.084,-1319.64 737.163,-1290.74 714.417,-1262.81"/>
<polygon fill="none" stroke="#404040" points="714.37,-1262.76 707.497,-1260.57 706.867,-1253.39 713.74,-1255.57 714.37,-1262.76"/>
<text text-anchor="middle" x="1403.84" y="-1630.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;isAnalyzed_</text>
</g>
<!-- Node8&#45;&gt;Node10 -->
<g id="edge19" class="edge"><title>Node8&#45;&gt;Node10</title>
<path fill="none" stroke="#404040" d="M1626.52,-2111.21C1619.68,-2067.64 1599.64,-1984.3 1543.84,-1946 1511.73,-1923.96 1230.11,-1942.16 1193.84,-1928 1165.32,-1916.87 1169.43,-1894.94 1140.84,-1884 1093.91,-1866.05 746.779,-1893.36 666.422,-1864.98"/>
<polygon fill="none" stroke="#404040" points="666.37,-1864.96 659.225,-1865.93 655.58,-1859.71 662.725,-1858.73 666.37,-1864.96"/>
<text text-anchor="middle" x="1252.34" y="-1920" font-family="Helvetica,sans-Serif" font-size="10.00"> #printSqlInParens_</text>
<text text-anchor="middle" x="1252.34" y="-1909" font-family="Helvetica,sans-Serif" font-size="10.00">&#45;isAuxExpr_</text>
<text text-anchor="middle" x="1252.34" y="-1898" font-family="Helvetica,sans-Serif" font-size="10.00">#isAnalyzed_</text>
<text text-anchor="middle" x="1252.34" y="-1887" font-family="Helvetica,sans-Serif" font-size="10.00">#isWhereClauseConjunct_</text>
</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_1TupleDescriptor.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lTupleDescriptor\n||+ TupleDescriptor()\l+ addSlot()\l+ getId()\l+ getSlots()\l+ getTable()\l+ getTableName()\l+ setPath()\l+ getPath()\l+ setType()\l+ getType()\land 13 more...\l}">
<polygon fill="white" stroke="red" points="673.337,-1544 673.337,-1722 822.337,-1722 822.337,-1544 673.337,-1544"/>
<text text-anchor="start" x="681.337" y="-1710" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="747.837" y="-1699" font-family="Helvetica,sans-Serif" font-size="10.00">TupleDescriptor</text>
<polyline fill="none" stroke="red" points="673.337,-1692 822.337,-1692 "/>
<text text-anchor="middle" x="747.837" y="-1680" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="red" points="673.337,-1673 822.337,-1673 "/>
<text text-anchor="start" x="681.337" y="-1661" font-family="Helvetica,sans-Serif" font-size="10.00">+ TupleDescriptor()</text>
<text text-anchor="start" x="681.337" y="-1650" font-family="Helvetica,sans-Serif" font-size="10.00">+ addSlot()</text>
<text text-anchor="start" x="681.337" y="-1639" font-family="Helvetica,sans-Serif" font-size="10.00">+ getId()</text>
<text text-anchor="start" x="681.337" y="-1628" font-family="Helvetica,sans-Serif" font-size="10.00">+ getSlots()</text>
<text text-anchor="start" x="681.337" y="-1617" font-family="Helvetica,sans-Serif" font-size="10.00">+ getTable()</text>
<text text-anchor="start" x="681.337" y="-1606" font-family="Helvetica,sans-Serif" font-size="10.00">+ getTableName()</text>
<text text-anchor="start" x="681.337" y="-1595" font-family="Helvetica,sans-Serif" font-size="10.00">+ setPath()</text>
<text text-anchor="start" x="681.337" y="-1584" font-family="Helvetica,sans-Serif" font-size="10.00">+ getPath()</text>
<text text-anchor="start" x="681.337" y="-1573" font-family="Helvetica,sans-Serif" font-size="10.00">+ setType()</text>
<text text-anchor="start" x="681.337" y="-1562" font-family="Helvetica,sans-Serif" font-size="10.00">+ getType()</text>
<text text-anchor="start" x="681.337" y="-1551" font-family="Helvetica,sans-Serif" font-size="10.00">and 13 more...</text>
</a>
</g>
</g>
<!-- Node8&#45;&gt;Node22 -->
<g id="edge31" class="edge"><title>Node8&#45;&gt;Node22</title>
<path fill="none" stroke="#404040" d="M1626.36,-2111.43C1619.31,-2068.17 1598.98,-1985.24 1543.84,-1946 1505.68,-1918.84 1371.84,-1955.38 1333.84,-1928 1316.55,-1915.55 1332.41,-1896.03 1314.84,-1884 1270.52,-1853.67 875.221,-1897.65 831.837,-1866 790.046,-1835.51 768.991,-1782.16 758.408,-1734.3"/>
<polygon fill="none" stroke="#404040" points="758.351,-1734.02 753.226,-1728.95 755.937,-1722.27 761.062,-1727.34 758.351,-1734.02"/>
<text text-anchor="middle" x="1373.34" y="-1914.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;isMaterialized_</text>
<text text-anchor="middle" x="1373.34" y="-1903.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45;hasMemLayout_</text>
<text text-anchor="middle" x="1373.34" y="-1892.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45;hasExplicitAlias_</text>
</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_1Analyzer.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lAnalyzer\n||+ setIsSubquery()\l+ isSubquery()\l+ setHasPlanHints()\l+ hasPlanHints()\l+ containsSubquery()\l+ Analyzer()\l+ Analyzer()\l+ setVisibleSemiJoinedTuple()\l+ getMissingTbls()\l+ hasMissingTbls()\land 113 more...\l+ createWithNewGlobalState()\l~ createEquivConjuncts()\l~ createEquivConjuncts()\l~ createEquivConjuncts()\l&#45; Analyzer()\l&#45; resolvePath()\l&#45; resolvePaths()\l&#45; markConstantConjunct()\l&#45; registerConjunct()\l&#45; canEvalPredicate()\l&#45; getEquivClasses()\l&#45; getEquivDestSlotIds()\l&#45; hasOuterJoinedTuple()\l&#45; isTrueWithNullSlots()\l&#45; hasMutualValueTransfer()\l&#45; checkSystemDbAccess()\l}">
<polygon fill="white" stroke="black" points="2526.84,-987 2526.84,-1341 2676.84,-1341 2676.84,-987 2526.84,-987"/>
<text text-anchor="start" x="2534.84" y="-1329" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="2601.84" y="-1318" font-family="Helvetica,sans-Serif" font-size="10.00">Analyzer</text>
<polyline fill="none" stroke="black" points="2526.84,-1311 2676.84,-1311 "/>
<text text-anchor="middle" x="2601.84" y="-1299" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="2526.84,-1292 2676.84,-1292 "/>
<text text-anchor="start" x="2534.84" y="-1280" font-family="Helvetica,sans-Serif" font-size="10.00">+ setIsSubquery()</text>
<text text-anchor="start" x="2534.84" y="-1269" font-family="Helvetica,sans-Serif" font-size="10.00">+ isSubquery()</text>
<text text-anchor="start" x="2534.84" y="-1258" font-family="Helvetica,sans-Serif" font-size="10.00">+ setHasPlanHints()</text>
<text text-anchor="start" x="2534.84" y="-1247" font-family="Helvetica,sans-Serif" font-size="10.00">+ hasPlanHints()</text>
<text text-anchor="start" x="2534.84" y="-1236" font-family="Helvetica,sans-Serif" font-size="10.00">+ containsSubquery()</text>
<text text-anchor="start" x="2534.84" y="-1225" font-family="Helvetica,sans-Serif" font-size="10.00">+ Analyzer()</text>
<text text-anchor="start" x="2534.84" y="-1214" font-family="Helvetica,sans-Serif" font-size="10.00">+ Analyzer()</text>
<text text-anchor="start" x="2534.84" y="-1203" font-family="Helvetica,sans-Serif" font-size="10.00">+ setVisibleSemiJoinedTuple()</text>
<text text-anchor="start" x="2534.84" y="-1192" font-family="Helvetica,sans-Serif" font-size="10.00">+ getMissingTbls()</text>
<text text-anchor="start" x="2534.84" y="-1181" font-family="Helvetica,sans-Serif" font-size="10.00">+ hasMissingTbls()</text>
<text text-anchor="start" x="2534.84" y="-1170" font-family="Helvetica,sans-Serif" font-size="10.00">and 113 more...</text>
<text text-anchor="start" x="2534.84" y="-1159" font-family="Helvetica,sans-Serif" font-size="10.00">+ createWithNewGlobalState()</text>
<text text-anchor="start" x="2534.84" y="-1148" font-family="Helvetica,sans-Serif" font-size="10.00">~ createEquivConjuncts()</text>
<text text-anchor="start" x="2534.84" y="-1137" font-family="Helvetica,sans-Serif" font-size="10.00">~ createEquivConjuncts()</text>
<text text-anchor="start" x="2534.84" y="-1126" font-family="Helvetica,sans-Serif" font-size="10.00">~ createEquivConjuncts()</text>
<text text-anchor="start" x="2534.84" y="-1115" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; Analyzer()</text>
<text text-anchor="start" x="2534.84" y="-1104" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; resolvePath()</text>
<text text-anchor="start" x="2534.84" y="-1093" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; resolvePaths()</text>
<text text-anchor="start" x="2534.84" y="-1082" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; markConstantConjunct()</text>
<text text-anchor="start" x="2534.84" y="-1071" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; registerConjunct()</text>
<text text-anchor="start" x="2534.84" y="-1060" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; canEvalPredicate()</text>
<text text-anchor="start" x="2534.84" y="-1049" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; getEquivClasses()</text>
<text text-anchor="start" x="2534.84" y="-1038" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; getEquivDestSlotIds()</text>
<text text-anchor="start" x="2534.84" y="-1027" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; hasOuterJoinedTuple()</text>
<text text-anchor="start" x="2534.84" y="-1016" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; isTrueWithNullSlots()</text>
<text text-anchor="start" x="2534.84" y="-1005" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; hasMutualValueTransfer()</text>
<text text-anchor="start" x="2534.84" y="-994" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; checkSystemDbAccess()</text>
</a>
</g>
</g>
<!-- Node8&#45;&gt;Node25 -->
<g id="edge69" class="edge"><title>Node8&#45;&gt;Node25</title>
<path fill="none" stroke="#404040" d="M1635.84,-2111.39C1646.85,-2068.07 1674.67,-1985.07 1732.84,-1946 1877.11,-1849.08 2388.72,-1989.67 2510.84,-1866 2547.37,-1829.01 2545.18,-1451.42 2552.84,-1400 2555.11,-1384.73 2557.75,-1368.95 2560.61,-1353.14"/>
<polygon fill="none" stroke="#404040" points="2560.66,-1352.85 2557.81,-1346.22 2562.83,-1341.04 2565.68,-1347.67 2560.66,-1352.85"/>
<text text-anchor="middle" x="2601.84" y="-1674.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;isSubquery_</text>
<text text-anchor="start" x="2552.84" y="-1663.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45;hasLimitOffsetClause</text>
<text text-anchor="middle" x="2601.84" y="-1652.5" font-family="Helvetica,sans-Serif" font-size="10.00">_</text>
<text text-anchor="start" x="2552.84" y="-1641.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45;enablePrivChecks</text>
<text text-anchor="middle" x="2601.84" y="-1630.5" font-family="Helvetica,sans-Serif" font-size="10.00">_</text>
<text text-anchor="start" x="2552.84" y="-1619.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45;hasEmptyResultSet</text>
<text text-anchor="middle" x="2601.84" y="-1608.5" font-family="Helvetica,sans-Serif" font-size="10.00">_</text>
<text text-anchor="start" x="2552.84" y="-1597.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45;hasEmptySpjResult</text>
<text text-anchor="middle" x="2601.84" y="-1586.5" font-family="Helvetica,sans-Serif" font-size="10.00">Set_</text>
</g>
<!-- Node29 -->
<g id="node29" class="node"><title>Node29</title>
<g id="a_node29"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1Analyzer_1_1GlobalState.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lAnalyzer.GlobalState\n||+ GlobalState()\l}">
<polygon fill="white" stroke="red" points="3308.34,-1599 3308.34,-1667 3457.34,-1667 3457.34,-1599 3308.34,-1599"/>
<text text-anchor="start" x="3316.34" y="-1655" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="3382.84" y="-1644" font-family="Helvetica,sans-Serif" font-size="10.00">Analyzer.GlobalState</text>
<polyline fill="none" stroke="red" points="3308.34,-1637 3457.34,-1637 "/>
<text text-anchor="middle" x="3382.84" y="-1625" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="red" points="3308.34,-1618 3457.34,-1618 "/>
<text text-anchor="start" x="3316.34" y="-1606" font-family="Helvetica,sans-Serif" font-size="10.00">+ GlobalState()</text>
</a>
</g>
</g>
<!-- Node8&#45;&gt;Node29 -->
<g id="edge57" class="edge"><title>Node8&#45;&gt;Node29</title>
<path fill="none" stroke="#404040" d="M1635.4,-2111.19C1645.85,-2067.21 1672.99,-1982.82 1732.84,-1946 1808.66,-1899.35 2458.21,-1974.97 2533.84,-1928 2552.58,-1916.36 2538.11,-1895.67 2556.84,-1884 2622.86,-1842.84 3190.49,-1906.63 3256.84,-1866 3324.06,-1824.83 3357.83,-1734.26 3372.76,-1679.25"/>
<polygon fill="none" stroke="#404040" points="3372.81,-1679.03 3370.45,-1672.22 3375.82,-1667.42 3378.19,-1674.23 3372.81,-1679.03"/>
<text text-anchor="middle" x="2599.84" y="-1920" font-family="Helvetica,sans-Serif" font-size="10.00"> +hasPlanHints</text>
<text text-anchor="middle" x="2599.84" y="-1909" font-family="Helvetica,sans-Serif" font-size="10.00">+useHiveColLabels</text>
<text text-anchor="middle" x="2599.84" y="-1898" font-family="Helvetica,sans-Serif" font-size="10.00">+containsSubquery</text>
<text text-anchor="middle" x="2599.84" y="-1887" font-family="Helvetica,sans-Serif" font-size="10.00">+isExplain</text>
</g>
<!-- Node8&#45;&gt;Node50 -->
<g id="edge86" class="edge"><title>Node8&#45;&gt;Node50</title>
<path fill="none" stroke="#404040" d="M1633.55,-2111.41C1638.83,-2071.16 1648.47,-1993.96 1653.84,-1928 1663.37,-1810.91 1611.6,-1495.63 1679.84,-1400 1692.35,-1382.47 1709.51,-1397.13 1724.84,-1382 1751.24,-1355.93 1770.24,-1320.99 1783.77,-1286.77"/>
<polygon fill="none" stroke="#404040" points="1783.9,-1286.43 1782.28,-1279.4 1788.15,-1275.21 1789.76,-1282.24 1783.9,-1286.43"/>
<text text-anchor="middle" x="1710.34" y="-1636" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;ifNotExists_</text>
<text text-anchor="middle" x="1710.34" y="-1625" font-family="Helvetica,sans-Serif" font-size="10.00">&#45;isExternal_</text>
</g>
<!-- Node9&#45;&gt;Node5 -->
<g id="edge8" class="edge"><title>Node9&#45;&gt;Node5</title>
<path fill="none" stroke="#404040" d="M688.562,-1074.88C719.577,-1020.01 766.619,-952.424 826.837,-912 986.856,-804.58 1217.99,-776.502 1342.16,-769.32"/>
<polygon fill="none" stroke="#404040" points="1342.22,-769.317 1347.99,-764.999 1354.2,-768.67 1348.42,-772.987 1342.22,-769.317"/>
<text text-anchor="middle" x="860.837" y="-937.5" font-family="Helvetica,sans-Serif" font-size="10.00"> #limitElement_</text>
</g>
<!-- Node10&#45;&gt;Node9 -->
<g id="edge9" class="edge"><title>Node10&#45;&gt;Node9</title>
<path fill="none" stroke="#404040" d="M607.952,-1400.89C615.637,-1353.04 623.344,-1305.06 629.781,-1264.98"/>
<polygon fill="none" stroke="#404040" points="629.789,-1264.92 626.791,-1258.37 631.692,-1253.08 634.69,-1259.63 629.789,-1264.92"/>
<text text-anchor="middle" x="641.337" y="-1374" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;offsetExpr_</text>
<text text-anchor="middle" x="641.337" y="-1363" font-family="Helvetica,sans-Serif" font-size="10.00">&#45;limitExpr_</text>
</g>
<!-- Node11 -->
<g id="node11" class="node"><title>Node11</title>
<polygon fill="white" stroke="#bfbfbf" points="448.337,-2106 448.337,-2174 595.337,-2174 595.337,-2106 448.337,-2106"/>
<text text-anchor="start" x="456.337" y="-2162" font-family="Helvetica,sans-Serif" font-size="10.00">com::cloudera::impala</text>
<text text-anchor="middle" x="521.837" y="-2151" font-family="Helvetica,sans-Serif" font-size="10.00">::common::TreeNode&lt; Expr &gt;</text>
<polyline fill="none" stroke="#bfbfbf" points="448.337,-2144 595.337,-2144 "/>
<text text-anchor="middle" x="521.837" y="-2132" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="#bfbfbf" points="448.337,-2125 595.337,-2125 "/>
<text text-anchor="middle" x="521.837" y="-2113" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node11&#45;&gt;Node10 -->
<g id="edge10" class="edge"><title>Node11&#45;&gt;Node10</title>
<path fill="none" stroke="midnightblue" d="M526.038,-2095.7C531.078,-2043.77 539.913,-1952.71 548.413,-1865.1"/>
<polygon fill="none" stroke="midnightblue" points="522.534,-2095.57 525.052,-2105.87 529.502,-2096.25 522.534,-2095.57"/>
</g>
<!-- Node12 -->
<g id="node12" class="node"><title>Node12</title>
<g id="a_node12"><a xlink:href="classCloneable.html" target="_top" xlink:title="{Cloneable\n||}">
<polygon fill="white" stroke="black" points="613.837,-2111.5 613.837,-2168.5 673.837,-2168.5 673.837,-2111.5 613.837,-2111.5"/>
<text text-anchor="middle" x="643.837" y="-2156.5" font-family="Helvetica,sans-Serif" font-size="10.00">Cloneable</text>
<polyline fill="none" stroke="black" points="613.837,-2149.5 673.837,-2149.5 "/>
<text text-anchor="middle" x="643.837" y="-2137.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="613.837,-2130.5 673.837,-2130.5 "/>
<text text-anchor="middle" x="643.837" y="-2118.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</a>
</g>
</g>
<!-- Node12&#45;&gt;Node10 -->
<g id="edge12" class="edge"><title>Node12&#45;&gt;Node10</title>
<path fill="none" stroke="midnightblue" d="M638.393,-2101.34C631.056,-2050.59 617.396,-1956.09 604.269,-1865.28"/>
<polygon fill="none" stroke="midnightblue" points="634.966,-2102.09 639.86,-2111.49 641.894,-2101.09 634.966,-2102.09"/>
</g>
<!-- Node13 -->
<g id="node13" class="node"><title>Node13</title>
<polygon fill="white" stroke="#bfbfbf" points="1375.84,-2710.5 1375.84,-2767.5 1417.84,-2767.5 1417.84,-2710.5 1375.84,-2710.5"/>
<text text-anchor="middle" x="1396.84" y="-2755.5" font-family="Helvetica,sans-Serif" font-size="10.00">String</text>
<polyline fill="none" stroke="#bfbfbf" points="1375.84,-2748.5 1417.84,-2748.5 "/>
<text text-anchor="middle" x="1396.84" y="-2736.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="#bfbfbf" points="1375.84,-2729.5 1417.84,-2729.5 "/>
<text text-anchor="middle" x="1396.84" y="-2717.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node13&#45;&gt;Node10 -->
<g id="edge13" class="edge"><title>Node13&#45;&gt;Node10</title>
<path fill="none" stroke="#404040" d="M1375.7,-2738.02C1282.85,-2737.67 912.301,-2731.23 835.837,-2652 742.583,-2555.37 823.171,-2484.25 799.837,-2352 762.657,-2141.28 806.712,-2061.25 686.837,-1884 679.565,-1873.25 671.63,-1876.38 663.837,-1866 663.389,-1865.4 662.943,-1864.8 662.499,-1864.2"/>
<polygon fill="none" stroke="#404040" points="662.396,-1864.06 655.664,-1861.47 655.462,-1854.26 662.194,-1856.85 662.396,-1864.06"/>
<text text-anchor="middle" x="838.337" y="-2389.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;NEGATE_FN</text>
</g>
<!-- Node13&#45;&gt;Node22 -->
<g id="edge29" class="edge"><title>Node13&#45;&gt;Node22</title>
<path fill="none" stroke="#404040" d="M1375.66,-2738.74C1327.97,-2739.53 1209.67,-2736.47 1124.84,-2692 1019.2,-2636.63 1098.87,-2528.23 1008.84,-2450 981.653,-2426.38 953.081,-2459.5 929.837,-2432 851.107,-2338.84 975.762,-1978.66 898.837,-1884 879.391,-1860.07 854.546,-1886.86 831.837,-1866 794.689,-1831.88 773.942,-1780.06 762.369,-1734.05"/>
<polygon fill="none" stroke="#404040" points="762.323,-1733.86 757.045,-1728.94 759.55,-1722.18 764.829,-1727.1 762.323,-1733.86"/>
<text text-anchor="middle" x="960.337" y="-2395" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;aliases_</text>
<text text-anchor="middle" x="960.337" y="-2384" font-family="Helvetica,sans-Serif" font-size="10.00">&#45;debugName_</text>
</g>
<!-- Node13&#45;&gt;Node25 -->
<g id="edge35" class="edge"><title>Node13&#45;&gt;Node25</title>
<path fill="none" stroke="#404040" d="M1417.88,-2738.32C1464.19,-2738.19 1577.36,-2733.3 1659.84,-2692 1800.12,-2621.75 1783.51,-2532.69 1916.84,-2450 2042.92,-2371.81 2100.82,-2407.24 2229.84,-2334 2468.99,-2198.23 2462.52,-2062.06 2711.84,-1946 2722.31,-1941.13 3112.5,-1874.92 3119.84,-1866 3152.74,-1826.02 3152.14,-1440.47 3119.84,-1400 3069.79,-1337.31 3023.2,-1371.66 2943.84,-1360 2917.4,-1356.12 2740.37,-1358.3 2688.45,-1343.95"/>
<polygon fill="none" stroke="#404040" points="2688.27,-1343.88 2681.2,-1345.31 2677.17,-1339.33 2684.24,-1337.9 2688.27,-1343.88"/>
<text text-anchor="start" x="2711.84" y="-2225.5" font-family="Helvetica,sans-Serif" font-size="10.00"> +FN_DOES_NOT_EXIST</text>
<text text-anchor="middle" x="2772.34" y="-2214.5" font-family="Helvetica,sans-Serif" font-size="10.00">_ERROR_MSG</text>
<text text-anchor="start" x="2711.84" y="-2203.5" font-family="Helvetica,sans-Serif" font-size="10.00">+DB_DOES_NOT_EXIST</text>
<text text-anchor="middle" x="2772.34" y="-2192.5" font-family="Helvetica,sans-Serif" font-size="10.00">_ERROR_MSG</text>
<text text-anchor="start" x="2711.84" y="-2181.5" font-family="Helvetica,sans-Serif" font-size="10.00">+DB_ALREADY_EXISTS</text>
<text text-anchor="middle" x="2772.34" y="-2170.5" font-family="Helvetica,sans-Serif" font-size="10.00">_ERROR_MSG</text>
<text text-anchor="start" x="2711.84" y="-2159.5" font-family="Helvetica,sans-Serif" font-size="10.00">+TBL_DOES_NOT_EXIST</text>
<text text-anchor="middle" x="2772.34" y="-2148.5" font-family="Helvetica,sans-Serif" font-size="10.00">_ERROR_MSG</text>
<text text-anchor="start" x="2711.84" y="-2137.5" font-family="Helvetica,sans-Serif" font-size="10.00">+FN_ALREADY_EXISTS</text>
<text text-anchor="middle" x="2772.34" y="-2126.5" font-family="Helvetica,sans-Serif" font-size="10.00">_ERROR_MSG</text>
<text text-anchor="middle" x="2772.34" y="-2115.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45;authErrorMsg_</text>
<text text-anchor="start" x="2711.84" y="-2104.5" font-family="Helvetica,sans-Serif" font-size="10.00">+TBL_ALREADY_EXISTS</text>
<text text-anchor="middle" x="2772.34" y="-2093.5" font-family="Helvetica,sans-Serif" font-size="10.00">_ERROR_MSG</text>
<text text-anchor="start" x="2711.84" y="-2082.5" font-family="Helvetica,sans-Serif" font-size="10.00">+DATA_SRC_ALREADY</text>
<text text-anchor="middle" x="2772.34" y="-2071.5" font-family="Helvetica,sans-Serif" font-size="10.00">_EXISTS_ERROR_MSG</text>
<text text-anchor="start" x="2711.84" y="-2060.5" font-family="Helvetica,sans-Serif" font-size="10.00">+DATA_SRC_DOES_NOT</text>
<text text-anchor="middle" x="2772.34" y="-2049.5" font-family="Helvetica,sans-Serif" font-size="10.00">_EXIST_ERROR_MSG</text>
</g>
<!-- Node32 -->
<g id="node32" class="node"><title>Node32</title>
<g id="a_node32"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1catalog_1_1Catalog.html" target="_top" xlink:title="{com.cloudera.impala.catalog.\lCatalog\n||+ Catalog()\l+ getBuiltinsDb()\l+ addDb()\l+ getDb()\l+ removeDb()\l+ getDbNames()\l+ getTable()\l+ removeTable()\l+ getTableNames()\l+ containsTable()\land 17 more...\l+ getBuiltin()\l&#45; filterStringsByPattern()\l}">
<polygon fill="white" stroke="red" points="1517.84,-2451 1517.84,-2651 1661.84,-2651 1661.84,-2451 1517.84,-2451"/>
<text text-anchor="start" x="1525.84" y="-2639" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.catalog.</text>
<text text-anchor="middle" x="1589.84" y="-2628" font-family="Helvetica,sans-Serif" font-size="10.00">Catalog</text>
<polyline fill="none" stroke="red" points="1517.84,-2621 1661.84,-2621 "/>
<text text-anchor="middle" x="1589.84" y="-2609" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="red" points="1517.84,-2602 1661.84,-2602 "/>
<text text-anchor="start" x="1525.84" y="-2590" font-family="Helvetica,sans-Serif" font-size="10.00">+ Catalog()</text>
<text text-anchor="start" x="1525.84" y="-2579" font-family="Helvetica,sans-Serif" font-size="10.00">+ getBuiltinsDb()</text>
<text text-anchor="start" x="1525.84" y="-2568" font-family="Helvetica,sans-Serif" font-size="10.00">+ addDb()</text>
<text text-anchor="start" x="1525.84" y="-2557" font-family="Helvetica,sans-Serif" font-size="10.00">+ getDb()</text>
<text text-anchor="start" x="1525.84" y="-2546" font-family="Helvetica,sans-Serif" font-size="10.00">+ removeDb()</text>
<text text-anchor="start" x="1525.84" y="-2535" font-family="Helvetica,sans-Serif" font-size="10.00">+ getDbNames()</text>
<text text-anchor="start" x="1525.84" y="-2524" font-family="Helvetica,sans-Serif" font-size="10.00">+ getTable()</text>
<text text-anchor="start" x="1525.84" y="-2513" font-family="Helvetica,sans-Serif" font-size="10.00">+ removeTable()</text>
<text text-anchor="start" x="1525.84" y="-2502" font-family="Helvetica,sans-Serif" font-size="10.00">+ getTableNames()</text>
<text text-anchor="start" x="1525.84" y="-2491" font-family="Helvetica,sans-Serif" font-size="10.00">+ containsTable()</text>
<text text-anchor="start" x="1525.84" y="-2480" font-family="Helvetica,sans-Serif" font-size="10.00">and 17 more...</text>
<text text-anchor="start" x="1525.84" y="-2469" font-family="Helvetica,sans-Serif" font-size="10.00">+ getBuiltin()</text>
<text text-anchor="start" x="1525.84" y="-2458" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; filterStringsByPattern()</text>
</a>
</g>
</g>
<!-- Node13&#45;&gt;Node32 -->
<g id="edge47" class="edge"><title>Node13&#45;&gt;Node32</title>
<path fill="none" stroke="#404040" d="M1417.92,-2735.21C1459.07,-2729.32 1547.8,-2714.3 1567.84,-2692 1575.53,-2683.44 1581.14,-2673.34 1585.18,-2662.54"/>
<polygon fill="none" stroke="#404040" points="1585.19,-2662.51 1583.21,-2655.57 1588.84,-2651.08 1590.83,-2658.01 1585.19,-2662.51"/>
<text text-anchor="middle" x="1618.34" y="-2684" font-family="Helvetica,sans-Serif" font-size="10.00"> +BUILTINS_DB</text>
<text text-anchor="middle" x="1618.34" y="-2673" font-family="Helvetica,sans-Serif" font-size="10.00">+DEFAULT_DB</text>
</g>
<!-- Node37 -->
<g id="node37" class="node"><title>Node37</title>
<g id="a_node37"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1authorization_1_1AuthorizationConfig.html" target="_top" xlink:title="{com.cloudera.impala.authorization.\lAuthorizationConfig\n||+ AuthorizationConfig()\l+ validateConfig()\l+ isEnabled()\l+ isFileBasedPolicy()\l+ getServerName()\l+ getPolicyFile()\l+ getSentryConfig()\l+ getPolicyProviderClassName()\l+ createAuthDisabledConfig()\l+ createHadoopGroupAuthConfig()\l}">
<polygon fill="white" stroke="black" points="3046.84,-2056.5 3046.84,-2223.5 3214.84,-2223.5 3214.84,-2056.5 3046.84,-2056.5"/>
<text text-anchor="start" x="3054.84" y="-2211.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.authorization.</text>
<text text-anchor="middle" x="3130.84" y="-2200.5" font-family="Helvetica,sans-Serif" font-size="10.00">AuthorizationConfig</text>
<polyline fill="none" stroke="black" points="3046.84,-2193.5 3214.84,-2193.5 "/>
<text text-anchor="middle" x="3130.84" y="-2181.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="3046.84,-2174.5 3214.84,-2174.5 "/>
<text text-anchor="start" x="3054.84" y="-2162.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AuthorizationConfig()</text>
<text text-anchor="start" x="3054.84" y="-2151.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ validateConfig()</text>
<text text-anchor="start" x="3054.84" y="-2140.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isEnabled()</text>
<text text-anchor="start" x="3054.84" y="-2129.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isFileBasedPolicy()</text>
<text text-anchor="start" x="3054.84" y="-2118.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getServerName()</text>
<text text-anchor="start" x="3054.84" y="-2107.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getPolicyFile()</text>
<text text-anchor="start" x="3054.84" y="-2096.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getSentryConfig()</text>
<text text-anchor="start" x="3054.84" y="-2085.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getPolicyProviderClassName()</text>
<text text-anchor="start" x="3054.84" y="-2074.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ createAuthDisabledConfig()</text>
<text text-anchor="start" x="3054.84" y="-2063.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ createHadoopGroupAuthConfig()</text>
</a>
</g>
</g>
<!-- Node13&#45;&gt;Node37 -->
<g id="edge59" class="edge"><title>Node13&#45;&gt;Node37</title>
<path fill="none" stroke="#404040" d="M1417.99,-2736.52C1475.07,-2732.27 1636.79,-2718.63 1768.84,-2692 1786.79,-2688.38 3023.81,-2345.77 3037.84,-2334 3068.3,-2308.43 3089.54,-2270.55 3103.94,-2235.1"/>
<polygon fill="none" stroke="#404040" points="3104.03,-2234.88 3102.48,-2227.84 3108.38,-2223.7 3109.94,-2230.74 3104.03,-2234.88"/>
<text text-anchor="middle" x="2689.34" y="-2565" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;policyFile_</text>
<text text-anchor="start" x="2630.84" y="-2554" font-family="Helvetica,sans-Serif" font-size="10.00">&#45;policyProviderClassName</text>
<text text-anchor="middle" x="2689.34" y="-2543" font-family="Helvetica,sans-Serif" font-size="10.00">_</text>
<text text-anchor="middle" x="2689.34" y="-2532" font-family="Helvetica,sans-Serif" font-size="10.00">&#45;serverName_</text>
</g>
<!-- Node38 -->
<g id="node38" class="node"><title>Node38</title>
<g id="a_node38"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1authorization_1_1SentryConfig.html" target="_top" xlink:title="{com.cloudera.impala.authorization.\lSentryConfig\n||+ SentryConfig()\l+ loadConfig()\l+ getConfig()\l+ getConfigFile()\l}">
<polygon fill="white" stroke="red" points="1127.84,-2500.5 1127.84,-2601.5 1295.84,-2601.5 1295.84,-2500.5 1127.84,-2500.5"/>
<text text-anchor="start" x="1135.84" y="-2589.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.authorization.</text>
<text text-anchor="middle" x="1211.84" y="-2578.5" font-family="Helvetica,sans-Serif" font-size="10.00">SentryConfig</text>
<polyline fill="none" stroke="red" points="1127.84,-2571.5 1295.84,-2571.5 "/>
<text text-anchor="middle" x="1211.84" y="-2559.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="red" points="1127.84,-2552.5 1295.84,-2552.5 "/>
<text text-anchor="start" x="1135.84" y="-2540.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SentryConfig()</text>
<text text-anchor="start" x="1135.84" y="-2529.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ loadConfig()</text>
<text text-anchor="start" x="1135.84" y="-2518.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getConfig()</text>
<text text-anchor="start" x="1135.84" y="-2507.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getConfigFile()</text>
</a>
</g>
</g>
<!-- Node13&#45;&gt;Node38 -->
<g id="edge61" class="edge"><title>Node13&#45;&gt;Node38</title>
<path fill="none" stroke="#404040" d="M1375.66,-2736.16C1330.26,-2731.72 1225.96,-2718.78 1204.84,-2692 1187.72,-2670.29 1187.17,-2640.28 1191.86,-2613.61"/>
<polygon fill="none" stroke="#404040" points="1191.9,-2613.39 1189.2,-2606.7 1194.34,-2601.64 1197.04,-2608.32 1191.9,-2613.39"/>
<text text-anchor="middle" x="1231.84" y="-2678.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;configFile_</text>
</g>
<!-- Node42 -->
<g id="node42" class="node"><title>Node42</title>
<g id="a_node42"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1authorization_1_1User.html" target="_top" xlink:title="{com.cloudera.impala.authorization.User\n||+ User()\l+ getName()\l+ getShortName()\l}">
<polygon fill="white" stroke="black" points="1000.34,-2352.5 1000.34,-2431.5 1189.34,-2431.5 1189.34,-2352.5 1000.34,-2352.5"/>
<text text-anchor="middle" x="1094.84" y="-2419.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.authorization.User</text>
<polyline fill="none" stroke="black" points="1000.34,-2412.5 1189.34,-2412.5 "/>
<text text-anchor="middle" x="1094.84" y="-2400.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="1000.34,-2393.5 1189.34,-2393.5 "/>
<text text-anchor="start" x="1008.34" y="-2381.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ User()</text>
<text text-anchor="start" x="1008.34" y="-2370.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getName()</text>
<text text-anchor="start" x="1008.34" y="-2359.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getShortName()</text>
</a>
</g>
</g>
<!-- Node13&#45;&gt;Node42 -->
<g id="edge66" class="edge"><title>Node13&#45;&gt;Node42</title>
<path fill="none" stroke="#404040" d="M1375.56,-2738.38C1331.45,-2738.27 1228.06,-2733.24 1154.84,-2692 1134,-2680.26 1128.43,-2673.91 1118.84,-2652 1089.27,-2584.45 1087.66,-2497.71 1090.37,-2443.73"/>
<polygon fill="none" stroke="#404040" points="1090.37,-2443.72 1086.72,-2437.5 1091.07,-2431.74 1094.71,-2437.96 1090.37,-2443.72"/>
<text text-anchor="middle" x="1172.84" y="-2678.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;name_</text>
</g>
<!-- Node13&#45;&gt;Node50 -->
<g id="edge85" class="edge"><title>Node13&#45;&gt;Node50</title>
<path fill="none" stroke="#404040" d="M1417.96,-2738.43C1485.74,-2739.35 1696.01,-2738.34 1740.84,-2692 1784.31,-2647.05 1754.84,-2614.53 1754.84,-2552 1754.84,-2552 1754.84,-2552 1754.84,-1905 1754.84,-1680.4 1750.26,-1623.36 1773.84,-1400 1777.72,-1363.18 1783.9,-1323.42 1790.28,-1287.26"/>
<polygon fill="none" stroke="#404040" points="1790.34,-1286.96 1787.46,-1280.35 1792.45,-1275.15 1795.33,-1281.76 1790.34,-1286.96"/>
<text text-anchor="middle" x="1779.34" y="-2148.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;dbName_</text>
<text text-anchor="middle" x="1779.34" y="-2137.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45;owner_</text>
<text text-anchor="middle" x="1779.34" y="-2126.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45;comment_</text>
</g>
<!-- Node14 -->
<g id="node14" class="node"><title>Node14</title>
<g id="a_node14"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1catalog_1_1Type.html" target="_top" xlink:title="{com.cloudera.impala.catalog.Type\n|+ NULL\l+ FLOAT\l+ STRING\l+ BINARY\l+ TIMESTAMP\l+ DATETIME\l+ DECIMAL\l+ VARCHAR\l+ CHAR\l|+ toSql()\l+ isInvalid()\l+ isValid()\l+ isNull()\l+ isBoolean()\l+ isTimestamp()\l+ isDecimal()\l+ isDecimalOrNull()\l+ isFullySpecifiedDecimal()\l+ isWildcardDecimal()\land 29 more...\l+ getIntegerTypes()\l+ getNumericTypes()\l+ getSupportedTypes()\l+ parseColumnType()\l+ isImplicitlyCastable()\l+ getAssignmentCompatibleType()\l+ toThrift()\l+ toThrift()\l+ fromThrift()\l~ [static initializer]()\l~ [static initializer]()\l# fromThrift()\l}">
<polygon fill="white" stroke="red" points="261.837,-1946.5 261.837,-2333.5 429.837,-2333.5 429.837,-1946.5 261.837,-1946.5"/>
<text text-anchor="middle" x="345.837" y="-2321.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.catalog.Type</text>
<polyline fill="none" stroke="red" points="261.837,-2314.5 429.837,-2314.5 "/>
<text text-anchor="start" x="269.837" y="-2302.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ NULL</text>
<text text-anchor="start" x="269.837" y="-2291.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FLOAT</text>
<text text-anchor="start" x="269.837" y="-2280.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ STRING</text>
<text text-anchor="start" x="269.837" y="-2269.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ BINARY</text>
<text text-anchor="start" x="269.837" y="-2258.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TIMESTAMP</text>
<text text-anchor="start" x="269.837" y="-2247.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DATETIME</text>
<text text-anchor="start" x="269.837" y="-2236.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DECIMAL</text>
<text text-anchor="start" x="269.837" y="-2225.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VARCHAR</text>
<text text-anchor="start" x="269.837" y="-2214.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CHAR</text>
<polyline fill="none" stroke="red" points="261.837,-2207.5 429.837,-2207.5 "/>
<text text-anchor="start" x="269.837" y="-2195.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ toSql()</text>
<text text-anchor="start" x="269.837" y="-2184.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isInvalid()</text>
<text text-anchor="start" x="269.837" y="-2173.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isValid()</text>
<text text-anchor="start" x="269.837" y="-2162.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isNull()</text>
<text text-anchor="start" x="269.837" y="-2151.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isBoolean()</text>
<text text-anchor="start" x="269.837" y="-2140.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isTimestamp()</text>
<text text-anchor="start" x="269.837" y="-2129.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isDecimal()</text>
<text text-anchor="start" x="269.837" y="-2118.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isDecimalOrNull()</text>
<text text-anchor="start" x="269.837" y="-2107.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isFullySpecifiedDecimal()</text>
<text text-anchor="start" x="269.837" y="-2096.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isWildcardDecimal()</text>
<text text-anchor="start" x="269.837" y="-2085.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 29 more...</text>
<text text-anchor="start" x="269.837" y="-2074.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getIntegerTypes()</text>
<text text-anchor="start" x="269.837" y="-2063.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getNumericTypes()</text>
<text text-anchor="start" x="269.837" y="-2052.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getSupportedTypes()</text>
<text text-anchor="start" x="269.837" y="-2041.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ parseColumnType()</text>
<text text-anchor="start" x="269.837" y="-2030.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isImplicitlyCastable()</text>
<text text-anchor="start" x="269.837" y="-2019.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getAssignmentCompatibleType()</text>
<text text-anchor="start" x="269.837" y="-2008.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ toThrift()</text>
<text text-anchor="start" x="269.837" y="-1997.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ toThrift()</text>
<text text-anchor="start" x="269.837" y="-1986.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ fromThrift()</text>
<text text-anchor="start" x="269.837" y="-1975.5" font-family="Helvetica,sans-Serif" font-size="10.00">~ [static initializer]()</text>
<text text-anchor="start" x="269.837" y="-1964.5" font-family="Helvetica,sans-Serif" font-size="10.00">~ [static initializer]()</text>
<text text-anchor="start" x="269.837" y="-1953.5" font-family="Helvetica,sans-Serif" font-size="10.00"># fromThrift()</text>
</a>
</g>
</g>
<!-- Node14&#45;&gt;Node10 -->
<g id="edge14" class="edge"><title>Node14&#45;&gt;Node10</title>
<path fill="none" stroke="#404040" d="M429.939,-1950.24C446.696,-1912.63 464.352,-1873 481.284,-1835"/>
<polygon fill="none" stroke="#404040" points="481.392,-1834.76 480.18,-1827.65 486.275,-1823.79 487.487,-1830.9 481.392,-1834.76"/>
<text text-anchor="middle" x="475.337" y="-1903.5" font-family="Helvetica,sans-Serif" font-size="10.00"> #type_</text>
</g>
<!-- Node15 -->
<g id="node15" class="node"><title>Node15</title>
<polygon fill="white" stroke="#bfbfbf" points="3562.84,-2710.5 3562.84,-2767.5 3608.84,-2767.5 3608.84,-2710.5 3562.84,-2710.5"/>
<text text-anchor="middle" x="3585.84" y="-2755.5" font-family="Helvetica,sans-Serif" font-size="10.00">Logger</text>
<polyline fill="none" stroke="#bfbfbf" points="3562.84,-2748.5 3608.84,-2748.5 "/>
<text text-anchor="middle" x="3585.84" y="-2736.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="#bfbfbf" points="3562.84,-2729.5 3608.84,-2729.5 "/>
<text text-anchor="middle" x="3585.84" y="-2717.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node15&#45;&gt;Node1 -->
<g id="edge89" class="edge"><title>Node15&#45;&gt;Node1</title>
<path fill="none" stroke="#404040" d="M3608.89,-2733.47C3673.36,-2719.35 3850.84,-2669.76 3850.84,-2552 3850.84,-2552 3850.84,-2552 3850.84,-343 3850.84,-240.664 3534.41,-160.098 3371.84,-125.459"/>
<polygon fill="none" stroke="#404040" points="3371.68,-125.424 3364.98,-128.099 3359.93,-122.946 3366.63,-120.271 3371.68,-125.424"/>
<text text-anchor="middle" x="3864.34" y="-1161.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;LOG</text>
</g>
<!-- Node15&#45;&gt;Node10 -->
<g id="edge16" class="edge"><title>Node15&#45;&gt;Node10</title>
<path fill="none" stroke="#404040" d="M3562.57,-2737.68C3372.45,-2734.95 2077.23,-2714.12 1916.84,-2652 1784.91,-2600.91 1786.47,-2531.5 1670.84,-2450 1658.13,-2441.04 1651.21,-2443.58 1640.84,-2432 1471.05,-2242.44 1711.44,-1977.71 1474.84,-1884 1434.98,-1868.22 770.726,-1889.39 666.93,-1864.05"/>
<polygon fill="none" stroke="#404040" points="666.769,-1863.99 659.746,-1865.62 655.536,-1859.77 662.56,-1858.13 666.769,-1863.99"/>
<text text-anchor="middle" x="1654.34" y="-2389.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;LOG</text>
</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_1ExprSubstitutionMap.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lExprSubstitutionMap\n||+ ExprSubstitutionMap()\l+ ExprSubstitutionMap()\l+ put()\l+ get()\l+ containsMappingFor()\l+ substituteLhs()\l+ getLhs()\l+ getRhs()\l+ size()\l+ debugString()\l+ clear()\l+ compose()\l+ combine()\l&#45; verify()\l}">
<polygon fill="white" stroke="black" points="3232.34,-2034.5 3232.34,-2245.5 3381.34,-2245.5 3381.34,-2034.5 3232.34,-2034.5"/>
<text text-anchor="start" x="3240.34" y="-2233.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="3306.84" y="-2222.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExprSubstitutionMap</text>
<polyline fill="none" stroke="black" points="3232.34,-2215.5 3381.34,-2215.5 "/>
<text text-anchor="middle" x="3306.84" y="-2203.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="3232.34,-2196.5 3381.34,-2196.5 "/>
<text text-anchor="start" x="3240.34" y="-2184.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ExprSubstitutionMap()</text>
<text text-anchor="start" x="3240.34" y="-2173.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ExprSubstitutionMap()</text>
<text text-anchor="start" x="3240.34" y="-2162.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ put()</text>
<text text-anchor="start" x="3240.34" y="-2151.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ get()</text>
<text text-anchor="start" x="3240.34" y="-2140.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ containsMappingFor()</text>
<text text-anchor="start" x="3240.34" y="-2129.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ substituteLhs()</text>
<text text-anchor="start" x="3240.34" y="-2118.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getLhs()</text>
<text text-anchor="start" x="3240.34" y="-2107.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getRhs()</text>
<text text-anchor="start" x="3240.34" y="-2096.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ size()</text>
<text text-anchor="start" x="3240.34" y="-2085.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ debugString()</text>
<text text-anchor="start" x="3240.34" y="-2074.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ clear()</text>
<text text-anchor="start" x="3240.34" y="-2063.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ compose()</text>
<text text-anchor="start" x="3240.34" y="-2052.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ combine()</text>
<text text-anchor="start" x="3240.34" y="-2041.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; verify()</text>
</a>
</g>
</g>
<!-- Node15&#45;&gt;Node19 -->
<g id="edge25" class="edge"><title>Node15&#45;&gt;Node19</title>
<path fill="none" stroke="#404040" d="M3562.75,-2738.26C3465.84,-2738.83 3093.56,-2735.49 3021.84,-2652 2934.18,-2549.97 2954.53,-2433.12 3061.84,-2352 3119.27,-2308.58 3164.91,-2376.76 3222.84,-2334 3248.58,-2315 3266.54,-2286.42 3279.03,-2257.03"/>
<polygon fill="none" stroke="#404040" points="3279.09,-2256.88 3277.61,-2249.83 3283.56,-2245.75 3285.04,-2252.8 3279.09,-2256.88"/>
<text text-anchor="middle" x="3035.34" y="-2548.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;LOG</text>
</g>
<!-- Node15&#45;&gt;Node25 -->
<g id="edge36" class="edge"><title>Node15&#45;&gt;Node25</title>
<path fill="none" stroke="#404040" d="M3598.03,-2710.33C3604.69,-2693.77 3612.28,-2672.09 3615.84,-2652 3645.62,-2483.94 3654.13,-2052.49 3626.84,-1884 3590.59,-1660.22 3633.09,-1553.03 3465.84,-1400 3408.89,-1347.9 3373.36,-1370.07 3296.84,-1360 3264.98,-1355.81 2775.44,-1360.41 2688.74,-1343.09"/>
<polygon fill="none" stroke="#404040" points="2688.56,-1343.04 2681.63,-1345.03 2677.12,-1339.4 2684.05,-1337.41 2688.56,-1343.04"/>
<text text-anchor="middle" x="3657.34" y="-2137.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;LOG</text>
</g>
<!-- Node31 -->
<g id="node31" class="node"><title>Node31</title>
<g id="a_node31"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1catalog_1_1ImpaladCatalog.html" target="_top" xlink:title="{com.cloudera.impala.catalog.\lImpaladCatalog\n||+ ImpaladCatalog()\l+ updateCatalog()\l+ waitForCatalogUpdate()\l+ getTable()\l+ getTablePath()\l+ isReady()\l+ setIsReady()\l+ getAuthPolicy()\l&#45; addCatalogObject()\l&#45; removeCatalogObject()\l&#45; addDb()\l&#45; addTable()\l&#45; addFunction()\l&#45; addDataSource()\l&#45; removeDataSource()\l&#45; removeDb()\l&#45; removeTable()\l&#45; removeFunction()\l&#45; removeRole()\l&#45; removePrivilege()\l}">
<polygon fill="white" stroke="black" points="3399.84,-2001.5 3399.84,-2278.5 3543.84,-2278.5 3543.84,-2001.5 3399.84,-2001.5"/>
<text text-anchor="start" x="3407.84" y="-2266.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.catalog.</text>
<text text-anchor="middle" x="3471.84" y="-2255.5" font-family="Helvetica,sans-Serif" font-size="10.00">ImpaladCatalog</text>
<polyline fill="none" stroke="black" points="3399.84,-2248.5 3543.84,-2248.5 "/>
<text text-anchor="middle" x="3471.84" y="-2236.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="3399.84,-2229.5 3543.84,-2229.5 "/>
<text text-anchor="start" x="3407.84" y="-2217.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ImpaladCatalog()</text>
<text text-anchor="start" x="3407.84" y="-2206.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ updateCatalog()</text>
<text text-anchor="start" x="3407.84" y="-2195.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ waitForCatalogUpdate()</text>
<text text-anchor="start" x="3407.84" y="-2184.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getTable()</text>
<text text-anchor="start" x="3407.84" y="-2173.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getTablePath()</text>
<text text-anchor="start" x="3407.84" y="-2162.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ isReady()</text>
<text text-anchor="start" x="3407.84" y="-2151.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ setIsReady()</text>
<text text-anchor="start" x="3407.84" y="-2140.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ getAuthPolicy()</text>
<text text-anchor="start" x="3407.84" y="-2129.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; addCatalogObject()</text>
<text text-anchor="start" x="3407.84" y="-2118.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; removeCatalogObject()</text>
<text text-anchor="start" x="3407.84" y="-2107.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; addDb()</text>
<text text-anchor="start" x="3407.84" y="-2096.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; addTable()</text>
<text text-anchor="start" x="3407.84" y="-2085.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; addFunction()</text>
<text text-anchor="start" x="3407.84" y="-2074.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; addDataSource()</text>
<text text-anchor="start" x="3407.84" y="-2063.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; removeDataSource()</text>
<text text-anchor="start" x="3407.84" y="-2052.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; removeDb()</text>
<text text-anchor="start" x="3407.84" y="-2041.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; removeTable()</text>
<text text-anchor="start" x="3407.84" y="-2030.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; removeFunction()</text>
<text text-anchor="start" x="3407.84" y="-2019.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; removeRole()</text>
<text text-anchor="start" x="3407.84" y="-2008.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; removePrivilege()</text>
</a>
</g>
</g>
<!-- Node15&#45;&gt;Node31 -->
<g id="edge51" class="edge"><title>Node15&#45;&gt;Node31</title>
<path fill="none" stroke="#404040" d="M3585.72,-2710.47C3584.92,-2646.64 3579.83,-2483.92 3549.84,-2352 3545.24,-2331.77 3539.19,-2310.85 3532.49,-2290.4"/>
<polygon fill="none" stroke="#404040" points="3532.4,-2290.14 3526.7,-2285.72 3528.59,-2278.76 3534.29,-2283.18 3532.4,-2290.14"/>
<text text-anchor="middle" x="3598.34" y="-2548.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;LOG</text>
</g>
<!-- Node15&#45;&gt;Node32 -->
<g id="edge48" class="edge"><title>Node15&#45;&gt;Node32</title>
<path fill="none" stroke="#404040" d="M3562.62,-2738.12C3381.77,-2738.98 2196.02,-2742.58 1841.84,-2692 1772.68,-2682.12 1750.41,-2686.79 1689.84,-2652 1683.7,-2648.47 1677.68,-2644.48 1671.82,-2640.15"/>
<polygon fill="none" stroke="#404040" points="1671.59,-2639.98 1664.4,-2639.44 1662.13,-2632.6 1669.32,-2633.13 1671.59,-2639.98"/>
<text text-anchor="middle" x="1855.34" y="-2678.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;LOG</text>
</g>
<!-- Node48 -->
<g id="node48" class="node"><title>Node48</title>
<g id="a_node48"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1analysis_1_1AnalysisContext.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lAnalysisContext\n||+ AnalysisContext()\l+ analyze()\l+ analyze()\l+ getAnalysisResult()\l+ getAnalyzer()\l}">
<polygon fill="white" stroke="black" points="3371.34,-477 3371.34,-589 3520.34,-589 3520.34,-477 3371.34,-477"/>
<text text-anchor="start" x="3379.34" y="-577" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="3445.84" y="-566" font-family="Helvetica,sans-Serif" font-size="10.00">AnalysisContext</text>
<polyline fill="none" stroke="black" points="3371.34,-559 3520.34,-559 "/>
<text text-anchor="middle" x="3445.84" y="-547" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="3371.34,-540 3520.34,-540 "/>
<text text-anchor="start" x="3379.34" y="-528" font-family="Helvetica,sans-Serif" font-size="10.00">+ AnalysisContext()</text>
<text text-anchor="start" x="3379.34" y="-517" font-family="Helvetica,sans-Serif" font-size="10.00">+ analyze()</text>
<text text-anchor="start" x="3379.34" y="-506" font-family="Helvetica,sans-Serif" font-size="10.00">+ analyze()</text>
<text text-anchor="start" x="3379.34" y="-495" font-family="Helvetica,sans-Serif" font-size="10.00">+ getAnalysisResult()</text>
<text text-anchor="start" x="3379.34" y="-484" font-family="Helvetica,sans-Serif" font-size="10.00">+ getAnalyzer()</text>
</a>
</g>
</g>
<!-- Node15&#45;&gt;Node48 -->
<g id="edge78" class="edge"><title>Node15&#45;&gt;Node48</title>
<path fill="none" stroke="#404040" d="M3608.85,-2728.92C3660.24,-2706.96 3779.84,-2645.79 3779.84,-2552 3779.84,-2552 3779.84,-2552 3779.84,-1905 3779.84,-1622.57 3847.67,-865.153 3679.84,-638 3644.85,-590.648 3583.44,-564.455 3532.31,-550.203"/>
<polygon fill="none" stroke="#404040" points="3532.16,-550.164 3525.33,-552.491 3520.56,-547.085 3527.39,-544.758 3532.16,-550.164"/>
<text text-anchor="middle" x="3806.34" y="-1630.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;LOG</text>
</g>
<!-- Node16 -->
<g id="node16" class="node"><title>Node16</title>
<polygon fill="white" stroke="#bfbfbf" points="293.337,-2710.5 293.337,-2767.5 322.337,-2767.5 322.337,-2710.5 293.337,-2710.5"/>
<text text-anchor="middle" x="307.837" y="-2755.5" font-family="Helvetica,sans-Serif" font-size="10.00">int</text>
<polyline fill="none" stroke="#bfbfbf" points="293.337,-2748.5 322.337,-2748.5 "/>
<text text-anchor="middle" x="307.837" y="-2736.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="#bfbfbf" points="293.337,-2729.5 322.337,-2729.5 "/>
<text text-anchor="middle" x="307.837" y="-2717.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node16&#45;&gt;Node10 -->
<g id="edge17" class="edge"><title>Node16&#45;&gt;Node10</title>
<path fill="none" stroke="#404040" d="M302.597,-2710.23C279.814,-2586.84 193.15,-2088.18 252.837,-1946 264.885,-1917.3 387.514,-1801.33 476.894,-1719.19"/>
<polygon fill="none" stroke="#404040" points="477.138,-1718.97 478.854,-1711.96 485.979,-1710.85 484.264,-1717.86 477.138,-1718.97"/>
<text text-anchor="middle" x="320.337" y="-2395" font-family="Helvetica,sans-Serif" font-size="10.00"> +EXPR_DEPTH_LIMIT</text>
<text text-anchor="middle" x="320.337" y="-2384" font-family="Helvetica,sans-Serif" font-size="10.00">+EXPR_CHILDREN_LIMIT</text>
</g>
<!-- Node16&#45;&gt;Node22 -->
<g id="edge30" class="edge"><title>Node16&#45;&gt;Node22</title>
<path fill="none" stroke="#404040" d="M322.449,-2710.39C361.29,-2639.68 474.293,-2450.72 621.837,-2352 644.976,-2336.52 664.187,-2355.53 681.837,-2334 755.001,-2244.75 756.091,-1905.45 751.662,-1734.18"/>
<polygon fill="none" stroke="#404040" points="751.661,-1734.14 747.5,-1728.25 751.335,-1722.14 755.497,-1728.03 751.661,-1734.14"/>
<text text-anchor="middle" x="656.837" y="-2395" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;byteSize_</text>
<text text-anchor="middle" x="656.837" y="-2384" font-family="Helvetica,sans-Serif" font-size="10.00">&#45;numNullBytes_</text>
</g>
<!-- Node16&#45;&gt;Node25 -->
<g id="edge40" class="edge"><title>Node16&#45;&gt;Node25</title>
<path fill="none" stroke="#404040" d="M293.151,-2716.58C282.124,-2699.68 267.346,-2675.17 257.837,-2652 202.414,-2516.98 194.205,-2478.8 175.837,-2334 154.135,-2162.93 132.854,-2113 175.837,-1946 244.906,-1677.65 240.944,-1545.39 476.837,-1400 521.988,-1372.17 901.089,-1387.54 953.837,-1382 1010.81,-1376.02 1023.82,-1365.54 1080.84,-1360 1261.59,-1342.45 1717.87,-1366.29 1897.84,-1342 2124.39,-1311.42 2383.36,-1235.3 2515.05,-1193.54"/>
<polygon fill="none" stroke="#404040" points="2515.19,-1193.5 2519.69,-1187.86 2526.62,-1189.86 2522.12,-1195.49 2515.19,-1193.5"/>
<text text-anchor="middle" x="202.337" y="-2137.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;callDepth_</text>
</g>
<!-- Node16&#45;&gt;Node32 -->
<g id="edge49" class="edge"><title>Node16&#45;&gt;Node32</title>
<path fill="none" stroke="#404040" d="M322.372,-2736.9C377.078,-2732.79 575.821,-2718.16 739.837,-2710 797.467,-2707.13 1206.79,-2716.92 1258.84,-2692 1270.49,-2686.42 1266.31,-2675.84 1277.84,-2670 1367.72,-2624.46 1414,-2697.63 1503.84,-2652 1505.04,-2651.39 1506.23,-2650.76 1507.41,-2650.1"/>
<polygon fill="none" stroke="#404040" points="1507.59,-2649.98 1510.54,-2643.4 1517.75,-2643.6 1514.8,-2650.18 1507.59,-2649.98"/>
<text text-anchor="start" x="1277.84" y="-2684" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;META_STORE_CLIENT</text>
<text text-anchor="middle" x="1335.34" y="-2673" font-family="Helvetica,sans-Serif" font-size="10.00">_POOL_SIZE</text>
</g>
<!-- Node17 -->
<g id="node17" class="node"><title>Node17</title>
<polygon fill="white" stroke="#bfbfbf" points="749.337,-2710.5 749.337,-2767.5 784.337,-2767.5 784.337,-2710.5 749.337,-2710.5"/>
<text text-anchor="middle" x="766.837" y="-2755.5" font-family="Helvetica,sans-Serif" font-size="10.00">long</text>
<polyline fill="none" stroke="#bfbfbf" points="749.337,-2748.5 784.337,-2748.5 "/>
<text text-anchor="middle" x="766.837" y="-2736.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="#bfbfbf" points="749.337,-2729.5 784.337,-2729.5 "/>
<text text-anchor="middle" x="766.837" y="-2717.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node17&#45;&gt;Node9 -->
<g id="edge20" class="edge"><title>Node17&#45;&gt;Node9</title>
<path fill="none" stroke="#404040" d="M749.211,-2734.22C658.521,-2713.67 243.072,-2606.22 96.837,-2334 -103.887,-1960.35 31.4277,-1734.02 292.837,-1400 364.017,-1309.05 480.513,-1241.32 560.059,-1202.51"/>
<polygon fill="none" stroke="#404040" points="560.218,-1202.43 563.888,-1196.22 571.03,-1197.22 567.36,-1203.43 560.218,-1202.43"/>
<text text-anchor="middle" x="113.837" y="-2143" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;limit_</text>
<text text-anchor="middle" x="113.837" y="-2132" font-family="Helvetica,sans-Serif" font-size="10.00">&#45;offset_</text>
</g>
<!-- Node17&#45;&gt;Node10 -->
<g id="edge18" class="edge"><title>Node17&#45;&gt;Node10</title>
<path fill="none" stroke="#404040" d="M759.484,-2710.41C745.624,-2657.08 715.863,-2535.94 702.837,-2432 675.951,-2217.48 723.198,-2158.21 681.837,-1946 676.108,-1916.61 668.116,-1886.26 659.017,-1856.56"/>
<polygon fill="none" stroke="#404040" points="658.914,-1856.23 653.308,-1851.69 655.339,-1844.77 660.945,-1849.31 658.914,-1856.23"/>
<text text-anchor="middle" x="751.337" y="-2389.5" font-family="Helvetica,sans-Serif" font-size="10.00"> #numDistinctValues_</text>
</g>
<!-- Node17&#45;&gt;Node31 -->
<g id="edge54" class="edge"><title>Node17&#45;&gt;Node31</title>
<path fill="none" stroke="#404040" d="M778.332,-2710.38C805.212,-2649.88 878.604,-2506.58 991.837,-2450 1084.99,-2403.45 1831.37,-2468.64 1928.84,-2432 1980.51,-2412.58 1972.11,-2371.27 2023.84,-2352 2094.96,-2325.51 3326.82,-2376.3 3389.84,-2334 3406.89,-2322.55 3420.42,-2306.77 3431.13,-2289.13"/>
<polygon fill="none" stroke="#404040" points="3431.21,-2288.99 3430.69,-2281.8 3437.12,-2278.55 3437.65,-2285.74 3431.21,-2288.99"/>
<text text-anchor="middle" x="1055.34" y="-2548.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;lastSyncedCatalogVersion_</text>
</g>
<!-- Node17&#45;&gt;Node32 -->
<g id="edge50" class="edge"><title>Node17&#45;&gt;Node32</title>
<path fill="none" stroke="#404040" d="M784.51,-2737.51C880.886,-2734.76 1340.74,-2720.19 1396.84,-2692 1408.38,-2686.2 1404.69,-2676.53 1415.84,-2670 1450.28,-2649.82 1469.42,-2672.22 1503.84,-2652 1505.17,-2651.22 1506.49,-2650.41 1507.8,-2649.57"/>
<polygon fill="none" stroke="#404040" points="1507.81,-2649.56 1510.43,-2642.84 1517.64,-2642.67 1515.02,-2649.39 1507.81,-2649.56"/>
<text text-anchor="middle" x="1489.84" y="-2678.5" font-family="Helvetica,sans-Serif" font-size="10.00"> +INITIAL_CATALOG_VERSION</text>
</g>
<!-- Node18 -->
<g id="node18" class="node"><title>Node18</title>
<polygon fill="white" stroke="#bfbfbf" points="1288.34,-1130 1288.34,-1198 1485.34,-1198 1485.34,-1130 1288.34,-1130"/>
<text text-anchor="start" x="1296.34" y="-1186" font-family="Helvetica,sans-Serif" font-size="10.00">ArrayList&lt; com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="1386.84" y="-1175" font-family="Helvetica,sans-Serif" font-size="10.00">OrderByElement &gt;</text>
<polyline fill="none" stroke="#bfbfbf" points="1288.34,-1168 1485.34,-1168 "/>
<text text-anchor="middle" x="1386.84" y="-1156" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="#bfbfbf" points="1288.34,-1149 1485.34,-1149 "/>
<text text-anchor="middle" x="1386.84" y="-1137" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node18&#45;&gt;Node5 -->
<g id="edge22" class="edge"><title>Node18&#45;&gt;Node5</title>
<path fill="none" stroke="#404040" d="M1389.72,-1129.68C1393.96,-1081.57 1402.28,-989.889 1410.84,-912 1411.07,-909.92 1411.3,-907.823 1411.53,-905.713"/>
<polygon fill="none" stroke="#404040" points="1411.57,-905.429 1408.27,-899.016 1412.92,-893.505 1416.22,-899.918 1411.57,-905.429"/>
<text text-anchor="middle" x="1455.34" y="-937.5" font-family="Helvetica,sans-Serif" font-size="10.00"> #orderByElements_</text>
</g>
<!-- Node19&#45;&gt;Node5 -->
<g id="edge23" class="edge"><title>Node19&#45;&gt;Node5</title>
<path fill="none" stroke="#404040" d="M3331.62,-2034.32C3344.26,-2001.63 3363.06,-1968.31 3390.84,-1946 3423.32,-1919.91 3456.36,-1960.17 3482.84,-1928 3504.58,-1901.6 3699.28,-1696.87 3465.84,-1400 3406.78,-1324.9 3346.3,-1380.45 3258.84,-1342 2984.02,-1221.19 2963.15,-1098.49 2684.84,-986 2540.65,-927.721 2495.69,-940.639 2342.84,-912 2040.22,-855.302 1678.5,-802.237 1515.73,-779.137"/>
<polygon fill="none" stroke="#404040" points="1515.3,-779.077 1508.8,-782.196 1503.42,-777.394 1509.92,-774.275 1515.3,-779.077"/>
<text text-anchor="middle" x="3478.84" y="-1368.5" font-family="Helvetica,sans-Serif" font-size="10.00"> #aliasSmap_</text>
</g>
<!-- Node19&#45;&gt;Node29 -->
<g id="edge44" class="edge"><title>Node19&#45;&gt;Node29</title>
<path fill="none" stroke="#404040" d="M3322.58,-2034.36C3339.05,-1924.95 3364.13,-1758.33 3376.06,-1679.01"/>
<polygon fill="none" stroke="#404040" points="3376.08,-1678.92 3373.01,-1672.39 3377.86,-1667.05 3380.93,-1673.58 3376.08,-1678.92"/>
<text text-anchor="middle" x="3385.34" y="-1903.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;equivClassSmap</text>
</g>
<!-- Node20 -->
<g id="node20" class="node"><title>Node20</title>
<polygon fill="white" stroke="#bfbfbf" points="1322.34,-2517 1322.34,-2585 1495.34,-2585 1495.34,-2517 1322.34,-2517"/>
<text text-anchor="start" x="1330.34" y="-2573" font-family="Helvetica,sans-Serif" font-size="10.00">List&lt; com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="1408.84" y="-2562" font-family="Helvetica,sans-Serif" font-size="10.00">Expr &gt;</text>
<polyline fill="none" stroke="#bfbfbf" points="1322.34,-2555 1495.34,-2555 "/>
<text text-anchor="middle" x="1408.84" y="-2543" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="#bfbfbf" points="1322.34,-2536 1495.34,-2536 "/>
<text text-anchor="middle" x="1408.84" y="-2524" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node20&#45;&gt;Node19 -->
<g id="edge24" class="edge"><title>Node20&#45;&gt;Node19</title>
<path fill="none" stroke="#404040" d="M1431.72,-2516.6C1449.7,-2493.39 1476.98,-2464.17 1508.84,-2450 1544.11,-2434.31 1817.3,-2434.38 1855.84,-2432 1855.84,-2432 3222.84,-2334 3222.84,-2334 3249.15,-2315.37 3267.31,-2286.66 3279.8,-2257.03"/>
<polygon fill="none" stroke="#404040" points="3279.89,-2256.8 3278.39,-2249.75 3284.32,-2245.65 3285.82,-2252.7 3279.89,-2256.8"/>
<text text-anchor="middle" x="2974.34" y="-2395" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;lhs_</text>
<text text-anchor="middle" x="2974.34" y="-2384" font-family="Helvetica,sans-Serif" font-size="10.00">&#45;rhs_</text>
</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_1SortInfo.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lSortInfo\n||+ SortInfo()\l+ setMaterializedTupleInfo()\l+ getOrderingExprs()\l+ getIsAscOrder()\l+ getNullsFirstParams()\l+ getSortTupleSlotExprs()\l+ getSortTupleDescriptor()\l+ getNullsFirst()\l+ materializeRequiredSlots()\l+ substituteOrderingExprs()\l+ checkConsistency()\l}">
<polygon fill="white" stroke="black" points="802.337,-1075 802.337,-1253 951.337,-1253 951.337,-1075 802.337,-1075"/>
<text text-anchor="start" x="810.337" y="-1241" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="876.837" y="-1230" font-family="Helvetica,sans-Serif" font-size="10.00">SortInfo</text>
<polyline fill="none" stroke="black" points="802.337,-1223 951.337,-1223 "/>
<text text-anchor="middle" x="876.837" y="-1211" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="802.337,-1204 951.337,-1204 "/>
<text text-anchor="start" x="810.337" y="-1192" font-family="Helvetica,sans-Serif" font-size="10.00">+ SortInfo()</text>
<text text-anchor="start" x="810.337" y="-1181" font-family="Helvetica,sans-Serif" font-size="10.00">+ setMaterializedTupleInfo()</text>
<text text-anchor="start" x="810.337" y="-1170" font-family="Helvetica,sans-Serif" font-size="10.00">+ getOrderingExprs()</text>
<text text-anchor="start" x="810.337" y="-1159" font-family="Helvetica,sans-Serif" font-size="10.00">+ getIsAscOrder()</text>
<text text-anchor="start" x="810.337" y="-1148" font-family="Helvetica,sans-Serif" font-size="10.00">+ getNullsFirstParams()</text>
<text text-anchor="start" x="810.337" y="-1137" font-family="Helvetica,sans-Serif" font-size="10.00">+ getSortTupleSlotExprs()</text>
<text text-anchor="start" x="810.337" y="-1126" font-family="Helvetica,sans-Serif" font-size="10.00">+ getSortTupleDescriptor()</text>
<text text-anchor="start" x="810.337" y="-1115" font-family="Helvetica,sans-Serif" font-size="10.00">+ getNullsFirst()</text>
<text text-anchor="start" x="810.337" y="-1104" font-family="Helvetica,sans-Serif" font-size="10.00">+ materializeRequiredSlots()</text>
<text text-anchor="start" x="810.337" y="-1093" font-family="Helvetica,sans-Serif" font-size="10.00">+ substituteOrderingExprs()</text>
<text text-anchor="start" x="810.337" y="-1082" font-family="Helvetica,sans-Serif" font-size="10.00">+ checkConsistency()</text>
</a>
</g>
</g>
<!-- Node20&#45;&gt;Node21 -->
<g id="edge27" class="edge"><title>Node20&#45;&gt;Node21</title>
<path fill="none" stroke="#404040" d="M1374.69,-2516.71C1354.34,-2497.06 1327.87,-2471.84 1303.84,-2450 1254.64,-2405.29 1245.9,-2389.25 1190.84,-2352 1176.35,-2342.2 1165.65,-2348.48 1155.84,-2334 1058.68,-2190.58 1217.58,-2088.33 1118.84,-1946 1108.41,-1930.97 1097.22,-1937.9 1081.84,-1928 1045.47,-1904.6 1026.67,-1904.43 1006.84,-1866 903.412,-1665.63 1027.59,-1577.97 969.837,-1360 961.239,-1327.55 947.284,-1293.95 932.769,-1263.98"/>
<polygon fill="none" stroke="#404040" points="932.716,-1263.87 926.473,-1260.26 927.406,-1253.11 933.648,-1256.72 932.716,-1263.87"/>
<text text-anchor="start" x="1081.84" y="-1914.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;sortTupleSlotExprs</text>
<text text-anchor="middle" x="1126.84" y="-1903.5" font-family="Helvetica,sans-Serif" font-size="10.00">_</text>
<text text-anchor="middle" x="1126.84" y="-1892.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45;orderingExprs_</text>
</g>
<!-- Node21&#45;&gt;Node5 -->
<g id="edge26" class="edge"><title>Node21&#45;&gt;Node5</title>
<path fill="none" stroke="#404040" d="M874.28,-1074.9C877.444,-1021.44 890.441,-955.389 930.837,-912 986.713,-851.984 1215.14,-803.973 1342.32,-781.262"/>
<polygon fill="none" stroke="#404040" points="1342.48,-781.233 1347.7,-776.249 1354.3,-779.144 1349.09,-784.127 1342.48,-781.233"/>
<text text-anchor="middle" x="954.337" y="-937.5" font-family="Helvetica,sans-Serif" font-size="10.00"> #sortInfo_</text>
</g>
<!-- Node22&#45;&gt;Node21 -->
<g id="edge28" class="edge"><title>Node22&#45;&gt;Node21</title>
<path fill="none" stroke="#404040" d="M760.911,-1543.77C769.881,-1490.07 783.33,-1420.42 800.837,-1360 809.983,-1328.44 822.153,-1294.83 834.069,-1264.58"/>
<polygon fill="none" stroke="#404040" points="834.177,-1264.3 832.68,-1257.25 838.616,-1253.15 840.113,-1260.21 834.177,-1264.3"/>
<text text-anchor="middle" x="838.837" y="-1368.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;sortTupleDesc_</text>
</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_1TupleId.html" target="_top" xlink:title="{com.cloudera.impala.analysis.\lTupleId\n||+ createGenerator()\l# TupleId()\l}">
<polygon fill="white" stroke="red" points="961.337,-2100.5 961.337,-2179.5 1110.34,-2179.5 1110.34,-2100.5 961.337,-2100.5"/>
<text text-anchor="start" x="969.337" y="-2167.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="1035.84" y="-2156.5" font-family="Helvetica,sans-Serif" font-size="10.00">TupleId</text>
<polyline fill="none" stroke="red" points="961.337,-2149.5 1110.34,-2149.5 "/>
<text text-anchor="middle" x="1035.84" y="-2137.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="red" points="961.337,-2130.5 1110.34,-2130.5 "/>
<text text-anchor="start" x="969.337" y="-2118.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ createGenerator()</text>
<text text-anchor="start" x="969.337" y="-2107.5" font-family="Helvetica,sans-Serif" font-size="10.00"># TupleId()</text>
</a>
</g>
</g>
<!-- Node23&#45;&gt;Node22 -->
<g id="edge32" class="edge"><title>Node23&#45;&gt;Node22</title>
<path fill="none" stroke="#404040" d="M1024.4,-2100.27C1004.04,-2032.52 962.06,-1898.3 944.837,-1884 905.712,-1851.51 871.037,-1898.4 831.837,-1866 792.418,-1833.42 771.497,-1780.77 760.393,-1733.86"/>
<polygon fill="none" stroke="#404040" points="760.377,-1733.79 755.172,-1728.8 757.776,-1722.07 762.982,-1727.06 760.377,-1733.79"/>
<text text-anchor="middle" x="975.337" y="-1903.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;id_</text>
</g>
<!-- Node23&#45;&gt;Node25 -->
<g id="edge68" class="edge"><title>Node23&#45;&gt;Node25</title>
<path fill="none" stroke="#404040" d="M1051.41,-2100.13C1067.24,-2058.39 1090.68,-1989.72 1099.84,-1928 1102.71,-1908.66 1111.18,-1899.93 1099.84,-1884 1085.65,-1864.08 1062.02,-1885.92 1047.84,-1866 987.771,-1781.64 977.476,-1475.98 1047.84,-1400 1112.16,-1330.54 1804.24,-1356.18 1897.84,-1342 2124.02,-1307.72 2383.4,-1233.06 2515.18,-1192.52"/>
<polygon fill="none" stroke="#404040" points="2515.29,-1192.49 2519.84,-1186.9 2526.76,-1188.95 2522.21,-1194.54 2515.29,-1192.49"/>
<text text-anchor="middle" x="1109.34" y="-1630.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;visibleSemiJoinedTupleId_</text>
</g>
<!-- Node24 -->
<g id="node24" class="node"><title>Node24</title>
<polygon fill="white" stroke="#bfbfbf" points="840.837,-1604.5 840.837,-1661.5 926.837,-1661.5 926.837,-1604.5 840.837,-1604.5"/>
<text text-anchor="middle" x="883.837" y="-1649.5" font-family="Helvetica,sans-Serif" font-size="10.00">List&lt; Boolean &gt;</text>
<polyline fill="none" stroke="#bfbfbf" points="840.837,-1642.5 926.837,-1642.5 "/>
<text text-anchor="middle" x="883.837" y="-1630.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="#bfbfbf" points="840.837,-1623.5 926.837,-1623.5 "/>
<text text-anchor="middle" x="883.837" y="-1611.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node24&#45;&gt;Node21 -->
<g id="edge33" class="edge"><title>Node24&#45;&gt;Node21</title>
<path fill="none" stroke="#404040" d="M883.42,-1604.19C882.442,-1538.96 879.962,-1373.49 878.341,-1265.31"/>
<polygon fill="none" stroke="#404040" points="878.337,-1265.07 874.248,-1259.13 878.157,-1253.07 882.247,-1259.01 878.337,-1265.07"/>
<text text-anchor="middle" x="923.337" y="-1374" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;nullsFirstParams_</text>
<text text-anchor="middle" x="923.337" y="-1363" font-family="Helvetica,sans-Serif" font-size="10.00">&#45;isAscOrder_</text>
</g>
<!-- Node25&#45;&gt;Node5 -->
<g id="edge34" class="edge"><title>Node25&#45;&gt;Node5</title>
<path fill="none" stroke="#404040" d="M2526.68,-1137.63C2318.53,-1067.36 1735.46,-870.514 1514.86,-796.041"/>
<polygon fill="none" stroke="#404040" points="1514.74,-796.001 1507.78,-797.872 1503.37,-792.163 1510.34,-790.292 1514.74,-796.001"/>
<text text-anchor="middle" x="2041.34" y="-937.5" font-family="Helvetica,sans-Serif" font-size="10.00"> #analyzer_</text>
</g>
<!-- Node25&#45;&gt;Node49 -->
<g id="edge87" class="edge"><title>Node25&#45;&gt;Node49</title>
<path fill="none" stroke="#404040" d="M2588.24,-986.758C2583.93,-961.357 2578.27,-935.784 2570.84,-912 2567.82,-902.348 2564.18,-892.578 2560.13,-882.91"/>
<polygon fill="none" stroke="#404040" points="2560.01,-882.623 2553.95,-878.718 2555.22,-871.62 2561.28,-875.526 2560.01,-882.623"/>
<text text-anchor="middle" x="2609.34" y="-937.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;analyzer_</text>
</g>
<!-- Node26 -->
<g id="node26" class="node"><title>Node26</title>
<polygon fill="white" stroke="#bfbfbf" points="1974.84,-1599 1974.84,-1667 2182.84,-1667 2182.84,-1599 1974.84,-1599"/>
<text text-anchor="start" x="1982.84" y="-1655" font-family="Helvetica,sans-Serif" font-size="10.00">Map&lt; String, com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="2078.84" y="-1644" font-family="Helvetica,sans-Serif" font-size="10.00">SlotDescriptor &gt;</text>
<polyline fill="none" stroke="#bfbfbf" points="1974.84,-1637 2182.84,-1637 "/>
<text text-anchor="middle" x="2078.84" y="-1625" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="#bfbfbf" points="1974.84,-1618 2182.84,-1618 "/>
<text text-anchor="middle" x="2078.84" y="-1606" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node26&#45;&gt;Node25 -->
<g id="edge37" class="edge"><title>Node26&#45;&gt;Node25</title>
<path fill="none" stroke="#404040" d="M2088.11,-1598.78C2103.08,-1550.18 2136.61,-1459.07 2191.84,-1400 2283.32,-1302.15 2424.88,-1233.53 2515.43,-1196.65"/>
<polygon fill="none" stroke="#404040" points="2515.63,-1196.57 2519.7,-1190.62 2526.76,-1192.09 2522.69,-1198.04 2515.63,-1196.57"/>
<text text-anchor="middle" x="2259.84" y="-1368.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;slotRefMap_</text>
</g>
<!-- Node27 -->
<g id="node27" class="node"><title>Node27</title>
<polygon fill="white" stroke="#bfbfbf" points="2842.34,-2100.5 2842.34,-2179.5 3029.34,-2179.5 3029.34,-2100.5 2842.34,-2100.5"/>
<text text-anchor="start" x="2850.34" y="-2167.5" font-family="Helvetica,sans-Serif" font-size="10.00">Map&lt; com.cloudera.impala.analysis.</text>
<text text-anchor="start" x="2850.34" y="-2156.5" font-family="Helvetica,sans-Serif" font-size="10.00">TupleId, com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="2935.84" y="-2145.5" font-family="Helvetica,sans-Serif" font-size="10.00">TableRef &gt;</text>
<polyline fill="none" stroke="#bfbfbf" points="2842.34,-2138.5 3029.34,-2138.5 "/>
<text text-anchor="middle" x="2935.84" y="-2126.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="#bfbfbf" points="2842.34,-2119.5 3029.34,-2119.5 "/>
<text text-anchor="middle" x="2935.84" y="-2107.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node27&#45;&gt;Node25 -->
<g id="edge38" class="edge"><title>Node27&#45;&gt;Node25</title>
<path fill="none" stroke="#404040" d="M2952.67,-2100.33C2970.98,-2060.12 3002.42,-1996.15 3037.84,-1946 3059.43,-1915.42 3063.16,-1903.94 3094.84,-1884 3118.04,-1869.4 3137.52,-1888.03 3153.84,-1866 3187.29,-1820.82 3186.3,-1405.9 3153.84,-1360 3047.76,-1210.03 2816.34,-1174.62 2689.42,-1166.77"/>
<polygon fill="none" stroke="#404040" points="2689.08,-1166.75 2682.86,-1170.4 2677.1,-1166.07 2683.32,-1162.41 2689.08,-1166.75"/>
<text text-anchor="middle" x="3212.34" y="-1630.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;tableRefMap_</text>
</g>
<!-- Node27&#45;&gt;Node29 -->
<g id="edge42" class="edge"><title>Node27&#45;&gt;Node29</title>
<path fill="none" stroke="#404040" d="M2946.5,-2100.33C2960.47,-2056.74 2989.09,-1986.66 3037.84,-1946 3058.24,-1928.98 3072.37,-1942.19 3094.84,-1928 3117.44,-1913.73 3112.18,-1896.44 3135.84,-1884 3183.96,-1858.69 3212.29,-1897.17 3256.84,-1866 3321.08,-1821.05 3355.73,-1732.58 3371.65,-1678.83"/>
<polygon fill="none" stroke="#404040" points="3371.65,-1678.8 3369.45,-1671.93 3374.94,-1667.26 3377.14,-1674.13 3371.65,-1678.8"/>
<text text-anchor="middle" x="3191.84" y="-1914.5" font-family="Helvetica,sans-Serif" font-size="10.00"> +fullOuterJoinedTupleIds</text>
<text text-anchor="middle" x="3191.84" y="-1903.5" font-family="Helvetica,sans-Serif" font-size="10.00">+semiJoinedTupleIds</text>
<text text-anchor="middle" x="3191.84" y="-1892.5" font-family="Helvetica,sans-Serif" font-size="10.00">+outerJoinedTupleIds</text>
</g>
<!-- Node28 -->
<g id="node28" class="node"><title>Node28</title>
<polygon fill="white" stroke="#bfbfbf" points="2200.84,-1599 2200.84,-1667 2408.84,-1667 2408.84,-1599 2200.84,-1599"/>
<text text-anchor="start" x="2208.84" y="-1655" font-family="Helvetica,sans-Serif" font-size="10.00">Map&lt; String, com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="2304.84" y="-1644" font-family="Helvetica,sans-Serif" font-size="10.00">TupleDescriptor &gt;</text>
<polyline fill="none" stroke="#bfbfbf" points="2200.84,-1637 2408.84,-1637 "/>
<text text-anchor="middle" x="2304.84" y="-1625" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="#bfbfbf" points="2200.84,-1618 2408.84,-1618 "/>
<text text-anchor="middle" x="2304.84" y="-1606" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node28&#45;&gt;Node25 -->
<g id="edge39" class="edge"><title>Node28&#45;&gt;Node25</title>
<path fill="none" stroke="#404040" d="M2309.35,-1598.66C2317.84,-1544.89 2339.92,-1437.25 2388.84,-1360 2422.2,-1307.32 2473.42,-1259.8 2517.27,-1224.86"/>
<polygon fill="none" stroke="#404040" points="2517.36,-1224.79 2519.61,-1217.94 2526.79,-1217.38 2524.55,-1224.23 2517.36,-1224.79"/>
<text text-anchor="middle" x="2414.34" y="-1368.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;aliasMap_</text>
</g>
<!-- Node29&#45;&gt;Node25 -->
<g id="edge41" class="edge"><title>Node29&#45;&gt;Node25</title>
<path fill="none" stroke="#404040" d="M3370.48,-1598.68C3351.51,-1550.76 3311.59,-1461.41 3256.84,-1400 3107.51,-1232.54 2830.14,-1184.37 2689.08,-1170.55"/>
<polygon fill="none" stroke="#404040" points="2689.05,-1170.54 2682.7,-1173.97 2677.1,-1169.42 2683.45,-1166 2689.05,-1170.54"/>
<text text-anchor="middle" x="3262.34" y="-1368.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;globalState_</text>
</g>
<!-- Node30 -->
<g id="node30" class="node"><title>Node30</title>
<polygon fill="white" stroke="#bfbfbf" points="3686.34,-2111.5 3686.34,-2168.5 3751.34,-2168.5 3751.34,-2111.5 3686.34,-2111.5"/>
<text text-anchor="middle" x="3718.84" y="-2156.5" font-family="Helvetica,sans-Serif" font-size="10.00">TQueryCtx</text>
<polyline fill="none" stroke="#bfbfbf" points="3686.34,-2149.5 3751.34,-2149.5 "/>
<text text-anchor="middle" x="3718.84" y="-2137.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="#bfbfbf" points="3686.34,-2130.5 3751.34,-2130.5 "/>
<text text-anchor="middle" x="3718.84" y="-2118.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node30&#45;&gt;Node2 -->
<g id="edge75" class="edge"><title>Node30&#45;&gt;Node2</title>
<path fill="none" stroke="#404040" d="M3720.25,-2111.48C3725.25,-2014.25 3742.64,-1677.74 3757.84,-1400 3769,-1195.98 3783.84,-1145.33 3783.84,-941 3783.84,-941 3783.84,-941 3783.84,-532 3783.84,-423.139 2060.33,-360.758 1656,-347.622"/>
<polygon fill="none" stroke="#404040" points="1655.86,-347.617 1649.73,-351.421 1643.86,-347.229 1649.99,-343.425 1655.86,-347.617"/>
<text text-anchor="middle" x="3809.84" y="-937.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;queryCtx_</text>
</g>
<!-- Node30&#45;&gt;Node29 -->
<g id="edge43" class="edge"><title>Node30&#45;&gt;Node29</title>
<path fill="none" stroke="#404040" d="M3720.36,-2111.16C3721.04,-2069.41 3715.86,-1990.74 3671.84,-1946 3649.61,-1923.41 3629.14,-1945.68 3602.84,-1928 3507.01,-1863.59 3436.65,-1743.15 3403.69,-1678.21"/>
<polygon fill="none" stroke="#404040" points="3403.53,-1677.87 3397.27,-1674.29 3398.16,-1667.14 3404.42,-1670.72 3403.53,-1677.87"/>
<text text-anchor="middle" x="3627.34" y="-1903.5" font-family="Helvetica,sans-Serif" font-size="10.00"> +queryCtx</text>
</g>
<!-- Node30&#45;&gt;Node48 -->
<g id="edge79" class="edge"><title>Node30&#45;&gt;Node48</title>
<path fill="none" stroke="#404040" d="M3713.9,-2111.46C3700.74,-2035.61 3665.84,-1817.14 3665.84,-1634 3665.84,-1634 3665.84,-1634 3665.84,-765 3665.84,-683.291 3592.77,-619.038 3530.85,-579.26"/>
<polygon fill="none" stroke="#404040" points="3530.79,-579.223 3523.58,-579.423 3520.63,-572.845 3527.83,-572.646 3530.79,-579.223"/>
<text text-anchor="middle" x="3691.84" y="-1161.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;queryCtx_</text>
</g>
<!-- Node31&#45;&gt;Node29 -->
<g id="edge45" class="edge"><title>Node31&#45;&gt;Node29</title>
<path fill="none" stroke="#404040" d="M3449.74,-2001.27C3443.48,-1963.25 3436.54,-1922 3429.84,-1884 3417.18,-1812.23 3401.31,-1729.11 3391.63,-1679.09"/>
<polygon fill="none" stroke="#404040" points="3391.59,-1678.9 3386.52,-1673.77 3389.31,-1667.12 3394.38,-1672.25 3391.59,-1678.9"/>
<text text-anchor="middle" x="3458.34" y="-1903.5" font-family="Helvetica,sans-Serif" font-size="10.00"> +catalog</text>
</g>
<!-- Node31&#45;&gt;Node48 -->
<g id="edge80" class="edge"><title>Node31&#45;&gt;Node48</title>
<path fill="none" stroke="#404040" d="M3543.9,-2046.86C3567.14,-2011.68 3589.96,-1969.91 3601.84,-1928 3607.17,-1909.19 3602.96,-1903.52 3601.84,-1884 3573.35,-1389.37 3486.63,-797.826 3456.38,-601.198"/>
<polygon fill="none" stroke="#404040" points="3456.34,-600.957 3451.47,-595.637 3454.51,-589.097 3459.38,-594.417 3456.34,-600.957"/>
<text text-anchor="middle" x="3576.34" y="-1161.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;catalog_</text>
</g>
<!-- Node32&#45;&gt;Node31 -->
<g id="edge46" class="edge"><title>Node32&#45;&gt;Node31</title>
<path fill="none" stroke="midnightblue" d="M1671.84,-2519.23C1736.39,-2496.34 1829.13,-2466.33 1912.84,-2450 2415.88,-2351.87 2550.57,-2387.82 3061.84,-2352 3098.25,-2349.45 3359.96,-2354.97 3389.84,-2334 3409.65,-2320.09 3424.71,-2300.39 3436.14,-2278.83"/>
<polygon fill="none" stroke="midnightblue" points="1670.37,-2516.04 1662.13,-2522.7 1672.73,-2522.63 1670.37,-2516.04"/>
</g>
<!-- Node33 -->
<g id="node33" class="node"><title>Node33</title>
<polygon fill="white" stroke="#bfbfbf" points="3057.84,-2522.5 3057.84,-2579.5 3119.84,-2579.5 3119.84,-2522.5 3057.84,-2522.5"/>
<text text-anchor="middle" x="3088.84" y="-2567.5" font-family="Helvetica,sans-Serif" font-size="10.00">TUniqueId</text>
<polyline fill="none" stroke="#bfbfbf" points="3057.84,-2560.5 3119.84,-2560.5 "/>
<text text-anchor="middle" x="3088.84" y="-2548.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="#bfbfbf" points="3057.84,-2541.5 3119.84,-2541.5 "/>
<text text-anchor="middle" x="3088.84" y="-2529.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node33&#45;&gt;Node31 -->
<g id="edge52" class="edge"><title>Node33&#45;&gt;Node31</title>
<path fill="none" stroke="#404040" d="M3079.27,-2522.28C3066.45,-2479.45 3050.02,-2397.4 3093.84,-2352 3139.6,-2304.58 3336.01,-2372.02 3389.84,-2334 3406.37,-2322.33 3419.59,-2306.62 3430.15,-2289.19"/>
<polygon fill="none" stroke="#404040" points="3430.15,-2289.18 3429.63,-2281.99 3436.07,-2278.74 3436.59,-2285.93 3430.15,-2289.18"/>
<text text-anchor="start" x="3093.84" y="-2400.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;INITIAL_CATALOG_SERVICE</text>
<text text-anchor="middle" x="3165.84" y="-2389.5" font-family="Helvetica,sans-Serif" font-size="10.00">_ID</text>
<text text-anchor="middle" x="3165.84" y="-2378.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45;catalogServiceId_</text>
</g>
<!-- Node34 -->
<g id="node34" class="node"><title>Node34</title>
<polygon fill="white" stroke="#bfbfbf" points="3217.84,-2522.5 3217.84,-2579.5 3283.84,-2579.5 3283.84,-2522.5 3217.84,-2522.5"/>
<text text-anchor="middle" x="3250.84" y="-2567.5" font-family="Helvetica,sans-Serif" font-size="10.00">final Object</text>
<polyline fill="none" stroke="#bfbfbf" points="3217.84,-2560.5 3283.84,-2560.5 "/>
<text text-anchor="middle" x="3250.84" y="-2548.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="#bfbfbf" points="3217.84,-2541.5 3283.84,-2541.5 "/>
<text text-anchor="middle" x="3250.84" y="-2529.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node34&#45;&gt;Node31 -->
<g id="edge53" class="edge"><title>Node34&#45;&gt;Node31</title>
<path fill="none" stroke="#404040" d="M3247.31,-2522.15C3241.83,-2473.6 3234.02,-2376.31 3255.84,-2352 3295.97,-2307.27 3342.05,-2370.43 3389.84,-2334 3405.54,-2322.03 3418.27,-2306.47 3428.59,-2289.37"/>
<polygon fill="none" stroke="#404040" points="3428.8,-2289 3428.27,-2281.8 3434.7,-2278.55 3435.23,-2285.74 3428.8,-2289"/>
<text text-anchor="middle" x="3321.84" y="-2389.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;catalogUpdateEventNotifier_</text>
</g>
<!-- Node35 -->
<g id="node35" class="node"><title>Node35</title>
<g id="a_node35"><a xlink:href="classcom_1_1cloudera_1_1impala_1_1catalog_1_1CatalogDeltaLog.html" target="_top" xlink:title="{com.cloudera.impala.catalog.\lCatalogDeltaLog\n||+ addRemovedObject()\l+ garbageCollect()\l+ wasObjectRemovedAfter()\l&#45; objectNamesMatch()\l}">
<polygon fill="white" stroke="red" points="3303.84,-2500.5 3303.84,-2601.5 3447.84,-2601.5 3447.84,-2500.5 3303.84,-2500.5"/>
<text text-anchor="start" x="3311.84" y="-2589.5" font-family="Helvetica,sans-Serif" font-size="10.00">com.cloudera.impala.catalog.</text>
<text text-anchor="middle" x="3375.84" y="-2578.5" font-family="Helvetica,sans-Serif" font-size="10.00">CatalogDeltaLog</text>
<polyline fill="none" stroke="red" points="3303.84,-2571.5 3447.84,-2571.5 "/>
<text text-anchor="middle" x="3375.84" y="-2559.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="red" points="3303.84,-2552.5 3447.84,-2552.5 "/>
<text text-anchor="start" x="3311.84" y="-2540.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ addRemovedObject()</text>
<text text-anchor="start" x="3311.84" y="-2529.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ garbageCollect()</text>
<text text-anchor="start" x="3311.84" y="-2518.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ wasObjectRemovedAfter()</text>
<text text-anchor="start" x="3311.84" y="-2507.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; objectNamesMatch()</text>
</a>
</g>
</g>
<!-- Node35&#45;&gt;Node31 -->
<g id="edge55" class="edge"><title>Node35&#45;&gt;Node31</title>
<path fill="none" stroke="#404040" d="M3381.22,-2500.38C3386.1,-2460.09 3394.31,-2401.97 3405.84,-2352 3410.48,-2331.9 3416.08,-2310.94 3422.03,-2290.36"/>
<polygon fill="none" stroke="#404040" points="3422.09,-2290.15 3419.94,-2283.27 3425.47,-2278.64 3427.62,-2285.52 3422.09,-2290.15"/>
<text text-anchor="middle" x="3446.84" y="-2389.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;catalogDeltaLog_</text>
</g>
<!-- Node36 -->
<g id="node36" class="node"><title>Node36</title>
<polygon fill="white" stroke="#bfbfbf" points="3466.34,-2522.5 3466.34,-2579.5 3549.34,-2579.5 3549.34,-2522.5 3466.34,-2522.5"/>
<text text-anchor="middle" x="3507.84" y="-2567.5" font-family="Helvetica,sans-Serif" font-size="10.00">AtomicBoolean</text>
<polyline fill="none" stroke="#bfbfbf" points="3466.34,-2560.5 3549.34,-2560.5 "/>
<text text-anchor="middle" x="3507.84" y="-2548.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="#bfbfbf" points="3466.34,-2541.5 3549.34,-2541.5 "/>
<text text-anchor="middle" x="3507.84" y="-2529.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node36&#45;&gt;Node31 -->
<g id="edge56" class="edge"><title>Node36&#45;&gt;Node31</title>
<path fill="none" stroke="#404040" d="M3505.39,-2522.21C3501.24,-2475.04 3492.53,-2376.1 3485.03,-2290.84"/>
<polygon fill="none" stroke="#404040" points="3485,-2290.6 3480.49,-2284.97 3483.95,-2278.64 3488.46,-2284.27 3485,-2290.6"/>
<text text-anchor="middle" x="3521.84" y="-2389.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;isReady_</text>
</g>
<!-- Node37&#45;&gt;Node29 -->
<g id="edge58" class="edge"><title>Node37&#45;&gt;Node29</title>
<path fill="none" stroke="#404040" d="M3158.11,-2056.32C3173.1,-2019.62 3194.49,-1977.67 3222.84,-1946 3232.95,-1934.7 3241.51,-1939.12 3251.84,-1928 3266.85,-1911.83 3261.31,-1901.43 3274.84,-1884 3282.17,-1874.55 3288.08,-1875.87 3294.84,-1866 3334.99,-1807.34 3359.94,-1727.91 3372.61,-1678.86"/>
<polygon fill="none" stroke="#404040" points="3372.64,-1678.71 3370.22,-1671.92 3375.56,-1667.07 3377.98,-1673.86 3372.64,-1678.71"/>
<text text-anchor="middle" x="3305.84" y="-1903.5" font-family="Helvetica,sans-Serif" font-size="10.00"> +authzConfig</text>
</g>
<!-- Node37&#45;&gt;Node48 -->
<g id="edge88" class="edge"><title>Node37&#45;&gt;Node48</title>
<path fill="none" stroke="#404040" d="M3100.54,-2056.4C3086.05,-2001.12 3079.53,-1930.28 3119.84,-1884 3158.15,-1840.02 3210.17,-1908.76 3249.84,-1866 3324.65,-1785.36 3280.84,-1481.99 3280.84,-1372 3280.84,-1372 3280.84,-1372 3280.84,-765 3280.84,-699.758 3324.96,-640.22 3367.57,-597.934"/>
<polygon fill="none" stroke="#404040" points="3367.72,-597.79 3369.25,-590.743 3376.34,-589.443 3374.81,-596.491 3367.72,-597.79"/>
<text text-anchor="middle" x="3312.84" y="-1161.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;authzConfig_</text>
</g>
<!-- Node38&#45;&gt;Node37 -->
<g id="edge60" class="edge"><title>Node38&#45;&gt;Node37</title>
<path fill="none" stroke="#404040" d="M1248.45,-2500.47C1265.66,-2481.14 1287.89,-2461 1312.84,-2450 1385.93,-2417.77 1596.35,-2458.12 1671.84,-2432 1729.99,-2411.88 1726.33,-2371.08 1784.84,-2352 1851.03,-2330.42 2979.15,-2371.45 3037.84,-2334 3072.64,-2311.79 3094.75,-2272.54 3108.63,-2235.22"/>
<polygon fill="none" stroke="#404040" points="3108.69,-2235.04 3106.91,-2228.05 3112.68,-2223.72 3114.46,-2230.71 3108.69,-2235.04"/>
<text text-anchor="middle" x="1818.34" y="-2389.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;sentryConfig_</text>
</g>
<!-- Node39 -->
<g id="node39" class="node"><title>Node39</title>
<polygon fill="white" stroke="#bfbfbf" points="2427.34,-1604.5 2427.34,-1661.5 2502.34,-1661.5 2502.34,-1604.5 2427.34,-1604.5"/>
<text text-anchor="middle" x="2464.84" y="-1649.5" font-family="Helvetica,sans-Serif" font-size="10.00">Set&lt; String &gt;</text>
<polyline fill="none" stroke="#bfbfbf" points="2427.34,-1642.5 2502.34,-1642.5 "/>
<text text-anchor="middle" x="2464.84" y="-1630.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="#bfbfbf" points="2427.34,-1623.5 2502.34,-1623.5 "/>
<text text-anchor="middle" x="2464.84" y="-1611.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node39&#45;&gt;Node25 -->
<g id="edge62" class="edge"><title>Node39&#45;&gt;Node25</title>
<path fill="none" stroke="#404040" d="M2456.64,-1604.43C2443.16,-1554.22 2420.55,-1445.2 2449.84,-1360 2464.06,-1318.62 2491.06,-1279.28 2518.4,-1246.91"/>
<polygon fill="none" stroke="#404040" points="2518.65,-1246.61 2519.55,-1239.46 2526.49,-1237.53 2525.6,-1244.69 2518.65,-1246.61"/>
<text text-anchor="middle" x="2495.34" y="-1368.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;ambiguousAliases_</text>
</g>
<!-- Node40 -->
<g id="node40" class="node"><title>Node40</title>
<polygon fill="white" stroke="#bfbfbf" points="2693.34,-1599 2693.34,-1667 2896.34,-1667 2896.34,-1599 2693.34,-1599"/>
<text text-anchor="start" x="2701.34" y="-1655" font-family="Helvetica,sans-Serif" font-size="10.00">Map&lt; String, com.cloudera.impala.catalog.</text>
<text text-anchor="middle" x="2794.84" y="-1644" font-family="Helvetica,sans-Serif" font-size="10.00">View &gt;</text>
<polyline fill="none" stroke="#bfbfbf" points="2693.34,-1637 2896.34,-1637 "/>
<text text-anchor="middle" x="2794.84" y="-1625" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="#bfbfbf" points="2693.34,-1618 2896.34,-1618 "/>
<text text-anchor="middle" x="2794.84" y="-1606" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node40&#45;&gt;Node25 -->
<g id="edge63" class="edge"><title>Node40&#45;&gt;Node25</title>
<path fill="none" stroke="#404040" d="M2781.11,-1598.79C2759.86,-1547.38 2717.47,-1444.79 2679.23,-1352.28"/>
<polygon fill="none" stroke="#404040" points="2679.18,-1352.14 2673.19,-1348.12 2674.59,-1341.05 2680.58,-1345.07 2679.18,-1352.14"/>
<text text-anchor="middle" x="2716.34" y="-1368.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;localViews_</text>
</g>
<!-- Node41 -->
<g id="node41" class="node"><title>Node41</title>
<polygon fill="white" stroke="#bfbfbf" points="2914.34,-1599 2914.34,-1667 3111.34,-1667 3111.34,-1599 2914.34,-1599"/>
<text text-anchor="start" x="2922.34" y="-1655" font-family="Helvetica,sans-Serif" font-size="10.00">ArrayList&lt; com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="3012.84" y="-1644" font-family="Helvetica,sans-Serif" font-size="10.00">Analyzer &gt;</text>
<polyline fill="none" stroke="#bfbfbf" points="2914.34,-1637 3111.34,-1637 "/>
<text text-anchor="middle" x="3012.84" y="-1625" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="#bfbfbf" points="2914.34,-1618 3111.34,-1618 "/>
<text text-anchor="middle" x="3012.84" y="-1606" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node41&#45;&gt;Node25 -->
<g id="edge64" class="edge"><title>Node41&#45;&gt;Node25</title>
<path fill="none" stroke="#404040" d="M3002.99,-1598.93C2987.66,-1551.32 2954.57,-1462.34 2904.84,-1400 2844.05,-1323.81 2753.68,-1257.9 2687.45,-1215.43"/>
<polygon fill="none" stroke="#404040" points="2687.17,-1215.25 2679.96,-1215.41 2677.04,-1208.82 2684.25,-1208.66 2687.17,-1215.25"/>
<text text-anchor="middle" x="2912.34" y="-1368.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;ancestors_</text>
</g>
<!-- Node42&#45;&gt;Node25 -->
<g id="edge65" class="edge"><title>Node42&#45;&gt;Node25</title>
<path fill="none" stroke="#404040" d="M1189.37,-2383.9C1379.87,-2369.53 1793.1,-2338.02 1807.84,-2334 2205.96,-2225.46 2401.97,-2263.06 2642.84,-1928 2668.16,-1892.78 2701.03,-1886.6 2650.84,-1400 2649.26,-1384.72 2647.12,-1368.97 2644.62,-1353.2"/>
<polygon fill="none" stroke="#404040" points="2644.58,-1352.99 2639.66,-1347.72 2642.63,-1341.15 2647.56,-1346.42 2644.58,-1352.99"/>
<text text-anchor="middle" x="2683.34" y="-1903.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;user_</text>
</g>
<!-- Node43 -->
<g id="node43" class="node"><title>Node43</title>
<polygon fill="white" stroke="#bfbfbf" points="1783.34,-1599 1783.34,-1667 1956.34,-1667 1956.34,-1599 1783.34,-1599"/>
<text text-anchor="start" x="1791.34" y="-1655" font-family="Helvetica,sans-Serif" font-size="10.00">Set&lt; com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="1869.84" y="-1644" font-family="Helvetica,sans-Serif" font-size="10.00">TableName &gt;</text>
<polyline fill="none" stroke="#bfbfbf" points="1783.34,-1637 1956.34,-1637 "/>
<text text-anchor="middle" x="1869.84" y="-1625" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="#bfbfbf" points="1783.34,-1618 1956.34,-1618 "/>
<text text-anchor="middle" x="1869.84" y="-1606" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node43&#45;&gt;Node25 -->
<g id="edge67" class="edge"><title>Node43&#45;&gt;Node25</title>
<path fill="none" stroke="#404040" d="M1874.93,-1598.84C1884.27,-1549.06 1908.67,-1455.01 1965.84,-1400 2121.19,-1250.5 2379.8,-1194.63 2514.39,-1174.94"/>
<polygon fill="none" stroke="#404040" points="2514.75,-1174.89 2520.13,-1170.08 2526.63,-1173.2 2521.25,-1178.01 2514.75,-1174.89"/>
<text text-anchor="middle" x="2039.84" y="-1368.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;missingTbls_</text>
</g>
<!-- Node44 -->
<g id="node44" class="node"><title>Node44</title>
<polygon fill="white" stroke="#bfbfbf" points="1073.34,-1130 1073.34,-1198 1270.34,-1198 1270.34,-1130 1073.34,-1130"/>
<text text-anchor="start" x="1081.34" y="-1186" font-family="Helvetica,sans-Serif" font-size="10.00">ArrayList&lt; com.cloudera.impala.analysis.</text>
<text text-anchor="middle" x="1171.84" y="-1175" font-family="Helvetica,sans-Serif" font-size="10.00">Expr &gt;</text>
<polyline fill="none" stroke="#bfbfbf" points="1073.34,-1168 1270.34,-1168 "/>
<text text-anchor="middle" x="1171.84" y="-1156" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="#bfbfbf" points="1073.34,-1149 1270.34,-1149 "/>
<text text-anchor="middle" x="1171.84" y="-1137" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node44&#45;&gt;Node5 -->
<g id="edge71" class="edge"><title>Node44&#45;&gt;Node5</title>
<path fill="none" stroke="#404040" d="M1186.47,-1130C1208.93,-1080.72 1254.63,-985.803 1304.84,-912 1317.26,-893.745 1331.61,-875.166 1346.06,-857.669"/>
<polygon fill="none" stroke="#404040" points="1346.39,-857.277 1347.17,-850.108 1354.08,-848.069 1353.3,-855.238 1346.39,-857.277"/>
<text text-anchor="start" x="1304.84" y="-959.5" font-family="Helvetica,sans-Serif" font-size="10.00"> #baseTblResultExprs</text>
<text text-anchor="middle" x="1353.34" y="-948.5" font-family="Helvetica,sans-Serif" font-size="10.00">_</text>
<text text-anchor="start" x="1304.84" y="-937.5" font-family="Helvetica,sans-Serif" font-size="10.00">#ambiguousAliasList</text>
<text text-anchor="middle" x="1353.34" y="-926.5" font-family="Helvetica,sans-Serif" font-size="10.00">_</text>
<text text-anchor="middle" x="1353.34" y="-915.5" font-family="Helvetica,sans-Serif" font-size="10.00">#resultExprs_</text>
</g>
<!-- Node45&#45;&gt;Node5 -->
<g id="edge72" class="edge"><title>Node45&#45;&gt;Node5</title>
<path fill="none" stroke="#404040" d="M1247.18,-1576.92C1237.16,-1524.75 1214.71,-1447.51 1165.84,-1400 1110.1,-1345.82 1045.77,-1405.43 1000.84,-1342 955.104,-1277.45 959.559,-1053.49 1000.84,-986 1075.09,-864.595 1240.29,-807.762 1342.35,-783.342"/>
<polygon fill="none" stroke="#404040" points="1342.48,-783.312 1347.42,-778.056 1354.17,-780.591 1349.23,-785.847 1342.48,-783.312"/>
<text text-anchor="middle" x="1032.34" y="-1161.5" font-family="Helvetica,sans-Serif" font-size="10.00"> #withClause_</text>
</g>
<!-- Node46 -->
<g id="node46" class="node"><title>Node46</title>
<polygon fill="white" stroke="#bfbfbf" points="1342.84,-2106 1342.84,-2174 1534.84,-2174 1534.84,-2106 1342.84,-2106"/>
<text text-anchor="start" x="1350.84" y="-2162" font-family="Helvetica,sans-Serif" font-size="10.00">ArrayList&lt; com.cloudera.impala.catalog.</text>
<text text-anchor="middle" x="1438.84" y="-2151" font-family="Helvetica,sans-Serif" font-size="10.00">View &gt;</text>
<polyline fill="none" stroke="#bfbfbf" points="1342.84,-2144 1534.84,-2144 "/>
<text text-anchor="middle" x="1438.84" y="-2132" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="#bfbfbf" points="1342.84,-2125 1534.84,-2125 "/>
<text text-anchor="middle" x="1438.84" y="-2113" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node46&#45;&gt;Node45 -->
<g id="edge74" class="edge"><title>Node46&#45;&gt;Node45</title>
<path fill="none" stroke="#404040" d="M1440.59,-2105.71C1443.09,-2044.29 1444.69,-1916.46 1416.84,-1884 1394.8,-1858.31 1368.21,-1888.41 1342.84,-1866 1295.21,-1823.94 1273.25,-1753.32 1263.19,-1701.02"/>
<polygon fill="none" stroke="#404040" points="1263.18,-1700.96 1258.18,-1695.77 1261.05,-1689.15 1266.05,-1694.35 1263.18,-1700.96"/>
<text text-anchor="middle" x="1452.34" y="-1903.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;views_</text>
</g>
<!-- Node47 -->
<g id="node47" class="node"><title>Node47</title>
<polygon fill="white" stroke="#bfbfbf" points="1246.84,-499 1246.84,-567 1450.84,-567 1450.84,-499 1246.84,-499"/>
<text text-anchor="start" x="1254.84" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">IdGenerator&lt; com.cloudera.impala.planner.</text>
<text text-anchor="middle" x="1348.84" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">PlanNodeId &gt;</text>
<polyline fill="none" stroke="#bfbfbf" points="1246.84,-537 1450.84,-537 "/>
<text text-anchor="middle" x="1348.84" y="-525" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="#bfbfbf" points="1246.84,-518 1450.84,-518 "/>
<text text-anchor="middle" x="1348.84" y="-506" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
</g>
<!-- Node47&#45;&gt;Node2 -->
<g id="edge76" class="edge"><title>Node47&#45;&gt;Node2</title>
<path fill="none" stroke="#404040" d="M1358.66,-498.891C1365.09,-481.571 1374.91,-460.927 1388.84,-446 1416.32,-416.556 1454.37,-393.658 1488.66,-377.165"/>
<polygon fill="none" stroke="#404040" points="1488.77,-377.114 1492.51,-370.95 1499.64,-372.035 1495.9,-378.199 1488.77,-377.114"/>
<text text-anchor="middle" x="1430.84" y="-449.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;nodeIdGenerator_</text>
</g>
<!-- Node48&#45;&gt;Node2 -->
<g id="edge77" class="edge"><title>Node48&#45;&gt;Node2</title>
<path fill="none" stroke="#404040" d="M3371.22,-524.554C3073.37,-494.833 1970.57,-384.788 1656.06,-353.404"/>
<polygon fill="none" stroke="#404040" points="1655.82,-353.381 1649.46,-356.765 1643.88,-352.189 1650.25,-348.805 1655.82,-353.381"/>
<text text-anchor="middle" x="2714.84" y="-449.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;analysisResult_</text>
</g>
<!-- Node49&#45;&gt;Node48 -->
<g id="edge81" class="edge"><title>Node49&#45;&gt;Node48</title>
<path fill="none" stroke="#404040" d="M2573.88,-745.801C2750.51,-702.896 3176.11,-599.518 3359.44,-554.986"/>
<polygon fill="none" stroke="#404040" points="3359.5,-554.972 3364.38,-549.669 3371.16,-552.14 3366.27,-557.443 3359.5,-554.972"/>
<text text-anchor="middle" x="3176.84" y="-611.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;analysisResult_</text>
</g>
<!-- Node50&#45;&gt;Node49 -->
<g id="edge83" class="edge"><title>Node50&#45;&gt;Node49</title>
<path fill="none" stroke="#404040" d="M1889.55,-1119.49C2015.52,-1046.13 2269.63,-898.148 2405.07,-819.276"/>
<polygon fill="none" stroke="#404040" points="2405.44,-819.062 2408.61,-812.586 2415.81,-813.023 2412.64,-819.499 2405.44,-819.062"/>
<text text-anchor="middle" x="2287.34" y="-937.5" font-family="Helvetica,sans-Serif" font-size="10.00"> &#45;tmpCreateTableStmt_</text>
</g>
</g>
</svg>