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