forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit1772d55
committed
Fix NO ACTION temporal foreign keys when the referenced endpoints change
If a referenced UPDATE changes the temporal start/end times, shrinkingthe span the row is valid, we get a false return fromri_Check_Pk_Match(), but overlapping references may still be valid, iftheir reference didn't overlap with the removed span.We need to consider what span(s) are still provided in the referencedtable. Instead of returning that from ri_Check_Pk_Match(), we canjust look it up in the main SQL query.Reported-by: Sam Gabrielsson <sam@movsom.se>Author: Paul Jungwirth <pj@illuminatedcomputing.com>Discussion:https://www.postgresql.org/message-id/flat/CA+renyUApHgSZF9-nd-a0+OPGharLQLO=mDHcY4_qQ0+noCUVg@mail.gmail.com1 parent888d452 commit1772d55
File tree
7 files changed
+233
-7
lines changed- src
- backend
- catalog
- commands
- utils/adt
- include/catalog
- test/regress
- expected
- sql
7 files changed
+233
-7
lines changedLines changed: 16 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1618 | 1618 |
| |
1619 | 1619 |
| |
1620 | 1620 |
| |
| 1621 | + | |
| 1622 | + | |
1621 | 1623 |
| |
1622 | 1624 |
| |
1623 | 1625 |
| |
1624 | 1626 |
| |
1625 |
| - | |
| 1627 | + | |
| 1628 | + | |
1626 | 1629 |
| |
1627 | 1630 |
| |
1628 | 1631 |
| |
| |||
1663 | 1666 |
| |
1664 | 1667 |
| |
1665 | 1668 |
| |
| 1669 | + | |
| 1670 | + | |
| 1671 | + | |
| 1672 | + | |
| 1673 | + | |
| 1674 | + | |
| 1675 | + | |
| 1676 | + | |
| 1677 | + | |
| 1678 | + | |
| 1679 | + | |
| 1680 | + | |
1666 | 1681 |
| |
1667 | 1682 |
| |
1668 | 1683 |
| |
|
Lines changed: 3 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
10260 | 10260 |
| |
10261 | 10261 |
| |
10262 | 10262 |
| |
| 10263 | + | |
10263 | 10264 |
| |
10264 |
| - | |
| 10265 | + | |
| 10266 | + | |
10265 | 10267 |
| |
10266 | 10268 |
| |
10267 | 10269 |
| |
|
Lines changed: 92 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
129 | 129 |
| |
130 | 130 |
| |
131 | 131 |
| |
| 132 | + | |
132 | 133 |
| |
133 | 134 |
| |
134 | 135 |
| |
| |||
734 | 735 |
| |
735 | 736 |
| |
736 | 737 |
| |
| 738 | + | |
| 739 | + | |
| 740 | + | |
737 | 741 |
| |
738 |
| - | |
| 742 | + | |
739 | 743 |
| |
740 | 744 |
| |
741 | 745 |
| |
| |||
753 | 757 |
| |
754 | 758 |
| |
755 | 759 |
| |
| 760 | + | |
756 | 761 |
| |
757 | 762 |
| |
| 763 | + | |
758 | 764 |
| |
759 | 765 |
| |
760 | 766 |
| |
| |||
790 | 796 |
| |
791 | 797 |
| |
792 | 798 |
| |
| 799 | + | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
| 839 | + | |
| 840 | + | |
| 841 | + | |
| 842 | + | |
| 843 | + | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
| 847 | + | |
| 848 | + | |
| 849 | + | |
| 850 | + | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
| 854 | + | |
| 855 | + | |
| 856 | + | |
| 857 | + | |
| 858 | + | |
| 859 | + | |
| 860 | + | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
| 876 | + | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
| 881 | + | |
793 | 882 |
| |
794 | 883 |
| |
795 | 884 |
| |
| |||
2251 | 2340 |
| |
2252 | 2341 |
| |
2253 | 2342 |
| |
2254 |
| - | |
| 2343 | + | |
| 2344 | + | |
2255 | 2345 |
| |
2256 | 2346 |
| |
2257 | 2347 |
| |
|
Lines changed: 2 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
290 | 290 |
| |
291 | 291 |
| |
292 | 292 |
| |
293 |
| - | |
| 293 | + | |
| 294 | + | |
294 | 295 |
| |
295 | 296 |
| |
296 | 297 |
| |
|
Lines changed: 4 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
3150 | 3150 |
| |
3151 | 3151 |
| |
3152 | 3152 |
| |
3153 |
| - | |
| 3153 | + | |
| 3154 | + | |
3154 | 3155 |
| |
3155 | 3156 |
| |
3156 | 3157 |
| |
| |||
3417 | 3418 |
| |
3418 | 3419 |
| |
3419 | 3420 |
| |
3420 |
| - | |
| 3421 | + | |
| 3422 | + | |
3421 | 3423 |
| |
3422 | 3424 |
| |
3423 | 3425 |
| |
|
Lines changed: 62 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1704 | 1704 |
| |
1705 | 1705 |
| |
1706 | 1706 |
| |
| 1707 | + | |
| 1708 | + | |
| 1709 | + | |
| 1710 | + | |
| 1711 | + | |
| 1712 | + | |
| 1713 | + | |
| 1714 | + | |
| 1715 | + | |
| 1716 | + | |
| 1717 | + | |
| 1718 | + | |
| 1719 | + | |
| 1720 | + | |
| 1721 | + | |
| 1722 | + | |
| 1723 | + | |
| 1724 | + | |
| 1725 | + | |
| 1726 | + | |
| 1727 | + | |
| 1728 | + | |
| 1729 | + | |
| 1730 | + | |
| 1731 | + | |
| 1732 | + | |
| 1733 | + | |
| 1734 | + | |
| 1735 | + | |
| 1736 | + | |
| 1737 | + | |
1707 | 1738 |
| |
1708 | 1739 |
| |
1709 | 1740 |
| |
| |||
2196 | 2227 |
| |
2197 | 2228 |
| |
2198 | 2229 |
| |
| 2230 | + | |
| 2231 | + | |
| 2232 | + | |
| 2233 | + | |
| 2234 | + | |
| 2235 | + | |
| 2236 | + | |
| 2237 | + | |
| 2238 | + | |
| 2239 | + | |
| 2240 | + | |
| 2241 | + | |
| 2242 | + | |
| 2243 | + | |
| 2244 | + | |
| 2245 | + | |
| 2246 | + | |
| 2247 | + | |
| 2248 | + | |
| 2249 | + | |
| 2250 | + | |
| 2251 | + | |
| 2252 | + | |
| 2253 | + | |
| 2254 | + | |
| 2255 | + | |
| 2256 | + | |
| 2257 | + | |
| 2258 | + | |
| 2259 | + | |
| 2260 | + | |
2199 | 2261 |
| |
2200 | 2262 |
| |
2201 | 2263 |
| |
|
Lines changed: 54 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1249 | 1249 |
| |
1250 | 1250 |
| |
1251 | 1251 |
| |
| 1252 | + | |
| 1253 | + | |
| 1254 | + | |
| 1255 | + | |
| 1256 | + | |
| 1257 | + | |
| 1258 | + | |
| 1259 | + | |
| 1260 | + | |
| 1261 | + | |
| 1262 | + | |
| 1263 | + | |
| 1264 | + | |
| 1265 | + | |
| 1266 | + | |
| 1267 | + | |
| 1268 | + | |
| 1269 | + | |
| 1270 | + | |
| 1271 | + | |
| 1272 | + | |
| 1273 | + | |
| 1274 | + | |
| 1275 | + | |
| 1276 | + | |
| 1277 | + | |
| 1278 | + | |
1252 | 1279 |
| |
1253 | 1280 |
| |
1254 | 1281 |
| |
| |||
1710 | 1737 |
| |
1711 | 1738 |
| |
1712 | 1739 |
| |
| 1740 | + | |
| 1741 | + | |
| 1742 | + | |
| 1743 | + | |
| 1744 | + | |
| 1745 | + | |
| 1746 | + | |
| 1747 | + | |
| 1748 | + | |
| 1749 | + | |
| 1750 | + | |
| 1751 | + | |
| 1752 | + | |
| 1753 | + | |
| 1754 | + | |
| 1755 | + | |
| 1756 | + | |
| 1757 | + | |
| 1758 | + | |
| 1759 | + | |
| 1760 | + | |
| 1761 | + | |
| 1762 | + | |
| 1763 | + | |
| 1764 | + | |
| 1765 | + | |
| 1766 | + | |
1713 | 1767 |
| |
1714 | 1768 |
| |
1715 | 1769 |
| |
|
0 commit comments
Comments
(0)