[DBI Backend] If there's a set error value use that to set the backend error.

This commit is contained in:
John Ralls 2018-06-01 14:02:29 -07:00
parent f504e39d78
commit e23769f078

View File

@ -260,7 +260,13 @@ GncDbiSqlConnection::execute_select_statement (const GncSqlStatementPtr& stmt)
} }
while (m_retry); while (m_retry);
if (result == nullptr) if (result == nullptr)
{
PERR ("Error executing SQL %s\n", stmt->to_sql()); PERR ("Error executing SQL %s\n", stmt->to_sql());
if(m_last_error)
m_qbe->set_error(m_last_error);
else
m_qbe->set_error(ERR_BACKEND_SERVER_ERR);
}
gnc_pop_locale (LC_NUMERIC, locale); gnc_pop_locale (LC_NUMERIC, locale);
return GncSqlResultPtr(new GncDbiSqlResult (this, result)); return GncSqlResultPtr(new GncDbiSqlResult (this, result));
} }
@ -281,6 +287,10 @@ GncDbiSqlConnection::execute_nonselect_statement (const GncSqlStatementPtr& stmt
if (result == nullptr && m_last_error) if (result == nullptr && m_last_error)
{ {
PERR ("Error executing SQL %s\n", stmt->to_sql()); PERR ("Error executing SQL %s\n", stmt->to_sql());
if(m_last_error)
m_qbe->set_error(m_last_error);
else
m_qbe->set_error(ERR_BACKEND_SERVER_ERR);
return -1; return -1;
} }
if (!result) if (!result)
@ -290,7 +300,10 @@ GncDbiSqlConnection::execute_nonselect_statement (const GncSqlStatementPtr& stmt
if (status < 0) if (status < 0)
{ {
PERR ("Error in dbi_result_free() result\n"); PERR ("Error in dbi_result_free() result\n");
qof_backend_set_error (m_qbe, ERR_BACKEND_SERVER_ERR); if(m_last_error)
m_qbe->set_error(m_last_error);
else
m_qbe->set_error(ERR_BACKEND_SERVER_ERR);
} }
return num_rows; return num_rows;
} }