Commit 4ac8aaa
committed
Fix handling of generated columns in ALTER TABLE.
ALTER TABLE failed if a column referenced in a GENERATED expression
had been added or changed in type earlier in the ALTER command.
That's because the GENERATED expression needs to be evaluated
against the table's updated tuples, but it was being evaluated
against the original tuples. (Fortunately the executor has adequate
cross-checks to notice the mismatch, so we just got an obscure error
message and not anything more dangerous.)
Per report from Andreas Joseph Krogh. Back-patch to v12 where
GENERATED was added.
Discussion: https://postgr.es/m/VisenaEmail.200.231b0a41523275d0.16ea7f800c7@tc7-visena1 parent 30a3e77 commit 4ac8aaa
File tree
3 files changed
+132
-29
lines changed- src
- backend/commands
- test/regress
- expected
- sql
3 files changed
+132
-29
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
192 | 192 | | |
193 | 193 | | |
194 | 194 | | |
195 | | - | |
| 195 | + | |
| 196 | + | |
196 | 197 | | |
197 | 198 | | |
198 | 199 | | |
199 | 200 | | |
200 | 201 | | |
201 | 202 | | |
| 203 | + | |
202 | 204 | | |
203 | 205 | | |
204 | 206 | | |
| |||
4961 | 4963 | | |
4962 | 4964 | | |
4963 | 4965 | | |
4964 | | - | |
| 4966 | + | |
| 4967 | + | |
| 4968 | + | |
4965 | 4969 | | |
4966 | 4970 | | |
4967 | 4971 | | |
4968 | 4972 | | |
4969 | 4973 | | |
4970 | 4974 | | |
4971 | 4975 | | |
| 4976 | + | |
| 4977 | + | |
| 4978 | + | |
4972 | 4979 | | |
4973 | 4980 | | |
4974 | 4981 | | |
| |||
4977 | 4984 | | |
4978 | 4985 | | |
4979 | 4986 | | |
| 4987 | + | |
| 4988 | + | |
| 4989 | + | |
| 4990 | + | |
| 4991 | + | |
| 4992 | + | |
| 4993 | + | |
| 4994 | + | |
| 4995 | + | |
| 4996 | + | |
| 4997 | + | |
| 4998 | + | |
| 4999 | + | |
| 5000 | + | |
| 5001 | + | |
| 5002 | + | |
| 5003 | + | |
| 5004 | + | |
| 5005 | + | |
| 5006 | + | |
4980 | 5007 | | |
4981 | 5008 | | |
4982 | 5009 | | |
| |||
5892 | 5919 | | |
5893 | 5920 | | |
5894 | 5921 | | |
| 5922 | + | |
5895 | 5923 | | |
5896 | 5924 | | |
5897 | 5925 | | |
| |||
10379 | 10407 | | |
10380 | 10408 | | |
10381 | 10409 | | |
| 10410 | + | |
10382 | 10411 | | |
10383 | 10412 | | |
10384 | 10413 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
593 | 593 | | |
594 | 594 | | |
595 | 595 | | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
596 | 621 | | |
597 | 622 | | |
598 | 623 | | |
599 | | - | |
| 624 | + | |
| 625 | + | |
600 | 626 | | |
601 | | - | |
| 627 | + | |
602 | 628 | | |
603 | 629 | | |
604 | | - | |
605 | | - | |
| 630 | + | |
| 631 | + | |
606 | 632 | | |
607 | | - | |
608 | | - | |
609 | | - | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
610 | 636 | | |
611 | | - | |
| 637 | + | |
| 638 | + | |
612 | 639 | | |
613 | 640 | | |
614 | | - | |
615 | | - | |
616 | | - | |
617 | | - | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
618 | 645 | | |
619 | 646 | | |
620 | | - | |
621 | | - | |
622 | | - | |
623 | | - | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
624 | 657 | | |
625 | | - | |
626 | | - | |
627 | | - | |
628 | | - | |
629 | | - | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
630 | 685 | | |
631 | 686 | | |
632 | 687 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
316 | 316 | | |
317 | 317 | | |
318 | 318 | | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
319 | 326 | | |
320 | 327 | | |
321 | 328 | | |
322 | 329 | | |
323 | | - | |
| 330 | + | |
| 331 | + | |
324 | 332 | | |
325 | | - | |
| 333 | + | |
326 | 334 | | |
327 | | - | |
| 335 | + | |
328 | 336 | | |
329 | 337 | | |
330 | | - | |
331 | | - | |
332 | | - | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
333 | 346 | | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
334 | 353 | | |
335 | 354 | | |
336 | 355 | | |
| |||
0 commit comments