1. 17 Apr, 2009 2 commits
    • vasil's avatar
      branches/zip: Merge revisions 4710:4746 from branches/5.1: · 009c5129
      vasil authored
        ------------------------------------------------------------------------
        r4746 | vasil | 2009-04-18 00:32:08 +0300 (Sat, 18 Apr 2009) | 110 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
           M /branches/5.1/include/pars0pars.h
        
        branches/5.1:
        
        Merge a change from MySQL:
        
          ------------------------------------------------------------
          revno: 2728.10.2
          committer: Ignacio Galarza <iggy@mysql.com>
          branch nick: mysql-5.1-bugteam-bug29125
          timestamp: Fri 2009-02-13 11:41:47 -0500
          message:
            Bug#29125 Windows Server X64: so many compiler warnings
            - Remove bothersome warning messages.  This change focuses on the warnings 
            that are covered by the ignore file: support-files/compiler_warnings.supp.
            - Strings are guaranteed to be max uint in length
          modified:
            client/mysql_upgrade.c
            client/mysqladmin.cc
            client/mysqlbinlog.cc
            client/mysqlcheck.c
            client/mysqldump.c
            client/mysqlslap.c
            client/mysqltest.cc
            client/sql_string.cc
            extra/comp_err.c
            extra/yassl/src/buffer.cpp
            extra/yassl/taocrypt/include/block.hpp
            extra/yassl/taocrypt/src/algebra.cpp
            extra/yassl/taocrypt/src/asn.cpp
            include/config-win.h
            libmysql/libmysql.c
            mysys/array.c
            mysys/base64.c
            mysys/charset.c
            mysys/checksum.c
            mysys/default.c
            mysys/default_modify.c
            mysys/hash.c
            mysys/mf_keycache.c
            mysys/mf_tempdir.c
            mysys/my_append.c
            mysys/my_compress.c
            mysys/my_conio.c
            mysys/my_copy.c
            mysys/my_getwd.c
            mysys/my_pread.c
            mysys/my_quick.c
            mysys/my_read.c
            mysys/safemalloc.c
            mysys/string.c
            server-tools/instance-manager/buffer.cc
            server-tools/instance-manager/instance.cc
            server-tools/instance-manager/options.cc
            server-tools/instance-manager/parse.h
            sql-common/client.c
            sql-common/my_user.c
            sql/event_data_objects.cc
            sql/event_parse_data.cc
            sql/events.cc
            sql/gen_lex_hash.cc
            sql/item.h
            sql/item_func.cc
            sql/item_strfunc.cc
            sql/item_timefunc.cc
            sql/lock.cc
            sql/log_event.cc
            sql/log_event.h
            sql/log_event_old.cc
            sql/net_serv.cc
            sql/sp_head.h
            sql/spatial.h
            sql/sql_class.h
            sql/sql_connect.cc
            sql/sql_crypt.cc
            sql/sql_error.cc
            sql/sql_insert.cc
            sql/sql_lex.cc
            sql/sql_lex.h
            sql/sql_load.cc
            sql/sql_prepare.cc
            sql/sql_profile.cc
            sql/sql_repl.cc
            sql/sql_servers.cc
            sql/sql_string.cc
            sql/sql_table.cc
            sql/sql_trigger.cc
            sql/sql_udf.cc
            sql/sql_view.cc
            sql/udf_example.c
            sql/uniques.cc
            storage/archive/azio.c
            storage/archive/azlib.h
            storage/csv/ha_tina.cc
            storage/csv/ha_tina.h
            storage/csv/transparent_file.h
            storage/federated/ha_federated.cc
            storage/federated/ha_federated.h
            storage/heap/hp_write.c
            storage/innobase/handler/ha_innodb.cc
            storage/innobase/include/pars0pars.h
            storage/myisam/ha_myisam.cc
            storage/myisam/mi_check.c
            storage/myisam/mi_packrec.c
            storage/myisam/mi_search.c
            storage/myisam/rt_index.c
            storage/myisammrg/ha_myisammrg.cc
            strings/ctype.c
            strings/my_vsnprintf.c
            tests/bug25714.c
            tests/mysql_client_test.c
      009c5129
    • calvin's avatar
      branches/zip: minor changes to CMakeLists.txt · 28774ba3
      calvin authored
      All are non-functional changes:
      - should check for long (not int), spotted by Sunny
      - comment out the project definition, avoiding to generate another
        .sln file.
      28774ba3
  2. 16 Apr, 2009 3 commits
  3. 15 Apr, 2009 6 commits
    • calvin's avatar
      branches/zip: Use the Windows Interlocked functions for atomic memory · e0b8c917
      calvin authored
      access
      
      Mapping the atomic operations to Windows Interlocked functions:
      
      os_compare_and_swap_* to InterlockedCompareExchange(64)
      os_atomic_increment_* to InterlockedExchangeAdd(64)
      os_atomic_test_and_set_byte to InterlockedExchange
      
      In this patch, the legacy code under UNIV_CAN_USE_X86_ASSEMBLER is
      removed all together, and add HAVE_WINDOWS_ATOMICS and
      INNODB_RW_LOCKS_USE_ATOMICS to CMakeLists.txt
      
      This is to address mantis issue#194.
      
      rb://113
      
      Approved by: Marko
      e0b8c917
    • vasil's avatar
      branches/zip: · 0bd50a09
      vasil authored
      Add ChangeLog entry for r4543.
      0bd50a09
    • vasil's avatar
      branches/zip: · fc50260d
      vasil authored
      Whitespace cleanup in ChangeLog
      fc50260d
    • vasil's avatar
      branches/zip: · 962063c9
      vasil authored
      Fix typo in the ChangeLog
      962063c9
    • vasil's avatar
      branches/zip: · d9047442
      vasil authored
      Add missing ChangeLog entries
      d9047442
    • vasil's avatar
      branches/zip: Merge revisions 4481:4710 from branches/5.1: · 8695dd88
      vasil authored
      (resolving conflict in r4574, r4575 and skipping r4699 and r4705 because
      analogous changes to r4699 and r4705 were already made to branches/zip)
      
        ------------------------------------------------------------------------
        r4573 | vasil | 2009-03-30 14:17:13 +0300 (Mon, 30 Mar 2009) | 4 lines
        Changed paths:
           M /branches/5.1/mysql-test/innodb.test
        
        branches/5.1:
        
        Fix email address from dev@innodb.com to innodb_dev_ww@oracle.com
        
        ------------------------------------------------------------------------
        r4574 | vasil | 2009-03-30 14:27:08 +0300 (Mon, 30 Mar 2009) | 38 lines
        Changed paths:
           M /branches/5.1/Makefile.am
           M /branches/5.1/mysql-test/innodb.test
        
        branches/5.1:
        
        Restore the state of INNODB_THREAD_CONCURRENCY to silence this warning:
        
          TEST                                      RESULT   TIME (ms)
          ------------------------------------------------------------
          
          worker[1] Using MTR_BUILD_THREAD 250, with reserved ports 12500..12509
          main.innodb                              [ pass ]   8803
          
          MTR's internal check of the test case 'main.innodb' failed.
          This means that the test case does not preserve the state that existed
          before the test case was executed.  Most likely the test case did not
          do a proper clean-up.
          This is the diff of the states of the servers before and after the
          test case was executed:
          mysqltest: Logging to '/tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.log'.
          mysqltest: Results saved in '/tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.result'.
          mysqltest: Connecting to server localhost:12500 (socket /tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/mysqld.1.sock) as 'root', connection 'default', attempt 0 ...
          mysqltest: ... Connected.
          mysqltest: Start processing test commands from './include/check-testcase.test' ...
          mysqltest: ... Done processing test commands.
          --- /tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.result	2009-03-30 14:12:31.000000000 +0300
          +++ /tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.reject	2009-03-30 14:12:41.000000000 +0300
          @@ -99,7 +99,7 @@
           INNODB_SUPPORT_XA	ON
           INNODB_SYNC_SPIN_LOOPS	20
           INNODB_TABLE_LOCKS	ON
          -INNODB_THREAD_CONCURRENCY	8
          +INNODB_THREAD_CONCURRENCY	16
           INNODB_THREAD_SLEEP_DELAY	10000
           INSERT_ID	0
           INTERACTIVE_TIMEOUT	28800
          
          mysqltest: Result content mismatch
          
          not ok
        
        ------------------------------------------------------------------------
        r4575 | vasil | 2009-03-30 15:55:31 +0300 (Mon, 30 Mar 2009) | 8 lines
        Changed paths:
           M /branches/5.1/mysql-test/innodb.result
           M /branches/5.1/mysql-test/innodb.test
        
        branches/5.1:
        
        Fix Bug#43309 Test main.innodb can't be run twice
        
        Make the innodb mysql-test more flexible by inspecting how much a
        variable of interest has changed since the start of the test. Do not
        assume the variables have zero values at the start of the test.
        
        ------------------------------------------------------------------------
        r4576 | vasil | 2009-03-30 16:25:10 +0300 (Mon, 30 Mar 2009) | 4 lines
        Changed paths:
           M /branches/5.1/Makefile.am
        
        branches/5.1:
        
        Revert a change to Makefile.am that I committed accidentally in c4574.
        
        ------------------------------------------------------------------------
        r4659 | vasil | 2009-04-06 15:34:51 +0300 (Mon, 06 Apr 2009) | 6 lines
        Changed paths:
           M /branches/5.1/mysql-test/innodb.test
        
        branches/5.1:
        
        Followup to r4575 and the fix of Bug#43309 Test main.innodb can't be run twice:
        
        Add an explanatory comment, as suggested by Patrick Crews in the bug report.
        
        ------------------------------------------------------------------------
        r4699 | vasil | 2009-04-09 14:01:52 +0300 (Thu, 09 Apr 2009) | 15 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
           M /branches/5.1/include/srv0srv.h
           M /branches/5.1/page/page0cur.c
           M /branches/5.1/srv/srv0srv.c
        
        branches/5.1:
        
        Fix Bug#43660 SHOW INDEXES/ANALYZE does NOT update cardinality for indexes
        of InnoDB table
        
        by replacing the PRNG that is used to pick random pages with a better
        one.
        
        This is based on r4670 but also adds a new configuration option and
        enables the fix only if this option is changed. Please skip the present
        revision when merging.
        
        Approved by:	Heikki (via email)
        
        
        ------------------------------------------------------------------------
        r4705 | vasil | 2009-04-14 14:30:13 +0300 (Tue, 14 Apr 2009) | 5 lines
        Changed paths:
           M /branches/5.1/page/page0cur.c
        
        branches/5.1:
        
        When using the random function, first take the modulus by the number of pages
        and then typecast to ulint.
        
        ------------------------------------------------------------------------
        r4710 | vasil | 2009-04-15 11:55:18 +0300 (Wed, 15 Apr 2009) | 25 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
        
        branches/5.1:
        
        Merge a change from MySQL (looks like this is against 5.0 but they later
        merged it to 5.1):
        
          ------------------------------------------------------------
          revno: 1810.3846.1
          committer: Alexey Botchkov <holyfoot@mysql.com>
          branch nick: 31435
          timestamp: Tue 2008-11-11 14:42:32 +0400
          message:
            Bug#31435 ha_innodb.cc:3983: ulint convert_search_mode_to_innobase(ha_rkey_function): Asse 
                I think we don't need to issue an error statement in the convert_search_mode_to_innobase().
                Returning the PAGE_CUR_UNSUPP value is enough as allows to handle this
                case depending on the requirements.
            
            per-file comments:
              sql/ha_innodb.cc 
            Bug#31435 ha_innodb.cc:3983: ulint convert_search_mode_to_innobase(ha_rkey_function): Asse 
                 no error issued in convert_search_mode_to_innobase.
                 ha_innobase::records_in_range() returns HA_POS_ERROR if search mode isn't supported.
          modified:
            sql/ha_innodb.cc
        
        
        ------------------------------------------------------------------------
      8695dd88
  4. 14 Apr, 2009 2 commits
    • calvin's avatar
      branches/zip: remove statically linked libraries from mysql · 76cc47ca
      calvin authored
      To make zlib and strings dynamically linked; mysqld will export
      additional functions required by InnoDB.
      
      Since the symbols will be resolved dynamically during runtime,
      wdl_load_mapfile() is no longer able to make any function calls
      to ones in mysqld. As the result, strtoull() (from strings.lib)
      is replaced with _strtoui64().
      
      rb://111
      
      Approved by: Marko
      76cc47ca
    • vasil's avatar
      branches/zip: · f5fa54b3
      vasil authored
      When using the random function, first take the modulus by the number of pages
      and then typecast to ulint.
      f5fa54b3
  5. 13 Apr, 2009 2 commits
    • calvin's avatar
      branches/zip: new CMakeLists.txt · 7c41e60d
      calvin authored
      CMakeLists.txt is completely rewritten with enhancements:
      - Print out useful information, such as
        system name, directory, generator used,
        win64, Microsoft compiler, etc.
      - Remove one workaround for mysqld.lib location.
        User does not need to specify a build type
        when invoking MSVC generator.
      7c41e60d
    • calvin's avatar
      branches/zip: delete the original CMakeLists.txt · 3830badc
      calvin authored
      A new version will be committed, suggested by Ken.
      3830badc
  6. 10 Apr, 2009 1 commit
    • calvin's avatar
      branches/zip: Rewrite CMakeLists.txt · 863748ee
      calvin authored
      CMakeLists.txt is completely rewritten:
      - To replace the one written by mysql
      - Print out some useful information, such as
        system name, directory, generator used,
        win64, Microsoft compiler, etc.
      - Remove one workaround for mysqld.lib location.
        User does not need to specify a build type
      863748ee
  7. 08 Apr, 2009 3 commits
    • marko's avatar
      branches/zip: Hide unnecessarily visible globals. · 5b0ee65a
      marko authored
      dict_ind_redundant, dict_ind_compact: Declare these UNIV_INTERN.
      innodb_hton_ptr: Declare static.  We do not attempt to access the
      built-in InnoDB any more.
      trx_roll_savepoints_free(): Declare UNIV_INTERN.
      5b0ee65a
    • vasil's avatar
      branches/zip: · da0a2ab2
      vasil authored
      Add ChangeLog entry for r4678.
      da0a2ab2
    • vasil's avatar
      branches/zip: · b55949ab
      vasil authored
      Whitespace fixup in the ChangeLog
      b55949ab
  8. 07 Apr, 2009 5 commits
    • inaam's avatar
      branches/zip · 78fe990b
      inaam authored
      Enable atomics on solaris (using the libc functions as defined in
      atomic.h) if GCC atomic builtins are not present.
      
      There still remains some work to be done (by Vasil?). This patch
      makes changes to plug.in to check pthread_t size and presence of
      atomic functions when running on solaris. The same has to become
      a part of the generated Makefile.in when we bake our source.
      
      Reviewed by: Heikki rb://106
      78fe990b
    • marko's avatar
    • marko's avatar
      branches/zip: Allow in-place updates of UTF-8 CHAR columns · 1a0a9e6a
      marko authored
      from or to NULL in ROW_FORMAT=REDUNDANT. (Bug #44032)
      
      rb://107 approved by Heikki Tuuri.
      1a0a9e6a
    • vasil's avatar
      branches/zip: · 50f3f5c8
      vasil authored
      Add ChangeLog entry for r4670.
      50f3f5c8
    • vasil's avatar
      branches/zip: · 9f7ec585
      vasil authored
      Fix Bug#43660 SHOW INDEXES/ANALYZE does NOT update cardinality for
      indexes of InnoDB table
      
      by replacing the pseudo random number generator with a better one (LCG).
      
      This also fixes Mantis Issue#212.
      
      Approved by:	Heikki (rb://110)
      9f7ec585
  9. 06 Apr, 2009 4 commits
  10. 02 Apr, 2009 2 commits
    • marko's avatar
      branches/zip: Refuse to use newly created indexes that may lack · b6d8daaa
      marko authored
      history.  This addresses Mantis issue #116.
      
      dict_index_t: Enable the storage of trx_id.
      
      row_prebuilt_t: Make many fields bit-fields to reduce the memory
      footprint. Add index_usable.
      
      ha_innobase::change_active_index(): Check if the index is usable and
      set prebuilt->index_usable accordingly. Unfortunately, the return
      status of this function is ignored by MySQL, and the actual refusal to
      use the index must be made in row_search_for_mysql().
      
      row_search_for_mysql(): Return DB_MISSING_HISTORY if
      !prebuilt->index_usable.
      
      convert_error_code_to_mysql(): Map DB_MISSING_HISTORY to
      HA_ERR_TABLE_DEF_CHANGED.
      
      innodb-index.test: Add a test case where access to a newly created
      secondary index must be blocked for old transactions.
      
      rb://100 approved by Heikki Tuuri
      b6d8daaa
    • calvin's avatar
      branches/zip: Mantis issue #197 - Make srv_spin_wait_delay configurable · c98a1dcc
      calvin authored
      New parameter innodb_spin_wait_delay to set the maximum delay between
      polling for a spin lock. 5 is the default.
      
      Approved by: Marko (on IM)
      c98a1dcc
  11. 31 Mar, 2009 1 commit
  12. 25 Mar, 2009 1 commit
    • inaam's avatar
      branches/zip · 7d1a0d65
      inaam authored
      SHOW ENGINE INNODB MUTEX shows all mutexes and rw_locks. This can
      be overwhelming particularly when the buffer pool is very large
      (note that each block in buffer pool has at least one mutex, one
      rw_lock and an additional mutex if rw_lock does not use atomics).
      With this patch status of following mutexes and rw-locks is not shown:
      
      1) block->mutex
      2) block->lock
      3) block->lock->mutex (if applicable)
      4) All other mutexes and rw-locks for which number of os-waits are zero
      
      Addresses issue# 179 rb://99
      
      Approved by: Marko
      7d1a0d65
  13. 24 Mar, 2009 3 commits
  14. 23 Mar, 2009 5 commits