[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 メーリングリストの案内