forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commiteb7ed3f
committed
Allow UNIQUE indexes on partitioned tables
If we restrict unique constraints on partitioned tables so that theymust always include the partition key, then our standard approach tounique indexes already works --- each unique key is forced to existwithin a single partition, so enforcing the unique restriction in eachindex individually is enough to have it enforced globally. Therefore wecan implement unique indexes on partitions by simply removing a fewrestrictions (and adding others.)Discussion:https://postgr.es/m/20171222212921.hi6hg6pem2w2t36z@alvherre.pgsqlDiscussion:https://postgr.es/m/20171229230607.3iib6b62fn3uaf47@alvherre.pgsqlReviewed-by: Simon Riggs, Jesper Pedersen, Peter Eisentraut, JaimeCasanova, Amit Langote1 parent524d64e commiteb7ed3f
File tree
27 files changed
+907
-95
lines changed- doc/src/sgml
- ref
- src
- backend
- bootstrap
- catalog
- commands
- parser
- tcop
- bin/pg_dump/t
- include
- catalog
- commands
- parser
- test/regress
- expected
- sql
27 files changed
+907
-95
lines changedLines changed: 4 additions & 5 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
3146 | 3146 |
| |
3147 | 3147 |
| |
3148 | 3148 |
| |
3149 |
| - | |
3150 |
| - | |
3151 |
| - | |
| 3149 | + | |
| 3150 | + | |
3152 | 3151 |
| |
3153 | 3152 |
| |
3154 | 3153 |
| |
| |||
3270 | 3269 |
| |
3271 | 3270 |
| |
3272 | 3271 |
| |
3273 |
| - | |
| 3272 | + | |
3274 | 3273 |
| |
3275 | 3274 |
| |
3276 | 3275 |
| |
3277 | 3276 |
| |
3278 | 3277 |
| |
3279 | 3278 |
| |
3280 | 3279 |
| |
3281 |
| - | |
| 3280 | + | |
3282 | 3281 |
| |
3283 | 3282 |
| |
3284 | 3283 |
| |
|
Lines changed: 11 additions & 4 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
412 | 412 |
| |
413 | 413 |
| |
414 | 414 |
| |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
415 | 420 |
| |
416 | 421 |
| |
417 | 422 |
| |
| |||
834 | 839 |
| |
835 | 840 |
| |
836 | 841 |
| |
837 |
| - | |
838 |
| - | |
839 |
| - | |
| 842 | + | |
| 843 | + | |
| 844 | + | |
840 | 845 |
| |
841 | 846 |
| |
842 | 847 |
| |
| |||
851 | 856 |
| |
852 | 857 |
| |
853 | 858 |
| |
854 |
| - | |
855 | 859 |
| |
| 860 | + | |
| 861 | + | |
| 862 | + | |
856 | 863 |
| |
857 | 864 |
| |
858 | 865 |
| |
|
Lines changed: 5 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
108 | 108 |
| |
109 | 109 |
| |
110 | 110 |
| |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
111 | 116 |
| |
112 | 117 |
| |
113 | 118 |
| |
|
Lines changed: 16 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
546 | 546 |
| |
547 | 547 |
| |
548 | 548 |
| |
549 |
| - | |
550 |
| - | |
| 549 | + | |
551 | 550 |
| |
552 | 551 |
| |
553 | 552 |
| |
| |||
786 | 785 |
| |
787 | 786 |
| |
788 | 787 |
| |
| 788 | + | |
| 789 | + | |
| 790 | + | |
| 791 | + | |
| 792 | + | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
789 | 796 |
| |
790 | 797 |
| |
791 | 798 |
| |
| |||
814 | 821 |
| |
815 | 822 |
| |
816 | 823 |
| |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
817 | 831 |
| |
818 | 832 |
| |
819 | 833 |
| |
|
Lines changed: 2 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
322 | 322 |
| |
323 | 323 |
| |
324 | 324 |
| |
| 325 | + | |
325 | 326 |
| |
326 | 327 |
| |
327 | 328 |
| |
| |||
367 | 368 |
| |
368 | 369 |
| |
369 | 370 |
| |
| 371 | + | |
370 | 372 |
| |
371 | 373 |
| |
372 | 374 |
| |
|
Lines changed: 45 additions & 5 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
691 | 691 |
| |
692 | 692 |
| |
693 | 693 |
| |
| 694 | + | |
| 695 | + | |
694 | 696 |
| |
695 | 697 |
| |
696 | 698 |
| |
| |||
722 | 724 |
| |
723 | 725 |
| |
724 | 726 |
| |
| 727 | + | |
725 | 728 |
| |
726 | 729 |
| |
727 | 730 |
| |
| |||
730 | 733 |
| |
731 | 734 |
| |
732 | 735 |
| |
| 736 | + | |
733 | 737 |
| |
734 | 738 |
| |
735 | 739 |
| |
| |||
742 | 746 |
| |
743 | 747 |
| |
744 | 748 |
| |
745 |
| - | |
| 749 | + | |
| 750 | + | |
746 | 751 |
| |
747 | 752 |
| |
748 | 753 |
| |
| |||
989 | 994 |
| |
990 | 995 |
| |
991 | 996 |
| |
| 997 | + | |
992 | 998 |
| |
993 | 999 |
| |
994 | 1000 |
| |
| |||
1002 | 1008 |
| |
1003 | 1009 |
| |
1004 | 1010 |
| |
1005 |
| - | |
| 1011 | + | |
1006 | 1012 |
| |
| 1013 | + | |
1007 | 1014 |
| |
1008 | 1015 |
| |
1009 | 1016 |
| |
1010 | 1017 |
| |
1011 | 1018 |
| |
1012 | 1019 |
| |
| 1020 | + | |
| 1021 | + | |
1013 | 1022 |
| |
1014 | 1023 |
| |
1015 | 1024 |
| |
| |||
1181 | 1190 |
| |
1182 | 1191 |
| |
1183 | 1192 |
| |
| 1193 | + | |
| 1194 | + | |
1184 | 1195 |
| |
1185 | 1196 |
| |
1186 | 1197 |
| |
| |||
1198 | 1209 |
| |
1199 | 1210 |
| |
1200 | 1211 |
| |
| 1212 | + | |
1201 | 1213 |
| |
1202 | 1214 |
| |
1203 | 1215 |
| |
| |||
1212 | 1224 |
| |
1213 | 1225 |
| |
1214 | 1226 |
| |
| 1227 | + | |
| 1228 | + | |
| 1229 | + | |
1215 | 1230 |
| |
1216 | 1231 |
| |
1217 | 1232 |
| |
| |||
1246 | 1261 |
| |
1247 | 1262 |
| |
1248 | 1263 |
| |
| 1264 | + | |
| 1265 | + | |
| 1266 | + | |
| 1267 | + | |
| 1268 | + | |
| 1269 | + | |
| 1270 | + | |
| 1271 | + | |
| 1272 | + | |
| 1273 | + | |
| 1274 | + | |
| 1275 | + | |
| 1276 | + | |
1249 | 1277 |
| |
1250 | 1278 |
| |
1251 | 1279 |
| |
| |||
1273 | 1301 |
| |
1274 | 1302 |
| |
1275 | 1303 |
| |
1276 |
| - | |
1277 |
| - | |
1278 |
| - | |
| 1304 | + | |
| 1305 | + | |
| 1306 | + | |
1279 | 1307 |
| |
1280 | 1308 |
| |
1281 | 1309 |
| |
| |||
1294 | 1322 |
| |
1295 | 1323 |
| |
1296 | 1324 |
| |
| 1325 | + | |
| 1326 | + | |
| 1327 | + | |
| 1328 | + | |
| 1329 | + | |
| 1330 | + | |
| 1331 | + | |
| 1332 | + | |
| 1333 | + | |
| 1334 | + | |
| 1335 | + | |
| 1336 | + | |
1297 | 1337 |
| |
1298 | 1338 |
| |
1299 | 1339 |
| |
|
Lines changed: 76 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
747 | 747 |
| |
748 | 748 |
| |
749 | 749 |
| |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
| 782 | + | |
| 783 | + | |
| 784 | + | |
| 785 | + | |
| 786 | + | |
750 | 787 |
| |
751 | 788 |
| |
752 | 789 |
| |
| |||
903 | 940 |
| |
904 | 941 |
| |
905 | 942 |
| |
| 943 | + | |
| 944 | + | |
| 945 | + | |
| 946 | + | |
| 947 | + | |
| 948 | + | |
| 949 | + | |
| 950 | + | |
| 951 | + | |
| 952 | + | |
| 953 | + | |
| 954 | + | |
| 955 | + | |
| 956 | + | |
| 957 | + | |
| 958 | + | |
| 959 | + | |
| 960 | + | |
| 961 | + | |
| 962 | + | |
| 963 | + | |
| 964 | + | |
| 965 | + | |
| 966 | + | |
| 967 | + | |
| 968 | + | |
| 969 | + | |
| 970 | + | |
| 971 | + | |
| 972 | + | |
| 973 | + | |
| 974 | + | |
| 975 | + | |
| 976 | + | |
| 977 | + | |
| 978 | + | |
| 979 | + | |
| 980 | + | |
| 981 | + | |
906 | 982 |
| |
907 | 983 |
| |
908 | 984 |
| |
|
Lines changed: 2 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
330 | 330 |
| |
331 | 331 |
| |
332 | 332 |
| |
333 |
| - | |
| 333 | + | |
334 | 334 |
| |
335 | 335 |
| |
336 | 336 |
| |
337 | 337 |
| |
338 | 338 |
| |
339 |
| - | |
| 339 | + | |
340 | 340 |
| |
341 | 341 |
| |
342 | 342 |
| |
|
0 commit comments
Comments
(0)