Re: [PATCH] Fix wrong argument to SOFT_ERROR_OCCURRED in timestamptz_date

Peter Eisentraut <peter@eisentraut.org>

From: Peter Eisentraut <peter@eisentraut.org>
To: Nathan Bossart <nathandbossart@gmail.com>, Jianghua Yang <yjhjstz@gmail.com>
Cc: pgsql-hackers@lists.postgresql.org, jian.universality@gmail.com, amitlangote09@gmail.com
Date: 2026-03-25T06:17:15Z
Lists: pgsql-hackers
On 24.03.26 21:53, Nathan Bossart wrote:
> LGTM.  To prevent this from happening in the future, I think we ought to
> change SOFT_ERROR_OCCURRED to a static inline function.  I tried that, and
> I got the following warnings:
> 
>      execExprInterp.c:4964:27: warning: incompatible pointer types passing 'ErrorSaveContext *' (aka 'struct ErrorSaveContext *') to parameter of type 'Node *' (aka 'struct Node *') [-Wincompatible-pointer-types]
>       4964 |                 if (SOFT_ERROR_OCCURRED(&jsestate->escontext))
>            |                                         ^~~~~~~~~~~~~~~~~~~~
>      ../../../src/include/nodes/miscnodes.h:54:27: note: passing argument to parameter 'escontext' here
>         54 | SOFT_ERROR_OCCURRED(Node *escontext)
>            |                           ^
>      execExprInterp.c:5200:26: warning: incompatible pointer types passing 'ErrorSaveContext *' (aka 'struct ErrorSaveContext *') to parameter of type 'Node *' (aka 'struct Node *') [-Wincompatible-pointer-types]
>       5200 |         if (SOFT_ERROR_OCCURRED(&jsestate->escontext))
>            |                                 ^~~~~~~~~~~~~~~~~~~~
>      ../../../src/include/nodes/miscnodes.h:54:27: note: passing argument to parameter 'escontext' here
>         54 | SOFT_ERROR_OCCURRED(Node *escontext)
>            |                           ^
> 
> I think we just need to add casts to "Node *" for those.  AFAICT there
> isn't an actual bug.

Or maybe we change the escontext field to be of type Node *?




Commits

  1. Fix typo

  2. Make many cast functions error safe