1. 23 Apr, 2009 1 commit
    • marko's avatar
      branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, · e9a3aa18
      marko authored
      and undo_no_t. Each type is still defined as dulint.
      
      This is an initial step towards replacing dulint with a 64-bit data type.
      Because modern compilers have no trouble supporting 64-bit arithmetics
      even on 32-bit targets, the dulint struct is a relic that should go.
      
      The last remaining major use of dulint is dictionary IDs
      (table, index, and row ids).
      
      rb://114 approved by Sunny Bains
      e9a3aa18
  2. 20 Apr, 2009 1 commit
    • marko's avatar
      branches/zip: Cosmetic fixes. · 4718ddd5
      marko authored
      row_unlock_for_mysql(): Add a const qualifier to read-only rec_t*.
      Use dict_index_is_clust().
      
      CMakeLists.txt: svn propset svn:eol-style native.
      4718ddd5
  3. 17 Apr, 2009 9 commits
    • vasil's avatar
      branches/zip: · e6081cf1
      vasil authored
      Add aux config programs to emulate the newly added checks in plug.in
      (from r4678).
      e6081cf1
    • vasil's avatar
      branches/zip: · 25aea25a
      vasil authored
      Add comment and copyright notice to the aux config program.
      25aea25a
    • vasil's avatar
      branches/zip: · 55501722
      vasil authored
      Rename the aux config program and give it a more specific name because
      more are coming.
      55501722
    • vasil's avatar
      branches/zip: · 3b5ac76b
      vasil authored
      Silence a compiler warning.
      3b5ac76b
    • vasil's avatar
      branches/zip: · dd554ccf
      vasil authored
      Include the needed header for memset().
      dd554ccf
    • vasil's avatar
      branches/zip: · 1cf2c958
      vasil authored
      Silence warning about unused variables.
      1cf2c958
    • vasil's avatar
      branches/zip: · 177ccaca
      vasil authored
      Add ChangeLog entry for t4748.
      177ccaca
    • vasil's avatar
      branches/zip: Merge revisions 4710:4746 from branches/5.1: · 06e8e00e
      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
      06e8e00e
    • calvin's avatar
      branches/zip: minor changes to CMakeLists.txt · b9c56a17
      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.
      b9c56a17
  4. 16 Apr, 2009 3 commits
  5. 15 Apr, 2009 6 commits
    • calvin's avatar
      branches/zip: Use the Windows Interlocked functions for atomic memory · 6fd7b63c
      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
      6fd7b63c
    • vasil's avatar
      branches/zip: · 124945b4
      vasil authored
      Add ChangeLog entry for r4543.
      124945b4
    • vasil's avatar
      branches/zip: · f946e6f4
      vasil authored
      Whitespace cleanup in ChangeLog
      f946e6f4
    • vasil's avatar
      branches/zip: · 9c37ed7c
      vasil authored
      Fix typo in the ChangeLog
      9c37ed7c
    • vasil's avatar
      branches/zip: · 74baa550
      vasil authored
      Add missing ChangeLog entries
      74baa550
    • vasil's avatar
      branches/zip: Merge revisions 4481:4710 from branches/5.1: · 4f3c0951
      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
        
        
        ------------------------------------------------------------------------
      4f3c0951
  6. 14 Apr, 2009 2 commits
    • calvin's avatar
      branches/zip: remove statically linked libraries from mysql · 319f148e
      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
      319f148e
    • vasil's avatar
      branches/zip: · 395bee3f
      vasil authored
      When using the random function, first take the modulus by the number of pages
      and then typecast to ulint.
      395bee3f
  7. 13 Apr, 2009 2 commits
    • calvin's avatar
      branches/zip: new CMakeLists.txt · 350f609b
      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.
      350f609b
    • calvin's avatar
      branches/zip: delete the original CMakeLists.txt · 8578e44d
      calvin authored
      A new version will be committed, suggested by Ken.
      8578e44d
  8. 10 Apr, 2009 1 commit
    • calvin's avatar
      branches/zip: Rewrite CMakeLists.txt · ef6633bb
      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
      ef6633bb
  9. 08 Apr, 2009 3 commits
    • marko's avatar
      branches/zip: Hide unnecessarily visible globals. · cd1909f6
      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.
      cd1909f6
    • vasil's avatar
      branches/zip: · 3db4187a
      vasil authored
      Add ChangeLog entry for r4678.
      3db4187a
    • vasil's avatar
      branches/zip: · 1b7b2600
      vasil authored
      Whitespace fixup in the ChangeLog
      1b7b2600
  10. 07 Apr, 2009 5 commits
    • inaam's avatar
      branches/zip · 99b5d9e2
      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
      99b5d9e2
    • marko's avatar
    • marko's avatar
      branches/zip: Allow in-place updates of UTF-8 CHAR columns · ab341009
      marko authored
      from or to NULL in ROW_FORMAT=REDUNDANT. (Bug #44032)
      
      rb://107 approved by Heikki Tuuri.
      ab341009
    • vasil's avatar
      branches/zip: · de223861
      vasil authored
      Add ChangeLog entry for r4670.
      de223861
    • vasil's avatar
      branches/zip: · 7565147d
      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)
      7565147d
  11. 06 Apr, 2009 4 commits
  12. 02 Apr, 2009 2 commits
    • marko's avatar
      branches/zip: Refuse to use newly created indexes that may lack · ab67f4eb
      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
      ab67f4eb
    • calvin's avatar
      branches/zip: Mantis issue #197 - Make srv_spin_wait_delay configurable · dacfdf4a
      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)
      dacfdf4a
  13. 31 Mar, 2009 1 commit