123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- <?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.43.0 (0)
- -->
- <!-- Title: G Pages: 1 -->
- <svg width="875pt" height="636pt"
- viewBox="0.00 0.00 875.00 635.99" 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 631.99)">
- <title>G</title>
- <polygon fill="white" stroke="transparent" points="-4,4 -4,-631.99 871,-631.99 871,4 -4,4"/>
- <text text-anchor="middle" x="208.5" y="-7.8" font-family="Times,serif" font-size="14.00">select * from t1 union select * from t2; (before rewrites)</text>
- <g id="clust1" class="cluster">
- <title>cluster0</title>
- <polygon fill="none" stroke="black" points="605,-487.99 605,-619.99 859,-619.99 859,-487.99 605,-487.99"/>
- <text text-anchor="middle" x="655.5" y="-604.79" font-family="Times,serif" font-size="14.00">Box0:Select</text>
- </g>
- <g id="clust3" class="cluster">
- <title>cluster5</title>
- <polygon fill="none" stroke="black" points="313,-347.99 313,-479.99 802,-479.99 802,-347.99 313,-347.99"/>
- <text text-anchor="middle" x="363" y="-464.79" font-family="Times,serif" font-size="14.00">Box5:Union</text>
- </g>
- <g id="clust5" class="cluster">
- <title>cluster3</title>
- <polygon fill="none" stroke="black" points="334,-171 334,-339.99 644,-339.99 644,-171 334,-171"/>
- <text text-anchor="middle" x="384.5" y="-324.79" font-family="Times,serif" font-size="14.00">Box3:Select</text>
- </g>
- <g id="clust7" class="cluster">
- <title>cluster4</title>
- <polygon fill="none" stroke="black" points="326,-31 326,-163 488,-163 488,-31 326,-31"/>
- <text text-anchor="middle" x="402" y="-147.8" font-family="Times,serif" font-size="14.00">Box4:BaseTable T2</text>
- </g>
- <g id="clust9" class="cluster">
- <title>cluster1</title>
- <polygon fill="none" stroke="black" points="16,-171 16,-339.99 326,-339.99 326,-171 16,-171"/>
- <text text-anchor="middle" x="66.5" y="-324.79" font-family="Times,serif" font-size="14.00">Box1:Select</text>
- </g>
- <g id="clust11" class="cluster">
- <title>cluster2</title>
- <polygon fill="none" stroke="black" points="8,-31 8,-163 170,-163 170,-31 8,-31"/>
- <text text-anchor="middle" x="84" y="-147.8" font-family="Times,serif" font-size="14.00">Box2:BaseTable T1</text>
- </g>
- <!-- boxhead0 -->
- <g id="node1" class="node">
- <title>boxhead0</title>
- <polygon fill="none" stroke="black" points="705,-496.49 705,-588.49 851,-588.49 851,-496.49 705,-496.49"/>
- <text text-anchor="middle" x="778" y="-573.29" font-family="Times,serif" font-size="14.00">Distinct: Preserve</text>
- <polyline fill="none" stroke="black" points="705,-565.49 851,-565.49 "/>
- <text text-anchor="middle" x="778" y="-550.29" font-family="Times,serif" font-size="14.00">0: Q4.c0 as F1</text>
- <polyline fill="none" stroke="black" points="705,-542.49 851,-542.49 "/>
- <text text-anchor="middle" x="778" y="-527.29" font-family="Times,serif" font-size="14.00">1: Q4.c1 as F2</text>
- <polyline fill="none" stroke="black" points="705,-519.49 851,-519.49 "/>
- <text text-anchor="middle" x="778" y="-504.29" font-family="Times,serif" font-size="14.00">2: Q4.c2 as F3</text>
- </g>
- <!-- Q4 -->
- <g id="node2" class="node">
- <title>Q4</title>
- <ellipse fill="none" stroke="black" cx="650" cy="-542.49" rx="37.09" ry="37.09"/>
- <text text-anchor="middle" x="650" y="-538.79" font-family="Times,serif" font-size="14.00">Q4(F)</text>
- </g>
- <!-- boxhead5 -->
- <g id="node3" class="node">
- <title>boxhead5</title>
- <polygon fill="none" stroke="black" points="505.5,-356.49 505.5,-448.49 794.5,-448.49 794.5,-356.49 505.5,-356.49"/>
- <text text-anchor="middle" x="650" y="-433.29" font-family="Times,serif" font-size="14.00">Distinct: Enforce</text>
- <polyline fill="none" stroke="black" points="505.5,-425.49 794.5,-425.49 "/>
- <text text-anchor="middle" x="650" y="-410.29" font-family="Times,serif" font-size="14.00">0: Q2.c0 as F1</text>
- <polyline fill="none" stroke="black" points="505.5,-402.49 794.5,-402.49 "/>
- <text text-anchor="middle" x="650" y="-387.29" font-family="Times,serif" font-size="14.00">1: Q2.c1 as F2</text>
- <polyline fill="none" stroke="black" points="505.5,-379.49 794.5,-379.49 "/>
- <text text-anchor="middle" x="650" y="-364.29" font-family="Times,serif" font-size="14.00">2: Q2.c2 as F3</text>
- </g>
- <!-- Q4->boxhead5 -->
- <g id="edge1" class="edge">
- <title>Q4->boxhead5</title>
- <path fill="none" stroke="black" stroke-dasharray="5,2" d="M650,-505.23C650,-497.36 650,-488.76 650,-479.99"/>
- </g>
- <!-- Q2 -->
- <g id="node4" class="node">
- <title>Q2</title>
- <ellipse fill="none" stroke="black" cx="358" cy="-402.49" rx="37.09" ry="37.09"/>
- <text text-anchor="middle" x="358" y="-398.79" font-family="Times,serif" font-size="14.00">Q2(F)</text>
- </g>
- <!-- boxhead1 -->
- <g id="node9" class="node">
- <title>boxhead1</title>
- <polygon fill="none" stroke="black" points="172,-197.99 172,-289.99 318,-289.99 318,-197.99 172,-197.99"/>
- <text text-anchor="middle" x="245" y="-274.79" font-family="Times,serif" font-size="14.00">Distinct: Preserve</text>
- <polyline fill="none" stroke="black" points="172,-266.99 318,-266.99 "/>
- <text text-anchor="middle" x="245" y="-251.79" font-family="Times,serif" font-size="14.00">0: Q0.c0 as F1</text>
- <polyline fill="none" stroke="black" points="172,-243.99 318,-243.99 "/>
- <text text-anchor="middle" x="245" y="-228.79" font-family="Times,serif" font-size="14.00">1: Q0.c1 as F2</text>
- <polyline fill="none" stroke="black" points="172,-220.99 318,-220.99 "/>
- <text text-anchor="middle" x="245" y="-205.79" font-family="Times,serif" font-size="14.00">2: Q0.c2 as F3</text>
- </g>
- <!-- Q2->boxhead1 -->
- <g id="edge2" class="edge">
- <title>Q2->boxhead1</title>
- <path fill="none" stroke="black" stroke-dasharray="5,2" d="M336.75,-372.05C329.91,-362.59 321.94,-351.55 313.59,-339.99"/>
- </g>
- <!-- Q3 -->
- <g id="node5" class="node">
- <title>Q3</title>
- <ellipse fill="none" stroke="black" cx="450" cy="-402.49" rx="37.09" ry="37.09"/>
- <text text-anchor="middle" x="450" y="-398.79" font-family="Times,serif" font-size="14.00">Q3(F)</text>
- </g>
- <!-- boxhead3 -->
- <g id="node6" class="node">
- <title>boxhead3</title>
- <polygon fill="none" stroke="black" points="490,-197.99 490,-289.99 636,-289.99 636,-197.99 490,-197.99"/>
- <text text-anchor="middle" x="563" y="-274.79" font-family="Times,serif" font-size="14.00">Distinct: Preserve</text>
- <polyline fill="none" stroke="black" points="490,-266.99 636,-266.99 "/>
- <text text-anchor="middle" x="563" y="-251.79" font-family="Times,serif" font-size="14.00">0: Q1.c0 as F1</text>
- <polyline fill="none" stroke="black" points="490,-243.99 636,-243.99 "/>
- <text text-anchor="middle" x="563" y="-228.79" font-family="Times,serif" font-size="14.00">1: Q1.c1 as F2</text>
- <polyline fill="none" stroke="black" points="490,-220.99 636,-220.99 "/>
- <text text-anchor="middle" x="563" y="-205.79" font-family="Times,serif" font-size="14.00">2: Q1.c2 as F3</text>
- </g>
- <!-- Q3->boxhead3 -->
- <g id="edge3" class="edge">
- <title>Q3->boxhead3</title>
- <path fill="none" stroke="black" stroke-dasharray="5,2" d="M471.25,-372.05C478.09,-362.59 486.06,-351.55 494.41,-339.99"/>
- </g>
- <!-- Q1 -->
- <g id="node7" class="node">
- <title>Q1</title>
- <ellipse fill="none" stroke="black" cx="407" cy="-243.99" rx="64.99" ry="64.99"/>
- <text text-anchor="middle" x="407" y="-240.29" font-family="Times,serif" font-size="14.00">Q1(F) as T2</text>
- </g>
- <!-- boxhead4 -->
- <g id="node8" class="node">
- <title>boxhead4</title>
- <polygon fill="none" stroke="black" points="334,-39.5 334,-131.5 480,-131.5 480,-39.5 334,-39.5"/>
- <text text-anchor="middle" x="407" y="-116.3" font-family="Times,serif" font-size="14.00">Distinct: Preserve</text>
- <polyline fill="none" stroke="black" points="334,-108.5 480,-108.5 "/>
- <text text-anchor="middle" x="407" y="-93.3" font-family="Times,serif" font-size="14.00">0: c0 as F1</text>
- <polyline fill="none" stroke="black" points="334,-85.5 480,-85.5 "/>
- <text text-anchor="middle" x="407" y="-70.3" font-family="Times,serif" font-size="14.00">1: c1 as F2</text>
- <polyline fill="none" stroke="black" points="334,-62.5 480,-62.5 "/>
- <text text-anchor="middle" x="407" y="-47.3" font-family="Times,serif" font-size="14.00">2: c2 as F3</text>
- </g>
- <!-- Q1->boxhead4 -->
- <g id="edge4" class="edge">
- <title>Q1->boxhead4</title>
- <path fill="none" stroke="black" stroke-dasharray="5,2" d="M407,-178.89C407,-173.65 407,-168.32 407,-163"/>
- </g>
- <!-- Q0 -->
- <g id="node10" class="node">
- <title>Q0</title>
- <ellipse fill="none" stroke="black" cx="89" cy="-243.99" rx="64.99" ry="64.99"/>
- <text text-anchor="middle" x="89" y="-240.29" font-family="Times,serif" font-size="14.00">Q0(F) as T1</text>
- </g>
- <!-- boxhead2 -->
- <g id="node11" class="node">
- <title>boxhead2</title>
- <polygon fill="none" stroke="black" points="16,-39.5 16,-131.5 162,-131.5 162,-39.5 16,-39.5"/>
- <text text-anchor="middle" x="89" y="-116.3" font-family="Times,serif" font-size="14.00">Distinct: Preserve</text>
- <polyline fill="none" stroke="black" points="16,-108.5 162,-108.5 "/>
- <text text-anchor="middle" x="89" y="-93.3" font-family="Times,serif" font-size="14.00">0: c0 as F1</text>
- <polyline fill="none" stroke="black" points="16,-85.5 162,-85.5 "/>
- <text text-anchor="middle" x="89" y="-70.3" font-family="Times,serif" font-size="14.00">1: c1 as F2</text>
- <polyline fill="none" stroke="black" points="16,-62.5 162,-62.5 "/>
- <text text-anchor="middle" x="89" y="-47.3" font-family="Times,serif" font-size="14.00">2: c2 as F3</text>
- </g>
- <!-- Q0->boxhead2 -->
- <g id="edge5" class="edge">
- <title>Q0->boxhead2</title>
- <path fill="none" stroke="black" stroke-dasharray="5,2" d="M89,-178.89C89,-173.65 89,-168.32 89,-163"/>
- </g>
- </g>
- </svg>
|