diff --git a/doc/src/sgml/libpgeasy.sgml b/doc/src/sgml/libpgeasy.sgml new file mode 100644 index 0000000000000000000000000000000000000000..572e296e9dae58b8e0ae535fa710bb17195c0d1b --- /dev/null +++ b/doc/src/sgml/libpgeasy.sgml @@ -0,0 +1,155 @@ +<!-- +$Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpgeasy.sgml,v 2.1 2000/03/31 03:26:21 thomas Exp $ +--> + + <chapter id="pgeasy-chapter"> + <title id="pgeasy">libpgeasy - Simplified C Binding Library</title> + + <note> + <title>Author</title> + + <para> + Written by Bruce Momjian + (<ulink url="mailto:root@candle.pha.pa.us">root@candle.pha.pa.us</ulink>) + 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 libpq. + The functions are: + + <itemizedlist> + <listitem> + <para> +PGresult *doquery(char *query); + </para> + </listitem> + + <listitem> + <para> +PGconn *connectdb(); + </para> + </listitem> + + <listitem> + <para> +void disconnectdb(); + </para> + </listitem> + + <listitem> + <para> +int fetch(void *param,...); + </para> + </listitem> + + <listitem> + <para> +int fetchwithnulls(void *param,...); + </para> + </listitem> + + <listitem> + <para> +void reset_fetch(); + </para> + </listitem> + + <listitem> + <para> +void on_error_continue(); + </para> + </listitem> + + <listitem> + <para> +void on_error_stop(); + </para> + </listitem> + + <listitem> + <para> +PGresult *get_result(); + </para> + </listitem> + + <listitem> + <para> +void set_result(PGresult *newres); + </para> + </listitem> + + <listitem> + <para> +void unset_result(PGresult *oldres); + </para> + </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 libpq functions on the PGresult 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: +--> diff --git a/doc/src/sgml/postgres.sgml b/doc/src/sgml/postgres.sgml index f189b9b010e42afc80787875fc2922d61b57ec09..e59289c63151571fca3a9bb2ffc0e219899d5125 100644 --- a/doc/src/sgml/postgres.sgml +++ b/doc/src/sgml/postgres.sgml @@ -1,3 +1,7 @@ +<!-- +$Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.35 2000/03/31 03:26:21 thomas Exp $ +--> + <!doctype book PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [ <!entity about SYSTEM "about.sgml"> @@ -68,6 +72,7 @@ <!entity intro-pg SYSTEM "intro-pg.sgml"> <!entity indexcost SYSTEM "indexcost.sgml"> <!entity jdbc SYSTEM "jdbc.sgml"> +<!entity libpgeasy SYSTEM "libpgeasy.sgml"> <!entity libpq SYSTEM "libpq.sgml"> <!entity libpqpp SYSTEM "libpq++.sgml"> <!entity libpgtcl SYSTEM "libpgtcl.sgml"> @@ -269,6 +274,7 @@ Your name here... &libpq; &libpqpp; &libpgtcl; + &libpgeasy; &odbc; &jdbc; &lisp; @@ -345,7 +351,7 @@ 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-catalogs:("/usr/lib/sgml/catalog") sgml-local-ecat-files:nil End: --> diff --git a/doc/src/sgml/programmer.sgml b/doc/src/sgml/programmer.sgml index e09a37e605024fde0982bc1efe5802f0e05930ab..5503b82d802395de9413b378d94b8a856e448afe 100644 --- a/doc/src/sgml/programmer.sgml +++ b/doc/src/sgml/programmer.sgml @@ -1,66 +1,18 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/Attic/programmer.sgml,v 1.24 2000/03/30 22:34:29 thomas Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/Attic/programmer.sgml,v 1.25 2000/03/31 03:26:21 thomas Exp $ Postgres Programmer's Guide. - -$Log: programmer.sgml,v $ -Revision 1.24 2000/03/30 22:34:29 thomas -Remove PL/perl language chapter, since it shows up in the User's Guide. - -Revision 1.23 2000/03/30 22:22:41 thomas -Accumulated fixups. -Add some chapters on new topics. -Change to referencing OASIS/Docbook v3.1 rather than Davenport/Docbook v3.0 -Grepped for and fixed apparent tag mangling from emacs - "Normalize" operation. Should be the last of those. - -Revision 1.22 2000/03/28 14:16:06 thomas -Update SGML catalog references to DocBook 3.1 on FreeBSD. -Matches postgresql.org/hub.org environment. - -Revision 1.21 2000/02/02 16:25:04 thomas -Add short chapter in developer's guide on formatting source code. - -Revision 1.20 1999/12/06 16:37:11 thomas -Remove references to PostgreSQL as "public-domain" since that has a - specific meaning wrt copyright (or lack thereof). - -Revision 1.19 1999/07/22 15:11:04 thomas -Complete merge of all old man page information. -lisp.sgml is a placeholder for Eric Marsden's upcoming contribution. -catalogs.sgml is not yet marked up or integrated. - It should perhaps become an appendix. - -Revision 1.18 1999/06/23 06:21:19 thomas -Remove User's Guide entities since they were not being used. - -Revision 1.16 1999/05/26 17:30:30 thomas -Add chapters on CVS access, MVCC, SQL theory to the docs. -Add an appendix with more details on date/time attributes and handling. -Update most references to Postgres version numbers to 6.5, - *except* for the porting list which will require a report - from a successful installation to be updated. - -Revision 1.12 1999/02/13 03:54:51 thomas -Re-enable arch-dev.sgml now that it has new information from Stefan's - Master's Thesis. - -Revision 1.10 1998/10/31 09:36:36 thomas -Cleanup for v6.4 release. -Make new file current.sgml to hold release info for the current release. - Should be moved to release.sgml before filling with next release info. - --> <!doctype book PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [ -<!entity about SYSTEM "about.sgml"> -<!entity history SYSTEM "history.sgml"> -<!entity info SYSTEM "info.sgml"> -<!entity legal SYSTEM "legal.sgml"> -<!entity notation SYSTEM "notation.sgml"> -<!entity problems SYSTEM "problems.sgml"> -<!entity y2k SYSTEM "y2k.sgml"> +<!entity about SYSTEM "about.sgml"> +<!entity history SYSTEM "history.sgml"> +<!entity info SYSTEM "info.sgml"> +<!entity legal SYSTEM "legal.sgml"> +<!entity notation SYSTEM "notation.sgml"> +<!entity problems SYSTEM "problems.sgml"> +<!entity y2k SYSTEM "y2k.sgml"> <!entity arch-pg SYSTEM "arch-pg.sgml"> <!entity dfunc SYSTEM "dfunc.sgml"> @@ -71,6 +23,7 @@ Make new file current.sgml to hold release info for the current release. <!entity intro-pg SYSTEM "intro-pg.sgml"> <!entity indexcost SYSTEM "indexcost.sgml"> <!entity jdbc SYSTEM "jdbc.sgml"> +<!entity libpgeasy SYSTEM "libpgeasy.sgml"> <!entity libpq SYSTEM "libpq.sgml"> <!entity libpqpp SYSTEM "libpq++.sgml"> <!entity libpgtcl SYSTEM "libpgtcl.sgml"> @@ -201,6 +154,7 @@ Disable it until we put in some info. &libpq; &libpqpp; &libpgtcl; + &libpgeasy; &ecpg; &odbc; &jdbc; @@ -246,7 +200,7 @@ 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-catalogs:("/usr/lib/sgml/catalog") sgml-local-ecat-files:nil End: -->