Re: Radix tree for character conversion
Heikki Linnakangas <hlinnaka@iki.fi>
From: Heikki Linnakangas <hlinnaka@iki.fi>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>,
"Tsunakawa, Takayuki" <tsunakawa.takay@jp.fujitsu.com>,
Tom Lane <tgl@sss.pgh.pa.us>, Tatsuo Ishii <ishii@sraoss.co.jp>,
"pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2016-10-07T21:37:28Z
Lists: pgsql-hackers
On 10/07/2016 06:55 PM, Robert Haas wrote: > On Fri, Oct 7, 2016 at 6:46 AM, Heikki Linnakangas <hlinnaka@iki.fi> wrote: >> Ouch. We should find and document an authoritative source for all the >> mappings we have... >> >> I think the next steps here are: >> >> 1. Find an authoritative source for all the existing mappings. >> 2. Generate the radix tree files directly from the authoritative sources, >> instead of the existing *.map files. >> 3. Completely replace the existing binary-search code with this. > > It might be best to convert using the existing map files, and then > update the mappings later. Otherwise, when things break, you won't > know what to blame. I was thinking that we keep the mappings unchanged, but figure out where we got the mappings we have. An authoritative source may well be "file X from unicode, with the following tweaks: ...". As long as we have some way of representing that, in text files, or in perl code, that's OK. What I don't want is that the current *.map files are turned into the authoritative source files, that we modify by hand. There are no comments in them, for starters, which makes hand-editing cumbersome. It seems that we have edited some of them by hand already, but we should rectify that. - Heikki
Commits
-
Use radix tree for character encoding conversions.
- aeed17d00037 10.0 landed
-
Small fixes to the Perl scripts to create unicode conversion tables.
- bc1686f3f653 10.0 landed
-
Rewrite the perl scripts to produce our Unicode conversion tables.
- 1de9cc0dcca6 10.0 landed
-
Remove leading zeros, for consistency with other map files.
- 6c303223be34 10.0 landed
-
Remove code points < 0x80 from character conversion tables.
- 2c09c93ce1b8 10.0 landed