mysqldump creates stand-in tables before dumping the actual view.
Those tables were of the default type; if the view had more columns
than that (a pathological case, arguably), loading the dump would
fail. We now make the temporary stand-ins MyISAM tables to prevent
this.
client/mysqldump.c:
When creating a stand-in table, specify its type to
avoid defaulting to a type with a column-number limit
(like Inno). The type is always MyISAM as we know that
to be available.
mysql-test/r/mysqldump-max.result:
add test results for 31434
mysql-test/r/mysqldump.result:
mysqldump sets engine-type (MyISAM) for stand-in tables
for views now. Update test results.
mysql-test/t/mysqldump-max.test:
Show that mysqldump's stand-in tables for views explicitly
set engine-type to MyISAM to avoid falling back on an engine
that might support fewer columns than the final view requires
(here's lookin' at you, inno). Also show that this actually
has the desired effect by dumping and reloading a view that
has more columns than inno supports.
mysql-test/r/mysqldump-max.result:
Update test result after fix of spelling error
mysql-test/r/rpl_trigger.result:
Update test result after fix of spelling error
mysql-test/r/type_newdecimal.result:
Update test result after fix of spelling error
mysql-test/t/mysqldump-max.test:
Fix spelling error "disable_warnings"
Write shorter "drop table..."
mysql-test/t/rpl_trigger.test:
Fix spelling error, there is no --ignore_warnings
mysql-test/t/type_newdecimal.test:
Fix spelling error
Changes per serg to http://lists.mysql.com/internals/30281
Re-enabled --delayed-insert
client/mysqldump.c:
BUG #7815
Changes per serg on patch: http://lists.mysql.com/internals/30281
1. Re-enabled --delayed-insert
- modified options, removed code that was in place until bug was
fixed
2. Moved the call to get_table_structure to dump_table
- Use added 'ignore_flag' variable to determine what exactly is
being ignored - whole table or just delayed insert ability
3. Changed return type of ignore_table to char with byte value that
determines what exactly is being ignored - the whole table, or
delayed inserts
4. Added ignore_table flags IGNORE_DATA and IGNORE_INSERT_DELAYED
5. Added logic in get_table_structure to not append INSERT data text
if the table's data isn't going to be dumped because the return
value from ignore_table is IGNORE_DATA
6. Changed the name of numFields to numfields. Studly caps aren't
consistent with the rest of the code!
7. Added inclusive list to check_if_ignore_table to set the flag to
IGNORE_INSERT_DELAYED if the table type doesn't support delayed
inserts.
8. More documentation
mysql-test/r/mysqldump.result:
BUG #7815 new results
mysql-test/r/mysqldump-max.result:
BUG #7815
New test results
mysql-test/t/mysqldump-max.test:
BUG #7815
New test for testing if insert delayed is applied to tables that support
it in mysqldump, but only if all storage engines in test have been compiled
in