summaryrefslogtreecommitdiffstats
path: root/src/include/utils/usercontext.h
blob: a8195c194de6bfac706b0850560e7e86ae424805 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/*-------------------------------------------------------------------------
 *
 * 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 */