@ -200,6 +200,8 @@ create_rel_filename_map(const char *old_data, const char *new_data,
map - > old_db_oid = old_db - > db_oid ;
map - > old_db_oid = old_db - > db_oid ;
map - > new_db_oid = new_db - > db_oid ;
map - > new_db_oid = new_db - > db_oid ;
map - > relpages = old_rel - > relpages ;
map - > relkind = old_rel - > relkind ;
/*
/*
* old_relfilenode might differ from pg_class . oid ( and hence
* old_relfilenode might differ from pg_class . oid ( and hence
@ -418,6 +420,7 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo)
char * nspname = NULL ;
char * nspname = NULL ;
char * relname = NULL ;
char * relname = NULL ;
char * tablespace = NULL ;
char * tablespace = NULL ;
char * relkind = NULL ;
int i_spclocation ,
int i_spclocation ,
i_nspname ,
i_nspname ,
i_relname ,
i_relname ,
@ -425,7 +428,9 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo)
i_indtable ,
i_indtable ,
i_toastheap ,
i_toastheap ,
i_relfilenode ,
i_relfilenode ,
i_reltablespace ;
i_reltablespace ,
i_relpages ,
i_relkind ;
char query [ QUERY_ALLOC ] ;
char query [ QUERY_ALLOC ] ;
char * last_namespace = NULL ,
char * last_namespace = NULL ,
* last_tablespace = NULL ;
* last_tablespace = NULL ;
@ -494,7 +499,7 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo)
*/
*/
snprintf ( query + strlen ( query ) , sizeof ( query ) - strlen ( query ) ,
snprintf ( query + strlen ( query ) , sizeof ( query ) - strlen ( query ) ,
" SELECT all_rels.*, n.nspname, c.relname, "
" SELECT all_rels.*, n.nspname, c.relname, "
" c.relfilenode, c.reltablespace, %s "
" c.relfilenode, c.reltablespace, c.relpages, c.relkind, %s "
" FROM (SELECT * FROM regular_heap "
" FROM (SELECT * FROM regular_heap "
" UNION ALL "
" UNION ALL "
" SELECT * FROM toast_heap "
" SELECT * FROM toast_heap "
@ -525,6 +530,8 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo)
i_relname = PQfnumber ( res , " relname " ) ;
i_relname = PQfnumber ( res , " relname " ) ;
i_relfilenode = PQfnumber ( res , " relfilenode " ) ;
i_relfilenode = PQfnumber ( res , " relfilenode " ) ;
i_reltablespace = PQfnumber ( res , " reltablespace " ) ;
i_reltablespace = PQfnumber ( res , " reltablespace " ) ;
i_relpages = PQfnumber ( res , " relpages " ) ;
i_relkind = PQfnumber ( res , " relkind " ) ;
i_spclocation = PQfnumber ( res , " spclocation " ) ;
i_spclocation = PQfnumber ( res , " spclocation " ) ;
for ( relnum = 0 ; relnum < ntups ; relnum + + )
for ( relnum = 0 ; relnum < ntups ; relnum + + )
@ -556,6 +563,11 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo)
curr - > relname = pg_strdup ( relname ) ;
curr - > relname = pg_strdup ( relname ) ;
curr - > relfilenode = atooid ( PQgetvalue ( res , relnum , i_relfilenode ) ) ;
curr - > relfilenode = atooid ( PQgetvalue ( res , relnum , i_relfilenode ) ) ;
curr - > relpages = atoi ( PQgetvalue ( res , relnum , i_relpages ) ) ;
relkind = PQgetvalue ( res , relnum , i_relkind ) ;
curr - > relkind = relkind [ 0 ] ;
curr - > tblsp_alloc = false ;
curr - > tblsp_alloc = false ;
/* Is the tablespace oid non-default? */
/* Is the tablespace oid non-default? */