[pgsql-jp: 32887] Re: ecpgプリプロセッサの"-t INFORMIX"オプションについて

近藤直文 nkon @ shonan.ne.jp
2004年 5月 2日 (日) 08:22:27 JST


ソフト工房の近藤です。亀レスで、役に立たない話で恐縮すが。。。。

Tadashi Ohkoshi wrote:

。。。。略。。。。

>「ecpg」:埋め込み SQL 用 C プリプロセッサ
>についてです。
> このプリプロセッサのオプションに
>”-C mode   互換モードを設定します。
>modeはINFORMIXもしくは INFORMIX_SEのどちらかを取ることができます。”
>
。。。。。略。。。。。

いつのまにか便利な機能が出来たのですね。

私の使っている ecpg (PostgreSQL 7.3.4) 2.10.0 にはこのオプション
はないですね。暇になったらテストしてみたいです。
どの version から追加になったのでしょうか?。

推測ですが、三淵@NWC のおっしゃるとおり、Informix の ESQL/C
の構文をある程度理解してくれるものではないかと思います。

テストして結果を教えて頂けると嬉しいです。

例えば、Informix では、 $ (ドルマーク) を EXEC SQL のかわり
に使うことができます。

(例)

EXEC SQL BEGIN DECLARE SECTION;
int hoge;
EXEC SQL END DECLARE SECTION;

上のように記述するところを、Informix では、次のような簡略
書式も許されます。

$ int hoge ;


$ include "foo.h" ;  などとも書けます。

ちなみに、Informix では、ANSI SQL 互換モードというオプション
があって、これを指定すると、上記のような Informix 独自機能
は、エラーになるようです。

大越 さんは、Informix から PostgreSQL への移植をご検討なの
でしょうか?。私も以前検討したことがあるので、少しはお役に
立てるかもしれません。

移植の場合のおおきな問題は、SQLの構文の違いですね。
いくつもありますが、SERIAL 型なんて、同じ名前なのでついつい
同じ機能だと思うと酷い目にあいます。

SQL構文の他にも、ホスト変数の制限の違いとかいろいろあるので、
プリコンパイラレベルでは解決つかないことの方が多いと推測します。

# Informix も IBM が version up をして、今も販売中ですが、
# 将来を考えて、Informix から、DB2 に移行する人と、PostgreSQL
# に移行する人といるでしょうから、こういう補助機能ができると
# 嬉しいですね。

# 私の方は、顧客の事情で、Informix から PostgreSQL への移植は
# 中止となって、SUN Solaris Informix から、Linux 版 Informix
# IDS9.40 への移行になりました。  さすが商用DBだけあって、
# 十数年前の ESQL/C のプログラムがそのままコンパイルして動き
# ます。こうした、顧客の過去の資産を生かす配慮、互換性の確保には、
# 商用DBの方が優れているのかも知れません。

/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  ソフト工房      近藤直文        Email:  nkon @ shonan.ne.jp 
http://www.SOFTKOUBOU.co.jp/      http://www.shonan.ne.jp/~nkon/
〒251-0052 神奈川県藤沢市藤沢  3-3-22 TEL: 0466-24-3688
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/





pgsql-jp メーリングリストの案内