156 lines
3.7 KiB
Plaintext
156 lines
3.7 KiB
Plaintext
<!--
|
|
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpgeasy.sgml,v 2.6 2001/09/10 21:58:46 petere Exp $
|
|
-->
|
|
|
|
<chapter id="pgeasy-chapter">
|
|
<title id="pgeasy"><application>libpgeasy</application> - Simplified C Library</title>
|
|
|
|
<note>
|
|
<title>Author</title>
|
|
|
|
<para>
|
|
Written by Bruce Momjian
|
|
(<email>pgman@candle.pha.pa.us</email>)
|
|
and last updated 2000-03-30
|
|
</para>
|
|
</note>
|
|
|
|
<para>
|
|
<productname>pgeasy</productname> allows you to cleanly interface
|
|
to the <productname>libpq</productname> library,
|
|
more like a 4GL SQL interface.
|
|
</para>
|
|
|
|
<para>
|
|
It consists of set of simplified C functions that encapsulate the
|
|
functionality of <application>libpq</application>.
|
|
The functions are:
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<synopsis>
|
|
PGresult *doquery(char *query);
|
|
</synopsis>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<synopsis>
|
|
PGconn *connectdb(char *options);
|
|
</synopsis>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<synopsis>
|
|
void disconnectdb();
|
|
</synopsis>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<synopsis>
|
|
int fetch(void *param,...);
|
|
</synopsis>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<synopsis>
|
|
int fetchwithnulls(void *param,...);
|
|
</synopsis>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<synopsis>
|
|
void reset_fetch();
|
|
</synopsis>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<synopsis>
|
|
void on_error_continue();
|
|
</synopsis>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<synopsis>
|
|
void on_error_stop();
|
|
</synopsis>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<synopsis>
|
|
PGresult *get_result();
|
|
</synopsis>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<synopsis>
|
|
void set_result(PGresult *newres);
|
|
</synopsis>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<synopsis>
|
|
void unset_result(PGresult *oldres);
|
|
</synopsis>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<para>
|
|
Many functions return a structure or value, so you can do more work
|
|
with the result if required.
|
|
</para>
|
|
|
|
<para>
|
|
You basically connect to the database with <function>connectdb</function>,
|
|
issue your query with <function>doquery</function>,
|
|
fetch the results with <function>fetch</function>,
|
|
and finish with <function>disconnectdb</function>.
|
|
</para>
|
|
|
|
<para>
|
|
For <literal>SELECT</literal> queries, <function>fetch</function>
|
|
allows you to pass pointers as parameters, and on return the variables
|
|
are filled with data from the binary cursor you opened. These binary
|
|
cursors can not be used if you are running the
|
|
<productname>pgeasy</productname>
|
|
client on a system with a different architecture than the database
|
|
server. If you pass a NULL pointer parameter, the column is skipped.
|
|
<function>fetchwithnulls</function> allows you to retrieve the NULL
|
|
status of the field by passing an <literal>int*</literal>
|
|
after each result pointer, which returns true or false if the field is null.
|
|
You can always use <application>libpq</application> functions on the <structname>PGresult</structname> pointer returned
|
|
by <function>doquery</function>.
|
|
<function>reset_fetch</function> starts the fetch back at the beginning.
|
|
</para>
|
|
|
|
<para>
|
|
<function>get_result</function>,
|
|
<function>set_result</function>,
|
|
and
|
|
<function>unset_result</function>
|
|
allow you to handle multiple result sets at the same time.
|
|
</para>
|
|
|
|
<para>
|
|
There are a variety of demonstration programs in the
|
|
source directory.
|
|
</para>
|
|
</chapter>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode:sgml
|
|
sgml-omittag:nil
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"./reference.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:("/usr/lib/sgml/catalog")
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
-->
|