@@ -5843,6 +5843,7 @@ getForeignDataWrappers(int *numForeignDataWrappers)
5843
5843
int i ;
5844
5844
PQExpBuffer query = createPQExpBuffer ();
5845
5845
FdwInfo * fdwinfo ;
5846
+ int i_tableoid ;
5846
5847
int i_oid ;
5847
5848
int i_fdwname ;
5848
5849
int i_rolname ;
@@ -5860,7 +5861,7 @@ getForeignDataWrappers(int *numForeignDataWrappers)
5860
5861
/* Make sure we are in proper schema */
5861
5862
selectSourceSchema ("pg_catalog" );
5862
5863
5863
- appendPQExpBuffer (query , "SELECT oid, fdwname, "
5864
+ appendPQExpBuffer (query , "SELECT tableoid, oid, fdwname, "
5864
5865
"(%s fdwowner) AS rolname, fdwvalidator::pg_catalog.regproc, fdwacl,"
5865
5866
"array_to_string(ARRAY("
5866
5867
" SELECT option_name || ' ' || quote_literal(option_value) "
@@ -5876,6 +5877,7 @@ getForeignDataWrappers(int *numForeignDataWrappers)
5876
5877
5877
5878
fdwinfo = (FdwInfo * ) malloc (ntups * sizeof (FdwInfo ));
5878
5879
5880
+ i_tableoid = PQfnumber (res , "tableoid" );
5879
5881
i_oid = PQfnumber (res , "oid" );
5880
5882
i_fdwname = PQfnumber (res , "fdwname" );
5881
5883
i_rolname = PQfnumber (res , "rolname" );
@@ -5886,6 +5888,7 @@ getForeignDataWrappers(int *numForeignDataWrappers)
5886
5888
for (i = 0 ; i < ntups ; i ++ )
5887
5889
{
5888
5890
fdwinfo [i ].dobj .objType = DO_FDW ;
5891
+ fdwinfo [i ].dobj .catId .tableoid = atooid (PQgetvalue (res , i , i_tableoid ));
5889
5892
fdwinfo [i ].dobj .catId .oid = atooid (PQgetvalue (res , i , i_oid ));
5890
5893
AssignDumpId (& fdwinfo [i ].dobj );
5891
5894
fdwinfo [i ].dobj .name = strdup (PQgetvalue (res , i , i_fdwname ));
@@ -5922,6 +5925,7 @@ getForeignServers(int *numForeignServers)
5922
5925
int i ;
5923
5926
PQExpBuffer query = createPQExpBuffer ();
5924
5927
ForeignServerInfo * srvinfo ;
5928
+ int i_tableoid ;
5925
5929
int i_oid ;
5926
5930
int i_srvname ;
5927
5931
int i_rolname ;
@@ -5941,7 +5945,7 @@ getForeignServers(int *numForeignServers)
5941
5945
/* Make sure we are in proper schema */
5942
5946
selectSourceSchema ("pg_catalog" );
5943
5947
5944
- appendPQExpBuffer (query , "SELECT oid, srvname, "
5948
+ appendPQExpBuffer (query , "SELECT tableoid, oid, srvname, "
5945
5949
"(%s srvowner) AS rolname, "
5946
5950
"srvfdw, srvtype, srvversion, srvacl,"
5947
5951
"array_to_string(ARRAY("
@@ -5958,6 +5962,7 @@ getForeignServers(int *numForeignServers)
5958
5962
5959
5963
srvinfo = (ForeignServerInfo * ) malloc (ntups * sizeof (ForeignServerInfo ));
5960
5964
5965
+ i_tableoid = PQfnumber (res , "tableoid" );
5961
5966
i_oid = PQfnumber (res , "oid" );
5962
5967
i_srvname = PQfnumber (res , "srvname" );
5963
5968
i_rolname = PQfnumber (res , "rolname" );
@@ -5970,6 +5975,7 @@ getForeignServers(int *numForeignServers)
5970
5975
for (i = 0 ; i < ntups ; i ++ )
5971
5976
{
5972
5977
srvinfo [i ].dobj .objType = DO_FOREIGN_SERVER ;
5978
+ srvinfo [i ].dobj .catId .tableoid = atooid (PQgetvalue (res , i , i_tableoid ));
5973
5979
srvinfo [i ].dobj .catId .oid = atooid (PQgetvalue (res , i , i_oid ));
5974
5980
AssignDumpId (& srvinfo [i ].dobj );
5975
5981
srvinfo [i ].dobj .name = strdup (PQgetvalue (res , i , i_srvname ));
0 commit comments