blob: 90b4514fa7e4791f1816842e576872736adce372 [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: impala::AggregationNode Pages: 1 -->
<!--zoomable 898 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<style type="text/css"><![CDATA[
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="text/javascript"><![CDATA[
var edges = document.getElementsByTagName('g');
if (edges && edges.length) {
for (var i=0;i<edges.length;i++) {
if (edges[i].id.substr(0,4)=='edge') {
edges[i].setAttribute('class','edge');
}
}
}
]]></script>
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
</use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
</use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="dirArrow">
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040">
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
</use>
</g>
</defs>
<script type="text/javascript">
var viewWidth = 190;
var viewHeight = 898;
var sectionId = 'dynsection-0';
</script>
<script xlink:href="svgpan.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>impala::AggregationNode</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-894 186,-894 186,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="6,-1 6,-355 176,-355 176,-1 6,-1"/>
<text text-anchor="middle" x="91" y="-343" font-family="Helvetica,sans-Serif" font-size="10.00">impala::AggregationNode</text>
<polyline fill="none" stroke="black" points="6,-336 176,-336 "/>
<text text-anchor="start" x="14" y="-324" font-family="Helvetica,sans-Serif" font-size="10.00">+ LLVM_CLASS_NAME</text>
<text text-anchor="start" x="14" y="-313" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; hash_tbl_</text>
<text text-anchor="start" x="14" y="-302" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; output_iterator_</text>
<text text-anchor="start" x="14" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; aggregate_evaluators_</text>
<text text-anchor="start" x="14" y="-280" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; agg_fn_ctxs_</text>
<text text-anchor="start" x="14" y="-269" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; agg_fn_pool_</text>
<text text-anchor="start" x="14" y="-258" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; probe_expr_ctxs_</text>
<text text-anchor="start" x="14" y="-247" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; build_expr_ctxs_</text>
<text text-anchor="start" x="14" y="-236" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; intermediate_tuple_id_</text>
<text text-anchor="start" x="14" y="-225" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; intermediate_tuple</text>
<text text-anchor="start" x="14" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00">_desc_</text>
<text text-anchor="start" x="14" y="-203" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; output_tuple_id_</text>
<text text-anchor="start" x="14" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">and 10 more...</text>
<polyline fill="none" stroke="black" points="6,-185 176,-185 "/>
<text text-anchor="start" x="14" y="-173" font-family="Helvetica,sans-Serif" font-size="10.00">+ AggregationNode()</text>
<text text-anchor="start" x="14" y="-162" font-family="Helvetica,sans-Serif" font-size="10.00">+ Init()</text>
<text text-anchor="start" x="14" y="-151" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="14" y="-140" font-family="Helvetica,sans-Serif" font-size="10.00">+ Open()</text>
<text text-anchor="start" x="14" y="-129" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNext()</text>
<text text-anchor="start" x="14" y="-118" font-family="Helvetica,sans-Serif" font-size="10.00">+ Reset()</text>
<text text-anchor="start" x="14" y="-107" font-family="Helvetica,sans-Serif" font-size="10.00">+ Close()</text>
<text text-anchor="start" x="14" y="-96" font-family="Helvetica,sans-Serif" font-size="10.00"># DebugString()</text>
<text text-anchor="start" x="14" y="-85" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ConstructIntermediateTuple()</text>
<text text-anchor="start" x="14" y="-74" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; UpdateTuple()</text>
<text text-anchor="start" x="14" y="-63" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; FinalizeTuple()</text>
<text text-anchor="start" x="14" y="-52" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ProcessRowBatchNoGrouping()</text>
<text text-anchor="start" x="14" y="-41" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ProcessRowBatchWithGrouping()</text>
<text text-anchor="start" x="14" y="-30" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; CodegenProcessRowBatch()</text>
<text text-anchor="start" x="14" y="-19" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; CodegenUpdateSlot()</text>
<text text-anchor="start" x="14" y="-8" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; CodegenUpdateTuple()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="classimpala_1_1ExecNode.html" target="_top" xlink:title="{impala::ExecNode\n|+ ROW_THROUGHPUT_COUNTER\l# id_\l# type_\l# pool_\l# conjunct_ctxs_\l# children_\l# row_descriptor_\l# debug_phase_\l# debug_action_\l# limit_\l# num_rows_returned_\land 7 more...\l&#45; is_closed_\l&#45; expr_ctxs_to_free_\l|+ ExecNode()\l+ ~ExecNode()\l+ Init()\l+ Prepare()\l+ Open()\l+ GetNext()\l+ Reset()\l+ Close()\l+ CollectNodes()\l+ CollectScanNodes()\land 12 more...\l+ CreateTree()\l+ SetDebugOptions()\l+ EvalConjuncts()\l+ CodegenEvalConjuncts()\l+ GetNodeIdFromProfile()\l# child()\l# is_closed()\l# IsScanNode()\l# InitRuntimeProfile()\l# ExecDebugAction()\l# AddRuntimeExecOption()\l# QueryMaintenance()\l# AddExprCtxToFree()\l# AddExprCtxsToFree()\l# AddExprCtxsToFree()\l# CreateNode()\l# CreateTreeHelper()\l}">
<polygon fill="white" stroke="black" points="0,-392.5 0,-889.5 182,-889.5 182,-392.5 0,-392.5"/>
<text text-anchor="middle" x="91" y="-877.5" font-family="Helvetica,sans-Serif" font-size="10.00">impala::ExecNode</text>
<polyline fill="none" stroke="black" points="0,-870.5 182,-870.5 "/>
<text text-anchor="start" x="8" y="-858.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ROW_THROUGHPUT_COUNTER</text>
<text text-anchor="start" x="8" y="-847.5" font-family="Helvetica,sans-Serif" font-size="10.00"># id_</text>
<text text-anchor="start" x="8" y="-836.5" font-family="Helvetica,sans-Serif" font-size="10.00"># type_</text>
<text text-anchor="start" x="8" y="-825.5" font-family="Helvetica,sans-Serif" font-size="10.00"># pool_</text>
<text text-anchor="start" x="8" y="-814.5" font-family="Helvetica,sans-Serif" font-size="10.00"># conjunct_ctxs_</text>
<text text-anchor="start" x="8" y="-803.5" font-family="Helvetica,sans-Serif" font-size="10.00"># children_</text>
<text text-anchor="start" x="8" y="-792.5" font-family="Helvetica,sans-Serif" font-size="10.00"># row_descriptor_</text>
<text text-anchor="start" x="8" y="-781.5" font-family="Helvetica,sans-Serif" font-size="10.00"># debug_phase_</text>
<text text-anchor="start" x="8" y="-770.5" font-family="Helvetica,sans-Serif" font-size="10.00"># debug_action_</text>
<text text-anchor="start" x="8" y="-759.5" font-family="Helvetica,sans-Serif" font-size="10.00"># limit_</text>
<text text-anchor="start" x="8" y="-748.5" font-family="Helvetica,sans-Serif" font-size="10.00"># num_rows_returned_</text>
<text text-anchor="start" x="8" y="-737.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 7 more...</text>
<text text-anchor="start" x="8" y="-726.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; is_closed_</text>
<text text-anchor="start" x="8" y="-715.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; expr_ctxs_to_free_</text>
<polyline fill="none" stroke="black" points="0,-708.5 182,-708.5 "/>
<text text-anchor="start" x="8" y="-696.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ExecNode()</text>
<text text-anchor="start" x="8" y="-685.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~ExecNode()</text>
<text text-anchor="start" x="8" y="-674.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Init()</text>
<text text-anchor="start" x="8" y="-663.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="8" y="-652.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Open()</text>
<text text-anchor="start" x="8" y="-641.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNext()</text>
<text text-anchor="start" x="8" y="-630.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Reset()</text>
<text text-anchor="start" x="8" y="-619.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Close()</text>
<text text-anchor="start" x="8" y="-608.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CollectNodes()</text>
<text text-anchor="start" x="8" y="-597.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CollectScanNodes()</text>
<text text-anchor="start" x="8" y="-586.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 12 more...</text>
<text text-anchor="start" x="8" y="-575.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CreateTree()</text>
<text text-anchor="start" x="8" y="-564.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetDebugOptions()</text>
<text text-anchor="start" x="8" y="-553.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ EvalConjuncts()</text>
<text text-anchor="start" x="8" y="-542.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CodegenEvalConjuncts()</text>
<text text-anchor="start" x="8" y="-531.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNodeIdFromProfile()</text>
<text text-anchor="start" x="8" y="-520.5" font-family="Helvetica,sans-Serif" font-size="10.00"># child()</text>
<text text-anchor="start" x="8" y="-509.5" font-family="Helvetica,sans-Serif" font-size="10.00"># is_closed()</text>
<text text-anchor="start" x="8" y="-498.5" font-family="Helvetica,sans-Serif" font-size="10.00"># IsScanNode()</text>
<text text-anchor="start" x="8" y="-487.5" font-family="Helvetica,sans-Serif" font-size="10.00"># InitRuntimeProfile()</text>
<text text-anchor="start" x="8" y="-476.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ExecDebugAction()</text>
<text text-anchor="start" x="8" y="-465.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AddRuntimeExecOption()</text>
<text text-anchor="start" x="8" y="-454.5" font-family="Helvetica,sans-Serif" font-size="10.00"># QueryMaintenance()</text>
<text text-anchor="start" x="8" y="-443.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AddExprCtxToFree()</text>
<text text-anchor="start" x="8" y="-432.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AddExprCtxsToFree()</text>
<text text-anchor="start" x="8" y="-421.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AddExprCtxsToFree()</text>
<text text-anchor="start" x="8" y="-410.5" font-family="Helvetica,sans-Serif" font-size="10.00"># CreateNode()</text>
<text text-anchor="start" x="8" y="-399.5" font-family="Helvetica,sans-Serif" font-size="10.00"># CreateTreeHelper()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node1 -->
<g id="edge1" class="edge"><title>Node2&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M91,-382.074C91,-373.04 91,-364.064 91,-355.201"/>
<polygon fill="none" stroke="midnightblue" points="87.5001,-382.294 91,-392.294 94.5001,-382.294 87.5001,-382.294"/>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="classimpala_1_1AggregationNode__inherit__graph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
</svg>