OSDN Git Service

Update patch for DEFAULT on Views.
authorBruce Momjian <bruce@momjian.us>
Wed, 24 Apr 2002 02:42:27 +0000 (02:42 +0000)
committerBruce Momjian <bruce@momjian.us>
Wed, 24 Apr 2002 02:42:27 +0000 (02:42 +0000)
Apparently, you need to make two calls to appendPQExpBuffer() to
use fmtId() twice, because it uses a static buffer (thanks for
spotting this Tom).

Another revision of the patch is attached.

Neil Conway <neilconway@rogers.com>

src/bin/pg_dump/pg_dump.c

index 8eea64c..c4b6352 100644 (file)
@@ -22,7 +22,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.252 2002/04/24 02:38:58 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.253 2002/04/24 02:42:27 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -4376,10 +4376,12 @@ dumpTables(Archive *fout, TableInfo *tblinfo, int numTables,
                                 */
                                for (j = 0; j < tblinfo[i].numatts; j++)
                                {
-                                       if (tblinfo[i].adef_expr[j] != NULL && tblinfo[i].inhAttrDef[j] == 0)
-                                               appendPQExpBuffer(q, "ALTER TABLE %s ALTER COLUMN %s SET DEFAULT %s;\n",
-                                                                                 tblinfo[i].relname, tblinfo[i].attnames[j],
+                                       if (tblinfo[i].adef_expr[j] != NULL && tblinfo[i].inhAttrDef[j] == 0) {
+                                               appendPQExpBuffer(q, "ALTER TABLE %s ", fmtId(tblinfo[i].relname, force_quotes));
+                                               appendPQExpBuffer(q, "ALTER COLUMN %s SET DEFAULT %s;\n",
+                                                                                 fmtId(tblinfo[i].attnames[j], force_quotes),
                                                                                  tblinfo[i].adef_expr[j]);
+                                       }
                                }
 
                                commentDeps = malloc(sizeof(char *) * 2);