Definition at line 131 of file attoptcache.c.
132{
137
138
141 memset(&
key, 0,
sizeof(
key));
142 key.attrelid = attrelid;
144 attopt =
148 NULL);
149
150
151 if (!attopt)
152 {
154
158
159
160
161
162
163
166 else
167 {
169 bool isNull;
170
172 tp,
173 Anum_pg_attribute_attoptions,
174 &isNull);
175 if (isNull)
177 else
178 {
180
184 }
186 }
187
188
189
190
191
195 NULL);
197 }
198
199
200 if (attopt->
opts == NULL)
201 return NULL;
204 return result;
205}
static HTAB * AttoptCacheHash
static void InitializeAttoptCache(void)
void * hash_search(HTAB *hashp, const void *keyPtr, HASHACTION action, bool *foundPtr)
#define HeapTupleIsValid(tuple)
void * MemoryContextAlloc(MemoryContext context, Size size)
MemoryContext CacheMemoryContext
static AmcheckOptions opts
static Datum Int16GetDatum(int16 X)
static Datum ObjectIdGetDatum(Oid X)
bytea * attribute_reloptions(Datum reloptions, bool validate)
void ReleaseSysCache(HeapTuple tuple)
Datum SysCacheGetAttr(int cacheId, HeapTuple tup, AttrNumber attributeNumber, bool *isNull)
HeapTuple SearchSysCache2(int cacheId, Datum key1, Datum key2)
References attnum, AttoptCacheHash, attribute_reloptions(), CacheMemoryContext, HASH_ENTER, HASH_FIND, hash_search(), HeapTupleIsValid, InitializeAttoptCache(), Int16GetDatum(), sort-test::key, MemoryContextAlloc(), ObjectIdGetDatum(), AttoptCacheEntry::opts, opts, palloc(), ReleaseSysCache(), SearchSysCache2(), SysCacheGetAttr(), and VARSIZE.
Referenced by compute_expr_stats(), and do_analyze_rel().