• unknown's avatar
    Bug #22457: Column alias in ORDER BY works, but not if in an expression · c095f98f
    unknown authored
     The parser is allocating Item_field for references by name in ORDER BY
     expressions. Such expressions however may point not only to Item_field 
     in the select list (or to a table column) but also to an arbitrary Item. 
     This causes Item_field::fix_fields to throw an error about missing 
     column.
     The fix substitutes Item_field for the reference with an Item_ref when 
     not pointing to Item_field.
    
    
    mysql-test/r/order_by.result:
      Bug #22457: Column alias in ORDER BY works, but not if in an expression
       - test case
    mysql-test/t/order_by.test:
      Bug #22457: Column alias in ORDER BY works, but not if in an expression
       - test case
    sql/item.cc:
      Bug #22457: Column alias in ORDER BY works, but not if in an expression
       - transform the Item_field made by the parser into Item_ref if it 
         doesn't point to Item_field and it is in allowed context
    c095f98f
order_by.test 20.7 KB