From: Michael Meskes Date: Fri, 15 Jan 2010 13:19:12 +0000 (+0000) Subject: Added correct error handling in DESCRIBE statement processing by Boszormenyi Zoltan... X-Git-Tag: REL9_0_0~1137 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=eb730cf5565c1699cf670437188b11ba2639745e;p=pg-rex%2Fsyncrep.git Added correct error handling in DESCRIBE statement processing by Boszormenyi Zoltan . --- diff --git a/src/interfaces/ecpg/ecpglib/descriptor.c b/src/interfaces/ecpg/ecpglib/descriptor.c index 367081a684..acc26574b7 100644 --- a/src/interfaces/ecpg/ecpglib/descriptor.c +++ b/src/interfaces/ecpg/ecpglib/descriptor.c @@ -1,6 +1,6 @@ /* dynamic SQL support routines * - * $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/descriptor.c,v 1.34 2010/01/15 10:44:34 meskes Exp $ + * $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/descriptor.c,v 1.35 2010/01/15 13:19:12 meskes Exp $ */ #define POSTGRES_ECPG_INTERNAL @@ -739,14 +739,24 @@ ECPGdescribe(int line, int compat, bool input, const char *connection_name, cons /* DESCRIBE INPUT is not yet supported */ if (input) + { + ecpg_raise(line, ECPG_UNSUPPORTED, ECPG_SQLSTATE_ECPG_INTERNAL_ERROR, "DESCRIBE INPUT"); return ret; + } con = ecpg_get_connection(connection_name); if (!con) - return false; + { + ecpg_raise(line, ECPG_NO_CONN, ECPG_SQLSTATE_CONNECTION_DOES_NOT_EXIST, + connection_name ? connection_name : ecpg_gettext("NULL")); + return ret; + } prep = ecpg_find_prepared_statement(stmt_name, con, NULL); if (!prep) + { + ecpg_raise(line, ECPG_INVALID_STMT, ECPG_SQLSTATE_INVALID_SQL_STATEMENT_NAME, stmt_name); return ret; + } va_start(args, stmt_name);