27 lines
733 B
C
27 lines
733 B
C
|
/*-------------------------------------------------------------------------
|
||
|
*
|
||
|
* usercontext.h
|
||
|
* Convenience functions for running code as a different database user.
|
||
|
*
|
||
|
*-------------------------------------------------------------------------
|
||
|
*/
|
||
|
#ifndef USERCONTEXT_H
|
||
|
#define USERCONTEXT_H
|
||
|
|
||
|
/*
|
||
|
* When temporarily changing to run as a different user, this structure
|
||
|
* holds the details needed to restore the original state.
|
||
|
*/
|
||
|
typedef struct UserContext
|
||
|
{
|
||
|
Oid save_userid;
|
||
|
int save_sec_context;
|
||
|
int save_nestlevel;
|
||
|
} UserContext;
|
||
|
|
||
|
/* Function prototypes. */
|
||
|
extern void SwitchToUntrustedUser(Oid userid, UserContext *context);
|
||
|
extern void RestoreUserContext(UserContext *context);
|
||
|
|
||
|
#endif /* USERCONTEXT_H */
|