| ¿·¤·¤¤¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°ÊÑ´¹´Ø¿ô¤ÎÄɲÃÊýË¡ |
| |
| 2006/04/15 Tatsuo Ishii |
| |
| ¤Ï¤¸¤á¤Ë |
| |
| PostgreSQL¤Ë¤Ï¡¤¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¥Õ¥í¥ó¥È¥¨¥ó¥É¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤¬°Û¤Ê¤ë |
| ¤È¤¤Ë¡¤¼«Æ°Åª¤Ë¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ÎÊÑ´¹¤ò¹Ô¤¦µ¡Ç½¤¬¤¢¤ê¤Þ¤¹¡¥¤³¤Î¥Ç¥£¥ì |
| ¥¯¥È¥ê¤Ë¤Ï¡¤¤½¤Î¤È¤¤Ë»È¤ï¤ì¤ë´Ø¿ô¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Þ¤¹¡¥¤³¤ì¤é¤Î´Ø¿ô¤Ï¥æ¡¼ |
| ¥¶ÄêµÁC´Ø¿ô¤È¤·¤Æ¡¤initdb¤ÎÃæ¤ÇÅÐÏ¿¤µ¤ì¤Þ¤¹¡¥¶ñÂÎŪ¤Ë¤Ï¡¤ |
| /usr/local/pgsql/share/conversion_create.sql ¤ÎÃæ¤ÇÅÐÏ¿¤µ¤ì¤Þ¤¹(¤³¤Î¥Õ¥¡ |
| ¥¤¥ë¤Ï¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Çmake¤·¤¿¤È¤¤Ë¼«Æ°À¸À®¤µ¤ì¤Þ¤¹)¡¥ |
| |
| ¤Þ¤¿¡¤¤³¤ì¤é¤Î´Ø¿ô¤Ïconvert()´Ø¿ô¤«¤é¤â¸Æ¤Ó½Ð¤µ¤ì¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡¥ |
| |
| ¤³¤ÎREADME¤Ç¤Ï¡¤C´Ø¿ô¤òÄêµÁ¤¹¤ëÊýË¡¤È¡¤¤½¤ì¤òMakefile¤Ê¤É¤ËÄɲ乤ëÊý |
| Ë¡¤òÀâÌÀ¤·¤Þ¤¹¡¥ |
| |
| o C´Ø¿ô¤Î¸Æ¤Ó½Ð¤··Á¼° |
| |
| ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°ÊÑ´¹´Ø¿ô¤Î¸Æ¤Ó½Ð¤··Á¼°¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡¥ |
| |
| conv_proc( |
| INTEGER, -- source encoding id |
| INTEGER, -- destination encoding id |
| CSTRING, -- source string (null terminated C string) |
| INTERNAL, -- destination string (null terminated C string) |
| INTEGER -- source string length |
| ) returns VOID; |
| |
| Í£°ì¤Î½ÐÎÏ°ú¿ô¤Ï4ÈÖÌܤÎdestination string¤Ç¤¹¡¥¥æ¡¼¥¶ÄêµÁ´Ø¿ô¤ÏɬÍ× |
| ¤Ê¥á¥â¥ê¤òpalloc¤·¡¤¤½¤³¤ËÊÑ´¹·ë²Ì¤òNULL¥¿¡¼¥ß¥Í¡¼¥È¤µ¤ì¤¿Cʸ»úÎó¤È |
| ¤·¤Æ½ÐÎϤ·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥¤Þ¤¿¡¤Å¬ÀÚ¤ÊÂ礤µ¤Î¥á¥â¥ê¤ò³ÎÊݤ¹¤ë¤Î |
| ¤Ï¡¤¤³¤ÎC´Ø¿ô¤ÎÀÕǤ¤Ç¤¹¡¥¤È¤¤¤¦¤Î¤Ï¡¤°ìÈ̤ËÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó¤ÎŤµ¤Ï |
| ¥½¡¼¥¹Ê¸»úÎó¤ÎŤµ(5ÈÖÌܤΰú¿ô¤Ç»ØÄꤵ¤ì¤Þ¤¹¡¥Ã±°Ì¤ÏNULL¥¿¡¼¥ß¥Í¡¼¥È |
| ¤ò´Þ¤Þ¤Ê¤¤¥Ð¥¤¥È¿ô¤Ç¤¹)¤È¤Ï°ìÃפ·¤Ê¤¤¤«¤é¤Ç¤¹¡¥ |
| |
| ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°ID¤Ïinclude/mb/pg_wchar.h¤Îtypedef enum pg_enc¤ÇÄêµÁ |
| ¤µ¤ì¤Æ¤¤¤Þ¤¹¡¥ |
| |
| o ´Ø¿ô¤ÎÅÐÏ¿¤È¥³¥ó¥Ñ¥¤¥ë |
| |
| ºî¤Ã¤¿C´Ø¿ô¤Ï¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤òºî¤ê¡¤¤½¤ÎÃæ¤ËǼ¤á¤Þ¤¹¡¥¤½¤ÎÃæ¤Ë |
| Makefile¤âɬÍפˤʤê¤Þ¤¹¤¬¡¤Â¾¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ëMakefile¤ò»²¹Í¤Ë¤¹ |
| ¤ì¤Ð´Êñ¤ËºîÀ®¤Ç¤¤ë¤Ç¤·¤ç¤¦¡¥ |
| |
| ¼¡¤Ë¥á¥¤¥ó¤ÎMakefile(¤³¤Î¥Õ¥¡¥¤¥ë¤¬ÃÖ¤¤¤Æ¤¢¤ëƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê |
| ¤Þ¤¹)¤Ë´Ø¿ô¤Ë´Ø¤¹¤ëµ½Ò¤òÄɲä·¤Þ¤¹¡¥ |
| |
| (1) DIRS=¤Î¸å¤Ë¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê̾¤òÄɲä·¤Þ¤¹¡¥ |
| |
| (2) @set \ ¤Ç»Ï¤Þ¤ë¹àÌܤ˵½Ò¤òÄɲä·¤Þ¤¹¡¥1´Ø¿ô¤Ë¤Ä¤1¹Ô¤ÎÄɲä¬É¬Í× |
| ¤Ç¤¹¡¥ |
| |
| ¥³¥ó¥Ð¡¼¥¸¥ç¥ó¤Î̾Á° |
| ¥½¡¼¥¹¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Ì¾ |
| ¥Ç¥¹¥Æ¥£¥Í¡¼¥·¥ç¥ó¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Ì¾ |
| ´Ø¿ô̾ |
| ¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë̾ |
| |
| ¤ò1¹Ô¤ÎÃæ¤Ë¥¹¥Ú¡¼¥¹¤Ç¶èÀڤäÆÄɲä·¤Þ¤¹¡¥ |
| |
| o ¥Æ¥¹¥È |
| |
| °Ê¾å¤¬½ª¤ï¤Ã¤¿¤é¡¤¤³¤Î¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Çmake¤·¡¤¤¹¤Ù¤Æ¤¬¤¦ |
| ¤Þ¤¯¤¤¤¯¤³¤È¤ò³Îǧ¤·¤Þ¤¹¡¥Æäˡ¤create_conversion.sql¤¬¤Á¤ã¤ó¤È¤·¤¿ |
| ÆâÍƤˤʤäƤ¤¤ë¤«¤É¤¦¤«³Îǧ¤·¤Þ¤·¤ç¤¦¡¥Îɤµ¤½¤¦¤À¤Ã¤¿¤é¡¤¥Æ¥¹¥ÈÍÑ¤Ë |
| ¿·¤·¤¤¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºî¤ê¡¤¤½¤³¤Ç¤³¤Î¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤·¤Þ¤¹¡¥ |
| |
| $ psql -e -f create_conversion.sql test |
| |
| ¤³¤ì¤âÀµ¾ï¤À¤Ã¤¿¤é¡¤ºÇ¸å¤Ëregression test suite¤Ë¥Æ¥¹¥È¹àÌܤòÄɲä· |
| ¤Æ¤¯¤À¤µ¤¤¡¥¶ñÂÎŪ¤Ë¤Ï¡¤src/test/regress/sql/conversion.sql¤ËÄɲä·¡¤ |
| regression test¤ò¹Ô¤¤¤Þ¤¹¡¥ |
| |
| o Ãí°Õ»ö¹à |
| |
| ¥Ç¥Õ¥©¥ë¥È¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°ÊÑ´¹¤È¤·¤Æ»ÈÍѤǤ¤ë¤¿¤á¤Ë¤Ï¡¤¥½¡¼¥¹¥¨¥ó |
| ¥³¡¼¥Ç¥£¥ó¥°¤È¥Ç¥¹¥Æ¥£¥Í¡¼¥·¥ç¥ó¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î´Ö¤ÇÁÐÊý¸þ¤ÎÊÑ´¹¤¬ |
| ¤Ç¤¤ë¤³¤È¤¬É¬ÍפǤ¹¡¥¤¹¤Ê¤ï¤Á¡¤¤¢¤ë¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î¥Ú¥¢¤ËÉÕ¤¡¤2 |
| ¸Ä¤Î´Ø¿ô¤ÎºîÀ®¤¬É¬ÍפǤ¹¡¥¤³¤ì¤é¤Î´Ø¿ô¤ÏÊÌ¡¹¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÅÐÏ¿ |
| ¤·¤Æ¤âÎɤ¤¤Ç¤¹¤¬¡¤Ä̾ï¤Ï°ì¤Ä¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ëÃæ¤Ë2¸Ä¤Î´Ø¿ô¤ò½ñ¤¯¤³¤È |
| ¤¬Â¿¤¤¤Ç¤·¤ç¤¦¡¥ |