Bug #73832 Use the accessor dict_table_use_file_per_table() where possible
Submitted: 8 Sep 2014 9:29 Modified: 11 Sep 2014 6:01
Reporter: Marko Mäkelä Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S3 (Non-critical)
Version:5.7.5 OS:Any
Assigned to: CPU Architecture:Any

[8 Sep 2014 9:29] Marko Mäkelä
Description:
The flag DICT_TF2_USE_FILE_PER_TABLE should be tested by using dict_table_use_file_per_table() wherever possible.

How to repeat:
Read the source code.

Suggested fix:
=== modified file 'storage/innobase/row/row0merge.cc'
--- storage/innobase/row/row0merge.cc	revid:marko.makela@oracle.com-20140908080323-9cimtbb155soo3p0
+++ storage/innobase/row/row0merge.cc	2014-09-08 08:24:25 +0000
@@ -3831,7 +3831,7 @@ row_merge_build_indexes(
 	we can simply remove the file when rollback. */
 	is_redo_skipped = dict_table_is_temporary(new_table)
 		|| (old_table != new_table
-		    && new_table->flags2 & DICT_TF2_USE_FILE_PER_TABLE);
+		    && dict_table_use_file_per_table(new_table));
 
 	for (i = 0; i < n_indexes; i++) {
 		indexes[i]->is_redo_skipped = is_redo_skipped;
[8 Sep 2014 12:54] Daniel Price
Posted by developer:
 
Fixed as of the upcoming 5.7.6 release, and here's the changelog entry:

The "DICT_TF2_USE_FILE_PER_TABLE" flag should be tested by the
"dict_table_use_file_per_table" function to verify that the table uses a
file-per-table tablespace.
[11 Sep 2014 6:01] Erlend Dahl
[8 Sep 2014 5:53] Daniel T Price

Fixed as of the upcoming 5.7.6 release, and here's the changelog entry:

The "DICT_TF2_USE_FILE_PER_TABLE" flag should be tested by the
"dict_table_use_file_per_table" function to verify that the table uses a
file-per-table tablespace.