Commit bdbe9c9f authored by Tom Lane's avatar Tom Lane

pg_get_indexdef() didn't do quite the right thing with identifying

an index's tablespace.
parent ca14e3bc
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* back to source text * back to source text
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/adt/ruleutils.c,v 1.182 2004/10/07 20:36:52 tgl Exp $ * $PostgreSQL: pgsql/src/backend/utils/adt/ruleutils.c,v 1.183 2004/10/17 21:17:27 tgl Exp $
* *
* This software is copyrighted by Jan Wieck - Hamburg. * This software is copyrighted by Jan Wieck - Hamburg.
* *
...@@ -58,6 +58,7 @@ ...@@ -58,6 +58,7 @@
#include "commands/tablespace.h" #include "commands/tablespace.h"
#include "executor/spi.h" #include "executor/spi.h"
#include "lib/stringinfo.h" #include "lib/stringinfo.h"
#include "miscadmin.h"
#include "nodes/makefuncs.h" #include "nodes/makefuncs.h"
#include "optimizer/clauses.h" #include "optimizer/clauses.h"
#include "optimizer/tlist.h" #include "optimizer/tlist.h"
...@@ -777,10 +778,14 @@ pg_get_indexdef_worker(Oid indexrelid, int colno, int prettyFlags) ...@@ -777,10 +778,14 @@ pg_get_indexdef_worker(Oid indexrelid, int colno, int prettyFlags)
* If the index is in a different tablespace from its parent, tell * If the index is in a different tablespace from its parent, tell
* about that * about that
*/ */
if (OidIsValid(idxrelrec->reltablespace) && if (idxrelrec->reltablespace != get_rel_tablespace(indrelid))
idxrelrec->reltablespace != get_rel_tablespace(indrelid))
{ {
char *spcname = get_tablespace_name(idxrelrec->reltablespace); char *spcname;
if (OidIsValid(idxrelrec->reltablespace))
spcname = get_tablespace_name(idxrelrec->reltablespace);
else
spcname = get_tablespace_name(MyDatabaseTableSpace);
if (spcname) /* just paranoia... */ if (spcname) /* just paranoia... */
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment