The <filename>libecpg</filename> library primarily contains
<quote>hidden</quote> functions that are used to implement the
functionality expressed by the embedded SQL commands. But there
are some functions that can usefully be called directly. Note that
this makes your code unportable.
libecpg
ライブラリには基本的に、埋め込みSQLコマンドで表現される機能を実装するために使用する「隠された」関数が含まれています。
しかし、直接呼び出すことができる便利な関数もあります。
これによりコードが移植不可能になることに注意してください。
<function>ECPGdebug(int <replaceable>on</replaceable>, FILE
*<replaceable>stream</replaceable>)</function> turns on debug
logging if called with the first argument non-zero. Debug logging
is done on <replaceable>stream</replaceable>. The log contains
all <acronym>SQL</acronym> statements with all the input
variables inserted, and the results from the
<productname>PostgreSQL</productname> server. This can be very
useful when searching for errors in your <acronym>SQL</acronym>
statements.
ECPGdebug(int
は第1引数が0以外で渡された場合、デバッグログを有効にします。
デバッグログはon
, FILE *stream
)stream
に出力されます。
このログには、すべての入力変数が挿入されたすべてのSQL文と、PostgreSQLサーバが返した結果が含まれます。
SQL文のエラーを見つける時に非常に役に立ちます。
On Windows, if the <application>ecpg</application> libraries and an application are
compiled with different flags, this function call will crash the
application because the internal representation of the
<literal>FILE</literal> pointers differ. Specifically,
multithreaded/single-threaded, release/debug, and static/dynamic
flags should be the same for the library and all applications using
that library.
Windowsでは、ecpgライブラリとアプリケーションが異なるフラグでコンパイルされると、この関数の呼び出しは、FILE
ポインタの内部表現が異なるため、アプリケーションをクラッシュさせる可能性があります。
特に、そのライブラリを使用するすべてのライブラリとすべてのアプリケーションに対して、multithreaded/single-threaded、release/debug、およびstatic/dynamicフラグは同じでなければなりません。
<function>ECPGget_PGconn(const char *<replaceable>connection_name</replaceable>)
</function> returns the library database connection handle identified by the given name.
If <replaceable>connection_name</replaceable> is set to <literal>NULL</literal>, the current
connection handle is returned. If no connection handle can be identified, the function returns
<literal>NULL</literal>. The returned connection handle can be used to call any other functions
from <application>libpq</application>, if necessary.
ECPGget_PGconn(const char *
は、指定された名前で識別されるライブラリデータベース接続ハンドルを返します。
connection_name
)connection_name
の設定がNULL
の場合、現在の接続ハンドルが返されます。
接続ハンドルを識別できない場合、関数はNULL
を返します。
必要ならば返される接続ハンドルを使用して、任意のlibpqの他の関数を呼び出すことができます。
It is a bad idea to manipulate database connection handles made from <application>ecpg</application> directly with <application>libpq</application> routines. libpq関数を直接使用してecpgからデータベース接続ハンドルを操作することは推奨されません。
<function>ECPGtransactionStatus(const char *<replaceable>connection_name</replaceable>)</function>
returns the current transaction status of the given connection identified by <replaceable>connection_name</replaceable>.
See <xref linkend="libpq-status"/> and libpq's <xref linkend="libpq-PQtransactionStatus"/> for details about the returned status codes.
ECPGtransactionStatus(const char *
は、connection_name
)connection_name
で識別される指定接続の現在のトランザクション状態を返します。
返される状態コードの詳細については32.2とlibpqのPQtransactionStatus
を参照してください。
<function>ECPGstatus(int <replaceable>lineno</replaceable>,
const char* <replaceable>connection_name</replaceable>)</function>
returns true if you are connected to a database and false if not.
<replaceable>connection_name</replaceable> can be <literal>NULL</literal>
if a single connection is being used.
ECPGstatus(int
はデータベースに接続している場合は真を、さもなくば偽を返します。
単一の接続を使用している場合はlineno
, const char* connection_name
)connection_name
をNULL
とすることができます。