ライブラリ関数

PostgreSQL 9.0.0文書
前のページ | 巻戻し | 第 33章ECPG - C言語による埋め込みSQL | 早送り | 次のページ

# 33.14. ライブラリ関数

`libecpg`ライブラリには基本的に、埋め込みSQLコマンドで表現される機能を実装するために使用する"隠された"関数が含まれています。 しかし、直接呼び出すことができる便利な関数もあります。 これによりコードが移植不可能になることに注意してください。

- `ECPGdebug(int `on`, FILE *`stream`)`は第1引数が0以外で渡された場合、デバッグログを有効にします。 デバッグログは`stream`に出力されます。 このログには、すべての入力変数が挿入されたすべてのSQL文と、PostgreSQLサーバが返した結果が含まれます。 SQL文のエラーを見つける時に非常に役に立ちます。

  > 注意: Windowsでは、ecpgライブラリとアプリケーションが異なるフラグでコンパイルされると、この関数の呼び出しは、`FILE`ポインタの内部表現が異なるため、アプリケーションをクラッシュさせる可能性があります。 特に、そのライブラリを使用するすべてのライブラリとすべてのアプリケーションに対して、multithreaded/single-threaded、release/debug、およびstatic/dynamicフラグは同じでなければなりません。

- `ECPGget_PGconn(const char *`connection_name`)`は、指定された名前で識別されるライブラリデータベース接続ハンドルを返します。 `connection_name`の設定が`NULL`の場合、現在の接続ハンドルが返されます。 接続ハンドルを識別できない場合、関数は`NULL`を返します。 必要ならば返される接続ハンドルを使用して、任意のlibpqの他の関数を呼び出すことができます。

  > 注意: libpq関数を直接使用してecpgからデータベース接続ハンドルを操作することは推奨されません。

- `ECPGtransactionStatus(const char *`connection_name`)`は、`connection_name`で識別される指定接続の現在のトランザクション状態を返します。 返される状態コードの詳細については項31.2とlibpqの`PQtransactionStatus()`を参照してください。

- `ECPGstatus(int `lineno`, const char* `connection_name`)`はデータベースに接続している場合は真を、さもなくば偽を返します。 単一の接続を使用している場合は`connection_name`を`NULL`とすることができます。

前のページ | ホーム | 次のページ
埋め込みSQLプログラムの処理 | 上に戻る | 内部