Peter Eisentraut <peter_e@gmx.net> writes:
> I must have been confused about the tuple descriptor APIs. ob->tupdesc
> is created using CreateTupleDescCopy(), which copies the refcount of the
> original tuple descriptor,
Um, surely not. That would be nonsensical, and anyway a look at the
code shows it isn't doing that.
> thus causing a failure when the (seemingly still referenced) tupdesc
> is freed. Is this behavior correct and useful?
I think there must be some mistake in your analysis.
regards, tom lane