diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/bin/pg_dump/pg_dump.c | 10 | 
1 files changed, 8 insertions, 2 deletions
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index 7a06f9b20a8..f93affd089f 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -5843,6 +5843,7 @@ getForeignDataWrappers(int *numForeignDataWrappers)  	int			i;  	PQExpBuffer query = createPQExpBuffer();  	FdwInfo    *fdwinfo; +	int			i_tableoid;  	int			i_oid;  	int			i_fdwname;  	int			i_rolname; @@ -5860,7 +5861,7 @@ getForeignDataWrappers(int *numForeignDataWrappers)  	/* Make sure we are in proper schema */  	selectSourceSchema("pg_catalog"); -	appendPQExpBuffer(query, "SELECT oid, fdwname, " +	appendPQExpBuffer(query, "SELECT tableoid, oid, fdwname, "  		"(%s fdwowner) AS rolname, fdwvalidator::pg_catalog.regproc, fdwacl,"  					  "array_to_string(ARRAY("  		 "		SELECT option_name || ' ' || quote_literal(option_value) " @@ -5876,6 +5877,7 @@ getForeignDataWrappers(int *numForeignDataWrappers)  	fdwinfo = (FdwInfo *) malloc(ntups * sizeof(FdwInfo)); +	i_tableoid = PQfnumber(res, "tableoid");  	i_oid = PQfnumber(res, "oid");  	i_fdwname = PQfnumber(res, "fdwname");  	i_rolname = PQfnumber(res, "rolname"); @@ -5886,6 +5888,7 @@ getForeignDataWrappers(int *numForeignDataWrappers)  	for (i = 0; i < ntups; i++)  	{  		fdwinfo[i].dobj.objType = DO_FDW; +		fdwinfo[i].dobj.catId.tableoid = atooid(PQgetvalue(res, i, i_tableoid));  		fdwinfo[i].dobj.catId.oid = atooid(PQgetvalue(res, i, i_oid));  		AssignDumpId(&fdwinfo[i].dobj);  		fdwinfo[i].dobj.name = strdup(PQgetvalue(res, i, i_fdwname)); @@ -5922,6 +5925,7 @@ getForeignServers(int *numForeignServers)  	int			i;  	PQExpBuffer query = createPQExpBuffer();  	ForeignServerInfo *srvinfo; +	int			i_tableoid;  	int			i_oid;  	int			i_srvname;  	int			i_rolname; @@ -5941,7 +5945,7 @@ getForeignServers(int *numForeignServers)  	/* Make sure we are in proper schema */  	selectSourceSchema("pg_catalog"); -	appendPQExpBuffer(query, "SELECT oid, srvname, " +	appendPQExpBuffer(query, "SELECT tableoid, oid, srvname, "  					  "(%s srvowner) AS rolname, "  					  "srvfdw, srvtype, srvversion, srvacl,"  					  "array_to_string(ARRAY(" @@ -5958,6 +5962,7 @@ getForeignServers(int *numForeignServers)  	srvinfo = (ForeignServerInfo *) malloc(ntups * sizeof(ForeignServerInfo)); +	i_tableoid = PQfnumber(res, "tableoid");  	i_oid = PQfnumber(res, "oid");  	i_srvname = PQfnumber(res, "srvname");  	i_rolname = PQfnumber(res, "rolname"); @@ -5970,6 +5975,7 @@ getForeignServers(int *numForeignServers)  	for (i = 0; i < ntups; i++)  	{  		srvinfo[i].dobj.objType = DO_FOREIGN_SERVER; +		srvinfo[i].dobj.catId.tableoid = atooid(PQgetvalue(res, i, i_tableoid));  		srvinfo[i].dobj.catId.oid = atooid(PQgetvalue(res, i, i_oid));  		AssignDumpId(&srvinfo[i].dobj);  		srvinfo[i].dobj.name = strdup(PQgetvalue(res, i, i_srvname));  | 
