- Notifications
You must be signed in to change notification settings - Fork4.9k
Commit6b94e7a
committed
Consider fractional paths in generate_orderedappend_paths
When building append paths, we've been looking only at startup and totalcosts for the paths. When building fractional paths that may eliminatethe cheapest one, because it may be dominated by two separate paths (onefor startup, one for total cost).This extends generate_orderedappend_paths() to also consider which pathshave lowest fractional cost. Currently we only consider paths matchingpathkeys - in the future this may be improved by also considering pathsthat are only partially sorted, with an incremental sort on top.Original report of an issue by Arne Roland, patch by me (based on asuggestion by Tom Lane).Reviewed-by: Arne Roland, Zhihong YuDiscussion:https://postgr.es/m/e8f9ec90-546d-e948-acce-0525f3e92773%40enterprisedb.comDiscussion:https://postgr.es/m/1581042da8044e71ada2d6e3a51bf7bb%40index.de1 parent025b920 commit6b94e7a
File tree
3 files changed
+141
-1
lines changed- src
- backend/optimizer/path
- test/regress
- expected
- sql
3 files changed
+141
-1
lines changedLines changed: 68 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1716 | 1716 |
| |
1717 | 1717 |
| |
1718 | 1718 |
| |
| 1719 | + | |
1719 | 1720 |
| |
1720 | 1721 |
| |
1721 | 1722 |
| |
| |||
1745 | 1746 |
| |
1746 | 1747 |
| |
1747 | 1748 |
| |
1748 |
| - | |
| 1749 | + | |
| 1750 | + | |
1749 | 1751 |
| |
1750 | 1752 |
| |
1751 | 1753 |
| |
| |||
1773 | 1775 |
| |
1774 | 1776 |
| |
1775 | 1777 |
| |
| 1778 | + | |
| 1779 | + | |
| 1780 | + | |
| 1781 | + | |
| 1782 | + | |
| 1783 | + | |
| 1784 | + | |
| 1785 | + | |
| 1786 | + | |
| 1787 | + | |
| 1788 | + | |
| 1789 | + | |
| 1790 | + | |
| 1791 | + | |
| 1792 | + | |
| 1793 | + | |
| 1794 | + | |
| 1795 | + | |
| 1796 | + | |
| 1797 | + | |
| 1798 | + | |
| 1799 | + | |
| 1800 | + | |
| 1801 | + | |
| 1802 | + | |
| 1803 | + | |
| 1804 | + | |
| 1805 | + | |
| 1806 | + | |
| 1807 | + | |
| 1808 | + | |
1776 | 1809 |
| |
1777 | 1810 |
| |
1778 | 1811 |
| |
| |||
1799 | 1832 |
| |
1800 | 1833 |
| |
1801 | 1834 |
| |
| 1835 | + | |
| 1836 | + | |
| 1837 | + | |
| 1838 | + | |
| 1839 | + | |
| 1840 | + | |
1802 | 1841 |
| |
1803 | 1842 |
| |
1804 | 1843 |
| |
| |||
1812 | 1851 |
| |
1813 | 1852 |
| |
1814 | 1853 |
| |
| 1854 | + | |
| 1855 | + | |
| 1856 | + | |
| 1857 | + | |
| 1858 | + | |
| 1859 | + | |
1815 | 1860 |
| |
1816 | 1861 |
| |
1817 | 1862 |
| |
| |||
1823 | 1868 |
| |
1824 | 1869 |
| |
1825 | 1870 |
| |
| 1871 | + | |
| 1872 | + | |
| 1873 | + | |
| 1874 | + | |
1826 | 1875 |
| |
1827 | 1876 |
| |
1828 | 1877 |
| |
| |||
1849 | 1898 |
| |
1850 | 1899 |
| |
1851 | 1900 |
| |
| 1901 | + | |
| 1902 | + | |
| 1903 | + | |
| 1904 | + | |
| 1905 | + | |
| 1906 | + | |
| 1907 | + | |
| 1908 | + | |
| 1909 | + | |
| 1910 | + | |
| 1911 | + | |
1852 | 1912 |
| |
1853 | 1913 |
| |
1854 | 1914 |
| |
| |||
1864 | 1924 |
| |
1865 | 1925 |
| |
1866 | 1926 |
| |
| 1927 | + | |
| 1928 | + | |
| 1929 | + | |
| 1930 | + | |
| 1931 | + | |
| 1932 | + | |
| 1933 | + | |
1867 | 1934 |
| |
1868 | 1935 |
| |
1869 | 1936 |
| |
|
Lines changed: 48 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
4862 | 4862 |
| |
4863 | 4863 |
| |
4864 | 4864 |
| |
| 4865 | + | |
| 4866 | + | |
| 4867 | + | |
| 4868 | + | |
| 4869 | + | |
| 4870 | + | |
| 4871 | + | |
| 4872 | + | |
| 4873 | + | |
| 4874 | + | |
| 4875 | + | |
| 4876 | + | |
| 4877 | + | |
| 4878 | + | |
| 4879 | + | |
| 4880 | + | |
| 4881 | + | |
| 4882 | + | |
| 4883 | + | |
| 4884 | + | |
| 4885 | + | |
| 4886 | + | |
| 4887 | + | |
| 4888 | + | |
| 4889 | + | |
| 4890 | + | |
| 4891 | + | |
| 4892 | + | |
| 4893 | + | |
| 4894 | + | |
| 4895 | + | |
| 4896 | + | |
| 4897 | + | |
| 4898 | + | |
| 4899 | + | |
| 4900 | + | |
| 4901 | + | |
| 4902 | + | |
| 4903 | + | |
| 4904 | + | |
| 4905 | + | |
| 4906 | + | |
| 4907 | + | |
| 4908 | + | |
| 4909 | + | |
| 4910 | + | |
| 4911 | + | |
| 4912 | + |
Lines changed: 25 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1142 | 1142 |
| |
1143 | 1143 |
| |
1144 | 1144 |
| |
| 1145 | + | |
| 1146 | + | |
| 1147 | + | |
| 1148 | + | |
| 1149 | + | |
| 1150 | + | |
| 1151 | + | |
| 1152 | + | |
| 1153 | + | |
| 1154 | + | |
| 1155 | + | |
| 1156 | + | |
| 1157 | + | |
| 1158 | + | |
| 1159 | + | |
| 1160 | + | |
| 1161 | + | |
| 1162 | + | |
| 1163 | + | |
| 1164 | + | |
| 1165 | + | |
| 1166 | + | |
| 1167 | + | |
| 1168 | + | |
| 1169 | + |
0 commit comments
Comments
(0)