• Georgi Kodinov's avatar
    Bug #11753490: 44939: sql dumps containing broad views fail when · 9ce35ffc
    Georgi Kodinov authored
    executing
    
    The problem is that mysql lacks information about the objects a view
    depends on so it can't dump views and tables in the proper order.
    Thus it needs to create "stand-in" myisam tables for each view while 
    dumping the tables that it later drops and replaces with the actual view
    view definition.
    But since views can have much more columns than an actual table creating
    these stand-in tables may be problematic.
    
    There's no way to portably find out how many columns an mysiam table
    can have. It's a complicated formula depending on internal server constants.
    Thus we can't have a reliable error check without repeating the logic and 
    the formula inside mysqldump.
    
    1. Changed the type of the columns of the stand-in tables mysqldump
    makes to satisfy view dependencies from the original type to smallint 
    to save on row space.
    
    2. Added a warning on the mysqldump's standard error for a possible 
    problems replaying the dump file if the columns of a view exceed 1000.
    
    3. Added a test case.
    9ce35ffc
mysqldump.c 170 KB