24 #include "utils/fmgrprotos.h"
58 bool relforcerowsecurity;
71 relrowsecurity = classform->relrowsecurity;
72 relforcerowsecurity = classform->relforcerowsecurity;
126 (
errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
127 errmsg(
"query would be affected by row-level security policy for table \"%s\"",
129 amowner ?
errhint(
"To disable the policy for the table's owner, use ALTER TABLE NO FORCE ROW LEVEL SECURITY.") : 0));
bool has_bypassrls_privilege(Oid roleid)
bool object_ownercheck(Oid classid, Oid objectid, Oid roleid)
#define OidIsValid(objectId)
int errhint(const char *fmt,...)
int errcode(int sqlerrcode)
int errmsg(const char *fmt,...)
#define ereport(elevel,...)
#define PG_GETARG_TEXT_PP(n)
#define PG_RETURN_BOOL(x)
#define HeapTupleIsValid(tuple)
char * get_rel_name(Oid relid)
bool InNoForceRLSOperation(void)
RangeVar * makeRangeVarFromNameList(const List *names)
#define RangeVarGetRelid(relation, lockmode, missing_ok)
FormData_pg_class * Form_pg_class
static Datum ObjectIdGetDatum(Oid X)
Datum row_security_active(PG_FUNCTION_ARGS)
int check_enable_rls(Oid relid, Oid checkAsUser, bool noError)
Datum row_security_active_name(PG_FUNCTION_ARGS)
void ReleaseSysCache(HeapTuple tuple)
HeapTuple SearchSysCache1(int cacheId, Datum key1)
#define FirstNormalObjectId
List * textToQualifiedNameList(text *textval)