Fix ill-chosen use of "private" as an argument and struct field name.
"private" is a keyword in C++, so this breaks the poorly-enforced policy that header files should be include-able in C++ code. Per report from Craig Ringer and some investigation with cpluspluscheck.
This commit is contained in:
parent
c7f0038d73
commit
275411912d
@ -863,7 +863,7 @@ struct fmgr_security_definer_cache
|
|||||||
FmgrInfo flinfo; /* lookup info for target function */
|
FmgrInfo flinfo; /* lookup info for target function */
|
||||||
Oid userid; /* userid to set, or InvalidOid */
|
Oid userid; /* userid to set, or InvalidOid */
|
||||||
ArrayType *proconfig; /* GUC values to set, or NULL */
|
ArrayType *proconfig; /* GUC values to set, or NULL */
|
||||||
Datum private; /* private usage for plugin modules */
|
Datum arg; /* passthrough argument for plugin modules */
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -949,7 +949,7 @@ fmgr_security_definer(PG_FUNCTION_ARGS)
|
|||||||
|
|
||||||
/* function manager hook */
|
/* function manager hook */
|
||||||
if (fmgr_hook)
|
if (fmgr_hook)
|
||||||
(*fmgr_hook)(FHET_START, &fcache->flinfo, &fcache->private);
|
(*fmgr_hook)(FHET_START, &fcache->flinfo, &fcache->arg);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We don't need to restore GUC or userid settings on error, because the
|
* We don't need to restore GUC or userid settings on error, because the
|
||||||
@ -980,7 +980,7 @@ fmgr_security_definer(PG_FUNCTION_ARGS)
|
|||||||
{
|
{
|
||||||
fcinfo->flinfo = save_flinfo;
|
fcinfo->flinfo = save_flinfo;
|
||||||
if (fmgr_hook)
|
if (fmgr_hook)
|
||||||
(*fmgr_hook)(FHET_ABORT, &fcache->flinfo, &fcache->private);
|
(*fmgr_hook)(FHET_ABORT, &fcache->flinfo, &fcache->arg);
|
||||||
PG_RE_THROW();
|
PG_RE_THROW();
|
||||||
}
|
}
|
||||||
PG_END_TRY();
|
PG_END_TRY();
|
||||||
@ -992,7 +992,7 @@ fmgr_security_definer(PG_FUNCTION_ARGS)
|
|||||||
if (OidIsValid(fcache->userid))
|
if (OidIsValid(fcache->userid))
|
||||||
SetUserIdAndSecContext(save_userid, save_sec_context);
|
SetUserIdAndSecContext(save_userid, save_sec_context);
|
||||||
if (fmgr_hook)
|
if (fmgr_hook)
|
||||||
(*fmgr_hook)(FHET_END, &fcache->flinfo, &fcache->private);
|
(*fmgr_hook)(FHET_END, &fcache->flinfo, &fcache->arg);
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -563,7 +563,7 @@ typedef enum FmgrHookEventType
|
|||||||
typedef bool (*needs_fmgr_hook_type)(Oid fn_oid);
|
typedef bool (*needs_fmgr_hook_type)(Oid fn_oid);
|
||||||
|
|
||||||
typedef void (*fmgr_hook_type)(FmgrHookEventType event,
|
typedef void (*fmgr_hook_type)(FmgrHookEventType event,
|
||||||
FmgrInfo *flinfo, Datum *private);
|
FmgrInfo *flinfo, Datum *arg);
|
||||||
|
|
||||||
extern PGDLLIMPORT needs_fmgr_hook_type needs_fmgr_hook;
|
extern PGDLLIMPORT needs_fmgr_hook_type needs_fmgr_hook;
|
||||||
extern PGDLLIMPORT fmgr_hook_type fmgr_hook;
|
extern PGDLLIMPORT fmgr_hook_type fmgr_hook;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user