• unknown's avatar
    Fixed bug#31194: Privilege ordering does not order properly · 7a290b55
    unknown authored
                     for wildcard values.
    The server ignored escape character before wildcards during
    the calculation of priority values for sorting of a privilege
    list. (Actually the server counted an escape character as an
    ordinary wildcard like % or _). I.e. the table name template
    with a wildcard character like 'tbl_1' had higher priority in
    a privilege list than concrete table name without wildcards
    like 'tbl\_1', and some privileges of 'tbl\_1' was hidden
    by privileges for 'tbl_1'.
    
    The get_sort function has been modified to ignore escaped
    wildcards as usual.
    
    
    
    mysql-test/r/grant3.result:
      Added test case for bug#31194.
    mysql-test/t/grant3.test:
      Added test case for bug#31194.
    sql/sql_acl.cc:
      Fixed bug#31194.
      The server used the wild_prefix escape character (usually \-character)
      like % and _ wildcards in the get_sort function for sorting weights
      calculation.
      
      The get_sort function has been modified to ignore escaped wildcards
      and alone escapes like in the wild_case_compare function.
    7a290b55
sql_acl.cc 180 KB