mirror of
https://github.com/postgres/postgres.git
synced 2025-05-29 16:21:20 +03:00
Fix pg_restore -n option to do what the man page says it does. The
original coding only worked if one of the selTypes restriction options was also given. Per report from Nick Johnson.
This commit is contained in:
parent
a5884d5dc8
commit
e4b8253c40
@ -15,7 +15,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_backup_archiver.c,v 1.117.2.2 2006/02/05 20:58:57 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_backup_archiver.c,v 1.117.2.3 2006/04/12 22:19:01 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -1883,18 +1883,20 @@ _tocEntryRequired(TocEntry *te, RestoreOptions *ropt, bool include_acls)
|
||||
if (!ropt->create && strcmp(te->desc, "DATABASE") == 0)
|
||||
return 0;
|
||||
|
||||
/* Check if tablename only is wanted */
|
||||
/* Check options for selective dump/restore */
|
||||
if (ropt->schemaNames)
|
||||
{
|
||||
/* If no namespace is specified, it means all. */
|
||||
if (!te->namespace)
|
||||
return 0;
|
||||
if (strcmp(ropt->schemaNames, te->namespace) != 0)
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (ropt->selTypes)
|
||||
{
|
||||
if (ropt->schemaNames)
|
||||
{
|
||||
/* If no namespace is specified, it means all. */
|
||||
if (!te->namespace)
|
||||
return 0;
|
||||
if (strcmp(ropt->schemaNames, te->namespace) != 0)
|
||||
return 0;
|
||||
}
|
||||
if ((strcmp(te->desc, "TABLE") == 0) || (strcmp(te->desc, "TABLE DATA") == 0))
|
||||
if (strcmp(te->desc, "TABLE") == 0 ||
|
||||
strcmp(te->desc, "TABLE DATA") == 0)
|
||||
{
|
||||
if (!ropt->selTable)
|
||||
return 0;
|
||||
|
@ -34,7 +34,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_restore.c,v 1.73 2005/10/15 02:49:39 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_restore.c,v 1.73.2.1 2006/04/12 22:19:01 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -224,7 +224,6 @@ main(int argc, char **argv)
|
||||
break;
|
||||
|
||||
case 'n': /* Dump data for this schema only */
|
||||
opts->selTypes = 1;
|
||||
opts->schemaNames = strdup(optarg);
|
||||
break;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user