1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-27 12:41:57 +03:00

Editorialize a bit on new ProcessUtility() API.

Choose a saner ordering of parameters (adding a new input param after
the output params seemed a bit random), update the function's header
comment to match reality (cmon folks, is this really that hard?),
get rid of useless and sloppily-defined distinction between
PROCESS_UTILITY_SUBCOMMAND and PROCESS_UTILITY_GENERATED.
This commit is contained in:
Tom Lane
2013-04-28 00:18:45 -04:00
parent 5525e6c40b
commit f8db76e875
10 changed files with 80 additions and 68 deletions

View File

@ -239,10 +239,9 @@ static void pgss_ExecutorRun(QueryDesc *queryDesc,
long count);
static void pgss_ExecutorFinish(QueryDesc *queryDesc);
static void pgss_ExecutorEnd(QueryDesc *queryDesc);
static void pgss_ProcessUtility(Node *parsetree,
const char *queryString, ParamListInfo params,
DestReceiver *dest, char *completionTag,
ProcessUtilityContext context);
static void pgss_ProcessUtility(Node *parsetree, const char *queryString,
ProcessUtilityContext context, ParamListInfo params,
DestReceiver *dest, char *completionTag);
static uint32 pgss_hash_fn(const void *key, Size keysize);
static int pgss_match_fn(const void *key1, const void *key2, Size keysize);
static uint32 pgss_hash_string(const char *str);
@ -786,8 +785,8 @@ pgss_ExecutorEnd(QueryDesc *queryDesc)
*/
static void
pgss_ProcessUtility(Node *parsetree, const char *queryString,
ParamListInfo params, DestReceiver *dest,
char *completionTag, ProcessUtilityContext context)
ProcessUtilityContext context, ParamListInfo params,
DestReceiver *dest, char *completionTag)
{
/*
* If it's an EXECUTE statement, we don't track it and don't increment the
@ -819,11 +818,13 @@ pgss_ProcessUtility(Node *parsetree, const char *queryString,
PG_TRY();
{
if (prev_ProcessUtility)
prev_ProcessUtility(parsetree, queryString, params,
dest, completionTag, context);
prev_ProcessUtility(parsetree, queryString,
context, params,
dest, completionTag);
else
standard_ProcessUtility(parsetree, queryString, params,
dest, completionTag, context);
standard_ProcessUtility(parsetree, queryString,
context, params,
dest, completionTag);
nested_level--;
}
PG_CATCH();
@ -880,11 +881,13 @@ pgss_ProcessUtility(Node *parsetree, const char *queryString,
else
{
if (prev_ProcessUtility)
prev_ProcessUtility(parsetree, queryString, params,
dest, completionTag, context);
prev_ProcessUtility(parsetree, queryString,
context, params,
dest, completionTag);
else
standard_ProcessUtility(parsetree, queryString, params,
dest, completionTag, context);
standard_ProcessUtility(parsetree, queryString,
context, params,
dest, completionTag);
}
}