blob: ba6eab2453e86b16aa136001c43bdeb20d23f0a4 [file]
<?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: impala::ExecNode Pages: 1 -->
<svg width="1762pt" height="1652pt"
viewBox="0.00 0.00 1762.00 1652.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 1648)">
<title>impala::ExecNode</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-1648 1758,-1648 1758,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="812,-1146.5 812,-1643.5 994,-1643.5 994,-1146.5 812,-1146.5"/>
<text text-anchor="middle" x="903" y="-1631.5" font-family="Helvetica,sans-Serif" font-size="10.00">impala::ExecNode</text>
<polyline fill="none" stroke="black" points="812,-1624.5 994,-1624.5 "/>
<text text-anchor="start" x="820" y="-1612.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ROW_THROUGHPUT_COUNTER</text>
<text text-anchor="start" x="820" y="-1601.5" font-family="Helvetica,sans-Serif" font-size="10.00"># id_</text>
<text text-anchor="start" x="820" y="-1590.5" font-family="Helvetica,sans-Serif" font-size="10.00"># type_</text>
<text text-anchor="start" x="820" y="-1579.5" font-family="Helvetica,sans-Serif" font-size="10.00"># pool_</text>
<text text-anchor="start" x="820" y="-1568.5" font-family="Helvetica,sans-Serif" font-size="10.00"># conjunct_ctxs_</text>
<text text-anchor="start" x="820" y="-1557.5" font-family="Helvetica,sans-Serif" font-size="10.00"># children_</text>
<text text-anchor="start" x="820" y="-1546.5" font-family="Helvetica,sans-Serif" font-size="10.00"># row_descriptor_</text>
<text text-anchor="start" x="820" y="-1535.5" font-family="Helvetica,sans-Serif" font-size="10.00"># debug_phase_</text>
<text text-anchor="start" x="820" y="-1524.5" font-family="Helvetica,sans-Serif" font-size="10.00"># debug_action_</text>
<text text-anchor="start" x="820" y="-1513.5" font-family="Helvetica,sans-Serif" font-size="10.00"># limit_</text>
<text text-anchor="start" x="820" y="-1502.5" font-family="Helvetica,sans-Serif" font-size="10.00"># num_rows_returned_</text>
<text text-anchor="start" x="820" y="-1491.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 7 more...</text>
<text text-anchor="start" x="820" y="-1480.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; is_closed_</text>
<text text-anchor="start" x="820" y="-1469.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; expr_ctxs_to_free_</text>
<polyline fill="none" stroke="black" points="812,-1462.5 994,-1462.5 "/>
<text text-anchor="start" x="820" y="-1450.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ExecNode()</text>
<text text-anchor="start" x="820" y="-1439.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~ExecNode()</text>
<text text-anchor="start" x="820" y="-1428.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Init()</text>
<text text-anchor="start" x="820" y="-1417.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="820" y="-1406.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Open()</text>
<text text-anchor="start" x="820" y="-1395.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNext()</text>
<text text-anchor="start" x="820" y="-1384.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Reset()</text>
<text text-anchor="start" x="820" y="-1373.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Close()</text>
<text text-anchor="start" x="820" y="-1362.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CollectNodes()</text>
<text text-anchor="start" x="820" y="-1351.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CollectScanNodes()</text>
<text text-anchor="start" x="820" y="-1340.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 12 more...</text>
<text text-anchor="start" x="820" y="-1329.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CreateTree()</text>
<text text-anchor="start" x="820" y="-1318.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetDebugOptions()</text>
<text text-anchor="start" x="820" y="-1307.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ EvalConjuncts()</text>
<text text-anchor="start" x="820" y="-1296.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CodegenEvalConjuncts()</text>
<text text-anchor="start" x="820" y="-1285.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNodeIdFromProfile()</text>
<text text-anchor="start" x="820" y="-1274.5" font-family="Helvetica,sans-Serif" font-size="10.00"># child()</text>
<text text-anchor="start" x="820" y="-1263.5" font-family="Helvetica,sans-Serif" font-size="10.00"># is_closed()</text>
<text text-anchor="start" x="820" y="-1252.5" font-family="Helvetica,sans-Serif" font-size="10.00"># IsScanNode()</text>
<text text-anchor="start" x="820" y="-1241.5" font-family="Helvetica,sans-Serif" font-size="10.00"># InitRuntimeProfile()</text>
<text text-anchor="start" x="820" y="-1230.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ExecDebugAction()</text>
<text text-anchor="start" x="820" y="-1219.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AddRuntimeExecOption()</text>
<text text-anchor="start" x="820" y="-1208.5" font-family="Helvetica,sans-Serif" font-size="10.00"># QueryMaintenance()</text>
<text text-anchor="start" x="820" y="-1197.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AddExprCtxToFree()</text>
<text text-anchor="start" x="820" y="-1186.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AddExprCtxsToFree()</text>
<text text-anchor="start" x="820" y="-1175.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AddExprCtxsToFree()</text>
<text text-anchor="start" x="820" y="-1164.5" font-family="Helvetica,sans-Serif" font-size="10.00"># CreateNode()</text>
<text text-anchor="start" x="820" y="-1153.5" font-family="Helvetica,sans-Serif" font-size="10.00"># CreateTreeHelper()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="classimpala_1_1AggregationNode.html" target="_top" xlink:title="{impala::AggregationNode\n|+ LLVM_CLASS_NAME\l&#45; hash_tbl_\l&#45; output_iterator_\l&#45; aggregate_evaluators_\l&#45; agg_fn_ctxs_\l&#45; agg_fn_pool_\l&#45; probe_expr_ctxs_\l&#45; build_expr_ctxs_\l&#45; intermediate_tuple_id_\l&#45; intermediate_tuple\l_desc_\l&#45; output_tuple_id_\land 10 more...\l|+ AggregationNode()\l+ Init()\l+ Prepare()\l+ Open()\l+ GetNext()\l+ Reset()\l+ Close()\l# DebugString()\l&#45; ConstructIntermediateTuple()\l&#45; UpdateTuple()\l&#45; FinalizeTuple()\l&#45; ProcessRowBatchNoGrouping()\l&#45; ProcessRowBatchWithGrouping()\l&#45; CodegenProcessRowBatch()\l&#45; CodegenUpdateSlot()\l&#45; CodegenUpdateTuple()\l}">
<polygon fill="white" stroke="black" points="0,-612 0,-966 170,-966 170,-612 0,-612"/>
<text text-anchor="middle" x="85" y="-954" font-family="Helvetica,sans-Serif" font-size="10.00">impala::AggregationNode</text>
<polyline fill="none" stroke="black" points="0,-947 170,-947 "/>
<text text-anchor="start" x="8" y="-935" font-family="Helvetica,sans-Serif" font-size="10.00">+ LLVM_CLASS_NAME</text>
<text text-anchor="start" x="8" y="-924" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; hash_tbl_</text>
<text text-anchor="start" x="8" y="-913" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; output_iterator_</text>
<text text-anchor="start" x="8" y="-902" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; aggregate_evaluators_</text>
<text text-anchor="start" x="8" y="-891" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; agg_fn_ctxs_</text>
<text text-anchor="start" x="8" y="-880" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; agg_fn_pool_</text>
<text text-anchor="start" x="8" y="-869" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; probe_expr_ctxs_</text>
<text text-anchor="start" x="8" y="-858" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; build_expr_ctxs_</text>
<text text-anchor="start" x="8" y="-847" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; intermediate_tuple_id_</text>
<text text-anchor="start" x="8" y="-836" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; intermediate_tuple</text>
<text text-anchor="start" x="8" y="-825" font-family="Helvetica,sans-Serif" font-size="10.00">_desc_</text>
<text text-anchor="start" x="8" y="-814" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; output_tuple_id_</text>
<text text-anchor="start" x="8" y="-803" font-family="Helvetica,sans-Serif" font-size="10.00">and 10 more...</text>
<polyline fill="none" stroke="black" points="0,-796 170,-796 "/>
<text text-anchor="start" x="8" y="-784" font-family="Helvetica,sans-Serif" font-size="10.00">+ AggregationNode()</text>
<text text-anchor="start" x="8" y="-773" font-family="Helvetica,sans-Serif" font-size="10.00">+ Init()</text>
<text text-anchor="start" x="8" y="-762" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="8" y="-751" font-family="Helvetica,sans-Serif" font-size="10.00">+ Open()</text>
<text text-anchor="start" x="8" y="-740" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNext()</text>
<text text-anchor="start" x="8" y="-729" font-family="Helvetica,sans-Serif" font-size="10.00">+ Reset()</text>
<text text-anchor="start" x="8" y="-718" font-family="Helvetica,sans-Serif" font-size="10.00">+ Close()</text>
<text text-anchor="start" x="8" y="-707" font-family="Helvetica,sans-Serif" font-size="10.00"># DebugString()</text>
<text text-anchor="start" x="8" y="-696" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ConstructIntermediateTuple()</text>
<text text-anchor="start" x="8" y="-685" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; UpdateTuple()</text>
<text text-anchor="start" x="8" y="-674" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; FinalizeTuple()</text>
<text text-anchor="start" x="8" y="-663" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ProcessRowBatchNoGrouping()</text>
<text text-anchor="start" x="8" y="-652" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ProcessRowBatchWithGrouping()</text>
<text text-anchor="start" x="8" y="-641" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; CodegenProcessRowBatch()</text>
<text text-anchor="start" x="8" y="-630" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; CodegenUpdateSlot()</text>
<text text-anchor="start" x="8" y="-619" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; CodegenUpdateTuple()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge"><title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M801.759,-1382.38C645.76,-1359.07 347.189,-1292.17 180,-1110 143.656,-1070.4 121.177,-1017.49 107.287,-966.111"/>
<polygon fill="none" stroke="midnightblue" points="801.423,-1385.87 811.825,-1383.85 802.437,-1378.94 801.423,-1385.87"/>
</g>
<!-- Node3 -->
<g id="node3" class="node"><title>Node3</title>
<g id="a_node3"><a xlink:href="classimpala_1_1AnalyticEvalNode.html" target="_top" xlink:title="{impala::AnalyticEvalNode\n|&#45; window_\l&#45; intermediate_tuple\l_desc_\l&#45; result_tuple_desc_\l&#45; buffered_tuple_desc_\l&#45; child_tuple_cmp_row_\l&#45; partition_by_eq_expr_ctx_\l&#45; order_by_eq_expr_ctx_\l&#45; fn_scope_\l&#45; rows_start_offset_\l&#45; rows_end_offset_\land 24 more...\l|+ AnalyticEvalNode()\l+ Init()\l+ Prepare()\l+ Open()\l+ GetNext()\l+ Reset()\l+ Close()\l# QueryMaintenance()\l# DebugString()\l&#45; ProcessChildBatch()\l&#45; ProcessChildBatches()\l&#45; GetNextOutputBatch()\l&#45; AddRow()\l&#45; TryAddResultTupleForPrevRow()\l&#45; TryAddResultTupleForCurrRow()\l&#45; TryAddRemainingResults()\l&#45; TryRemoveRowsBeforeWindow()\l&#45; InitNextPartition()\l&#45; AddResultTuple()\land 6 more...\l}">
<polygon fill="white" stroke="black" points="188.5,-595.5 188.5,-982.5 357.5,-982.5 357.5,-595.5 188.5,-595.5"/>
<text text-anchor="middle" x="273" y="-970.5" font-family="Helvetica,sans-Serif" font-size="10.00">impala::AnalyticEvalNode</text>
<polyline fill="none" stroke="black" points="188.5,-963.5 357.5,-963.5 "/>
<text text-anchor="start" x="196.5" y="-951.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; window_</text>
<text text-anchor="start" x="196.5" y="-940.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; intermediate_tuple</text>
<text text-anchor="start" x="196.5" y="-929.5" font-family="Helvetica,sans-Serif" font-size="10.00">_desc_</text>
<text text-anchor="start" x="196.5" y="-918.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; result_tuple_desc_</text>
<text text-anchor="start" x="196.5" y="-907.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; buffered_tuple_desc_</text>
<text text-anchor="start" x="196.5" y="-896.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; child_tuple_cmp_row_</text>
<text text-anchor="start" x="196.5" y="-885.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; partition_by_eq_expr_ctx_</text>
<text text-anchor="start" x="196.5" y="-874.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; order_by_eq_expr_ctx_</text>
<text text-anchor="start" x="196.5" y="-863.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; fn_scope_</text>
<text text-anchor="start" x="196.5" y="-852.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; rows_start_offset_</text>
<text text-anchor="start" x="196.5" y="-841.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; rows_end_offset_</text>
<text text-anchor="start" x="196.5" y="-830.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 24 more...</text>
<polyline fill="none" stroke="black" points="188.5,-823.5 357.5,-823.5 "/>
<text text-anchor="start" x="196.5" y="-811.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AnalyticEvalNode()</text>
<text text-anchor="start" x="196.5" y="-800.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Init()</text>
<text text-anchor="start" x="196.5" y="-789.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="196.5" y="-778.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Open()</text>
<text text-anchor="start" x="196.5" y="-767.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNext()</text>
<text text-anchor="start" x="196.5" y="-756.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Reset()</text>
<text text-anchor="start" x="196.5" y="-745.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Close()</text>
<text text-anchor="start" x="196.5" y="-734.5" font-family="Helvetica,sans-Serif" font-size="10.00"># QueryMaintenance()</text>
<text text-anchor="start" x="196.5" y="-723.5" font-family="Helvetica,sans-Serif" font-size="10.00"># DebugString()</text>
<text text-anchor="start" x="196.5" y="-712.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ProcessChildBatch()</text>
<text text-anchor="start" x="196.5" y="-701.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ProcessChildBatches()</text>
<text text-anchor="start" x="196.5" y="-690.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; GetNextOutputBatch()</text>
<text text-anchor="start" x="196.5" y="-679.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; AddRow()</text>
<text text-anchor="start" x="196.5" y="-668.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; TryAddResultTupleForPrevRow()</text>
<text text-anchor="start" x="196.5" y="-657.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; TryAddResultTupleForCurrRow()</text>
<text text-anchor="start" x="196.5" y="-646.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; TryAddRemainingResults()</text>
<text text-anchor="start" x="196.5" y="-635.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; TryRemoveRowsBeforeWindow()</text>
<text text-anchor="start" x="196.5" y="-624.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; InitNextPartition()</text>
<text text-anchor="start" x="196.5" y="-613.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; AddResultTuple()</text>
<text text-anchor="start" x="196.5" y="-602.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 6 more...</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge"><title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M802.102,-1366.84C681.193,-1329.12 480.716,-1249.3 367,-1110 337.249,-1073.56 316.914,-1028.01 303.015,-982.813"/>
<polygon fill="none" stroke="midnightblue" points="801.16,-1370.21 811.747,-1369.81 803.221,-1363.52 801.16,-1370.21"/>
</g>
<!-- Node4 -->
<g id="node4" class="node"><title>Node4</title>
<g id="a_node4"><a xlink:href="classimpala_1_1BlockingJoinNode.html" target="_top" xlink:title="{impala::BlockingJoinNode\n|+ LLVM_CLASS_NAME\l# node_name_\l# join_op_\l# eos_\l# build_pool_\l# probe_batch_\l# probe_side_eos_\l# probe_batch_pos_\l# current_probe_row_\l# matched_probe_\l# probe_tuple_row_size_\land 7 more...\l|+ BlockingJoinNode()\l+ ~BlockingJoinNode()\l+ Init()\l+ Prepare()\l+ Open()\l+ Reset()\l+ Close()\l# InitGetNext()\l# ConstructBuildSide()\l# AddToDebugString()\l# DebugString()\l# GetLeftChildRowString()\l# CreateOutputRow()\l&#45; BuildSideThread()\l}">
<polygon fill="white" stroke="black" points="375.5,-628.5 375.5,-949.5 506.5,-949.5 506.5,-628.5 375.5,-628.5"/>
<text text-anchor="middle" x="441" y="-937.5" font-family="Helvetica,sans-Serif" font-size="10.00">impala::BlockingJoinNode</text>
<polyline fill="none" stroke="black" points="375.5,-930.5 506.5,-930.5 "/>
<text text-anchor="start" x="383.5" y="-918.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LLVM_CLASS_NAME</text>
<text text-anchor="start" x="383.5" y="-907.5" font-family="Helvetica,sans-Serif" font-size="10.00"># node_name_</text>
<text text-anchor="start" x="383.5" y="-896.5" font-family="Helvetica,sans-Serif" font-size="10.00"># join_op_</text>
<text text-anchor="start" x="383.5" y="-885.5" font-family="Helvetica,sans-Serif" font-size="10.00"># eos_</text>
<text text-anchor="start" x="383.5" y="-874.5" font-family="Helvetica,sans-Serif" font-size="10.00"># build_pool_</text>
<text text-anchor="start" x="383.5" y="-863.5" font-family="Helvetica,sans-Serif" font-size="10.00"># probe_batch_</text>
<text text-anchor="start" x="383.5" y="-852.5" font-family="Helvetica,sans-Serif" font-size="10.00"># probe_side_eos_</text>
<text text-anchor="start" x="383.5" y="-841.5" font-family="Helvetica,sans-Serif" font-size="10.00"># probe_batch_pos_</text>
<text text-anchor="start" x="383.5" y="-830.5" font-family="Helvetica,sans-Serif" font-size="10.00"># current_probe_row_</text>
<text text-anchor="start" x="383.5" y="-819.5" font-family="Helvetica,sans-Serif" font-size="10.00"># matched_probe_</text>
<text text-anchor="start" x="383.5" y="-808.5" font-family="Helvetica,sans-Serif" font-size="10.00"># probe_tuple_row_size_</text>
<text text-anchor="start" x="383.5" y="-797.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 7 more...</text>
<polyline fill="none" stroke="black" points="375.5,-790.5 506.5,-790.5 "/>
<text text-anchor="start" x="383.5" y="-778.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ BlockingJoinNode()</text>
<text text-anchor="start" x="383.5" y="-767.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~BlockingJoinNode()</text>
<text text-anchor="start" x="383.5" y="-756.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Init()</text>
<text text-anchor="start" x="383.5" y="-745.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="383.5" y="-734.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Open()</text>
<text text-anchor="start" x="383.5" y="-723.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Reset()</text>
<text text-anchor="start" x="383.5" y="-712.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Close()</text>
<text text-anchor="start" x="383.5" y="-701.5" font-family="Helvetica,sans-Serif" font-size="10.00"># InitGetNext()</text>
<text text-anchor="start" x="383.5" y="-690.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ConstructBuildSide()</text>
<text text-anchor="start" x="383.5" y="-679.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AddToDebugString()</text>
<text text-anchor="start" x="383.5" y="-668.5" font-family="Helvetica,sans-Serif" font-size="10.00"># DebugString()</text>
<text text-anchor="start" x="383.5" y="-657.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetLeftChildRowString()</text>
<text text-anchor="start" x="383.5" y="-646.5" font-family="Helvetica,sans-Serif" font-size="10.00"># CreateOutputRow()</text>
<text text-anchor="start" x="383.5" y="-635.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; BuildSideThread()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge"><title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M802.951,-1346.52C713.951,-1299.07 587.186,-1217.72 516,-1110 484.776,-1062.75 466.49,-1004.04 455.803,-949.857"/>
<polygon fill="none" stroke="midnightblue" points="801.506,-1349.72 811.983,-1351.29 804.774,-1343.53 801.506,-1349.72"/>
</g>
<!-- Node8 -->
<g id="node8" class="node"><title>Node8</title>
<g id="a_node8"><a xlink:href="classimpala_1_1EmptySetNode.html" target="_top" xlink:title="{impala::EmptySetNode\n||+ EmptySetNode()\l+ GetNext()\l}">
<polygon fill="white" stroke="black" points="525,-755 525,-823 643,-823 643,-755 525,-755"/>
<text text-anchor="middle" x="584" y="-811" font-family="Helvetica,sans-Serif" font-size="10.00">impala::EmptySetNode</text>
<polyline fill="none" stroke="black" points="525,-804 643,-804 "/>
<text text-anchor="middle" x="584" y="-792" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
<polyline fill="none" stroke="black" points="525,-785 643,-785 "/>
<text text-anchor="start" x="533" y="-773" font-family="Helvetica,sans-Serif" font-size="10.00">+ EmptySetNode()</text>
<text text-anchor="start" x="533" y="-762" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNext()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node8 -->
<g id="edge7" class="edge"><title>Node1&#45;&gt;Node8</title>
<path fill="none" stroke="midnightblue" d="M804.587,-1306.52C751.946,-1254.46 690.431,-1184.22 653,-1110 604.249,-1013.33 589.845,-883.334 585.665,-823.141"/>
<polygon fill="none" stroke="midnightblue" points="802.362,-1309.24 811.952,-1313.74 807.263,-1304.24 802.362,-1309.24"/>
</g>
<!-- Node9 -->
<g id="node9" class="node"><title>Node9</title>
<g id="a_node9"><a xlink:href="classimpala_1_1ExchangeNode.html" target="_top" xlink:title="{impala::ExchangeNode\n|&#45; num_senders_\l&#45; stream_recvr_\l&#45; input_row_desc_\l&#45; input_batch_\l&#45; next_row_idx_\l&#45; convert_row_batch_timer_\l&#45; is_merging_\l&#45; sort_exec_exprs_\l&#45; is_asc_order_\l&#45; nulls_first_\l&#45; offset_\l&#45; num_rows_skipped_\l|+ ExchangeNode()\l+ Init()\l+ Prepare()\l+ Open()\l+ GetNext()\l+ Reset()\l+ Close()\l+ set_num_senders()\l# DebugString()\l&#45; GetNextMerging()\l&#45; FillInputRowBatch()\l}">
<polygon fill="white" stroke="black" points="661.5,-645 661.5,-933 798.5,-933 798.5,-645 661.5,-645"/>
<text text-anchor="middle" x="730" y="-921" font-family="Helvetica,sans-Serif" font-size="10.00">impala::ExchangeNode</text>
<polyline fill="none" stroke="black" points="661.5,-914 798.5,-914 "/>
<text text-anchor="start" x="669.5" y="-902" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; num_senders_</text>
<text text-anchor="start" x="669.5" y="-891" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; stream_recvr_</text>
<text text-anchor="start" x="669.5" y="-880" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; input_row_desc_</text>
<text text-anchor="start" x="669.5" y="-869" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; input_batch_</text>
<text text-anchor="start" x="669.5" y="-858" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; next_row_idx_</text>
<text text-anchor="start" x="669.5" y="-847" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; convert_row_batch_timer_</text>
<text text-anchor="start" x="669.5" y="-836" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; is_merging_</text>
<text text-anchor="start" x="669.5" y="-825" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; sort_exec_exprs_</text>
<text text-anchor="start" x="669.5" y="-814" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; is_asc_order_</text>
<text text-anchor="start" x="669.5" y="-803" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; nulls_first_</text>
<text text-anchor="start" x="669.5" y="-792" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; offset_</text>
<text text-anchor="start" x="669.5" y="-781" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; num_rows_skipped_</text>
<polyline fill="none" stroke="black" points="661.5,-774 798.5,-774 "/>
<text text-anchor="start" x="669.5" y="-762" font-family="Helvetica,sans-Serif" font-size="10.00">+ ExchangeNode()</text>
<text text-anchor="start" x="669.5" y="-751" font-family="Helvetica,sans-Serif" font-size="10.00">+ Init()</text>
<text text-anchor="start" x="669.5" y="-740" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="669.5" y="-729" font-family="Helvetica,sans-Serif" font-size="10.00">+ Open()</text>
<text text-anchor="start" x="669.5" y="-718" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNext()</text>
<text text-anchor="start" x="669.5" y="-707" font-family="Helvetica,sans-Serif" font-size="10.00">+ Reset()</text>
<text text-anchor="start" x="669.5" y="-696" font-family="Helvetica,sans-Serif" font-size="10.00">+ Close()</text>
<text text-anchor="start" x="669.5" y="-685" font-family="Helvetica,sans-Serif" font-size="10.00">+ set_num_senders()</text>
<text text-anchor="start" x="669.5" y="-674" font-family="Helvetica,sans-Serif" font-size="10.00"># DebugString()</text>
<text text-anchor="start" x="669.5" y="-663" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; GetNextMerging()</text>
<text text-anchor="start" x="669.5" y="-652" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; FillInputRowBatch()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node9 -->
<g id="edge8" class="edge"><title>Node1&#45;&gt;Node9</title>
<path fill="none" stroke="midnightblue" d="M815.813,-1136.47C813.127,-1127.56 810.514,-1118.71 808,-1110 791.432,-1052.59 775.393,-988.725 762.212,-933.246"/>
<polygon fill="none" stroke="midnightblue" points="812.503,-1137.62 818.755,-1146.17 819.202,-1135.59 812.503,-1137.62"/>
</g>
<!-- Node10 -->
<g id="node10" class="node"><title>Node10</title>
<g id="a_node10"><a xlink:href="classimpala_1_1PartitionedAggregationNode.html" target="_top" xlink:title="{impala::PartitionedAggregationNode\n|+ LLVM_CLASS_NAME\l&#45; intermediate_tuple_id_\l&#45; intermediate_tuple\l_desc_\l&#45; intermediate_row_desc_\l&#45; output_tuple_id_\l&#45; output_tuple_desc_\l&#45; needs_finalize_\l&#45; needs_serialize_\l&#45; aggregate_evaluators_\l&#45; agg_fn_ctxs_\l&#45; agg_fn_pool_\land 27 more...\l&#45; PARTITION_FANOUT\l&#45; NUM_PARTITIONING_BITS\l&#45; MAX_PARTITION_DEPTH\l|+ PartitionedAggregationNode()\l+ Init()\l+ Prepare()\l+ Open()\l+ GetNext()\l+ Reset()\l+ Close()\l+ ProcessBatch()\l# QueryMaintenance()\l# DebugString()\l&#45; ConstructIntermediateTuple()\l&#45; UpdateTuple()\l&#45; GetOutputTuple()\l&#45; ProcessBatchNoGrouping()\l&#45; ProcessBatch()\l&#45; ProcessStream()\l&#45; CreateHashPartitions()\l&#45; LargestSpilledPartition()\l&#45; NextPartition()\l&#45; SpillPartition()\land 8 more...\l}">
<polygon fill="white" stroke="black" points="816.5,-568 816.5,-1010 989.5,-1010 989.5,-568 816.5,-568"/>
<text text-anchor="middle" x="903" y="-998" font-family="Helvetica,sans-Serif" font-size="10.00">impala::PartitionedAggregationNode</text>
<polyline fill="none" stroke="black" points="816.5,-991 989.5,-991 "/>
<text text-anchor="start" x="824.5" y="-979" font-family="Helvetica,sans-Serif" font-size="10.00">+ LLVM_CLASS_NAME</text>
<text text-anchor="start" x="824.5" y="-968" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; intermediate_tuple_id_</text>
<text text-anchor="start" x="824.5" y="-957" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; intermediate_tuple</text>
<text text-anchor="start" x="824.5" y="-946" font-family="Helvetica,sans-Serif" font-size="10.00">_desc_</text>
<text text-anchor="start" x="824.5" y="-935" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; intermediate_row_desc_</text>
<text text-anchor="start" x="824.5" y="-924" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; output_tuple_id_</text>
<text text-anchor="start" x="824.5" y="-913" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; output_tuple_desc_</text>
<text text-anchor="start" x="824.5" y="-902" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; needs_finalize_</text>
<text text-anchor="start" x="824.5" y="-891" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; needs_serialize_</text>
<text text-anchor="start" x="824.5" y="-880" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; aggregate_evaluators_</text>
<text text-anchor="start" x="824.5" y="-869" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; agg_fn_ctxs_</text>
<text text-anchor="start" x="824.5" y="-858" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; agg_fn_pool_</text>
<text text-anchor="start" x="824.5" y="-847" font-family="Helvetica,sans-Serif" font-size="10.00">and 27 more...</text>
<text text-anchor="start" x="824.5" y="-836" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; PARTITION_FANOUT</text>
<text text-anchor="start" x="824.5" y="-825" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; NUM_PARTITIONING_BITS</text>
<text text-anchor="start" x="824.5" y="-814" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; MAX_PARTITION_DEPTH</text>
<polyline fill="none" stroke="black" points="816.5,-807 989.5,-807 "/>
<text text-anchor="start" x="824.5" y="-795" font-family="Helvetica,sans-Serif" font-size="10.00">+ PartitionedAggregationNode()</text>
<text text-anchor="start" x="824.5" y="-784" font-family="Helvetica,sans-Serif" font-size="10.00">+ Init()</text>
<text text-anchor="start" x="824.5" y="-773" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="824.5" y="-762" font-family="Helvetica,sans-Serif" font-size="10.00">+ Open()</text>
<text text-anchor="start" x="824.5" y="-751" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNext()</text>
<text text-anchor="start" x="824.5" y="-740" font-family="Helvetica,sans-Serif" font-size="10.00">+ Reset()</text>
<text text-anchor="start" x="824.5" y="-729" font-family="Helvetica,sans-Serif" font-size="10.00">+ Close()</text>
<text text-anchor="start" x="824.5" y="-718" font-family="Helvetica,sans-Serif" font-size="10.00">+ ProcessBatch()</text>
<text text-anchor="start" x="824.5" y="-707" font-family="Helvetica,sans-Serif" font-size="10.00"># QueryMaintenance()</text>
<text text-anchor="start" x="824.5" y="-696" font-family="Helvetica,sans-Serif" font-size="10.00"># DebugString()</text>
<text text-anchor="start" x="824.5" y="-685" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ConstructIntermediateTuple()</text>
<text text-anchor="start" x="824.5" y="-674" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; UpdateTuple()</text>
<text text-anchor="start" x="824.5" y="-663" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; GetOutputTuple()</text>
<text text-anchor="start" x="824.5" y="-652" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ProcessBatchNoGrouping()</text>
<text text-anchor="start" x="824.5" y="-641" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ProcessBatch()</text>
<text text-anchor="start" x="824.5" y="-630" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ProcessStream()</text>
<text text-anchor="start" x="824.5" y="-619" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; CreateHashPartitions()</text>
<text text-anchor="start" x="824.5" y="-608" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; LargestSpilledPartition()</text>
<text text-anchor="start" x="824.5" y="-597" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; NextPartition()</text>
<text text-anchor="start" x="824.5" y="-586" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; SpillPartition()</text>
<text text-anchor="start" x="824.5" y="-575" font-family="Helvetica,sans-Serif" font-size="10.00">and 8 more...</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node10 -->
<g id="edge9" class="edge"><title>Node1&#45;&gt;Node10</title>
<path fill="none" stroke="midnightblue" d="M903,-1136.09C903,-1094.13 903,-1051.02 903,-1010.08"/>
<polygon fill="none" stroke="midnightblue" points="899.5,-1136.15 903,-1146.15 906.5,-1136.15 899.5,-1136.15"/>
</g>
<!-- Node11 -->
<g id="node11" class="node"><title>Node11</title>
<g id="a_node11"><a xlink:href="classimpala_1_1ScanNode.html" target="_top" xlink:title="Abstract base class of all scan nodes; introduces SetScanRange(). ">
<polygon fill="white" stroke="black" points="1008,-469 1008,-1109 1212,-1109 1212,-469 1008,-469"/>
<text text-anchor="middle" x="1110" y="-1097" font-family="Helvetica,sans-Serif" font-size="10.00">impala::ScanNode</text>
<polyline fill="none" stroke="black" points="1008,-1090 1212,-1090 "/>
<text text-anchor="start" x="1016" y="-1078" font-family="Helvetica,sans-Serif" font-size="10.00">+ BYTES_READ_COUNTER</text>
<text text-anchor="start" x="1016" y="-1067" font-family="Helvetica,sans-Serif" font-size="10.00">+ ROWS_READ_COUNTER</text>
<text text-anchor="start" x="1016" y="-1056" font-family="Helvetica,sans-Serif" font-size="10.00">+ TOTAL_HDFS_READ_TIMER</text>
<text text-anchor="start" x="1016" y="-1045" font-family="Helvetica,sans-Serif" font-size="10.00">+ TOTAL_HBASE_READ_TIMER</text>
<text text-anchor="start" x="1016" y="-1034" font-family="Helvetica,sans-Serif" font-size="10.00">+ TOTAL_THROUGHPUT_COUNTER</text>
<text text-anchor="start" x="1016" y="-1023" font-family="Helvetica,sans-Serif" font-size="10.00">+ PER_READ_THREAD_THROUGHPUT</text>
<text text-anchor="start" x="1016" y="-1012" font-family="Helvetica,sans-Serif" font-size="10.00">_COUNTER</text>
<text text-anchor="start" x="1016" y="-1001" font-family="Helvetica,sans-Serif" font-size="10.00">+ NUM_DISKS_ACCESSED</text>
<text text-anchor="start" x="1016" y="-990" font-family="Helvetica,sans-Serif" font-size="10.00">_COUNTER</text>
<text text-anchor="start" x="1016" y="-979" font-family="Helvetica,sans-Serif" font-size="10.00">+ MATERIALIZE_TUPLE_TIMER</text>
<text text-anchor="start" x="1016" y="-968" font-family="Helvetica,sans-Serif" font-size="10.00">+ SCAN_RANGES_COMPLETE</text>
<text text-anchor="start" x="1016" y="-957" font-family="Helvetica,sans-Serif" font-size="10.00">_COUNTER</text>
<text text-anchor="start" x="1016" y="-946" font-family="Helvetica,sans-Serif" font-size="10.00">+ SCANNER_THREAD_COUNTERS</text>
<text text-anchor="start" x="1016" y="-935" font-family="Helvetica,sans-Serif" font-size="10.00">_PREFIX</text>
<text text-anchor="start" x="1016" y="-924" font-family="Helvetica,sans-Serif" font-size="10.00">+ SCANNER_THREAD_TOTAL</text>
<text text-anchor="start" x="1016" y="-913" font-family="Helvetica,sans-Serif" font-size="10.00">_WALLCLOCK_TIME</text>
<text text-anchor="start" x="1016" y="-902" font-family="Helvetica,sans-Serif" font-size="10.00">+ AVERAGE_SCANNER_THREAD</text>
<text text-anchor="start" x="1016" y="-891" font-family="Helvetica,sans-Serif" font-size="10.00">_CONCURRENCY</text>
<text text-anchor="start" x="1016" y="-880" font-family="Helvetica,sans-Serif" font-size="10.00">+ AVERAGE_HDFS_READ_THREAD</text>
<text text-anchor="start" x="1016" y="-869" font-family="Helvetica,sans-Serif" font-size="10.00">_CONCURRENCY</text>
<text text-anchor="start" x="1016" y="-858" font-family="Helvetica,sans-Serif" font-size="10.00">+ NUM_SCANNER_THREADS</text>
<text text-anchor="start" x="1016" y="-847" font-family="Helvetica,sans-Serif" font-size="10.00">_STARTED</text>
<text text-anchor="start" x="1016" y="-836" font-family="Helvetica,sans-Serif" font-size="10.00"># scan_range_params_</text>
<text text-anchor="start" x="1016" y="-825" font-family="Helvetica,sans-Serif" font-size="10.00"># bytes_read_counter_</text>
<text text-anchor="start" x="1016" y="-814" font-family="Helvetica,sans-Serif" font-size="10.00"># bytes_read_timeseries</text>
<text text-anchor="start" x="1016" y="-803" font-family="Helvetica,sans-Serif" font-size="10.00">_counter_</text>
<text text-anchor="start" x="1016" y="-792" font-family="Helvetica,sans-Serif" font-size="10.00"># rows_read_counter_</text>
<text text-anchor="start" x="1016" y="-781" font-family="Helvetica,sans-Serif" font-size="10.00"># read_timer_</text>
<text text-anchor="start" x="1016" y="-770" font-family="Helvetica,sans-Serif" font-size="10.00"># total_throughput_counter_</text>
<text text-anchor="start" x="1016" y="-759" font-family="Helvetica,sans-Serif" font-size="10.00"># per_read_thread_throughput</text>
<text text-anchor="start" x="1016" y="-748" font-family="Helvetica,sans-Serif" font-size="10.00">_counter_</text>
<text text-anchor="start" x="1016" y="-737" font-family="Helvetica,sans-Serif" font-size="10.00"># num_disks_accessed</text>
<text text-anchor="start" x="1016" y="-726" font-family="Helvetica,sans-Serif" font-size="10.00">_counter_</text>
<text text-anchor="start" x="1016" y="-715" font-family="Helvetica,sans-Serif" font-size="10.00"># materialize_tuple_timer_</text>
<text text-anchor="start" x="1016" y="-704" font-family="Helvetica,sans-Serif" font-size="10.00"># scan_ranges_complete</text>
<text text-anchor="start" x="1016" y="-693" font-family="Helvetica,sans-Serif" font-size="10.00">_counter_</text>
<text text-anchor="start" x="1016" y="-682" font-family="Helvetica,sans-Serif" font-size="10.00">and 7 more...</text>
<polyline fill="none" stroke="black" points="1008,-675 1212,-675 "/>
<text text-anchor="start" x="1016" y="-663" font-family="Helvetica,sans-Serif" font-size="10.00">+ ScanNode()</text>
<text text-anchor="start" x="1016" y="-652" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="1016" y="-641" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetScanRanges()</text>
<text text-anchor="start" x="1016" y="-630" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsScanNode()</text>
<text text-anchor="start" x="1016" y="-619" font-family="Helvetica,sans-Serif" font-size="10.00">+ bytes_read_counter()</text>
<text text-anchor="start" x="1016" y="-608" font-family="Helvetica,sans-Serif" font-size="10.00">+ rows_read_counter()</text>
<text text-anchor="start" x="1016" y="-597" font-family="Helvetica,sans-Serif" font-size="10.00">+ read_timer()</text>
<text text-anchor="start" x="1016" y="-586" font-family="Helvetica,sans-Serif" font-size="10.00">+ total_throughput_counter()</text>
<text text-anchor="start" x="1016" y="-575" font-family="Helvetica,sans-Serif" font-size="10.00">+ per_read_thread_throughput</text>
<text text-anchor="start" x="1016" y="-564" font-family="Helvetica,sans-Serif" font-size="10.00">_counter()</text>
<text text-anchor="start" x="1016" y="-553" font-family="Helvetica,sans-Serif" font-size="10.00">+ materialize_tuple_timer()</text>
<text text-anchor="start" x="1016" y="-542" font-family="Helvetica,sans-Serif" font-size="10.00">+ scan_ranges_complete</text>
<text text-anchor="start" x="1016" y="-531" font-family="Helvetica,sans-Serif" font-size="10.00">_counter()</text>
<text text-anchor="start" x="1016" y="-520" font-family="Helvetica,sans-Serif" font-size="10.00">+ scanner_thread_counters()</text>
<text text-anchor="start" x="1016" y="-509" font-family="Helvetica,sans-Serif" font-size="10.00">+ active_scanner_thread</text>
<text text-anchor="start" x="1016" y="-498" font-family="Helvetica,sans-Serif" font-size="10.00">_counter()</text>
<text text-anchor="start" x="1016" y="-487" font-family="Helvetica,sans-Serif" font-size="10.00">+ average_scanner_thread</text>
<text text-anchor="start" x="1016" y="-476" font-family="Helvetica,sans-Serif" font-size="10.00">_concurrency()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node11 -->
<g id="edge10" class="edge"><title>Node1&#45;&gt;Node11</title>
<path fill="none" stroke="midnightblue" d="M991.19,-1136.67C996.719,-1120.54 1002.31,-1104.23 1007.89,-1087.94"/>
<polygon fill="none" stroke="midnightblue" points="987.873,-1135.56 987.941,-1146.15 994.495,-1137.83 987.873,-1135.56"/>
</g>
<!-- Node15 -->
<g id="node15" class="node"><title>Node15</title>
<g id="a_node15"><a xlink:href="classimpala_1_1SelectNode.html" target="_top" xlink:title="{impala::SelectNode\n|&#45; child_row_batch_\l&#45; child_row_idx_\l&#45; child_eos_\l|+ SelectNode()\l+ Prepare()\l+ Open()\l+ GetNext()\l+ Reset()\l+ Close()\l&#45; CopyRows()\l}">
<polygon fill="white" stroke="black" points="1230,-716.5 1230,-861.5 1332,-861.5 1332,-716.5 1230,-716.5"/>
<text text-anchor="middle" x="1281" y="-849.5" font-family="Helvetica,sans-Serif" font-size="10.00">impala::SelectNode</text>
<polyline fill="none" stroke="black" points="1230,-842.5 1332,-842.5 "/>
<text text-anchor="start" x="1238" y="-830.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; child_row_batch_</text>
<text text-anchor="start" x="1238" y="-819.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; child_row_idx_</text>
<text text-anchor="start" x="1238" y="-808.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; child_eos_</text>
<polyline fill="none" stroke="black" points="1230,-801.5 1332,-801.5 "/>
<text text-anchor="start" x="1238" y="-789.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SelectNode()</text>
<text text-anchor="start" x="1238" y="-778.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="1238" y="-767.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Open()</text>
<text text-anchor="start" x="1238" y="-756.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNext()</text>
<text text-anchor="start" x="1238" y="-745.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Reset()</text>
<text text-anchor="start" x="1238" y="-734.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Close()</text>
<text text-anchor="start" x="1238" y="-723.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; CopyRows()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node15 -->
<g id="edge14" class="edge"><title>Node1&#45;&gt;Node15</title>
<path fill="none" stroke="midnightblue" d="M1002.31,-1331.38C1074.27,-1280.6 1167.76,-1202.45 1220,-1110 1263.75,-1032.57 1276.77,-929.525 1280.3,-861.547"/>
<polygon fill="none" stroke="midnightblue" points="1000.28,-1328.52 994.092,-1337.12 1004.29,-1334.26 1000.28,-1328.52"/>
</g>
<!-- Node16 -->
<g id="node16" class="node"><title>Node16</title>
<g id="a_node16"><a xlink:href="classimpala_1_1SortNode.html" target="_top" xlink:title="{impala::SortNode\n|&#45; offset_\l&#45; num_rows_skipped_\l&#45; sorter_\l&#45; sort_exec_exprs_\l&#45; is_asc_order_\l&#45; nulls_first_\l|+ SortNode()\l+ ~SortNode()\l+ Init()\l+ Prepare()\l+ Open()\l+ GetNext()\l+ Reset()\l+ Close()\l# DebugString()\l&#45; SortInput()\l&#45; CreateBlockMgr()\l}">
<polygon fill="white" stroke="black" points="1350,-678 1350,-900 1462,-900 1462,-678 1350,-678"/>
<text text-anchor="middle" x="1406" y="-888" font-family="Helvetica,sans-Serif" font-size="10.00">impala::SortNode</text>
<polyline fill="none" stroke="black" points="1350,-881 1462,-881 "/>
<text text-anchor="start" x="1358" y="-869" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; offset_</text>
<text text-anchor="start" x="1358" y="-858" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; num_rows_skipped_</text>
<text text-anchor="start" x="1358" y="-847" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; sorter_</text>
<text text-anchor="start" x="1358" y="-836" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; sort_exec_exprs_</text>
<text text-anchor="start" x="1358" y="-825" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; is_asc_order_</text>
<text text-anchor="start" x="1358" y="-814" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; nulls_first_</text>
<polyline fill="none" stroke="black" points="1350,-807 1462,-807 "/>
<text text-anchor="start" x="1358" y="-795" font-family="Helvetica,sans-Serif" font-size="10.00">+ SortNode()</text>
<text text-anchor="start" x="1358" y="-784" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~SortNode()</text>
<text text-anchor="start" x="1358" y="-773" font-family="Helvetica,sans-Serif" font-size="10.00">+ Init()</text>
<text text-anchor="start" x="1358" y="-762" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="1358" y="-751" font-family="Helvetica,sans-Serif" font-size="10.00">+ Open()</text>
<text text-anchor="start" x="1358" y="-740" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNext()</text>
<text text-anchor="start" x="1358" y="-729" font-family="Helvetica,sans-Serif" font-size="10.00">+ Reset()</text>
<text text-anchor="start" x="1358" y="-718" font-family="Helvetica,sans-Serif" font-size="10.00">+ Close()</text>
<text text-anchor="start" x="1358" y="-707" font-family="Helvetica,sans-Serif" font-size="10.00"># DebugString()</text>
<text text-anchor="start" x="1358" y="-696" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; SortInput()</text>
<text text-anchor="start" x="1358" y="-685" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; CreateBlockMgr()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node16 -->
<g id="edge15" class="edge"><title>Node1&#45;&gt;Node16</title>
<path fill="none" stroke="midnightblue" d="M1003.62,-1355.97C1104.88,-1312.34 1257.51,-1230.84 1340,-1110 1381.97,-1048.51 1398.26,-965.956 1404.16,-900.101"/>
<polygon fill="none" stroke="midnightblue" points="1002.12,-1352.81 994.294,-1359.95 1004.87,-1359.25 1002.12,-1352.81"/>
</g>
<!-- Node17 -->
<g id="node17" class="node"><title>Node17</title>
<g id="a_node17"><a xlink:href="classimpala_1_1TopNNode.html" target="_top" xlink:title="{impala::TopNNode\n|&#45; offset_\l&#45; num_rows_skipped_\l&#45; sort_exec_exprs_\l&#45; is_asc_order_\l&#45; nulls_first_\l&#45; materialized_tuple\l_desc_\l&#45; tuple_row_less_than_\l&#45; priority_queue_\l&#45; sorted_top_n_\l&#45; get_next_iter_\l&#45; tuple_pool_\l&#45; tmp_tuple_\l|+ TopNNode()\l+ Init()\l+ Prepare()\l+ Open()\l+ GetNext()\l+ Reset()\l+ Close()\l# DebugString()\l&#45; InsertTupleRow()\l&#45; PrepareForOutput()\l}">
<polygon fill="white" stroke="black" points="1480.5,-645 1480.5,-933 1597.5,-933 1597.5,-645 1480.5,-645"/>
<text text-anchor="middle" x="1539" y="-921" font-family="Helvetica,sans-Serif" font-size="10.00">impala::TopNNode</text>
<polyline fill="none" stroke="black" points="1480.5,-914 1597.5,-914 "/>
<text text-anchor="start" x="1488.5" y="-902" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; offset_</text>
<text text-anchor="start" x="1488.5" y="-891" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; num_rows_skipped_</text>
<text text-anchor="start" x="1488.5" y="-880" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; sort_exec_exprs_</text>
<text text-anchor="start" x="1488.5" y="-869" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; is_asc_order_</text>
<text text-anchor="start" x="1488.5" y="-858" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; nulls_first_</text>
<text text-anchor="start" x="1488.5" y="-847" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; materialized_tuple</text>
<text text-anchor="start" x="1488.5" y="-836" font-family="Helvetica,sans-Serif" font-size="10.00">_desc_</text>
<text text-anchor="start" x="1488.5" y="-825" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; tuple_row_less_than_</text>
<text text-anchor="start" x="1488.5" y="-814" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; priority_queue_</text>
<text text-anchor="start" x="1488.5" y="-803" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; sorted_top_n_</text>
<text text-anchor="start" x="1488.5" y="-792" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; get_next_iter_</text>
<text text-anchor="start" x="1488.5" y="-781" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; tuple_pool_</text>
<text text-anchor="start" x="1488.5" y="-770" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; tmp_tuple_</text>
<polyline fill="none" stroke="black" points="1480.5,-763 1597.5,-763 "/>
<text text-anchor="start" x="1488.5" y="-751" font-family="Helvetica,sans-Serif" font-size="10.00">+ TopNNode()</text>
<text text-anchor="start" x="1488.5" y="-740" font-family="Helvetica,sans-Serif" font-size="10.00">+ Init()</text>
<text text-anchor="start" x="1488.5" y="-729" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="1488.5" y="-718" font-family="Helvetica,sans-Serif" font-size="10.00">+ Open()</text>
<text text-anchor="start" x="1488.5" y="-707" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNext()</text>
<text text-anchor="start" x="1488.5" y="-696" font-family="Helvetica,sans-Serif" font-size="10.00">+ Reset()</text>
<text text-anchor="start" x="1488.5" y="-685" font-family="Helvetica,sans-Serif" font-size="10.00">+ Close()</text>
<text text-anchor="start" x="1488.5" y="-674" font-family="Helvetica,sans-Serif" font-size="10.00"># DebugString()</text>
<text text-anchor="start" x="1488.5" y="-663" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; InsertTupleRow()</text>
<text text-anchor="start" x="1488.5" y="-652" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; PrepareForOutput()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node17 -->
<g id="edge16" class="edge"><title>Node1&#45;&gt;Node17</title>
<path fill="none" stroke="midnightblue" d="M1003.93,-1371.91C1132.65,-1338.27 1352.58,-1261.48 1470,-1110 1508.74,-1060.03 1526.84,-993.057 1534.92,-933.298"/>
<polygon fill="none" stroke="midnightblue" points="1002.87,-1368.56 994.061,-1374.45 1004.62,-1375.34 1002.87,-1368.56"/>
</g>
<!-- Node18 -->
<g id="node18" class="node"><title>Node18</title>
<g id="a_node18"><a xlink:href="classimpala_1_1UnionNode.html" target="_top" xlink:title="{impala::UnionNode\n|&#45; tuple_id_\l&#45; tuple_desc_\l&#45; materialized_slots_\l&#45; const_result_expr_ctx\l_lists_\l&#45; const_result_expr_idx_\l&#45; result_expr_ctx_lists_\l&#45; child_idx_\l&#45; child_row_batch_\l&#45; child_eos_\l&#45; child_row_idx_\l|+ UnionNode()\l+ Init()\l+ Prepare()\l+ Open()\l+ GetNext()\l+ Reset()\l+ Close()\l&#45; OpenCurrentChild()\l&#45; EvalAndMaterializeExprs()\l}">
<polygon fill="white" stroke="black" points="1616,-661.5 1616,-916.5 1754,-916.5 1754,-661.5 1616,-661.5"/>
<text text-anchor="middle" x="1685" y="-904.5" font-family="Helvetica,sans-Serif" font-size="10.00">impala::UnionNode</text>
<polyline fill="none" stroke="black" points="1616,-897.5 1754,-897.5 "/>
<text text-anchor="start" x="1624" y="-885.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; tuple_id_</text>
<text text-anchor="start" x="1624" y="-874.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; tuple_desc_</text>
<text text-anchor="start" x="1624" y="-863.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; materialized_slots_</text>
<text text-anchor="start" x="1624" y="-852.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; const_result_expr_ctx</text>
<text text-anchor="start" x="1624" y="-841.5" font-family="Helvetica,sans-Serif" font-size="10.00">_lists_</text>
<text text-anchor="start" x="1624" y="-830.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; const_result_expr_idx_</text>
<text text-anchor="start" x="1624" y="-819.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; result_expr_ctx_lists_</text>
<text text-anchor="start" x="1624" y="-808.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; child_idx_</text>
<text text-anchor="start" x="1624" y="-797.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; child_row_batch_</text>
<text text-anchor="start" x="1624" y="-786.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; child_eos_</text>
<text text-anchor="start" x="1624" y="-775.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; child_row_idx_</text>
<polyline fill="none" stroke="black" points="1616,-768.5 1754,-768.5 "/>
<text text-anchor="start" x="1624" y="-756.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ UnionNode()</text>
<text text-anchor="start" x="1624" y="-745.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Init()</text>
<text text-anchor="start" x="1624" y="-734.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="1624" y="-723.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Open()</text>
<text text-anchor="start" x="1624" y="-712.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNext()</text>
<text text-anchor="start" x="1624" y="-701.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Reset()</text>
<text text-anchor="start" x="1624" y="-690.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Close()</text>
<text text-anchor="start" x="1624" y="-679.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; OpenCurrentChild()</text>
<text text-anchor="start" x="1624" y="-668.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; EvalAndMaterializeExprs()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node18 -->
<g id="edge17" class="edge"><title>Node1&#45;&gt;Node18</title>
<path fill="none" stroke="midnightblue" d="M1004.05,-1382.18C1157.59,-1358.72 1448.4,-1291.72 1606,-1110 1652.02,-1056.94 1672.07,-981.187 1680.48,-916.708"/>
<polygon fill="none" stroke="midnightblue" points="1003.51,-1378.72 994.137,-1383.67 1004.55,-1385.65 1003.51,-1378.72"/>
</g>
<!-- Node5 -->
<g id="node5" class="node"><title>Node5</title>
<g id="a_node5"><a xlink:href="classimpala_1_1CrossJoinNode.html" target="_top" xlink:title="{impala::CrossJoinNode\n|&#45; build_batch_pool_\l&#45; build_batches_\l&#45; current_build_row_\l|+ CrossJoinNode()\l+ Prepare()\l+ GetNext()\l+ Reset()\l+ Close()\l# InitGetNext()\l# ConstructBuildSide()\l&#45; ProcessLeftChildBatch()\l&#45; BuildListDebugString()\l}">
<polygon fill="white" stroke="black" points="216.5,-132.5 216.5,-299.5 345.5,-299.5 345.5,-132.5 216.5,-132.5"/>
<text text-anchor="middle" x="281" y="-287.5" font-family="Helvetica,sans-Serif" font-size="10.00">impala::CrossJoinNode</text>
<polyline fill="none" stroke="black" points="216.5,-280.5 345.5,-280.5 "/>
<text text-anchor="start" x="224.5" y="-268.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; build_batch_pool_</text>
<text text-anchor="start" x="224.5" y="-257.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; build_batches_</text>
<text text-anchor="start" x="224.5" y="-246.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; current_build_row_</text>
<polyline fill="none" stroke="black" points="216.5,-239.5 345.5,-239.5 "/>
<text text-anchor="start" x="224.5" y="-227.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CrossJoinNode()</text>
<text text-anchor="start" x="224.5" y="-216.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="224.5" y="-205.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNext()</text>
<text text-anchor="start" x="224.5" y="-194.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Reset()</text>
<text text-anchor="start" x="224.5" y="-183.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Close()</text>
<text text-anchor="start" x="224.5" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00"># InitGetNext()</text>
<text text-anchor="start" x="224.5" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ConstructBuildSide()</text>
<text text-anchor="start" x="224.5" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ProcessLeftChildBatch()</text>
<text text-anchor="start" x="224.5" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; BuildListDebugString()</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node5 -->
<g id="edge4" class="edge"><title>Node4&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M404.389,-618.11C393.025,-569.392 379.826,-516.377 366,-468 356.834,-435.929 330.782,-359.663 309.913,-299.557"/>
<polygon fill="none" stroke="midnightblue" points="401.041,-619.166 406.711,-628.115 407.86,-617.583 401.041,-619.166"/>
</g>
<!-- Node6 -->
<g id="node6" class="node"><title>Node6</title>
<g id="a_node6"><a xlink:href="classimpala_1_1HashJoinNode.html" target="_top" xlink:title="{impala::HashJoinNode\n|+ LLVM_CLASS_NAME\l&#45; hash_tbl_\l&#45; hash_tbl_iterator_\l&#45; probe_expr_ctxs_\l&#45; build_expr_ctxs_\l&#45; other_join_conjunct\l_ctxs_\l&#45; match_all_probe_\l&#45; match_one_build_\l&#45; match_all_build_\l&#45; codegen_process_build\l_batch_fn_\l&#45; process_build_batch_fn_\l&#45; process_probe_batch_fn_\l&#45; build_buckets_counter_\l&#45; hash_tbl_load_factor\l_counter_\l|+ HashJoinNode()\l+ Init()\l+ Prepare()\l+ GetNext()\l+ Reset()\l+ Close()\l# AddToDebugString()\l# InitGetNext()\l# ConstructBuildSide()\l&#45; LeftJoinGetNext()\l&#45; ProcessProbeBatch()\l&#45; ProcessBuildBatch()\l&#45; CodegenCreateOutputRow()\l&#45; CodegenProcessBuildBatch()\l&#45; CodegenProcessProbeBatch()\l}">
<polygon fill="white" stroke="black" points="363.5,-22.5 363.5,-409.5 518.5,-409.5 518.5,-22.5 363.5,-22.5"/>
<text text-anchor="middle" x="441" y="-397.5" font-family="Helvetica,sans-Serif" font-size="10.00">impala::HashJoinNode</text>
<polyline fill="none" stroke="black" points="363.5,-390.5 518.5,-390.5 "/>
<text text-anchor="start" x="371.5" y="-378.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LLVM_CLASS_NAME</text>
<text text-anchor="start" x="371.5" y="-367.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; hash_tbl_</text>
<text text-anchor="start" x="371.5" y="-356.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; hash_tbl_iterator_</text>
<text text-anchor="start" x="371.5" y="-345.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; probe_expr_ctxs_</text>
<text text-anchor="start" x="371.5" y="-334.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; build_expr_ctxs_</text>
<text text-anchor="start" x="371.5" y="-323.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; other_join_conjunct</text>
<text text-anchor="start" x="371.5" y="-312.5" font-family="Helvetica,sans-Serif" font-size="10.00">_ctxs_</text>
<text text-anchor="start" x="371.5" y="-301.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; match_all_probe_</text>
<text text-anchor="start" x="371.5" y="-290.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; match_one_build_</text>
<text text-anchor="start" x="371.5" y="-279.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; match_all_build_</text>
<text text-anchor="start" x="371.5" y="-268.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; codegen_process_build</text>
<text text-anchor="start" x="371.5" y="-257.5" font-family="Helvetica,sans-Serif" font-size="10.00">_batch_fn_</text>
<text text-anchor="start" x="371.5" y="-246.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; process_build_batch_fn_</text>
<text text-anchor="start" x="371.5" y="-235.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; process_probe_batch_fn_</text>
<text text-anchor="start" x="371.5" y="-224.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; build_buckets_counter_</text>
<text text-anchor="start" x="371.5" y="-213.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; hash_tbl_load_factor</text>
<text text-anchor="start" x="371.5" y="-202.5" font-family="Helvetica,sans-Serif" font-size="10.00">_counter_</text>
<polyline fill="none" stroke="black" points="363.5,-195.5 518.5,-195.5 "/>
<text text-anchor="start" x="371.5" y="-183.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HashJoinNode()</text>
<text text-anchor="start" x="371.5" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Init()</text>
<text text-anchor="start" x="371.5" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="371.5" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNext()</text>
<text text-anchor="start" x="371.5" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Reset()</text>
<text text-anchor="start" x="371.5" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Close()</text>
<text text-anchor="start" x="371.5" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AddToDebugString()</text>
<text text-anchor="start" x="371.5" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00"># InitGetNext()</text>
<text text-anchor="start" x="371.5" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ConstructBuildSide()</text>
<text text-anchor="start" x="371.5" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; LeftJoinGetNext()</text>
<text text-anchor="start" x="371.5" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ProcessProbeBatch()</text>
<text text-anchor="start" x="371.5" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ProcessBuildBatch()</text>
<text text-anchor="start" x="371.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; CodegenCreateOutputRow()</text>
<text text-anchor="start" x="371.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; CodegenProcessBuildBatch()</text>
<text text-anchor="start" x="371.5" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; CodegenProcessProbeBatch()</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node6 -->
<g id="edge5" class="edge"><title>Node4&#45;&gt;Node6</title>
<path fill="none" stroke="midnightblue" d="M441,-618.172C441,-552.631 441,-477.303 441,-409.748"/>
<polygon fill="none" stroke="midnightblue" points="437.5,-618.185 441,-628.185 444.5,-618.185 437.5,-618.185"/>
</g>
<!-- Node7 -->
<g id="node7" class="node"><title>Node7</title>
<g id="a_node7"><a xlink:href="classimpala_1_1PartitionedHashJoinNode.html" target="_top" xlink:title="{impala::PartitionedHashJoinNode\n|&#45; runtime_state_\l&#45; probe_expr_ctxs_\l&#45; build_expr_ctxs_\l&#45; other_join_conjunct\l_ctxs_\l&#45; using_small_buffers_\l&#45; state_\l&#45; status_\l&#45; block_mgr_client_\l&#45; ht_ctx_\l&#45; hash_tbl_iterator_\land 26 more...\l&#45; PARTITION_FANOUT\l&#45; NUM_PARTITIONING_BITS\l&#45; MAX_PARTITION_DEPTH\l&#45; MAX_IN_MEM_BUILD_TABLES\l|+ PartitionedHashJoinNode()\l+ Init()\l+ Prepare()\l+ GetNext()\l+ Reset()\l+ Close()\l# AddToDebugString()\l# InitGetNext()\l# ConstructBuildSide()\l&#45; AppendRow()\l&#45; AppendRowStreamFull()\l&#45; SpillPartition()\l&#45; ProcessBuildInput()\l&#45; ProcessBuildBatch()\l&#45; BuildHashTables()\l&#45; ProcessProbeBatch()\l&#45; ProcessProbeBatch()\l&#45; OutputUnmatchedBuild()\l&#45; PrepareNullAwarePartition()\land 20 more...\l}">
<polygon fill="white" stroke="black" points="536.5,-0.5 536.5,-431.5 703.5,-431.5 703.5,-0.5 536.5,-0.5"/>
<text text-anchor="middle" x="620" y="-419.5" font-family="Helvetica,sans-Serif" font-size="10.00">impala::PartitionedHashJoinNode</text>
<polyline fill="none" stroke="black" points="536.5,-412.5 703.5,-412.5 "/>
<text text-anchor="start" x="544.5" y="-400.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; runtime_state_</text>
<text text-anchor="start" x="544.5" y="-389.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; probe_expr_ctxs_</text>
<text text-anchor="start" x="544.5" y="-378.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; build_expr_ctxs_</text>
<text text-anchor="start" x="544.5" y="-367.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; other_join_conjunct</text>
<text text-anchor="start" x="544.5" y="-356.5" font-family="Helvetica,sans-Serif" font-size="10.00">_ctxs_</text>
<text text-anchor="start" x="544.5" y="-345.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; using_small_buffers_</text>
<text text-anchor="start" x="544.5" y="-334.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; state_</text>
<text text-anchor="start" x="544.5" y="-323.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; status_</text>
<text text-anchor="start" x="544.5" y="-312.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; block_mgr_client_</text>
<text text-anchor="start" x="544.5" y="-301.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ht_ctx_</text>
<text text-anchor="start" x="544.5" y="-290.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; hash_tbl_iterator_</text>
<text text-anchor="start" x="544.5" y="-279.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 26 more...</text>
<text text-anchor="start" x="544.5" y="-268.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; PARTITION_FANOUT</text>
<text text-anchor="start" x="544.5" y="-257.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; NUM_PARTITIONING_BITS</text>
<text text-anchor="start" x="544.5" y="-246.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; MAX_PARTITION_DEPTH</text>
<text text-anchor="start" x="544.5" y="-235.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; MAX_IN_MEM_BUILD_TABLES</text>
<polyline fill="none" stroke="black" points="536.5,-228.5 703.5,-228.5 "/>
<text text-anchor="start" x="544.5" y="-216.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PartitionedHashJoinNode()</text>
<text text-anchor="start" x="544.5" y="-205.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Init()</text>
<text text-anchor="start" x="544.5" y="-194.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="544.5" y="-183.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNext()</text>
<text text-anchor="start" x="544.5" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Reset()</text>
<text text-anchor="start" x="544.5" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Close()</text>
<text text-anchor="start" x="544.5" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AddToDebugString()</text>
<text text-anchor="start" x="544.5" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00"># InitGetNext()</text>
<text text-anchor="start" x="544.5" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ConstructBuildSide()</text>
<text text-anchor="start" x="544.5" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; AppendRow()</text>
<text text-anchor="start" x="544.5" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; AppendRowStreamFull()</text>
<text text-anchor="start" x="544.5" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; SpillPartition()</text>
<text text-anchor="start" x="544.5" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ProcessBuildInput()</text>
<text text-anchor="start" x="544.5" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ProcessBuildBatch()</text>
<text text-anchor="start" x="544.5" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; BuildHashTables()</text>
<text text-anchor="start" x="544.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ProcessProbeBatch()</text>
<text text-anchor="start" x="544.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ProcessProbeBatch()</text>
<text text-anchor="start" x="544.5" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; OutputUnmatchedBuild()</text>
<text text-anchor="start" x="544.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; PrepareNullAwarePartition()</text>
<text text-anchor="start" x="544.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 20 more...</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node7 -->
<g id="edge6" class="edge"><title>Node4&#45;&gt;Node7</title>
<path fill="none" stroke="midnightblue" d="M475.303,-618.567C486.68,-569.539 500.465,-516.247 516,-468 522.144,-448.918 529.115,-429.254 536.468,-409.727"/>
<polygon fill="none" stroke="midnightblue" points="471.892,-617.783 473.059,-628.313 478.713,-619.353 471.892,-617.783"/>
</g>
<!-- Node12 -->
<g id="node12" class="node"><title>Node12</title>
<g id="a_node12"><a xlink:href="classimpala_1_1DataSourceScanNode.html" target="_top" xlink:title="{impala::DataSourceScanNode\n|&#45; data_source_executor_\l&#45; data_src_node_\l&#45; tuple_desc_\l&#45; tuple_idx_\l&#45; tuple_\l&#45; materialized_slots_\l&#45; scan_handle_\l&#45; input_batch_\l&#45; num_rows_\l&#45; next_row_idx_\l&#45; cols_next_val_idx_\l|+ DataSourceScanNode()\l+ ~DataSourceScanNode()\l+ Prepare()\l+ Open()\l+ GetNext()\l+ Reset()\l+ Close()\l# DebugString()\l&#45; MaterializeNextRow()\l&#45; GetNextInputBatch()\l&#45; ValidateRowBatchSize()\l&#45; InputBatchHasNext()\l}">
<polygon fill="white" stroke="black" points="872.5,-72 872.5,-360 1021.5,-360 1021.5,-72 872.5,-72"/>
<text text-anchor="middle" x="947" y="-348" font-family="Helvetica,sans-Serif" font-size="10.00">impala::DataSourceScanNode</text>
<polyline fill="none" stroke="black" points="872.5,-341 1021.5,-341 "/>
<text text-anchor="start" x="880.5" y="-329" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; data_source_executor_</text>
<text text-anchor="start" x="880.5" y="-318" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; data_src_node_</text>
<text text-anchor="start" x="880.5" y="-307" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; tuple_desc_</text>
<text text-anchor="start" x="880.5" y="-296" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; tuple_idx_</text>
<text text-anchor="start" x="880.5" y="-285" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; tuple_</text>
<text text-anchor="start" x="880.5" y="-274" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; materialized_slots_</text>
<text text-anchor="start" x="880.5" y="-263" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; scan_handle_</text>
<text text-anchor="start" x="880.5" y="-252" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; input_batch_</text>
<text text-anchor="start" x="880.5" y="-241" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; num_rows_</text>
<text text-anchor="start" x="880.5" y="-230" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; next_row_idx_</text>
<text text-anchor="start" x="880.5" y="-219" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; cols_next_val_idx_</text>
<polyline fill="none" stroke="black" points="872.5,-212 1021.5,-212 "/>
<text text-anchor="start" x="880.5" y="-200" font-family="Helvetica,sans-Serif" font-size="10.00">+ DataSourceScanNode()</text>
<text text-anchor="start" x="880.5" y="-189" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~DataSourceScanNode()</text>
<text text-anchor="start" x="880.5" y="-178" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="880.5" y="-167" font-family="Helvetica,sans-Serif" font-size="10.00">+ Open()</text>
<text text-anchor="start" x="880.5" y="-156" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNext()</text>
<text text-anchor="start" x="880.5" y="-145" font-family="Helvetica,sans-Serif" font-size="10.00">+ Reset()</text>
<text text-anchor="start" x="880.5" y="-134" font-family="Helvetica,sans-Serif" font-size="10.00">+ Close()</text>
<text text-anchor="start" x="880.5" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00"># DebugString()</text>
<text text-anchor="start" x="880.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; MaterializeNextRow()</text>
<text text-anchor="start" x="880.5" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; GetNextInputBatch()</text>
<text text-anchor="start" x="880.5" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ValidateRowBatchSize()</text>
<text text-anchor="start" x="880.5" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; InputBatchHasNext()</text>
</a>
</g>
</g>
<!-- Node11&#45;&gt;Node12 -->
<g id="edge11" class="edge"><title>Node11&#45;&gt;Node12</title>
<path fill="none" stroke="midnightblue" d="M1016.07,-458.947C1006.22,-424.458 996.625,-390.838 987.868,-360.164"/>
<polygon fill="none" stroke="midnightblue" points="1012.74,-460.04 1018.85,-468.695 1019.47,-458.119 1012.74,-460.04"/>
</g>
<!-- Node13 -->
<g id="node13" class="node"><title>Node13</title>
<g id="a_node13"><a xlink:href="classimpala_1_1HBaseScanNode.html" target="_top" xlink:title="{impala::HBaseScanNode\n|&#45; table_name_\l&#45; tuple_id_\l&#45; tuple_desc_\l&#45; tuple_idx_\l&#45; scan_range_vector_\l&#45; filters_\l&#45; num_errors_\l&#45; tuple_pool_\l&#45; hbase_scanner_\l&#45; sorted_non_key_slots_\land 7 more...\l&#45; SKIP_COLUMN\l&#45; ROW_KEY\l|+ HBaseScanNode()\l+ ~HBaseScanNode()\l+ Prepare()\l+ Open()\l+ GetNext()\l+ Reset()\l+ Close()\l+ suggested_max_caching()\l# DebugString()\l&#45; WriteTextSlot()\l&#45; CmpColPos()\l}">
<polygon fill="white" stroke="black" points="1040,-66.5 1040,-365.5 1180,-365.5 1180,-66.5 1040,-66.5"/>
<text text-anchor="middle" x="1110" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00">impala::HBaseScanNode</text>
<polyline fill="none" stroke="black" points="1040,-346.5 1180,-346.5 "/>
<text text-anchor="start" x="1048" y="-334.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; table_name_</text>
<text text-anchor="start" x="1048" y="-323.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; tuple_id_</text>
<text text-anchor="start" x="1048" y="-312.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; tuple_desc_</text>
<text text-anchor="start" x="1048" y="-301.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; tuple_idx_</text>
<text text-anchor="start" x="1048" y="-290.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; scan_range_vector_</text>
<text text-anchor="start" x="1048" y="-279.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; filters_</text>
<text text-anchor="start" x="1048" y="-268.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; num_errors_</text>
<text text-anchor="start" x="1048" y="-257.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; tuple_pool_</text>
<text text-anchor="start" x="1048" y="-246.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; hbase_scanner_</text>
<text text-anchor="start" x="1048" y="-235.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; sorted_non_key_slots_</text>
<text text-anchor="start" x="1048" y="-224.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 7 more...</text>
<text text-anchor="start" x="1048" y="-213.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; SKIP_COLUMN</text>
<text text-anchor="start" x="1048" y="-202.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ROW_KEY</text>
<polyline fill="none" stroke="black" points="1040,-195.5 1180,-195.5 "/>
<text text-anchor="start" x="1048" y="-183.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HBaseScanNode()</text>
<text text-anchor="start" x="1048" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~HBaseScanNode()</text>
<text text-anchor="start" x="1048" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="1048" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Open()</text>
<text text-anchor="start" x="1048" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNext()</text>
<text text-anchor="start" x="1048" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Reset()</text>
<text text-anchor="start" x="1048" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Close()</text>
<text text-anchor="start" x="1048" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ suggested_max_caching()</text>
<text text-anchor="start" x="1048" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00"># DebugString()</text>
<text text-anchor="start" x="1048" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; WriteTextSlot()</text>
<text text-anchor="start" x="1048" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; CmpColPos()</text>
</a>
</g>
</g>
<!-- Node11&#45;&gt;Node13 -->
<g id="edge12" class="edge"><title>Node11&#45;&gt;Node13</title>
<path fill="none" stroke="midnightblue" d="M1110,-458.634C1110,-426.287 1110,-394.71 1110,-365.618"/>
<polygon fill="none" stroke="midnightblue" points="1106.5,-458.695 1110,-468.695 1113.5,-458.695 1106.5,-458.695"/>
</g>
<!-- Node14 -->
<g id="node14" class="node"><title>Node14</title>
<g id="a_node14"><a xlink:href="classimpala_1_1HdfsScanNode.html" target="_top" xlink:title="{impala::HdfsScanNode\n|+ SKIP_COLUMN\l+ HDFS_SPLIT_STATS_DESC\l&#45; thrift_plan_node_\l&#45; runtime_state_\l&#45; tuple_id_\l&#45; reader_context_\l&#45; tuple_desc_\l&#45; hdfs_table_\l&#45; unknown_disk_id_warned_\l&#45; partition_ids_\l&#45; file_descs_\l&#45; per_type_files_\land 36 more...\l|+ HdfsScanNode()\l+ ~HdfsScanNode()\l+ Prepare()\l+ Open()\l+ GetNext()\l+ Reset()\l+ Close()\l+ limit()\l+ materialized_slots()\l+ tuple_idx()\land 27 more...\l+ UpdateHdfsSplitStats()\l+ PrintHdfsSplitStats()\l&#45; ThreadTokenAvailableCb()\l&#45; CreateAndPrepareScanner()\l&#45; ScannerThread()\l&#45; EnoughMemoryForScannerThread()\l&#45; GetNextInternal()\l&#45; SetDone()\l&#45; StopAndFinalizeCounters()\l}">
<polygon fill="white" stroke="black" points="1198.5,-17 1198.5,-415 1375.5,-415 1375.5,-17 1198.5,-17"/>
<text text-anchor="middle" x="1287" y="-403" font-family="Helvetica,sans-Serif" font-size="10.00">impala::HdfsScanNode</text>
<polyline fill="none" stroke="black" points="1198.5,-396 1375.5,-396 "/>
<text text-anchor="start" x="1206.5" y="-384" font-family="Helvetica,sans-Serif" font-size="10.00">+ SKIP_COLUMN</text>
<text text-anchor="start" x="1206.5" y="-373" font-family="Helvetica,sans-Serif" font-size="10.00">+ HDFS_SPLIT_STATS_DESC</text>
<text text-anchor="start" x="1206.5" y="-362" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; thrift_plan_node_</text>
<text text-anchor="start" x="1206.5" y="-351" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; runtime_state_</text>
<text text-anchor="start" x="1206.5" y="-340" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; tuple_id_</text>
<text text-anchor="start" x="1206.5" y="-329" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; reader_context_</text>
<text text-anchor="start" x="1206.5" y="-318" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; tuple_desc_</text>
<text text-anchor="start" x="1206.5" y="-307" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; hdfs_table_</text>
<text text-anchor="start" x="1206.5" y="-296" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; unknown_disk_id_warned_</text>
<text text-anchor="start" x="1206.5" y="-285" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; partition_ids_</text>
<text text-anchor="start" x="1206.5" y="-274" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; file_descs_</text>
<text text-anchor="start" x="1206.5" y="-263" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; per_type_files_</text>
<text text-anchor="start" x="1206.5" y="-252" font-family="Helvetica,sans-Serif" font-size="10.00">and 36 more...</text>
<polyline fill="none" stroke="black" points="1198.5,-245 1375.5,-245 "/>
<text text-anchor="start" x="1206.5" y="-233" font-family="Helvetica,sans-Serif" font-size="10.00">+ HdfsScanNode()</text>
<text text-anchor="start" x="1206.5" y="-222" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~HdfsScanNode()</text>
<text text-anchor="start" x="1206.5" y="-211" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="1206.5" y="-200" font-family="Helvetica,sans-Serif" font-size="10.00">+ Open()</text>
<text text-anchor="start" x="1206.5" y="-189" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNext()</text>
<text text-anchor="start" x="1206.5" y="-178" font-family="Helvetica,sans-Serif" font-size="10.00">+ Reset()</text>
<text text-anchor="start" x="1206.5" y="-167" font-family="Helvetica,sans-Serif" font-size="10.00">+ Close()</text>
<text text-anchor="start" x="1206.5" y="-156" font-family="Helvetica,sans-Serif" font-size="10.00">+ limit()</text>
<text text-anchor="start" x="1206.5" y="-145" font-family="Helvetica,sans-Serif" font-size="10.00">+ materialized_slots()</text>
<text text-anchor="start" x="1206.5" y="-134" font-family="Helvetica,sans-Serif" font-size="10.00">+ tuple_idx()</text>
<text text-anchor="start" x="1206.5" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">and 27 more...</text>
<text text-anchor="start" x="1206.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+ UpdateHdfsSplitStats()</text>
<text text-anchor="start" x="1206.5" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrintHdfsSplitStats()</text>
<text text-anchor="start" x="1206.5" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ThreadTokenAvailableCb()</text>
<text text-anchor="start" x="1206.5" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; CreateAndPrepareScanner()</text>
<text text-anchor="start" x="1206.5" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ScannerThread()</text>
<text text-anchor="start" x="1206.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; EnoughMemoryForScannerThread()</text>
<text text-anchor="start" x="1206.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; GetNextInternal()</text>
<text text-anchor="start" x="1206.5" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; SetDone()</text>
<text text-anchor="start" x="1206.5" y="-24" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; StopAndFinalizeCounters()</text>
</a>
</g>
</g>
<!-- Node11&#45;&gt;Node14 -->
<g id="edge13" class="edge"><title>Node11&#45;&gt;Node14</title>
<path fill="none" stroke="midnightblue" d="M1212,-458.95C1216.59,-444.151 1221.12,-429.513 1225.56,-415.199"/>
<polygon fill="none" stroke="midnightblue" points="1208.6,-458.107 1208.98,-468.695 1215.28,-460.18 1208.6,-458.107"/>
</g>
</g>
</svg>