著者: Bruce Momjian (<pgman@candle.pha.pa.us>)最終更新日 2000-03-30
pgeasyは、4GL SQLインタフェースのように、libpqライブラリと簡潔に連係をさせるものです。libpq についてのより詳細は Chapter 1 を参照して下さい。
pgeasyは、libpq の機能をカプセル化した、平易な C 関数で構成されています。関数として、以下のものがあります。
PGresult *doquery(char *query);
PGconn *connectdb(char *options);
void disconnectdb();
int fetch(void *param,...);
int fetchwithnulls(void *param,...);
void reset_fetch();
void on_error_continue();
void on_error_stop();
PGresult *get_result();
void set_result(PGresult *newres);
void unset_result(PGresult *oldres);
多くの関数は、構造体または値を返すので、必要ならばその結果を使ってさまざまなことができます。
connectdb でデータベースと接続し、 doquery で問い合わせを発行し、 fetch で結果を取り出し、 disconnectdb で接続を切断します。
SELECT 問い合わせにおいて、 fetch 関数は引数にポインタを引き渡し、変数に開いたバイナリカーソルからのデータが格納されたものが返ってきます。これらのバイナリカーソルは、データベースサーバのアーキテクチャと異なるシステムで pgeasy クライアントを起動させている場合には使用できません。NULLのポインタを引き渡した場合は、列は飛ばされます。 fetchwithnulls は、フィールドがNULLかどうかの結果を返すint* を各結果ポインタの後に置き、フィールドが NULL 状態でも結果を回収します。doqueryによって返された PGresult のポインタは libpq 関数のどの部分でも使用することができます。reset_fetch は、取り出しを先頭に戻します。
get_result、set_result、 unset_result を使用して、同時に複数の結果を操作することができます。
ソースディレクトリにはサンプルプログラムがたくさん掲載されています。