@ -12,7 +12,7 @@
* by PostgreSQL
*
* IDENTIFICATION
* $ PostgreSQL : pgsql / src / bin / pg_dump / pg_dump . c , v 1.518 2009 / 02 / 02 19 : 31 : 39 alvherre Exp $
* $ PostgreSQL : pgsql / src / bin / pg_dump / pg_dump . c , v 1.519 2009 / 02 / 02 20 : 07 : 37 adunstan Exp $
*
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*/
@ -695,6 +695,7 @@ main(int argc, char **argv)
{
/* Add placeholders to allow correct sorting of blobs */
DumpableObject * blobobj ;
DumpableObject * blobcobj ;
blobobj = ( DumpableObject * ) malloc ( sizeof ( DumpableObject ) ) ;
blobobj - > objType = DO_BLOBS ;
@ -702,11 +703,12 @@ main(int argc, char **argv)
AssignDumpId ( blobobj ) ;
blobobj - > name = strdup ( " BLOBS " ) ;
blobobj = ( DumpableObject * ) malloc ( sizeof ( DumpableObject ) ) ;
blobobj - > objType = DO_BLOB_COMMENTS ;
blobobj - > catId = nilCatalogId ;
AssignDumpId ( blobobj ) ;
blobobj - > name = strdup ( " BLOB COMMENTS " ) ;
blobcobj = ( DumpableObject * ) malloc ( sizeof ( DumpableObject ) ) ;
blobcobj - > objType = DO_BLOB_COMMENTS ;
blobcobj - > catId = nilCatalogId ;
AssignDumpId ( blobcobj ) ;
blobcobj - > name = strdup ( " BLOB COMMENTS " ) ;
addObjectDependency ( blobcobj , blobobj - > dumpId ) ;
}
/*
@ -1385,11 +1387,10 @@ dumpTableData(Archive *fout, TableDataInfo *tdinfo)
}
ArchiveEntry ( fout , tdinfo - > dobj . catId , tdinfo - > dobj . dumpId ,
tbinfo - > dobj . name ,
tbinfo - > dobj . namespace - > dobj . name ,
NULL ,
tbinfo - > rolname , false ,
" TABLE DATA " , " " , " " , copyStmt ,
tbinfo - > dobj . name , tbinfo - > dobj . namespace - > dobj . name ,
NULL , tbinfo - > rolname ,
false , " TABLE DATA " , SECTION_DATA ,
" " , " " , copyStmt ,
tdinfo - > dobj . dependencies , tdinfo - > dobj . nDeps ,
dumpFn , tdinfo ) ;
@ -1738,6 +1739,7 @@ dumpDatabase(Archive *AH)
dba , /* Owner */
false , /* with oids */
" DATABASE " , /* Desc */
SECTION_PRE_DATA , /* Section */
creaQry - > data , /* Create */
delQry - > data , /* Del */
NULL , /* Copy */
@ -1764,7 +1766,8 @@ dumpDatabase(Archive *AH)
appendPQExpBuffer ( dbQry , " ; \n " ) ;
ArchiveEntry ( AH , dbCatId , createDumpId ( ) , datname , NULL , NULL ,
dba , false , " COMMENT " , dbQry - > data , " " , NULL ,
dba , false , " COMMENT " , SECTION_NONE ,
dbQry - > data , " " , NULL ,
& dbDumpId , 1 , NULL , NULL ) ;
}
}
@ -1802,7 +1805,8 @@ dumpEncoding(Archive *AH)
ArchiveEntry ( AH , nilCatalogId , createDumpId ( ) ,
" ENCODING " , NULL , NULL , " " ,
false , " ENCODING " , qry - > data , " " , NULL ,
false , " ENCODING " , SECTION_PRE_DATA ,
qry - > data , " " , NULL ,
NULL , 0 ,
NULL , NULL ) ;
@ -1828,7 +1832,8 @@ dumpStdStrings(Archive *AH)
ArchiveEntry ( AH , nilCatalogId , createDumpId ( ) ,
" STDSTRINGS " , NULL , NULL , " " ,
false , " STDSTRINGS " , qry - > data , " " , NULL ,
false , " STDSTRINGS " , SECTION_PRE_DATA ,
qry - > data , " " , NULL ,
NULL , 0 ,
NULL , NULL ) ;
@ -5514,9 +5519,15 @@ dumpComment(Archive *fout, const char *target,
appendStringLiteralAH ( query , comments - > descr , fout ) ;
appendPQExpBuffer ( query , " ; \n " ) ;
/*
* We mark comments as SECTION_NONE because they really belong
* in the same section as their parent , whether that is
* pre - data or post - data .
*/
ArchiveEntry ( fout , nilCatalogId , createDumpId ( ) ,
target , namespace , NULL , owner , false ,
" COMMENT " , query - > data , " " , NULL ,
target , namespace , NULL , owner ,
false , " COMMENT " , SECTION_NONE ,
query - > data , " " , NULL ,
& ( dumpId ) , 1 ,
NULL , NULL ) ;
@ -5575,9 +5586,9 @@ dumpTableComment(Archive *fout, TableInfo *tbinfo,
ArchiveEntry ( fout , nilCatalogId , createDumpId ( ) ,
target - > data ,
tbinfo - > dobj . namespace - > dobj . name ,
NULL ,
tbinfo - > rolname ,
false , " COMMENT " , query - > data , " " , NULL ,
NULL , tbinfo - > rolname ,
false , " COMMENT " , SECTION_NONE ,
query - > data , " " , NULL ,
& ( tbinfo - > dobj . dumpId ) , 1 ,
NULL , NULL ) ;
}
@ -5597,9 +5608,9 @@ dumpTableComment(Archive *fout, TableInfo *tbinfo,
ArchiveEntry ( fout , nilCatalogId , createDumpId ( ) ,
target - > data ,
tbinfo - > dobj . namespace - > dobj . name ,
NULL ,
tbinfo - > rolname ,
false , " COMMENT " , query - > data , " " , NULL ,
NULL , tbinfo - > rolname ,
false , " COMMENT " , SECTION_NONE ,
query - > data , " " , NULL ,
& ( tbinfo - > dobj . dumpId ) , 1 ,
NULL , NULL ) ;
}
@ -5872,15 +5883,17 @@ dumpDumpableObject(Archive *fout, DumpableObject *dobj)
case DO_BLOBS :
ArchiveEntry ( fout , dobj - > catId , dobj - > dumpId ,
dobj - > name , NULL , NULL , " " ,
false , " BLOBS " , " " , " " , NULL ,
NULL , 0 ,
false , " BLOBS " , SECTION_DATA ,
" " , " " , NULL ,
dobj - > dependencies , dobj - > nDeps ,
dumpBlobs , NULL ) ;
break ;
case DO_BLOB_COMMENTS :
ArchiveEntry ( fout , dobj - > catId , dobj - > dumpId ,
dobj - > name , NULL , NULL , " " ,
false , " BLOB COMMENTS " , " " , " " , NULL ,
NULL , 0 ,
false , " BLOB COMMENTS " , SECTION_DATA ,
" " , " " , NULL ,
dobj - > dependencies , dobj - > nDeps ,
dumpBlobComments , NULL ) ;
break ;
}
@ -5918,7 +5931,8 @@ dumpNamespace(Archive *fout, NamespaceInfo *nspinfo)
nspinfo - > dobj . name ,
NULL , NULL ,
nspinfo - > rolname ,
false , " SCHEMA " , q - > data , delq - > data , NULL ,
false , " SCHEMA " , SECTION_PRE_DATA ,
q - > data , delq - > data , NULL ,
nspinfo - > dobj . dependencies , nspinfo - > dobj . nDeps ,
NULL , NULL ) ;
@ -6021,7 +6035,8 @@ dumpEnumType(Archive *fout, TypeInfo *tinfo)
tinfo - > dobj . namespace - > dobj . name ,
NULL ,
tinfo - > rolname , false ,
" TYPE " , q - > data , delq - > data , NULL ,
" TYPE " , SECTION_PRE_DATA ,
q - > data , delq - > data , NULL ,
tinfo - > dobj . dependencies , tinfo - > dobj . nDeps ,
NULL , NULL ) ;
@ -6389,7 +6404,8 @@ dumpBaseType(Archive *fout, TypeInfo *tinfo)
tinfo - > dobj . namespace - > dobj . name ,
NULL ,
tinfo - > rolname , false ,
" TYPE " , q - > data , delq - > data , NULL ,
" TYPE " , SECTION_PRE_DATA ,
q - > data , delq - > data , NULL ,
tinfo - > dobj . dependencies , tinfo - > dobj . nDeps ,
NULL , NULL ) ;
@ -6507,7 +6523,8 @@ dumpDomain(Archive *fout, TypeInfo *tinfo)
tinfo - > dobj . namespace - > dobj . name ,
NULL ,
tinfo - > rolname , false ,
" DOMAIN " , q - > data , delq - > data , NULL ,
" DOMAIN " , SECTION_PRE_DATA ,
q - > data , delq - > data , NULL ,
tinfo - > dobj . dependencies , tinfo - > dobj . nDeps ,
NULL , NULL ) ;
@ -6600,7 +6617,8 @@ dumpCompositeType(Archive *fout, TypeInfo *tinfo)
tinfo - > dobj . namespace - > dobj . name ,
NULL ,
tinfo - > rolname , false ,
" TYPE " , q - > data , delq - > data , NULL ,
" TYPE " , SECTION_PRE_DATA ,
q - > data , delq - > data , NULL ,
tinfo - > dobj . dependencies , tinfo - > dobj . nDeps ,
NULL , NULL ) ;
@ -6653,7 +6671,8 @@ dumpShellType(Archive *fout, ShellTypeInfo *stinfo)
stinfo - > dobj . namespace - > dobj . name ,
NULL ,
stinfo - > baseType - > rolname , false ,
" SHELL TYPE " , q - > data , " " , NULL ,
" SHELL TYPE " , SECTION_PRE_DATA ,
q - > data , " " , NULL ,
stinfo - > dobj . dependencies , stinfo - > dobj . nDeps ,
NULL , NULL ) ;
@ -6773,7 +6792,7 @@ dumpProcLang(Archive *fout, ProcLangInfo *plang)
ArchiveEntry ( fout , plang - > dobj . catId , plang - > dobj . dumpId ,
plang - > dobj . name ,
lanschema , NULL , plang - > lanowner ,
false , " PROCEDURAL LANGUAGE " ,
false , " PROCEDURAL LANGUAGE " , SECTION_PRE_DATA ,
defqry - > data , delqry - > data , NULL ,
plang - > dobj . dependencies , plang - > dobj . nDeps ,
NULL , NULL ) ;
@ -7331,7 +7350,8 @@ dumpFunc(Archive *fout, FuncInfo *finfo)
finfo - > dobj . namespace - > dobj . name ,
NULL ,
finfo - > rolname , false ,
" FUNCTION " , q - > data , delqry - > data , NULL ,
" FUNCTION " , SECTION_PRE_DATA ,
q - > data , delqry - > data , NULL ,
finfo - > dobj . dependencies , finfo - > dobj . nDeps ,
NULL , NULL ) ;
@ -7482,7 +7502,8 @@ dumpCast(Archive *fout, CastInfo *cast)
ArchiveEntry ( fout , cast - > dobj . catId , cast - > dobj . dumpId ,
castsig - > data ,
" pg_catalog " , NULL , " " ,
false , " CAST " , defqry - > data , delqry - > data , NULL ,
false , " CAST " , SECTION_PRE_DATA ,
defqry - > data , delqry - > data , NULL ,
cast - > dobj . dependencies , cast - > dobj . nDeps ,
NULL , NULL ) ;
@ -7723,7 +7744,8 @@ dumpOpr(Archive *fout, OprInfo *oprinfo)
oprinfo - > dobj . namespace - > dobj . name ,
NULL ,
oprinfo - > rolname ,
false , " OPERATOR " , q - > data , delq - > data , NULL ,
false , " OPERATOR " , SECTION_PRE_DATA ,
q - > data , delq - > data , NULL ,
oprinfo - > dobj . dependencies , oprinfo - > dobj . nDeps ,
NULL , NULL ) ;
@ -8175,7 +8197,8 @@ dumpOpclass(Archive *fout, OpclassInfo *opcinfo)
opcinfo - > dobj . namespace - > dobj . name ,
NULL ,
opcinfo - > rolname ,
false , " OPERATOR CLASS " , q - > data , delq - > data , NULL ,
false , " OPERATOR CLASS " , SECTION_PRE_DATA ,
q - > data , delq - > data , NULL ,
opcinfo - > dobj . dependencies , opcinfo - > dobj . nDeps ,
NULL , NULL ) ;
@ -8451,7 +8474,8 @@ dumpOpfamily(Archive *fout, OpfamilyInfo *opfinfo)
opfinfo - > dobj . namespace - > dobj . name ,
NULL ,
opfinfo - > rolname ,
false , " OPERATOR FAMILY " , q - > data , delq - > data , NULL ,
false , " OPERATOR FAMILY " , SECTION_PRE_DATA ,
q - > data , delq - > data , NULL ,
opfinfo - > dobj . dependencies , opfinfo - > dobj . nDeps ,
NULL , NULL ) ;
@ -8564,7 +8588,8 @@ dumpConversion(Archive *fout, ConvInfo *convinfo)
convinfo - > dobj . namespace - > dobj . name ,
NULL ,
convinfo - > rolname ,
false , " CONVERSION " , q - > data , delq - > data , NULL ,
false , " CONVERSION " , SECTION_PRE_DATA ,
q - > data , delq - > data , NULL ,
convinfo - > dobj . dependencies , convinfo - > dobj . nDeps ,
NULL , NULL ) ;
@ -8805,7 +8830,8 @@ dumpAgg(Archive *fout, AggInfo *agginfo)
agginfo - > aggfn . dobj . namespace - > dobj . name ,
NULL ,
agginfo - > aggfn . rolname ,
false , " AGGREGATE " , q - > data , delq - > data , NULL ,
false , " AGGREGATE " , SECTION_PRE_DATA ,
q - > data , delq - > data , NULL ,
agginfo - > aggfn . dobj . dependencies , agginfo - > aggfn . dobj . nDeps ,
NULL , NULL ) ;
@ -8892,7 +8918,8 @@ dumpTSParser(Archive *fout, TSParserInfo *prsinfo)
prsinfo - > dobj . namespace - > dobj . name ,
NULL ,
" " ,
false , " TEXT SEARCH PARSER " , q - > data , delq - > data , NULL ,
false , " TEXT SEARCH PARSER " , SECTION_PRE_DATA ,
q - > data , delq - > data , NULL ,
prsinfo - > dobj . dependencies , prsinfo - > dobj . nDeps ,
NULL , NULL ) ;
@ -8981,7 +9008,8 @@ dumpTSDictionary(Archive *fout, TSDictInfo *dictinfo)
dictinfo - > dobj . namespace - > dobj . name ,
NULL ,
dictinfo - > rolname ,
false , " TEXT SEARCH DICTIONARY " , q - > data , delq - > data , NULL ,
false , " TEXT SEARCH DICTIONARY " , SECTION_PRE_DATA ,
q - > data , delq - > data , NULL ,
dictinfo - > dobj . dependencies , dictinfo - > dobj . nDeps ,
NULL , NULL ) ;
@ -9040,7 +9068,8 @@ dumpTSTemplate(Archive *fout, TSTemplateInfo *tmplinfo)
tmplinfo - > dobj . namespace - > dobj . name ,
NULL ,
" " ,
false , " TEXT SEARCH TEMPLATE " , q - > data , delq - > data , NULL ,
false , " TEXT SEARCH TEMPLATE " , SECTION_PRE_DATA ,
q - > data , delq - > data , NULL ,
tmplinfo - > dobj . dependencies , tmplinfo - > dobj . nDeps ,
NULL , NULL ) ;
@ -9170,7 +9199,8 @@ dumpTSConfig(Archive *fout, TSConfigInfo *cfginfo)
cfginfo - > dobj . namespace - > dobj . name ,
NULL ,
cfginfo - > rolname ,
false , " TEXT SEARCH CONFIGURATION " , q - > data , delq - > data , NULL ,
false , " TEXT SEARCH CONFIGURATION " , SECTION_PRE_DATA ,
q - > data , delq - > data , NULL ,
cfginfo - > dobj . dependencies , cfginfo - > dobj . nDeps ,
NULL , NULL ) ;
@ -9220,7 +9250,8 @@ dumpForeignDataWrapper(Archive *fout, FdwInfo *fdwinfo)
NULL ,
NULL ,
fdwinfo - > rolname ,
false , " FOREIGN DATA WRAPPER " , q - > data , delq - > data , NULL ,
false , " FOREIGN DATA WRAPPER " , SECTION_PRE_DATA ,
q - > data , delq - > data , NULL ,
fdwinfo - > dobj . dependencies , fdwinfo - > dobj . nDeps ,
NULL , NULL ) ;
@ -9298,7 +9329,8 @@ dumpForeignServer(Archive *fout, ForeignServerInfo *srvinfo)
NULL ,
NULL ,
srvinfo - > rolname ,
false , " SERVER " , q - > data , delq - > data , NULL ,
false , " SERVER " , SECTION_PRE_DATA ,
q - > data , delq - > data , NULL ,
srvinfo - > dobj . dependencies , srvinfo - > dobj . nDeps ,
NULL , NULL ) ;
@ -9393,8 +9425,8 @@ dumpUserMappings(Archive *fout, const char *target,
namespace ,
NULL ,
owner , false ,
" USER MAPPING " , q - > data ,
delq - > data , NULL ,
" USER MAPPING " , SECTION_PRE_DATA ,
q - > data , delq - > data , NULL ,
& dumpId , 1 ,
NULL , NULL ) ;
}
@ -9447,7 +9479,8 @@ dumpACL(Archive *fout, CatalogId objCatId, DumpId objDumpId,
tag , nspname ,
NULL ,
owner ? owner : " " ,
false , " ACL " , sql - > data , " " , NULL ,
false , " ACL " , SECTION_NONE ,
sql - > data , " " , NULL ,
& ( objDumpId ) , 1 ,
NULL , NULL ) ;
@ -9797,7 +9830,8 @@ dumpTableSchema(Archive *fout, TableInfo *tbinfo)
( tbinfo - > relkind = = RELKIND_VIEW ) ? NULL : tbinfo - > reltablespace ,
tbinfo - > rolname ,
( strcmp ( reltypename , " TABLE " ) = = 0 ) ? tbinfo - > hasoids : false ,
reltypename , q - > data , delq - > data , NULL ,
reltypename , SECTION_PRE_DATA ,
q - > data , delq - > data , NULL ,
tbinfo - > dobj . dependencies , tbinfo - > dobj . nDeps ,
NULL , NULL ) ;
@ -9863,7 +9897,8 @@ dumpAttrDef(Archive *fout, AttrDefInfo *adinfo)
tbinfo - > dobj . namespace - > dobj . name ,
NULL ,
tbinfo - > rolname ,
false , " DEFAULT " , q - > data , delq - > data , NULL ,
false , " DEFAULT " , SECTION_PRE_DATA ,
q - > data , delq - > data , NULL ,
adinfo - > dobj . dependencies , adinfo - > dobj . nDeps ,
NULL , NULL ) ;
@ -9956,7 +9991,8 @@ dumpIndex(Archive *fout, IndxInfo *indxinfo)
tbinfo - > dobj . namespace - > dobj . name ,
indxinfo - > tablespace ,
tbinfo - > rolname , false ,
" INDEX " , q - > data , delq - > data , NULL ,
" INDEX " , SECTION_POST_DATA ,
q - > data , delq - > data , NULL ,
indxinfo - > dobj . dependencies , indxinfo - > dobj . nDeps ,
NULL , NULL ) ;
}
@ -10059,7 +10095,8 @@ dumpConstraint(Archive *fout, ConstraintInfo *coninfo)
tbinfo - > dobj . namespace - > dobj . name ,
indxinfo - > tablespace ,
tbinfo - > rolname , false ,
" CONSTRAINT " , q - > data , delq - > data , NULL ,
" CONSTRAINT " , SECTION_POST_DATA ,
q - > data , delq - > data , NULL ,
coninfo - > dobj . dependencies , coninfo - > dobj . nDeps ,
NULL , NULL ) ;
}
@ -10091,7 +10128,8 @@ dumpConstraint(Archive *fout, ConstraintInfo *coninfo)
tbinfo - > dobj . namespace - > dobj . name ,
NULL ,
tbinfo - > rolname , false ,
" FK CONSTRAINT " , q - > data , delq - > data , NULL ,
" FK CONSTRAINT " , SECTION_POST_DATA ,
q - > data , delq - > data , NULL ,
coninfo - > dobj . dependencies , coninfo - > dobj . nDeps ,
NULL , NULL ) ;
}
@ -10125,7 +10163,8 @@ dumpConstraint(Archive *fout, ConstraintInfo *coninfo)
tbinfo - > dobj . namespace - > dobj . name ,
NULL ,
tbinfo - > rolname , false ,
" CHECK CONSTRAINT " , q - > data , delq - > data , NULL ,
" CHECK CONSTRAINT " , SECTION_POST_DATA ,
q - > data , delq - > data , NULL ,
coninfo - > dobj . dependencies , coninfo - > dobj . nDeps ,
NULL , NULL ) ;
}
@ -10160,7 +10199,8 @@ dumpConstraint(Archive *fout, ConstraintInfo *coninfo)
tinfo - > dobj . namespace - > dobj . name ,
NULL ,
tinfo - > rolname , false ,
" CHECK CONSTRAINT " , q - > data , delq - > data , NULL ,
" CHECK CONSTRAINT " , SECTION_POST_DATA ,
q - > data , delq - > data , NULL ,
coninfo - > dobj . dependencies , coninfo - > dobj . nDeps ,
NULL , NULL ) ;
}
@ -10433,7 +10473,8 @@ dumpSequence(Archive *fout, TableInfo *tbinfo)
tbinfo - > dobj . namespace - > dobj . name ,
NULL ,
tbinfo - > rolname ,
false , " SEQUENCE " , query - > data , delqry - > data , NULL ,
false , " SEQUENCE " , SECTION_PRE_DATA ,
query - > data , delqry - > data , NULL ,
tbinfo - > dobj . dependencies , tbinfo - > dobj . nDeps ,
NULL , NULL ) ;
@ -10468,7 +10509,8 @@ dumpSequence(Archive *fout, TableInfo *tbinfo)
tbinfo - > dobj . namespace - > dobj . name ,
NULL ,
tbinfo - > rolname ,
false , " SEQUENCE OWNED BY " , query - > data , " " , NULL ,
false , " SEQUENCE OWNED BY " , SECTION_PRE_DATA ,
query - > data , " " , NULL ,
& ( tbinfo - > dobj . dumpId ) , 1 ,
NULL , NULL ) ;
}
@ -10495,7 +10537,8 @@ dumpSequence(Archive *fout, TableInfo *tbinfo)
tbinfo - > dobj . namespace - > dobj . name ,
NULL ,
tbinfo - > rolname ,
false , " SEQUENCE SET " , query - > data , " " , NULL ,
false , " SEQUENCE SET " , SECTION_PRE_DATA ,
query - > data , " " , NULL ,
& ( tbinfo - > dobj . dumpId ) , 1 ,
NULL , NULL ) ;
}
@ -10691,7 +10734,8 @@ dumpTrigger(Archive *fout, TriggerInfo *tginfo)
tbinfo - > dobj . namespace - > dobj . name ,
NULL ,
tbinfo - > rolname , false ,
" TRIGGER " , query - > data , delqry - > data , NULL ,
" TRIGGER " , SECTION_POST_DATA ,
query - > data , delqry - > data , NULL ,
tginfo - > dobj . dependencies , tginfo - > dobj . nDeps ,
NULL , NULL ) ;
@ -10810,7 +10854,8 @@ dumpRule(Archive *fout, RuleInfo *rinfo)
tbinfo - > dobj . namespace - > dobj . name ,
NULL ,
tbinfo - > rolname , false ,
" RULE " , cmd - > data , delcmd - > data , NULL ,
" RULE " , SECTION_POST_DATA ,
cmd - > data , delcmd - > data , NULL ,
rinfo - > dobj . dependencies , rinfo - > dobj . nDeps ,
NULL , NULL ) ;