mirror of https://github.com/citusdata/citus.git
Purge connection if re-raising error
The only way we re-raise an error is if the raiseError flag is true, so might as well purge connection in that block rather than independently checking errorLevel.pull/615/head
parent
aa94a0b1ca
commit
16fc92bf6b
|
@ -263,11 +263,6 @@ ReportRemoteError(PGconn *connection, PGresult *result, bool raiseError)
|
||||||
sqlStateString[3], sqlStateString[4]);
|
sqlStateString[3], sqlStateString[4]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (raiseError)
|
|
||||||
{
|
|
||||||
errorLevel = ERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If the PGresult did not contain a message, the connection may provide a
|
* If the PGresult did not contain a message, the connection may provide a
|
||||||
* suitable top level one. At worst, this is an empty string.
|
* suitable top level one. At worst, this is an empty string.
|
||||||
|
@ -286,6 +281,16 @@ ReportRemoteError(PGconn *connection, PGresult *result, bool raiseError)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If requested, actually raise an error. This necessitates purging the
|
||||||
|
* connection so it doesn't remain in the hash in an invalid state.
|
||||||
|
*/
|
||||||
|
if (raiseError)
|
||||||
|
{
|
||||||
|
errorLevel = ERROR;
|
||||||
|
PurgeConnection(connection);
|
||||||
|
}
|
||||||
|
|
||||||
if (sqlState == ERRCODE_CONNECTION_FAILURE)
|
if (sqlState == ERRCODE_CONNECTION_FAILURE)
|
||||||
{
|
{
|
||||||
ereport(errorLevel, (errcode(sqlState),
|
ereport(errorLevel, (errcode(sqlState),
|
||||||
|
|
Loading…
Reference in New Issue