mirror of https://github.com/postgres/postgres
parent
9761f1a07e
commit
f3e1937e5d
@ -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: |
||||
--> |
Loading…
Reference in new issue