mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-27 08:39:28 +08:00
Added correct error handling in DESCRIBE statement processing by Boszormenyi Zoltan <zb@cybertec.at>.
This commit is contained in:
parent
d3be71a208
commit
eb730cf556
@ -1,6 +1,6 @@
|
|||||||
/* dynamic SQL support routines
|
/* 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
|
#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 */
|
/* DESCRIBE INPUT is not yet supported */
|
||||||
if (input)
|
if (input)
|
||||||
|
{
|
||||||
|
ecpg_raise(line, ECPG_UNSUPPORTED, ECPG_SQLSTATE_ECPG_INTERNAL_ERROR, "DESCRIBE INPUT");
|
||||||
return ret;
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
con = ecpg_get_connection(connection_name);
|
con = ecpg_get_connection(connection_name);
|
||||||
if (!con)
|
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);
|
prep = ecpg_find_prepared_statement(stmt_name, con, NULL);
|
||||||
if (!prep)
|
if (!prep)
|
||||||
|
{
|
||||||
|
ecpg_raise(line, ECPG_INVALID_STMT, ECPG_SQLSTATE_INVALID_SQL_STATEMENT_NAME, stmt_name);
|
||||||
return ret;
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
va_start(args, stmt_name);
|
va_start(args, stmt_name);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user