1. 12 Sep, 2006 1 commit
    • marko's avatar
      Reduce the size of the data dictionary cache. (Bug #20877) · 1c1026ec
      marko authored
      dtype_t: Remove unused field "prec", which was supposed to be used for
      the precision of decimal columns in stand-alone InnoDB.
      
      dtype_get_prec(): Remove.
      
      dtype_set(), dict_mem_table_add_col(): Remove parameter "prec".
      
      dtype_t: Turn all fields (mtype, prtype, len, mbminlen, mbmaxlen, len)
      into bit-fields.
      
      dict_table_t, dict_index_t, dict_tree_t: Omit magic_n from non-debug builds.
      
      dict_col_t: Turn ind, clust_pos, and ord_part into bit-fields.
      
      Replace the default clust_pos value ULINT_UNDEFINED with
      REC_MAX_N_FIELDS and replace all references to clust_pos with calls to
      the accessor function dict_col_get_clust_pos().
      
      dict_field_t: Turn prefix_len and fixed_len into bit-fields.
      
      dict_tree_t: Remove pad[64].
      
      dict_table_t: Turn the fields ibd_file_missing, tablespace_discarded,
      cached, flags, stat_initialized, and autoinc_inited into bit-fields.
      Remove does_not_fit_in_memory from non-debug builds.
      
      dict_index_t: Turn the fields trx_id_offset, n_user_defined_cols,
      n_uniq, n_def, n_fields, n_nullable, and cached into bit-fields.
      
      dict_foreign_struct: Turn n_fields and type into bit-fields.
      
      rw_lock_t: Turn cline, last_s_line, and last_x_line into bit-fields.
      Omit level unless #defined UNIV_SYNC_DEBUG.
      
      Move REC_MAX_N_FIELDS (and REC_MAX_HEAP_NO and REC_MAX_N_OWNED)
      from rem0rec.c to rem0types.h, as they are needed in dict0dict.ic.
      dict_col_get_clust_pos(): Map REC_MAX_N_FIELDS to ULINT_UNDEFINED.
      1c1026ec
  2. 11 Sep, 2006 2 commits
    • marko's avatar
      Merge code cleanup from MySQL AB: · 85f5b73e
      marko authored
      ChangeSet
        2006/09/07 08:23:58-07:00 brian@zim.(none) 
        Moves Innodb handler to the Innodb storage directory.
      
      storage/innobase/handler/ha_innodb.cc
        2006/09/07 08:23:53-07:00 brian@zim.(none) +2 -3
        Adjusted include files, also disabled replication code which was not
        being used.
      
      ChangeSet
        2006/09/07 12:34:12-07:00 brian@zim.(none) 
        Fix for a compile problem in Windows. 
      
      storage/innobase/handler/ha_innodb.cc
        2006/09/07 12:34:10-07:00 brian@zim.(none) +0 -28
        Removed some dead code (Marko approved)
      85f5b73e
    • marko's avatar
      Move ha_innodb.cc and ha_innodb.h from sql to storage/innobase/handler. · 88fbb7e9
      marko authored
      This was submitted by Marko to MySQL AB and merged to the MySQL tree by
      Brian Aker in the following two changesets:
      
      ChangeSet
        2006/09/07 08:23:58-07:00 brian@zim.(none) 
        Moves Innodb handler to the Innodb storage directory.
      
      ChangeSet
        2006/09/07 16:17:16-07:00 brian@zim.(none) 
        Warning fixes for Windows, and an include fix for Windows for Innodb.
      
      storage/innobase/CMakeLists.txt
        2006/09/07 16:17:13-07:00 brian@zim.(none) +6 -1
        Fixed includes for Windows
      88fbb7e9
  3. 06 Sep, 2006 1 commit
    • marko's avatar
      On data tuples being updated or inserted (but not searched for), · 006e7c88
      marko authored
      set type->len to the prefix_len of the index column, if it is a prefix index.
      This should prevent bugs similar to Bug #21638 from occurring.
      
      dict_index_copy_types(): Set type->len to prefix_len if prefix_len != 0.
      
      row_build_index_entry(): Set type->len to prefix_len if prefix_len != 0,
      also when the column in the tuple is SQL NULL, because the type information
      may be used for interpreting other records during btr_page_reorganize().
      006e7c88
  4. 05 Sep, 2006 4 commits
  5. 04 Sep, 2006 4 commits
    • marko's avatar
    • marko's avatar
      Merge code from MySQL AB: · 5ff97974
      marko authored
      ChangeSet
        2006/08/25 13:31:15-07:00 brian@zim.(none) 
        Cleanup of unused variables.
      
      sql/ha_innodb.h
        2006/08/25 13:31:11-07:00 brian@zim.(none) +0 -6
        Unused variable
      5ff97974
    • marko's avatar
      Merge code from MySQL AB: · 4af9b6d3
      marko authored
      ChangeSet
        2006/08/22 16:24:12-07:00 brian@zim.(none) 
        This changest:
        Plugins now when compiled or not compiled work correctly with status variables. 
        Status variables from plugins now set their own names (removed bit where plugin name was pre-appended this broke Innodb and Cluster)
        A few Makefile cleanups. 
      
      sql/ha_innodb.cc
        2006/08/22 16:24:08-07:00 brian@zim.(none) +16 -6
        Cleanup to make status variables directly in engine
      4af9b6d3
    • marko's avatar
      ha_innodb.cc: Adjust the comment related to r784. Apparently it was · 4941acd4
      marko authored
      changed after review on the MySQL side.
      4941acd4
  6. 01 Sep, 2006 2 commits
    • marko's avatar
      Merge a patch from MySQL AB: · 1ce2c0f8
      marko authored
      ChangeSet@1.2288, 2006-08-29 15:35:05+02:00, guilhem@gbichot3.local +2 -0
        Fix for BUG#20866 "show table status on innodb raises assertion"
        and its duplicate BUG#19057 "Test 'rpl_row_func003' fails on SuSE SLES9 x86".
        It was an assertion failure, only in debug builds, not present
        in released versions (nothing to document).
        It happened when doing SHOW TABLE STATUS on an InnoDB table
        having an auto_increment column, right after creating the table.
      
        sql/ha_innodb.cc@1.288, 2006-08-29 15:35:02+02:00, guilhem@gbichot3.local +7 -1
          Before a val_() calls on a Field object, if that field was not marked
          for read, we need to mark it. This is explained here:
          ChangeSet 1.2119.601.1 2006/06/04 18:52:22 monty@mysql.com
          quoting the changeset's comment:
          
            - If a handler needs to call Field->val() or Field->store() on columns
              that are not used in the query, one should install a temporary
              all-columns-used map while doing so. For this, we provide the following
              functions:
            
              my_bitmap_map *old_map= dbug_tmp_use_all_columns(table, table->read_set);
              field->val();
              dbug_tmp_restore_column_map(table->read_set, old_map);
            
              and similar for the write map:
            
              my_bitmap_map *old_map= dbug_tmp_use_all_columns(table, table->write_set);
              field->val();
              dbug_tmp_restore_column_map(table->write_set, old_map);
            
              If this is not done, you will sooner or later hit a DBUG_ASSERT
              in the field store() / val() functions.
              (For not DBUG binaries, the dbug_tmp_restore_column_map() and
              dbug_tmp_restore_column_map() are inline dummy functions and should
              be optimized away be the compiler).
          
          Note that I verified that the bug didn't exist in non-debug builds.
      1ce2c0f8
    • marko's avatar
      Revert the hunk on ha_innobase::innobase_read_and_init_auto_inc() · fb067e41
      marko authored
      that was accidentally committed in r782.
      fb067e41
  7. 31 Aug, 2006 6 commits
  8. 30 Aug, 2006 1 commit
    • marko's avatar
      Merge changes from MySQL AB: · 965a9416
      marko authored
      ChangeSet
        2006/08/23 13:59:16-07:00 brian@zim.(none) 
        This patch removes need for a innodb to have its own configure. 
      
      univ.i: Replace ../ib_config.h with config.h.
      
      Makefile.i, Makefile.am: Change directory paths.
      
      configure.in: Delete.
      
      plug.in: New file, included from the top-level configure.in.
      
      setup.sh: Replace configure.in with plug.in.
      965a9416
  9. 29 Aug, 2006 3 commits
  10. 28 Aug, 2006 3 commits
    • marko's avatar
      Reindent the code base (except for ha_innodb.{cc,h} and generated parser · 8f18616e
      marko authored
      and lexer files).  From now on, the following Emacs cc-mode settings apply
      when indenting C function bodies in InnoDB:
      
      (setq c-basic-offset 8)
      (setq c-label-minimum-indentation 0)
      (add-to-list 'c-offsets-alist '(c . 0))
      (add-to-list 'c-offsets-alist '(label . [0]))
      
      The indentation rules for function declarations still have not been
      formalized, and they must be formatted manually.
      
      Try to limit all lines to at most 79 characters (assuming TAB stops every
      8 characters) by splitting lines before opening parenthesis, or at
      string constants.
      
      Fix some grammar mistakes in diagnostic output:
       match to, match with -> match
       found from -> found in
       trying rename -> trying to rename
      
      Fix an error in page_check_dir(): it said "supremum not pointed to"
      when the infimum was not pointed to.
      
      Enclose commented-out code snippets in #if 0 ... #endif instead of /* ... */.
      Add (void*) casts to some %p parameters in fprintf() calls.  Try to
      split lines before a binary operator, not after one.  (These three fixes
      were not made everywhere.)
      8f18616e
    • osku's avatar
      page_validate(): Add missing space to error print, for real this time, · bd338ceb
      osku authored
      following an error in r761.
      bd338ceb
    • osku's avatar
      btr_cur_search_to_nth_level(): Document where cursor is left at in · 66241d5a
      osku authored
      PAGE_CUR_LE searches.
      
      page_validate(): Add missing space to error print.
      66241d5a
  11. 22 Aug, 2006 1 commit
  12. 17 Aug, 2006 2 commits
  13. 16 Aug, 2006 1 commit
  14. 14 Aug, 2006 4 commits
  15. 11 Aug, 2006 5 commits
    • marko's avatar
    • marko's avatar
      ha_innobase::delete_all_rows(): Correct an error introduced in r705: · b0d9c363
      marko authored
      Replace the local variable "trx" with "prebuilt->trx".
      
      Also, replace the second invocation of the macro current_thd with
      the local variable thd.
      b0d9c363
    • marko's avatar
      Merge a change from MySQL AB: · 122ca353
      marko authored
      # ChangeSet
      #   2006/07/30 05:16:08+04:00 aivanov@mysql.com 
      #   Make innodb_thread_concurrency 0 by default.
      #    Fixing test result.
      # 
      # mysql-test/r/innodb.result
      #   2006/07/30 05:16:05+04:00 aivanov@mysql.com +1 -1
      #   Make innodb_thread_concurrency 0 by default.
      #    Fixing test result.
      122ca353
    • marko's avatar
      Merge a change from MySQL AB (originally implemented by Marko · b4270e70
      marko authored
      in the 5.0 tree and now merged to the 5.1 tree):
      
      # ChangeSet
      #   2006/07/29 07:17:33+04:00 aivanov@mysql.com 
      #   Make innodb_flush_log_at_trx_commit a settable global variable.
      # 
      # sql/ha_innodb.cc
      #   2006/07/29 07:17:29+04:00 aivanov@mysql.com +1 -3
      #   Remove innobase_flush_log_at_trx_commit
      #   (set srv_flush_log_at_trx_commit directly).
      # 
      # sql/ha_innodb.h
      #   2006/07/29 07:17:29+04:00 aivanov@mysql.com +1 -1
      #   Remove innobase_flush_log_at_trx_commit.
      #   Declare srv_flush_log_at_trx_commit.
      # 
      # storage/innobase/include/srv0srv.h
      #   2006/07/29 07:17:30+04:00 aivanov@mysql.com +1 -1
      #   Change the type of srv_flush_log_at_trx_commit.
      # 
      # storage/innobase/srv/srv0srv.c
      #   2006/07/29 07:17:30+04:00 aivanov@mysql.com +1 -1
      #   Change the type of srv_flush_log_at_trx_commit.
      # 
      b4270e70
    • marko's avatar
      Merge a change from MySQL AB: · 6389cd96
      marko authored
      # ChangeSet
      #   2006/07/28 21:27:01+04:00 sergefp@mysql.com 
      #   BUG#14940 "MySQL choose wrong index", v.2
      # mysql-test/r/innodb_gis.result
      #   2006/07/28 21:26:56+04:00 sergefp@mysql.com +15 -15
      #   BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      6389cd96