Tables may be renamed into another database directory, which this fix doesn't take into account. I think we should do space ID verification in a different way:
let's initialize fil_system, in the same --backup or --prepare does it and then use fil_space_get_by_id() and possibly fil_space_get_by_name().
Now the problem is that fil_system will also be initialized later in --prepare when innodb_init() is called, and initializing fil_system multiple times in the same process is tricky. I had to write some extra code for that in the compact backups branch, see xb_data_files_init() and xb_data_files_close() in lp:~akopytov/percona-xtrabackup/compact-backups.
Other minor things:
- s/matchong/matching
- "cat $topdir/inc/ibdata1.meta" in the test case was probably just for debugging and doesn't make any sense as far as regression testing is concerned.
Sergei,
Tables may be renamed into another database directory, which this fix doesn't take into account. I think we should do space ID verification in a different way:
let's initialize fil_system, in the same --backup or --prepare does it and then use fil_space_ get_by_ id() and possibly fil_space_ get_by_ name().
Now the problem is that fil_system will also be initialized later in --prepare when innodb_init() is called, and initializing fil_system multiple times in the same process is tricky. I had to write some extra code for that in the compact backups branch, see xb_data_ files_init( ) and xb_data_ files_close( ) in lp:~akopytov/percona-xtrabackup/compact-backups.
Other minor things: inc/ibdata1. meta" in the test case was probably just for debugging and doesn't make any sense as far as regression testing is concerned.
- s/matchong/matching
- "cat $topdir/