mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Move libpgeasy.sgml to gborg.
This commit is contained in:
@ -1,152 +0,0 @@
|
|||||||
<!--
|
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpgeasy.sgml,v 2.9 2002/03/04 18:50:20 momjian Exp $
|
|
||||||
-->
|
|
||||||
|
|
||||||
<chapter id="pgeasy">
|
|
||||||
<title><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 2002-03-04
|
|
||||||
</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
<application>pgeasy</application> allows you to cleanly interface
|
|
||||||
to the <application>libpq</application> library, more like a 4GL
|
|
||||||
SQL interface. Refer to <xref linkend="libpq"> for more
|
|
||||||
information about <application>libpq</application>.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
It consists of a 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>
|
|
||||||
|
|
||||||
</itemizedlist>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Many functions return a structure or value, so you can 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 cannot be used if you are running the
|
|
||||||
<application>pgeasy</application> 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 to indicate 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> and <function>set_result</function>
|
|
||||||
allow you to handle multiple open result sets. Use
|
|
||||||
<function>get_result</function> to save a result into an application
|
|
||||||
variable. You can then later use <function>set_result</function> to
|
|
||||||
return to the previously save result.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
There are several demonstration programs in
|
|
||||||
<filename>pgsql/src/interfaces/libpgeasy/examples</>.
|
|
||||||
</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:
|
|
||||||
-->
|
|
Reference in New Issue
Block a user