"Tom Lane" <tgl@sss.pgh.pa.us> writes:
> 3. What about dependencies on user-defined types, functions, etc?
> How will you get things to behave sanely if one backend tries to drop a
> type that some other backend is using in a column of a temp table? Even
> if you put entries into pg_depend, which would kind of defeat the point
> of not having on-disk catalog entries for temp tables, I don't see how
> the other backend figures out what the referencing object is.
We could just lock the object it depends on. Only really makes sense for very
temporary tables though, not tables a session expects to use for a long series
of transactions.
Another direction to go to address the same problem would be to implement the
standard temporary table concept of a permanent table definition for which
each session gets a different actual set of data which is reset frequently.
Then the meta-data isn't changing frequently.
-- Gregory Stark EnterpriseDB http://www.enterprisedb.com