aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/execProcnode.c
diff options
context:
space:
mode:
authorMichael Paquier <michael@paquier.xyz>2021-07-02 09:35:12 +0900
committerMichael Paquier <michael@paquier.xyz>2021-07-02 09:35:12 +0900
commitb44669b2ca6a510b2c81cbe74c704d59226d729c (patch)
treeee53d3aa65a1588e81d4f74e31a7f5226d59406a /src/backend/executor/execProcnode.c
parent1708f6b38aaf1b9375b5ca82792425410c98d441 (diff)
downloadpostgresql-b44669b2ca6a510b2c81cbe74c704d59226d729c.tar.gz
postgresql-b44669b2ca6a510b2c81cbe74c704d59226d729c.zip
Simplify error handing of jsonapi.c for the frontend
This commit removes a dependency to the central logging facilities in the JSON parsing routines of src/common/, which existed to log errors when seeing error codes that do not match any existing values in JsonParseErrorType, which is not something that should never happen. The routine providing a detailed error message based on the error code is made backend-only, the existing code being unsafe to use in the frontend as the error message may finish by being palloc'd or point to a static string, so there is no way to know if the memory of the message should be pfree'd or not. The only user of this routine in the frontend was pg_verifybackup, that is changed to use a more generic error message on parsing failure. Note that making this code more resilient to OOM failures if used in shared libraries would require much more work as a lot of code paths still rely on palloc() & friends, but we are not sure yet if we need to go down to that. Still, removing the dependency to logging is a step toward more portability. This cleans up the handling of check_stack_depth() while on it, as it exists only in the backend. Per discussion with Jacob Champion and Tom Lane. Discussion: https://postgr.es/m/YNwL7kXwn3Cckbd6@paquier.xyz
Diffstat (limited to 'src/backend/executor/execProcnode.c')
0 files changed, 0 insertions, 0 deletions