Tom Lane wrote:
> Alvaro Herrera <alvherre@commandprompt.com> writes:
> > CREATE TABLE foo (a int);
>
> > for some unknown reason, an inval message involving relation foo seems
> > to be emitted.
>
> > heap_unfreeze(pg_class)
> > CommandCounterIncrement()
> > heap_unfreeze(pg_attribute)
> > CommandCounterIncrement()
> > ... insert the pg_attribute rows ...
>
> Where did all these CommandCounterIncrement calls come from?
> I don't think it's going to work if you are throwing in CCIs
> at random places; this problem with the relcache will be the
> least of your worries. Why do you think you need that anyway?
I added them in heap_unfreeze precisely because I want the relation to
be frozen exactly once, and this doesn't seem to happen if I don't CCI
there -- I was seeing multiple occurences of the NOTICE I put in
heap_unfreeze for the same relation for a single CREATE TABLE (multiple
unfreezes of pg_class and pg_attribute, for example).
Maybe the problem is elsewhere. I'll investigate more.
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.