1. 02 May, 2011 1 commit
  2. 29 Apr, 2011 5 commits
  3. 27 Apr, 2011 3 commits
  4. 26 Apr, 2011 3 commits
  5. 25 Apr, 2011 1 commit
  6. 23 Apr, 2011 1 commit
  7. 22 Apr, 2011 1 commit
    • Sergey Glukhov's avatar
      Bug#11756928 48916: SERVER INCORRECTLY PROCESSING HAVING CLAUSES WITH AN ORDER BY CLAUSE · 76f37a02
      Sergey Glukhov authored
      Before sorting HAVING condition is split into two parts,
      first part is a table related condition and the rest of is
      HAVING part. Extraction of HAVING part does not take into account
      the fact that some of conditions might be non-const but
      have 'used_tables' == 0 (independent subqueries)
      and because of that these conditions are cut off by
      make_cond_for_table() function.
      The fix is to use (table_map) 0 instead of used_tables in
      third argument for make_cond_for_table() function.
      It allows to extract elements which belong to sorted
      table and in addition elements which are independend
      subqueries.
      76f37a02
  8. 21 Apr, 2011 1 commit
  9. 20 Apr, 2011 6 commits
  10. 18 Apr, 2011 4 commits
  11. 16 Apr, 2011 1 commit
  12. 15 Apr, 2011 3 commits
  13. 14 Apr, 2011 4 commits
  14. 13 Apr, 2011 1 commit
  15. 12 Apr, 2011 3 commits
  16. 11 Apr, 2011 2 commits
    • Sven Sandberg's avatar
      bbfb9eab
    • Marko Mäkelä's avatar
      Bug #11760042 - 52409: Assertion failure: long semaphore wait · d0b1a646
      Marko Mäkelä authored
      In ha_innobase::create(), we check some things while holding an
      exclusive lock on the data dictionary. Defer the locking and the
      creation of transactions until after the checks have passed. The
      THDVAR could hang due to a mutex wait (see Bug #11750569 - 41163:
      deadlock in mysqld: LOCK_global_system_variables and LOCK_open), and
      we want to avoid waiting while holding InnoDB mutexes.
      
      innobase_index_name_is_reserved(): Replace the parameter trx_t with
      THD, so that the test can be performed before starting an InnoDB
      transaction. We only needed trx->mysql_thd.
      
      ha_innobase::create(): Create transaction and lock the data dictionary
      only after passing the basic tests.
      
      create_table_def(): Move the IS_MAGIC_TABLE_AND_USER_DENIED_ACCESS
      check to ha_innobase::create(). Assign to srv_lower_case_table_names
      while holding dict_sys->mutex.
      
      ha_innobase::delete_table(), ha_innobase::rename_table(),
      innobase_rename_table(): Assign srv_lower_case_table_names as late as
      possible. Here, the variable is not necessarily protected by
      dict_sys->mutex.
      
      ha_innobase::add_index(): Invoke innobase_index_name_is_reserved() and
      innobase_check_index_keys() before allocating anything.
      
      rb:618 approved by Jimmy Yang
      d0b1a646