97 oprm = from->
paramFetch(from,
i + 1,
false, &prmdata);
134 int paramno = pref->
number;
145 prm = paramLI->
paramFetch(paramLI, paramno,
false, &prmdata);
147 prm = ¶mLI->
params[paramno - 1];
154 param->paramid = paramno;
155 param->paramtype = prm->ptype;
156 param->paramtypmod = -1;
160 return (
Node *) param;
169 Size sz =
sizeof(int);
171 if (paramLI == NULL || paramLI->
numParams <= 0)
184 prm = paramLI->
paramFetch(paramLI,
i + 1,
false, &prmdata);
188 typeOid = prm->
ptype;
199 typLen =
sizeof(
Datum);
233 if (paramLI == NULL || paramLI->
numParams <= 0)
237 memcpy(*start_address, &nparams,
sizeof(
int));
238 *start_address +=
sizeof(int);
241 for (
int i = 0;
i < nparams;
i++)
251 prm = paramLI->
paramFetch(paramLI,
i + 1,
false, &prmdata);
255 typeOid = prm->
ptype;
258 memcpy(*start_address, &typeOid,
sizeof(
Oid));
259 *start_address +=
sizeof(
Oid);
263 *start_address +=
sizeof(
uint16);
271 typLen =
sizeof(
Datum);
295 memcpy(&nparams, *start_address,
sizeof(
int));
296 *start_address +=
sizeof(int);
300 for (
int i = 0;
i < nparams;
i++)
305 memcpy(&prm->
ptype, *start_address,
sizeof(
Oid));
306 *start_address +=
sizeof(
Oid);
310 *start_address +=
sizeof(
uint16);
359 "BuildParamLogString",
363 for (
int paramno = 0; paramno < params->
numParams; paramno++)
369 paramno > 0 ?
", " :
"",
376 if (knownTextValues != NULL && knownTextValues[paramno] != NULL)
410 data->params == NULL ||
411 data->params->paramValuesStr == NULL)
414 if (
data->portalName &&
data->portalName[0] !=
'\0')
415 errcontext(
"portal \"%s\" with parameters: %s",
416 data->portalName,
data->params->paramValuesStr);
418 errcontext(
"unnamed portal with parameters: %s",
419 data->params->paramValuesStr);
#define OidIsValid(objectId)
Datum datumCopy(Datum value, bool typByVal, int typLen)
Datum datumRestore(char **start_address, bool *isnull)
void datumSerialize(Datum value, bool isnull, bool typByVal, int typLen, char **start_address)
Size datumEstimateSpace(Datum value, bool isnull, bool typByVal, int typLen)
char * OidOutputFunctionCall(Oid functionId, Datum val)
if(TABLE==NULL||TABLE_index==NULL)
void getTypeOutputInfo(Oid type, Oid *typOutput, bool *typIsVarlena)
void get_typlenbyval(Oid typid, int16 *typlen, bool *typbyval)
Oid get_typcollation(Oid typid)
MemoryContext CurrentMemoryContext
void MemoryContextDelete(MemoryContext context)
#define AllocSetContextCreate
#define ALLOCSET_DEFAULT_SIZES
static MemoryContext MemoryContextSwitchTo(MemoryContext context)
ParamListInfo makeParamList(int numParams)
ParamListInfo copyParamList(ParamListInfo from)
static Node * paramlist_param_ref(ParseState *pstate, ParamRef *pref)
static void paramlist_parser_setup(ParseState *pstate, void *arg)
Size EstimateParamListSpace(ParamListInfo paramLI)
char * BuildParamLogString(ParamListInfo params, char **knownTextValues, int maxlen)
void SerializeParamList(ParamListInfo paramLI, char **start_address)
void ParamsErrorCallback(void *arg)
ParamListInfo RestoreParamList(char **start_address)
struct ParamListInfoData * ParamListInfo
struct ParamExternData ParamExternData
Size add_size(Size s1, Size s2)
void appendStringInfo(StringInfo str, const char *fmt,...)
void appendStringInfoString(StringInfo str, const char *s)
void initStringInfo(StringInfo str)
void appendStringInfoStringQuoted(StringInfo str, const char *s, int maxlen)
ParamExternData params[FLEXIBLE_ARRAY_MEMBER]
ParserSetupHook parserSetup
ParamCompileHook paramCompile
ParamFetchHook paramFetch
ParseParamRefHook p_paramref_hook
bool IsAbortedTransactionBlockState(void)