1. 26 Oct, 2006 1 commit
    • marko's avatar
      innodb.result, innodb_mysql.result: Merge changes from MySQL AB: · 197e6a07
      marko authored
      ChangeSet
        2006/10/09 19:51:41+04:00 gkodinov@macbook.local 
        Bug #22781: SQL_BIG_RESULT fails to influence sort plan
         Currently SQL_BIG_RESULT is checked only at compile time.
         However, additional optimizations may take place after
         this check that change the sort method from 'filesort'
         to sorting via index. As a result the actual plan
         executed is not the one specified by the SQL_BIG_RESULT
         hint. Similarly, there is no such test when executing
         EXPLAIN, resulting in incorrect output.
         The patch corrects the problem by testing for
         SQL_BIG_RESULT both during the explain and execution
         phases.
      197e6a07
  2. 19 Oct, 2006 1 commit
  3. 18 Oct, 2006 1 commit
  4. 16 Oct, 2006 2 commits
  5. 12 Oct, 2006 1 commit
  6. 10 Oct, 2006 2 commits
  7. 09 Oct, 2006 3 commits
  8. 06 Oct, 2006 1 commit
  9. 05 Oct, 2006 2 commits
    • marko's avatar
      Merge changes from MySQL AB. · 4351bedb
      marko authored
      dict_col_copy_type_noninline(): Remove the return statement.
      Some compilers do not allow return expressions of void type.
      
      innobase_start_or_create_for_mysql(): Do not cap srv_max_threads to 1000
      on Windows.
      
      Makefile.am (EXTRA_DIST): Add plug.in
      4351bedb
    • marko's avatar
      Merge changes to mysql-test from MySQL AB. · a3a43211
      marko authored
      innodb_unsafe_binlog, innodb_handler, innodb-big, innodb_cache-master,
      innodb-deadlock, innodb_cache: Remove.  These have been renamed in the
      MySQL tree.
      
      innodb_mysql: Update.
      a3a43211
  10. 03 Oct, 2006 3 commits
    • marko's avatar
      storage/innobase/handler: Merge changes from MySQL AB: · e1d04a69
      marko authored
      ChangeSet
        2006/09/30 18:44:42-07:00 brian@zim.(none) 
        Merge zim.(none):/home/brian/mysql/merge-5.1
        into  zim.(none):/home/brian/mysql/arch-5.1
      
      ChangeSet
        2006/09/30 12:49:46-07:00 brian@zim.(none) 
        This patch adds handlerton passing to functions. NDB and Innodb still require a global hanlderton in the main code due to the nature of the sql_cache call back function (should be solveable... another patch).
        Partitioning now has a flag to allow disabling of engines from being compatible with partitioning. Cleaned up heap naming convention on panic call. 
      
      ChangeSet
        2006/09/29 17:19:02-07:00 brian@zim.(none) 
        This removes the passing of global hton to engine instance. 
      
      ChangeSet
        2006/09/28 13:22:56+02:00 gbichot@dl145h.mysql.com 
        Merge gbichot@bk-internal:/home/bk/mysql-5.1-arch
        into  dl145h.mysql.com:/users/gbichot/mysql-5.1-arch
      
      ChangeSet
        2006/09/28 13:19:43+02:00 gbichot@dl145h.mysql.com 
        In the handlerton, cursor creation function don't have an argument
        and so the engine calls current_thd to derive transaction information;
        instead we now pass THD to those functions, it looks more logical
        (it makes the implicit current_thd parameter more visible).
        Approved by Brian and Monty.
      
      ChangeSet
        2006/09/26 22:51:53-07:00 brian@zim.(none) 
        Merge zim.(none):/home/brian/mysql/merge-5.1
        into  zim.(none):/home/brian/mysql/arch-5.1
      e1d04a69
    • marko's avatar
      setup.sh: Once more. Remember that the glob expansion works relative to · 693f1954
      marko authored
      the current directory.
      693f1954
    • marko's avatar
  11. 02 Oct, 2006 1 commit
  12. 26 Sep, 2006 2 commits
  13. 22 Sep, 2006 1 commit
  14. 21 Sep, 2006 1 commit
  15. 20 Sep, 2006 5 commits
  16. 19 Sep, 2006 3 commits
  17. 18 Sep, 2006 6 commits
    • marko's avatar
      f77f36b2
    • marko's avatar
      dict_col_t: Copy the fields of "dtype_t type" directly to this structure, · 79644bdb
      marko authored
      so that all integer fields can be packed into 64 bits.  (Bug #20877)
      
      dtype_t: Change the type of all bit-fields to unsigned.
      
      dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
      dict_table_get_sys_col(), dict_field_get_col(): Return const
      dict_col_t*, so that changes to dict_col_t can be detected more
      easily.  Add const to many dict_col_t* declarations.
      
      dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
      
      dict_col_get_type(): Replace with dict_col_copy_type().
      
      dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
      dict_col_get_sql_null_size(): New functions.
      
      dtype_get_at_most_n_mbchars(): Replace the parameter dtype
      with the parameters prtype, mbminlen, mbmaxlen.
      
      dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
      cmp_whole_field(): Replace the dtype_t* parameter with the ulint
      parameters mtype, prtype.
      
      dtype_copy(): Add a const qualifier to type2 (the one being copied from).
      
      dtype_set_mblen(): Replaced with dtype_get_mblen().
      
      dtype_get_fixed_size_low(), dtype_get_min_size_low(),
      dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
      dtype_get_min_size(), and dtype_get_max_size().  These are used by the
      dict_col_get_{fixed,min,max}_size() functions.
      
      cmp_types_are_equal(): Replace with cmp_cols_are_equal().
      
      dict_table_get_col_name(): Add a const qualifier parameter to the
      parameter "table".
      
      dtype_binary, dtype_binary_val: Remove.
      
      dtype_is_fixed_size(): Remove.
      79644bdb
    • marko's avatar
      Tweak the bit-field definitions introduced since r813 to address Bug #20877. · 0b25b850
      marko authored
      rw_lock_t: Do not make writer_is_wait_ex a bit-field.  There are no fields
      yet that could be fused to the same machine word, but we play it safe,
      because the field writer_is_wait_ex may be modified by several threads
      simultaneously.  Such fields should always be allocated an own machine
      word.
      
      dict_table_t: Change the type of all bit-fields to "unsigned".  Make
      "space" a bit-field of 32 bits.  Move name_hash and id_hash after all
      bit-fields, so that the bit-fields can be allocated together.  Do not
      make autoinc_inited a bit-field, as we cannot allocate any field
      from the same machine word.
      
      dict_build_table_def_step(): Pass a local variable to
      fil_create_new_single_table_tablespace() and initialize table->space
      from it after the call, now that table->space is a bit-field.
      0b25b850
    • osku's avatar
      Add dict_table_get_col_name() in preparation for getting rid of · 37298128
      osku authored
      dict_col_t::name, and use it instead of col->name everywhere.
      37298128
    • marko's avatar
    • marko's avatar
      page_align(ptr): New utility function to replace · 96ac3d46
      marko authored
      ut_align_down(ptr, UNIV_PAGE_SIZE) calls.
      96ac3d46
  18. 15 Sep, 2006 4 commits
    • heikki's avatar
      Erase the magic number in the trx sys header using a redo-logged write; · 05b222ff
      heikki authored
      it should be redo-logged because the data structure is file-based;
      this patch does not fix any bug; the original erase operation was added
      in r781 to fix Valgrind Bug #20791
      05b222ff
    • marko's avatar
      Remove dict_tree_t, which should have been removed in r453. · dc9107df
      marko authored
      There always was a one-to-one mapping between dict_tree_t and dict_index_t.
      
      This saves 6 machine words per B-tree index in the data dictionary
      cache plus the memory allocation overhead.  We save one mem_heap_t
      object per index (15 machine words).  Considering the internal
      fragmentation of the buddy allocator in mem_area_alloc(), this should
      save 32 machine words per index (128 bytes on 32-bit systems and 256
      bytes on 64-bit systems).  (Bug #20877)
      
      struct dict_tree_struct, dict_tree_t: Remove.
      
      struct dict_index_struct: Add page and lock.
      
      dict_tree_create(): Remove.  Replace the invocation with
      assignment to index->page and a call to rw_lock_create(&index->lock).
      
      dict_tree_free(): Remove.  Replace the invocation wtih
      a call to rw_lock_free(&index->lock).
      
      dict_index_get_tree(): Remove.
      
      dict_tree_get_space_reserve(): Rename to dict_index_get_space_reserve()
      and remove the parameter, which was unused.
      
      btr_level_list_remove(): Remove the unused parameter "tree".
      
      Replace the occurrences of "tree" with "index" in names of variables,
      functions and data types, e.g. "dict_tree_t tree" becomes
      "dict_index_t index".  Remove local variables "tree" or "index" of
      functions that needed both "tree" and "index".
      dc9107df
    • osku's avatar
      Make dict_index_find_cols() always succeed. · 7bb535bb
      osku authored
      7bb535bb
    • osku's avatar
      The code base was reindented in r763 and automatic .emacs indentation · 16951e43
      osku authored
      settings introduced. Some problems were found, so from this commit on one
      additional indentation rule is introduced:
      
       (add-to-list 'c-offsets-alist '(arglist-intro . +))
      
      Note that fixing some of the unfortunate line-splits done in r764 will be
      done in a future change.
      16951e43