1. 17 Mar, 2009 3 commits
  2. 16 Mar, 2009 3 commits
  3. 12 Mar, 2009 3 commits
    • marko's avatar
      branches/zip: Merge revisions 4359:4400 from branches/5.1: · 48070b53
      marko authored
        ------------------------------------------------------------------------
        r4399 | marko | 2009-03-12 09:38:05 +0200 (Thu, 12 Mar 2009) | 2 lines
      
        branches/5.1: row_sel_get_clust_rec_for_mysql(): Store the cursor position
        also for unlock_row().  (Bug #39320)
        ------------------------------------------------------------------------
        r4400 | marko | 2009-03-12 10:06:44 +0200 (Thu, 12 Mar 2009) | 5 lines
      
        branches/5.1: Fix a bug in multi-table semi-consistent reads.
        Remember the acquired record locks per table handle (row_prebuilt_t)
        rather than per transaction (trx_t), so that unlock_row should successfully
        unlock all non-matching rows in multi-table operations.
        This deficiency was found while investigating Bug #39320.
        ------------------------------------------------------------------------
      
      These were submitted as rb://94 and rb://96 and approved by Heikki Tuuri.
      48070b53
    • marko's avatar
      branches/zip: trx_sys_create_doublewrite_buf(): As the dummy change, · 7b8d03fe
      marko authored
      initialize FIL_PAGE_TYPE.  This will make it easier to write the debug
      assertions for ibbackup --apply-log.
      7b8d03fe
    • marko's avatar
      branches/zip: btr_store_big_rec_extern_fields(): Initialize FIL_PAGE_TYPE · 391592d1
      marko authored
      in a separate redo log entry.  This will make ibbackup --apply-log
      debugging easier.
      391592d1
  4. 09 Mar, 2009 1 commit
    • calvin's avatar
      branches/zip: remove compile flag MYSQL_SERVER for dynamic plugin · af74d206
      calvin authored
      The dynamic plugin on Windows used to be built with MYSQL_SERVER
      compile flag, while it is not the case for other platforms.
      r3797 assumed MYSQL_SERVER was not defined for dynamic plugin,
      which introduced the engine crash during dropping a database.
      af74d206
  5. 05 Mar, 2009 7 commits
    • vasil's avatar
      branches/zip: · 99581426
      vasil authored
      Add ChangeLog entry for the bugfix in c4360.
      99581426
    • vasil's avatar
      branches/zip: Merge revision 4359 from branches/5.1: · eaf12b94
      vasil authored
        ------------------------------------------------------------------------
        r4359 | vasil | 2009-03-05 21:42:01 +0200 (Thu, 05 Mar 2009) | 14 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
        
        branches/5.1:
        
        Merge a change from MySQL:
        
          ------------------------------------------------------------
          revno: 2747
          committer: Timothy Smith <timothy.smith@sun.com>
          branch nick: 51
          timestamp: Fri 2009-01-16 17:49:07 +0100
          message:
            Add another cast to ignore int/ulong difference in error types, silence warning on Win64
          modified:
            storage/innobase/handler/ha_innodb.cc
        
        ------------------------------------------------------------------------
      eaf12b94
    • vasil's avatar
      branches/zip: Merge revision 4358 from branches/5.1 (resolving a conflict): · bbbce3d8
      vasil authored
        ------------------------------------------------------------------------
        r4358 | vasil | 2009-03-05 21:21:10 +0200 (Thu, 05 Mar 2009) | 21 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
        
        branches/5.1:
        
        Merge a change from MySQL:
        
          ------------------------------------------------------------
          revno: 2728.19.1
          committer: Alfranio Correia <alfranio.correia@sun.com>
          branch nick: mysql-5.1-bugteam
          timestamp: Tue 2009-02-03 11:36:46 +0000
          message:
            BUG#42445 Warning messages in innobase/handler/ha_innodb.cc
                  
            There was a type casting problem in the storage/innobase/handler/ha_innodb.cc,
            (int ha_innobase::write_row(...)). Innobase uses has an internal error variable
            of type 'ulint' while mysql uses an 'int'. 
                  
            To fix the problem the function manipulates an error variable of
            type 'ulint' and only casts it into 'int' when needs to return the value.
          modified:
            storage/innobase/handler/ha_innodb.cc
        
        ------------------------------------------------------------------------
      bbbce3d8
    • vasil's avatar
      branches/zip: Merge revisions 4287:4357 from branches/5.1: · 602ce08d
      vasil authored
        ------------------------------------------------------------------------
        r4325 | sunny | 2009-03-02 02:28:52 +0200 (Mon, 02 Mar 2009) | 10 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
           M /branches/5.1/mysql-test/innodb-autoinc.result
           M /branches/5.1/mysql-test/innodb-autoinc.test
        
        branches/5.1: Bug#43203: Overflow from auto incrementing causes server segv
        It was not a SIGSEGV but an assertion failure. The assertion was checking
        the invariant that *first_value passed in by MySQL doesn't contain a value
        that is greater than the max value for that type. The assertion has been
        changed to a check and if the value is greater than the max we report a
        generic AUTOINC failure.
        
        rb://93
        Approved by Heikki
        
        ------------------------------------------------------------------------
      602ce08d
    • vasil's avatar
      branches/zip: · 3c9bec11
      vasil authored
      Implement a check whether pthread_t objects can be used by GCC atomic
      builtin functions. This check is implemented in plug.in and defines the
      macro HAVE_ATOMIC_PTHREAD_T. This macro is checked in univ.i and the
      relevant part of the code enabled (the one that uses GCC atomics against
      pthread_t objects).
      
      In addition to this, the same program that is compiled as part of the
      plug.in check is added in ut/ut0auxconf.c. In the InnoDB Plugin source
      archives that are shipped to the users, a generated Makefile.in is added.
      That Makefile.in will be modified to compile ut/ut0auxconf.c and define
      the macro HAVE_ATOMIC_PTHREAD_T if the compilation succeeds. I.e.
      Makefile.in will emulate the work that is done by plug.in. This is done in
      order to make the check happen and HAVE_ATOMIC_PTHREAD_T eventually
      defined without regenerating MySQL's ./configure from
      ./storage/innobase/plug.in. The point is not to ask users to install the
      autotools and regenerate ./configure.
      
      rb://95
      
      Approved by:	Marko
      3c9bec11
    • vasil's avatar
      branches/zip: · 584f4cea
      vasil authored
      Fix typo made in r4353.
      584f4cea
    • vasil's avatar
      branches/zip: · 16010bad
      vasil authored
      As suggested by Ken, print a message that says that the Google SMP patch
      (GCC atomics) is disabled if it is. Also extend the message when the patch
      is partially enabled to make it clear that it is partially enabled.
      16010bad
  6. 27 Feb, 2009 3 commits
    • vasil's avatar
      branches/zip: · 94ea323e
      vasil authored
      Add FreeBSD to the list of the operating systems that have
      sizeof(pthread_t) == sizeof(void*) (i.e. word size).
      
      On FreeBSD pthread_t is defined like:
      
        /usr/include/sys/_pthreadtypes.h:
      
        typedef struct  pthread                 *pthread_t;
      
      I did the following tests (per Inaam's recommendation):
      
      a) appropriate version of GCC is available on that platform (4.1.2 or
      higher for atomics to be available)
      
        On FreeBSD 6.x the default compiler is 3.4.6, on FreeBSD 7.x the default
        one is 4.2.1. One can always install the version of choice from the ports
        collection. If gcc 3.x is used then HAVE_GCC_ATOMIC_BUILTINS will not be
        defined and thus the change I am committing will make no difference.
      
      b) find out if sizeof(pthread_t) == sizeof(long)
      
        On 32 bit both are 4 bytes, on 64 bit both are 8 bytes.
      
      c) find out the compiler generated platform define (e.g.: __aix, __sunos__
      etc.)
      
        The macro is __FreeBSD__.
      
      d) patch univ.i with the appropriate platform define
      e) build the mysql
      f) ensure it is using atomic builtins (look at the err.log message at
      system startup. It should say we are using atomics for both mutexes and
      rw-locks)
      g) do sanity testing (keeping in view the smp changes)
      
        I ran the mysql-test suite. All tests pass.
      94ea323e
    • inaam's avatar
      branches/zip · 4b020d3a
      inaam authored
      This is a fix for issue#178. Instead of using UNIV_LINUX which is
      defined through CFLAGS we use compiler generated define __linux__
      that is effective for both .c and .cc files.
      4b020d3a
    • inaam's avatar
      branches/zip · 65c50b9b
      inaam authored
      This is to revert the changes made to the plug.in (r4251) as a fix for
      issue# 178. Changes to plug.in will not propogate to a plugin
      installation unless autotools are rerun which is unacceptable.
      
      A fix for issue# 178 will be committed in a separate commit.
      65c50b9b
  7. 26 Feb, 2009 2 commits
    • marko's avatar
      branches/zip: btr_check_blob_fil_page_type(): Do not report · e1645581
      marko authored
      FIL_PAGE_TYPE mismatch even when purging a BLOB.
      Heavy users may have large data files created with MySQL 5.0 or earlier,
      and they don not want to have the error log flooded with such messages.
      
      This fixes Issue #182.
      e1645581
    • vasil's avatar
      branches/zip: · d3a5264f
      vasil authored
      Apply any necessary patches to the mysql tree at the end of setup.sh
      This step was previously done manually (and sometimes forgotten).
      d3a5264f
  8. 25 Feb, 2009 7 commits
    • vasil's avatar
      branches/zip: · 1a6c9736
      vasil authored
      Do not output the commands that restore the environment because they depend
      on the state of the environment before the test starts executing.
      1a6c9736
    • vasil's avatar
      branches/zip: · 370c3036
      vasil authored
      White-space cleanup in the ChangeLog
      370c3036
    • marko's avatar
      branches/zip: Correct the initialization of the memory subsystem once · 93ec81bb
      marko authored
      again, to finally put Issue #181 to rest.
      
      Revert some parts of r4274.  It is best not to call ut_malloc() before
      srv_general_init().
      
      mem_init(): Do not call ut_mem_init().
      
      srv_general_init(): Initialize the memory subsystem in two phases:
      first ut_mem_init(), then mem_init().  This is because os_sync_init()
      and sync_init() depend on ut_mem_init() and mem_init() depends on
      os_sync_init() or sync_init().
      
      srv_parse_data_file_paths_and_sizes(),
      srv_parse_log_group_home_dirs(): Remove the output parameters.  Assign
      to the global variables directly.  Allocate memory with malloc()
      instead of ut_malloc(), because these functions will be called before
      srv_general_init().
      
      srv_free_paths_and_sizes(): New function, for cleaning up after
      srv_parse_data_file_paths_and_sizes() and
      srv_parse_log_group_home_dirs().
      
      rb://92 approved by Sunny Bains
      93ec81bb
    • vasil's avatar
      branches/zip: · 09f6d57a
      vasil authored
      Fix Bug synopsis and remove explanation
      09f6d57a
    • vasil's avatar
      branches/zip: · f1e2b009
      vasil authored
      Make ChangeLog entries for bugs in bugs.mysql.com in the form:
      Fix Bug#12345 bug title
      (for bugs after 1.0.2 was released and the ChangeLog published)
      
      There is no need to bloat the ChangeLog with information that is available
      via bugs.mysql.com.
      
      Discussed with:	Marko
      f1e2b009
    • vasil's avatar
      branches/zip: · bb05c979
      vasil authored
      Add ChangeLog entry for the fix in r4288.
      bb05c979
    • vasil's avatar
      branches/zip: Merge revisions 4261:4287 from branches/5.1: · 63107fbd
      vasil authored
        ------------------------------------------------------------------------
        r4287 | sunny | 2009-02-25 05:32:01 +0200 (Wed, 25 Feb 2009) | 10 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
           M /branches/5.1/mysql-test/innodb-autoinc.result
           M /branches/5.1/mysql-test/innodb-autoinc.test
        
        branches/5.1: Fix Bug#42714 AUTO_INCREMENT errors in 5.1.31. There are two
        changes to the autoinc handling.
        
        1. To fix the immediate problem from the bug report, we must ensure that the
           value written to the table is always less than the max value stored in
           dict_table_t.
        
        2. The second related change is that according to MySQL documentation when
           the offset is greater than the increment, we should ignore the offset.
        
        ------------------------------------------------------------------------
      63107fbd
  9. 24 Feb, 2009 4 commits
  10. 23 Feb, 2009 5 commits
  11. 20 Feb, 2009 2 commits
    • vasil's avatar
      branches/zip: · eae4c323
      vasil authored
      Add a sentence at the top of COPYING.Google to clarify that this license
      does not apply to the whole InnoDB.
      
      Suggested by:	Ken
      eae4c323
    • marko's avatar
      branches/zip: Make innodb_use_sys_malloc=ON the default. · e31baa84
      marko authored
      Replace srv_use_sys_malloc with UNIV_LIKELY(srv_use_sys_malloc)
      to improve branch prediction in the default case.
      
      Approved by Ken over the IM.
      e31baa84