internals.ps
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:626k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. % arrowhead
  2. n 5253 4200 m 5373 4230 l 5253 4260 l 5253 4230 l 5253 4200 l  cp gs 0.00 setgray ef gr  col-1 s
  3. % Polyline
  4. n 2250 3825 m 3150 3825 l gs col-1 s gr 
  5. % Polyline
  6. n 2250 4095 m 3150 4095 l gs col-1 s gr 
  7. % Polyline
  8. n 2250 3600 m 3150 3600 l 3150 4365 l 2250 4365 l cp gs col-1 s gr 
  9. % Polyline
  10. n 2880 4095 m 2880 4365 l gs col-1 s gr 
  11. % Polyline
  12. n 4275 3825 m 5175 3825 l gs col-1 s gr 
  13. % Polyline
  14. n 4275 4095 m 5175 4095 l gs col-1 s gr 
  15. % Polyline
  16. n 4275 3600 m 5175 3600 l 5175 4365 l 4275 4365 l cp gs col-1 s gr 
  17. % Polyline
  18. n 4905 4095 m 4905 4365 l gs col-1 s gr 
  19. % Polyline
  20. n 2250 4905 m 3150 4905 l gs col-1 s gr 
  21. % Polyline
  22. n 2250 5175 m 3150 5175 l gs col-1 s gr 
  23. % Polyline
  24. n 4275 4905 m 5175 4905 l gs col-1 s gr 
  25. % Polyline
  26. n 4275 5175 m 5175 5175 l gs col-1 s gr 
  27. % Polyline
  28. n 2250 4680 m 3150 4680 l 3150 5445 l 2250 5445 l cp gs col-1 s gr 
  29. % Polyline
  30. n 4275 4680 m 5175 4680 l 5175 5445 l 4275 5445 l cp gs col-1 s gr 
  31. % Open spline
  32. gs  clippath
  33. 2825 3517 m 2719 3580 l 2783 3475 l 2668 3589 l 2711 3632 l  cp clip
  34. n 3015.0 2880.0 m 3150.0 2880.0 l
  35. 3150.0 2880.0 3285.0 2880.0 3285.0 2947.5 DrawSplineSection
  36. 3285.0 2947.5 3285.0 3015.0 3285.0 3195.0 DrawSplineSection
  37. 3285.0 3195.0 3285.0 3375.0 3105.0 3375.0 DrawSplineSection
  38. 3105.0 3375.0 2925.0 3375.0 2812.5 3487.5 DrawSplineSection
  39. 2700.0 3600.0 l  gs col-1 s gr
  40.  gr
  41. % arrowhead
  42. n 2825 3517 m 2719 3580 l 2783 3475 l 2804 3496 l 2825 3517 l  cp gs 0.00 setgray ef gr  col-1 s
  43. % Open spline
  44. gs  clippath
  45. 4850 3517 m 4744 3580 l 4808 3475 l 4693 3589 l 4736 3632 l  cp clip
  46. n 5040.0 2880.0 m 5175.0 2880.0 l
  47. 5175.0 2880.0 5310.0 2880.0 5310.0 2947.5 DrawSplineSection
  48. 5310.0 2947.5 5310.0 3015.0 5310.0 3195.0 DrawSplineSection
  49. 5310.0 3195.0 5310.0 3375.0 5130.0 3375.0 DrawSplineSection
  50. 5130.0 3375.0 4950.0 3375.0 4837.5 3487.5 DrawSplineSection
  51. 4725.0 3600.0 l  gs col-1 s gr
  52.  gr
  53. % arrowhead
  54. n 4850 3517 m 4744 3580 l 4808 3475 l 4829 3496 l 4850 3517 l  cp gs 0.00 setgray ef gr  col-1 s
  55. % Open spline
  56. gs  clippath
  57. 2418 330 m 2538 360 l 2418 390 l 2580 390 l 2580 330 l  cp clip
  58. n 1665.0 3015.0 m 1800.0 3015.0 l
  59. 1800.0 3015.0 1935.0 3015.0 1935.0 2902.5 DrawSplineSection
  60. 1935.0 2902.5 1935.0 2790.0 1935.0 1687.5 DrawSplineSection
  61. 1935.0 1687.5 1935.0 585.0 1935.0 472.5 DrawSplineSection
  62. 1935.0 472.5 1935.0 360.0 2047.5 360.0 DrawSplineSection
  63. 2047.5 360.0 2160.0 360.0 2362.5 360.0 DrawSplineSection
  64. 2565.0 360.0 l  gs col-1 s gr
  65.  gr
  66. % arrowhead
  67. n 2418 330 m 2538 360 l 2418 390 l 2418 360 l 2418 330 l  cp gs 0.00 setgray ef gr  col-1 s
  68. % Open spline
  69. gs  clippath
  70. 2418 2130 m 2538 2160 l 2418 2190 l 2580 2190 l 2580 2130 l  cp clip
  71. n 1665.0 3285.0 m 1867.5 3285.0 l
  72. 1867.5 3285.0 2070.0 3285.0 2070.0 3172.5 DrawSplineSection
  73. 2070.0 3172.5 2070.0 3060.0 2070.0 2700.0 DrawSplineSection
  74. 2070.0 2700.0 2070.0 2340.0 2070.0 2250.0 DrawSplineSection
  75. 2070.0 2250.0 2070.0 2160.0 2160.0 2160.0 DrawSplineSection
  76. 2160.0 2160.0 2250.0 2160.0 2407.5 2160.0 DrawSplineSection
  77. 2565.0 2160.0 l  gs col-1 s gr
  78.  gr
  79. % arrowhead
  80. n 2418 2130 m 2538 2160 l 2418 2190 l 2418 2160 l 2418 2130 l  cp gs 0.00 setgray ef gr  col-1 s
  81. % Open spline
  82. gs  clippath
  83. 4857 4609 m 4745 4662 l 4819 4563 l 4694 4667 l 4733 4713 l  cp clip
  84. n 5040.0 3150.0 m 5332.5 3150.0 l
  85. 5332.5 3150.0 5625.0 3150.0 5737.5 3150.0 DrawSplineSection
  86. 5737.5 3150.0 5850.0 3150.0 5850.0 3262.5 DrawSplineSection
  87. 5850.0 3262.5 5850.0 3375.0 5850.0 3780.0 DrawSplineSection
  88. 5850.0 3780.0 5850.0 4185.0 5850.0 4320.0 DrawSplineSection
  89. 5850.0 4320.0 5850.0 4455.0 5715.0 4455.0 DrawSplineSection
  90. 5715.0 4455.0 5580.0 4455.0 5287.5 4455.0 DrawSplineSection
  91. 5287.5 4455.0 4995.0 4455.0 4860.0 4567.5 DrawSplineSection
  92. 4725.0 4680.0 l  gs col-1 s gr
  93.  gr
  94. % arrowhead
  95. n 4857 4609 m 4745 4662 l 4819 4563 l 4838 4586 l 4857 4609 l  cp gs 0.00 setgray ef gr  col-1 s
  96. % Open spline
  97. gs  clippath
  98. 2832 4609 m 2720 4662 l 2794 4563 l 2669 4667 l 2708 4713 l  cp clip
  99. n 3015.0 3150.0 m 3420.0 3150.0 l
  100. 3420.0 3150.0 3825.0 3150.0 3937.5 3150.0 DrawSplineSection
  101. 3937.5 3150.0 4050.0 3150.0 4050.0 3262.5 DrawSplineSection
  102. 4050.0 3262.5 4050.0 3375.0 4050.0 3780.0 DrawSplineSection
  103. 4050.0 3780.0 4050.0 4185.0 4050.0 4320.0 DrawSplineSection
  104. 4050.0 4320.0 4050.0 4455.0 3915.0 4455.0 DrawSplineSection
  105. 3915.0 4455.0 3780.0 4455.0 3375.0 4455.0 DrawSplineSection
  106. 3375.0 4455.0 2970.0 4455.0 2835.0 4567.5 DrawSplineSection
  107. 2700.0 4680.0 l  gs col-1 s gr
  108.  gr
  109. % arrowhead
  110. n 2832 4609 m 2720 4662 l 2794 4563 l 2813 4586 l 2832 4609 l  cp gs 0.00 setgray ef gr  col-1 s
  111. /Times-Roman ff 150.00 scf sf
  112. 540 900 m
  113. gs 1 -1 sc (utility) col-1 sh gr
  114. /Times-Roman ff 150.00 scf sf
  115. 540 1455 m
  116. gs 1 -1 sc (into) col-1 sh gr
  117. /Times-Roman ff 150.00 scf sf
  118. 540 2790 m
  119. gs 1 -1 sc (unique) col-1 sh gr
  120. /Times-Roman ff 150.00 scf sf
  121. 540 3075 m
  122. gs 1 -1 sc (rtable) col-1 sh gr
  123. /Times-Roman ff 150.00 scf sf
  124. 540 3600 m
  125. gs 1 -1 sc (qual) col-1 sh gr
  126. /Times-Roman ff 150.00 scf sf
  127. 540 3315 m
  128. gs 1 -1 sc (targetlist) col-1 sh gr
  129. /Times-Roman ff 150.00 scf sf
  130. 540 3885 m
  131. gs 1 -1 sc (groupClause) col-1 sh gr
  132. /Times-Roman ff 150.00 scf sf
  133. 540 5220 m
  134. gs 1 -1 sc (intersectClause) col-1 sh gr
  135. /Times-Roman ff 150.00 scf sf
  136. 540 1170 m
  137. gs 1 -1 sc (resultRelation:    0) col-1 sh gr
  138. /Times-Roman ff 150.00 scf sf
  139. 540 1980 m
  140. gs 1 -1 sc (isBinary:         false) col-1 sh gr
  141. /Times-Roman ff 150.00 scf sf
  142. 540 2265 m
  143. gs 1 -1 sc (union_all:        false) col-1 sh gr
  144. /Times-Roman ff 150.00 scf sf
  145. 540 4410 m
  146. gs 1 -1 sc (hasAggs:         false) col-1 sh gr
  147. /Times-Roman ff 150.00 scf sf
  148. 540 4695 m
  149. gs 1 -1 sc (hasSublinks:    false) col-1 sh gr
  150. /Times-Roman ff 150.00 scf sf
  151. 945 360 m
  152. gs 1 -1 sc (Query) col-1 sh gr
  153. /Times-Roman ff 150.00 scf sf
  154. 540 630 m
  155. gs 1 -1 sc (command:           1) col-1 sh gr
  156. /Times-Roman ff 150.00 scf sf
  157. 3420 1125 m
  158. gs 1 -1 sc ("supplier") col-1 sh gr
  159. /Times-Roman ff 150.00 scf sf
  160. 3420 1395 m
  161. gs 1 -1 sc ("s") col-1 sh gr
  162. /Times-Roman ff 150.00 scf sf
  163. 5445 1125 m
  164. gs 1 -1 sc ("sells") col-1 sh gr
  165. /Times-Roman ff 150.00 scf sf
  166. 5445 1395 m
  167. gs 1 -1 sc ("se") col-1 sh gr
  168. /Times-Roman ff 150.00 scf sf
  169. 4365 1395 m
  170. gs 1 -1 sc (refname) col-1 sh gr
  171. /Times-Roman ff 150.00 scf sf
  172. 4590 900 m
  173. gs 1 -1 sc (RTE) col-1 sh gr
  174. /Times-Roman ff 150.00 scf sf
  175. 4365 1125 m
  176. gs 1 -1 sc (relname) col-1 sh gr
  177. /Times-Roman ff 150.00 scf sf
  178. 4365 1665 m
  179. gs 1 -1 sc (relid: 18219) col-1 sh gr
  180. /Times-Roman ff 150.00 scf sf
  181. 3420 4275 m
  182. gs 1 -1 sc ("sname") col-1 sh gr
  183. /Times-Roman ff 150.00 scf sf
  184. 5445 4275 m
  185. gs 1 -1 sc ("pno") col-1 sh gr
  186. /Times-Roman ff 150.00 scf sf
  187. 2340 4275 m
  188. gs 1 -1 sc (resname ) col-1 sh gr
  189. /Times-Roman ff 150.00 scf sf
  190. 2340 4005 m
  191. gs 1 -1 sc (resno:     1) col-1 sh gr
  192. /Times-Roman ff 150.00 scf sf
  193. 4365 4275 m
  194. gs 1 -1 sc (resname ) col-1 sh gr
  195. /Times-Roman ff 150.00 scf sf
  196. 4365 4005 m
  197. gs 1 -1 sc (resno:     2) col-1 sh gr
  198. /Times-Roman ff 150.00 scf sf
  199. 4410 3780 m
  200. gs 1 -1 sc (RESDOM) col-1 sh gr
  201. /Times-Roman ff 150.00 scf sf
  202. 2385 3780 m
  203. gs 1 -1 sc (RESDOM) col-1 sh gr
  204. /Times-Roman ff 150.00 scf sf
  205. 2520 4860 m
  206. gs 1 -1 sc (VAR) col-1 sh gr
  207. /Times-Roman ff 150.00 scf sf
  208. 2340 5085 m
  209. gs 1 -1 sc (varno:     1) col-1 sh gr
  210. /Times-Roman ff 150.00 scf sf
  211. 4365 5085 m
  212. gs 1 -1 sc (varno:     2) col-1 sh gr
  213. /Times-Roman ff 150.00 scf sf
  214. 4545 4860 m
  215. gs 1 -1 sc (VAR) col-1 sh gr
  216. /Times-Roman ff 150.00 scf sf
  217. 540 1695 m
  218. gs 1 -1 sc (isPortal:          false) col-1 sh gr
  219. /Times-Roman ff 150.00 scf sf
  220. 540 2505 m
  221. gs 1 -1 sc (sortClause) col-1 sh gr
  222. /Times-Roman ff 150.00 scf sf
  223. 540 4125 m
  224. gs 1 -1 sc (havingQual) col-1 sh gr
  225. /Times-Roman ff 150.00 scf sf
  226. 540 4935 m
  227. gs 1 -1 sc (unionClause) col-1 sh gr
  228. /Times-Roman ff 150.00 scf sf
  229. 2340 5355 m
  230. gs 1 -1 sc (varattno: 2) col-1 sh gr
  231. /Times-Roman ff 150.00 scf sf
  232. 4365 5355 m
  233. gs 1 -1 sc (varattno: 2) col-1 sh gr
  234. showpage
  235. $F2psEnd
  236. rs
  237. %%EndDocument
  238.  @endspecial 427 2501 a(Figure)i(3.4:)j(T)n(ransformed)d
  239. Fp(T)-5 b(ar)n(getList)12 b Ft(and)h Fp(F)m(r)n(omList)g
  240. Ft(for)e(query)h(of)g(e)o(xample)h(3.1)270 2745 y(Figure)g(3.5)g(sho)o
  241. (ws)h(the)g(transformed)e Fp(wher)n(e)i(clause)p Ft(.)20
  242. b(Ev)o(ery)13 b Fr(A)p 1411 2745 15 2 v 18 w(Expr)g Ft(node)h(is)f
  243. (transformed)g(to)g(an)270 2804 y Fr(Expr)k Ft(node.)31
  244. b(The)18 b Fr(Attr)f Ft(nodes)g(representing)g(the)g(attrib)o(utes)g
  245. (are)g(replaced)g(by)h Fr(VAR)f Ft(nodes)h(as)270 2864
  246. y(it)d(has)g(been)g(done)g(for)f(the)h Fp(tar)n(getlist)g
  247. Ft(abo)o(v)o(e.)24 b(Checks)15 b(if)g(the)f(appearing)h
  248. Fp(attrib)o(utes)g Ft(are)g(v)o(alid)f(and)270 2924 y(kno)o(wn)h(to)g
  249. (the)h(system)g(are)f(made.)26 b(If)14 b(there)i(is)f(an)h
  250. Fp(attrib)o(ute)f Ft(used)h(which)f(is)h(not)g(kno)o(wn)f(an)g(error)
  251. 270 2984 y(will)d(be)g(returned)g(and)g(the)h Fp(query)f(pr)n(ocessing)
  252. i Ft(will)d(be)i(aborted.)270 3103 y(The)30 b(whole)g
  253. Fp(tr)o(ansformation)g(pr)n(ocess)g Ft(performs)f(a)h(transformation)e
  254. (of)h(the)h(data)g(structure)270 3163 y(handed)13 b(back)f(by)h(the)g
  255. Fp(parser)g Ft(to)g(a)f(more)h(comfortable)e(form.)16
  256. b(The)d(character)f(strings)h(representing)270 3223 y(the)g
  257. Fp(r)n(elations)h Ft(and)f Fp(attrib)o(utes)h Ft(in)f(the)g(original)g
  258. (tree)g(are)g(replaced)g(by)g Fp(r)n(elation)h(ids)f
  259. Ft(and)h Fr(VAR)f Ft(nodes)270 3283 y(whose)18 b(02elds)g(are)g
  260. (referring)e(to)i(the)f(entries)h(of)f(the)h Fp(r)o(ange)g(table)g
  261. (entry)g(list)p Ft(.)32 b(In)17 b(addition)g(to)h(the)270
  262. 3342 y(transformation,)c(also)g(v)o(arious)g(checks)h(if)f(the)g(used)h
  263. Fp(r)n(elation)f Ft(and)g Fp(attrib)o(ute)g Ft(names)h((appearing)e
  264. (in)270 3402 y(the)f(query))g(are)g(v)o(alid)g(in)g(the)g(current)g
  265. (conte)o(xt)g(are)h(performed.)p eop
  266. %%Page: 57 57
  267. 57 56 bop 198 60 a Fm(3.3.)29 b(THE)13 b(P)-5 b(ARSER)13
  268. b(ST)-5 b(A)n(GE)1189 b Ft(57)291 2826 y @beginspecial
  269. 144 @llx 172 @lly 467 @urx 619 @ury 3230 @rwi @setspecial
  270. %%BeginDocument: figures/transform_where.ps
  271. %Magnification: 1.05
  272. /$F2psDict 200 dict def
  273. $F2psDict begin
  274. $F2psDict /mtrx matrix put
  275. /col-1 {0 setgray} bind def
  276. /col0 {0.000 0.000 0.000 srgb} bind def
  277. /col1 {0.000 0.000 1.000 srgb} bind def
  278. /col2 {0.000 1.000 0.000 srgb} bind def
  279. /col3 {0.000 1.000 1.000 srgb} bind def
  280. /col4 {1.000 0.000 0.000 srgb} bind def
  281. /col5 {1.000 0.000 1.000 srgb} bind def
  282. /col6 {1.000 1.000 0.000 srgb} bind def
  283. /col7 {1.000 1.000 1.000 srgb} bind def
  284. /col8 {0.000 0.000 0.560 srgb} bind def
  285. /col9 {0.000 0.000 0.690 srgb} bind def
  286. /col10 {0.000 0.000 0.820 srgb} bind def
  287. /col11 {0.530 0.810 1.000 srgb} bind def
  288. /col12 {0.000 0.560 0.000 srgb} bind def
  289. /col13 {0.000 0.690 0.000 srgb} bind def
  290. /col14 {0.000 0.820 0.000 srgb} bind def
  291. /col15 {0.000 0.560 0.560 srgb} bind def
  292. /col16 {0.000 0.690 0.690 srgb} bind def
  293. /col17 {0.000 0.820 0.820 srgb} bind def
  294. /col18 {0.560 0.000 0.000 srgb} bind def
  295. /col19 {0.690 0.000 0.000 srgb} bind def
  296. /col20 {0.820 0.000 0.000 srgb} bind def
  297. /col21 {0.560 0.000 0.560 srgb} bind def
  298. /col22 {0.690 0.000 0.690 srgb} bind def
  299. /col23 {0.820 0.000 0.820 srgb} bind def
  300. /col24 {0.500 0.190 0.000 srgb} bind def
  301. /col25 {0.630 0.250 0.000 srgb} bind def
  302. /col26 {0.750 0.380 0.000 srgb} bind def
  303. /col27 {1.000 0.500 0.500 srgb} bind def
  304. /col28 {1.000 0.630 0.630 srgb} bind def
  305. /col29 {1.000 0.750 0.750 srgb} bind def
  306. /col30 {1.000 0.880 0.880 srgb} bind def
  307. /col31 {1.000 0.840 0.000 srgb} bind def
  308. end
  309. save
  310. 117.5 632.5 translate
  311. 1 -1 scale
  312. /cp {closepath} bind def
  313. /ef {eofill} bind def
  314. /gr {grestore} bind def
  315. /gs {gsave} bind def
  316. /sa {save} bind def
  317. /rs {restore} bind def
  318. /l {lineto} bind def
  319. /m {moveto} bind def
  320. /rm {rmoveto} bind def
  321. /n {newpath} bind def
  322. /s {stroke} bind def
  323. /sh {show} bind def
  324. /slc {setlinecap} bind def
  325. /slj {setlinejoin} bind def
  326. /slw {setlinewidth} bind def
  327. /srgb {setrgbcolor} bind def
  328. /rot {rotate} bind def
  329. /sc {scale} bind def
  330. /sd {setdash} bind def
  331. /ff {findfont} bind def
  332. /sf {setfont} bind def
  333. /scf {scalefont} bind def
  334. /sw {stringwidth} bind def
  335. /tr {translate} bind def
  336. /tnt {dup dup currentrgbcolor
  337.   4 -2 roll dup 1 exch sub 3 -1 roll mul add
  338.   4 -2 roll dup 1 exch sub 3 -1 roll mul add
  339.   4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
  340.   bind def
  341. /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
  342.   4 -2 roll mul srgb} bind def
  343.  /DrawSplineSection {
  344. /y3 exch def
  345. /x3 exch def
  346. /y2 exch def
  347. /x2 exch def
  348. /y1 exch def
  349. /x1 exch def
  350. /xa x1 x2 x1 sub 0.666667 mul add def
  351. /ya y1 y2 y1 sub 0.666667 mul add def
  352. /xb x3 x2 x3 sub 0.666667 mul add def
  353. /yb y3 y2 y3 sub 0.666667 mul add def
  354. x1 y1 lineto
  355. xa ya xb yb x3 y3 curveto
  356. } def
  357. /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
  358. /$F2psEnd {$F2psEnteredState restore end} def
  359. $F2psBegin
  360. 10 setmiterlimit
  361. n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
  362.  0.06299 0.06299 sc
  363. 7.500 slw
  364. % Polyline
  365. n 1530 5040 m 1800 5310 l gs col-1 s gr 
  366. % Polyline
  367. n 1800 5040 m 1530 5310 l gs col-1 s gr 
  368. % Polyline
  369. n 1530 4770 m 1800 5040 l gs col-1 s gr 
  370. % Polyline
  371. n 1800 4770 m 1530 5040 l gs col-1 s gr 
  372. % Polyline
  373. n 1530 3960 m 1800 4230 l gs col-1 s gr 
  374. % Polyline
  375. n 1800 3960 m 1530 4230 l gs col-1 s gr 
  376. % Polyline
  377. n 1530 3690 m 1800 3960 l gs col-1 s gr 
  378. % Polyline
  379. n 1800 3690 m 1530 3960 l gs col-1 s gr 
  380. % Polyline
  381. n 1530 2340 m 1800 2610 l gs col-1 s gr 
  382. % Polyline
  383. n 1800 2340 m 1530 2610 l gs col-1 s gr 
  384. % Polyline
  385. n 1530 1260 m 1800 1530 l gs col-1 s gr 
  386. % Polyline
  387. n 1800 1260 m 1530 1530 l gs col-1 s gr 
  388. % Polyline
  389. n 1530 720 m 1800 990 l gs col-1 s gr 
  390. % Polyline
  391. n 1800 720 m 1530 990 l gs col-1 s gr 
  392. % Polyline
  393. n 5130 1440 m 5130 1710 l gs col-1 s gr 
  394. % Polyline
  395. n 4860 1440 m 5400 1440 l 5400 1710 l 4860 1710 l cp gs col-1 s gr 
  396. % Polyline
  397. n 5130 1440 m 5400 1710 l gs col-1 s gr 
  398. % Polyline
  399. n 5400 1440 m 5130 1710 l gs col-1 s gr 
  400. % Polyline
  401. n 4140 1440 m 4140 1710 l gs col-1 s gr 
  402. % Polyline
  403. n 3870 1440 m 4410 1440 l 4410 1710 l 3870 1710 l cp gs col-1 s gr 
  404. % Polyline
  405. gs  clippath
  406. 4713 1545 m 4833 1575 l 4713 1605 l 4875 1605 l 4875 1545 l  cp clip
  407. n 4275 1575 m 4860 1575 l gs col-1 s gr gr
  408. % arrowhead
  409. n 4713 1545 m 4833 1575 l 4713 1605 l 4713 1575 l 4713 1545 l  cp gs 0.00 setgray ef gr  col-1 s
  410. % Polyline
  411. n 4140 5940 m 4140 6210 l gs col-1 s gr 
  412. % Polyline
  413. n 3870 5940 m 4410 5940 l 4410 6210 l 3870 6210 l cp gs col-1 s gr 
  414. % Polyline
  415. n 4905 5940 m 4905 6210 l gs col-1 s gr 
  416. % Polyline
  417. n 4635 5940 m 5175 5940 l 5175 6210 l 4635 6210 l cp gs col-1 s gr 
  418. % Polyline
  419. n 4905 5940 m 5175 6210 l gs col-1 s gr 
  420. % Polyline
  421. n 5175 5940 m 4905 6210 l gs col-1 s gr 
  422. % Polyline
  423. n 3870 2295 m 4635 2295 l gs col-1 s gr 
  424. % Polyline
  425. n 3870 2565 m 4635 2565 l gs col-1 s gr 
  426. % Polyline
  427. n 3870 2070 m 4635 2070 l 4635 2835 l 3870 2835 l cp gs col-1 s gr 
  428. /Times-Roman ff 150.00 scf sf
  429. 4095 2250 m
  430. gs 1 -1 sc (Oper) col-1 sh gr
  431. /Times-Roman ff 150.00 scf sf
  432. 3960 2475 m
  433. gs 1 -1 sc (opno: 521) col-1 sh gr
  434. /Times-Roman ff 150.00 scf sf
  435. 3960 2745 m
  436. gs 1 -1 sc (opid:     0) col-1 sh gr
  437. % Polyline
  438. n 4140 3015 m 4140 3285 l gs col-1 s gr 
  439. % Polyline
  440. n 3870 3015 m 4410 3015 l 4410 3285 l 3870 3285 l cp gs col-1 s gr 
  441. % Polyline
  442. n 4905 3015 m 4905 3285 l gs col-1 s gr 
  443. % Polyline
  444. n 4635 3015 m 5175 3015 l 5175 3285 l 4635 3285 l cp gs col-1 s gr 
  445. % Polyline
  446. n 4905 3015 m 5175 3285 l gs col-1 s gr 
  447. % Polyline
  448. n 5175 3015 m 4905 3285 l gs col-1 s gr 
  449. % Polyline
  450. n 450 450 m 1800 450 l gs col-1 s gr 
  451. % Polyline
  452. n 450 720 m 1800 720 l gs col-1 s gr 
  453. % Polyline
  454. n 450 990 m 1800 990 l gs col-1 s gr 
  455. % Polyline
  456. n 450 1260 m 1800 1260 l gs col-1 s gr 
  457. % Polyline
  458. n 450 1530 m 1800 1530 l gs col-1 s gr 
  459. % Polyline
  460. n 450 1800 m 1800 1800 l gs col-1 s gr 
  461. % Polyline
  462. n 450 2070 m 1800 2070 l gs col-1 s gr 
  463. % Polyline
  464. n 450 2340 m 1800 2340 l gs col-1 s gr 
  465. % Polyline
  466. n 450 2610 m 1800 2610 l gs col-1 s gr 
  467. % Polyline
  468. n 450 2880 m 1800 2880 l gs col-1 s gr 
  469. % Polyline
  470. n 450 3150 m 1800 3150 l gs col-1 s gr 
  471. % Polyline
  472. n 450 3690 m 1800 3690 l gs col-1 s gr 
  473. % Polyline
  474. n 450 3960 m 1800 3960 l gs col-1 s gr 
  475. % Polyline
  476. n 450 4230 m 1800 4230 l gs col-1 s gr 
  477. % Polyline
  478. n 450 3420 m 1800 3420 l gs col-1 s gr 
  479. % Polyline
  480. n 450 4500 m 1800 4500 l gs col-1 s gr 
  481. % Polyline
  482. n 450 4770 m 1800 4770 l gs col-1 s gr 
  483. % Polyline
  484. n 450 5040 m 1800 5040 l gs col-1 s gr 
  485. % Polyline
  486. n 450 225 m 1800 225 l 1800 5310 l 450 5310 l cp gs col-1 s gr 
  487. % Polyline
  488. n 1530 4770 m 1530 5310 l gs col-1 s gr 
  489. % Polyline
  490. n 1530 4230 m 1530 2880 l gs col-1 s gr 
  491. % Polyline
  492. n 1530 2340 m 1530 2610 l gs col-1 s gr 
  493. % Polyline
  494. n 1530 720 m 1530 990 l gs col-1 s gr 
  495. % Polyline
  496. n 1530 1260 m 1530 1530 l gs col-1 s gr 
  497. % Polyline
  498. n 1530 2610 m 1530 2880 l gs col-1 s gr 
  499. % Polyline
  500. n 1530 2610 m 1800 2880 l gs col-1 s gr 
  501. % Polyline
  502. n 1800 2610 m 1530 2880 l gs col-1 s gr 
  503. % Polyline
  504. n 3150 1170 m 3420 1440 l gs col-1 s gr 
  505. % Polyline
  506. n 3420 1170 m 3150 1440 l gs col-1 s gr 
  507. % Polyline
  508. gs  clippath
  509. 3723 1545 m 3843 1575 l 3723 1605 l 3885 1605 l 3885 1545 l  cp clip
  510. n 3285 1575 m 3870 1575 l gs col-1 s gr gr
  511. % arrowhead
  512. n 3723 1545 m 3843 1575 l 3723 1605 l 3723 1575 l 3723 1545 l  cp gs 0.00 setgray ef gr  col-1 s
  513. % Polyline
  514. n 2430 5220 m 3420 5220 l gs col-1 s gr 
  515. % Polyline
  516. n 2430 5490 m 3420 5490 l gs col-1 s gr 
  517. % Polyline
  518. n 2430 5760 m 3420 5760 l gs col-1 s gr 
  519. % Polyline
  520. n 2430 4995 m 3420 4995 l 3420 6030 l 2430 6030 l cp gs col-1 s gr 
  521. % Polyline
  522. n 3150 6030 m 3150 5490 l gs col-1 s gr 
  523. % Polyline
  524. gs  clippath
  525. 4488 6045 m 4608 6075 l 4488 6105 l 4650 6105 l 4650 6045 l  cp clip
  526. n 4275 6075 m 4635 6075 l gs col-1 s gr gr
  527. % arrowhead
  528. n 4488 6045 m 4608 6075 l 4488 6105 l 4488 6075 l 4488 6045 l  cp gs 0.00 setgray ef gr  col-1 s
  529. % Polyline
  530. n 3870 5220 m 4635 5220 l gs col-1 s gr 
  531. % Polyline
  532. n 3870 5490 m 4635 5490 l gs col-1 s gr 
  533. % Polyline
  534. n 3870 4995 m 4635 4995 l 4635 5760 l 3870 5760 l cp gs col-1 s gr 
  535. % Polyline
  536. n 2970 6750 m 3870 6750 l gs col-1 s gr 
  537. % Polyline
  538. n 2970 7020 m 3870 7020 l gs col-1 s gr 
  539. % Polyline
  540. n 4275 6750 m 5175 6750 l gs col-1 s gr 
  541. % Polyline
  542. n 4275 7020 m 5175 7020 l gs col-1 s gr 
  543. % Polyline
  544. n 2970 6525 m 3870 6525 l 3870 7290 l 2970 7290 l cp gs col-1 s gr 
  545. % Polyline
  546. n 4275 6525 m 5175 6525 l 5175 7290 l 4275 7290 l cp gs col-1 s gr 
  547. % Polyline
  548. n 2430 2295 m 3420 2295 l gs col-1 s gr 
  549. % Polyline
  550. n 2430 2565 m 3420 2565 l gs col-1 s gr 
  551. % Polyline
  552. n 2430 2835 m 3420 2835 l gs col-1 s gr 
  553. % Polyline
  554. n 2430 2070 m 3420 2070 l 3420 3105 l 2430 3105 l cp gs col-1 s gr 
  555. % Polyline
  556. n 3150 3105 m 3150 2565 l gs col-1 s gr 
  557. % Polyline
  558. gs  clippath
  559. 4488 3120 m 4608 3150 l 4488 3180 l 4650 3180 l 4650 3120 l  cp clip
  560. n 4275 3150 m 4635 3150 l gs col-1 s gr gr
  561. % arrowhead
  562. n 4488 3120 m 4608 3150 l 4488 3180 l 4488 3150 l 4488 3120 l  cp gs 0.00 setgray ef gr  col-1 s
  563. % Polyline
  564. n 4275 3825 m 5175 3825 l gs col-1 s gr 
  565. % Polyline
  566. n 4275 3600 m 5175 3600 l 5175 4095 l 4275 4095 l cp gs col-1 s gr 
  567. % Polyline
  568. n 2970 3824 m 3870 3824 l gs col-1 s gr 
  569. % Polyline
  570. n 2970 4094 m 3870 4094 l gs col-1 s gr 
  571. % Polyline
  572. n 2970 3600 m 3870 3600 l 3870 4365 l 2970 4365 l cp gs col-1 s gr 
  573. % Polyline
  574. n 2430 900 m 3420 900 l gs col-1 s gr 
  575. % Polyline
  576. n 2430 1170 m 3420 1170 l gs col-1 s gr 
  577. % Polyline
  578. n 2430 1440 m 3420 1440 l gs col-1 s gr 
  579. % Polyline
  580. n 2430 675 m 3420 675 l 3420 1710 l 2430 1710 l cp gs col-1 s gr 
  581. % Polyline
  582. n 3150 1710 m 3150 1170 l gs col-1 s gr 
  583. % Open spline
  584. gs  clippath
  585. 2955 528 m 2925 648 l 2895 528 l 2895 690 l 2955 690 l  cp clip
  586. n 1665.0 3555.0 m 1890.0 3555.0 l
  587. 1890.0 3555.0 2115.0 3555.0 2115.0 3397.5 DrawSplineSection
  588. 2115.0 3397.5 2115.0 3240.0 2115.0 2047.5 DrawSplineSection
  589. 2115.0 2047.5 2115.0 855.0 2115.0 585.0 DrawSplineSection
  590. 2115.0 585.0 2115.0 315.0 2340.0 315.0 DrawSplineSection
  591. 2340.0 315.0 2565.0 315.0 2677.5 315.0 DrawSplineSection
  592. 2677.5 315.0 2790.0 315.0 2857.5 360.0 DrawSplineSection
  593. 2857.5 360.0 2925.0 405.0 2925.0 540.0 DrawSplineSection
  594. 2925.0 675.0 l  gs col-1 s gr
  595.  gr
  596. % arrowhead
  597. n 2955 528 m 2925 648 l 2895 528 l 2925 528 l 2955 528 l  cp gs 0.00 setgray ef gr  col-1 s
  598. % Open spline
  599. gs  clippath
  600. 3050 1987 m 2944 2050 l 3008 1945 l 2893 2059 l 2936 2102 l  cp clip
  601. n 4005.0 1575.0 m 4005.0 1687.5 l
  602. 4005.0 1687.5 4005.0 1800.0 3937.5 1845.0 DrawSplineSection
  603. 3937.5 1845.0 3870.0 1890.0 3487.5 1890.0 DrawSplineSection
  604. 3487.5 1890.0 3105.0 1890.0 3015.0 1980.0 DrawSplineSection
  605. 2925.0 2070.0 l  gs col-1 s gr
  606.  gr
  607. % arrowhead
  608. n 3050 1987 m 2944 2050 l 3008 1945 l 3029 1966 l 3050 1987 l  cp gs 0.00 setgray ef gr  col-1 s
  609. % Open spline
  610. gs  clippath
  611. 3723 5325 m 3843 5355 l 3723 5385 l 3885 5385 l 3885 5325 l  cp clip
  612. n 3285.0 5625.0 m 3420.0 5625.0 l
  613. 3420.0 5625.0 3555.0 5625.0 3555.0 5490.0 DrawSplineSection
  614. 3555.0 5490.0 3555.0 5355.0 3712.5 5355.0 DrawSplineSection
  615. 3870.0 5355.0 l  gs col-1 s gr
  616.  gr
  617. % arrowhead
  618. n 3723 5325 m 3843 5355 l 3723 5385 l 3723 5355 l 3723 5325 l  cp gs 0.00 setgray ef gr  col-1 s
  619. % Open spline
  620. gs  clippath
  621. 3723 6045 m 3843 6075 l 3723 6105 l 3885 6105 l 3885 6045 l  cp clip
  622. n 3285.0 5895.0 m 3397.5 5895.0 l
  623. 3397.5 5895.0 3510.0 5895.0 3532.5 5985.0 DrawSplineSection
  624. 3532.5 5985.0 3555.0 6075.0 3712.5 6075.0 DrawSplineSection
  625. 3870.0 6075.0 l  gs col-1 s gr
  626.  gr
  627. % arrowhead
  628. n 3723 6045 m 3843 6075 l 3723 6105 l 3723 6075 l 3723 6045 l  cp gs 0.00 setgray ef gr  col-1 s
  629. % Open spline
  630. gs  clippath
  631. 4783 6387 m 4730 6498 l 4724 6375 l 4693 6534 l 4751 6546 l  cp clip
  632. n 4770.0 6075.0 m 4770.0 6187.5 l
  633. 4770.0 6187.5 4770.0 6300.0 4747.5 6412.5 DrawSplineSection
  634. 4725.0 6525.0 l  gs col-1 s gr
  635.  gr
  636. % arrowhead
  637. n 4783 6387 m 4730 6498 l 4724 6375 l 4754 6381 l 4783 6387 l  cp gs 0.00 setgray ef gr  col-1 s
  638. % Open spline
  639. gs  clippath
  640. 3554 6457 m 3441 6508 l 3516 6410 l 3390 6511 l 3427 6558 l  cp clip
  641. n 4005.0 6075.0 m 4005.0 6187.5 l
  642. 4005.0 6187.5 4005.0 6300.0 3825.0 6322.5 DrawSplineSection
  643. 3825.0 6322.5 3645.0 6345.0 3532.5 6435.0 DrawSplineSection
  644. 3420.0 6525.0 l  gs col-1 s gr
  645.  gr
  646. % arrowhead
  647. n 3554 6457 m 3441 6508 l 3516 6410 l 3535 6433 l 3554 6457 l  cp gs 0.00 setgray ef gr  col-1 s
  648. % Open spline
  649. gs  clippath
  650. 2955 4848 m 2925 4968 l 2895 4848 l 2895 5010 l 2955 5010 l  cp clip
  651. n 4995.0 1575.0 m 4995.0 1755.0 l
  652. 4995.0 1755.0 4995.0 1935.0 5062.5 1980.0 DrawSplineSection
  653. 5062.5 1980.0 5130.0 2025.0 5332.5 2025.0 DrawSplineSection
  654. 5332.5 2025.0 5535.0 2025.0 5535.0 2205.0 DrawSplineSection
  655. 5535.0 2205.0 5535.0 2385.0 5535.0 3375.0 DrawSplineSection
  656. 5535.0 3375.0 5535.0 4365.0 5535.0 4545.0 DrawSplineSection
  657. 5535.0 4545.0 5535.0 4725.0 5310.0 4725.0 DrawSplineSection
  658. 5310.0 4725.0 5085.0 4725.0 4162.5 4725.0 DrawSplineSection
  659. 4162.5 4725.0 3240.0 4725.0 3082.5 4725.0 DrawSplineSection
  660. 3082.5 4725.0 2925.0 4725.0 2925.0 4860.0 DrawSplineSection
  661. 2925.0 4995.0 l  gs col-1 s gr
  662.  gr
  663. % arrowhead
  664. n 2955 4848 m 2925 4968 l 2895 4848 l 2925 4848 l 2955 4848 l  cp gs 0.00 setgray ef gr  col-1 s
  665. % Open spline
  666. gs  clippath
  667. 3723 2400 m 3843 2430 l 3723 2460 l 3885 2460 l 3885 2400 l  cp clip
  668. n 3285.0 2700.0 m 3420.0 2700.0 l
  669. 3420.0 2700.0 3555.0 2700.0 3555.0 2565.0 DrawSplineSection
  670. 3555.0 2565.0 3555.0 2430.0 3712.5 2430.0 DrawSplineSection
  671. 3870.0 2430.0 l  gs col-1 s gr
  672.  gr
  673. % arrowhead
  674. n 3723 2400 m 3843 2430 l 3723 2460 l 3723 2430 l 3723 2400 l  cp gs 0.00 setgray ef gr  col-1 s
  675. % Open spline
  676. gs  clippath
  677. 3723 3120 m 3843 3150 l 3723 3180 l 3885 3180 l 3885 3120 l  cp clip
  678. n 3285.0 2970.0 m 3397.5 2970.0 l
  679. 3397.5 2970.0 3510.0 2970.0 3532.5 3060.0 DrawSplineSection
  680. 3532.5 3060.0 3555.0 3150.0 3712.5 3150.0 DrawSplineSection
  681. 3870.0 3150.0 l  gs col-1 s gr
  682.  gr
  683. % arrowhead
  684. n 3723 3120 m 3843 3150 l 3723 3180 l 3723 3150 l 3723 3120 l  cp gs 0.00 setgray ef gr  col-1 s
  685. % Open spline
  686. gs  clippath
  687. 4783 3462 m 4730 3573 l 4724 3450 l 4693 3609 l 4751 3621 l  cp clip
  688. n 4770.0 3150.0 m 4770.0 3262.5 l
  689. 4770.0 3262.5 4770.0 3375.0 4747.5 3487.5 DrawSplineSection
  690. 4725.0 3600.0 l  gs col-1 s gr
  691.  gr
  692. % arrowhead
  693. n 4783 3462 m 4730 3573 l 4724 3450 l 4754 3456 l 4783 3462 l  cp gs 0.00 setgray ef gr  col-1 s
  694. % Open spline
  695. gs  clippath
  696. 3554 3532 m 3441 3583 l 3516 3485 l 3390 3586 l 3427 3633 l  cp clip
  697. n 4005.0 3150.0 m 4005.0 3262.5 l
  698. 4005.0 3262.5 4005.0 3375.0 3825.0 3397.5 DrawSplineSection
  699. 3825.0 3397.5 3645.0 3420.0 3532.5 3510.0 DrawSplineSection
  700. 3420.0 3600.0 l  gs col-1 s gr
  701.  gr
  702. % arrowhead
  703. n 3554 3532 m 3441 3583 l 3516 3485 l 3535 3508 l 3554 3532 l  cp gs 0.00 setgray ef gr  col-1 s
  704. /Times-Roman ff 150.00 scf sf
  705. 540 900 m
  706. gs 1 -1 sc (utility) col-1 sh gr
  707. /Times-Roman ff 150.00 scf sf
  708. 540 2505 m
  709. gs 1 -1 sc (sortClause) col-1 sh gr
  710. /Times-Roman ff 150.00 scf sf
  711. 540 2790 m
  712. gs 1 -1 sc (unique) col-1 sh gr
  713. /Times-Roman ff 150.00 scf sf
  714. 540 3075 m
  715. gs 1 -1 sc (rtable) col-1 sh gr
  716. /Times-Roman ff 150.00 scf sf
  717. 540 3600 m
  718. gs 1 -1 sc (qual) col-1 sh gr
  719. /Times-Roman ff 150.00 scf sf
  720. 540 3315 m
  721. gs 1 -1 sc (targetlist) col-1 sh gr
  722. /Times-Roman ff 150.00 scf sf
  723. 540 3885 m
  724. gs 1 -1 sc (groupClause) col-1 sh gr
  725. /Times-Roman ff 150.00 scf sf
  726. 540 5220 m
  727. gs 1 -1 sc (intersectClause) col-1 sh gr
  728. /Times-Roman ff 150.00 scf sf
  729. 540 1170 m
  730. gs 1 -1 sc (resultRelation:    0) col-1 sh gr
  731. /Times-Roman ff 150.00 scf sf
  732. 540 1980 m
  733. gs 1 -1 sc (isBinary:         false) col-1 sh gr
  734. /Times-Roman ff 150.00 scf sf
  735. 540 2265 m
  736. gs 1 -1 sc (union_all:        false) col-1 sh gr
  737. /Times-Roman ff 150.00 scf sf
  738. 540 4410 m
  739. gs 1 -1 sc (hasAggs:         false) col-1 sh gr
  740. /Times-Roman ff 150.00 scf sf
  741. 540 4695 m
  742. gs 1 -1 sc (hasSublinks:    false) col-1 sh gr
  743. /Times-Roman ff 150.00 scf sf
  744. 945 360 m
  745. gs 1 -1 sc (Query) col-1 sh gr
  746. /Times-Roman ff 150.00 scf sf
  747. 540 630 m
  748. gs 1 -1 sc (command:           1) col-1 sh gr
  749. /Times-Roman ff 150.00 scf sf
  750. 2520 5400 m
  751. gs 1 -1 sc (opType:  OP) col-1 sh gr
  752. /Times-Roman ff 150.00 scf sf
  753. 2520 5925 m
  754. gs 1 -1 sc (args) col-1 sh gr
  755. /Times-Roman ff 150.00 scf sf
  756. 2790 5175 m
  757. gs 1 -1 sc (Expr) col-1 sh gr
  758. /Times-Roman ff 150.00 scf sf
  759. 4095 5175 m
  760. gs 1 -1 sc (Oper) col-1 sh gr
  761. /Times-Roman ff 150.00 scf sf
  762. 3960 5400 m
  763. gs 1 -1 sc (opno:  96) col-1 sh gr
  764. /Times-Roman ff 150.00 scf sf
  765. 3960 5670 m
  766. gs 1 -1 sc (opid:     0) col-1 sh gr
  767. /Times-Roman ff 150.00 scf sf
  768. 3240 6705 m
  769. gs 1 -1 sc (VAR) col-1 sh gr
  770. /Times-Roman ff 150.00 scf sf
  771. 3060 6930 m
  772. gs 1 -1 sc (varno:     1) col-1 sh gr
  773. /Times-Roman ff 150.00 scf sf
  774. 4365 6930 m
  775. gs 1 -1 sc (varno:     2) col-1 sh gr
  776. /Times-Roman ff 150.00 scf sf
  777. 4545 6705 m
  778. gs 1 -1 sc (VAR) col-1 sh gr
  779. /Times-Roman ff 150.00 scf sf
  780. 3060 7200 m
  781. gs 1 -1 sc (varattno: 2) col-1 sh gr
  782. /Times-Roman ff 150.00 scf sf
  783. 4365 7200 m
  784. gs 1 -1 sc (varattno: 2) col-1 sh gr
  785. /Times-Roman ff 150.00 scf sf
  786. 2520 2475 m
  787. gs 1 -1 sc (opType:  OP) col-1 sh gr
  788. /Times-Roman ff 150.00 scf sf
  789. 2520 3000 m
  790. gs 1 -1 sc (args) col-1 sh gr
  791. /Times-Roman ff 150.00 scf sf
  792. 2790 2250 m
  793. gs 1 -1 sc (Expr) col-1 sh gr
  794. /Times-Roman ff 150.00 scf sf
  795. 4545 3780 m
  796. gs 1 -1 sc (Const) col-1 sh gr
  797. /Times-Roman ff 150.00 scf sf
  798. 3240 3780 m
  799. gs 1 -1 sc (VAR) col-1 sh gr
  800. /Times-Roman ff 150.00 scf sf
  801. 3060 4004 m
  802. gs 1 -1 sc (varno:     1) col-1 sh gr
  803. /Times-Roman ff 150.00 scf sf
  804. 3060 4275 m
  805. gs 1 -1 sc (varattno: 2) col-1 sh gr
  806. /Times-Roman ff 150.00 scf sf
  807. 4320 4005 m
  808. gs 1 -1 sc (constvalue: 2) col-1 sh gr
  809. /Times-Roman ff 150.00 scf sf
  810. 540 4935 m
  811. gs 1 -1 sc (unionClause) col-1 sh gr
  812. /Times-Roman ff 150.00 scf sf
  813. 540 4125 m
  814. gs 1 -1 sc (havingQual) col-1 sh gr
  815. /Times-Roman ff 150.00 scf sf
  816. 540 1455 m
  817. gs 1 -1 sc (into) col-1 sh gr
  818. /Times-Roman ff 150.00 scf sf
  819. 540 1695 m
  820. gs 1 -1 sc (isPortal:          false) col-1 sh gr
  821. /Times-Roman ff 150.00 scf sf
  822. 2520 5685 m
  823. gs 1 -1 sc (oper) col-1 sh gr
  824. /Times-Roman ff 150.00 scf sf
  825. 2520 2760 m
  826. gs 1 -1 sc (oper) col-1 sh gr
  827. /Times-Roman ff 150.00 scf sf
  828. 2520 1080 m
  829. gs 1 -1 sc (opType: AND) col-1 sh gr
  830. /Times-Roman ff 150.00 scf sf
  831. 2520 1605 m
  832. gs 1 -1 sc (args) col-1 sh gr
  833. /Times-Roman ff 150.00 scf sf
  834. 2790 855 m
  835. gs 1 -1 sc (Expr) col-1 sh gr
  836. /Times-Roman ff 150.00 scf sf
  837. 2520 1365 m
  838. gs 1 -1 sc (oper) col-1 sh gr
  839. showpage
  840. $F2psEnd
  841. rs
  842. %%EndDocument
  843.  @endspecial 464 2935 a(Figure)12 b(3.5:)j(T)n(ransformed)d
  844. Fp(wher)n(e)i(clause)f Ft(for)e(query)h(of)g(e)o(xample)g(3.1)p
  845. eop
  846. %%Page: 58 58
  847. 58 57 bop 270 60 a Ft(58)82 b Fm(CHAPTER)14 b(3.)28 b(POSTGRESQL)13
  848. b(FR)n(OM)f(THE)i(PR)n(OGRAMMER'S)f(POINT)f(OF)g(VIEW)270
  849. 234 y Fi(3.4)71 b(The)18 b(P)o(ostgr)o(eSQL)e(Rule)h(System)270
  850. 349 y Ft(PostgreSQL)c(supports)g(a)h(po)o(werful)e Fp(rule)h(system)i
  851. Ft(for)d(the)h(speci02cation)h(of)f Fp(vie)o(ws)h Ft(and)f(ambiguous)
  852. 270 409 y Fp(vie)o(w)g(updates)p Ft(.)j(Originally)11
  853. b(the)h(PostgreSQL)g Fp(rule)h(system)g Ft(consisted)g(of)f(two)g
  854. (implementations.)345 471 y(The)18 b(02rst)g(one)f(worked)g(using)h
  855. Fp(tuple)f(le)o(vel)i Ft(processing)f(and)f(was)h(implemented)f(deep)h
  856. (in)g(the)270 531 y Fp(e)o(xecutor)p Ft(.)35 b(The)19
  857. b Fp(rule)g(system)g Ft(was)g(called)f(whene)o(v)o(er)h(an)f(indi)o
  858. (vidual)g(tuple)g(had)h(been)f(accessed.)270 591 y(This)11
  859. b(implementation)d(has)j(been)f(remo)o(v)o(ed)f(in)h(1995)g(when)g(the)
  860. g(last)g(of)o(02cial)f(release)h(of)f(the)h(Postgres)270
  861. 650 y(project)i(was)g(further)f(enhanced)i(to)f(Postgres95.)345
  862. 712 y(The)22 b(second)h(implementation)d(of)i(the)g Fp(rule)g(system)h
  863. Ft(is)f(a)g(technique)g(called)g Fp(query)g(r)n(e)o(writ-)270
  864. 772 y(ing)p Ft(.)32 b(The)18 b Fp(r)n(e)o(write)h(system)g
  865. Ft(is)f(a)g(module)f(that)h(e)o(xists)g(between)g(the)g
  866. Fp(parser)g(stage)f Ft(and)h(the)g Fp(plan-)270 832 y(ner/optimizer)p
  867. Ft(.)e(This)d(technique)f(is)h(still)f(implemented.)345
  868. 894 y(F)o(or)h(information)f(on)i(the)f(syntax)h(and)g(creation)f(of)g
  869. Fp(rules)i Ft(in)e(the)h(PostgreSQL)f(system)h(refer)f(to)270
  870. 953 y(section)g(2.5.8)g Fp(Rules)g(in)f(P)l(ostgr)n(eSQL)p
  871. Ft(.)270 1107 y Fh(3.4.1)59 b(The)15 b(Rewrite)e(System)270
  872. 1205 y Ft(The)g Fp(query)g(r)n(e)o(write)h Ft(system)e(is)h(a)g(module)
  873. e(between)i(the)f Fp(parser)h(stage)f Ft(and)g(the)h
  874. Fp(planner/optimizer)p Ft(.)270 1264 y(It)e(processes)h(the)g(tree)f
  875. (handed)g(back)g(by)h(the)f Fp(parser)h(stage)f Ft((which)f
  876. (represents)i(a)f(user)h(query))e(and)i(if)270 1324
  877. y(there)h(is)g(a)h Fp(rule)f Ft(present)h(that)f(has)g(to)g(be)h
  878. (applied)f(to)g(the)g(query)g(it)g Fp(r)n(e)o(writes)i
  879. Ft(the)e(tree)g(to)g(an)g(alternate)270 1384 y(form.)270
  880. 1528 y Fn(T)-5 b(echniques)12 b(T)-5 b(o)13 b(Implement)g(V)n(iews)270
  881. 1625 y Ft(No)o(w)f(will)h(sketch)f(the)h(algorithm)f(of)g(the)h
  882. Fp(query)g(r)n(e)o(write)h(system)p Ft(.)k(F)o(or)12
  883. b(better)g(illustration)g(we)h(sho)o(w)270 1685 y(ho)o(w)f(to)g
  884. (implement)g Fp(vie)o(ws)h Ft(using)g(rules)f(as)h(an)f(e)o(xample.)270
  885. 1805 y(Let)h(the)f(follo)o(wing)f Fp(rule)i Ft(be)f(gi)o(v)o(en:)330
  886. 1913 y Fr(create)29 b(rule)g(view_rule)330 1972 y(as)g(on)h(select)330
  887. 2032 y(to)f(test_view)330 2092 y(do)g(instead)419 2152
  888. y(select)h(s.sname,)f(p.pname)419 2211 y(from)h(supplier)f(s,)h(sells)f
  889. (se,)g(part)h(p)419 2271 y(where)g(s.sno)f(=)h(se.sno)f(and)599
  890. 2331 y(p.pno)g(=)h(se.pno;)270 2437 y Ft(The)22 b(gi)o(v)o(en)f
  891. Fp(rule)h Ft(will)f(be)g Fp(02r)n(ed)h Ft(whene)o(v)o(er)f(a)h
  892. Fr(select)e Ft(against)i(the)f Fp(r)n(elation)g Fr(test)p
  893. 1881 2437 15 2 v 18 w(view)g Ft(is)270 2497 y(detected.)16
  894. b(Instead)c(of)f(selecting)h(the)g(tuples)g(from)f Fr(test)p
  895. 1298 2497 V 17 w(view)h Ft(the)f Fr(select)h Ft(statement)g(gi)o(v)o
  896. (en)f(in)270 2556 y(the)h Fp(action)g(part)h Ft(of)f(the)g
  897. Fp(rule)h Ft(is)f(e)o(x)o(ecuted.)270 2676 y(Let)h(the)f(follo)o(wing)f
  898. (user)o(-query)h(against)g Fr(test)p 1128 2676 V 17 w(view)g
  899. Ft(be)h(gi)o(v)o(en:)330 2784 y Fr(select)29 b(sname)330
  900. 2844 y(from)g(test_view)330 2903 y(where)g(sname)g(<>)h('Smith';)270
  901. 3009 y Ft(Here)17 b(is)g(a)g(list)g(of)f(the)h(steps)g(performed)f(by)g
  902. (the)h Fp(query)h(r)n(e)o(write)g(system)f Ft(whene)o(v)o(er)g(a)g
  903. (user)o(-query)270 3069 y(against)k Fr(test)p 555 3069
  904. V 17 w(view)g Ft(appears.)41 b((The)21 b(follo)o(wing)e(listing)h(is)h
  905. (a)g(v)o(ery)g(informal)e(description)i(of)270 3129 y(the)e(algorithm)f
  906. (just)h(intended)f(for)g(basic)i(understanding.)35 b(F)o(or)18
  907. b(a)h(detailed)g(description)f(refer)g(to)270 3189 y([ST)o(ON89]).)345
  908. 3294 y Fo(17)25 b Ft(T)l(ake)12 b(the)g(query)g(gi)o(v)o(en)g(in)h
  909. (the)f Fp(action)g(part)g Ft(of)g(the)h Fp(rule)p Ft(.)345
  910. 3402 y Fo(17)25 b Ft(Adapt)9 b(the)g Fp(tar)n(getlist)g
  911. Ft(to)h(meet)f(the)h(number)e(and)i(order)f(of)g(attrib)o(utes)g(gi)o
  912. (v)o(en)g(in)g(the)h(user)o(-query)m(.)p eop
  913. %%Page: 59 59
  914. 59 58 bop 198 60 a Fm(3.5.)29 b(PLANNER/OPTIMIZER)1139
  915. b Ft(59)273 234 y Fo(17)25 b Ft(Add)12 b(the)g(quali02cation)f(gi)o
  916. (v)o(en)i(in)f(the)g Fp(wher)n(e)h(clause)g Ft(of)f(the)g(user)o
  917. (-query)g(to)g(the)g(quali02cation)323 294 y(of)f(the)i(query)f(gi)o
  918. (v)o(en)g(in)g(the)g Fp(action)g(part)h Ft(of)f(the)g
  919. Fp(rule)p Ft(.)198 394 y(Gi)o(v)o(en)e(the)g Fp(rule)g(de02nition)g
  920. Ft(abo)o(v)o(e,)h(the)f(user)o(-query)f(will)h(be)g(re)o(written)f(to)h
  921. (the)g(follo)o(wing)f(form)g((Note)198 454 y(that)14
  922. b(the)h Fp(r)n(e)o(writing)g Ft(is)g(done)f(on)h(the)f(internal)g
  923. (representation)g(of)g(the)g(user)o(-query)g(handed)h(back)f(by)198
  924. 513 y(the)e Fp(parser)h(stage)f Ft(b)o(ut)g(the)g(deri)o(v)o(ed)g(ne)o
  925. (w)g(data)h(structure)f(will)g(represent)g(the)g(follo)o(wing)f
  926. (query):)258 614 y Fr(select)29 b(s.sname)258 673 y(from)g(supplier)g
  927. (s,)h(sells)f(se,)h(part)f(p)258 733 y(where)g(s.sno)g(=)h(se.sno)f
  928. (and)437 793 y(p.pno)g(=)h(se.pno)f(and)437 853 y(s.sname)g(<>)h
  929. ('Smith;)198 1022 y Fi(3.5)71 b(Planner/Optimizer)198
  930. 1133 y Ft(The)10 b(task)h(of)e(the)h Fp(planner/optimizer)g
  931. Ft(is)g(to)f(create)h(an)g(optimal)f Fp(e)o(xecution)h(plan)p
  932. Ft(.)15 b(It)9 b(02rst)g(combines)h(all)198 1193 y(possible)k(ways)f
  933. (of)g Fp(scanning)g Ft(and)g Fp(joining)g Ft(the)g Fp(r)n(elations)h
  934. Ft(that)f(appear)g(in)g(a)g(query)m(.)18 b(All)13 b(the)g(created)198
  935. 1253 y(paths)h(lead)g(to)g(the)g(same)g(result)g(and)g(it')m(s)f(the)h
  936. Fp(optimizer')n(s)g Ft(task)h(to)e(estimate)h(the)g(cost)g(of)g(e)o(x)o
  937. (ecuting)198 1313 y(each)f(path)f(and)g(02nd)g(out)g(which)h(one)f
  938. (is)h(the)f(cheapest.)198 1456 y Fh(3.5.1)59 b(Generating)13
  939. b(P)o(ossible)h(Plans)198 1550 y Ft(The)j Fp(planner/optimizer)f
  940. Ft(decides)h(which)f(plans)g(should)g(be)g(generated)g(based)h(upon)f
  941. (the)g(types)h(of)198 1609 y(indices)g(de02ned)g(on)g(the)g
  942. (relations)g(appearing)g(in)g(a)g(query)m(.)29 b(There)18
  943. b(is)f(always)g(the)g(possibility)g(of)198 1669 y(performing)10
  944. b(a)j Fp(sequential)f(scan)g Ft(on)g(a)h(relation,)f(so)g(a)g
  945. Fp(plan)g Ft(using)g(only)g Fp(sequential)g(scans)h Ft(is)g(always)198
  946. 1729 y(created.)j(Assume)c(an)h(inde)o(x)f(is)g(de02ned)g(on)g(a)h
  947. (relation)e((for)g(e)o(xample)h(a)h(B-tree)e(inde)o(x))h(and)g(a)h
  948. (query)198 1789 y(contains)20 b(the)f(restriction)g Fp(r)n
  949. (elation.attrib)o(ute)12 b(OPR)i(constant)o Ft(.)38 b(If)19
  950. b Fp(r)n(elation.attrib)o(ute)g Ft(happens)h(to)198 1848
  951. y(match)e(the)g(ke)o(y)f(of)h(the)g(B-tree)f(inde)o(x)h(and)g
  952. Fp(OPR)h Ft(is)f(an)o(ything)f(b)o(ut)h(')p Fo(6)p Fl(=)p
  953. Ft(')f(another)g(plan)h(is)g(created)198 1908 y(using)h(the)f(B-tree)h
  954. (inde)o(x)f(to)h(scan)g(the)g(relation.)34 b(If)18 b(there)g(are)h
  955. (further)e(indices)i(present)f(and)h(the)198 1968 y(restrictions)10
  956. b(in)h(the)g(query)g(happen)f(to)h(match)g(a)g(ke)o(y)g(of)f(an)h(inde)
  957. o(x)g(further)f(plans)h(will)g(be)g(considered.)273 2028
  958. y(After)g(all)h(feasible)h(plans)f(ha)o(v)o(e)h(been)g(found)e(for)h
  959. (scanning)g(single)h Fp(r)n(elations)p Ft(,)g(plans)f(for)g(joining)198
  960. 2088 y Fp(r)n(elations)i Ft(are)f(created.)20 b(The)14
  961. b Fp(planner/optimizer)g Ft(considers)f(only)h(joins)f(between)h(e)o(v)
  962. o(ery)f(two)g Fp(r)n(ela-)198 2147 y(tions)j Ft(for)g(which)g(there)h
  963. (e)o(xists)g(a)g(corresponding)e Fp(join)h(clause)h Ft((i.e.)28
  964. b(for)16 b(which)g(a)h(restriction)f(like)198 2207 y
  965. Fk(:)8 b(:)g(:)18 b Fp(wher)n(e)g(r)n(el1.attr1=r)n(el2.attr2)h
  966. Ft(e)o(xists))f(in)f(the)h Fp(wher)n(e)g(quali02cation)p
  967. Ft(.)30 b(All)18 b(possible)f(plans)h(are)198 2267 y(generated)13
  968. b(for)g(e)o(v)o(ery)h(join)f(pair)g(considered)h(by)f(the)h
  969. Fp(planner/optimizer)p Ft(.)20 b(The)14 b(three)f(possible)h(join)198
  970. 2327 y(strate)o(gies)f(are:)273 2427 y Fo(17)25 b Fp(nested)13
  971. b(iter)o(ation)g(join)p Ft(:)j(The)e(right)e Fp(r)n(elation)h
  972. Ft(is)h(scanned)g(once)f(for)f(e)o(v)o(ery)h(tuple)g(found)f(in)h(the)
  973. 323 2487 y(left)e Fp(r)n(elation)p Ft(.)16 b(This)d(strate)o(gy)g(is)f
  974. (easy)h(to)f(implement)g(b)o(ut)g(can)h(be)f(v)o(ery)g(time)g
  975. (consuming.)273 2587 y Fo(17)25 b Fp(mer)n(ge)15 b(sort)g(join)p
  976. Ft(:)20 b(Each)c(relation)e(is)h(sorted)g(on)g(the)g
  977. Fp(join)g(attrib)o(utes)g Ft(before)f(the)h(join)f(starts.)323
  978. 2647 y(Then)i(the)h(two)e(relations)i(are)f Fp(mer)n(ged)g(together)g
  979. Ft(taking)g(into)g(account)g(that)h(both)f Fp(r)n(elations)323
  980. 2706 y Ft(are)d(ordered)f(on)h(the)g Fp(join)g(attrib)o(utes)p
  981. Ft(.)18 b(This)c(kind)f(of)g(join)g(is)g(more)g(attracti)o(v)o(e)f
  982. (because)i(e)o(v)o(ery)323 2766 y Fp(r)n(elation)e Ft(has)h(to)f(be)g
  983. (scanned)h(only)f(once.)273 2866 y Fo(17)25 b Fp(hash)11
  984. b(join)p Ft(:)j(the)d(right)f Fp(r)n(elation)h Ft(is)g(02rst)g
  985. (hashed)g(on)g(its)g Fp(join)g(attrib)o(utes)p Ft(.)k(Ne)o(xt)d(the)f
  986. (left)f Fp(r)n(elation)323 2926 y Ft(is)k(scanned)i(and)e(the)h
  987. (appropriate)e(v)o(alues)i(of)f(e)o(v)o(ery)g(tuple)h(found)e(are)i
  988. (used)g(as)g Fp(hash)g(ke)o(ys)f Ft(to)323 2986 y(locate)e(the)g
  989. (tuples)h(in)f(the)g(right)g Fp(r)n(elation)p Ft(.)198
  990. 3129 y Fh(3.5.2)59 b(Data)15 b(Structur)o(e)f(of)g(the)h(Plan)198
  991. 3223 y Ft(Here)e(we)g(will)g(gi)o(v)o(e)g(a)h(little)f(description)f
  992. (of)h(the)g(nodes)h(appearing)e(in)i(the)f Fp(plan)p
  993. Ft(.)18 b(Figure)12 b(3.6)i(sho)o(ws)198 3283 y(the)e
  994. Fp(plan)g Ft(produced)g(for)g(the)g(query)g(in)g(e)o(xample)h(3.1.)273
  995. 3342 y(The)d(top)g(node)g(of)g(the)g Fp(plan)f Ft(is)i(a)f
  996. Fr(MergeJoin)f Ft(node)h(which)g(has)g(two)g(successors,)i(one)e
  997. (attached)198 3402 y(to)18 b(the)f(02eld)h Fr(lefttree)f
  998. Ft(and)h(the)f(second)i(attached)e(to)h(the)g(02eld)f
  999. Fr(righttree)p Ft(.)31 b(Each)19 b(of)e(the)p eop
  1000. %%Page: 60 60
  1001. 60 59 bop 270 60 a Ft(60)82 b Fm(CHAPTER)14 b(3.)28 b(POSTGRESQL)13
  1002. b(FR)n(OM)f(THE)i(PR)n(OGRAMMER'S)f(POINT)f(OF)g(VIEW)270
  1003. 234 y Ft(subnodes)f(represents)f(one)g Fp(r)n(elation)h
  1004. Ft(of)f(the)g(join.)15 b(As)10 b(mentioned)g(abo)o(v)o(e)h(a)f
  1005. Fp(mer)n(ge)h(sort)g(join)f Ft(requires)270 294 y(each)h
  1006. Fp(r)n(elation)f Ft(to)g(be)g(sorted.)15 b(That')m(s)c(why)f(we)h
  1007. (02nd)e(a)i Fr(Sort)f Ft(node)g(in)g(each)h(subplan.)k(The)c
  1008. (additional)270 354 y(quali02cation)19 b(gi)o(v)o(en)g(in)g(the)h
  1009. (query)f(()p Fk(s:sno)27 b(>)f Fl(2)p Ft())20 b(is)f(pushed)h(do)o
  1010. (wn)f(as)h(far)e(as)i(possible)g(and)g(is)270 413 y(attached)12
  1011. b(to)h(the)f Fr(qpqual)g Ft(02eld)g(of)g(the)g(leaf)g
  1012. Fr(SeqScan)g Ft(node)g(of)g(the)g(corresponding)g(subplan.)345
  1013. 494 y(The)k(list)f(attached)g(to)g(the)h(02eld)f Fr(mergeclauses)f
  1014. Ft(of)g(the)i Fr(MergeJoin)e Ft(node)h(contains)h(in-)270
  1015. 554 y(formation)e(about)h(the)g Fr(join)30 b(attributes)p
  1016. Ft(.)23 b(The)16 b(v)o(alues)g Fl(65000)f Ft(and)g Fl(65001)g
  1017. Ft(for)f(the)i Fr(varno)270 613 y Ft(02elds)f(in)f(the)h
  1018. Fr(VAR)g Ft(nodes)g(appearing)f(in)h(the)g Fr(mergeclauses)e
  1019. Ft(list)i((and)f(also)h(in)g(the)g Fp(tar)n(getlist)p
  1020. Ft())270 673 y(mean)d(that)g(not)g(the)g(tuples)g(of)g(the)g(current)f
  1021. (node)i(should)f(be)g(considered)g(b)o(ut)g(the)g(tuples)g(of)g(the)g
  1022. (ne)o(xt)270 733 y(224deeper224)g(nodes)h((i.e.)j(the)c(top)g(nodes)
  1023. h(of)f(the)g(subplans))h(should)f(be)h(used)f(instead.)345
  1024. 813 y(Note)i(that)g(e)o(v)o(ery)h Fr(Sort)f Ft(and)g
  1025. Fr(SeqScan)g Ft(node)h(appearing)f(in)g(02gure)g(3.6)g(has)h(got)g(a)
  1026. f Fp(tar)n(getlist)270 873 y Ft(b)o(ut)g(because)h(there)g(was)f(not)g
  1027. (enough)h(space)g(only)f(the)g(one)h(for)e(the)i Fr(MergeJoin)e
  1028. Ft(node)i(could)f(be)270 933 y(dra)o(wn.)345 1013 y(Another)c(task)i
  1029. (performed)d(by)i(the)g Fp(planner/optimizer)g Ft(is)h(02xing)e(the)h
  1030. Fp(oper)o(ator)h(ids)f Ft(in)g(the)g Fr(Expr)270 1073
  1031. y Ft(and)16 b Fr(Oper)h Ft(nodes.)28 b(As)17 b(mentioned)e(earlier)n(,)
  1032. j(PostgreSQL)e(supports)g(a)h(v)o(ariety)e(of)h(dif)o(ferent)f(data)270
  1033. 1133 y(types)f(and)f(e)o(v)o(en)g(user)h(de02ned)f(types)g(can)h(be)f
  1034. (used.)20 b(T)l(o)13 b(be)h(able)f(to)g(maintain)g(the)g(huge)h(amount)
  1035. f(of)270 1193 y(functions)h(and)g(operators)g(it)g(is)h(necessary)g(to)
  1036. f(store)h(them)f(in)g(a)h Fp(system)g(table)p Ft(.)22
  1037. b(Each)15 b(function)e(and)270 1253 y(operator)e(gets)i(a)g(unique)f
  1038. Fp(oper)o(ator)h(id)p Ft(.)j(According)11 b(to)h(the)h(types)f(of)g
  1039. (the)h(attrib)o(utes)f(used)g(within)g(the)270 1312 y(quali02cations)
  1040. g(etc.,)h(the)g(appropriate)e Fp(oper)o(ator)i(ids)g
  1041. Ft(ha)o(v)o(e)f(to)h(be)f(used.)270 1594 y Fi(3.6)71
  1042. b(Executor)270 1745 y Ft(The)12 b Fp(e)o(xecutor)f Ft(takes)g(the)g
  1043. Fp(plan)g Ft(handed)g(back)g(by)g(the)g Fp(planner/optimizer)g
  1044. Ft(and)g(starts)g(processing)g(the)270 1804 y(top)16
  1045. b(node.)27 b(In)15 b(the)h(case)h(of)f(our)f(e)o(xample)i((the)e
  1046. (query)h(gi)o(v)o(en)g(in)g(e)o(xample)g(3.1))g(the)g(top)g(node)g(is)
  1047. g(a)270 1864 y Fr(MergeJoin)11 b Ft(node.)345 1945 y(Before)i(an)o(y)h
  1048. (mer)o(ge)f(can)g(be)h(done)f(two)g(tuples)h(ha)o(v)o(e)g(to)f(be)h
  1049. (fetched)f((one)g(from)f(each)i(subplan).)270 2004
  1050. y(So)i(the)g Fp(e)o(xecutor)h Ft(recursi)o(v)o(ely)f(calls)g(itself)g
  1051. (to)g(process)h(the)f(subplans)h((it)e(starts)i(with)f(the)g(subplan)
  1052. 270 2064 y(attached)10 b(to)g Fr(lefttree)p Ft().)j(The)e(ne)o(w)f
  1053. (top)f(node)h((the)g(top)f(node)h(of)g(the)f(left)h(subplan))f(is)i
  1054. (a)f Fr(SeqScan)270 2124 y Ft(node)19 b(and)f(again)h(a)g(tuple)f(has)h
  1055. (to)g(be)g(fetched)f(before)g(the)h(node)f(itself)h(can)f(be)h
  1056. (processed.)36 b(The)270 2184 y Fp(e)o(xecutor)13 b Ft(calls)g(itself)f
  1057. (recursi)o(v)o(ely)f(another)h(time)g(for)g(the)g(subplan)g(attached)h
  1058. (to)f Fr(lefttree)f Ft(of)h(the)270 2244 y Fr(SeqScan)g
  1059. Ft(node.)345 2324 y(No)o(w)g(the)g(ne)o(w)g(top)h(node)f(is)h(a)f
  1060. Fr(Sort)g Ft(node.)k(As)d(a)g(sort)f(has)h(to)f(be)g(done)h(on)f(the)g
  1061. (whole)h Fp(r)n(elation)p Ft(,)270 2384 y(the)18 b Fp(e)o(xecutor)h
  1062. Ft(starts)f(fetching)f(tuples)h(from)f(the)h Fr(Sort)g
  1063. Ft(node')m(s)g(subplan)g(and)g(sorts)h(them)e(into)h(a)270
  1064. 2444 y(temporary)13 b(relation)h((in)f(memory)h(or)f(a)i(02le))e
  1065. (when)i(the)f Fr(Sort)g Ft(node)g(is)g(visited)h(for)e(the)h(02rst)g
  1066. (time.)270 2503 y((Further)e(e)o(xaminations)i(of)g(the)g
  1067. Fr(Sort)f Ft(node)h(will)g(always)f(return)g(just)h(one)g(tuple)g(from)
  1068. e(the)i(sorted)270 2563 y(temporary)d Fp(r)n(elation)p
  1069. Ft(.))345 2644 y(Ev)o(ery)k(time)g(the)g(processing)g(of)f(the)h
  1070. Fr(Sort)g Ft(node)g(needs)g(a)h(ne)o(w)e(tuple)h(the)g
  1071. Fp(e)o(xecutor)h Ft(is)f(recur)o(-)270 2703 y(si)o(v)o(ely)i(called)g
  1072. (for)f(the)g Fr(SeqScan)g Ft(node)h(attached)g(as)g(subplan.)29
  1073. b(The)17 b Fp(r)n(elation)g Ft((internally)e(refer)o(-)270
  1074. 2763 y(enced)i(by)g(the)f(v)o(alue)h(gi)o(v)o(en)f(in)h(the)f
  1075. Fr(scanrelid)g Ft(02eld))g(is)h(scanned)g(for)f(the)h(ne)o(xt)g
  1076. (tuple.)28 b(If)16 b(the)270 2823 y(tuple)h(satis02es)h(the)f
  1077. (quali02cation)g(gi)o(v)o(en)g(by)g(the)g(tree)g(attached)h(to)f
  1078. Fr(qpqual)g Ft(it)g(is)g(handed)h(back,)270 2883 y(otherwise)12
  1079. b(the)h(ne)o(xt)f(tuple)h(is)g(fetched)f(until)g(the)g(quali02cation)
  1080. g(is)h(satis02ed.)k(If)11 b(the)i(last)g(tuple)f(of)g(the)270
  1081. 2942 y Fp(r)n(elation)g Ft(has)h(been)g(processed)g(a)f
  1082. Fr(NULL)g Ft(pointer)g(is)g(returned.)345 3023 y(After)23
  1083. b(a)i(tuple)f(has)h(been)f(handed)h(back)f(by)g(the)h
  1084. Fr(lefttree)e Ft(of)h(the)h Fr(MergeJoin)e Ft(the)270
  1085. 3083 y Fr(righttree)16 b Ft(is)h(processed)g(in)g(the)g(same)g(way)m(.)
  1086. 28 b(If)17 b(both)f(tuples)h(are)g(present)f(the)h(e)o(x)o(ecutor)g
  1087. (pro-)270 3142 y(cesses)d(the)e Fr(MergeJoin)f Ft(node.)16
  1088. b(Whene)o(v)o(er)c(a)h(ne)o(w)f(tuple)g(from)f(one)h(of)g(the)g
  1089. (subplans)h(is)f(needed)h(a)270 3202 y(recursi)o(v)o(e)g(call)f(to)h
  1090. (the)g Fp(e)o(xecutor)h Ft(is)f(performed)e(to)i(obtain)f(it.)18
  1091. b(If)12 b(a)h Fp(joined)f Ft(tuple)h(could)g(be)g(created)f(it)270
  1092. 3262 y(is)h(handed)f(back)g(and)h(one)f(complete)g(processing)h(of)f
  1093. (the)g Fp(plan)g(tr)n(ee)h Ft(has)g(02nished.)345 3342
  1094. y(No)o(w)j(the)g(described)g(steps)h(are)f(performed)f(once)h(for)g(e)o
  1095. (v)o(ery)g(tuple,)h(until)f(a)g Fr(NULL)g Ft(pointer)g(is)270
  1096. 3402 y(returned)11 b(for)h(the)g(processing)h(of)f(the)g
  1097. Fr(MergeJoin)g Ft(node,)g(indicating)g(that)g(we)h(are)f(02nished.)p
  1098. eop
  1099. %%Page: 61 61
  1100. 61 60 bop 198 60 a Fm(3.6.)29 b(EXECUT)o(OR)1384 b Ft(61)243
  1101. 3011 y @beginspecial 135 @llx 135 @lly 477 @urx 656 @ury
  1102. 3420 @rwi @setspecial
  1103. %%BeginDocument: figures/plan.ps
  1104. %Magnification: 1.05
  1105. /$F2psDict 200 dict def
  1106. $F2psDict begin
  1107. $F2psDict /mtrx matrix put
  1108. /col-1 {0 setgray} bind def
  1109. /col0 {0.000 0.000 0.000 srgb} bind def
  1110. /col1 {0.000 0.000 1.000 srgb} bind def
  1111. /col2 {0.000 1.000 0.000 srgb} bind def
  1112. /col3 {0.000 1.000 1.000 srgb} bind def
  1113. /col4 {1.000 0.000 0.000 srgb} bind def
  1114. /col5 {1.000 0.000 1.000 srgb} bind def
  1115. /col6 {1.000 1.000 0.000 srgb} bind def
  1116. /col7 {1.000 1.000 1.000 srgb} bind def
  1117. /col8 {0.000 0.000 0.560 srgb} bind def
  1118. /col9 {0.000 0.000 0.690 srgb} bind def
  1119. /col10 {0.000 0.000 0.820 srgb} bind def
  1120. /col11 {0.530 0.810 1.000 srgb} bind def
  1121. /col12 {0.000 0.560 0.000 srgb} bind def
  1122. /col13 {0.000 0.690 0.000 srgb} bind def
  1123. /col14 {0.000 0.820 0.000 srgb} bind def
  1124. /col15 {0.000 0.560 0.560 srgb} bind def
  1125. /col16 {0.000 0.690 0.690 srgb} bind def
  1126. /col17 {0.000 0.820 0.820 srgb} bind def
  1127. /col18 {0.560 0.000 0.000 srgb} bind def
  1128. /col19 {0.690 0.000 0.000 srgb} bind def
  1129. /col20 {0.820 0.000 0.000 srgb} bind def
  1130. /col21 {0.560 0.000 0.560 srgb} bind def
  1131. /col22 {0.690 0.000 0.690 srgb} bind def
  1132. /col23 {0.820 0.000 0.820 srgb} bind def
  1133. /col24 {0.500 0.190 0.000 srgb} bind def
  1134. /col25 {0.630 0.250 0.000 srgb} bind def
  1135. /col26 {0.750 0.380 0.000 srgb} bind def
  1136. /col27 {1.000 0.500 0.500 srgb} bind def
  1137. /col28 {1.000 0.630 0.630 srgb} bind def
  1138. /col29 {1.000 0.750 0.750 srgb} bind def
  1139. /col30 {1.000 0.880 0.880 srgb} bind def
  1140. /col31 {1.000 0.840 0.000 srgb} bind def
  1141. end
  1142. save
  1143. 116.0 655.5 translate
  1144. 1 -1 scale
  1145. /cp {closepath} bind def
  1146. /ef {eofill} bind def
  1147. /gr {grestore} bind def
  1148. /gs {gsave} bind def
  1149. /sa {save} bind def
  1150. /rs {restore} bind def
  1151. /l {lineto} bind def
  1152. /m {moveto} bind def
  1153. /rm {rmoveto} bind def
  1154. /n {newpath} bind def
  1155. /s {stroke} bind def
  1156. /sh {show} bind def
  1157. /slc {setlinecap} bind def
  1158. /slj {setlinejoin} bind def
  1159. /slw {setlinewidth} bind def
  1160. /srgb {setrgbcolor} bind def
  1161. /rot {rotate} bind def
  1162. /sc {scale} bind def
  1163. /sd {setdash} bind def
  1164. /ff {findfont} bind def
  1165. /sf {setfont} bind def
  1166. /scf {scalefont} bind def
  1167. /sw {stringwidth} bind def
  1168. /tr {translate} bind def
  1169. /tnt {dup dup currentrgbcolor
  1170.   4 -2 roll dup 1 exch sub 3 -1 roll mul add
  1171.   4 -2 roll dup 1 exch sub 3 -1 roll mul add
  1172.   4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
  1173.   bind def
  1174. /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
  1175.   4 -2 roll mul srgb} bind def
  1176.  /DrawSplineSection {
  1177. /y3 exch def
  1178. /x3 exch def
  1179. /y2 exch def
  1180. /x2 exch def
  1181. /y1 exch def
  1182. /x1 exch def
  1183. /xa x1 x2 x1 sub 0.666667 mul add def
  1184. /ya y1 y2 y1 sub 0.666667 mul add def
  1185. /xb x3 x2 x3 sub 0.666667 mul add def
  1186. /yb y3 y2 y3 sub 0.666667 mul add def
  1187. x1 y1 lineto
  1188. xa ya xb yb x3 y3 curveto
  1189. } def
  1190. /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
  1191. /$F2psEnd {$F2psEnteredState restore end} def
  1192. $F2psBegin
  1193. 10 setmiterlimit
  1194. n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
  1195.  0.06299 0.06299 sc
  1196. 7.500 slw
  1197. % Polyline
  1198. n 315 2025 m 1215 2025 l 1215 2790 l 315 2790 l cp gs col-1 s gr 
  1199. % Polyline
  1200. n 315 2250 m 1215 2250 l gs col-1 s gr 
  1201. % Polyline
  1202. n 315 2520 m 1215 2520 l gs col-1 s gr 
  1203. % Polyline
  1204. n 945 2250 m 945 2790 l gs col-1 s gr 
  1205. /Times-Roman ff 150.00 scf sf
  1206. 495 2205 m
  1207. gs 1 -1 sc (SeqScan) col-1 sh gr
  1208. /Times-Roman ff 150.00 scf sf
  1209. 405 2700 m
  1210. gs 1 -1 sc (lefttree) col-1 sh gr
  1211. /Times-Roman ff 150.00 scf sf
  1212. 675 2475 m
  1213. gs 1 -1 sc  90.0 rot (. . . ) col-1 sh gr
  1214. % Polyline
  1215. n 630 3150 m 1530 3150 l 1530 3915 l 630 3915 l cp gs col-1 s gr 
  1216. % Polyline
  1217. n 630 3375 m 1530 3375 l gs col-1 s gr 
  1218. % Polyline
  1219. n 630 3645 m 1530 3645 l gs col-1 s gr 
  1220. % Polyline
  1221. n 1260 3375 m 1260 3915 l gs col-1 s gr 
  1222. /Times-Roman ff 150.00 scf sf
  1223. 720 3825 m
  1224. gs 1 -1 sc (lefttree) col-1 sh gr
  1225. /Times-Roman ff 150.00 scf sf
  1226. 990 3600 m
  1227. gs 1 -1 sc  90.0 rot (. . . ) col-1 sh gr
  1228. /Times-Roman ff 150.00 scf sf
  1229. 945 3330 m
  1230. gs 1 -1 sc (Sort) col-1 sh gr
  1231. % Polyline
  1232. gs  clippath
  1233. 1110 3003 m 1080 3123 l 1050 3003 l 1050 3165 l 1110 3165 l  cp clip
  1234. n 1080 2655 m 1080 3150 l gs col-1 s gr gr
  1235. % arrowhead
  1236. n 1110 3003 m 1080 3123 l 1050 3003 l 1080 3003 l 1110 3003 l  cp gs 0.00 setgray ef gr  col-1 s
  1237. % Polyline
  1238. gs  clippath
  1239. 1425 4128 m 1395 4248 l 1365 4128 l 1365 4290 l 1425 4290 l  cp clip
  1240. n 1395 3780 m 1395 4275 l gs col-1 s gr gr
  1241. % arrowhead
  1242. n 1425 4128 m 1395 4248 l 1365 4128 l 1395 4128 l 1425 4128 l  cp gs 0.00 setgray ef gr  col-1 s
  1243. % Polyline
  1244. n 945 4500 m 1845 4500 l gs col-1 s gr 
  1245. % Polyline
  1246. n 945 4770 m 1845 4770 l gs col-1 s gr 
  1247. % Polyline
  1248. n 1575 5310 m 1575 5580 l gs col-1 s gr 
  1249. % Polyline
  1250. n 945 4275 m 1845 4275 l 1845 5580 l 945 5580 l cp gs col-1 s gr 
  1251. % Polyline
  1252. n 945 5040 m 1845 5040 l gs col-1 s gr 
  1253. % Polyline
  1254. n 945 5310 m 1845 5310 l gs col-1 s gr 
  1255. % Polyline
  1256. n 1845 5310 m 1575 5580 l gs col-1 s gr 
  1257. % Polyline
  1258. n 1575 5310 m 1845 5580 l gs col-1 s gr 
  1259. % Polyline
  1260. n 1575 4500 m 1575 5040 l gs col-1 s gr 
  1261. /Times-Roman ff 150.00 scf sf
  1262. 1125 4455 m
  1263. gs 1 -1 sc (SeqScan) col-1 sh gr
  1264. /Times-Roman ff 150.00 scf sf
  1265. 1305 4725 m
  1266. gs 1 -1 sc  90.0 rot (. . . ) col-1 sh gr
  1267. /Times-Roman ff 150.00 scf sf
  1268. 1035 5490 m
  1269. gs 1 -1 sc (lefttree) col-1 sh gr
  1270. /Times-Roman ff 150.00 scf sf
  1271. 1035 4950 m
  1272. gs 1 -1 sc (qpqual) col-1 sh gr
  1273. /Times-Roman ff 150.00 scf sf
  1274. 1035 5220 m
  1275. gs 1 -1 sc (scanrelid:  1) col-1 sh gr
  1276. % Polyline
  1277. n 4590 5400 m 4590 5670 l gs col-1 s gr 
  1278. % Polyline
  1279. n 4320 5400 m 4860 5400 l 4860 5670 l 4320 5670 l cp gs col-1 s gr 
  1280. % Polyline
  1281. n 5355 5400 m 5355 5670 l gs col-1 s gr 
  1282. % Polyline
  1283. n 5085 5400 m 5625 5400 l 5625 5670 l 5085 5670 l cp gs col-1 s gr 
  1284. % Polyline
  1285. n 5355 5400 m 5625 5670 l gs col-1 s gr 
  1286. % Polyline
  1287. n 5625 5400 m 5355 5670 l gs col-1 s gr 
  1288. % Polyline
  1289. n 2430 855 m 2430 1125 l gs col-1 s gr 
  1290. % Polyline
  1291. n 2430 855 m 2700 1125 l gs col-1 s gr 
  1292. % Polyline
  1293. n 2700 855 m 2430 1125 l gs col-1 s gr 
  1294. % Polyline
  1295. n 2160 855 m 2700 855 l 2700 1125 l 2160 1125 l cp gs col-1 s gr 
  1296. % Polyline
  1297. n 1575 2025 m 2475 2025 l 2475 2790 l 1575 2790 l cp gs col-1 s gr 
  1298. % Polyline
  1299. n 1575 2250 m 2475 2250 l gs col-1 s gr 
  1300. % Polyline
  1301. n 1575 2520 m 2475 2520 l gs col-1 s gr 
  1302. % Polyline
  1303. n 2205 2250 m 2205 2790 l gs col-1 s gr 
  1304. /Times-Roman ff 150.00 scf sf
  1305. 1755 2205 m
  1306. gs 1 -1 sc (SeqScan) col-1 sh gr
  1307. /Times-Roman ff 150.00 scf sf
  1308. 1665 2700 m
  1309. gs 1 -1 sc (lefttree) col-1 sh gr
  1310. /Times-Roman ff 150.00 scf sf
  1311. 1935 2475 m
  1312. gs 1 -1 sc  90.0 rot (. . . ) col-1 sh gr
  1313. % Polyline
  1314. n 1890 3150 m 2790 3150 l 2790 3915 l 1890 3915 l cp gs col-1 s gr 
  1315. % Polyline
  1316. n 1890 3375 m 2790 3375 l gs col-1 s gr 
  1317. % Polyline
  1318. n 1890 3645 m 2790 3645 l gs col-1 s gr 
  1319. % Polyline
  1320. n 2520 3375 m 2520 3915 l gs col-1 s gr 
  1321. /Times-Roman ff 150.00 scf sf
  1322. 1980 3825 m
  1323. gs 1 -1 sc (lefttree) col-1 sh gr
  1324. /Times-Roman ff 150.00 scf sf
  1325. 2250 3600 m
  1326. gs 1 -1 sc  90.0 rot (. . . ) col-1 sh gr
  1327. /Times-Roman ff 150.00 scf sf
  1328. 2205 3330 m
  1329. gs 1 -1 sc (Sort) col-1 sh gr
  1330. % Polyline
  1331. n 3105 225 m 3645 225 l 3645 495 l 3105 495 l cp gs col-1 s gr 
  1332. % Polyline
  1333. n 3375 225 m 3375 495 l gs col-1 s gr 
  1334. % Polyline
  1335. n 3915 225 m 4455 225 l 4455 495 l 3915 495 l cp gs col-1 s gr 
  1336. % Polyline
  1337. n 4185 225 m 4185 495 l gs col-1 s gr 
  1338. % Polyline
  1339. n 4455 495 m 4185 225 l gs col-1 s gr 
  1340. % Polyline
  1341. n 4455 225 m 4185 495 l gs col-1 s gr 
  1342. % Polyline
  1343. n 3240 945 m 4140 945 l 4140 1710 l 3240 1710 l cp gs col-1 s gr 
  1344. % Polyline
  1345. n 3240 1170 m 4140 1170 l gs col-1 s gr 
  1346. % Polyline
  1347. n 3240 1440 m 4140 1440 l gs col-1 s gr 
  1348. % Polyline
  1349. n 3870 1170 m 3870 1710 l gs col-1 s gr 
  1350. /Times-Roman ff 150.00 scf sf
  1351. 3555 1125 m
  1352. gs 1 -1 sc (TLE) col-1 sh gr
  1353. /Times-Roman ff 150.00 scf sf
  1354. 3330 1620 m
  1355. gs 1 -1 sc (expr) col-1 sh gr
  1356. /Times-Roman ff 150.00 scf sf
  1357. 3330 1350 m
  1358. gs 1 -1 sc (resdom) col-1 sh gr
  1359. % Polyline
  1360. n 4590 945 m 5490 945 l 5490 1710 l 4590 1710 l cp gs col-1 s gr 
  1361. % Polyline
  1362. n 4590 1170 m 5490 1170 l gs col-1 s gr 
  1363. % Polyline
  1364. n 4590 1440 m 5490 1440 l gs col-1 s gr 
  1365. % Polyline
  1366. n 5220 1170 m 5220 1710 l gs col-1 s gr 
  1367. /Times-Roman ff 150.00 scf sf
  1368. 4905 1125 m
  1369. gs 1 -1 sc (TLE) col-1 sh gr
  1370. /Times-Roman ff 150.00 scf sf
  1371. 4680 1620 m
  1372. gs 1 -1 sc (expr) col-1 sh gr
  1373. /Times-Roman ff 150.00 scf sf
  1374. 4680 1350 m
  1375. gs 1 -1 sc (resdom) col-1 sh gr
  1376. % Polyline
  1377. n 2655 6885 m 2655 7155 l gs col-1 s gr 
  1378. % Polyline
  1379. n 2385 6885 m 2925 6885 l 2925 7155 l 2385 7155 l cp gs col-1 s gr 
  1380. % Polyline
  1381. n 3420 6885 m 3420 7155 l gs col-1 s gr 
  1382. % Polyline
  1383. n 3150 6885 m 3690 6885 l 3690 7155 l 3150 7155 l cp gs col-1 s gr 
  1384. % Polyline
  1385. n 3420 6885 m 3690 7155 l gs col-1 s gr 
  1386. % Polyline
  1387. n 3690 6885 m 3420 7155 l gs col-1 s gr 
  1388. % Polyline
  1389. gs  clippath
  1390. 4938 5505 m 5058 5535 l 4938 5565 l 5100 5565 l 5100 5505 l  cp clip
  1391. n 4725 5535 m 5085 5535 l gs col-1 s gr gr
  1392. % arrowhead
  1393. n 4938 5505 m 5058 5535 l 4938 5565 l 4938 5535 l 4938 5505 l  cp gs 0.00 setgray ef gr  col-1 s
  1394. % Polyline
  1395. n 4725 5940 m 5625 5940 l 5625 6705 l 4725 6705 l cp gs col-1 s gr 
  1396. % Polyline
  1397. gs  clippath
  1398. 2013 960 m 2133 990 l 2013 1020 l 2175 1020 l 2175 960 l  cp clip
  1399. n 1395 990 m 2160 990 l gs col-1 s gr gr
  1400. % arrowhead
  1401. n 2013 960 m 2133 990 l 2013 1020 l 2013 990 l 2013 960 l  cp gs 0.00 setgray ef gr  col-1 s
  1402. % Polyline
  1403. n 315 855 m 1530 855 l gs col-1 s gr 
  1404. % Polyline
  1405. n 315 1125 m 1530 1125 l gs col-1 s gr 
  1406. % Polyline
  1407. n 315 1395 m 1530 1395 l gs col-1 s gr 
  1408. % Polyline
  1409. n 315 585 m 1530 585 l gs col-1 s gr 
  1410. % Polyline
  1411. n 315 225 m 1530 225 l gs col-1 s gr 
  1412. % Polyline
  1413. n 2835 4770 m 3105 5040 l gs col-1 s gr 
  1414. % Polyline
  1415. n 3105 4770 m 2835 5040 l gs col-1 s gr 
  1416. % Polyline
  1417. gs  clippath
  1418. 2370 3003 m 2340 3123 l 2310 3003 l 2310 3165 l 2370 3165 l  cp clip
  1419. n 2340 2655 m 2340 3150 l gs col-1 s gr gr
  1420. % arrowhead
  1421. n 2370 3003 m 2340 3123 l 2310 3003 l 2340 3003 l 2370 3003 l  cp gs 0.00 setgray ef gr  col-1 s
  1422. % Polyline
  1423. gs  clippath
  1424. 2685 4128 m 2655 4248 l 2625 4128 l 2625 4290 l 2685 4290 l  cp clip
  1425. n 2655 3780 m 2655 4275 l gs col-1 s gr gr
  1426. % arrowhead
  1427. n 2685 4128 m 2655 4248 l 2625 4128 l 2655 4128 l 2685 4128 l  cp gs 0.00 setgray ef gr  col-1 s
  1428. % Polyline
  1429. n 2205 4500 m 3105 4500 l gs col-1 s gr 
  1430. % Polyline
  1431. n 2205 4770 m 3105 4770 l gs col-1 s gr 
  1432. % Polyline
  1433. n 2835 5310 m 2835 5580 l gs col-1 s gr 
  1434. % Polyline
  1435. n 2205 4275 m 3105 4275 l 3105 5580 l 2205 5580 l cp gs col-1 s gr 
  1436. % Polyline
  1437. n 2205 5040 m 3105 5040 l gs col-1 s gr 
  1438. % Polyline
  1439. n 2205 5310 m 3105 5310 l gs col-1 s gr 
  1440. % Polyline
  1441. n 3105 5310 m 2835 5580 l gs col-1 s gr 
  1442. % Polyline
  1443. n 2835 5310 m 3105 5580 l gs col-1 s gr 
  1444. % Polyline
  1445. n 2835 4500 m 2835 5040 l gs col-1 s gr 
  1446. % Polyline
  1447. gs  clippath
  1448. 3768 330 m 3888 360 l 3768 390 l 3930 390 l 3930 330 l  cp clip
  1449. n 3510 360 m 3915 360 l gs col-1 s gr gr
  1450. % arrowhead
  1451. n 3768 330 m 3888 360 l 3768 390 l 3768 360 l 3768 330 l  cp gs 0.00 setgray ef gr  col-1 s
  1452. % Polyline
  1453. n 4500 2250 m 5580 2250 l gs col-1 s gr 
  1454. % Polyline
  1455. n 3150 2250 m 4230 2250 l gs col-1 s gr 
  1456. % Polyline
  1457. n 3150 2025 m 4230 2025 l 4230 2520 l 3150 2520 l cp gs col-1 s gr 
  1458. % Polyline
  1459. n 4500 2025 m 5580 2025 l 5580 2520 l 4500 2520 l cp gs col-1 s gr 
  1460. % Polyline
  1461. n 3240 2835 m 4140 2835 l 4140 3600 l 3240 3600 l cp gs col-1 s gr 
  1462. % Polyline
  1463. n 3240 3060 m 4140 3060 l gs col-1 s gr 
  1464. % Polyline
  1465. n 3240 3330 m 4140 3330 l gs col-1 s gr 
  1466. % Polyline
  1467. n 4590 2835 m 5490 2835 l 5490 3600 l 4590 3600 l cp gs col-1 s gr 
  1468. % Polyline
  1469. n 4590 3060 m 5490 3060 l gs col-1 s gr 
  1470. % Polyline
  1471. n 4590 3330 m 5490 3330 l gs col-1 s gr 
  1472. % Polyline
  1473. n 4725 6165 m 5625 6165 l gs col-1 s gr 
  1474. % Polyline
  1475. n 4725 6435 m 5625 6435 l gs col-1 s gr 
  1476. % Polyline
  1477. n 3600 6165 m 4500 6165 l gs col-1 s gr 
  1478. % Polyline
  1479. n 3600 6435 m 4500 6435 l gs col-1 s gr 
  1480. % Polyline
  1481. n 3600 5940 m 4500 5940 l 4500 6705 l 3600 6705 l cp gs col-1 s gr 
  1482. % Polyline
  1483. n 945 6165 m 1935 6165 l gs col-1 s gr 
  1484. % Polyline
  1485. n 945 6435 m 1935 6435 l gs col-1 s gr 
  1486. % Polyline
  1487. n 945 6705 m 1935 6705 l gs col-1 s gr 
  1488. % Polyline
  1489. n 945 5940 m 1935 5940 l 1935 6975 l 945 6975 l cp gs col-1 s gr 
  1490. % Polyline
  1491. n 1665 6975 m 1665 6435 l gs col-1 s gr 
  1492. % Polyline
  1493. gs  clippath
  1494. 3003 6990 m 3123 7020 l 3003 7050 l 3165 7050 l 3165 6990 l  cp clip
  1495. n 2790 7020 m 3150 7020 l gs col-1 s gr gr
  1496. % arrowhead
  1497. n 3003 6990 m 3123 7020 l 3003 7050 l 3003 7020 l 3003 6990 l  cp gs 0.00 setgray ef gr  col-1 s
  1498. % Polyline
  1499. n 2385 6165 m 3150 6165 l gs col-1 s gr 
  1500. % Polyline
  1501. n 2385 6435 m 3150 6435 l gs col-1 s gr 
  1502. % Polyline
  1503. n 2385 5940 m 3150 5940 l 3150 6705 l 2385 6705 l cp gs col-1 s gr 
  1504. % Polyline
  1505. n 1485 7695 m 2385 7695 l gs col-1 s gr 
  1506. % Polyline
  1507. n 1485 7965 m 2385 7965 l gs col-1 s gr 
  1508. % Polyline
  1509. n 2790 7695 m 3690 7695 l gs col-1 s gr 
  1510. % Polyline
  1511. n 2790 7470 m 3690 7470 l 3690 7965 l 2790 7965 l cp gs col-1 s gr 
  1512. % Polyline
  1513. n 1485 7470 m 2385 7470 l 2385 8235 l 1485 8235 l cp gs col-1 s gr 
  1514. % Polyline
  1515. n 3375 4275 m 4365 4275 l gs col-1 s gr 
  1516. % Polyline
  1517. n 3375 4545 m 4365 4545 l gs col-1 s gr 
  1518. % Polyline
  1519. n 3375 4815 m 4365 4815 l gs col-1 s gr 
  1520. % Polyline
  1521. n 3375 4050 m 4365 4050 l 4365 5085 l 3375 5085 l cp gs col-1 s gr 
  1522. % Polyline
  1523. n 4095 5085 m 4095 4545 l gs col-1 s gr 
  1524. % Polyline
  1525. n 4815 4275 m 5580 4275 l gs col-1 s gr 
  1526. % Polyline
  1527. n 4815 4545 m 5580 4545 l gs col-1 s gr 
  1528. % Polyline
  1529. n 4815 4050 m 5580 4050 l 5580 4815 l 4815 4815 l cp gs col-1 s gr 
  1530. % Polyline
  1531. n 315 0 m 1530 0 l 1530 1665 l 315 1665 l cp gs col-1 s gr 
  1532. % Polyline
  1533. n 1260 225 m 1260 1665 l gs col-1 s gr 
  1534. % Open spline
  1535. gs  clippath
  1536. 750 1878 m 720 1998 l 690 1878 l 690 2040 l 750 2040 l  cp clip
  1537. n 1395.0 1260.0 m 1462.5 1260.0 l
  1538. 1462.5 1260.0 1530.0 1260.0 1597.5 1260.0 DrawSplineSection
  1539. 1597.5 1260.0 1665.0 1260.0 1665.0 1327.5 DrawSplineSection
  1540. 1665.0 1327.5 1665.0 1395.0 1665.0 1530.0 DrawSplineSection
  1541. 1665.0 1530.0 1665.0 1665.0 1665.0 1732.5 DrawSplineSection
  1542. 1665.0 1732.5 1665.0 1800.0 1597.5 1800.0 DrawSplineSection
  1543. 1597.5 1800.0 1530.0 1800.0 1192.5 1800.0 DrawSplineSection
  1544. 1192.5 1800.0 855.0 1800.0 787.5 1800.0 DrawSplineSection
  1545. 787.5 1800.0 720.0 1800.0 720.0 1912.5 DrawSplineSection
  1546. 720.0 2025.0 l  gs col-1 s gr
  1547.  gr
  1548. % arrowhead
  1549. n 750 1878 m 720 1998 l 690 1878 l 720 1878 l 750 1878 l  cp gs 0.00 setgray ef gr  col-1 s
  1550. % Open spline
  1551. gs  clippath
  1552. 1547 5834 m 1454 5917 l 1497 5801 l 1407 5936 l 1457 5969 l  cp clip
  1553. n 1710.0 4905.0 m 1800.0 4905.0 l
  1554. 1800.0 4905.0 1890.0 4905.0 1957.5 4905.0 DrawSplineSection
  1555. 1957.5 4905.0 2025.0 4905.0 2025.0 4995.0 DrawSplineSection
  1556. 2025.0 4995.0 2025.0 5085.0 2025.0 5355.0 DrawSplineSection
  1557. 2025.0 5355.0 2025.0 5625.0 2025.0 5692.5 DrawSplineSection
  1558. 2025.0 5692.5 2025.0 5760.0 1957.5 5760.0 DrawSplineSection
  1559. 1957.5 5760.0 1890.0 5760.0 1755.0 5760.0 DrawSplineSection
  1560. 1755.0 5760.0 1620.0 5760.0 1575.0 5782.5 DrawSplineSection
  1561. 1575.0 5782.5 1530.0 5805.0 1485.0 5872.5 DrawSplineSection
  1562. 1440.0 5940.0 l  gs col-1 s gr
  1563.  gr
  1564. % arrowhead
  1565. n 1547 5834 m 1454 5917 l 1497 5801 l 1522 5818 l 1547 5834 l  cp gs 0.00 setgray ef gr  col-1 s
  1566. % Open spline
  1567. gs  clippath
  1568. 2055 1878 m 2025 1998 l 1995 1878 l 1995 2040 l 2055 2040 l  cp clip
  1569. n 1395.0 1530.0 m 1642.5 1530.0 l
  1570. 1642.5 1530.0 1890.0 1530.0 1957.5 1530.0 DrawSplineSection
  1571. 1957.5 1530.0 2025.0 1530.0 2025.0 1620.0 DrawSplineSection
  1572. 2025.0 1620.0 2025.0 1710.0 2025.0 1867.5 DrawSplineSection
  1573. 2025.0 2025.0 l  gs col-1 s gr
  1574.  gr
  1575. % arrowhead
  1576. n 2055 1878 m 2025 1998 l 1995 1878 l 2025 1878 l 2055 1878 l  cp gs 0.00 setgray ef gr  col-1 s
  1577. % Open spline
  1578. gs  clippath
  1579. 5229 5800 m 5179 5913 l 5170 5790 l 5143 5950 l 5202 5960 l  cp clip
  1580. n 5220.0 5535.0 m 5220.0 5602.5 l
  1581. 5220.0 5602.5 5220.0 5670.0 5197.5 5805.0 DrawSplineSection
  1582. 5175.0 5940.0 l  gs col-1 s gr
  1583.  gr
  1584. % arrowhead
  1585. n 5229 5800 m 5179 5913 l 5170 5790 l 5199 5795 l 5229 5800 l  cp gs 0.00 setgray ef gr  col-1 s
  1586. % Open spline
  1587. gs  clippath
  1588. 4175 5857 m 4069 5920 l 4133 5815 l 4018 5929 l 4061 5972 l  cp clip
  1589. n 4455.0 5535.0 m 4455.0 5647.5 l
  1590. 4455.0 5647.5 4455.0 5760.0 4320.0 5782.5 DrawSplineSection
  1591. 4320.0 5782.5 4185.0 5805.0 4117.5 5872.5 DrawSplineSection
  1592. 4050.0 5940.0 l  gs col-1 s gr
  1593.  gr
  1594. % arrowhead
  1595. n 4175 5857 m 4069 5920 l 4133 5815 l 4154 5836 l 4175 5857 l  cp gs 0.00 setgray ef gr  col-1 s
  1596. % Open spline
  1597. gs  clippath
  1598. 4620 5253 m 4590 5373 l 4560 5253 l 4560 5415 l 4620 5415 l  cp clip
  1599. n 4230.0 4950.0 m 4342.5 4950.0 l
  1600. 4342.5 4950.0 4455.0 4950.0 4522.5 4950.0 DrawSplineSection
  1601. 4522.5 4950.0 4590.0 4950.0 4590.0 5017.5 DrawSplineSection
  1602. 4590.0 5017.5 4590.0 5085.0 4590.0 5242.5 DrawSplineSection
  1603. 4590.0 5400.0 l  gs col-1 s gr
  1604.  gr
  1605. % arrowhead
  1606. n 4620 5253 m 4590 5373 l 4560 5253 l 4590 5253 l 4620 5253 l  cp gs 0.00 setgray ef gr  col-1 s
  1607. % Open spline
  1608. gs  clippath
  1609. 3843 3902 m 3859 4024 l 3788 3925 l 3848 4075 l 3903 4053 l  cp clip
  1610. n 2295.0 990.0 m 2340.0 1170.0 l
  1611. 2340.0 1170.0 2385.0 1350.0 2587.5 1485.0 DrawSplineSection
  1612. 2587.5 1485.0 2790.0 1620.0 2857.5 2677.5 DrawSplineSection
  1613. 2857.5 2677.5 2925.0 3735.0 3352.5 3780.0 DrawSplineSection
  1614. 3352.5 3780.0 3780.0 3825.0 3825.0 3937.5 DrawSplineSection
  1615. 3870.0 4050.0 l  gs col-1 s gr
  1616.  gr
  1617. % arrowhead
  1618. n 3843 3902 m 3859 4024 l 3788 3925 l 3815 3914 l 3843 3902 l  cp gs 0.00 setgray ef gr  col-1 s
  1619. % Open spline
  1620. gs  clippath
  1621. 2958 330 m 3078 360 l 2958 390 l 3120 390 l 3120 330 l  cp clip
  1622. n 1395.0 720.0 m 1552.5 720.0 l
  1623. 1552.5 720.0 1710.0 720.0 1845.0 540.0 DrawSplineSection
  1624. 1845.0 540.0 1980.0 360.0 2542.5 360.0 DrawSplineSection
  1625. 3105.0 360.0 l  gs col-1 s gr
  1626.  gr
  1627. % arrowhead
  1628. n 2958 330 m 3078 360 l 2958 390 l 2958 360 l 2958 330 l  cp gs 0.00 setgray ef gr  col-1 s
  1629. % Open spline
  1630. gs  clippath
  1631. 3607 820 m 3670 925 l 3565 862 l 3679 977 l 3722 934 l  cp clip
  1632. n 3240.0 360.0 m 3307.5 495.0 l
  1633. 3307.5 495.0 3375.0 630.0 3532.5 787.5 DrawSplineSection
  1634. 3690.0 945.0 l  gs col-1 s gr
  1635.  gr
  1636. % arrowhead
  1637. n 3607 820 m 3670 925 l 3565 862 l 3586 841 l 3607 820 l  cp gs 0.00 setgray ef gr  col-1 s
  1638. % Open spline
  1639. gs  clippath
  1640. 4957 820 m 5020 925 l 4915 862 l 5029 977 l 5072 934 l  cp clip
  1641. n 4050.0 360.0 m 4095.0 495.0 l
  1642. 4095.0 495.0 4140.0 630.0 4455.0 652.5 DrawSplineSection
  1643. 4455.0 652.5 4770.0 675.0 4905.0 810.0 DrawSplineSection
  1644. 5040.0 945.0 l  gs col-1 s gr
  1645.  gr
  1646. % arrowhead
  1647. n 4957 820 m 5020 925 l 4915 862 l 4936 841 l 4957 820 l  cp gs 0.00 setgray ef gr  col-1 s
  1648. % Open spline
  1649. gs  clippath
  1650. 3802 1925 m 3706 2003 l 3754 1889 l 3657 2019 l 3705 2055 l  cp clip
  1651. n 4005.0 1305.0 m 4095.0 1305.0 l
  1652. 4095.0 1305.0 4185.0 1305.0 4230.0 1305.0 DrawSplineSection
  1653. 4230.0 1305.0 4275.0 1305.0 4275.0 1372.5 DrawSplineSection
  1654. 4275.0 1372.5 4275.0 1440.0 4275.0 1575.0 DrawSplineSection
  1655. 4275.0 1575.0 4275.0 1710.0 4275.0 1777.5 DrawSplineSection
  1656. 4275.0 1777.5 4275.0 1845.0 4207.5 1845.0 DrawSplineSection
  1657. 4207.5 1845.0 4140.0 1845.0 4050.0 1845.0 DrawSplineSection
  1658. 4050.0 1845.0 3960.0 1845.0 3892.5 1845.0 DrawSplineSection
  1659. 3892.5 1845.0 3825.0 1845.0 3757.5 1935.0 DrawSplineSection
  1660. 3690.0 2025.0 l  gs col-1 s gr
  1661.  gr
  1662. % arrowhead
  1663. n 3802 1925 m 3706 2003 l 3754 1889 l 3778 1907 l 3802 1925 l  cp gs 0.00 setgray ef gr  col-1 s
  1664. % Open spline
  1665. gs  clippath
  1666. 5152 1925 m 5056 2003 l 5104 1889 l 5007 2019 l 5055 2055 l  cp clip
  1667. n 5355.0 1305.0 m 5445.0 1305.0 l
  1668. 5445.0 1305.0 5535.0 1305.0 5580.0 1305.0 DrawSplineSection
  1669. 5580.0 1305.0 5625.0 1305.0 5625.0 1372.5 DrawSplineSection
  1670. 5625.0 1372.5 5625.0 1440.0 5625.0 1575.0 DrawSplineSection
  1671. 5625.0 1575.0 5625.0 1710.0 5625.0 1777.5 DrawSplineSection
  1672. 5625.0 1777.5 5625.0 1845.0 5557.5 1845.0 DrawSplineSection
  1673. 5557.5 1845.0 5490.0 1845.0 5400.0 1845.0 DrawSplineSection
  1674. 5400.0 1845.0 5310.0 1845.0 5242.5 1845.0 DrawSplineSection
  1675. 5242.5 1845.0 5175.0 1845.0 5107.5 1935.0 DrawSplineSection
  1676. 5040.0 2025.0 l  gs col-1 s gr
  1677.  gr
  1678. % arrowhead
  1679. n 5152 1925 m 5056 2003 l 5104 1889 l 5128 1907 l 5152 1925 l  cp gs 0.00 setgray ef gr  col-1 s
  1680. % Open spline
  1681. gs  clippath
  1682. 3815 2752 m 3709 2815 l 3773 2710 l 3658 2824 l 3701 2867 l  cp clip
  1683. n 4005.0 1575.0 m 4140.0 1575.0 l
  1684. 4140.0 1575.0 4275.0 1575.0 4320.0 1575.0 DrawSplineSection
  1685. 4320.0 1575.0 4365.0 1575.0 4365.0 1620.0 DrawSplineSection
  1686. 4365.0 1620.0 4365.0 1665.0 4365.0 2092.5 DrawSplineSection
  1687. 4365.0 2092.5 4365.0 2520.0 4365.0 2610.0 DrawSplineSection
  1688. 4365.0 2610.0 4365.0 2700.0 4297.5 2700.0 DrawSplineSection
  1689. 4297.5 2700.0 4230.0 2700.0 4027.5 2700.0 DrawSplineSection
  1690. 4027.5 2700.0 3825.0 2700.0 3757.5 2767.5 DrawSplineSection
  1691. 3690.0 2835.0 l  gs col-1 s gr
  1692.  gr
  1693. % arrowhead
  1694. n 3815 2752 m 3709 2815 l 3773 2710 l 3794 2731 l 3815 2752 l  cp gs 0.00 setgray ef gr  col-1 s
  1695. % Open spline
  1696. gs  clippath
  1697. 5165 2752 m 5059 2815 l 5123 2710 l 5008 2824 l 5051 2867 l  cp clip
  1698. n 5355.0 1575.0 m 5467.5 1575.0 l
  1699. 5467.5 1575.0 5580.0 1575.0 5647.5 1575.0 DrawSplineSection
  1700. 5647.5 1575.0 5715.0 1575.0 5715.0 1620.0 DrawSplineSection
  1701. 5715.0 1620.0 5715.0 1665.0 5715.0 2092.5 DrawSplineSection
  1702. 5715.0 2092.5 5715.0 2520.0 5715.0 2610.0 DrawSplineSection
  1703. 5715.0 2610.0 5715.0 2700.0 5647.5 2700.0 DrawSplineSection
  1704. 5647.5 2700.0 5580.0 2700.0 5377.5 2700.0 DrawSplineSection
  1705. 5377.5 2700.0 5175.0 2700.0 5107.5 2767.5 DrawSplineSection
  1706. 5040.0 2835.0 l  gs col-1 s gr
  1707.  gr
  1708. % arrowhead
  1709. n 5165 2752 m 5059 2815 l 5123 2710 l 5144 2731 l 5165 2752 l  cp gs 0.00 setgray ef gr  col-1 s
  1710. % Open spline
  1711. gs  clippath
  1712. 2238 6270 m 2358 6300 l 2238 6330 l 2400 6330 l 2400 6270 l  cp clip
  1713. n 1800.0 6570.0 m 1935.0 6570.0 l
  1714. 1935.0 6570.0 2070.0 6570.0 2070.0 6435.0 DrawSplineSection
  1715. 2070.0 6435.0 2070.0 6300.0 2227.5 6300.0 DrawSplineSection
  1716. 2385.0 6300.0 l  gs col-1 s gr
  1717.  gr
  1718. % arrowhead
  1719. n 2238 6270 m 2358 6300 l 2238 6330 l 2238 6300 l 2238 6270 l  cp gs 0.00 setgray ef gr  col-1 s
  1720. % Open spline
  1721. gs  clippath
  1722. 2238 6990 m 2358 7020 l 2238 7050 l 2400 7050 l 2400 6990 l  cp clip
  1723. n 1800.0 6840.0 m 1912.5 6840.0 l
  1724. 1912.5 6840.0 2025.0 6840.0 2047.5 6930.0 DrawSplineSection
  1725. 2047.5 6930.0 2070.0 7020.0 2227.5 7020.0 DrawSplineSection
  1726. 2385.0 7020.0 l  gs col-1 s gr
  1727.  gr
  1728. % arrowhead
  1729. n 2238 6990 m 2358 7020 l 2238 7050 l 2238 7020 l 2238 6990 l  cp gs 0.00 setgray ef gr  col-1 s
  1730. % Open spline
  1731. gs  clippath
  1732. 3298 7332 m 3245 7443 l 3239 7320 l 3208 7479 l 3266 7491 l  cp clip
  1733. n 3285.0 7020.0 m 3285.0 7132.5 l
  1734. 3285.0 7132.5 3285.0 7245.0 3262.5 7357.5 DrawSplineSection
  1735. 3240.0 7470.0 l  gs col-1 s gr
  1736.  gr
  1737. % arrowhead
  1738. n 3298 7332 m 3245 7443 l 3239 7320 l 3269 7326 l 3298 7332 l  cp gs 0.00 setgray ef gr  col-1 s
  1739. % Open spline
  1740. gs  clippath
  1741. 2069 7402 m 1956 7453 l 2031 7355 l 1905 7456 l 1942 7503 l  cp clip
  1742. n 2520.0 7020.0 m 2520.0 7132.5 l
  1743. 2520.0 7132.5 2520.0 7245.0 2340.0 7267.5 DrawSplineSection
  1744. 2340.0 7267.5 2160.0 7290.0 2047.5 7380.0 DrawSplineSection
  1745. 1935.0 7470.0 l  gs col-1 s gr
  1746.  gr
  1747. % arrowhead
  1748. n 2069 7402 m 1956 7453 l 2031 7355 l 2050 7378 l 2069 7402 l  cp gs 0.00 setgray ef gr  col-1 s
  1749. % Open spline
  1750. gs  clippath
  1751. 4668 4380 m 4788 4410 l 4668 4440 l 4830 4440 l 4830 4380 l  cp clip
  1752. n 4230.0 4680.0 m 4365.0 4680.0 l
  1753. 4365.0 4680.0 4500.0 4680.0 4500.0 4545.0 DrawSplineSection
  1754. 4500.0 4545.0 4500.0 4410.0 4657.5 4410.0 DrawSplineSection
  1755. 4815.0 4410.0 l  gs col-1 s gr
  1756.  gr
  1757. % arrowhead
  1758. n 4668 4380 m 4788 4410 l 4668 4440 l 4668 4410 l 4668 4380 l  cp gs 0.00 setgray ef gr  col-1 s
  1759. /Times-Roman ff 150.00 scf sf
  1760. 405 1035 m
  1761. gs 1 -1 sc (mergeclauses) col-1 sh gr
  1762. /Times-Roman ff 150.00 scf sf
  1763. 405 1305 m
  1764. gs 1 -1 sc (lefttree) col-1 sh gr
  1765. /Times-Roman ff 150.00 scf sf
  1766. 405 1575 m
  1767. gs 1 -1 sc (righttree) col-1 sh gr
  1768. /Times-Roman ff 150.00 scf sf
  1769. 405 765 m
  1770. gs 1 -1 sc (targetList) col-1 sh gr
  1771. /Times-Roman ff 150.00 scf sf
  1772. 810 495 m
  1773. gs 1 -1 sc  90.0 rot (. . .) col-1 sh gr
  1774. /Times-Roman ff 150.00 scf sf
  1775. 2385 4455 m
  1776. gs 1 -1 sc (SeqScan) col-1 sh gr
  1777. /Times-Roman ff 150.00 scf sf
  1778. 2565 4725 m
  1779. gs 1 -1 sc  90.0 rot (. . . ) col-1 sh gr
  1780. /Times-Roman ff 150.00 scf sf
  1781. 2295 5490 m
  1782. gs 1 -1 sc (lefttree) col-1 sh gr
  1783. /Times-Roman ff 150.00 scf sf
  1784. 2295 4950 m
  1785. gs 1 -1 sc (qpqual) col-1 sh gr
  1786. /Times-Roman ff 150.00 scf sf
  1787. 2295 5220 m
  1788. gs 1 -1 sc (scanrelid:  2) col-1 sh gr
  1789. /Times-Roman ff 150.00 scf sf
  1790. 4815 2205 m
  1791. gs 1 -1 sc (Resdom) col-1 sh gr
  1792. /Times-Roman ff 150.00 scf sf
  1793. 4590 2430 m
  1794. gs 1 -1 sc (resname: pno) col-1 sh gr
  1795. /Times-Roman ff 150.00 scf sf
  1796. 3465 2205 m
  1797. gs 1 -1 sc (Resdom) col-1 sh gr
  1798. /Times-Roman ff 150.00 scf sf
  1799. 3240 2430 m
  1800. gs 1 -1 sc (resname: sname) col-1 sh gr
  1801. /Times-Roman ff 150.00 scf sf
  1802. 3510 3015 m
  1803. gs 1 -1 sc (VAR) col-1 sh gr
  1804. /Times-Roman ff 150.00 scf sf
  1805. 4860 3015 m
  1806. gs 1 -1 sc (VAR) col-1 sh gr
  1807. /Times-Roman ff 150.00 scf sf
  1808. 4995 6120 m
  1809. gs 1 -1 sc (VAR) col-1 sh gr
  1810. /Times-Roman ff 150.00 scf sf
  1811. 4770 6615 m
  1812. gs 1 -1 sc (varattno:  1) col-1 sh gr
  1813. /Times-Roman ff 150.00 scf sf
  1814. 4770 6345 m
  1815. gs 1 -1 sc (varno: 65000) col-1 sh gr
  1816. /Times-Roman ff 150.00 scf sf
  1817. 3870 6120 m
  1818. gs 1 -1 sc (VAR) col-1 sh gr
  1819. /Times-Roman ff 150.00 scf sf
  1820. 3645 6615 m
  1821. gs 1 -1 sc (varattno:  1) col-1 sh gr
  1822. /Times-Roman ff 150.00 scf sf
  1823. 3645 6345 m
  1824. gs 1 -1 sc (varno: 65001) col-1 sh gr
  1825. /Times-Roman ff 150.00 scf sf
  1826. 4635 3510 m
  1827. gs 1 -1 sc (varattno:  1) col-1 sh gr
  1828. /Times-Roman ff 150.00 scf sf
  1829. 4635 3240 m
  1830. gs 1 -1 sc (varno: 65000) col-1 sh gr
  1831. /Times-Roman ff 150.00 scf sf
  1832. 3285 3240 m
  1833. gs 1 -1 sc (varno: 65001) col-1 sh gr
  1834. /Times-Roman ff 150.00 scf sf
  1835. 3285 3510 m
  1836. gs 1 -1 sc (varattno:  1) col-1 sh gr
  1837. /Times-Roman ff 150.00 scf sf
  1838. 585 180 m
  1839. gs 1 -1 sc (MergeJoin) col-1 sh gr
  1840. /Times-Roman ff 150.00 scf sf
  1841. 1035 6345 m
  1842. gs 1 -1 sc (opType:  OP) col-1 sh gr
  1843. /Times-Roman ff 150.00 scf sf
  1844. 1035 6870 m
  1845. gs 1 -1 sc (args) col-1 sh gr
  1846. /Times-Roman ff 150.00 scf sf
  1847. 1305 6120 m
  1848. gs 1 -1 sc (Expr) col-1 sh gr
  1849. /Times-Roman ff 150.00 scf sf
  1850. 2610 6120 m
  1851. gs 1 -1 sc (Oper) col-1 sh gr
  1852. /Times-Roman ff 150.00 scf sf
  1853. 2475 6345 m
  1854. gs 1 -1 sc (opno: 521) col-1 sh gr
  1855. /Times-Roman ff 150.00 scf sf
  1856. 2475 6615 m
  1857. gs 1 -1 sc (opid:  147) col-1 sh gr
  1858. /Times-Roman ff 150.00 scf sf
  1859. 1755 7650 m
  1860. gs 1 -1 sc (VAR) col-1 sh gr
  1861. /Times-Roman ff 150.00 scf sf
  1862. 1575 7875 m
  1863. gs 1 -1 sc (varno:     1) col-1 sh gr
  1864. /Times-Roman ff 150.00 scf sf
  1865. 3060 7650 m
  1866. gs 1 -1 sc (Const) col-1 sh gr
  1867. /Times-Roman ff 150.00 scf sf
  1868. 1575 8145 m
  1869. gs 1 -1 sc (varattno  1) col-1 sh gr
  1870. /Times-Roman ff 150.00 scf sf
  1871. 3465 4455 m
  1872. gs 1 -1 sc (opType:  OP) col-1 sh gr
  1873. /Times-Roman ff 150.00 scf sf
  1874. 3465 4980 m
  1875. gs 1 -1 sc (args) col-1 sh gr
  1876. /Times-Roman ff 150.00 scf sf
  1877. 3735 4230 m
  1878. gs 1 -1 sc (Expr) col-1 sh gr
  1879. /Times-Roman ff 150.00 scf sf
  1880. 5040 4230 m
  1881. gs 1 -1 sc (Oper) col-1 sh gr
  1882. /Times-Roman ff 150.00 scf sf
  1883. 4905 4455 m
  1884. gs 1 -1 sc (opno:  96) col-1 sh gr
  1885. /Times-Roman ff 150.00 scf sf
  1886. 4905 4725 m
  1887. gs 1 -1 sc (opid:   65) col-1 sh gr
  1888. /Times-Roman ff 150.00 scf sf
  1889. 2835 7875 m
  1890. gs 1 -1 sc (constvalue: 2) col-1 sh gr
  1891. /Times-Roman ff 150.00 scf sf
  1892. 1035 6630 m
  1893. gs 1 -1 sc (oper) col-1 sh gr
  1894. /Times-Roman ff 150.00 scf sf
  1895. 3465 4740 m
  1896. gs 1 -1 sc (oper) col-1 sh gr
  1897. showpage
  1898. $F2psEnd
  1899. rs
  1900. %%EndDocument
  1901.  @endspecial 681 3120 a(Figure)12 b(3.6:)j Fp(Plan)e
  1902. Ft(for)e(query)h(of)g(e)o(xample)h(3.1)p eop
  1903. %%Page: 62 62
  1904. 62 61 bop 270 60 a Ft(62)82 b Fm(CHAPTER)14 b(3.)28 b(POSTGRESQL)13
  1905. b(FR)n(OM)f(THE)i(PR)n(OGRAMMER'S)f(POINT)f(OF)g(VIEW)270
  1906. 234 y Fi(3.7)71 b(The)18 b(Realization)f(of)g(the)h(Ha)n(ving)f(Clause)
  1907. 270 354 y Ft(The)h Fp(having)g(clause)g Ft(has)g(been)g(designed)g(in)g
  1908. (SQL)g(to)f(be)h(able)g(to)g(use)g(the)g(results)f(of)h
  1909. Fp(aggr)n(e)n(gate)270 414 y(functions)12 b Ft(within)g(a)h(query)e
  1910. (quali02cation.)k(The)e(handling)f(of)g(the)h Fp(having)f(clause)g
  1911. Ft(is)h(v)o(ery)f(similar)g(to)270 474 y(the)h(handling)f(of)h(the)g
  1912. Fp(wher)n(e)h(clause)p Ft(.)k(Both)13 b(are)g(formulas)f(in)h(02rst)g
  1913. (order)f(logic)h((FOL))f(that)h(ha)o(v)o(e)g(to)270
  1914. 534 y(e)o(v)o(aluate)f(to)g(true)g(for)g(a)g(certain)g(object)g(to)h
  1915. (be)f(handed)g(back:)345 648 y Fo(17)25 b Ft(The)13
  1916. b(formula)f(gi)o(v)o(en)g(in)h(the)g Fp(wher)n(e)h(clause)f
  1917. Ft(is)g(e)o(v)o(aluated)f(for)g(e)o(v)o(ery)h(tuple.)k(If)12
  1918. b(the)h(e)o(v)o(aluation)395 707 y(returns)18 b Fr(true)i
  1919. Ft(the)f(tuple)g(is)h(returned,)h(e)o(v)o(ery)e(tuple)g(not)g
  1920. (satisfying)h(the)f(quali02cation)g(is)395 767 y(ignored.)345
  1921. 886 y Fo(17)25 b Ft(In)10 b(the)h(case)h(of)e Fp(gr)n(oups)i
  1922. Ft(the)f Fp(having)f(clause)i Ft(is)f(e)o(v)o(aluated)f(for)g(e)o(v)o
  1923. (ery)h(group.)k(If)10 b(the)h(e)o(v)o(aluation)395 945
  1924. y(returns)g Fr(true)h Ft(the)h(group)e(is)i(taken)f(into)g(account)g
  1925. (otherwise)g(it)g(is)h(ignored.)270 1114 y Fh(3.7.1)59
  1926. b(Ho)o(w)15 b(Aggr)o(egate)e(Functions)i(ar)o(e)f(Implemented)270
  1927. 1216 y Ft(Before)g(we)h(can)g(describe)f(ho)o(w)g(the)h
  1928. Fp(having)f(clause)h Ft(is)g(implemented)f(we)g(will)h(ha)o(v)o(e)g(a)f
  1929. (look)h(at)f(the)270 1276 y(implementation)h(of)g Fp(aggr)n(e)n(gate)g
  1930. (functions)h Ft(as)h(long)e(as)i(the)o(y)f(just)g(appear)f(in)h(the)g
  1931. Fp(tar)n(getlist)p Ft(.)26 b(Note)270 1336 y(that)12
  1932. b Fp(aggr)n(e)n(gate)g(functions)g Ft(are)g(applied)g(to)g(groups)h(so)
  1933. f(the)h(query)e(must)i(contain)f(a)g Fp(gr)n(oup)h(clause)p
  1934. Ft(.)270 1484 y Fn(Example)g(3.2)25 b Ft(Here)18 b(is)g(an)g(e)o
  1935. (xample)g(of)g(the)g(usage)g(of)g(the)g Fp(aggr)n(e)n(gate)f(function)h
  1936. Fr(count)f Ft(which)270 1544 y(counts)c(the)h(number)e(of)h(part)g
  1937. (numbers)g(()p Fr(pno)p Ft())f(of)h(e)o(v)o(ery)g(group.)18
  1938. b((The)c(table)f Fr(sells)g Ft(is)g(de02ned)g(in)270
  1939. 1604 y(e)o(xample)f(1.1.))330 1722 y Fr(select)29 b(sno,)g
  1940. (count(pno))330 1782 y(from)g(sells)330 1842 y(group)g(by)h(sno;)270
  1941. 1955 y Ft(A)12 b(query)g(like)g(the)g(one)h(in)f(e)o(xample)g(3.2)h(is)
  1942. g(processed)g(by)f(the)g(usual)h(stages:)345 2069 y Fo(17)25
  1943. b Ft(the)12 b(parser)g(stage)345 2188 y Fo(17)25 b
  1944. Ft(the)12 b(re)o(write)f(system)345 2306 y Fo(17)25
  1945. b Ft(the)12 b(planner/optimizer)345 2425 y Fo(17)25
  1946. b Ft(the)12 b(e)o(x)o(ecutor)270 2539 y(and)i(in)f(the)g(follo)o(wing)f
  1947. (sections)j(we)e(will)g(describe)h(what)f(e)o(v)o(ery)h(stage)g(does)g
  1948. (to)f(the)g(query)h(in)f(order)270 2598 y(to)f(obtain)g(the)h
  1949. (appropriate)e(result.)270 2757 y Fn(The)h(Parser)i(Stage)270
  1950. 2860 y Ft(The)h(parser)e(stage)i(b)o(uilds)f(up)g(a)g
  1951. Fp(querytr)n(ee)h Ft(containing)f(the)g Fp(wher)n(e)h
  1952. Ft(quali02cation)e(and)h(information)270 2919 y(about)h(the)f
  1953. Fp(gr)n(ouping)h Ft(that)f(has)i(to)e(be)h(done)g((i.e.)23
  1954. b(a)15 b(list)g(of)f(all)h(attrib)o(utes)f(to)h(group)f(for)g(is)h
  1955. (attached)270 2979 y(to)e(the)h(02eld)f Fr(groupClause)p
  1956. Ft().)18 b(The)c(main)f(dif)o(ference)f(to)h Fp(querytr)n(ees)i
  1957. Ft(b)o(uilt)e(up)h(for)e(queries)i(with-)270 3039 y(out)j
  1958. Fp(aggr)n(e)n(gate)f(functions)h Ft(is)h(gi)o(v)o(en)f(in)g(the)g
  1959. (02eld)g Fr(hasAggs)g Ft(which)g(is)g(set)h(to)f Fr(true)g
  1960. Ft(and)g(in)g(the)270 3099 y Fp(tar)n(getlist)p Ft(.)30
  1961. b(The)18 b Fr(expr)e Ft(02eld)h(of)g(the)g(second)h
  1962. Fr(TLE)e Ft(node)i(of)e(the)h Fp(tar)n(getlist)g Ft(sho)o(wn)g(in)g
  1963. (02gure)g(3.7)270 3158 y(does)e(not)f(point)f(directly)h(to)g(a)g
  1964. Fr(VAR)g Ft(node)g(b)o(ut)g(to)g(an)g Fr(Aggreg)g Ft(node)g
  1965. (representing)g(the)g Fp(aggr)n(e)n(gate)270 3218 y(function)e
  1966. Ft(used)g(in)h(the)f(query)m(.)345 3283 y(A)17 b(check)g(is)h(made)f
  1967. (that)g(e)o(v)o(ery)g(attrib)o(ute)g(grouped)f(for)h(appears)g(only)g
  1968. (without)f(an)i Fp(aggr)n(e)n(gate)270 3342 y(function)12
  1969. b Ft(in)h(the)f Fp(tar)n(getlist)h Ft(and)f(that)h(e)o(v)o(ery)f
  1970. (attrib)o(ute)g(which)h(appears)g(without)f(an)h Fp(aggr)n(e)n(gate)f
  1971. (func-)270 3402 y(tion)g Ft(in)g(the)g Fp(tar)n(getlist)h
  1972. Ft(is)f(grouped)g(for)m(.)p eop
  1973. %%Page: 63 63
  1974. 63 62 bop 198 60 a Fm(3.7.)29 b(THE)13 b(REALIZA)-6 b(TION)14
  1975. b(OF)e(THE)h(HA)-7 b(VING)12 b(CLA)m(USE)622 b Ft(63)393
  1976. 1754 y @beginspecial 165 @llx 239 @lly 447 @urx 553 @ury
  1977. 2820 @rwi @setspecial
  1978. %%BeginDocument: figures/parse_having.ps
  1979. %Magnification: 1.05
  1980. /$F2psDict 200 dict def
  1981. $F2psDict begin
  1982. $F2psDict /mtrx matrix put
  1983. /col-1 {0 setgray} bind def
  1984. /col0 {0.000 0.000 0.000 srgb} bind def
  1985. /col1 {0.000 0.000 1.000 srgb} bind def
  1986. /col2 {0.000 1.000 0.000 srgb} bind def
  1987. /col3 {0.000 1.000 1.000 srgb} bind def
  1988. /col4 {1.000 0.000 0.000 srgb} bind def
  1989. /col5 {1.000 0.000 1.000 srgb} bind def
  1990. /col6 {1.000 1.000 0.000 srgb} bind def
  1991. /col7 {1.000 1.000 1.000 srgb} bind def
  1992. /col8 {0.000 0.000 0.560 srgb} bind def
  1993. /col9 {0.000 0.000 0.690 srgb} bind def
  1994. /col10 {0.000 0.000 0.820 srgb} bind def
  1995. /col11 {0.530 0.810 1.000 srgb} bind def
  1996. /col12 {0.000 0.560 0.000 srgb} bind def
  1997. /col13 {0.000 0.690 0.000 srgb} bind def
  1998. /col14 {0.000 0.820 0.000 srgb} bind def
  1999. /col15 {0.000 0.560 0.560 srgb} bind def
  2000. /col16 {0.000 0.690 0.690 srgb} bind def
  2001. /col17 {0.000 0.820 0.820 srgb} bind def
  2002. /col18 {0.560 0.000 0.000 srgb} bind def
  2003. /col19 {0.690 0.000 0.000 srgb} bind def
  2004. /col20 {0.820 0.000 0.000 srgb} bind def
  2005. /col21 {0.560 0.000 0.560 srgb} bind def
  2006. /col22 {0.690 0.000 0.690 srgb} bind def
  2007. /col23 {0.820 0.000 0.820 srgb} bind def
  2008. /col24 {0.500 0.190 0.000 srgb} bind def
  2009. /col25 {0.630 0.250 0.000 srgb} bind def
  2010. /col26 {0.750 0.380 0.000 srgb} bind def
  2011. /col27 {1.000 0.500 0.500 srgb} bind def
  2012. /col28 {1.000 0.630 0.630 srgb} bind def
  2013. /col29 {1.000 0.750 0.750 srgb} bind def
  2014. /col30 {1.000 0.880 0.880 srgb} bind def
  2015. /col31 {1.000 0.840 0.000 srgb} bind def
  2016. end
  2017. save
  2018. 155.0 566.0 translate
  2019. 1 -1 scale
  2020. /cp {closepath} bind def
  2021. /ef {eofill} bind def
  2022. /gr {grestore} bind def
  2023. /gs {gsave} bind def
  2024. /sa {save} bind def
  2025. /rs {restore} bind def
  2026. /l {lineto} bind def
  2027. /m {moveto} bind def
  2028. /rm {rmoveto} bind def
  2029. /n {newpath} bind def
  2030. /s {stroke} bind def
  2031. /sh {show} bind def
  2032. /slc {setlinecap} bind def
  2033. /slj {setlinejoin} bind def
  2034. /slw {setlinewidth} bind def
  2035. /srgb {setrgbcolor} bind def
  2036. /rot {rotate} bind def
  2037. /sc {scale} bind def
  2038. /sd {setdash} bind def
  2039. /ff {findfont} bind def
  2040. /sf {setfont} bind def
  2041. /scf {scalefont} bind def
  2042. /sw {stringwidth} bind def
  2043. /tr {translate} bind def
  2044. /tnt {dup dup currentrgbcolor
  2045.   4 -2 roll dup 1 exch sub 3 -1 roll mul add
  2046.   4 -2 roll dup 1 exch sub 3 -1 roll mul add
  2047.   4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
  2048.   bind def
  2049. /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
  2050.   4 -2 roll mul srgb} bind def
  2051.  /DrawSplineSection {
  2052. /y3 exch def
  2053. /x3 exch def
  2054. /y2 exch def
  2055. /x2 exch def
  2056. /y1 exch def
  2057. /x1 exch def
  2058. /xa x1 x2 x1 sub 0.666667 mul add def
  2059. /ya y1 y2 y1 sub 0.666667 mul add def
  2060. /xb x3 x2 x3 sub 0.666667 mul add def
  2061. /yb y3 y2 y3 sub 0.666667 mul add def
  2062. x1 y1 lineto
  2063. xa ya xb yb x3 y3 curveto
  2064. } def
  2065. /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
  2066. /$F2psEnd {$F2psEnteredState restore end} def
  2067. $F2psBegin
  2068. 10 setmiterlimit
  2069. n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
  2070.  0.06299 0.06299 sc
  2071. 7.500 slw
  2072. % Polyline
  2073. n 1665 720 m 2205 720 l 2205 990 l 1665 990 l cp gs col-1 s gr 
  2074. % Polyline
  2075. n 1935 720 m 1935 990 l gs col-1 s gr 
  2076. % Polyline
  2077. n 2475 720 m 3015 720 l 3015 990 l 2475 990 l cp gs col-1 s gr 
  2078. % Polyline
  2079. n 2745 720 m 2745 990 l gs col-1 s gr 
  2080. % Polyline
  2081. n 3015 990 m 2745 720 l gs col-1 s gr 
  2082. % Polyline
  2083. n 3015 720 m 2745 990 l gs col-1 s gr 
  2084. % Polyline
  2085. n 3690 225 m 4230 225 l 4230 495 l 3690 495 l cp gs col-1 s gr 
  2086. % Polyline
  2087. n 3960 225 m 3960 495 l gs col-1 s gr 
  2088. % Polyline
  2089. n 4230 495 m 3960 225 l gs col-1 s gr 
  2090. % Polyline
  2091. n 4230 225 m 3960 495 l gs col-1 s gr 
  2092. % Polyline
  2093. n 3690 945 m 4590 945 l gs col-1 s gr 
  2094. % Polyline
  2095. n 3690 720 m 4590 720 l 4590 1215 l 3690 1215 l cp gs col-1 s gr 
  2096. /Times-Roman ff 150.00 scf sf
  2097. 4005 900 m
  2098. gs 1 -1 sc (RTE) col-1 sh gr
  2099. /Times-Roman ff 150.00 scf sf
  2100. 3735 1125 m
  2101. gs 1 -1 sc (relname: sells) col-1 sh gr
  2102. % Polyline
  2103. n 1800 1440 m 2700 1440 l 2700 2205 l 1800 2205 l cp gs col-1 s gr 
  2104. % Polyline
  2105. n 1800 1665 m 2700 1665 l gs col-1 s gr 
  2106. % Polyline
  2107. n 1800 1935 m 2700 1935 l gs col-1 s gr 
  2108. % Polyline
  2109. n 2430 1665 m 2430 2205 l gs col-1 s gr 
  2110. /Times-Roman ff 150.00 scf sf
  2111. 2115 1620 m
  2112. gs 1 -1 sc (TLE) col-1 sh gr
  2113. /Times-Roman ff 150.00 scf sf
  2114. 1890 2115 m
  2115. gs 1 -1 sc (expr) col-1 sh gr
  2116. /Times-Roman ff 150.00 scf sf
  2117. 1890 1845 m
  2118. gs 1 -1 sc (resdom) col-1 sh gr
  2119. % Polyline
  2120. n 3150 1440 m 4050 1440 l 4050 2205 l 3150 2205 l cp gs col-1 s gr 
  2121. % Polyline
  2122. n 3150 1665 m 4050 1665 l gs col-1 s gr 
  2123. % Polyline
  2124. n 3150 1935 m 4050 1935 l gs col-1 s gr 
  2125. % Polyline
  2126. n 3780 1665 m 3780 2205 l gs col-1 s gr 
  2127. /Times-Roman ff 150.00 scf sf
  2128. 3465 1620 m
  2129. gs 1 -1 sc (TLE) col-1 sh gr
  2130. /Times-Roman ff 150.00 scf sf
  2131. 3240 2115 m
  2132. gs 1 -1 sc (expr) col-1 sh gr
  2133. /Times-Roman ff 150.00 scf sf
  2134. 3240 1845 m
  2135. gs 1 -1 sc (resdom) col-1 sh gr
  2136. % Polyline
  2137. n 405 4005 m 945 4005 l 945 4275 l 405 4275 l cp gs col-1 s gr 
  2138. % Polyline
  2139. n 675 4005 m 675 4275 l gs col-1 s gr 
  2140. % Polyline
  2141. n 945 4275 m 675 4005 l gs col-1 s gr 
  2142. % Polyline
  2143. n 945 4005 m 675 4275 l gs col-1 s gr 
  2144. % Polyline
  2145. n 1125 450 m 1125 1530 l gs col-1 s gr 
  2146. % Polyline
  2147. n 180 450 m 1395 450 l gs col-1 s gr 
  2148. % Polyline
  2149. n 180 720 m 1395 720 l gs col-1 s gr 
  2150. % Polyline
  2151. n 180 990 m 1395 990 l gs col-1 s gr 
  2152. % Polyline
  2153. n 180 1260 m 1395 1260 l gs col-1 s gr 
  2154. % Polyline
  2155. n 180 1530 m 1395 1530 l gs col-1 s gr 
  2156. % Polyline
  2157. n 180 1800 m 1395 1800 l gs col-1 s gr 
  2158. % Polyline
  2159. n 180 225 m 1395 225 l 1395 2205 l 180 2205 l cp gs col-1 s gr 
  2160. % Polyline
  2161. n 1125 1800 m 1125 2205 l gs col-1 s gr 
  2162. % Polyline
  2163. n 1125 990 m 1395 1260 l gs col-1 s gr 
  2164. % Polyline
  2165. n 1395 990 m 1125 1260 l gs col-1 s gr 
  2166. % Polyline
  2167. gs  clippath
  2168. 1518 825 m 1638 855 l 1518 885 l 1680 885 l 1680 825 l  cp clip
  2169. n 1260 855 m 1665 855 l gs col-1 s gr gr
  2170. % arrowhead
  2171. n 1518 825 m 1638 855 l 1518 885 l 1518 855 l 1518 825 l  cp gs 0.00 setgray ef gr  col-1 s
  2172. % Polyline
  2173. gs  clippath
  2174. 2328 825 m 2448 855 l 2328 885 l 2490 885 l 2490 825 l  cp clip
  2175. n 2070 855 m 2475 855 l gs col-1 s gr gr
  2176. % arrowhead
  2177. n 2328 825 m 2448 855 l 2328 885 l 2328 855 l 2328 825 l  cp gs 0.00 setgray ef gr  col-1 s
  2178. % Polyline
  2179. n 3105 2745 m 4095 2745 l gs col-1 s gr 
  2180. % Polyline
  2181. n 3105 2520 m 4095 2520 l 4095 3015 l 3105 3015 l cp gs col-1 s gr 
  2182. % Polyline
  2183. n 1755 2745 m 2745 2745 l gs col-1 s gr 
  2184. % Polyline
  2185. n 1755 2520 m 2745 2520 l 2745 3015 l 1755 3015 l cp gs col-1 s gr 
  2186. % Polyline
  2187. n 3060 3555 m 4140 3555 l gs col-1 s gr 
  2188. % Polyline
  2189. n 3060 3825 m 4140 3825 l gs col-1 s gr 
  2190. % Polyline
  2191. n 3150 4410 m 4050 4410 l 4050 5175 l 3150 5175 l cp gs col-1 s gr 
  2192. % Polyline
  2193. n 3150 4635 m 4050 4635 l gs col-1 s gr 
  2194. % Polyline
  2195. n 3150 4905 m 4050 4905 l gs col-1 s gr 
  2196. % Polyline
  2197. n 3060 3330 m 4140 3330 l 4140 4095 l 3060 4095 l cp gs col-1 s gr 
  2198. % Polyline
  2199. n 3870 3825 m 3870 4095 l gs col-1 s gr 
  2200. % Polyline
  2201. n 1800 3330 m 2700 3330 l 2700 4095 l 1800 4095 l cp gs col-1 s gr 
  2202. % Polyline
  2203. n 1800 3555 m 2700 3555 l gs col-1 s gr 
  2204. % Polyline
  2205. n 1800 3825 m 2700 3825 l gs col-1 s gr 
  2206. % Polyline
  2207. n 225 4680 m 1125 4680 l 1125 5175 l 225 5175 l cp gs col-1 s gr 
  2208. % Polyline
  2209. n 225 4905 m 1125 4905 l gs col-1 s gr 
  2210. % Polyline
  2211. n 855 4905 m 855 5175 l gs col-1 s gr 
  2212. % Open spline
  2213. gs  clippath
  2214. 2167 1315 m 2230 1420 l 2125 1357 l 2239 1472 l 2282 1429 l  cp clip
  2215. n 1800.0 855.0 m 1867.5 990.0 l
  2216. 1867.5 990.0 1935.0 1125.0 2092.5 1282.5 DrawSplineSection
  2217. 2250.0 1440.0 l  gs col-1 s gr
  2218.  gr
  2219. % arrowhead
  2220. n 2167 1315 m 2230 1420 l 2125 1357 l 2146 1336 l 2167 1315 l  cp gs 0.00 setgray ef gr  col-1 s
  2221. % Open spline
  2222. gs  clippath
  2223. 3517 1315 m 3580 1420 l 3475 1357 l 3589 1472 l 3632 1429 l  cp clip
  2224. n 2610.0 855.0 m 2655.0 990.0 l
  2225. 2655.0 990.0 2700.0 1125.0 3015.0 1147.5 DrawSplineSection
  2226. 3015.0 1147.5 3330.0 1170.0 3465.0 1305.0 DrawSplineSection
  2227. 3600.0 1440.0 l  gs col-1 s gr
  2228.  gr
  2229. % arrowhead
  2230. n 3517 1315 m 3580 1420 l 3475 1357 l 3496 1336 l 3517 1315 l  cp gs 0.00 setgray ef gr  col-1 s
  2231. % Open spline
  2232. gs  clippath
  2233. 3543 330 m 3663 360 l 3543 390 l 3705 390 l 3705 330 l  cp clip
  2234. n 1260.0 585.0 m 1462.5 585.0 l
  2235. 1462.5 585.0 1665.0 585.0 2070.0 472.5 DrawSplineSection
  2236. 2070.0 472.5 2475.0 360.0 3082.5 360.0 DrawSplineSection
  2237. 3690.0 360.0 l  gs col-1 s gr
  2238.  gr
  2239. % arrowhead
  2240. n 3543 330 m 3663 360 l 3543 390 l 3543 360 l 3543 330 l  cp gs 0.00 setgray ef gr  col-1 s
  2241. % Open spline
  2242. gs  clippath
  2243. 4022 627 m 4115 707 l 3995 681 l 4140 754 l 4167 700 l  cp clip
  2244. n 3825.0 360.0 m 3847.5 472.5 l
  2245. 3847.5 472.5 3870.0 585.0 4005.0 652.5 DrawSplineSection
  2246. 4140.0 720.0 l  gs col-1 s gr
  2247.  gr
  2248. % arrowhead
  2249. n 4022 627 m 4115 707 l 3995 681 l 4009 654 l 4022 627 l  cp gs 0.00 setgray ef gr  col-1 s
  2250. % Open spline
  2251. gs  clippath
  2252. 2343 2402 m 2262 2495 l 2289 2375 l 2216 2520 l 2270 2547 l  cp clip
  2253. n 2565.0 1800.0 m 2700.0 1800.0 l
  2254. 2700.0 1800.0 2835.0 1800.0 2835.0 2070.0 DrawSplineSection
  2255. 2835.0 2070.0 2835.0 2340.0 2587.5 2340.0 DrawSplineSection
  2256. 2587.5 2340.0 2340.0 2340.0 2295.0 2430.0 DrawSplineSection
  2257. 2250.0 2520.0 l  gs col-1 s gr
  2258.  gr
  2259. % arrowhead
  2260. n 2343 2402 m 2262 2495 l 2289 2375 l 2316 2389 l 2343 2402 l  cp gs 0.00 setgray ef gr  col-1 s
  2261. % Open spline
  2262. gs  clippath
  2263. 3693 2402 m 3612 2495 l 3639 2375 l 3566 2520 l 3620 2547 l  cp clip
  2264. n 3915.0 1800.0 m 4050.0 1800.0 l
  2265. 4050.0 1800.0 4185.0 1800.0 4185.0 2070.0 DrawSplineSection
  2266. 4185.0 2070.0 4185.0 2340.0 3937.5 2340.0 DrawSplineSection
  2267. 3937.5 2340.0 3690.0 2340.0 3645.0 2430.0 DrawSplineSection
  2268. 3600.0 2520.0 l  gs col-1 s gr
  2269.  gr
  2270. % arrowhead
  2271. n 3693 2402 m 3612 2495 l 3639 2375 l 3666 2389 l 3693 2402 l  cp gs 0.00 setgray ef gr  col-1 s
  2272. % Open spline
  2273. gs  clippath
  2274. 2362 3230 m 2266 3308 l 2314 3194 l 2217 3324 l 2265 3360 l  cp clip
  2275. n 2565.0 2070.0 m 2767.5 2070.0 l
  2276. 2767.5 2070.0 2970.0 2070.0 2970.0 2632.5 DrawSplineSection
  2277. 2970.0 2632.5 2970.0 3195.0 2677.5 3172.5 DrawSplineSection
  2278. 2677.5 3172.5 2385.0 3150.0 2317.5 3240.0 DrawSplineSection
  2279. 2250.0 3330.0 l  gs col-1 s gr
  2280.  gr
  2281. % arrowhead
  2282. n 2362 3230 m 2266 3308 l 2314 3194 l 2338 3212 l 2362 3230 l  cp gs 0.00 setgray ef gr  col-1 s
  2283. % Open spline
  2284. gs  clippath
  2285. 3712 3230 m 3616 3308 l 3664 3194 l 3567 3324 l 3615 3360 l  cp clip
  2286. n 3915.0 2070.0 m 4117.5 2070.0 l
  2287. 4117.5 2070.0 4320.0 2070.0 4320.0 2632.5 DrawSplineSection
  2288. 4320.0 2632.5 4320.0 3195.0 4027.5 3172.5 DrawSplineSection
  2289. 4027.5 3172.5 3735.0 3150.0 3667.5 3240.0 DrawSplineSection
  2290. 3600.0 3330.0 l  gs col-1 s gr
  2291.  gr
  2292. % arrowhead
  2293. n 3712 3230 m 3616 3308 l 3664 3194 l 3688 3212 l 3712 3230 l  cp gs 0.00 setgray ef gr  col-1 s
  2294. % Open spline
  2295. gs  clippath
  2296. 3693 4292 m 3612 4385 l 3639 4265 l 3566 4410 l 3620 4437 l  cp clip
  2297. n 4005.0 3960.0 m 3982.5 4072.5 l
  2298. 3982.5 4072.5 3960.0 4185.0 3825.0 4207.5 DrawSplineSection
  2299. 3825.0 4207.5 3690.0 4230.0 3645.0 4320.0 DrawSplineSection
  2300. 3600.0 4410.0 l  gs col-1 s gr
  2301.  gr
  2302. % arrowhead
  2303. n 3693 4292 m 3612 4385 l 3639 4265 l 3666 4279 l 3693 4292 l  cp gs 0.00 setgray ef gr  col-1 s
  2304. % Open spline
  2305. gs  clippath
  2306. 305 4028 m 383 4123 l 269 4076 l 399 4173 l 435 4125 l  cp clip
  2307. n 1260.0 1395.0 m 1395.0 1395.0 l
  2308. 1395.0 1395.0 1530.0 1395.0 1507.5 2047.5 DrawSplineSection
  2309. 1507.5 2047.5 1485.0 2700.0 877.5 2767.5 DrawSplineSection
  2310. 877.5 2767.5 270.0 2835.0 247.5 3420.0 DrawSplineSection
  2311. 247.5 3420.0 225.0 4005.0 315.0 4072.5 DrawSplineSection
  2312. 405.0 4140.0 l  gs col-1 s gr
  2313.  gr
  2314. % arrowhead
  2315. n 305 4028 m 383 4123 l 269 4076 l 287 4052 l 305 4028 l  cp gs 0.00 setgray ef gr  col-1 s
  2316. % Open spline
  2317. gs  clippath
  2318. 636 4535 m 662 4655 l 582 4562 l 655 4707 l 709 4680 l  cp clip
  2319. n 540.0 4140.0 m 540.0 4275.0 l
  2320. 540.0 4275.0 540.0 4410.0 607.5 4545.0 DrawSplineSection
  2321. 675.0 4680.0 l  gs col-1 s gr
  2322.  gr
  2323. % arrowhead
  2324. n 636 4535 m 662 4655 l 582 4562 l 609 4549 l 636 4535 l  cp gs 0.00 setgray ef gr  col-1 s
  2325. % Open spline
  2326. gs  clippath
  2327. 1675 1883 m 1780 1819 l 1717 1925 l 1832 1811 l 1789 1768 l  cp clip
  2328. n 990.0 5040.0 m 1305.0 4972.5 l
  2329. 1305.0 4972.5 1620.0 4905.0 1620.0 3825.0 DrawSplineSection
  2330. 1620.0 3825.0 1620.0 2745.0 1620.0 2362.5 DrawSplineSection
  2331. 1620.0 2362.5 1620.0 1980.0 1710.0 1890.0 DrawSplineSection
  2332. 1800.0 1800.0 l  gs col-1 s gr
  2333.  gr
  2334. % arrowhead
  2335. n 1675 1883 m 1780 1819 l 1717 1925 l 1696 1904 l 1675 1883 l  cp gs 0.00 setgray ef gr  col-1 s
  2336. /Times-Roman ff 150.00 scf sf
  2337. 540 405 m
  2338. gs 1 -1 sc (Query) col-1 sh gr
  2339. /Times-Roman ff 150.00 scf sf
  2340. 270 630 m
  2341. gs 1 -1 sc (rtable) col-1 sh gr
  2342. /Times-Roman ff 150.00 scf sf
  2343. 270 900 m
  2344. gs 1 -1 sc (targetlist) col-1 sh gr
  2345. /Times-Roman ff 150.00 scf sf
  2346. 270 1170 m
  2347. gs 1 -1 sc (qual) col-1 sh gr
  2348. /Times-Roman ff 150.00 scf sf
  2349. 270 1440 m
  2350. gs 1 -1 sc (groupClause) col-1 sh gr
  2351. /Times-Roman ff 150.00 scf sf
  2352. 270 1710 m
  2353. gs 1 -1 sc (hasAggs:     true) col-1 sh gr
  2354. /Times-Roman ff 150.00 scf sf
  2355. 630 1935 m
  2356. gs 1 -1 sc  270.0 rot (. . . ) col-1 sh gr
  2357. /Times-Roman ff 150.00 scf sf
  2358. 3375 2700 m
  2359. gs 1 -1 sc (Resdom) col-1 sh gr
  2360. /Times-Roman ff 150.00 scf sf
  2361. 3150 2925 m
  2362. gs 1 -1 sc (resname: count) col-1 sh gr
  2363. /Times-Roman ff 150.00 scf sf
  2364. 1845 2925 m
  2365. gs 1 -1 sc (resname: sno) col-1 sh gr
  2366. /Times-Roman ff 150.00 scf sf
  2367. 2025 2700 m
  2368. gs 1 -1 sc (Resdom) col-1 sh gr
  2369. /Times-Roman ff 150.00 scf sf
  2370. 3240 4815 m
  2371. gs 1 -1 sc (varno:      1) col-1 sh gr
  2372. /Times-Roman ff 150.00 scf sf
  2373. 3240 5085 m
  2374. gs 1 -1 sc (varattno:  2) col-1 sh gr
  2375. /Times-Roman ff 150.00 scf sf
  2376. 3420 4590 m
  2377. gs 1 -1 sc (VAR) col-1 sh gr
  2378. /Times-Roman ff 150.00 scf sf
  2379. 3375 3510 m
  2380. gs 1 -1 sc (Aggreg) col-1 sh gr
  2381. /Times-Roman ff 150.00 scf sf
  2382. 3105 4005 m
  2383. gs 1 -1 sc (target) col-1 sh gr
  2384. /Times-Roman ff 150.00 scf sf
  2385. 3105 3735 m
  2386. gs 1 -1 sc (aggname: count) col-1 sh gr
  2387. /Times-Roman ff 150.00 scf sf
  2388. 1890 3735 m
  2389. gs 1 -1 sc (varno:      1) col-1 sh gr
  2390. /Times-Roman ff 150.00 scf sf
  2391. 1890 4005 m
  2392. gs 1 -1 sc (varattno:  1) col-1 sh gr
  2393. /Times-Roman ff 150.00 scf sf
  2394. 2070 3510 m
  2395. gs 1 -1 sc (VAR) col-1 sh gr
  2396. /Times-Roman ff 150.00 scf sf
  2397. 315 5085 m
  2398. gs 1 -1 sc (entry) col-1 sh gr
  2399. /Times-Roman ff 150.00 scf sf
  2400. 270 4860 m
  2401. gs 1 -1 sc (GroupClause) col-1 sh gr
  2402. showpage
  2403. $F2psEnd
  2404. rs
  2405. %%EndDocument
  2406.  @endspecial 509 1864 a(Figure)11 b(3.7:)16 b Fp(Querytr)n(ee)e
  2407. Ft(b)o(uilt)d(up)i(for)e(the)h(query)g(of)g(e)o(xample)h(3.2)198
  2408. 2091 y Fn(The)f(Rewrite)h(System)198 2200 y Ft(The)19
  2409. b(re)o(writing)d(system)j(does)g(not)f(make)f(an)o(y)i(changes)f(to)h
  2410. (the)f Fp(querytr)n(ee)h Ft(as)g(long)f(as)g(the)h(query)198
  2411. 2260 y(in)n(v)o(olv)o(es)12 b(just)g Fp(base)g(tables)p
  2412. Ft(.)j(If)c(an)o(y)h Fp(vie)o(ws)h Ft(are)f(present)f(the)h(query)f(is)
  2413. h(re)o(written)f(to)g(access)i(the)f(tables)198 2320
  2414. y(speci02ed)h(in)f(the)g Fp(vie)o(w)h(de02nition)p
  2415. Ft(.)198 2499 y Fn(Planner/Optimizer)198 2608 y Ft(Whene)o(v)o(er)d(an)
  2416. f Fp(aggr)n(e)n(gate)g(function)g Ft(is)i(in)n(v)o(olv)o(ed)e(in)h(a)g
  2417. (query)f((which)g(is)h(indicated)f(by)h(the)g Fr(hasAggs)198
  2418. 2668 y Ft(03ag)18 b(set)i(to)e Fr(true)p Ft())g(the)h(planner)f
  2419. (creates)h(a)g Fp(plantr)n(ee)g Ft(whose)g(top)f(node)h(is)g(an)f
  2420. Fr(AGG)h Ft(node.)35 b(The)198 2728 y Fp(tar)n(getlist)12
  2421. b Ft(is)g(searched)h(for)e Fp(aggr)n(e)n(gate)h(functions)g
  2422. Ft(and)g(for)g(e)o(v)o(ery)f(function)h(that)g(is)g(found,)g(a)h
  2423. (pointer)198 2788 y(to)h(the)g(corresponding)g Fr(Aggreg)f
  2424. Ft(node)h(is)h(added)f(to)g(a)h(list)f(which)g(is)g(02nally)g
  2425. (attached)g(to)g(the)g(02eld)198 2847 y Fr(aggs)19
  2426. b Ft(of)g(the)g Fr(AGG)g Ft(node.)36 b(This)20 b(list)g(is)f(needed)h
  2427. (by)f(the)g Fp(e)o(xecutor)h Ft(to)f(kno)o(w)g(which)g
  2428. Fp(aggr)n(e)n(gate)198 2907 y(functions)12 b Ft(are)g(present)h(and)f
  2429. (ha)o(v)o(e)h(to)f(be)h(handled.)273 2975 y(The)i Fr(AGG)f
  2430. Ft(node)g(is)h(follo)o(wed)e(by)h(a)h Fr(GRP)f Ft(node.)21
  2431. b(The)15 b(implementation)e(of)h(the)h Fp(gr)n(ouping)e
  2432. Ft(logic)198 3035 y(needs)j(a)g(sorted)f(table)g(for)g(its)h(operation)
  2433. e(so)i(the)g Fr(GRP)f Ft(node)g(is)h(follo)o(wed)e(by)i(a)f
  2434. Fr(SORT)h Ft(node.)25 b(The)198 3095 y Fr(SORT)11 b Ft(operation)f
  2435. (gets)h(its)g(tuples)g(from)f(a)i(kind)e(of)h Fr(Scan)f
  2436. Ft(node)h((if)f(no)h(indices)h(are)e(present)h(this)g(will)198
  2437. 3155 y(be)16 b(a)f(simple)g Fr(SeqScan)g Ft(node).)25
  2438. b(An)o(y)15 b(quali02cations)g(present)g(are)h(attached)f(to)g(the)h
  2439. Fr(Scan)f Ft(node.)198 3214 y(Figure)d(3.8)g(sho)o(ws)h(the)f
  2440. Fp(plan)g Ft(created)h(for)e(the)h(query)g(gi)o(v)o(en)g(in)h(e)o
  2441. (xample)f(3.2.)273 3283 y(Note)i(that)g(e)o(v)o(ery)f(node)h(has)h(its)
  2442. f(o)o(wn)g Fp(tar)n(getlist)g Ft(which)g(may)g(dif)o(fer)e(from)h(the)h
  2443. (one)g(of)g(the)g(node)198 3342 y(abo)o(v)o(e)g(or)f(belo)o(w)m(.)18
  2444. b(The)c(02eld)f Fr(varattno)g Ft(of)g(e)o(v)o(ery)g
  2445. Fr(VAR)g Ft(node)g(included)g(in)g(a)h Fp(tar)n(getlist)f
  2446. Ft(contains)198 3402 y(a)g(number)e(representing)h(the)g(position)g(of)
  2447. g(the)g(attrib)o(ute')m(s)g(v)o(alue)g(in)g(the)h(tuple)f(of)g(the)g
  2448. (current)g(node.)p eop
  2449. %%Page: 64 64
  2450. 64 63 bop 270 60 a Ft(64)82 b Fm(CHAPTER)14 b(3.)28 b(POSTGRESQL)13
  2451. b(FR)n(OM)f(THE)i(PR)n(OGRAMMER'S)f(POINT)f(OF)g(VIEW)385
  2452. 2841 y @beginspecial 149 @llx 169 @lly 463 @urx 622 @ury
  2453. 3140 @rwi @setspecial
  2454. %%BeginDocument: figures/plan_having.ps
  2455. %Magnification: 1.05
  2456. /$F2psDict 200 dict def
  2457. $F2psDict begin
  2458. $F2psDict /mtrx matrix put
  2459. /col-1 {0 setgray} bind def
  2460. /col0 {0.000 0.000 0.000 srgb} bind def
  2461. /col1 {0.000 0.000 1.000 srgb} bind def
  2462. /col2 {0.000 1.000 0.000 srgb} bind def
  2463. /col3 {0.000 1.000 1.000 srgb} bind def
  2464. /col4 {1.000 0.000 0.000 srgb} bind def
  2465. /col5 {1.000 0.000 1.000 srgb} bind def
  2466. /col6 {1.000 1.000 0.000 srgb} bind def
  2467. /col7 {1.000 1.000 1.000 srgb} bind def
  2468. /col8 {0.000 0.000 0.560 srgb} bind def
  2469. /col9 {0.000 0.000 0.690 srgb} bind def
  2470. /col10 {0.000 0.000 0.820 srgb} bind def
  2471. /col11 {0.530 0.810 1.000 srgb} bind def
  2472. /col12 {0.000 0.560 0.000 srgb} bind def
  2473. /col13 {0.000 0.690 0.000 srgb} bind def
  2474. /col14 {0.000 0.820 0.000 srgb} bind def
  2475. /col15 {0.000 0.560 0.560 srgb} bind def
  2476. /col16 {0.000 0.690 0.690 srgb} bind def
  2477. /col17 {0.000 0.820 0.820 srgb} bind def
  2478. /col18 {0.560 0.000 0.000 srgb} bind def
  2479. /col19 {0.690 0.000 0.000 srgb} bind def
  2480. /col20 {0.820 0.000 0.000 srgb} bind def
  2481. /col21 {0.560 0.000 0.560 srgb} bind def
  2482. /col22 {0.690 0.000 0.690 srgb} bind def
  2483. /col23 {0.820 0.000 0.820 srgb} bind def
  2484. /col24 {0.500 0.190 0.000 srgb} bind def
  2485. /col25 {0.630 0.250 0.000 srgb} bind def
  2486. /col26 {0.750 0.380 0.000 srgb} bind def
  2487. /col27 {1.000 0.500 0.500 srgb} bind def
  2488. /col28 {1.000 0.630 0.630 srgb} bind def
  2489. /col29 {1.000 0.750 0.750 srgb} bind def
  2490. /col30 {1.000 0.880 0.880 srgb} bind def
  2491. /col31 {1.000 0.840 0.000 srgb} bind def
  2492. end
  2493. save
  2494. 130.0 635.5 translate
  2495. 1 -1 scale
  2496. /cp {closepath} bind def
  2497. /ef {eofill} bind def
  2498. /gr {grestore} bind def
  2499. /gs {gsave} bind def
  2500. /sa {save} bind def
  2501. /rs {restore} bind def
  2502. /l {lineto} bind def
  2503. /m {moveto} bind def
  2504. /rm {rmoveto} bind def
  2505. /n {newpath} bind def
  2506. /s {stroke} bind def
  2507. /sh {show} bind def
  2508. /slc {setlinecap} bind def
  2509. /slj {setlinejoin} bind def
  2510. /slw {setlinewidth} bind def
  2511. /srgb {setrgbcolor} bind def
  2512. /rot {rotate} bind def
  2513. /sc {scale} bind def
  2514. /sd {setdash} bind def
  2515. /ff {findfont} bind def
  2516. /sf {setfont} bind def
  2517. /scf {scalefont} bind def
  2518. /sw {stringwidth} bind def
  2519. /tr {translate} bind def
  2520. /tnt {dup dup currentrgbcolor
  2521.   4 -2 roll dup 1 exch sub 3 -1 roll mul add
  2522.   4 -2 roll dup 1 exch sub 3 -1 roll mul add
  2523.   4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
  2524.   bind def
  2525. /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
  2526.   4 -2 roll mul srgb} bind def
  2527.  /DrawSplineSection {
  2528. /y3 exch def
  2529. /x3 exch def
  2530. /y2 exch def
  2531. /x2 exch def
  2532. /y1 exch def
  2533. /x1 exch def
  2534. /xa x1 x2 x1 sub 0.666667 mul add def
  2535. /ya y1 y2 y1 sub 0.666667 mul add def
  2536. /xb x3 x2 x3 sub 0.666667 mul add def
  2537. /yb y3 y2 y3 sub 0.666667 mul add def
  2538. x1 y1 lineto
  2539. xa ya xb yb x3 y3 curveto
  2540. } def
  2541. /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
  2542. /$F2psEnd {$F2psEnteredState restore end} def
  2543. $F2psBegin
  2544. 10 setmiterlimit
  2545. n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
  2546.  0.06299 0.06299 sc
  2547. 7.500 slw
  2548. % Polyline
  2549. n 1665 720 m 2205 720 l 2205 990 l 1665 990 l cp gs col-1 s gr 
  2550. % Polyline
  2551. n 1935 720 m 1935 990 l gs col-1 s gr 
  2552. % Polyline
  2553. n 2475 720 m 3015 720 l 3015 990 l 2475 990 l cp gs col-1 s gr 
  2554. % Polyline
  2555. n 2745 720 m 2745 990 l gs col-1 s gr 
  2556. % Polyline
  2557. n 3015 990 m 2745 720 l gs col-1 s gr 
  2558. % Polyline
  2559. n 3015 720 m 2745 990 l gs col-1 s gr 
  2560. % Polyline
  2561. n 1800 1440 m 2700 1440 l 2700 2205 l 1800 2205 l cp gs col-1 s gr 
  2562. % Polyline
  2563. n 1800 1665 m 2700 1665 l gs col-1 s gr 
  2564. % Polyline
  2565. n 1800 1935 m 2700 1935 l gs col-1 s gr 
  2566. % Polyline
  2567. n 2430 1665 m 2430 2205 l gs col-1 s gr 
  2568. /Times-Roman ff 150.00 scf sf
  2569. 2115 1620 m
  2570. gs 1 -1 sc (TLE) col-1 sh gr
  2571. /Times-Roman ff 150.00 scf sf
  2572. 1890 2115 m
  2573. gs 1 -1 sc (expr) col-1 sh gr
  2574. /Times-Roman ff 150.00 scf sf
  2575. 1890 1845 m
  2576. gs 1 -1 sc (resdom) col-1 sh gr
  2577. % Polyline
  2578. n 3150 1440 m 4050 1440 l 4050 2205 l 3150 2205 l cp gs col-1 s gr 
  2579. % Polyline
  2580. n 3150 1665 m 4050 1665 l gs col-1 s gr 
  2581. % Polyline
  2582. n 3150 1935 m 4050 1935 l gs col-1 s gr 
  2583. % Polyline
  2584. n 3780 1665 m 3780 2205 l gs col-1 s gr 
  2585. /Times-Roman ff 150.00 scf sf
  2586. 3465 1620 m
  2587. gs 1 -1 sc (TLE) col-1 sh gr
  2588. /Times-Roman ff 150.00 scf sf
  2589. 3240 2115 m
  2590. gs 1 -1 sc (expr) col-1 sh gr
  2591. /Times-Roman ff 150.00 scf sf
  2592. 3240 1845 m
  2593. gs 1 -1 sc (resdom) col-1 sh gr
  2594. % Polyline
  2595. n 3510 225 m 4050 225 l 4050 495 l 3510 495 l cp gs col-1 s gr 
  2596. % Polyline
  2597. n 3780 225 m 3780 495 l gs col-1 s gr 
  2598. % Polyline
  2599. n 3780 225 m 4050 495 l gs col-1 s gr 
  2600. % Polyline
  2601. n 4050 225 m 3780 495 l gs col-1 s gr 
  2602. % Polyline
  2603. gs  clippath
  2604. 1518 825 m 1638 855 l 1518 885 l 1680 885 l 1680 825 l  cp clip
  2605. n 1260 855 m 1665 855 l gs col-1 s gr gr
  2606. % arrowhead
  2607. n 1518 825 m 1638 855 l 1518 885 l 1518 855 l 1518 825 l  cp gs 0.00 setgray ef gr  col-1 s
  2608. % Polyline
  2609. gs  clippath
  2610. 2328 825 m 2448 855 l 2328 885 l 2490 885 l 2490 825 l  cp clip
  2611. n 2070 855 m 2475 855 l gs col-1 s gr gr
  2612. % arrowhead
  2613. n 2328 825 m 2448 855 l 2328 885 l 2328 855 l 2328 825 l  cp gs 0.00 setgray ef gr  col-1 s
  2614. % Polyline
  2615. n 3105 2745 m 4095 2745 l gs col-1 s gr 
  2616. % Polyline
  2617. n 3105 2520 m 4095 2520 l 4095 3015 l 3105 3015 l cp gs col-1 s gr 
  2618. % Polyline
  2619. n 1755 2745 m 2745 2745 l gs col-1 s gr 
  2620. % Polyline
  2621. n 1755 2520 m 2745 2520 l 2745 3015 l 1755 3015 l cp gs col-1 s gr 
  2622. % Polyline
  2623. n 3060 3555 m 4140 3555 l gs col-1 s gr 
  2624. % Polyline
  2625. n 3060 3825 m 4140 3825 l gs col-1 s gr 
  2626. % Polyline
  2627. n 3150 4410 m 4050 4410 l 4050 5175 l 3150 5175 l cp gs col-1 s gr 
  2628. % Polyline
  2629. n 3150 4635 m 4050 4635 l gs col-1 s gr 
  2630. % Polyline
  2631. n 3150 4905 m 4050 4905 l gs col-1 s gr 
  2632. % Polyline
  2633. n 3060 3330 m 4140 3330 l 4140 4095 l 3060 4095 l cp gs col-1 s gr 
  2634. % Polyline
  2635. n 3870 3825 m 3870 4095 l gs col-1 s gr 
  2636. % Polyline
  2637. n 1800 3330 m 2700 3330 l 2700 4095 l 1800 4095 l cp gs col-1 s gr 
  2638. % Polyline
  2639. n 1800 3555 m 2700 3555 l gs col-1 s gr 
  2640. % Polyline
  2641. n 1800 3825 m 2700 3825 l gs col-1 s gr 
  2642. % Polyline
  2643. n 315 450 m 1395 450 l gs col-1 s gr 
  2644. % Polyline
  2645. n 315 720 m 1395 720 l gs col-1 s gr 
  2646. % Polyline
  2647. n 315 990 m 1395 990 l gs col-1 s gr 
  2648. % Polyline
  2649. n 315 1260 m 1395 1260 l gs col-1 s gr 
  2650. % Polyline
  2651. n 1125 450 m 1125 1620 l gs col-1 s gr 
  2652. % Polyline
  2653. n 1125 450 m 1125 1530 l gs col-1 s gr 
  2654. % Polyline
  2655. n 720 4995 m 1800 4995 l gs col-1 s gr 
  2656. % Polyline
  2657. n 720 5265 m 1800 5265 l gs col-1 s gr 
  2658. % Polyline
  2659. n 1530 4725 m 1530 5625 l gs col-1 s gr 
  2660. % Polyline
  2661. n 720 4725 m 1800 4725 l gs col-1 s gr 
  2662. % Polyline
  2663. n 720 4500 m 1800 4500 l 1800 5625 l 720 5625 l cp gs col-1 s gr 
  2664. % Polyline
  2665. n 2160 5895 m 3240 5895 l gs col-1 s gr 
  2666. % Polyline
  2667. n 2160 6165 m 3240 6165 l gs col-1 s gr 
  2668. % Polyline
  2669. n 2970 5625 m 2970 6525 l gs col-1 s gr 
  2670. % Polyline
  2671. n 2160 5625 m 3240 5625 l gs col-1 s gr 
  2672. % Polyline
  2673. n 3600 6795 m 4680 6795 l gs col-1 s gr 
  2674. % Polyline
  2675. n 3600 7065 m 4680 7065 l gs col-1 s gr 
  2676. % Polyline
  2677. n 3600 6525 m 4680 6525 l gs col-1 s gr 
  2678. % Polyline
  2679. n 2160 5400 m 3240 5400 l 3240 6525 l 2160 6525 l cp gs col-1 s gr 
  2680. % Polyline
  2681. n 4410 6525 m 4410 7380 l gs col-1 s gr 
  2682. % Polyline
  2683. n 3600 6300 m 4680 6300 l 4680 7380 l 3600 7380 l cp gs col-1 s gr 
  2684. % Polyline
  2685. n 315 225 m 1395 225 l 1395 1620 l 315 1620 l cp gs col-1 s gr 
  2686. % Open spline
  2687. gs  clippath
  2688. 2167 1315 m 2230 1420 l 2125 1357 l 2239 1472 l 2282 1429 l  cp clip
  2689. n 1800.0 855.0 m 1867.5 990.0 l
  2690. 1867.5 990.0 1935.0 1125.0 2092.5 1282.5 DrawSplineSection
  2691. 2250.0 1440.0 l  gs col-1 s gr
  2692.  gr
  2693. % arrowhead
  2694. n 2167 1315 m 2230 1420 l 2125 1357 l 2146 1336 l 2167 1315 l  cp gs 0.00 setgray ef gr  col-1 s
  2695. % Open spline
  2696. gs  clippath
  2697. 3517 1315 m 3580 1420 l 3475 1357 l 3589 1472 l 3632 1429 l  cp clip
  2698. n 2610.0 855.0 m 2655.0 990.0 l
  2699. 2655.0 990.0 2700.0 1125.0 3015.0 1147.5 DrawSplineSection
  2700. 3015.0 1147.5 3330.0 1170.0 3465.0 1305.0 DrawSplineSection
  2701. 3600.0 1440.0 l  gs col-1 s gr
  2702.  gr
  2703. % arrowhead
  2704. n 3517 1315 m 3580 1420 l 3475 1357 l 3496 1336 l 3517 1315 l  cp gs 0.00 setgray ef gr  col-1 s
  2705. % Open spline
  2706. gs  clippath
  2707. 2343 2402 m 2262 2495 l 2289 2375 l 2216 2520 l 2270 2547 l  cp clip
  2708. n 2565.0 1800.0 m 2700.0 1800.0 l
  2709. 2700.0 1800.0 2835.0 1800.0 2835.0 2070.0 DrawSplineSection
  2710. 2835.0 2070.0 2835.0 2340.0 2587.5 2340.0 DrawSplineSection
  2711. 2587.5 2340.0 2340.0 2340.0 2295.0 2430.0 DrawSplineSection
  2712. 2250.0 2520.0 l  gs col-1 s gr
  2713.  gr
  2714. % arrowhead