<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ecpg.sgml,v 1.24 2001/10/11 20:25:42 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ecpg.sgml,v 1.25 2001/10/18 20:32:58 momjian Exp $
-->
<chapter id="ecpg">
</para>
<para>
- If an error occurred in the last <acronym>SQL</acronym> statement.
- <parameter>sqlca.sqlcode</parameter> will be non-zero. If
- <parameter>sqlca.sqlcode</parameter> is less that 0, this is a
+ If an no error occurred in the last <acronym>SQL</acronym> statement.
+ <parameter>sqlca.sqlcode</parameter> will be 0 (ECPG_NO_ERROR). If
+ <parameter>sqlca.sqlcode</parameter> is less that zero, this is a
serious error, like the database definition does not match the
- query. If it is greater than 0, it is a normal error like the
+ query. If it is greater than zero, it is a normal error like the
table did not contain the requested row.
</para>
</para>
<para>
- List of errors that can occur:
+ These are the errors that can occur:
<variablelist>
<varlistentry>
</varlistentry>
<varlistentry>
- <term><computeroutput>-200, Unsupported type %s on line %d.</computeroutput></term>
+ <term><computeroutput>-200 (ECPG_UNSUPPORTED), Unsupported type %s on line %d.</computeroutput></term>
<listitem>
<para>
Should not normally occur. This indicates the preprocessor has
</varlistentry>
<varlistentry>
- <term><computeroutput>-201, Too many arguments line %d.</computeroutput></term>
+ <term><computeroutput>-201 (ECPG_TOO_MANY_ARGUMENTS), Too many arguments line %d.</computeroutput></term>
<listitem>
<para>
This means that <productname>Postgres</productname> has
</varlistentry>
<varlistentry>
- <term><computeroutput>-202, Too few arguments line %d.</computeroutput></term>
+ <term><computeroutput>-202 (ECPG_TOO_FEW_ARGUMENTS), Too few arguments line %d.</computeroutput></term>
<listitem>
<para>
This means that <productname>Postgres</productname> has
</varlistentry>
<varlistentry>
- <term><computeroutput>-203, Too many matches line %d.</computeroutput></term>
+ <term><computeroutput>-203 (ECPG_TOO_MANY_MATCHES), Too many matches line %d.</computeroutput></term>
<listitem>
<para>
This means the query has returned several rows but the
</varlistentry>
<varlistentry>
- <term><computeroutput>-204, Not correctly formatted int type: %s line %d.</computeroutput></term>
+ <term><computeroutput>-204 (ECPG_INT_FORMAT), Not correctly formatted int type: %s line %d.</computeroutput></term>
<listitem>
<para>
This means the host variable is of type <type>int</type> and
</varlistentry>
<varlistentry>
- <term><computeroutput>-205, Not correctly formatted unsigned type: %s line %d.</computeroutput></term>
+ <term><computeroutput>-205 (ECPG_UINT_FORMAT), Not correctly formatted unsigned type: %s line %d.</computeroutput></term>
<listitem>
<para>
This means the host variable is of type <type>unsigned
</varlistentry>
<varlistentry>
- <term><computeroutput>-206, Not correctly formatted floating point type: %s line %d.</computeroutput></term>
+ <term><computeroutput>-206 (ECPG_FLOAT_FORMAT), Not correctly formatted floating point type: %s line %d.</computeroutput></term>
<listitem>
<para>
This means the host variable is of type <type>float</type> and
</varlistentry>
<varlistentry>
- <term><computeroutput>-207, Unable to convert %s to bool on line %d.</computeroutput></term>
+ <term><computeroutput>-207 (ECPG_CONVERT_BOOL), Unable to convert %s to bool on line %d.</computeroutput></term>
<listitem>
<para>
This means the host variable is of type <type>bool</type> and
</varlistentry>
<varlistentry>
- <term><computeroutput>-208, Empty query line %d.</computeroutput></term>
+ <term><computeroutput>-208 (ECPG_EMPTY), Empty query line %d.</computeroutput></term>
<listitem>
<para>
<productname>Postgres</productname> returned <symbol>PGRES_EMPTY_QUERY</symbol>, probably
</varlistentry>
<varlistentry>
- <term><computeroutput>-209, NULL value without indicator in line %d.</computeroutput></term>
+ <term><computeroutput>-209 (ECPG_MISSING_INDICATOR), NULL value without indicator in line %d.</computeroutput></term>
<listitem>
<para>
<productname>Postgres</productname> returned <symbol>ECPG_MISSING_INDICATOR</symbol>
</varlistentry>
<varlistentry>
- <term><computeroutput>-220, No such connection %s in line %d.</computeroutput></term>
+ <term><computeroutput>-210 (ECPG_NO_ARRAY), Variable is not an array in line %d.</computeroutput></term>
+ <listitem>
+ <para>
+ <productname>Postgres</productname> returned <symbol>ECPG_NO_ARRAY</symbol>
+ because an ordinary variable was used in a place that requires
+ an array.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>-211 (ECPG_DATA_NOT_ARRAY), Data read from backend is not an array in line %d.</computeroutput></term>
+ <listitem>
+ <para>
+ <productname>Postgres</productname> returned <symbol>ECPG_DATA_NOT_ARRAY</symbol>
+ because the database returned an ordinary variable in a place
+ that requires array value.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>-220 (ECPG_NO_CONN), No such connection %s in line %d.</computeroutput></term>
<listitem>
<para>
The program tried to access a connection that does not exist.
</varlistentry>
<varlistentry>
- <term><computeroutput>-221, Not connected in line %d.</computeroutput></term>
+ <term><computeroutput>-221 (ECPG_NOT_CONN), Not connected in line %d.</computeroutput></term>
<listitem>
<para>
The program tried to access a connection that does exist but is
</varlistentry>
<varlistentry>
- <term><computeroutput>-230, Invalid statement name %s in line %d.</computeroutput></term>
+ <term><computeroutput>-230 (ECPG_INVALID_STMT), Invalid statement name %s in line %d.</computeroutput></term>
<listitem>
<para>
The statement you are trying to use has not been prepared.
</varlistentry>
<varlistentry>
- <term><computeroutput>-400, Postgres error: %s line %d.</computeroutput></term>
+ <term><computeroutput>-240 (ECPG_UNKNOWN_DESCRIPTOR), Descriptor %s not found in line %d.</computeroutput></term>
+ <listitem>
+ <para>
+ The descriptor specified was not foundstatement you are trying to use has not been prepared.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>-241 (ECPG_INVALID_DESCRIPTOR_INDEX), Descriptor index out of range in line %d.</computeroutput></term>
+ <listitem>
+ <para>
+ The descriptor index specified was out of range.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>-242 (ECPG_UNKNOWN_DESCRIPTOR_ITEM), Descriptor %s not found in line %d.</computeroutput></term>
+ <listitem>
+ <para>
+ The descriptor specified was not foundstatement you are trying to use has not been prepared.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>-243 (ECPG_VAR_NOT_NUMERIC), Variable is not a numeric type in line %d.</computeroutput></term>
+ <listitem>
+ <para>
+ The database returned a numeric value and the variable was not
+ numeric.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>-244 (ECPG_VAR_NOT_CHAR), Variable is not a character type in line %d.</computeroutput></term>
+ <listitem>
+ <para>
+ The database returned a non-numeric value and the variable was
+ numeric.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>-400 (ECPG_PGSQL), Postgres error: %s line %d.</computeroutput></term>
<listitem>
<para>
Some <productname>Postgres</productname> error.
</varlistentry>
<varlistentry>
- <term><computeroutput>-401, Error in transaction processing line %d.</computeroutput></term>
+ <term><computeroutput>-401 (ECPG_TRANS), Error in transaction processing line %d.</computeroutput></term>
<listitem>
<para>
<productname>Postgres</productname> signaled that we cannot start,
</varlistentry>
<varlistentry>
- <term><computeroutput>-402, connect: could not open database %s.</computeroutput></term>
+ <term><computeroutput>-402 (ECPG_CONNECT), Could not connect to database %s in line %d.</computeroutput></term>
<listitem>
<para>
The connect to the database did not work.
</varlistentry>
<varlistentry>
- <term><computeroutput>100, Data not found line %d.</computeroutput></term>
+ <term><computeroutput>100 (ECPG_NOT_FOUND), Data not found line %d.</computeroutput></term>
<listitem>
<para>
This is a <quote>normal</quote> error that tells you that what you are querying cannot
-/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/lib/Attic/error.c,v 1.11 2001/10/05 17:37:07 meskes Exp $ */
+/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/lib/Attic/error.c,v 1.12 2001/10/18 20:32:58 momjian Exp $ */
#include "postgres_fe.h"
case ECPG_NO_ARRAY:
snprintf(sqlca.sqlerrm.sqlerrmc, sizeof(sqlca.sqlerrm.sqlerrmc),
- "variable is not an array in line %d.", line);
+ "Variable is not an array in line %d.", line);
break;
case ECPG_DATA_NOT_ARRAY:
snprintf(sqlca.sqlerrm.sqlerrmc, sizeof(sqlca.sqlerrm.sqlerrmc),
- "data read from backend is not an array in line %d.", line);
+ "Data read from backend is not an array in line %d.", line);
break;
case ECPG_NO_CONN:
case ECPG_UNKNOWN_DESCRIPTOR:
snprintf(sqlca.sqlerrm.sqlerrmc, sizeof(sqlca.sqlerrm.sqlerrmc),
- "Sescriptor %s not found in line %d.", str, line);
+ "Descriptor %s not found in line %d.", str, line);
break;
case ECPG_INVALID_DESCRIPTOR_INDEX:
snprintf(sqlca.sqlerrm.sqlerrmc, sizeof(sqlca.sqlerrm.sqlerrmc),
- "Sescriptor index out of range in line %d.", line);
+ "Descriptor index out of range in line %d.", line);
break;
case ECPG_UNKNOWN_DESCRIPTOR_ITEM: