1. 30 Nov, 2007 2 commits
    • marko's avatar
      Merge a change from MySQL AB: · 204964b7
      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.
      204964b7
    • marko's avatar
      Merge a change from MySQL AB: · faabd6de
      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().
      faabd6de
  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() · 6c6208ac
      vasil authored
      to the InnoDB coding style.
      6c6208ac
    • vasil's avatar
      Fix Bug#32125 (http://bugs.mysql.com/32125) · eddb1258
      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)
      
      eddb1258
  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 · 0c04ac85
      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.
      0c04ac85
  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. · 316fe7a0
      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().
      316fe7a0
  15. 25 Sep, 2007 1 commit
  16. 24 Sep, 2007 4 commits
    • marko's avatar
      Merge a change from MySQL AB: · b44b2ae5
      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 
      b44b2ae5
    • marko's avatar
      Merge a change from MySQL AB: · 16566e23
      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.
      16566e23
    • marko's avatar
      Merge changes from MySQL AB: · f0d11fca
      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.
      f0d11fca
    • marko's avatar
      Merge changes from MySQL to the MySQL-owned file CMakeLists.txt: · 0defee3e
      marko authored
      ChangeSet@1.2528.109.1  2007-08-06 23:16:01+02:00  kent@(none)
        Additional changes for bug#29903
      0defee3e
  17. 21 Sep, 2007 1 commit
    • vasil's avatar
      snprintf() should always return non-negative result. According to · d7e10f72
      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
      d7e10f72
  18. 20 Sep, 2007 1 commit
    • vasil's avatar
      Revert r1850 as MySQL did not approve the addition. · 2ee633f8
      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().
      2ee633f8
  19. 19 Sep, 2007 1 commit
    • vasil's avatar
      Add ut_snprintf() function. On Windows this needs to be implemented · 6a0f6df9
      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
      6a0f6df9
  20. 17 Sep, 2007 1 commit
    • vasil's avatar
      Implement this feature request: · 8785af49
      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
      
      8785af49
  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. · 18e0aaa3
      sunny authored
      Add a missing comment, fix the length of a decoration.  Initialize the *value
      out parameter in ha_innobase::innobase_get_auto_increment().
      18e0aaa3
    • marko's avatar
      Improve memory debugging. This is follow-up to r1819. · 10ca4727
      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.
      10ca4727
  25. 09 Sep, 2007 1 commit
  26. 08 Sep, 2007 1 commit
    • sunny's avatar
      Fix two bugs: · 73fd2622
      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.
      73fd2622
  27. 07 Sep, 2007 2 commits
    • marko's avatar
      Merge r1826 from branches/zip: UNIV_MEM_ASSERT_AND_FREE(): · 023cc0a2
      marko authored
      Use UNIV_MEM_ASSERT_W() instead of UNIV_MEM_ASSERT_RW().
      The memory area need not be initialized.
      This mistake was made in r1815.
      023cc0a2
    • sunny's avatar
      Merge a change from MySQL AB: · 02d91af9
      sunny authored
      ChangeSet@1.2536.50.1  2007-08-02 12:45:56-07:00  igor@mysql.com
      
      Fixed bug#28404.
      This patch adds cost estimation for the queries with ORDER BY / GROUP BY
      and LIMIT.
      If there was a ref/range access to the table whose rows were required
      to be ordered in the result set the optimizer always employed this access
      though a scan by a different index that was compatible with the required
      order could be cheaper to produce the first L rows of the result set.
      Now for such queries the optimizer makes a choice between the cheapest
      ref/range accesses not compatible with the given order and index scans
      compatible with it.
      
      innodb.result: Adjusted results for test cases affected fy the fix for
      bug #28404.
      02d91af9
  28. 06 Sep, 2007 1 commit