著者: Bruce Momjian (<pgman@candle.pha.pa.us>) 最終更新日 2000-03-30
pgeasyは、4GL SQLインターフェースのように、 libpqライブラリと簡潔に連係をさせるものです。
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関数のどの部分でも使用することができます。
get_result関数、 set_result関数、 unset_result関数は 同時に複数の結果を操作することができます。
ソースディレクトリにはサンプルプログラムが沢山掲載されています。