diff --git a/src/include/nodes/miscnodes.h b/src/include/nodes/miscnodes.h index bbd1a43c3fb..bdebe5d842a 100644 --- a/src/include/nodes/miscnodes.h +++ b/src/include/nodes/miscnodes.h @@ -49,9 +49,16 @@ typedef struct ErrorSaveContext ErrorData *error_data; /* details of error, if so */ } ErrorSaveContext; +static inline bool +IsErrorSaveContext(const void *ptr) +{ + const ErrorSaveContext *esc = (const ErrorSaveContext *) ptr; + return esc->type == T_ErrorSaveContext; +} + /* Often-useful macro for checking if a soft error was reported */ #define SOFT_ERROR_OCCURRED(escontext) \ - ((escontext) != NULL && IsA(escontext, ErrorSaveContext) && \ + ((escontext) != NULL && IsErrorSaveContext(escontext) && \ ((ErrorSaveContext *) (escontext))->error_occurred) #endif /* MISCNODES_H */