Server IP : 85.214.239.14 / Your IP : 18.219.239.111 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/2/task/2/root/proc/3/root/proc/3/root/usr/include/postgresql/9.6/server/rewrite/ |
Upload File : |
/* ------------------------------------------------------------------------- * * rowsecurity.h * * prototypes for rewrite/rowsecurity.c and the structures for managing * the row security policies for relations in relcache. * * Portions Copyright (c) 1996-2016, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * ------------------------------------------------------------------------- */ #ifndef ROWSECURITY_H #define ROWSECURITY_H #include "nodes/parsenodes.h" #include "utils/array.h" #include "utils/relcache.h" typedef struct RowSecurityPolicy { char *policy_name; /* Name of the policy */ char polcmd; /* Type of command policy is for */ ArrayType *roles; /* Array of roles policy is for */ Expr *qual; /* Expression to filter rows */ Expr *with_check_qual; /* Expression to limit rows allowed */ bool hassublinks; /* If either expression has sublinks */ } RowSecurityPolicy; typedef struct RowSecurityDesc { MemoryContext rscxt; /* row security memory context */ List *policies; /* list of row security policies */ } RowSecurityDesc; typedef List *(*row_security_policy_hook_type) (CmdType cmdtype, Relation relation); extern PGDLLIMPORT row_security_policy_hook_type row_security_policy_hook_permissive; extern PGDLLIMPORT row_security_policy_hook_type row_security_policy_hook_restrictive; extern void get_row_security_policies(Query *root, RangeTblEntry *rte, int rt_index, List **securityQuals, List **withCheckOptions, bool *hasRowSecurity, bool *hasSubLinks); #endif /* ROWSECURITY_H */