12
12
* by PostgreSQL
13
13
*
14
14
* 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 $
16
16
*
17
17
*-------------------------------------------------------------------------
18
18
*/
@@ -625,6 +625,7 @@ main(int argc, char **argv)
625
625
/* Check schema selection flags */
626
626
resetPQExpBuffer (query );
627
627
switch_include_exclude = true;
628
+
628
629
for (this_obj_name = schemaList ; this_obj_name ; this_obj_name = this_obj_name -> next )
629
630
{
630
631
if (switch_include_exclude )
@@ -686,6 +687,7 @@ main(int argc, char **argv)
686
687
/* Check table selection flags */
687
688
resetPQExpBuffer (query );
688
689
switch_include_exclude = true;
690
+
689
691
for (this_obj_name = tableList ; this_obj_name ; this_obj_name = this_obj_name -> next )
690
692
{
691
693
if (switch_include_exclude )
@@ -937,21 +939,23 @@ selectDumpableNamespace(NamespaceInfo *nsinfo)
937
939
* namespaces. If specific namespaces are being dumped, dump just
938
940
* those namespaces. Otherwise, dump all non-system namespaces.
939
941
*/
942
+ nsinfo -> dobj .dump = false;
943
+
940
944
if (matchingTables != NULL )
941
- nsinfo -> dobj . dump = false;
945
+ /* false */ ;
942
946
else if (matchingSchemas != NULL )
943
947
{
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 )
948
952
nsinfo -> dobj .dump = true;
949
- free (searchname );
953
+
954
+ free (search_oid );
950
955
}
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 )
955
959
nsinfo -> dobj .dump = true;
956
960
}
957
961
@@ -968,16 +972,21 @@ selectDumpableTable(TableInfo *tbinfo)
968
972
* dump.
969
973
*/
970
974
tbinfo -> 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
+ }
973
981
else
974
982
{
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 )
979
987
tbinfo -> dobj .dump = true;
980
- free (searchname );
988
+
989
+ free (search_oid );
981
990
}
982
991
}
983
992
0 commit comments