1. 30 Nov, 2007 5 commits
    • marko's avatar
      Merge a change from MySQL AB: · 45579db4
      marko authored
      ChangeSet@1.2528.116.44  2007-09-12 18:16:50-07:00  antony@xiphis.org
      
      Changes for pushbuild test runs and VSC compile warnings
      
      ha_innodb.cc:
      
      resolve a VSC++ typecast compile warning.
      45579db4
    • marko's avatar
      Merge a change from MySQL AB: · 9e014647
      marko authored
      ChangeSet@1.2528.116.43  2007-09-12 13:35:39-07:00  antony@xiphis.org
      
      undo unneccessary change to ha_innodb.cc
      remove 'drop database' from new tests.
      
      ha_innodb.cc:
      
      undo unneccessary edits.
      9e014647
    • marko's avatar
      Merge a change from MySQL AB: · 2928e930
      marko authored
      ChangeSet@1.2528.116.42  2007-09-08 20:26:12-07:00  antony@xiphis.org
      
      Bug#30919
        "Rows not deleted from innodb partitioned tables if
        --innodb_autoinc_lock_mode=0"
      
        Due to a previous bugfix which initializes a previously uninitialized
        variable, ha_partition::get_auto_increment() may fail to operate
        correctly when the storage engine reports that it is only reserving
        one value and one or more partitions have a different 'next-value'.
        Currently, only affects Innodb's new-style auto-increment code which
        reserves larger blocks of values and has less inter-thread contention.
      
      ha_innodb.cc:
      Bug30919
        Only set *first_value if it is less than autoinc value. This allows
        a higher value to be hinted when operating as a partitioned table.
      2928e930
    • marko's avatar
      Merge a change from MySQL AB: · 7acad9f3
      marko authored
      ChangeSet@1.2528.116.40  2007-09-08 11:19:35-07:00  acurtis@xiphis.org
      
      Bug#30907
        "Regression: "--innodb_autoinc_lock_mode=0" (off) not same as older releases"
      Bug#28430
        "Failure in replication of innodb partitioned tables on row/mixed format"
      Bug#30888
        "Innodb table + stored procedure + row deletion = server crash"
      
        Apply Oracle patch from Sunny
        Include tests cases by Omer
        Ensure that innobase_read_and_init_auto performs table autoinc lock when
        lock_mode = 0
        No need for "if" guard around row_unlock_table_autoinc_for_mysql() because
        it already performs same check.
        Make autoinc_lock_mode variable read-only for duration of running
        mysqld process.
      
      ha_innodb.cc:
      Bug30907/28430
        "Regression: "--innodb_autoinc_lock_mode=0" (off) not same as older releases"
        "Failure in replication of innodb partitioned tables on row/mixed format"
        Apply Oracle patch from Sunny
        Ensure that innobase_read_and_init_auto performs table autoinc lock when
        lock_mode = 0
        No need for "if" guard around row_unlock_table_autoinc_for_mysql() because
        it already performs same check.
        Make autoinc_lock_mode variable read-only for duration of running
        mysqld process.
      7acad9f3
    • marko's avatar
      Merge a change from MySQL AB: · ee1cb5eb
      marko authored
      ChangeSet@1.2528.24.43  2007-08-02 02:22:31-06:00  tsmith@hindu.god
      
      Post-merge fix, add InnoDB compatibility hook (defined for
      InnoDB only), thd_mark_transaction_to_rollback().
      ee1cb5eb
  2. 23 Nov, 2007 1 commit
  3. 16 Nov, 2007 2 commits
  4. 14 Nov, 2007 2 commits
    • vasil's avatar
      Non-functional change: convert the switch in convert_search_mode_to_innobase() · 96889ca9
      vasil authored
      to the InnoDB coding style.
      96889ca9
    • vasil's avatar
      Fix Bug#32125 (http://bugs.mysql.com/32125) · 38884f45
      vasil authored
      "Database crash due to ha_innodb.cc:3896: ulint convert_search_mode_to_innobase":
      
      When unknown find_flag is encountered in convert_search_mode_to_innobase()
      do not call assert(0); instead queue a MySQL error using my_error() and
      return the error code PAGE_CUR_UNSUPP. Change the functions that call
      convert_search_mode_to_innobase() to handle that error code by "canceling"
      execution and returning appropriate error code further upstream.
      
      Approved by:	Heikki (via IM)
      38884f45
  5. 31 Oct, 2007 1 commit
  6. 26 Oct, 2007 1 commit
    • sunny's avatar
      Fix for Bug# 31860, in the Bug 16979 fix there was an erroneous assertion that · 0924601f
      sunny authored
      autoincrement columns can't contain negative values. With the fix, the
      autoincrement table counter is set to 0 if the maximum value read from
      the autoinc column index is negative.
      
      Add test for the bug fix but the test is not really useful as the server
      needs to be restarted half way through the test. It has been added for 
      reference only.
      0924601f
  7. 25 Oct, 2007 1 commit
  8. 24 Oct, 2007 2 commits
  9. 17 Oct, 2007 2 commits
  10. 16 Oct, 2007 1 commit
  11. 12 Oct, 2007 2 commits
  12. 05 Oct, 2007 1 commit
  13. 03 Oct, 2007 2 commits
  14. 28 Sep, 2007 1 commit
    • marko's avatar
      Improve Valgrind instrumentation. · cc78f6ed
      marko authored
      rec_offs_set_n_alloc(): Use UNIV_MEM_ASSERT_AND_ALLOC().
      
      UNIV_MEM_ASSERT_AND_ALLOC(): New directive, similar to
      UNIV_MEM_ASSERT_AND_FREE().
      cc78f6ed
  15. 25 Sep, 2007 1 commit
  16. 24 Sep, 2007 4 commits
    • marko's avatar
      Merge a change from MySQL AB: · 7815285f
      marko authored
      ChangeSet@1.2560  2007-09-21 10:15:16+02:00  gkodinov@local
      
      ha_innodb.cc: fixed type conversion warnings revealed by bug 30639 
      7815285f
    • marko's avatar
      Merge a change from MySQL AB: · 352a5858
      marko authored
      ChangeSet@1.2528.115.30  2007-08-28 10:17:15-06:00  tsmith@hindu.god
      
      Fix another compiler warning on Windows in InnoDB.
      
      ha_innodb.cc:
      
      Fix compiler warning: ::get_auto_increment takes a ulonglong
      for nb_desired_values, but InnoDB's trx struct stores it as
      a ulint (unsigned long).  Probably harmless, as a single
      statement won't be asking for more than 2^32 rows.
      352a5858
    • marko's avatar
      Merge changes from MySQL AB: · 918dc1ab
      marko authored
      ChangeSet@1.2528.115.25  2007-08-27 18:18:14-06:00  tsmith@hindu.god
      
      Fix some Windows compiler warnings.
      
      dict0mem.c: Fix compiler warning with a cast.
      
      ha_innodb.cc: Change type to fix a compiler warning.
      918dc1ab
    • marko's avatar
      Merge changes from MySQL to the MySQL-owned file CMakeLists.txt: · 36529dd5
      marko authored
      ChangeSet@1.2528.109.1  2007-08-06 23:16:01+02:00  kent@(none)
        Additional changes for bug#29903
      36529dd5
  17. 21 Sep, 2007 1 commit
    • vasil's avatar
      snprintf() should always return non-negative result. According to · 24a3afc0
      vasil authored
      Microsoft documentation about _vscprintf():
      
        If format is a null pointer, the invalid parameter handler is invoked,
        as described in Parameter Validation. If execution is allowed to
        continue, the functions return -1 and set errno to EINVAL.
      
      The UNIX variant of snprintf() segfaults if format is a NULL pointer
      (similar to strlen(NULL) for example), so it is better to conform to
      this behavior and crash our custom Windows version instead of
      returning -1. Noone would expect -1 to be returned from snprintf().
      
      Cosmetic: Add a space after typecast.
      
      Approved by:	Marko
      24a3afc0
  18. 20 Sep, 2007 1 commit
    • vasil's avatar
      Revert r1850 as MySQL did not approve the addition. · 0044736f
      vasil authored
      log for r1850:
      
      Implement this feature request:
      http://bugs.mysql.com/30706
      
      * Add a function that returns the number of microseconds since
        epoch - ut_time_us().
      
      * Add (innodb|innobase|srv)_replication_delay MySQL config parameter.
      
      * Add UT_WAIT_FOR() macro that waits for a specified condition to occur
        until a timeout elapses.
      
      * Using all of the above, handle the replication thread specially in
        srv_conc_enter_innodb().
      0044736f
  19. 19 Sep, 2007 1 commit
    • vasil's avatar
      Add ut_snprintf() function. On Windows this needs to be implemented · 2ca1d286
      vasil authored
      using auxiliary functions because there is no snprintf-variant on
      Windows that behaves exactly as specified in the standard:
      
      * Always return the number of characters that would have been printed
        if the size were unlimited (not including the final `\0').
      * Always '\0'-terminate the result
      * Do not touch the buffer if size=0, only return the number of characters
        that would have been printed. Can be used to estimate the size needed
        and to allocate it dynamically.
      
      See http://www.freebsd.org/cgi/query-pr.cgi?pr=87260 for the reason why
      2 ap variables are used.
      
      Approved by:	Heikki
      2ca1d286
  20. 17 Sep, 2007 1 commit
    • vasil's avatar
      Implement this feature request: · 83187d4e
      vasil authored
      http://bugs.mysql.com/30706
      
      * Add a function that returns the number of microseconds since
        epoch - ut_time_us().
      
      * Add (innodb|innobase|srv)_replication_delay MySQL config parameter.
      
      * Add UT_WAIT_FOR() macro that waits for a specified condition to occur
        until a timeout elapses.
      
      * Using all of the above, handle the replication thread specially in
        srv_conc_enter_innodb().
      
      Approved by:	Heikki
      83187d4e
  21. 14 Sep, 2007 1 commit
  22. 13 Sep, 2007 1 commit
  23. 12 Sep, 2007 1 commit
  24. 10 Sep, 2007 2 commits
    • sunny's avatar
      Add /*== ... === */ decoration that was missing around some auto-inc functions. · 444ba771
      sunny authored
      Add a missing comment, fix the length of a decoration.  Initialize the *value
      out parameter in ha_innobase::innobase_get_auto_increment().
      444ba771
    • marko's avatar
      Improve memory debugging. This is follow-up to r1819. · 09128f55
      marko authored
      mem_heap_validate(): Compile this function also if UNIV_MEM_DEBUG is
      defined.  Previously, this function was only compiled with UNIV_DEBUG.
      
      mem_heap_free_heap_top(): Flag the memory allocated, not freed, for
      Valgrind.  Otherwise, Valgrind would complain on the second call of
      mem_heap_empty().
      
      UNIV_MEM_ASSERT_RW(), UNIV_MEM_ASSERT_W(): Display additional diagnostics
      for failed Valgrind checks.
      09128f55
  25. 09 Sep, 2007 1 commit
  26. 08 Sep, 2007 1 commit
    • sunny's avatar
      Fix two bugs: · 88867dae
      sunny authored
      Bug# 30907: We don't rely on *first_value to be 0 when checking whether
      get_auto_increment() has been invoked for the first time in a multi-row
      INSERT. We instead use trx_t::n_autoinc_rows. Initialize trx::n_autoinc_rows
      inside ha_innobase::start_stmt() too.
      
      Bug# 30888: While adding code for the low level read of the AUTOINC value
      from the index, the case for MEDIUM ints which are 3 bytes was missed
      triggering an assertion.
      88867dae