forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit641054a
committed
Account for SRFs in targetlists in planner rowcount estimates.
We made use of the ROWS estimate for set-returning functions used in FROM,but not for those used in SELECT targetlists; which is a bit of anoversight considering there are common usages that require the latterapproach. Improve that. (I had initially thought it might be worthfolding this into cost_qual_eval, but after investigation concluded thatthat wouldn't be very helpful, so just do it separately.) Per complaintfrom David Johnston.Back-patch to 9.2, but not further, for fear of destabilizing plan choicesin existing releases.1 parentc6c6f21 commit641054a
File tree
7 files changed
+120
-48
lines changed- src
- backend/optimizer
- path
- plan
- util
- include/optimizer
7 files changed
+120
-48
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2958 | 2958 | | |
2959 | 2959 | | |
2960 | 2960 | | |
| 2961 | + | |
| 2962 | + | |
| 2963 | + | |
| 2964 | + | |
| 2965 | + | |
| 2966 | + | |
| 2967 | + | |
2961 | 2968 | | |
2962 | 2969 | | |
2963 | 2970 | | |
| |||
3742 | 3749 | | |
3743 | 3750 | | |
3744 | 3751 | | |
3745 | | - | |
| 3752 | + | |
3746 | 3753 | | |
3747 | 3754 | | |
3748 | 3755 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
33 | 34 | | |
34 | 35 | | |
35 | 36 | | |
| |||
4126 | 4127 | | |
4127 | 4128 | | |
4128 | 4129 | | |
4129 | | - | |
4130 | | - | |
| 4130 | + | |
| 4131 | + | |
4131 | 4132 | | |
4132 | 4133 | | |
4133 | 4134 | | |
| |||
4136 | 4137 | | |
4137 | 4138 | | |
4138 | 4139 | | |
4139 | | - | |
4140 | | - | |
4141 | | - | |
4142 | | - | |
| 4140 | + | |
4143 | 4141 | | |
4144 | 4142 | | |
4145 | 4143 | | |
| |||
4160 | 4158 | | |
4161 | 4159 | | |
4162 | 4160 | | |
4163 | | - | |
4164 | 4161 | | |
4165 | 4162 | | |
4166 | 4163 | | |
| |||
4185 | 4182 | | |
4186 | 4183 | | |
4187 | 4184 | | |
4188 | | - | |
4189 | | - | |
| 4185 | + | |
| 4186 | + | |
4190 | 4187 | | |
4191 | | - | |
4192 | | - | |
4193 | | - | |
4194 | | - | |
| 4188 | + | |
4195 | 4189 | | |
4196 | 4190 | | |
4197 | 4191 | | |
| |||
4242 | 4236 | | |
4243 | 4237 | | |
4244 | 4238 | | |
4245 | | - | |
4246 | | - | |
| 4239 | + | |
| 4240 | + | |
4247 | 4241 | | |
4248 | 4242 | | |
4249 | 4243 | | |
| |||
4252 | 4246 | | |
4253 | 4247 | | |
4254 | 4248 | | |
4255 | | - | |
4256 | | - | |
4257 | | - | |
4258 | | - | |
| 4249 | + | |
4259 | 4250 | | |
4260 | 4251 | | |
4261 | 4252 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| 39 | + | |
39 | 40 | | |
40 | 41 | | |
41 | 42 | | |
| |||
205 | 206 | | |
206 | 207 | | |
207 | 208 | | |
208 | | - | |
209 | 209 | | |
210 | 210 | | |
211 | 211 | | |
| |||
272 | 272 | | |
273 | 273 | | |
274 | 274 | | |
275 | | - | |
276 | | - | |
277 | | - | |
| 275 | + | |
278 | 276 | | |
279 | 277 | | |
280 | 278 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1045 | 1045 | | |
1046 | 1046 | | |
1047 | 1047 | | |
1048 | | - | |
1049 | 1048 | | |
1050 | 1049 | | |
1051 | 1050 | | |
| |||
1355 | 1354 | | |
1356 | 1355 | | |
1357 | 1356 | | |
1358 | | - | |
1359 | | - | |
1360 | | - | |
1361 | | - | |
1362 | | - | |
1363 | | - | |
1364 | | - | |
1365 | | - | |
1366 | | - | |
1367 | | - | |
1368 | | - | |
1369 | | - | |
1370 | | - | |
1371 | | - | |
1372 | | - | |
1373 | | - | |
| 1357 | + | |
1374 | 1358 | | |
1375 | | - | |
1376 | | - | |
1377 | | - | |
1378 | | - | |
| 1359 | + | |
1379 | 1360 | | |
1380 | 1361 | | |
1381 | 1362 | | |
| |||
1815 | 1796 | | |
1816 | 1797 | | |
1817 | 1798 | | |
| 1799 | + | |
| 1800 | + | |
| 1801 | + | |
| 1802 | + | |
| 1803 | + | |
| 1804 | + | |
| 1805 | + | |
| 1806 | + | |
| 1807 | + | |
| 1808 | + | |
| 1809 | + | |
| 1810 | + | |
| 1811 | + | |
| 1812 | + | |
| 1813 | + | |
| 1814 | + | |
| 1815 | + | |
| 1816 | + | |
| 1817 | + | |
| 1818 | + | |
| 1819 | + | |
| 1820 | + | |
| 1821 | + | |
| 1822 | + | |
| 1823 | + | |
| 1824 | + | |
| 1825 | + | |
| 1826 | + | |
| 1827 | + | |
| 1828 | + | |
| 1829 | + | |
| 1830 | + | |
| 1831 | + | |
| 1832 | + | |
| 1833 | + | |
| 1834 | + | |
| 1835 | + | |
| 1836 | + | |
| 1837 | + | |
| 1838 | + | |
| 1839 | + | |
| 1840 | + | |
| 1841 | + | |
| 1842 | + | |
| 1843 | + | |
| 1844 | + | |
| 1845 | + | |
| 1846 | + | |
| 1847 | + | |
| 1848 | + | |
| 1849 | + | |
| 1850 | + | |
| 1851 | + | |
| 1852 | + | |
| 1853 | + | |
1818 | 1854 | | |
1819 | 1855 | | |
1820 | 1856 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
661 | 661 | | |
662 | 662 | | |
663 | 663 | | |
664 | | - | |
| 664 | + | |
| 665 | + | |
665 | 666 | | |
666 | 667 | | |
667 | | - | |
| 668 | + | |
| 669 | + | |
668 | 670 | | |
669 | 671 | | |
670 | 672 | | |
| |||
674 | 676 | | |
675 | 677 | | |
676 | 678 | | |
677 | | - | |
| 679 | + | |
678 | 680 | | |
679 | 681 | | |
680 | 682 | | |
| |||
736 | 738 | | |
737 | 739 | | |
738 | 740 | | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
739 | 775 | | |
740 | 776 | | |
741 | 777 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
| 58 | + | |
58 | 59 | | |
59 | 60 | | |
60 | 61 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
38 | 41 | | |
39 | 42 | | |
40 | 43 | | |
| |||
0 commit comments
Comments
(0)