| /*------------------------------------------------------------------------- |
| * |
| * 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 */ |