On Fri, 18 Jun 2004, Tom Lane wrote:

> Gavin Sherry <[EMAIL PROTECTED]> writes:
> > Is it really that bad? NamespaceCreate() could just touch a file at
> > pg_tablespaces/<tablespaceoid>/<MyDatabaseId>/<namespace oid> and
> > RemoveSchema() could remove it.
>
> No, because that wouldn't be rollback-safe.  You'd have to make the
> placeholder file act enough like a real relation that the smgr
> delete-at-commit-or-abort mechanisms could handle it.  So then you
> have to buy into not having its name actually collide with any real
> relations, which is where I started feeling like I didn't want to
> pursue that solution.
>
> This is certainly doable in theory, it just seems like much more
> complexity than the problem is worth ...

Oh yeah... I forgot about OID wrap around issues and integration into WAL,
etc, wouldn't be great fun.

If we just wanted to make the error message more user friendly, perhaps we
could *gulp* store the tablespace name in PG_VERSION. Then again, all of
this can probably be handled better in the manual.

Gavin

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faqs/FAQ.html

Reply via email to