1. 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
  2. 25 Sep, 2007 1 commit
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 14 Sep, 2007 1 commit
  9. 13 Sep, 2007 1 commit
  10. 12 Sep, 2007 1 commit
  11. 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
  12. 09 Sep, 2007 1 commit
  13. 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
  14. 07 Sep, 2007 2 commits
    • marko's avatar
      Merge r1826 from branches/zip: UNIV_MEM_ASSERT_AND_FREE(): · 791599f1
      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.
      791599f1
    • sunny's avatar
      Merge a change from MySQL AB: · 29a50ec5
      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.
      29a50ec5
  15. 06 Sep, 2007 2 commits
    • sunny's avatar
      Use the clustered index and not the one selected by the optimizer in the plan, · 7e9e89b3
      sunny authored
      when building a previous version of the row. This bug is triggered when
      running queries via InnoDB's internal SQL parser; when InnoDB's optimizer
      selects a secondary index for the plan.
      7e9e89b3
    • marko's avatar
      Merge r1815:1817 from branches/zip: Improve Valgrind instrumentation. · a310c56b
      marko authored
      UNIV_MEM_ASSERT_RW(): New macro, to check that the contents of a memory
      area is defined.
      
      UNIV_MEM_ASSERT_W(): New macro, to check that a memory area is writable.
      
      UNIV_MEM_ASSERT_AND_FREE(): New macro, to check that the memory is
      writable before declaring it free (unwritable).  This replaces UNIV_MEM_FREE()
      in many places.
      
      mem_init_buf(): Check that the memory is writable, and declare it undefined.
      
      mem_erase_buf(): Check that the memory is writable, and declare it freed.
      a310c56b
  16. 05 Sep, 2007 1 commit
  17. 03 Sep, 2007 1 commit
  18. 01 Sep, 2007 2 commits
  19. 31 Aug, 2007 1 commit
  20. 30 Aug, 2007 6 commits
  21. 23 Aug, 2007 4 commits
  22. 22 Aug, 2007 4 commits