[pgsql-jp: 25206] Re: JDBCドライバ( 7.2) でのエンコーディング判断障害
Naofumi Kondoh
nkon @ shonan.ne.jp
2002年 3月 10日 (日) 21:40:04 JST
ソフト工房の近藤です。
# 本題から離れますが。
Tatsuo Ishii wrote:
-- snip --
> > However it isn't easy to conditionally call this new
> > function, since we don't yet have the information as to what server
> > version we are talking to.
> > というコメントが間違っていると思うんです。
> > なぜならば、先のメールで書いたように
> >
> > >> ※結果
> > >> version | getdatabaseencoding
> > >> -------------------------------------------------------------+---------------------
> > >> PostgreSQL 7.2 on i586-pc-linux-gnu, compiled by GCC 2.95.2 | EUC_JP
> >
> > と、バージョンはちゃんと取れているようなので。
> > ここらあたりも既知と考えてよろしいでしょうか?
>
> うーん,想像ですが,version()が返すのが人間が読むのを前提にした文字列
> なので,将来とも同じフォーマットでバージョンが取れるかどうか自信がない
> からなんでしょう.
--- snip ----
ドキュメントを深く読んでなくて気が付きませんでした。
情報ありがとうございます。
今は、PHP や、SHELL SCRIPT で、空白区切の 2 つめの
フィールドがバージョン番号としているのですが、将来、
フォーマットが変わる可能性もあるわけですね。
PostgreSQL のバージョンをプログラム判定できる機能が
是非欲しいです。
# チェックを厳重にして、フォーマットが変わったら、
# わかるようにしないといけないですね。
今は、次の程度の簡単なフォーマットチェックだけです。
http://www.softkoubou.co.jp/pg1/show.dd.html
今のところ version() は、inherits の FROM 句での仕様
変更(独自仕様から SQL99 準拠)と、カタログ関係の相違
を吸収するのに使っています。
# PHP の方は、./configure の方法などが様々だし、関数名
# も変わるしで、function_exists() 関数の塊りが膨らみつ
# つあります。汎用ツールを作ろうとすると面倒 (^_^;;
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
(株)ソフト工房 近藤直文 Email: nkon @ shonan.ne.jp
《 PostgreSQL+PHPソースコードジェネレーターデモGPL版 》
http://www.SOFTKOUBOU.co.jp/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
pgsql-jp メーリングリストの案内