mirror of https://github.com/citusdata/citus.git
Merge pull request #636 from citusdata/fix/634_null_check_sqlStateString
Add null check to SqlStateMatchesCategory()pull/639/head
commit
0b6819f773
|
@ -192,19 +192,27 @@ PurgeConnection(PGconn *connection)
|
|||
|
||||
|
||||
/*
|
||||
* SqlStateMatchesCategory returns true if the given sql state is in the given
|
||||
* error category. Note that we use ERRCODE_TO_CATEGORY macro to determine error
|
||||
* category of the sql state and expect the caller to use the same macro for the
|
||||
* error category.
|
||||
* SqlStateMatchesCategory returns true if the given sql state (which may be
|
||||
* NULL if unknown) is in the given error category. Note that we use
|
||||
* ERRCODE_TO_CATEGORY macro to determine error category of the sql state and
|
||||
* expect the caller to use the same macro for the error category.
|
||||
*/
|
||||
bool
|
||||
SqlStateMatchesCategory(char *sqlStateString, int category)
|
||||
{
|
||||
bool sqlStateMatchesCategory = false;
|
||||
int sqlState = MAKE_SQLSTATE(sqlStateString[0], sqlStateString[1], sqlStateString[2],
|
||||
int sqlState = 0;
|
||||
int sqlStateCategory = 0;
|
||||
|
||||
if (sqlStateString == NULL)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
sqlState = MAKE_SQLSTATE(sqlStateString[0], sqlStateString[1], sqlStateString[2],
|
||||
sqlStateString[3], sqlStateString[4]);
|
||||
|
||||
int sqlStateCategory = ERRCODE_TO_CATEGORY(sqlState);
|
||||
sqlStateCategory = ERRCODE_TO_CATEGORY(sqlState);
|
||||
if (sqlStateCategory == category)
|
||||
{
|
||||
sqlStateMatchesCategory = true;
|
||||
|
|
Loading…
Reference in New Issue