postgresql/src/include/utils
Tom Lane 80b011ef0a Fix to_char() to use ASCII-only case-folding rules where appropriate.
formatting.c used locale-dependent case folding rules in some code paths
where the result isn't supposed to be locale-dependent, for example
to_char(timestamp, 'DAY').  Since the source data is always just ASCII
in these cases, that usually didn't matter ... but it does matter in
Turkish locales, which have unusual treatment of "i" and "I".  To confuse
matters even more, the misbehavior was only visible in UTF8 encoding,
because in single-byte encodings we used pg_toupper/pg_tolower which
don't have locale-specific behavior for ASCII characters.  Fix by providing
intentionally ASCII-only case-folding functions and using these where
appropriate.  Per bug #7913 from Adnan Dursun.  Back-patch to all active
branches, since it's been like this for a long time.
2013-03-05 13:02:30 -05:00
..
.gitignore Avoid maintaining three separate copies of the error codes list. 2011-02-03 22:32:49 -05:00
acl.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
array.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
ascii.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
attoptcache.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
builtins.h Add a materialized view relations. 2013-03-03 18:23:31 -06:00
bytea.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
cash.h Add casts from int4 and int8 to numeric. 2011-04-05 09:35:43 -04:00
catcache.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
combocid.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
date.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
datetime.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
datum.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
dynahash.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
dynamic_loader.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
elog.h Provide database object names as separate fields in error messages. 2013-01-29 17:08:26 -05:00
evtcache.h Add ddl_command_end support for event triggers. 2013-01-21 18:00:24 -05:00
fmgrtab.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
formatting.h Fix to_char() to use ASCII-only case-folding rules where appropriate. 2013-03-05 13:02:30 -05:00
geo_decls.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
guc.h Add ALTER ROLE ALL SET command 2013-02-17 23:45:36 -05:00
guc_tables.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
help_config.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
hsearch.h Prevent very-low-probability PANIC during PREPARE TRANSACTION. 2013-01-13 22:20:22 -05:00
inet.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
int8.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
inval.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
json.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
logtape.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
lsyscache.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
memutils.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
nabstime.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
numeric.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
palloc.h Add pg_xlogdump contrib program 2013-02-22 16:56:55 -03:00
pg_crc.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
pg_crc_tables.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
pg_locale.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
pg_lzcompress.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
pg_rusage.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
plancache.h Change plan caching to honor, not resist, changes in search_path. 2013-01-25 14:14:41 -05:00
portal.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
ps_status.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
rangetypes.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
rbtree.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
rel.h Add a materialized view relations. 2013-03-03 18:23:31 -06:00
relcache.h Provide database object names as separate fields in error messages. 2013-01-29 17:08:26 -05:00
relmapper.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
reltrigger.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
resowner.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
resowner_private.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
selfuncs.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
snapmgr.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
snapshot.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
sortsupport.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
spccache.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
syscache.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
timeout.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
timestamp.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
tqual.h Improve concurrency of foreign key locking 2013-01-23 12:04:59 -03:00
tuplesort.h Provide database object names as separate fields in error messages. 2013-01-29 17:08:26 -05:00
tuplestore.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
typcache.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
tzparser.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
uuid.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
varbit.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
xml.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00