• unknown's avatar
    Bug #21809: Error 1356 while selecting from view with grouping though underlying · f51d0812
    unknown authored
                select OK.
    The SQL parser was using Item::name to transfer user defined function attributes
    to the user defined function (udf). It was not distinguishing between user defined 
    function call arguments and stored procedure call arguments. Setting Item::name 
    was causing Item_ref::print() method to print the argument as quoted identifiers 
    and caused views that reference aggregate functions as udf call arguments (and 
    rely on Item::print() for the text of the view to store) to throw an undefined 
    identifier error.
    Overloaded Item_ref::print to print aggregate functions as such when printing
    the references to aggregate functions taken out of context by split_sum_func2()
    Fixed the parser to properly detect using AS clause in stored procedure arguments
    as an error.
    Fixed printing the arguments of udf call to print properly the udf attribute.
    
    
    mysql-test/r/udf.result:
      Bug #21809: Error 1356 while selecting from view with grouping though underlying
                  select OK.
       - test cases
    mysql-test/t/udf.test:
      Bug #21809: Error 1356 while selecting from view with grouping though underlying
                  select OK.
       - test cases
    sql/item.cc:
      Bug #21809: Error 1356 while selecting from view with grouping though underlying
                  select OK.
       - Don't print the refs to SUM functions as refs.
    sql/item_func.cc:
      Bug #21809: Error 1356 while selecting from view with grouping though underlying
                  select OK.
       - print the aliases in the udf calls
    sql/item_func.h:
      Bug #21809: Error 1356 while selecting from view with grouping though underlying
                  select OK.
       - print the aliases in the udf calls
    sql/sql_lex.cc:
      Bug #21809: Error 1356 while selecting from view with grouping though underlying
                  select OK.
       - disable aliases for arguments in stored routine calls
    sql/sql_lex.h:
      Bug #21809: Error 1356 while selecting from view with grouping though underlying
                  select OK.
       - disable aliases for arguments in stored routine calls
    sql/sql_yacc.yy:
      Bug #21809: Error 1356 while selecting from view with grouping though underlying
                  select OK.
       - disable aliases for arguments in stored routine calls
       - fix bison duplicate symbol warnings
    f51d0812
sql_lex.cc 56.8 KB