forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit921b993
committed
Fix RI_Initial_Check to use a COLLATE clause when needed in its query.
If the referencing and referenced columns have different collations,the parser will be unable to resolve which collation to use unless it'shelped out in this way. The effects are sometimes masked, if we end upusing a non-collation-sensitive plan; but if we do use a mergejoinwe'll see a failure, as recently noted by Robert Haas.The SQL spec states that the referenced column's collation should be usedto resolve RI checks, so that's what we do. Note however that we currentlydon't append a COLLATE clause when writing a query that examines only thereferencing column. If we ever support collations that have varyingnotions of equality, that will have to be changed. For the moment, though,it's preferable to leave it off so that we can use a normal index on thereferencing column.1 parent5caa347 commit921b993
File tree
5 files changed
+128
-1
lines changed- src
- backend
- parser
- utils/adt
- include/parser
- test/regress
- expected
- sql
5 files changed
+128
-1
lines changedLines changed: 18 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2398 | 2398 |
| |
2399 | 2399 |
| |
2400 | 2400 |
| |
| 2401 | + | |
| 2402 | + | |
| 2403 | + | |
| 2404 | + | |
| 2405 | + | |
| 2406 | + | |
| 2407 | + | |
| 2408 | + | |
| 2409 | + | |
| 2410 | + | |
| 2411 | + | |
| 2412 | + | |
| 2413 | + | |
| 2414 | + | |
| 2415 | + | |
| 2416 | + | |
| 2417 | + | |
| 2418 | + | |
2401 | 2419 |
| |
2402 | 2420 |
| |
2403 | 2421 |
| |
|
Lines changed: 57 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
32 | 32 |
| |
33 | 33 |
| |
34 | 34 |
| |
| 35 | + | |
35 | 36 |
| |
36 | 37 |
| |
37 | 38 |
| |
| |||
82 | 83 |
| |
83 | 84 |
| |
84 | 85 |
| |
| 86 | + | |
85 | 87 |
| |
86 | 88 |
| |
87 | 89 |
| |
| |||
194 | 196 |
| |
195 | 197 |
| |
196 | 198 |
| |
| 199 | + | |
197 | 200 |
| |
198 | 201 |
| |
199 | 202 |
| |
| |||
2681 | 2684 |
| |
2682 | 2685 |
| |
2683 | 2686 |
| |
| 2687 | + | |
| 2688 | + | |
| 2689 | + | |
2684 | 2690 |
| |
2685 | 2691 |
| |
2686 | 2692 |
| |
| |||
2707 | 2713 |
| |
2708 | 2714 |
| |
2709 | 2715 |
| |
| 2716 | + | |
| 2717 | + | |
2710 | 2718 |
| |
2711 | 2719 |
| |
2712 | 2720 |
| |
| |||
2716 | 2724 |
| |
2717 | 2725 |
| |
2718 | 2726 |
| |
| 2727 | + | |
| 2728 | + | |
2719 | 2729 |
| |
2720 | 2730 |
| |
2721 | 2731 |
| |
| |||
2978 | 2988 |
| |
2979 | 2989 |
| |
2980 | 2990 |
| |
| 2991 | + | |
| 2992 | + | |
| 2993 | + | |
| 2994 | + | |
| 2995 | + | |
| 2996 | + | |
| 2997 | + | |
| 2998 | + | |
| 2999 | + | |
| 3000 | + | |
| 3001 | + | |
| 3002 | + | |
| 3003 | + | |
| 3004 | + | |
| 3005 | + | |
| 3006 | + | |
| 3007 | + | |
| 3008 | + | |
| 3009 | + | |
| 3010 | + | |
| 3011 | + | |
| 3012 | + | |
| 3013 | + | |
| 3014 | + | |
| 3015 | + | |
| 3016 | + | |
| 3017 | + | |
| 3018 | + | |
| 3019 | + | |
| 3020 | + | |
| 3021 | + | |
| 3022 | + | |
| 3023 | + | |
| 3024 | + | |
| 3025 | + | |
| 3026 | + | |
| 3027 | + | |
| 3028 | + | |
| 3029 | + | |
| 3030 | + | |
| 3031 | + | |
| 3032 | + | |
| 3033 | + | |
| 3034 | + | |
| 3035 | + | |
| 3036 | + | |
| 3037 | + | |
2981 | 3038 |
| |
2982 | 3039 |
| |
2983 | 3040 |
| |
|
Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
89 | 89 |
| |
90 | 90 |
| |
91 | 91 |
| |
| 92 | + | |
92 | 93 |
| |
93 | 94 |
|
Lines changed: 28 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
542 | 542 |
| |
543 | 543 |
| |
544 | 544 |
| |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
545 | 569 |
| |
546 | 570 |
| |
547 | 571 |
| |
548 | 572 |
| |
549 | 573 |
| |
550 | 574 |
| |
551 |
| - | |
| 575 | + | |
552 | 576 |
| |
553 | 577 |
| |
554 | 578 |
| |
| |||
561 | 585 |
| |
562 | 586 |
| |
563 | 587 |
| |
| 588 | + | |
| 589 | + | |
| 590 | + |
Lines changed: 24 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
187 | 187 |
| |
188 | 188 |
| |
189 | 189 |
| |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
190 | 214 |
| |
191 | 215 |
| |
192 | 216 |
| |
|
0 commit comments
Comments
(0)