1. 23 Dec, 2011 4 commits
  2. 22 Dec, 2011 5 commits
  3. 21 Dec, 2011 3 commits
  4. 16 Dec, 2011 5 commits
  5. 15 Dec, 2011 2 commits
    • Chaithra Gopalareddy's avatar
      Bug#13344643:Format function in view looses locale information · 7615cb08
      Chaithra Gopalareddy authored
      Problem description:
      When a view is created using function FORMAT and if FORMAT function uses locale
      option,definition of view saved into server doesn't contain that locale information,
      Ex:
      create  table test2 (bb decimal (10,2));
      insert into test2 values (10.32),(10009.2),(12345678.21);
      create view test3 as select format(bb,1,'sk_SK') as cc from test2;
      select * from test3;
      +--------------+
      | cc           |
      +--------------+
      | 10.3         |
      | 10,009.2     |
      | 12,345,678.2 |
      +--------------+
      3 rows in set (0.02 sec)
      
      show create view test3
                      View: test3
               Create View: CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost`
      SQL SECURITY DEFINER VIEW `test3` AS select format(`test2`.`bb`,1) AS `cc`
      from `test2`
      character_set_client: latin1
      collation_connection: latin1_swedish_ci
      1 row in set (0.02 sec)
      
      Problem Analysis:
      The function Item_func_format::print() which prints the query string to create
      the view does not print the third argument (i.e the locale information). Hence
       view is created without locale information. 
      
      Problem Solution:
      If argument count is more than 2 we now print the third argument onto the query string.
      
      Files changed:
      sql/item_strfunc.cc
      Function call changes: Item_func_format::print()
      mysql-test/t/select.test
      Added test case to test the bug
      mysql-test/r/select.result
      Result of the test case appended here
      
      
      7615cb08
    • Tor Didriksen's avatar
      Bug#13463417 63487: ANNOYING TRACE MESSAGE IN CMAKE CODE · b507df61
      Tor Didriksen authored
      Remove it.
      b507df61
  6. 14 Dec, 2011 3 commits
    • Andrei Elkin's avatar
      · be7fc143
      Andrei Elkin authored
      bug#13437900
      post-push changes to please solaris compiler.
      be7fc143
    • Andrei Elkin's avatar
      Bug#13437900 - VALGRIND REPORTS A LEAK FOR REPL_IGNORE_SERVER_IDS · ed3e19ac
      Andrei Elkin authored
      There was memory leak when running some tests on PB2.
      The reason of the failure is an early return from change_master()
      that was supposed to deallocate a dyn-array.
      
      Actually the same bug58915 was fixed in trunk with relocating the dyn-array
      destruction into THD::cleanup_after_query() which can't be bypassed.
      The current patch backports magne.mahre@oracle.com-20110203101306-q8auashb3d7icxho
      and adds two optimizations: were done: the static buffer for the dyn-array to base on,
      and the array initialization is called precisely when it's necessary rather than
      per each CHANGE-MASTER as before.
      
      
      mysql-test/suite/rpl/t/rpl_empty_master_host.test:
        the test is binlog-format insensitive so it will be run with MIXED mode only.
      mysql-test/suite/rpl/t/rpl_server_id_ignore.test:
        the test is binlog-format insensitive so it will be run with MIXED mode only.
      sql/sql_class.cc:
        relocating the dyn-array
        destruction into THD::cleanup_after_query().
      sql/sql_lex.cc:
        LEX.mi zero initialization is done in LEX().
      sql/sql_lex.h:
        Optimization for repl_ignore_server_ids to base on a static buffer
        which size is chosen to fit to most common use cases.
      sql/sql_repl.cc:
        dyn-array destruction is relocated to THD::cleanup_after_query().
      sql/sql_yacc.yy:
        Refining logics of Lex->mi.repl_ignore_server_ids initialization.
        The array is initialized once a corresponding option in CHANGE MASTER token sequence
        is found.
      ed3e19ac
    • Georgi Kodinov's avatar
      Addendum to the fix for bug #11754011: fixed a testcase result to include · 2b05ef11
      Georgi Kodinov authored
      the new --slow-start-timeout option's help output
      2b05ef11
  7. 13 Dec, 2011 3 commits
    • Georgi Kodinov's avatar
      Bug#11754011: 45546: START WINDOWS SERVICE, THEN EXECUTE WHAT IS NEEDED. · a64a25ba
      Georgi Kodinov authored
      Added a global read-only option slow-start-timeout to control the
      Windows service control manager's service start timeout, that was
      currently hard-coded to be 15 seconds.
      The default of the new option is 15 seconds.
      The timeout can also be set to 0 (to mean no timeout applicable).
      a64a25ba
    • Annamalai Gurusami's avatar
      76383243
    • Annamalai Gurusami's avatar
      Bug #13117023: Innodb increments handler_read_key when it should not · ad84fb5c
      Annamalai Gurusami authored
      The counter handler_read_key (SSV::ha_read_key_count) is incremented 
      incorrectly.
      
      The mysql server maintains a per thread system_status_var (SSV)
      object.  This object contains among other things the counter
      SSV::ha_read_key_count. The purpose of this counter is to measure the
      number of requests to read a row based on a key (or the number of
      index lookups).
      
      This counter was wrongly incremented in the
      ha_innobase::innobase_get_index(). The fix removes
      this increment statement (for both innodb and innodb_plugin).
      
      The various callers of the innobase_get_index() was checked to
      determine if anybody must increment this counter (if they first call
      innobase_get_index() and then perform an index lookup).  It was found
      that no caller of innobase_get_index() needs to worry about the
      SSV::ha_read_key_count counter.
      ad84fb5c
  8. 12 Dec, 2011 2 commits
  9. 08 Dec, 2011 2 commits
    • unknown's avatar
      Bug #13116225 LIVE DOWNGRADE CRASHES WITH INNODB_PAGE_SIZE=4K · 7532976d
      unknown authored
      This bug ensures that a live downgrade from an InnoDB 5.6 with WL5756 and
      a database created with innodb-page-size=8k or 4k will make a version 5.5
      installation politely refuse to start. Instead of crashing or giving some
      indication about a corrupted database, it will indicate the page size
      difference. 
      
      This patch takes only that part of the Wl5756 patch that is needed to
      protect against opening a tablespace that is stamped with a different
      page size.
      
      It also contains the change in dict_index_find_on_id_low() just in case
      a database with another page size is created by recompiling a pre-WL5756
      InnoDB.
      7532976d
    • Jimmy Yang's avatar
      Fix Bug #13083023 - 60229: BROKEN COMPATIBILITY: ERROR WHILE CREATE TABLE · 8bb893f5
      Jimmy Yang authored
      WITH FOREIGN KEY CONSTRAI
      
      rb://844 approved by marko
      8bb893f5
  10. 07 Dec, 2011 1 commit
    • Inaam Rana's avatar
      Bug#11759044 - 51325: DROPPING AN EMPTY INNODB TABLE TAKES A LONG TIME · 358a31df
      Inaam Rana authored
      WITH LARGE BUFFER POOL
      
      (Note: this a backport of revno:3472 from mysql-trunk)
      
      rb://845
      approved by: Marko
      
        When dropping a table (with an .ibd file i.e.: with
        innodb_file_per_table set) we scan entire LRU to invalidate pages from
        that table. This can be painful in case of large buffer pools as we hold
        the buf_pool->mutex for the scan. Note that gravity of the problem does
        not depend on the size of the table. Even with an empty table but a
        large and filled up buffer pool we'll end up scanning a very long LRU
        list.
        
        The fix is to scan flush_list and just remove the blocks belonging to
        the table from the flush_list, marking them as non-dirty. The blocks
        are left in the LRU list for eventual eviction due to aging. The
        flush_list is typically much smaller than the LRU list but for cases
        where it is very long we have the solution of releasing the
        buf_pool->mutex after scanning 1K pages.
        
        buf_page_[set|unset]_sticky(): Use new IO-state BUF_IO_PIN to ensure
        that a block stays in the flush_list and LRU list when we release
        buf_pool->mutex. Previously we have been abusing BUF_IO_READ to achieve
        this.
      358a31df
  11. 05 Dec, 2011 1 commit
    • Tor Didriksen's avatar
      Bug#13013970 MORE CRASHES IN FIELD_BLOB::GET_KEY_IMAGE · 0cd92281
      Tor Didriksen authored
      The predicate is re-written from
      ((`test`.`g1`.`a` = geometryfromtext('')) or ...
      to
      ((`test`.`g1`.`a` = <cache>(geometryfromtext(''))) or ...
      
      The range optimizer calls save_in_field_no_warnings, in order to fetch keys.
      save_in_field_no_warnings returns 0 because of the cache wrapper,
      and get_mm_leaf() proceeded to call Field_blob::get_key_image() 
      which accesses un-initialized data.
      
      
      
      
      mysql-test/r/gis.result:
        New test case.
      mysql-test/t/gis.test:
        New test case.
      sql/item.cc:
        If we have cached a null_value, then verify that the Field can accept it.
      0cd92281
  12. 02 Dec, 2011 2 commits
  13. 01 Dec, 2011 4 commits
  14. 30 Nov, 2011 3 commits