1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-14 18:42:34 +03:00

Fix CREATE TABLE ... LIKE ... INCLUDING INDEXES to not cause unwanted

tablespace permissions failures when copying an index that is in the
database's default tablespace.  A side-effect of the change is that explicitly
specifying the default tablespace no longer triggers a permissions check;
this is not how it was done in pre-8.3 releases but is argued to be more
consistent.  Per bug #3921 from Andrew Gilligan.  (Note: I argued in the
subsequent discussion that maybe LIKE shouldn't copy index tablespaces
at all, but since no one indicated agreement with that idea, I've refrained
from doing it.)
This commit is contained in:
Tom Lane
2008-02-07 17:09:51 +00:00
parent 26351d1c74
commit b7fe5f70d3
5 changed files with 13 additions and 10 deletions

View File

@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.241 2008/01/30 19:46:48 tgl Exp $
* $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.242 2008/02/07 17:09:51 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@ -340,7 +340,7 @@ DefineRelation(CreateStmt *stmt, char relkind)
}
/* Check permissions except when using database's default */
if (OidIsValid(tablespaceId))
if (OidIsValid(tablespaceId) && tablespaceId != MyDatabaseTableSpace)
{
AclResult aclresult;