20 #include "utils/fmgroids.h"
38 Anum_pg_db_role_setting_setdatabase,
42 Anum_pg_db_role_setting_setrole,
69 datum =
heap_getattr(tuple, Anum_pg_db_role_setting_setconfig,
77 Datum repl_val[Natts_pg_db_role_setting];
78 bool repl_null[Natts_pg_db_role_setting];
79 bool repl_repl[Natts_pg_db_role_setting];
82 memset(repl_repl,
false,
sizeof(repl_repl));
84 repl_val[Anum_pg_db_role_setting_setconfig - 1] =
86 repl_repl[Anum_pg_db_role_setting_setconfig - 1] =
true;
87 repl_null[Anum_pg_db_role_setting_setconfig - 1] =
false;
90 repl_val, repl_null, repl_repl);
99 Datum repl_val[Natts_pg_db_role_setting];
100 bool repl_null[Natts_pg_db_role_setting];
101 bool repl_repl[Natts_pg_db_role_setting];
107 memset(repl_repl,
false,
sizeof(repl_repl));
108 repl_repl[Anum_pg_db_role_setting_setconfig - 1] =
true;
109 repl_null[Anum_pg_db_role_setting_setconfig - 1] =
false;
112 datum =
heap_getattr(tuple, Anum_pg_db_role_setting_setconfig,
124 repl_val[Anum_pg_db_role_setting_setconfig - 1] =
128 repl_val, repl_null, repl_repl);
139 bool nulls[Natts_pg_db_role_setting];
142 memset(nulls,
false,
sizeof(nulls));
146 values[Anum_pg_db_role_setting_setdatabase - 1] =
156 databaseid, 0, roleid,
false);
183 Anum_pg_db_role_setting_setdatabase,
192 Anum_pg_db_role_setting_setrole,
228 Anum_pg_db_role_setting_setdatabase,
233 Anum_pg_db_role_setting_setrole,
245 datum =
heap_getattr(tup, Anum_pg_db_role_setting_setconfig,
#define DatumGetArrayTypeP(X)
static Datum values[MAXATTR]
#define OidIsValid(objectId)
void systable_endscan(SysScanDesc sysscan)
HeapTuple systable_getnext(SysScanDesc sysscan)
SysScanDesc systable_beginscan(Relation heapRelation, Oid indexId, bool indexOK, Snapshot snapshot, int nkeys, ScanKey key)
ArrayType * GUCArrayReset(ArrayType *array)
void ProcessGUCArray(ArrayType *array, GucContext context, GucSource source, GucAction action)
ArrayType * GUCArrayAdd(ArrayType *array, const char *name, const char *value)
ArrayType * GUCArrayDelete(ArrayType *array, const char *name)
char * ExtractSetVariableArgs(VariableSetStmt *stmt)
HeapTuple heap_getnext(TableScanDesc sscan, ScanDirection direction)
HeapTuple heap_modify_tuple(HeapTuple tuple, TupleDesc tupleDesc, const Datum *replValues, const bool *replIsnull, const bool *doReplace)
HeapTuple heap_form_tuple(TupleDesc tupleDescriptor, const Datum *values, const bool *isnull)
#define HeapTupleIsValid(tuple)
static Datum heap_getattr(HeapTuple tup, int attnum, TupleDesc tupleDesc, bool *isnull)
void CatalogTupleUpdate(Relation heapRel, ItemPointer otid, HeapTuple tup)
void CatalogTupleInsert(Relation heapRel, HeapTuple tup)
void CatalogTupleDelete(Relation heapRel, ItemPointer tid)
#define InvokeObjectPostAlterHookArg(classId, objectId, subId, auxiliaryId, is_internal)
void DropSetting(Oid databaseid, Oid roleid)
void AlterSetting(Oid databaseid, Oid roleid, VariableSetStmt *setstmt)
void ApplySetting(Snapshot snapshot, Oid databaseid, Oid roleid, Relation relsetting, GucSource source)
static rewind_source * source
static Datum PointerGetDatum(const void *X)
static Datum ObjectIdGetDatum(Oid X)
#define RelationGetDescr(relation)
void ScanKeyInit(ScanKey entry, AttrNumber attributeNumber, StrategyNumber strategy, RegProcedure procedure, Datum argument)
#define BTEqualStrategyNumber
void table_close(Relation relation, LOCKMODE lockmode)
Relation table_open(Oid relationId, LOCKMODE lockmode)
TableScanDesc table_beginscan_catalog(Relation relation, int nkeys, struct ScanKeyData *key)
static void table_endscan(TableScanDesc scan)