libecpg
ライブラリには基本的に、埋め込みSQLコマンドで表現される機能を実装するために使用する「隠された」関数が含まれています。
しかし、直接呼び出すことができる便利な関数もあります。
これによりコードが移植不可能になることに注意してください。
ECPGdebug(int
は第1引数が0以外で渡された場合、デバッグログを有効にします。
デバッグログはon
, FILE *stream
)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
で識別される指定接続の現在のトランザクション状態を返します。
返される状態コードの詳細については34.2とlibpqのPQtransactionStatus
を参照してください。
ECPGstatus(int
はデータベースに接続している場合は真を、さもなくば偽を返します。
単一の接続を使用している場合はlineno
, const char* connection_name
)connection_name
をNULL
とすることができます。