1. 18 Feb, 2011 4 commits
    • Martin Hansson's avatar
      Merge of fix for Bug#11766675. · 8ab3e4f3
      Martin Hansson authored
      8ab3e4f3
    • Martin Hansson's avatar
      Bug#11766675 - 59839: Aggregation followed by subquery yields wrong result · cd4c263d
      Martin Hansson authored
      The loop that was looping over subqueries' references to outer field used a
      local boolean variable to tell whether the field was grouped or not. But the
      implementor failed to reset the variable after each iteration. Thus a field
      that was not directly aggregated appeared to be.
      
      Fixed by resetting the variable upon each new iteration.
      cd4c263d
    • Alexander Barkov's avatar
      Bug#11765108 (Bug#58036) client utf32, utf16, ucs2 should be disallowed, they crash server · b97cdadb
      Alexander Barkov authored
      Problem: ucs2 was correctly disallowed in "SET NAMES" only,
      while mysql_real_connect() and mysql_change_user() still allowed
      to use ucs2, which made server crash.
      
      Fix: disallow ucs2 in mysql_real_connect() and mysql_change_user().
      
        @ sql/set_var.cc
          Using new function.
      
        @ sql/sql_acl.cc
          - Return error if character set initialization failed
          - Getting rid of pointer aliasing:
            Initialize user_name to NULL, to avoid double free().
      
        @ sql/sql_connect.cc
          - in case of unsupported client character set send error and return true
          - in case of success return false
      
        @ sql/sql_connect.h
          - changing return type for thd_init_client_charset() to bool,
            to return errors to the caller
      
        @ sql/sql_parse.h
          - introducing a new function, to reuse in all places where we need
          to check client character set.
      
        @ tests/mysql_client_test.c
          Adding test
      b97cdadb
    • Alexander Barkov's avatar
      Bug#60101 COALESCE with cp1251 tables causes [Err] 1267 - Illegal mix of collations · 498ff446
      Alexander Barkov authored
            
      Problem:
        IF() did not copy collation derivation and repertoire from
        an argument if the opposite argument was NULL:
          IF(cond, res1, NULL)
          IF(cond, NULL, res2)
        only CHARSET_INFO pointer was copied.
        This resulted in illegal mix of collations error.
      
      Fix:
        copy all collation parameters from the non-NULL argument:
        CHARSET_INFO pointer, derivation, repertoire.
      498ff446
  2. 17 Feb, 2011 11 commits
  3. 16 Feb, 2011 15 commits
  4. 15 Feb, 2011 9 commits
  5. 14 Feb, 2011 1 commit