forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commitd3d0983
committed
Support PG_UNICODE_FAST locale in the builtin collation provider.
The PG_UNICODE_FAST locale uses code point sort order (fast,memcmp-based) combined with Unicode character semantics. The charactersemantics are based on Unicode full case mapping.Full case mapping can map a single codepoint to multiple codepoints,such as "ß" uppercasing to "SS". Additionally, it handlescontext-sensitive mappings like the "final sigma", and it usestitlecase mappings such as "Dž" when titlecasing (rather than plainuppercase mappings).Importantly, the uppercasing of "ß" as "SS" is specifically mentionedby the SQL standard. In Postgres, UCS_BASIC uses plain ASCII semanticsfor case mapping and pattern matching, so if we changed it to use thePG_UNICODE_FAST locale, it would offer better compliance with thestandard. For now, though, do not change the behavior of UCS_BASIC.Discussion:https://postgr.es/m/ddfd67928818f138f51635712529bc5e1d25e4e7.camel@j-davis.comDiscussion:https://postgr.es/m/27bb0e52-801d-4f73-a0a4-02cfdd4a9ada@eisentraut.orgReviewed-by: Peter Eisentraut, Daniel Verite1 parent286a365 commitd3d0983
File tree
13 files changed
+283
-16
lines changed- doc/src/sgml
- ref
- src
- backend
- regex
- utils/adt
- bin/initdb
- include
- catalog
- utils
- test/regress
- expected
- sql
13 files changed
+283
-16
lines changedLines changed: 27 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
377 | 377 |
| |
378 | 378 |
| |
379 | 379 |
| |
380 |
| - | |
381 |
| - | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
382 | 383 |
| |
383 | 384 |
| |
384 | 385 |
| |
| |||
392 | 393 |
| |
393 | 394 |
| |
394 | 395 |
| |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
395 | 403 |
| |
396 | 404 |
| |
397 | 405 |
| |
| |||
886 | 894 |
| |
887 | 895 |
| |
888 | 896 |
| |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
| 913 | + | |
889 | 914 |
| |
890 | 915 |
| |
891 | 916 |
| |
|
Lines changed: 2 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
99 | 99 |
| |
100 | 100 |
| |
101 | 101 |
| |
102 |
| - | |
| 102 | + | |
| 103 | + | |
103 | 104 |
| |
104 | 105 |
| |
105 | 106 |
| |
|
Lines changed: 4 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
168 | 168 |
| |
169 | 169 |
| |
170 | 170 |
| |
171 |
| - | |
| 171 | + | |
| 172 | + | |
172 | 173 |
| |
173 | 174 |
| |
174 | 175 |
| |
| |||
233 | 234 |
| |
234 | 235 |
| |
235 | 236 |
| |
236 |
| - | |
| 237 | + | |
| 238 | + | |
237 | 239 |
| |
238 | 240 |
| |
239 | 241 |
| |
|
Lines changed: 2 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
295 | 295 |
| |
296 | 296 |
| |
297 | 297 |
| |
298 |
| - | |
299 |
| - | |
| 298 | + | |
| 299 | + | |
300 | 300 |
| |
301 | 301 |
| |
302 | 302 |
| |
|
Lines changed: 3 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
307 | 307 |
| |
308 | 308 |
| |
309 | 309 |
| |
310 |
| - | |
| 310 | + | |
311 | 311 |
| |
312 | 312 |
| |
313 | 313 |
| |
| |||
361 | 361 |
| |
362 | 362 |
| |
363 | 363 |
| |
364 |
| - | |
| 364 | + | |
365 | 365 |
| |
366 | 366 |
| |
367 | 367 |
| |
| |||
505 | 505 |
| |
506 | 506 |
| |
507 | 507 |
| |
508 |
| - | |
| 508 | + | |
509 | 509 |
| |
510 | 510 |
| |
511 | 511 |
| |
|
Lines changed: 6 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1590 | 1590 |
| |
1591 | 1591 |
| |
1592 | 1592 |
| |
1593 |
| - | |
| 1593 | + | |
1594 | 1594 |
| |
| 1595 | + | |
| 1596 | + | |
| 1597 | + | |
1595 | 1598 |
| |
1596 | 1599 |
| |
1597 | 1600 |
| |
| |||
1616 | 1619 |
| |
1617 | 1620 |
| |
1618 | 1621 |
| |
| 1622 | + | |
| 1623 | + | |
1619 | 1624 |
| |
1620 | 1625 |
| |
1621 | 1626 |
| |
|
Lines changed: 9 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
78 | 78 |
| |
79 | 79 |
| |
80 | 80 |
| |
81 |
| - | |
| 81 | + | |
| 82 | + | |
82 | 83 |
| |
83 | 84 |
| |
84 | 85 |
| |
| |||
93 | 94 |
| |
94 | 95 |
| |
95 | 96 |
| |
96 |
| - | |
| 97 | + | |
| 98 | + | |
97 | 99 |
| |
98 | 100 |
| |
99 | 101 |
| |
100 | 102 |
| |
101 | 103 |
| |
102 | 104 |
| |
103 | 105 |
| |
104 |
| - | |
| 106 | + | |
| 107 | + | |
105 | 108 |
| |
106 | 109 |
| |
107 | 110 |
| |
| |||
142 | 145 |
| |
143 | 146 |
| |
144 | 147 |
| |
| 148 | + | |
145 | 149 |
| |
146 | 150 |
| |
147 | 151 |
| |
| |||
164 | 168 |
| |
165 | 169 |
| |
166 | 170 |
| |
| 171 | + | |
| 172 | + | |
167 | 173 |
| |
168 | 174 |
| |
169 | 175 |
| |
|
Lines changed: 5 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2489 | 2489 |
| |
2490 | 2490 |
| |
2491 | 2491 |
| |
| 2492 | + | |
| 2493 | + | |
2492 | 2494 |
| |
2493 | 2495 |
| |
2494 | 2496 |
| |
| |||
2782 | 2784 |
| |
2783 | 2785 |
| |
2784 | 2786 |
| |
2785 |
| - | |
| 2787 | + | |
| 2788 | + | |
| 2789 | + | |
2786 | 2790 |
| |
2787 | 2791 |
| |
2788 | 2792 |
| |
|
Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
57 | 57 |
| |
58 | 58 |
| |
59 | 59 |
| |
60 |
| - | |
| 60 | + | |
61 | 61 |
| |
62 | 62 |
|
Lines changed: 3 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
33 | 33 |
| |
34 | 34 |
| |
35 | 35 |
| |
| 36 | + | |
| 37 | + | |
| 38 | + | |
36 | 39 |
| |
37 | 40 |
|
Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
108 | 108 |
| |
109 | 109 |
| |
110 | 110 |
| |
| 111 | + | |
111 | 112 |
| |
112 | 113 |
| |
113 | 114 |
| |
|
Lines changed: 160 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
160 | 160 |
| |
161 | 161 |
| |
162 | 162 |
| |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 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 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + |
0 commit comments
Comments
(0)