• Praveenkumar Hulakund's avatar
    Bug#11749556: DEBUG ASSERTION WHEN ACCESSING A VIEW AND · 43c74dca
    Praveenkumar Hulakund authored
                  AVAILABLE MEMORY IS TOO LOW 
    
    Analysis:
    ---------
    In function "mysql_make_view", "table->view" is initialized
    after parsing(using File_parser::parse) the view definition.
    If "::parse" function fails then control is moved to label 
    "err:". Here we have assert (table->view == thd->lex). 
    This assert fails if "::parse" function fails, as 
    table->view is not initialized yet.
    
    File_parser::parse fails if data being parsed is incorrect/
    corrupted or when memory allocation fails. In this scenario
    its failing because of failure in memory allocation.
    
    Fix:
    ---------
    In case of failure in function "File_parser::parse", moving
    to label "err:" is incorrect. Modified code to move
    to label "end:".
    43c74dca
sql_view.cc 61.9 KB