123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- <?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="762pt" height="676pt"
- viewBox="0.00 0.00 762.00 676.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 672)">
- <title>G</title>
- <polygon fill="white" stroke="transparent" points="-4,4 -4,-672 758,-672 758,4 -4,4"/>
- <text text-anchor="middle" x="285.5" y="-7.8" font-family="Times,serif" font-size="14.00">select * from t1, t2, t3 where t1.f1 = t2.f1 and t1.f1 = t3.f1; (before rewrites)</text>
- <g id="clust1" class="cluster">
- <title>cluster0</title>
- <polygon fill="none" stroke="black" points="16,-205 16,-498 746,-498 746,-205 16,-205"/>
- <text text-anchor="middle" x="66.5" y="-482.8" font-family="Times,serif" font-size="14.00">Box0:Select</text>
- </g>
- <g id="clust3" class="cluster">
- <title>cluster3</title>
- <polygon fill="none" stroke="black" points="436,-31 436,-186 598,-186 598,-31 436,-31"/>
- <text text-anchor="middle" x="512" y="-170.8" font-family="Times,serif" font-size="14.00">Box3:BaseTable T3</text>
- </g>
- <g id="clust5" class="cluster">
- <title>cluster2</title>
- <polygon fill="none" stroke="black" points="266,-31 266,-186 428,-186 428,-31 266,-31"/>
- <text text-anchor="middle" x="342" y="-170.8" font-family="Times,serif" font-size="14.00">Box2:BaseTable T2</text>
- </g>
- <g id="clust7" class="cluster">
- <title>cluster1</title>
- <polygon fill="none" stroke="black" points="8,-31 8,-186 170,-186 170,-31 8,-31"/>
- <text text-anchor="middle" x="84" y="-170.8" font-family="Times,serif" font-size="14.00">Box1:BaseTable T1</text>
- </g>
- <!-- boxhead0 -->
- <g id="node1" class="node">
- <title>boxhead0</title>
- <polygon fill="none" stroke="black" points="592,-213.5 592,-443.5 738,-443.5 738,-213.5 592,-213.5"/>
- <text text-anchor="middle" x="665" y="-428.3" font-family="Times,serif" font-size="14.00">Distinct: Preserve</text>
- <polyline fill="none" stroke="black" points="592,-420.5 738,-420.5 "/>
- <text text-anchor="middle" x="665" y="-405.3" font-family="Times,serif" font-size="14.00">0: Q0.c0 as F1</text>
- <polyline fill="none" stroke="black" points="592,-397.5 738,-397.5 "/>
- <text text-anchor="middle" x="665" y="-382.3" font-family="Times,serif" font-size="14.00">1: Q0.c1 as F2</text>
- <polyline fill="none" stroke="black" points="592,-374.5 738,-374.5 "/>
- <text text-anchor="middle" x="665" y="-359.3" font-family="Times,serif" font-size="14.00">2: Q0.c2 as F3</text>
- <polyline fill="none" stroke="black" points="592,-351.5 738,-351.5 "/>
- <text text-anchor="middle" x="665" y="-336.3" font-family="Times,serif" font-size="14.00">3: Q1.c0 as F1</text>
- <polyline fill="none" stroke="black" points="592,-328.5 738,-328.5 "/>
- <text text-anchor="middle" x="665" y="-313.3" font-family="Times,serif" font-size="14.00">4: Q1.c1 as F2</text>
- <polyline fill="none" stroke="black" points="592,-305.5 738,-305.5 "/>
- <text text-anchor="middle" x="665" y="-290.3" font-family="Times,serif" font-size="14.00">5: Q1.c2 as F3</text>
- <polyline fill="none" stroke="black" points="592,-282.5 738,-282.5 "/>
- <text text-anchor="middle" x="665" y="-267.3" font-family="Times,serif" font-size="14.00">6: Q2.c0 as F1</text>
- <polyline fill="none" stroke="black" points="592,-259.5 738,-259.5 "/>
- <text text-anchor="middle" x="665" y="-244.3" font-family="Times,serif" font-size="14.00">7: Q2.c1 as F2</text>
- <polyline fill="none" stroke="black" points="592,-236.5 738,-236.5 "/>
- <text text-anchor="middle" x="665" y="-221.3" font-family="Times,serif" font-size="14.00">8: Q2.c2 as F3</text>
- </g>
- <!-- Q0 -->
- <g id="node2" class="node">
- <title>Q0</title>
- <ellipse fill="none" stroke="black" cx="89" cy="-328.5" rx="64.99" ry="64.99"/>
- <text text-anchor="middle" x="89" y="-324.8" font-family="Times,serif" font-size="14.00">Q0(F) as T1</text>
- </g>
- <!-- Q1 -->
- <g id="node3" class="node">
- <title>Q1</title>
- <ellipse fill="none" stroke="black" cx="361" cy="-328.5" rx="64.99" ry="64.99"/>
- <text text-anchor="middle" x="361" y="-324.8" font-family="Times,serif" font-size="14.00">Q1(F) as T2</text>
- </g>
- <!-- Q0->Q1 -->
- <g id="edge1" class="edge">
- <title>Q0->Q1</title>
- <path fill="none" stroke="black" d="M154.15,-328.5C197.06,-328.5 253.02,-328.5 295.91,-328.5"/>
- <text text-anchor="middle" x="225" y="-335.3" font-family="Times,serif" font-size="14.00">(Q0.c0) = (Q1.c0)</text>
- </g>
- <!-- Q2 -->
- <g id="node4" class="node">
- <title>Q2</title>
- <ellipse fill="none" stroke="black" cx="509" cy="-328.5" rx="64.99" ry="64.99"/>
- <text text-anchor="middle" x="509" y="-324.8" font-family="Times,serif" font-size="14.00">Q2(F) as T3</text>
- </g>
- <!-- Q0->Q2 -->
- <g id="edge2" class="edge">
- <title>Q0->Q2</title>
- <path fill="none" stroke="black" d="M132.78,-376.96C169.72,-413.98 226.18,-462.08 287,-483 349.2,-504.4 379.34,-518.05 435,-483 466.58,-463.11 484.98,-425.59 495.54,-392.51"/>
- <text text-anchor="middle" x="299" y="-509.8" font-family="Times,serif" font-size="14.00">(Q0.c0) = (Q2.c0)</text>
- </g>
- <!-- boxhead1 -->
- <g id="node7" class="node">
- <title>boxhead1</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->boxhead1 -->
- <g id="edge3" class="edge">
- <title>Q0->boxhead1</title>
- <path fill="none" stroke="black" stroke-dasharray="5,2" d="M89,-263.23C89,-239.53 89,-212.09 89,-186"/>
- </g>
- <!-- boxhead2 -->
- <g id="node6" class="node">
- <title>boxhead2</title>
- <polygon fill="none" stroke="black" points="274,-39.5 274,-131.5 420,-131.5 420,-39.5 274,-39.5"/>
- <text text-anchor="middle" x="347" y="-116.3" font-family="Times,serif" font-size="14.00">Distinct: Preserve</text>
- <polyline fill="none" stroke="black" points="274,-108.5 420,-108.5 "/>
- <text text-anchor="middle" x="347" y="-93.3" font-family="Times,serif" font-size="14.00">0: c0 as F1</text>
- <polyline fill="none" stroke="black" points="274,-85.5 420,-85.5 "/>
- <text text-anchor="middle" x="347" y="-70.3" font-family="Times,serif" font-size="14.00">1: c1 as F2</text>
- <polyline fill="none" stroke="black" points="274,-62.5 420,-62.5 "/>
- <text text-anchor="middle" x="347" y="-47.3" font-family="Times,serif" font-size="14.00">2: c2 as F3</text>
- </g>
- <!-- Q1->boxhead2 -->
- <g id="edge4" class="edge">
- <title>Q1->boxhead2</title>
- <path fill="none" stroke="black" stroke-dasharray="5,2" d="M357.29,-263.55C355.9,-239.77 354.3,-212.2 352.78,-186"/>
- </g>
- <!-- boxhead3 -->
- <g id="node5" class="node">
- <title>boxhead3</title>
- <polygon fill="none" stroke="black" points="444,-39.5 444,-131.5 590,-131.5 590,-39.5 444,-39.5"/>
- <text text-anchor="middle" x="517" y="-116.3" font-family="Times,serif" font-size="14.00">Distinct: Preserve</text>
- <polyline fill="none" stroke="black" points="444,-108.5 590,-108.5 "/>
- <text text-anchor="middle" x="517" y="-93.3" font-family="Times,serif" font-size="14.00">0: c0 as F1</text>
- <polyline fill="none" stroke="black" points="444,-85.5 590,-85.5 "/>
- <text text-anchor="middle" x="517" y="-70.3" font-family="Times,serif" font-size="14.00">1: c1 as F2</text>
- <polyline fill="none" stroke="black" points="444,-62.5 590,-62.5 "/>
- <text text-anchor="middle" x="517" y="-47.3" font-family="Times,serif" font-size="14.00">2: c2 as F3</text>
- </g>
- <!-- Q2->boxhead3 -->
- <g id="edge5" class="edge">
- <title>Q2->boxhead3</title>
- <path fill="none" stroke="black" stroke-dasharray="5,2" d="M511.13,-263.23C511.92,-239.53 512.83,-212.09 513.7,-186"/>
- </g>
- </g>
- </svg>
|