/*-------------------------------------------------------------------------
*
* rls . h
* Header file for Row Level Security ( RLS ) utility commands to be used
* with the rowsecurity feature .
*
* Copyright ( c ) 2007 - 2025 , PostgreSQL Global Development Group
*
* src / include / utils / rls . h
*
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*/
#ifndef RLS_H
#define RLS_H
/* GUC variable */
extern PGDLLIMPORT bool row_security;
/*
* Used by callers of check_enable_rls .
*
* RLS could be completely disabled on the tables involved in the query ,
* which is the simple case , or it may depend on the current environment
* ( the role which is running the query or the value of the row_security
* GUC ) , or it might be simply enabled as usual .
*
* If RLS isn ' t on the table involved then RLS_NONE is returned to indicate
* that we don ' t need to worry about invalidating the query plan for RLS
* reasons . If RLS is on the table , but we are bypassing it for now , then
* we return RLS_NONE_ENV to indicate that , if the environment changes ,
* we need to invalidate and replan . Finally , if RLS should be turned on
* for the query , then we return RLS_ENABLED , which means we also need to
* invalidate if the environment changes .
*
* Note that RLS_ENABLED will also be returned if noError is true
* ( indicating that the caller simply want to know if RLS should be applied
* for this user but doesn ' t want an error thrown if it is ; this is used
* by other error cases where we ' re just trying to decide if data from the
* table should be passed back to the user or not ) .
*/
enum CheckEnableRlsResult
{
RLS_NONE,
RLS_NONE_ENV,
RLS_ENABLED,
};
extern int check_enable_rls(Oid relid, Oid checkAsUser, bool noError);
#endif /* RLS_H */
Messung V0.5 in Prozent C=94 H=94 G=93
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet am 2026-08-08)
¤
*© Formatika GbR, Deutschland