• malff/marcsql@weblab.(none)'s avatar
    Bug#30333 (Performance, expressions lists in the parser) · 81114a72
    malff/marcsql@weblab.(none) authored
    Before this patch, the parser would execute:
    - Select->expr_list.push_front()
    - Select->expr_list.pop()
    when parsing expressions lists, in the following rules:
    - udf_expr_list
    - expr_list
    - ident_list
    
    This is unnecessary, and introduces overhead due to the memory allocations
    performed with Select->expr_list
    
    With this patch, this code has been removed.
    The list being parsed is maintained in the parser stack instead.
    
    Also, 'udf_expr_list' has been renamed 'opt_udf_expr_list', since this
    production can be empty.
    81114a72
sql_yacc.yy 367 KB