Commit 43c2175
committed
Fix ruleutils.c's dumping of whole-row Vars in more contexts.
Commit 7745bc3 intended to ensure that whole-row Vars would be
printed with "::type" decoration in all contexts where plain
"var.*" notation would result in star-expansion, notably in
ROW() and VALUES() constructs. However, it missed the case of
INSERT with a single-row VALUES, as reported by Timur Khanjanov.
Nosing around ruleutils.c, I found a second oversight: the
code for RowCompareExpr generates ROW() notation without benefit
of an actual RowExpr, and naturally it wasn't in sync :-(.
(The code for FieldStore also does this, but we don't expect that
to generate strictly parsable SQL anyway, so I left it alone.)
Back-patch to all supported branches.
Discussion: https://postgr.es/m/efaba6f9-4190-56be-8ff2-7a1674f9194f@intrans.baku.az1 parent dfc0cb3 commit 43c2175
File tree
3 files changed
+57
-23
lines changed- src
- backend/utils/adt
- test/regress
- expected
- sql
3 files changed
+57
-23
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
438 | 438 | | |
439 | 439 | | |
440 | 440 | | |
| 441 | + | |
| 442 | + | |
441 | 443 | | |
442 | 444 | | |
443 | 445 | | |
| |||
6632 | 6634 | | |
6633 | 6635 | | |
6634 | 6636 | | |
6635 | | - | |
| 6637 | + | |
6636 | 6638 | | |
6637 | 6639 | | |
6638 | 6640 | | |
| |||
8996 | 8998 | | |
8997 | 8999 | | |
8998 | 9000 | | |
8999 | | - | |
9000 | | - | |
9001 | 9001 | | |
9002 | 9002 | | |
9003 | 9003 | | |
9004 | | - | |
| 9004 | + | |
| 9005 | + | |
| 9006 | + | |
9005 | 9007 | | |
9006 | 9008 | | |
9007 | | - | |
9008 | | - | |
9009 | | - | |
9010 | | - | |
9011 | | - | |
9012 | | - | |
9013 | | - | |
9014 | | - | |
9015 | | - | |
| 9009 | + | |
9016 | 9010 | | |
9017 | 9011 | | |
9018 | 9012 | | |
| |||
9025 | 9019 | | |
9026 | 9020 | | |
9027 | 9021 | | |
9028 | | - | |
9029 | | - | |
9030 | | - | |
9031 | | - | |
9032 | | - | |
9033 | | - | |
9034 | | - | |
9035 | | - | |
9036 | | - | |
| 9022 | + | |
9037 | 9023 | | |
9038 | 9024 | | |
9039 | 9025 | | |
| |||
9578 | 9564 | | |
9579 | 9565 | | |
9580 | 9566 | | |
| 9567 | + | |
| 9568 | + | |
| 9569 | + | |
| 9570 | + | |
| 9571 | + | |
| 9572 | + | |
| 9573 | + | |
| 9574 | + | |
| 9575 | + | |
| 9576 | + | |
| 9577 | + | |
| 9578 | + | |
| 9579 | + | |
| 9580 | + | |
| 9581 | + | |
| 9582 | + | |
| 9583 | + | |
| 9584 | + | |
| 9585 | + | |
| 9586 | + | |
| 9587 | + | |
| 9588 | + | |
| 9589 | + | |
| 9590 | + | |
| 9591 | + | |
| 9592 | + | |
9581 | 9593 | | |
9582 | 9594 | | |
9583 | 9595 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1681 | 1681 | | |
1682 | 1682 | | |
1683 | 1683 | | |
| 1684 | + | |
| 1685 | + | |
| 1686 | + | |
| 1687 | + | |
| 1688 | + | |
| 1689 | + | |
| 1690 | + | |
| 1691 | + | |
| 1692 | + | |
| 1693 | + | |
| 1694 | + | |
| 1695 | + | |
| 1696 | + | |
| 1697 | + | |
| 1698 | + | |
| 1699 | + | |
1684 | 1700 | | |
1685 | 1701 | | |
1686 | 1702 | | |
| |||
1994 | 2010 | | |
1995 | 2011 | | |
1996 | 2012 | | |
1997 | | - | |
| 2013 | + | |
1998 | 2014 | | |
1999 | 2015 | | |
2000 | 2016 | | |
| |||
2058 | 2074 | | |
2059 | 2075 | | |
2060 | 2076 | | |
| 2077 | + | |
2061 | 2078 | | |
2062 | 2079 | | |
2063 | 2080 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
565 | 565 | | |
566 | 566 | | |
567 | 567 | | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
568 | 573 | | |
569 | 574 | | |
570 | 575 | | |
| |||
0 commit comments