forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit3ccdc6f
committed
Fix list partition constraints for partition keys of array type.
The old code generated always generated a constraint of the formcol = ANY(ARRAY[val1, val2, ...]), but that's invalid when col is anarray type. Instead, generate col = val when there's only one value,col = val1 OR col = val2 OR ... when there are multiple values andcol is of array type, and the old form when there are multiple valuesand col is not of an array type.As a side benefit, this makes constraint exclusion able to prunea list partition declared to accept a single Boolean value, whichdidn't work before.Amit Langote, reviewed by Etsuro FujitaDiscussion:http://postgr.es/m/97267195-e235-89d1-a41a-c110198dfce9@lab.ntt.co.jp1 parent0ff5bd7 commit3ccdc6f
File tree
5 files changed
+93
-43
lines changed- src
- backend/catalog
- test/regress
- expected
- sql
5 files changed
+93
-43
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1625 | 1625 | | |
1626 | 1626 | | |
1627 | 1627 | | |
1628 | | - | |
1629 | | - | |
1630 | | - | |
1631 | | - | |
1632 | | - | |
1633 | | - | |
1634 | | - | |
1635 | | - | |
1636 | | - | |
1637 | | - | |
1638 | | - | |
1639 | | - | |
| 1628 | + | |
| 1629 | + | |
| 1630 | + | |
| 1631 | + | |
| 1632 | + | |
| 1633 | + | |
| 1634 | + | |
| 1635 | + | |
| 1636 | + | |
| 1637 | + | |
| 1638 | + | |
| 1639 | + | |
| 1640 | + | |
| 1641 | + | |
| 1642 | + | |
| 1643 | + | |
| 1644 | + | |
| 1645 | + | |
| 1646 | + | |
| 1647 | + | |
| 1648 | + | |
| 1649 | + | |
| 1650 | + | |
| 1651 | + | |
| 1652 | + | |
| 1653 | + | |
| 1654 | + | |
| 1655 | + | |
| 1656 | + | |
| 1657 | + | |
| 1658 | + | |
| 1659 | + | |
| 1660 | + | |
| 1661 | + | |
| 1662 | + | |
| 1663 | + | |
| 1664 | + | |
| 1665 | + | |
| 1666 | + | |
| 1667 | + | |
| 1668 | + | |
| 1669 | + | |
| 1670 | + | |
| 1671 | + | |
| 1672 | + | |
| 1673 | + | |
| 1674 | + | |
| 1675 | + | |
| 1676 | + | |
| 1677 | + | |
| 1678 | + | |
| 1679 | + | |
| 1680 | + | |
| 1681 | + | |
1640 | 1682 | | |
1641 | 1683 | | |
1642 | 1684 | | |
| |||
1758 | 1800 | | |
1759 | 1801 | | |
1760 | 1802 | | |
1761 | | - | |
1762 | 1803 | | |
1763 | 1804 | | |
1764 | 1805 | | |
1765 | | - | |
| 1806 | + | |
1766 | 1807 | | |
1767 | 1808 | | |
1768 | 1809 | | |
| |||
1828 | 1869 | | |
1829 | 1870 | | |
1830 | 1871 | | |
1831 | | - | |
| 1872 | + | |
1832 | 1873 | | |
1833 | 1874 | | |
1834 | 1875 | | |
| |||
1843 | 1884 | | |
1844 | 1885 | | |
1845 | 1886 | | |
1846 | | - | |
| 1887 | + | |
1847 | 1888 | | |
1848 | 1889 | | |
1849 | 1890 | | |
1850 | | - | |
| 1891 | + | |
1851 | 1892 | | |
1852 | | - | |
1853 | | - | |
1854 | | - | |
1855 | | - | |
1856 | | - | |
1857 | | - | |
1858 | | - | |
1859 | | - | |
1860 | | - | |
1861 | | - | |
1862 | | - | |
1863 | | - | |
| 1893 | + | |
| 1894 | + | |
| 1895 | + | |
| 1896 | + | |
1864 | 1897 | | |
1865 | | - | |
| 1898 | + | |
1866 | 1899 | | |
1867 | 1900 | | |
1868 | 1901 | | |
1869 | | - | |
| 1902 | + | |
| 1903 | + | |
| 1904 | + | |
| 1905 | + | |
1870 | 1906 | | |
1871 | 1907 | | |
1872 | 1908 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
742 | 742 | | |
743 | 743 | | |
744 | 744 | | |
745 | | - | |
| 745 | + | |
746 | 746 | | |
747 | 747 | | |
748 | 748 | | |
| |||
755 | 755 | | |
756 | 756 | | |
757 | 757 | | |
758 | | - | |
| 758 | + | |
759 | 759 | | |
760 | 760 | | |
761 | 761 | | |
| |||
769 | 769 | | |
770 | 770 | | |
771 | 771 | | |
772 | | - | |
| 772 | + | |
773 | 773 | | |
774 | 774 | | |
775 | 775 | | |
| |||
868 | 868 | | |
869 | 869 | | |
870 | 870 | | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
| 876 | + | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
| 881 | + | |
| 882 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1863 | 1863 | | |
1864 | 1864 | | |
1865 | 1865 | | |
1866 | | - | |
| 1866 | + | |
1867 | 1867 | | |
1868 | 1868 | | |
1869 | 1869 | | |
| |||
1935 | 1935 | | |
1936 | 1936 | | |
1937 | 1937 | | |
1938 | | - | |
| 1938 | + | |
1939 | 1939 | | |
1940 | 1940 | | |
1941 | 1941 | | |
| |||
1963 | 1963 | | |
1964 | 1964 | | |
1965 | 1965 | | |
1966 | | - | |
| 1966 | + | |
1967 | 1967 | | |
1968 | 1968 | | |
1969 | 1969 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1014 | 1014 | | |
1015 | 1015 | | |
1016 | 1016 | | |
1017 | | - | |
1018 | | - | |
1019 | 1017 | | |
1020 | 1018 | | |
1021 | | - | |
| 1019 | + | |
1022 | 1020 | | |
1023 | 1021 | | |
1024 | 1022 | | |
1025 | 1023 | | |
1026 | 1024 | | |
1027 | | - | |
1028 | | - | |
1029 | 1025 | | |
1030 | 1026 | | |
1031 | 1027 | | |
1032 | 1028 | | |
1033 | | - | |
| 1029 | + | |
1034 | 1030 | | |
1035 | 1031 | | |
1036 | 1032 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
711 | 711 | | |
712 | 712 | | |
713 | 713 | | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
0 commit comments
Comments
(0)