An error occurred fetching the project authors.
  1. 29 Dec, 2011 1 commit
  2. 01 Jun, 2011 1 commit
    • Jon Olav Hauglid's avatar
      Bug#11853126 RE-ENABLE CONCURRENT READS WHILE CREATING · 5922e3cc
      Jon Olav Hauglid authored
                   SECONDARY INDEX IN INNODB
      
      The patches for Bug#11751388 and Bug#11784056 enabled concurrent
      reads while creating secondary indexes in InnoDB. However, they
      introduced a regression. This regression occured if ALTER TABLE
      failed after the index had been added, for example during the
      lock upgrade needed to update .FRM. If this happened, InnoDB
      and the server got out of sync with regards to which indexes
      actually existed. Therefore the patch for Bug#11815600 again
      disabled concurrent reads.
      
      This patch re-enables concurrent reads. The original regression
      is fixed by splitting the ADD INDEX operation into two parts.
      First the new index is created but not made active. This is
      done while concurrent reads are allowed. The second part of
      the operation makes the index active (or reverts the change).
      This is done after lock upgrade, which prevents the original
      regression.
      
      In order to implement this change, the patch changes the storage
      API for in-place index creation. handler::add_index() is split
      into two functions, handler_add_index() and
      handler::final_add_index(). The former for creating indexes without
      making them visible and the latter for commiting (i.e. making
      visible) new indexes or reverting the changes.
      
      Large parts of this patch were written by Marko Mäkelä.
      
      Test case added to innodb_mysql_lock.test.
      5922e3cc
  3. 31 May, 2011 1 commit
  4. 29 Jun, 2010 1 commit
    • Marko Mäkelä's avatar
      Bug#52199 utf32: mbminlen=4, mbmaxlen=4, type->mbminlen=0, type->mbmaxlen=4 · 717f7bf0
      Marko Mäkelä authored
      Merge and adjust a forgotten change to fix this bug.
      rb://393 approved by Jimmy Yang
        ------------------------------------------------------------------------
        r3794 | marko | 2009-01-07 14:14:53 +0000 (Wed, 07 Jan 2009) | 18 lines
      
        branches/6.0: Allow the minimum length of a multi-byte character to be
        up to 4 bytes. (Bug #35391)
      
        dtype_t, dict_col_t: Replace mbminlen:2, mbmaxlen:3 with mbminmaxlen:5.
        In this way, the 5 bits can hold two values of 0..4, and the storage size
        of the fields will not cross the 64-bit boundary.  Encode the values as
        DATA_MBMAX * mbmaxlen + mbminlen.  Define the auxiliary macros
        DB_MBMINLEN(mbminmaxlen), DB_MBMAXLEN(mbminmaxlen), and
        DB_MINMAXLEN(mbminlen, mbmaxlen).
      
        Try to trim and pad UTF-16 and UTF-32 with spaces as appropriate.
      
        Alexander Barkov suggested the use of cs->cset->fill(cs, buff, len, 0x20).
        ha_innobase::store_key_val_for_row() now does that, but the added function
        row_mysql_pad_col() does not, because it doesn't have the MySQL TABLE object.
      
        rb://49 approved by Heikki Tuuri
        ------------------------------------------------------------------------
      717f7bf0
  5. 12 May, 2010 1 commit
    • Marko Mäkelä's avatar
      Merge from mysql-5.1-innodb: · b53fb23c
      Marko Mäkelä authored
        ------------------------------------------------------------
        revno: 3462
        revision-id: marko.makela@oracle.com-20100512104212-e2h9n1obxjb8tfg4
        parent: marko.makela@oracle.com-20100512060922-oh716ugpukfakwvh
        committer: Marko Mäkelä <marko.makela@oracle.com>
        branch nick: mysql-5.1-innodb
        timestamp: Wed 2010-05-12 13:42:12 +0300
        message:
          ha_innobase::add_index(): Reset trx->error_state in error handling.
          (Bug #53591)
      b53fb23c
  6. 22 Apr, 2010 1 commit
    • Vasil Dimov's avatar
      Merge r3403..3414 from mysql-5.1-innodb: · 22b5e2ca
      Vasil Dimov authored
        ------------------------------------------------------------
        revno: 3414
        revision-id: marko.makela@oracle.com-20100422093342-jf9ojlzdqsdebohn
        parent: marko.makela@oracle.com-20100421185359-8qaxoa2yyrpzwdd7
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Thu 2010-04-22 12:33:42 +0300
        message:
          Correct the definition of DICT_SYS_INDEXES_NAME_FIELD.
          When row_merge_drop_temp_indexes() was reworked to drop the indexes
          via the data dictionary cache, the code was broken because it would
          read the index name from the wrong field.
        modified:
          storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog
          storage/innodb_plugin/dict/dict0boot.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fdict%2Fdict0boot.c
          storage/innodb_plugin/include/dict0boot.h 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Finclude%2Fdict0boot.h
        ------------------------------------------------------------
        revno: 3413
        revision-id: marko.makela@oracle.com-20100421185359-8qaxoa2yyrpzwdd7
        parent: marko.makela@oracle.com-20100421102723-0i80uezbyu0ekj5d
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Wed 2010-04-21 21:53:59 +0300
        message:
          btr_page_split_and_insert(): Avoid an infinite loop. (Bug #52964)
          
          btr_page_tuple_smaller(): New function, refactored from
          btr_page_split_and_insert().
          
          btr_page_get_split_rec(): Renamed from btr_page_get_sure_split_rec().
          Note that a NULL return may mean that the tuple is to be inserted into
          either the lower or upper page, to be determined by btr_page_tuple_smaller().
          
          btr_page_split_and_insert(): When btr_page_get_split_rec() returns NULL,
          invoke btr_page_tuple_smaller() to determine which half-page the tuple
          belongs to.
          
          Reviewed by Sunny Bains
        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
        ------------------------------------------------------------
        revno: 3412
        revision-id: marko.makela@oracle.com-20100421102723-0i80uezbyu0ekj5d
        parent: marko.makela@oracle.com-20100421100029-mji6lmdgvuqh96qq
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Wed 2010-04-21 13:27:23 +0300
        message:
          dict_create_index_step(): Be strict about DYNAMIC and COMPRESSED tables.
          Bug #50495 is about REDUNDANT and COMPACT tables, after all.
        modified:
          mysql-test/suite/innodb_plugin/r/innodb-zip.result 2252@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fmysql-test%2Finnodb-zip.result
          mysql-test/suite/innodb_plugin/t/innodb-zip.test 2252@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fmysql-test%2Finnodb-zip.test
          storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog
          storage/innodb_plugin/dict/dict0crea.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fdict%2Fdict0crea.c
        ------------------------------------------------------------
        revno: 3411
        revision-id: marko.makela@oracle.com-20100421100029-mji6lmdgvuqh96qq
        parent: marko.makela@oracle.com-20100421095033-0acvzxb8um8cms0a
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Wed 2010-04-21 13:00:29 +0300
        message:
          ha_innobase::add_index(): Only check for duplicate indexes
          when the data dictionary is locked.
          This fixes a UNIV_DEBUG assertion failure in innodb-index.test.
        modified:
          storage/innodb_plugin/handler/handler0alter.cc 1845@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fhandler%2Fhandler0alter.cc
        ------------------------------------------------------------
        revno: 3410
        revision-id: marko.makela@oracle.com-20100421095033-0acvzxb8um8cms0a
        parent: marko.makela@oracle.com-20100421094032-ir4glqk46qvg2ywn
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Wed 2010-04-21 12:50:33 +0300
        message:
          dtuple_convert_big_rec(): Store locally any fields whose maximum length
          is less than 256 bytes. (Bug #52745)
          Add related comments and debug assertions to the "offsets"
          functions in rem0rec.c.
          Approved by Sunny Bains
        modified:
          storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog
          storage/innodb_plugin/data/data0data.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fdata%2Fdata0data.c
          storage/innodb_plugin/rem/rem0rec.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Frem%2Frem0rec.c
        ------------------------------------------------------------
        revno: 3409
        revision-id: marko.makela@oracle.com-20100421094032-ir4glqk46qvg2ywn
        parent: marko.makela@oracle.com-20100421091611-uu46iygmv5sizjru
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Wed 2010-04-21 12:40:32 +0300
        message:
          Adjust tests for the Bug #50495 fix.
        modified:
          mysql-test/suite/innodb_plugin/r/innodb-zip.result 2252@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fmysql-test%2Finnodb-zip.result
          mysql-test/suite/innodb_plugin/t/innodb-zip.test 2252@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fmysql-test%2Finnodb-zip.test
          mysql-test/suite/innodb_plugin/t/innodb_bug36169.test 2418@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fmysql-test%2Finnodb_bug36169.test
        ------------------------------------------------------------
        revno: 3408
        revision-id: marko.makela@oracle.com-20100421091611-uu46iygmv5sizjru
        parent: marko.makela@oracle.com-20100421063916-h3gwjea7jzjilyww
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Wed 2010-04-21 12:16:11 +0300
        message:
          rec_convert_dtuple_to_rec(): Correct the debug check.
          The "extern" accessor functions return zero or nonzero, not 0 or 1.
        modified:
          storage/innodb_plugin/rem/rem0rec.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Frem%2Frem0rec.c
        ------------------------------------------------------------
        revno: 3407
        revision-id: marko.makela@oracle.com-20100421063916-h3gwjea7jzjilyww
        parent: marko.makela@oracle.com-20100420201550-cax1xywvlcdshgfg
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Wed 2010-04-21 09:39:16 +0300
        message:
          rec_convert_dtuple_to_rec(): Add a debug check.
        modified:
          storage/innodb_plugin/rem/rem0rec.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Frem%2Frem0rec.c
        ------------------------------------------------------------
        revno: 3406
        revision-id: marko.makela@oracle.com-20100420201550-cax1xywvlcdshgfg
        parent: marko.makela@oracle.com-20100420114222-diq7h2hiom9ww6me
        committer: Marko Makela <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Tue 2010-04-20 23:15:50 +0300
        message:
          btr_cur_optimistic_insert(): Remove unused variable "heap".
        modified:
          storage/innodb_plugin/btr/btr0cur.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fbtr%2Fbtr0cur.c
        ------------------------------------------------------------
        revno: 3405
        revision-id: marko.makela@oracle.com-20100420114222-diq7h2hiom9ww6me
        parent: marko.makela@oracle.com-20100420082908-tpako8jd4imkh1xb
        committer: Marko Makela <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Tue 2010-04-20 14:42:22 +0300
        message:
          dict_create_index_step(): Invoke dict_index_add_to_cache()
          in strict mode only if innodb_strict_mode is set. (Bug #50495)
          
          trx_is_strict(): New function, for checking innodb_strict_mode.
        modified:
          storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog
          storage/innodb_plugin/dict/dict0crea.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fdict%2Fdict0crea.c
          storage/innodb_plugin/handler/ha_innodb.cc 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fhandler%2Fha_innodb.cc
          storage/innodb_plugin/include/trx0trx.h 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Finclude%2Ftrx0trx.h
        ------------------------------------------------------------
        revno: 3404
        revision-id: marko.makela@oracle.com-20100420082908-tpako8jd4imkh1xb
        parent: marko.makela@oracle.com-20100419103603-u5pz4qc6hfhx4nua
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Tue 2010-04-20 11:29:08 +0300
        message:
          Implement UNIV_BTR_AVOID_COPY, an optimization of page splits.
        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
        ------------------------------------------------------------
        revno: 3403
        revision-id: marko.makela@oracle.com-20100419103603-u5pz4qc6hfhx4nua
        parent: marko.makela@oracle.com-20100419094405-fd3xwadullishv07
        committer: Marko =?ISO-8859-1?Q?M=E4kel=E4?= <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Mon 2010-04-19 13:36:03 +0300
        message:
          Enable UNIV_DEBUG_VALGRIND when HAVE_purify is set.
        modified:
          storage/innobase/include/univ.i 2@cee13dc7-1704-0410-992b-c9b4543f1246:trunk%2Finclude%2Funiv.i
          storage/innodb_plugin/include/univ.i 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Finclude%2Funiv.i
      22b5e2ca
  7. 13 Apr, 2010 1 commit
  8. 31 Mar, 2010 1 commit
    • Mats Kindahl's avatar
      WL#5030: Split and remove mysql_priv.h · 3538238a
      Mats Kindahl authored
      This patch:
      
      - Moves all definitions from the mysql_priv.h file into
        header files for the component where the variable is
        defined
      - Creates header files if the component lacks one
      - Eliminates all include directives from mysql_priv.h
      - Eliminates all circular include cycles
      - Rename time.cc to sql_time.cc
      - Rename mysql_priv.h to sql_priv.h
      3538238a
  9. 16 Oct, 2009 1 commit
  10. 25 Aug, 2009 1 commit
  11. 07 Aug, 2009 1 commit
    • Guilhem Bichot's avatar
      Renamed storage/innodb_plugin to storage/innobase, so that 1) it's the same · 7f2dd157
      Guilhem Bichot authored
      layout as we always had in trees containing only the builtin
      2) win\configure.js WITH_INNOBASE_STORAGE_ENGINE still works.
      
      storage/innobase/CMakeLists.txt:
        fix to new directory name (and like 5.1)
      storage/innobase/Makefile.am:
        fix to new directory name (and like 5.1)
      storage/innobase/handler/ha_innodb.cc:
        fix to new directory name (and like 5.1)
      storage/innobase/plug.in:
        fix to new directory name (and like 5.1)
      7f2dd157
  12. 30 Jul, 2009 1 commit
  13. 10 Jun, 2009 1 commit
    • Vladislav Vaintroub's avatar
      Backport WL#3653 to 5.1 to enable bundled innodb plugin. · dd86e2cd
      Vladislav Vaintroub authored
      Remove custom DLL loader code from innodb plugin code, use 
      symbols exported from mysqld.
      
      
      storage/innodb_plugin/handler/ha_innodb.cc:
        Remove a Win32 workaround for current_thd.
        The original  problem that innodb plugin used
        value of TLS variable across DLL boundaries is 
        solved in MySQL server (current_thd is a function
        not TLS variable now)
      storage/innodb_plugin/handler/handler0alter.cc:
        Remove custom delay loader
      storage/innodb_plugin/handler/handler0vars.h:
        Remove custom delay loader
      storage/innodb_plugin/handler/i_s.cc:
        Remove custom delay loader
      storage/innodb_plugin/handler/win_delay_loader.cc:
        Remove custom delay loader
      storage/innodb_plugin/plug.in:
        Remove commented out MYSQL_PLUGIN_STATIC, 
        CMake would not parse that correctly
      dd86e2cd
  14. 27 May, 2009 1 commit