mirror of
https://github.com/postgres/postgres.git
synced 2025-05-29 00:03:09 -04:00
Fix ecpglib regression that made it impossible to close a cursor that was
opened in a prepared statement. Patch by: "Kuroda, Hayato" <kuroda.hayato@jp.fujitsu.com>
This commit is contained in:
parent
3c06715447
commit
98bdaab0d9
@ -150,19 +150,22 @@ ECPGclose(const char *cursor_name,
|
||||
|
||||
con = ecpg_get_connection(real_connection_name);
|
||||
|
||||
/* check the existence of the cursor in the connection */
|
||||
if (find_cursor(cursor_name, con) == false)
|
||||
{
|
||||
ecpg_raise(lineno, ECPG_INVALID_CURSOR, ECPG_SQLSTATE_ECPG_INTERNAL_ERROR, NULL);
|
||||
return false;
|
||||
}
|
||||
|
||||
/* send the query to backend */
|
||||
va_start(args, query);
|
||||
|
||||
status = ecpg_do(lineno, compat, force_indicator, real_connection_name, questionmarks, st, query, args);
|
||||
|
||||
va_end(args);
|
||||
|
||||
/* if it fails, raise an error */
|
||||
if (!status)
|
||||
{
|
||||
ecpg_raise(lineno, ECPG_INVALID_CURSOR, ECPG_SQLSTATE_ECPG_INTERNAL_ERROR, NULL);
|
||||
return false;
|
||||
}
|
||||
|
||||
/* check the existence of the cursor in the connection */
|
||||
if (find_cursor(cursor_name, con) == true)
|
||||
remove_cursor(cursor_name, con);
|
||||
|
||||
return status;
|
||||
|
Loading…
x
Reference in New Issue
Block a user