Commit 98bdaab0 authored by Michael Meskes's avatar Michael Meskes

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>
parent 3c067154
......@@ -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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment