その他の関数

・ローマ字→ひらがな変換関数 l2h(text)
 text: ローマ字(例: hiragana)
・ローマ字→カタカナ変換関数 l2k(text)
 text: ローマ字(例: katakana)
・ひらがな→カタカナ変換関数 h2k(text)
 text: ひらがな(例: あいうえお)
・カタカナ→ひらがな変換関数 k2h(text)
 text: カタカナ(例: アイウエオ)
・半角→全角変換関数 half2full(text)
 text: 半角(例: abcde)
・全角→半角変換関数 full2half(text)
 text: 全角(例: ゼンカク)

考察

PostgreSQL → ICU4C(C/C++)
 Postgresのユーザ定義関数を使って、関数を作成してみたがうまくいかなかった。
 Cのユーザ定義関数だとうまくいくが、C++の関数となるとメモリリークがおきたりするらしいです。


PostgreSQL → Perl → ICU4C(C/C++)
 そこで、Perlを使ってみた。
 PostgreSQL → Perl : PL/Perl
 Perl → ICU4C(C/C++): SWIG
 

 こうするとうまくできました。
 SWIGの使い方は後でまとめよう。