diff options
| author | Alvaro Herrera | 2019-12-11 21:03:35 +0000 |
|---|---|---|
| committer | Alvaro Herrera | 2019-12-11 21:03:35 +0000 |
| commit | ba79cb5dc841104cf4810b5c23af4f881079dbb5 (patch) | |
| tree | 4a0d951c14b9b844047d8f6306e2cb24d7692c5a /src/include/nodes | |
| parent | 16114f2ea0c0aba75d10b622797d31bcd296fadd (diff) | |
Emit parameter values during query bind/execute errors
This makes such log entries more useful, since the cause of the error
can be dependent on the parameter values.
Author: Alexey Bashtanov, Álvaro Herrera
Discussion: https://postgr.es/m/0146a67b-a22a-0519-9082-bc29756b93a2@imap.cc
Reviewed-by: Peter Eisentraut, Andres Freund, Tom Lane
Diffstat (limited to 'src/include/nodes')
| -rw-r--r-- | src/include/nodes/params.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/include/nodes/params.h b/src/include/nodes/params.h index fd9046619cc..c6310b892f2 100644 --- a/src/include/nodes/params.h +++ b/src/include/nodes/params.h @@ -115,6 +115,7 @@ typedef struct ParamListInfoData void *paramCompileArg; ParserSetupHook parserSetup; /* parser setup hook */ void *parserSetupArg; + char *paramValuesStr; /* params as a single string for errors */ int numParams; /* nominal/maximum # of Params represented */ /* @@ -149,6 +150,12 @@ typedef struct ParamExecData bool isnull; } ParamExecData; +/* type of argument for ParamsErrorCallback */ +typedef struct ParamsErrorCbData +{ + const char *portalName; + ParamListInfo params; +} ParamsErrorCbData; /* Functions found in src/backend/nodes/params.c */ extern ParamListInfo makeParamList(int numParams); @@ -156,5 +163,8 @@ extern ParamListInfo copyParamList(ParamListInfo from); extern Size EstimateParamListSpace(ParamListInfo paramLI); extern void SerializeParamList(ParamListInfo paramLI, char **start_address); extern ParamListInfo RestoreParamList(char **start_address); +extern char *BuildParamLogString(ParamListInfo params, char **paramTextValues, + int valueLen); +extern void ParamsErrorCallback(void *arg); #endif /* PARAMS_H */ |
