HomePhabricator

PostgreSQL: Improve SQL error handling
94633ff448e9Unpublished

Authored by saper.

Unpublished Commit · Learn More

Repository Importing: This repository is still importing.

Description

PostgreSQL: Improve SQL error handling

After a query error, PostgreSQL transaction is aborted
until it's terminated or the query is closed.

All further queries result in:

ERROR: current transaction is aborted, commands ignored 
until end of transaction block

Those subsequent errors are ignored by double fault handling in
DatabaseBase::reportQueryError but they cause all localization
of error messages to fail (unable to issue queries to message
tables) and errors lke

This resulted in a broken MediaWiki screen with

<databaseerror>
<dberrortext>

instead of localized error message.

We need to fully reset database connection because after
pg_connection_reset() various session parameters need to
be set again (like "search_path"), otherwise tables will not be
found.

ERROR: relation "msg_resource" does not exist
ERROR:  relation "l10n_cache" does not exist

Details

Committed
saperMar 8 2012, 9:44 PM
Parents
rMWd8ef87afbf61: * (bug 35019) Fix for rr99942: edit summaries are no longer transformed in…
Branches
Unknown
Tags
Unknown
ChangeId
None