SearchSysCache

Started by uwcssaabout 19 years ago2 messages
#1uwcssa
uwcssa@gmail.com

My program (indirectly) calls the following function twice,

tuple = SearchSysCache(STATRELATT, ObjectIdGetDatum(relid),

Int16GetDatum(colnum), 0, 0);

The first time it assigns NULL to tuple, while the second time it
assigns a valid pointer. Why is it like that? BTW, my program only
optimize query plan without executing it.

Thanks.

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: uwcssa (#1)
Re: SearchSysCache

uwcssa <uwcssa@gmail.com> writes:

My program (indirectly) calls the following function twice,
tuple = SearchSysCache(STATRELATT, ObjectIdGetDatum(relid),
Int16GetDatum(colnum), 0, 0);
The first time it assigns NULL to tuple, while the second time it
assigns a valid pointer. Why is it like that?

You did an ANALYZE in between, perhaps? That's the only operation
that puts new rows in pg_statistic.

regards, tom lane