forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commitc579ce0
committed
I started adding the Having Clause and it works quite fine for
sequential scans! (I think it will also work with hash, index, etcbut I did not check it out! I made some High level changes whichshould work for all access methods, but maybe I'm wrong. Pleaselet me know.)Now it is possible to make queries like:select s.sname, max(p.pid), min(p.pid) from part p, supplier swhere s.sid=p.sid group by s.sname having max(pid)=6 and min(pid)=1or avg(pid)=4;Having does not work yet for queries that contain a subselectstatement in the Having clause, I'll try to fix this in the nextdays.If there are some bugs, please let me know, I'll start to read themailinglists now!Now here is the patch against the original 6.3 version (no snapshot!!):Stefan1 parent9c93fa2 commitc579ce0
File tree
9 files changed
+173
-16
lines changed- src/backend
- executor
- optimizer/plan
- parser
- rewrite
9 files changed
+173
-16
lines changedLines changed: 7 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
7 | 7 |
| |
8 | 8 |
| |
9 | 9 |
| |
10 |
| - | |
| 10 | + | |
11 | 11 |
| |
12 | 12 |
| |
13 | 13 |
| |
| |||
203 | 203 |
| |
204 | 204 |
| |
205 | 205 |
| |
206 |
| - | |
207 |
| - | |
| 206 | + | |
208 | 207 |
| |
209 | 208 |
| |
210 | 209 |
| |
| |||
648 | 647 |
| |
649 | 648 |
| |
650 | 649 |
| |
| 650 | + | |
| 651 | + | |
651 | 652 |
| |
652 | 653 |
| |
653 | 654 |
| |
| |||
1356 | 1357 |
| |
1357 | 1358 |
| |
1358 | 1359 |
| |
| 1360 | + | |
1359 | 1361 |
| |
1360 | 1362 |
| |
| 1363 | + | |
| 1364 | + | |
1361 | 1365 |
| |
1362 | 1366 |
| |
1363 | 1367 |
| |
|
Lines changed: 16 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
29 | 29 |
| |
30 | 30 |
| |
31 | 31 |
| |
| 32 | + | |
32 | 33 |
| |
33 | 34 |
| |
34 | 35 |
| |
| |||
109 | 110 |
| |
110 | 111 |
| |
111 | 112 |
| |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
112 | 118 |
| |
113 | 119 |
| |
114 | 120 |
| |
115 | 121 |
| |
| 122 | + | |
116 | 123 |
| |
117 | 124 |
| |
118 | 125 |
| |
| |||
229 | 236 |
| |
230 | 237 |
| |
231 | 238 |
| |
| 239 | + | |
232 | 240 |
| |
233 | 241 |
| |
234 | 242 |
| |
| |||
477 | 485 |
| |
478 | 486 |
| |
479 | 487 |
| |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
480 | 495 |
| |
481 | 496 |
| |
482 | 497 |
| |
483 | 498 |
| |
484 | 499 |
| |
| 500 | + | |
485 | 501 |
| |
486 | 502 |
| |
487 | 503 |
| |
|
Lines changed: 129 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
7 | 7 |
| |
8 | 8 |
| |
9 | 9 |
| |
10 |
| - | |
| 10 | + | |
11 | 11 |
| |
12 | 12 |
| |
13 | 13 |
| |
| |||
59 | 59 |
| |
60 | 60 |
| |
61 | 61 |
| |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
62 | 171 |
| |
63 | 172 |
| |
64 | 173 |
| |
| |||
181 | 290 |
| |
182 | 291 |
| |
183 | 292 |
| |
184 |
| - | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
185 | 309 |
| |
186 | 310 |
| |
187 | 311 |
| |
| |||
429 | 553 |
| |
430 | 554 |
| |
431 | 555 |
| |
| 556 | + | |
| 557 | + | |
| 558 | + |
Lines changed: 2 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
7 | 7 |
| |
8 | 8 |
| |
9 | 9 |
| |
10 |
| - | |
| 10 | + | |
11 | 11 |
| |
12 | 12 |
| |
13 | 13 |
| |
| |||
839 | 839 |
| |
840 | 840 |
| |
841 | 841 |
| |
| 842 | + | |
842 | 843 |
| |
843 | 844 |
| |
844 | 845 |
| |
|
Lines changed: 5 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
7 | 7 |
| |
8 | 8 |
| |
9 | 9 |
| |
10 |
| - | |
| 10 | + | |
11 | 11 |
| |
12 | 12 |
| |
13 | 13 |
| |
| |||
781 | 781 |
| |
782 | 782 |
| |
783 | 783 |
| |
| 784 | + | |
| 785 | + | |
| 786 | + | |
| 787 | + | |
784 | 788 |
| |
785 | 789 |
| |
786 | 790 |
| |
|
Lines changed: 2 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
216 | 216 |
| |
217 | 217 |
| |
218 | 218 |
| |
219 |
| - | |
| 219 | + | |
220 | 220 |
| |
221 | 221 |
| |
222 | 222 |
| |
| |||
6700 | 6700 |
| |
6701 | 6701 |
| |
6702 | 6702 |
| |
6703 |
| - | |
| 6703 | + | |
6704 | 6704 |
| |
6705 | 6705 |
| |
6706 | 6706 |
| |
|
Lines changed: 2 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
10 | 10 |
| |
11 | 11 |
| |
12 | 12 |
| |
13 |
| - | |
| 13 | + | |
14 | 14 |
| |
15 | 15 |
| |
16 | 16 |
| |
| |||
2527 | 2527 |
| |
2528 | 2528 |
| |
2529 | 2529 |
| |
2530 |
| - | |
| 2530 | + | |
2531 | 2531 |
| |
2532 | 2532 |
| |
2533 | 2533 |
| |
|
Lines changed: 2 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
7 | 7 |
| |
8 | 8 |
| |
9 | 9 |
| |
10 |
| - | |
| 10 | + | |
11 | 11 |
| |
12 | 12 |
| |
13 | 13 |
| |
| |||
331 | 331 |
| |
332 | 332 |
| |
333 | 333 |
| |
334 |
| - | |
| 334 | + | |
335 | 335 |
| |
336 | 336 |
| |
337 | 337 |
| |
|
Lines changed: 8 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
6 | 6 |
| |
7 | 7 |
| |
8 | 8 |
| |
9 |
| - | |
| 9 | + | |
10 | 10 |
| |
11 | 11 |
| |
12 | 12 |
| |
| |||
195 | 195 |
| |
196 | 196 |
| |
197 | 197 |
| |
198 |
| - | |
| 198 | + | |
199 | 199 |
| |
200 | 200 |
| |
201 | 201 |
| |
| |||
375 | 375 |
| |
376 | 376 |
| |
377 | 377 |
| |
| 378 | + | |
378 | 379 |
| |
379 | 380 |
| |
380 | 381 |
| |
| |||
384 | 385 |
| |
385 | 386 |
| |
386 | 387 |
| |
| 388 | + | |
| 389 | + | |
387 | 390 |
| |
388 | 391 |
| |
389 | 392 |
| |
| |||
414 | 417 |
| |
415 | 418 |
| |
416 | 419 |
| |
| 420 | + | |
417 | 421 |
| |
418 | 422 |
| |
419 | 423 |
| |
| |||
683 | 687 |
| |
684 | 688 |
| |
685 | 689 |
| |
686 |
| - | |
687 | 690 |
| |
688 | 691 |
| |
689 | 692 |
| |
| |||
780 | 783 |
| |
781 | 784 |
| |
782 | 785 |
| |
| 786 | + | |
| 787 | + | |
783 | 788 |
| |
784 | 789 |
| |
785 | 790 |
| |
|
0 commit comments
Comments
(0)