simple-group-by.svg 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2. <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  3. "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  4. <!-- Generated by graphviz version 2.43.0 (0)
  5. -->
  6. <!-- Title: G Pages: 1 -->
  7. <svg width="820pt" height="605pt"
  8. viewBox="0.00 0.00 820.00 605.38" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  9. <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 601.38)">
  10. <title>G</title>
  11. <polygon fill="white" stroke="transparent" points="-4,4 -4,-601.38 816,-601.38 816,4 -4,4"/>
  12. <text text-anchor="middle" x="171.5" y="-7.8" font-family="Times,serif" font-size="14.00">select f1 from t group by f1; (before rewrites)</text>
  13. <g id="clust1" class="cluster">
  14. <title>cluster3</title>
  15. <polygon fill="none" stroke="black" points="398,-476.29 398,-589.38 804,-589.38 804,-476.29 398,-476.29"/>
  16. <text text-anchor="middle" x="448.5" y="-574.18" font-family="Times,serif" font-size="14.00">Box3:Select</text>
  17. </g>
  18. <g id="clust3" class="cluster">
  19. <title>cluster2</title>
  20. <polygon fill="none" stroke="black" points="194,-336.29 194,-468.29 600,-468.29 600,-336.29 194,-336.29"/>
  21. <text text-anchor="middle" x="256" y="-453.09" font-family="Times,serif" font-size="14.00">Box2:Grouping</text>
  22. </g>
  23. <g id="clust5" class="cluster">
  24. <title>cluster0</title>
  25. <polygon fill="none" stroke="black" points="22,-171 22,-328.29 320,-328.29 320,-171 22,-171"/>
  26. <text text-anchor="middle" x="72.5" y="-313.09" font-family="Times,serif" font-size="14.00">Box0:Select</text>
  27. </g>
  28. <g id="clust7" class="cluster">
  29. <title>cluster1</title>
  30. <polygon fill="none" stroke="black" points="8,-31 8,-163 170,-163 170,-31 8,-31"/>
  31. <text text-anchor="middle" x="79.5" y="-147.8" font-family="Times,serif" font-size="14.00">Box1:BaseTable T</text>
  32. </g>
  33. <!-- boxhead3 -->
  34. <g id="node1" class="node">
  35. <title>boxhead3</title>
  36. <polygon fill="none" stroke="black" points="498.5,-486.84 498.5,-555.84 795.5,-555.84 795.5,-486.84 498.5,-486.84"/>
  37. <text text-anchor="middle" x="647" y="-540.64" font-family="Times,serif" font-size="14.00">Distinct: Preserve</text>
  38. <polyline fill="none" stroke="black" points="498.5,-532.84 795.5,-532.84 "/>
  39. <text text-anchor="middle" x="647" y="-517.64" font-family="Times,serif" font-size="14.00">0: Q2.c0 as F1</text>
  40. <polyline fill="none" stroke="black" points="498.5,-509.84 795.5,-509.84 "/>
  41. <text text-anchor="middle" x="647" y="-494.64" font-family="Times,serif" font-size="14.00">UNIQUE KEY [0]</text>
  42. </g>
  43. <!-- Q2 -->
  44. <g id="node2" class="node">
  45. <title>Q2</title>
  46. <ellipse fill="none" stroke="black" cx="443" cy="-521.34" rx="37.09" ry="37.09"/>
  47. <text text-anchor="middle" x="443" y="-517.64" font-family="Times,serif" font-size="14.00">Q2(F)</text>
  48. </g>
  49. <!-- boxhead2 -->
  50. <g id="node3" class="node">
  51. <title>boxhead2</title>
  52. <polygon fill="none" stroke="black" points="294.5,-344.79 294.5,-436.79 591.5,-436.79 591.5,-344.79 294.5,-344.79"/>
  53. <text text-anchor="middle" x="443" y="-421.59" font-family="Times,serif" font-size="14.00">Distinct: Preserve</text>
  54. <polyline fill="none" stroke="black" points="294.5,-413.79 591.5,-413.79 "/>
  55. <text text-anchor="middle" x="443" y="-398.59" font-family="Times,serif" font-size="14.00">0: Q1.c0 as F1</text>
  56. <polyline fill="none" stroke="black" points="294.5,-390.79 591.5,-390.79 "/>
  57. <text text-anchor="middle" x="443" y="-375.59" font-family="Times,serif" font-size="14.00">GROUP Q1.c0 Ascending</text>
  58. <polyline fill="none" stroke="black" points="294.5,-367.79 591.5,-367.79 "/>
  59. <text text-anchor="middle" x="443" y="-352.59" font-family="Times,serif" font-size="14.00">UNIQUE KEY [0]</text>
  60. </g>
  61. <!-- Q2&#45;&gt;boxhead2 -->
  62. <g id="edge1" class="edge">
  63. <title>Q2&#45;&gt;boxhead2</title>
  64. <path fill="none" stroke="black" stroke-dasharray="5,2" d="M443,-484.19C443,-479.12 443,-473.77 443,-468.29"/>
  65. </g>
  66. <!-- Q1 -->
  67. <g id="node4" class="node">
  68. <title>Q1</title>
  69. <ellipse fill="none" stroke="black" cx="239" cy="-390.79" rx="37.09" ry="37.09"/>
  70. <text text-anchor="middle" x="239" y="-387.09" font-family="Times,serif" font-size="14.00">Q1(F)</text>
  71. </g>
  72. <!-- boxhead0 -->
  73. <g id="node5" class="node">
  74. <title>boxhead0</title>
  75. <polygon fill="none" stroke="black" points="166,-192.14 166,-284.14 312,-284.14 312,-192.14 166,-192.14"/>
  76. <text text-anchor="middle" x="239" y="-268.94" font-family="Times,serif" font-size="14.00">Distinct: Preserve</text>
  77. <polyline fill="none" stroke="black" points="166,-261.14 312,-261.14 "/>
  78. <text text-anchor="middle" x="239" y="-245.94" font-family="Times,serif" font-size="14.00">0: Q0.c0 as F1</text>
  79. <polyline fill="none" stroke="black" points="166,-238.14 312,-238.14 "/>
  80. <text text-anchor="middle" x="239" y="-222.94" font-family="Times,serif" font-size="14.00">1: Q0.c1 as F2</text>
  81. <polyline fill="none" stroke="black" points="166,-215.14 312,-215.14 "/>
  82. <text text-anchor="middle" x="239" y="-199.94" font-family="Times,serif" font-size="14.00">2: Q0.c2 as F3</text>
  83. </g>
  84. <!-- Q1&#45;&gt;boxhead0 -->
  85. <g id="edge2" class="edge">
  86. <title>Q1&#45;&gt;boxhead0</title>
  87. <path fill="none" stroke="black" stroke-dasharray="5,2" d="M239,-353.71C239,-345.85 239,-337.2 239,-328.29"/>
  88. </g>
  89. <!-- Q0 -->
  90. <g id="node6" class="node">
  91. <title>Q0</title>
  92. <ellipse fill="none" stroke="black" cx="89" cy="-238.14" rx="59.29" ry="59.29"/>
  93. <text text-anchor="middle" x="89" y="-234.44" font-family="Times,serif" font-size="14.00">Q0(F) as T</text>
  94. </g>
  95. <!-- boxhead1 -->
  96. <g id="node7" class="node">
  97. <title>boxhead1</title>
  98. <polygon fill="none" stroke="black" points="16,-39.5 16,-131.5 162,-131.5 162,-39.5 16,-39.5"/>
  99. <text text-anchor="middle" x="89" y="-116.3" font-family="Times,serif" font-size="14.00">Distinct: Preserve</text>
  100. <polyline fill="none" stroke="black" points="16,-108.5 162,-108.5 "/>
  101. <text text-anchor="middle" x="89" y="-93.3" font-family="Times,serif" font-size="14.00">0: c0 as F1</text>
  102. <polyline fill="none" stroke="black" points="16,-85.5 162,-85.5 "/>
  103. <text text-anchor="middle" x="89" y="-70.3" font-family="Times,serif" font-size="14.00">1: c1 as F2</text>
  104. <polyline fill="none" stroke="black" points="16,-62.5 162,-62.5 "/>
  105. <text text-anchor="middle" x="89" y="-47.3" font-family="Times,serif" font-size="14.00">2: c2 as F3</text>
  106. </g>
  107. <!-- Q0&#45;&gt;boxhead1 -->
  108. <g id="edge3" class="edge">
  109. <title>Q0&#45;&gt;boxhead1</title>
  110. <path fill="none" stroke="black" stroke-dasharray="5,2" d="M89,-178.9C89,-173.68 89,-168.34 89,-163"/>
  111. </g>
  112. </g>
  113. </svg>