Hello y'all,
I need to create a new collation for name-comparison purposes in French, based on latin1_german1_ci, but with a few additional features :
1/ new character mappings, for instance digit zero to letter O, '@' to 'A', etc.
2/ new expansion, i.e. '&' to 'et'
3/ ignored characters ; actually I would like all characters not mapping to [A-Z0-9] to be ignored, in order that 'foo bar' and 'foo-bar' are considered as equal to 'foobar'
I have achieved my #1 (with this hint :
http://mysqldump.azundris.com/archives/50-latin1_german1_cs.html#extended), and I know that my #2 is possible by editing the strings/ctype-latin1.c file from the source code (hint provided by Peter Gulutzan in a former thread :
http://forums.mysql.com/read.php?103,104020,104547#msg-104547).
My questions are :
- is my #3 possible in any way ? if yes, how ? ;-)
- can someone provide me with some information about the organisation of the ctype-latin1.c file, and the various functions it includes ? I guess my #2 can be done by editing combo1map and combo2map, but I'd like an overview to better understand what I'm doing.
Thanks for any info !
Antoun