1. 11 May, 2010 8 commits
  2. 10 May, 2010 4 commits
  3. 07 May, 2010 4 commits
  4. 05 May, 2010 9 commits
    • Marko Mäkelä's avatar
      Merge from mysql-5.1-innodb: · b7ee1e64
      Marko Mäkelä authored
        ------------------------------------------------------------
        revno: 3449
        revision-id: marko.makela@oracle.com-20100505104425-39y6qbffgotrhck2
        parent: marko.makela@oracle.com-20100505104001-883pqiepo384qr5h
        committer: Marko Mäkelä <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Wed 2010-05-05 13:44:25 +0300
        message:
          Factor out innodb_multi_update.test from innodb.test
      b7ee1e64
    • Alexander Nozdrin's avatar
      Patch for Bug#50511 (Sometimes wrong handling of user variables containing NULL). · 0a032dea
      Alexander Nozdrin authored
            
      The bug happened under the following condition:
        - there was a user variable of type REAL, containing NULL value
        - there was a table with a NOT_NULL column of any type but REAL, having
          default value (or auto increment);
        - a row was inserted into the table with the user variable as value.
          A warning was emitted here.
      
      The problem was that handling of NULL values of REAL type was not properly
      implemented: it didn't expect that REAL NULL value can be assigned to other
      data type.
      
      Basically, the problem was that set_field_to_null() was used instead of
      set_field_to_null_with_conversions().
      
      The fix is to use the right function, or more generally, to allow conversion of
      REAL NULL values to other data types.
      0a032dea
    • Alexander Barkov's avatar
      Bug#51571 load xml infile causes server crash · 3c93a784
      Alexander Barkov authored
        
        Problem:
        item->name was NULL for Item_user_var_as_out_param
        which made strcmp(something, item->name) crash in the LOAD XML code.
        
        Fix:
        - item_func.h: Adding set_name() in constuctor for Item_user_var_as_out_param
        - sql_load.cc: Changing the condition in write_execute_load_query_log_event() which
        distiguished between Item_user_var_as_out_param and Item_field
        from
          if (item->name == NULL)
        to
          if (item->type() == Item::FIELD_ITEM)
        - loadxml.result, loadxml.test: adding tests
      3c93a784
    • Vasil Dimov's avatar
      Merge from bk-internal into my local branch · 84befd1a
      Vasil Dimov authored
      84befd1a
    • Marko Mäkelä's avatar
      Merge from mysql-5.1-innodb: · 65aaedf9
      Marko Mäkelä authored
        ------------------------------------------------------------
        revno: 3446
        revision-id: marko.makela@oracle.com-20100505100507-6kcd2hf32hruxbv7
        parent: marko.makela@oracle.com-20100505095328-vetnl0flhmhao7p5
        committer: Marko Mäkelä <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Wed 2010-05-05 13:05:07 +0300
        message:
          Add Valgrind diagnostics to track down Bug #38999.
        ------------------------------------------------------------
      65aaedf9
    • Vasil Dimov's avatar
      e4bf42a1
    • Vasil Dimov's avatar
      Fix path to include file. · eede696a
      Vasil Dimov authored
      eede696a
    • Alexander Barkov's avatar
      Bug#52849 [Com]: datetime index not work · f90f3414
      Alexander Barkov authored
      Problem: after introduction of "WL#2649 Number-to-string conversions"
      
      This query:
        SET NAMES cp850; -- Or any other non-latin1 ASCII-based character set
        SELECT * FROM t1
        WHERE datetime_column='2010-01-01 00:00:00'
      started to add extra character set conversion: 
        SELECT * FROM t1
        WHERE CONVERT(datetime_column USING cp850)='2010-01-01 00:00:00';
      
      so index on DATETIME column was not used anymore.
      Fix:
        avoid convertion of NUMERIC/DATETIME items
        (i.e. those with derivation DERIVATION_NUMERIC).
      f90f3414
    • Horst.Hunger's avatar
      Patch for 47759 to trunk-bugfixing. · 9eae31ab
      Horst.Hunger authored
      9eae31ab
  5. 04 May, 2010 15 commits
    • Omer BarNir's avatar
    • Omer BarNir's avatar
    • Alexander Nozdrin's avatar
      d77f9505
    • Jimmy Yang's avatar
    • Vasil Dimov's avatar
      Merge from mysql-5.1-innodb: · 6327a4f0
      Vasil Dimov authored
        ------------------------------------------------------------
        revno: 3441
        revision-id: marko.makela@oracle.com-20100504130917-qmvzbj3pgil2nuat
        parent: marko.makela@oracle.com-20100504125510-gemcfhj7mefrhalo
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Tue 2010-05-04 16:09:17 +0300
        message:
          fsp_init_file_page_low(): Zero out the page. (Bug #53306)
        modified:
          storage/innodb_plugin/fsp/fsp0fsp.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Ffsp%2Ffsp0fsp.c
        ------------------------------------------------------------
      6327a4f0
    • Vasil Dimov's avatar
      Merge from mysql-5.1-innodb: · 77817e64
      Vasil Dimov authored
        ------------------------------------------------------------
        revno: 3439
        revision-id: marko.makela@oracle.com-20100504124744-c1ivf5tm90nv7lc1
        parent: marko.makela@oracle.com-20100504105546-4ew7a77e9uhxmhho
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Tue 2010-05-04 15:47:44 +0300
        message:
          Add Valgrind checks to catch uninitialized writes to data files.
          buf_flush_insert_into_flush_list(),
          buf_flush_insert_sorted_into_flush_list(),
          buf_flush_post_to_doublewrite_buf(): Check that the page is initialized.
        modified:
          storage/innodb_plugin/buf/buf0flu.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fbuf%2Fbuf0flu.c
        ------------------------------------------------------------
      77817e64
    • Vasil Dimov's avatar
      Merge from mysql-5.1-innodb: · 3ba71f73
      Vasil Dimov authored
        ------------------------------------------------------------
        revno: 3438
        revision-id: marko.makela@oracle.com-20100504105546-4ew7a77e9uhxmhho
        parent: marko.makela@oracle.com-20100504093128-44v6glupe1dsh0ug
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Tue 2010-05-04 13:55:46 +0300
        message:
          Remove UNIV_BTR_AVOID_COPY. It was broken because btr_attach_half_pages()
          would get the block, new_block in the wrong order.
          Fixing that would have complicated the function even further
          for this marginal case.
        modified:
          storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog
          storage/innodb_plugin/btr/btr0btr.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fbtr%2Fbtr0btr.c
          storage/innodb_plugin/include/univ.i 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Finclude%2Funiv.i
        ------------------------------------------------------------
      3ba71f73
    • Vasil Dimov's avatar
      Merge from mysql-5.1-innodb: · 8e27737f
      Vasil Dimov authored
        ------------------------------------------------------------
        revno: 3437
        revision-id: marko.makela@oracle.com-20100504093128-44v6glupe1dsh0ug
        parent: marko.makela@oracle.com-20100503122859-k73bl51re93o0mt4
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Tue 2010-05-04 12:31:28 +0300
        message:
          btr_page_split_and_insert(): Correct the fix of Bug #52964.
          When split_rec==NULL, choose the correct node pointer key (first_rec).
        modified:
          storage/innodb_plugin/btr/btr0btr.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fbtr%2Fbtr0btr.c
        ------------------------------------------------------------
      8e27737f
    • Alexander Nozdrin's avatar
    • Vasil Dimov's avatar
      Followup to vasil.dimov@oracle.com-20100504104629-0ovtc5lae2ghn7he : · 0f5326b4
      Vasil Dimov authored
      Add the missing parameter to mutex_create().
      0f5326b4
    • Vasil Dimov's avatar
      Followup to vasil.dimov@oracle.com-20100504104629-0ovtc5lae2ghn7he : · 8d07cec0
      Vasil Dimov authored
      Remove analyze_mutex_key now that this mutex does not exist.
      8d07cec0
    • Vasil Dimov's avatar
      Merge from mysql-5.1-innodb: · b0d1eaab
      Vasil Dimov authored
        ------------------------------------------------------------
        revno: 3436
        revision-id: marko.makela@oracle.com-20100503122859-k73bl51re93o0mt4
        parent: vasil.dimov@oracle.com-20100430100236-9ncldjxpi14ec7el
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Mon 2010-05-03 15:28:59 +0300
        message:
          buf_zip_decompress(): Allow BUF_NO_CHECKSUM_MAGIC as the stamped checksum.
          buf_page_get_gen(): Assert that buf_zip_decompress() succeeds.
          Callers are not prepared for a NULL return value. (Bug #53248)
        modified:
          storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog
          storage/innodb_plugin/buf/buf0buf.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fbuf%2Fbuf0buf.c
        ------------------------------------------------------------
      b0d1eaab
    • Vasil Dimov's avatar
      Merge from mysql-5.1-innodb: · bc3dc7df
      Vasil Dimov authored
        ------------------------------------------------------------
        revno: 3433
        revision-id: mmakela@bk-internal.mysql.com-20100429133750-7ggyepb4erfg8eqe
        parent: mmakela@bk-internal.mysql.com-20100429132945-l4gm15tsmkjm24kv
        committer: Marko Makela <mmakela@bk-internal.mysql.com>
        branch nick: mysql-5.1-innodb
        timestamp: Thu 2010-04-29 15:37:50 +0200
        message:
          recv_sys_init(), recv_sys_empty_hash(): Shrink recv_sys->addr_hash.
          recv_addr_t: Turn space,page_no into bitfields to save space on 64-bit.
          This addresses Bug #53122 in the InnoDB Plugin.
        modified:
          storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog
          storage/innodb_plugin/include/log0recv.h 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Finclude%2Flog0recv.h
          storage/innodb_plugin/log/log0recv.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Flog%2Flog0recv.c
        ------------------------------------------------------------
      bc3dc7df
    • Vasil Dimov's avatar
      Merge from mysql-5.1-innodb: · 4b2c8e26
      Vasil Dimov authored
        ------------------------------------------------------------
        revno: 3431
        revision-id: mmakela@bk-internal.mysql.com-20100429132743-8rjjgoqbvddr2i5x
        parent: vasil.dimov@oracle.com-20100428103452-6btsq4xv6v1etb5b
        committer: Marko Makela <mmakela@bk-internal.mysql.com>
        branch nick: mysql-5.1-innodb
        timestamp: Thu 2010-04-29 15:27:43 +0200
        message:
          Reduce the next-key locking of READ UNCOMMITTED to match that of
          READ COMMITTED in the InnoDB Plugin. (Bug #48607)
        modified:
          storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog
          storage/innodb_plugin/handler/ha_innodb.cc 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fhandler%2Fha_innodb.cc
          storage/innodb_plugin/lock/lock0lock.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Flock%2Flock0lock.c
          storage/innodb_plugin/row/row0mysql.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Frow%2Frow0mysql.c
          storage/innodb_plugin/row/row0sel.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Frow%2Frow0sel.c
        ------------------------------------------------------------
      4b2c8e26
    • Vasil Dimov's avatar
      Merge from mysql-5.1-innodb: · 32aef81e
      Vasil Dimov authored
        ------------------------------------------------------------
        revno: 3430
        revision-id: vasil.dimov@oracle.com-20100428103452-6btsq4xv6v1etb5b
        parent: vasil.dimov@oracle.com-20100428103200-vs5nzx245sv2qy7n
        committer: Vasil Dimov <vasil.dimov@oracle.com>
        branch nick: mysql-5.1-innodb
        timestamp: Wed 2010-04-28 13:34:52 +0300
        message:
          Bug#53046 dict_update_statistics_low can still be run concurrently
          on same table
          
          Followup to vasil.dimov@oracle.com-20100428102033-dt3caf531rs3lidr :
          
          Add more asserions, which I forgot.
        modified:
          storage/innodb_plugin/dict/dict0dict.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fdict%2Fdict0dict.c
        ------------------------------------------------------------
        revno: 3429
        revision-id: vasil.dimov@oracle.com-20100428103200-vs5nzx245sv2qy7n
        parent: vasil.dimov@oracle.com-20100428102033-dt3caf531rs3lidr
        committer: Vasil Dimov <vasil.dimov@oracle.com>
        branch nick: mysql-5.1-innodb
        timestamp: Wed 2010-04-28 13:32:00 +0300
        message:
          Revert the fix of Bug#38996 Race condition in ANALYZE TABLE
          
          This is branches/zip@r6032 in SVN and _is part_ of
          revid:svn-v4:16c675df-0fcb-4bc9-8058-dcc011a37293:branches/zip:6113
          in BZR.
          
          This is being reverted because now the code is serialized directly on
          index->stat_n_diff_key_vals[] as the fix for
          Bug#53046 dict_update_statistics_low can still be run concurrently on same table
          goes.
        modified:
          storage/innodb_plugin/handler/ha_innodb.cc 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fhandler%2Fha_innodb.cc
        ------------------------------------------------------------
        revno: 3428
        revision-id: vasil.dimov@oracle.com-20100428102033-dt3caf531rs3lidr
        parent: vasil.dimov@oracle.com-20100428084627-wtrmc66wqvjsdgj7
        committer: Vasil Dimov <vasil.dimov@oracle.com>
        branch nick: mysql-5.1-innodb
        timestamp: Wed 2010-04-28 13:20:33 +0300
        message:
          Followup to vasil.dimov@oracle.com-20100428084627-wtrmc66wqvjsdgj7:
          
          Address Marko's suggestions wrt the fix of
          Bug#53046 dict_update_statistics_low can still be run concurrently
          on same table
        modified:
          storage/innodb_plugin/dict/dict0dict.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fdict%2Fdict0dict.c
        ------------------------------------------------------------
        revno: 3427
        revision-id: vasil.dimov@oracle.com-20100428084627-wtrmc66wqvjsdgj7
        parent: mmakela@bk-internal.mysql.com-20100428063325-irts4ze9et5bsqdq
        committer: Vasil Dimov <vasil.dimov@oracle.com>
        branch nick: mysql-5.1-innodb
        timestamp: Wed 2010-04-28 11:46:27 +0300
        message:
          Fix Bug#53046 dict_update_statistics_low can still be run concurrently
          on same table
          
          Protect dict_index_t::stat_n_diff_key_vals[] with an array of
          mutexes.
          
          Testing: tested all code paths under UNIV_SYNC_DEBUG
          for the one in dict_print() one has to enable the InnoDB table monitor:
          CREATE TABLE innodb_table_monitor (a int) ENGINE=INNODB;
        modified:
          storage/innodb_plugin/btr/btr0cur.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fbtr%2Fbtr0cur.c
          storage/innodb_plugin/dict/dict0dict.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fdict%2Fdict0dict.c
          storage/innodb_plugin/handler/ha_innodb.cc 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fhandler%2Fha_innodb.cc
          storage/innodb_plugin/include/dict0dict.h 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Finclude%2Fdict0dict.h
        ------------------------------------------------------------
      32aef81e