1212 *by PostgreSQL
1313 *
1414 * IDENTIFICATION
15- * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.444 2006/08/01 21:05:00 momjian Exp $
15+ * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.445 2006/08/02 21:43:43 momjian Exp $
1616 *
1717 *-------------------------------------------------------------------------
1818 */
@@ -625,6 +625,7 @@ main(int argc, char **argv)
625625/* Check schema selection flags */
626626resetPQExpBuffer (query );
627627switch_include_exclude = true;
628+
628629for (this_obj_name = schemaList ;this_obj_name ;this_obj_name = this_obj_name -> next )
629630{
630631if (switch_include_exclude )
@@ -686,6 +687,7 @@ main(int argc, char **argv)
686687/* Check table selection flags */
687688resetPQExpBuffer (query );
688689switch_include_exclude = true;
690+
689691for (this_obj_name = tableList ;this_obj_name ;this_obj_name = this_obj_name -> next )
690692{
691693if (switch_include_exclude )
@@ -937,21 +939,23 @@ selectDumpableNamespace(NamespaceInfo *nsinfo)
937939 * namespaces.If specific namespaces are being dumped, dump just
938940 * those namespaces. Otherwise, dump all non-system namespaces.
939941 */
942+ nsinfo -> dobj .dump = false;
943+
940944if (matchingTables != NULL )
941- nsinfo -> dobj . dump = false;
945+ /* false */ ;
942946else if (matchingSchemas != NULL )
943947{
944- char * searchname = NULL ;
945- searchname = malloc ( 20 );
946- sprintf (searchname ," %d " ,nsinfo -> dobj .catId .oid );
947- if (strstr (matchingSchemas ,searchname )!= NULL )
948+ char * search_oid = malloc ( 20 ) ;
949+
950+ sprintf (search_oid ," %d " ,nsinfo -> dobj .catId .oid );
951+ if (strstr (matchingSchemas ,search_oid )!= NULL )
948952nsinfo -> dobj .dump = true;
949- free (searchname );
953+
954+ free (search_oid );
950955}
951- else if (strncmp (nsinfo -> dobj .name ,"pg_" ,3 )== 0 ||
952- strcmp (nsinfo -> dobj .name ,"information_schema" )== 0 )
953- nsinfo -> dobj .dump = false;
954- else
956+ /* The server prevents users from creating pg_ schemas */
957+ else if (strncmp (nsinfo -> dobj .name ,"pg_" ,3 )!= 0 &&
958+ strcmp (nsinfo -> dobj .name ,"information_schema" )!= 0 )
955959nsinfo -> dobj .dump = true;
956960}
957961
@@ -968,16 +972,21 @@ selectDumpableTable(TableInfo *tbinfo)
968972 * dump.
969973 */
970974tbinfo -> dobj .dump = false;
971- if (tbinfo -> dobj .namespace -> dobj .dump || matchingTables == NULL )
972- tbinfo -> dobj .dump = true;
975+
976+ if (matchingTables == NULL )
977+ {
978+ if (tbinfo -> dobj .namespace -> dobj .dump )
979+ tbinfo -> dobj .dump = true;
980+ }
973981else
974982{
975- char * searchname = NULL ;
976- searchname = malloc ( 20 );
977- sprintf (searchname ," %d " ,tbinfo -> dobj .catId .oid );
978- if (strstr (matchingTables ,searchname )!= NULL )
983+ char * search_oid = malloc ( 20 ) ;
984+
985+ sprintf (search_oid ," %d " ,tbinfo -> dobj .catId .oid );
986+ if (strstr (matchingTables ,search_oid )!= NULL )
979987tbinfo -> dobj .dump = true;
980- free (searchname );
988+
989+ free (search_oid );
981990}
982991}
983992