Commit 4fb9271
committed
Fix plpgsql to pass only one copy of any given plpgsql variable into a SQL
command or expression, rather than one copy for each textual occurrence as
it did before. This might result in some small performance improvement,
but the compelling reason to do it is that not doing so can result in
unexpected grouping failures because the main SQL parser won't see different
parameter numbers as equivalent. Add a regression test for the failure case.
Per report from Robert Davidson.1 parent 19956e0 commit 4fb9271
File tree
3 files changed
+92
-33
lines changed- src
- pl/plpgsql/src
- test/regress
- expected
- sql
3 files changed
+92
-33
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| |||
1714 | 1714 | | |
1715 | 1715 | | |
1716 | 1716 | | |
| 1717 | + | |
| 1718 | + | |
| 1719 | + | |
| 1720 | + | |
| 1721 | + | |
| 1722 | + | |
| 1723 | + | |
| 1724 | + | |
| 1725 | + | |
| 1726 | + | |
| 1727 | + | |
| 1728 | + | |
| 1729 | + | |
| 1730 | + | |
| 1731 | + | |
| 1732 | + | |
| 1733 | + | |
| 1734 | + | |
| 1735 | + | |
| 1736 | + | |
| 1737 | + | |
| 1738 | + | |
| 1739 | + | |
| 1740 | + | |
| 1741 | + | |
| 1742 | + | |
| 1743 | + | |
| 1744 | + | |
| 1745 | + | |
| 1746 | + | |
| 1747 | + | |
| 1748 | + | |
| 1749 | + | |
| 1750 | + | |
| 1751 | + | |
| 1752 | + | |
| 1753 | + | |
| 1754 | + | |
1717 | 1755 | | |
1718 | 1756 | | |
1719 | 1757 | | |
| |||
1752 | 1790 | | |
1753 | 1791 | | |
1754 | 1792 | | |
1755 | | - | |
| 1793 | + | |
1756 | 1794 | | |
1757 | 1795 | | |
1758 | 1796 | | |
| |||
1804 | 1842 | | |
1805 | 1843 | | |
1806 | 1844 | | |
1807 | | - | |
1808 | | - | |
1809 | | - | |
1810 | | - | |
1811 | | - | |
1812 | | - | |
1813 | | - | |
1814 | | - | |
1815 | | - | |
1816 | 1845 | | |
1817 | 1846 | | |
1818 | 1847 | | |
1819 | | - | |
1820 | | - | |
| 1848 | + | |
| 1849 | + | |
| 1850 | + | |
1821 | 1851 | | |
1822 | 1852 | | |
1823 | 1853 | | |
1824 | 1854 | | |
1825 | | - | |
1826 | | - | |
| 1855 | + | |
| 1856 | + | |
| 1857 | + | |
1827 | 1858 | | |
1828 | 1859 | | |
1829 | 1860 | | |
1830 | 1861 | | |
1831 | | - | |
1832 | | - | |
| 1862 | + | |
| 1863 | + | |
| 1864 | + | |
1833 | 1865 | | |
1834 | 1866 | | |
1835 | 1867 | | |
| |||
1927 | 1959 | | |
1928 | 1960 | | |
1929 | 1961 | | |
1930 | | - | |
| 1962 | + | |
1931 | 1963 | | |
1932 | 1964 | | |
1933 | 1965 | | |
| |||
1992 | 2024 | | |
1993 | 2025 | | |
1994 | 2026 | | |
1995 | | - | |
1996 | | - | |
1997 | | - | |
1998 | | - | |
1999 | | - | |
2000 | | - | |
2001 | | - | |
2002 | | - | |
2003 | | - | |
2004 | 2027 | | |
2005 | 2028 | | |
2006 | 2029 | | |
2007 | | - | |
2008 | | - | |
| 2030 | + | |
| 2031 | + | |
| 2032 | + | |
2009 | 2033 | | |
2010 | 2034 | | |
2011 | 2035 | | |
2012 | 2036 | | |
2013 | | - | |
2014 | | - | |
| 2037 | + | |
| 2038 | + | |
| 2039 | + | |
2015 | 2040 | | |
2016 | 2041 | | |
2017 | 2042 | | |
2018 | 2043 | | |
2019 | | - | |
2020 | | - | |
| 2044 | + | |
| 2045 | + | |
| 2046 | + | |
2021 | 2047 | | |
2022 | 2048 | | |
2023 | 2049 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2776 | 2776 | | |
2777 | 2777 | | |
2778 | 2778 | | |
| 2779 | + | |
| 2780 | + | |
| 2781 | + | |
| 2782 | + | |
| 2783 | + | |
| 2784 | + | |
| 2785 | + | |
| 2786 | + | |
| 2787 | + | |
| 2788 | + | |
| 2789 | + | |
| 2790 | + | |
| 2791 | + | |
| 2792 | + | |
| 2793 | + | |
| 2794 | + | |
| 2795 | + | |
| 2796 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2309 | 2309 | | |
2310 | 2310 | | |
2311 | 2311 | | |
| 2312 | + | |
| 2313 | + | |
| 2314 | + | |
| 2315 | + | |
| 2316 | + | |
| 2317 | + | |
| 2318 | + | |
| 2319 | + | |
| 2320 | + | |
| 2321 | + | |
| 2322 | + | |
| 2323 | + | |
| 2324 | + | |
| 2325 | + | |
| 2326 | + | |
0 commit comments