Jon Nelson <jnelson+pgsql@jamponi.net> writes:
> Regarding caching, I tried caching it across calls by making the
> TupleDesc static and only initializing it once.
> When I tried that, I got:
> ERROR: number of columns (6769856) exceeds limit (1664)
> I tried to find some documentation or examples that cache the
> information, but couldn't find any.
You might find reading record_in to be helpful. What it caches is not
exactly what you need to, I think, but it shows the general principles.
There are lots of other functions that use fn_extra to cache info, too.
regards, tom lane