1. 14 Jun, 2006 1 commit
    • unknown's avatar
      Fixed bug #14896. · 36b49259
      unknown authored
      This bug in Field_string::cmp resulted in a wrong comparison 
      with keys in partial indexes over multi-byte character fields.
      Given field a is declared as 
        a varchar(16) collate utf8_unicode_ci
      INDEX(a(4)) gives us an example of such an index.
      
      Wrong key comparisons could lead to wrong result sets if 
      the selected query execution plan used a range scan by 
      a partial index over a utf8 character field.
      This also caused wrong results in many other cases.
      
      
      mysql-test/r/ctype_utf8.result:
        Added test cases for bug #14896.
      mysql-test/t/ctype_utf8.test:
        Added test cases for bug #14896.
      36b49259
  2. 03 Jun, 2006 1 commit
  3. 02 Jun, 2006 3 commits
    • unknown's avatar
      Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1-opt · ccad0572
      unknown authored
      into  rurik.mysql.com:/home/igor/mysql-4.1-opt
      
      
      ccad0572
    • unknown's avatar
      Fixed bug #18206. · e3e06587
      unknown authored
      The bug report revealed two problems related to min/max optimization:
      1. If the length of a constant key used in a SARGable condition for
      for the MIN/MAX fields is greater than the length of the field an 
      unwanted warning on key truncation is issued;
      2. If MIN/MAX optimization is applied to a partial index, like INDEX(b(4))
      than can lead to returning a wrong result set.
      
      
      mysql-test/r/func_group.result:
        Added test cases for bug #18206.
      mysql-test/t/func_group.test:
        Added test cases for bug #18206.
      sql/opt_sum.cc:
        Fixed bug #18206.
        Suppressed the warning about data truncation when store_val_in_field
        was used to store keys for the field used in MIN/MAX optimization.
        Blocked MIN/MAX optimization for partial keys, such as in INDEX(b(4)).
      sql/sql_select.cc:
        Fixed bug #18206.
        Added a parameter for the function store_val_in_field allowing to
        control setting warnings about data truncation in the function.
      sql/sql_select.h:
        Fixed bug #18206.
        Added a parameter for the function store_val_in_field allowing to
        control setting warnings about data truncation in the function.
      e3e06587
    • unknown's avatar
      Bug #4981: 4.x and 5.x produce non-optimal execution path, · 3390eaa0
      unknown authored
              3.23 regression test failure
      
      The member SEL_ARG::min_flag was not initialized, 
      due to which the condition for no GEOM_FLAG in function 
      key_or did not choose "Range checked for each record" as 
      the correct access method.
      
      
      mysql-test/r/select.result:
        testcase for 'Range checked' access method
      mysql-test/t/select.test:
        testcase for 'Range checked' access method
      sql/opt_range.cc:
        All of the class members initialized
      3390eaa0
  4. 30 May, 2006 1 commit
  5. 29 May, 2006 1 commit
    • unknown's avatar
      Fixed bug#18360: Incorrect type coercion in IN() results in false comparison · c007daba
      unknown authored
      The IN() function uses agg_cmp_type() to aggregate all types of its arguments
      to find out some common type for comparisons. In this particular case the 
      char() and the int was aggregated to double because char() can contain values
      like '1.5'. But all strings which do not start from a digit are converted to
      0. thus 'a' and 'z' become equal. 
      This behaviour is reasonable when all function arguments are constants. But 
      when there is a field or an expression this can lead to false comparisons. In
      this case it makes more sense to coerce constants to the type of the field
      argument.
      
      The agg_cmp_type() function now aggregates types of constant and non-constant
      items separately. If some non-constant items will be found then their
      aggregated type will be returned. Thus after the aggregation constants will be
      coerced to the aggregated type. 
      
      
      mysql-test/t/func_in.test:
        Added test case for bug#18360: Incorrect type coercion in IN() results in false comparison.
      mysql-test/r/func_in.result:
        Added test case for bug#18360: Incorrect type coercion in IN() results in false comparison.
      sql/item_cmpfunc.cc:
        Fixed bug#18360: Incorrect type coercion in IN() results in false comparison.
        The agg_cmp_type() function now aggregates types of constant and non-constant
        items separately. If some non-constant items will be found then their
        aggregated type will be returned. Thus after the aggregation constants will
        be coerced to the aggregated type.
      c007daba
  6. 28 May, 2006 1 commit
    • unknown's avatar
      Fixed bug#19225: unchecked error results in server crash · 2264b644
      unknown authored
      In multi-table delete a table for delete can't be used for selecting in
      subselects. Appropriate error was raised but wasn't checked which leads to a
      crash at the execution phase.
      
      The mysql_execute_command() now checks for errors before executing select
      for multi-delete.
      
      
      mysql-test/t/multi_update.test:
        Added test case for bug#19225: unchecked error results in server crash
      mysql-test/r/multi_update.result:
        Added test case for bug#19225: unchecked error results in server crash
      sql/sql_parse.cc:
        Fixed bug#19225: unchecked error results in server crash
        The mysql_execute_command() now checks for errors before executing select for multi-delete.
      2264b644
  7. 23 May, 2006 3 commits
  8. 22 May, 2006 1 commit
  9. 21 May, 2006 1 commit
  10. 20 May, 2006 2 commits
    • unknown's avatar
      Merge · ddd9fbac
      unknown authored
      
      support-files/mysql.spec.sh:
        SCCS merged
      ddd9fbac
    • unknown's avatar
      mysql.spec.sh: · 65fcdee5
      unknown authored
        Always compile position independent
      
      
      support-files/mysql.spec.sh:
        Always compile position independent
      65fcdee5
  11. 19 May, 2006 4 commits
    • unknown's avatar
      Fix for bug #18536: mysqldump does not maintain table orders as per --tables option · c41b767a
      unknown authored
      
      client/mysqldump.c:
        Fix for bug #18536: mysqldump does not maintain table orders as per --tables option
          - use list to store table names instead of hash.
      mysql-test/r/mysqldump.result:
        Fix for bug #18536: mysqldump does not maintain table orders as per --tables option
          - test result.
      mysql-test/t/mysqldump.test:
        Fix for bug #18536: mysqldump does not maintain table orders as per --tables option
          - test case.
      c41b767a
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-4.1 · 891361be
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-4.1
      
      
      891361be
    • unknown's avatar
      Merge neptunus.(none):/home/msvensson/mysql/my41-bug13711 · 5c484b20
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-4.1
      
      
      5c484b20
    • unknown's avatar
      Bug#15869 Cannot shutdown the server - it restarts · 5ceb394f
      unknown authored
       - A segfault occured when the function 'kill_server' called 
         'my_sigset' with signal number 0. 'my_sigset' is a macro which
         uses 'sigaction' to install the signal handler with an invalid
         signal number will on most platforms return EINVAL but yields
         a segfauilt on IRIX 6.5
       - The server crash was detected by mysqld_safe and it was restarted although
         a shutdown was requested. 
       - Semantics of kill_server(0) is not known, leaving it intact
      
      
      include/my_pthread.h:
        Check return value from sigaction with a DBUG_ASSERT
        Also DBUG_ASSERT if signal number 0 is passed
      sql/mysqld.cc:
        Don't call my_sigset if signo is 0
      5ceb394f
  12. 17 May, 2006 2 commits
  13. 16 May, 2006 9 commits
  14. 15 May, 2006 5 commits
    • unknown's avatar
      ndb - bug#19537: arithmetic conversion Uint64 reg to Uint32 attr · ce7a7b20
      unknown authored
      
      ndb/test/ndbapi/Makefile.am:
        enable testInterpreter
      ndb/test/ndbapi/testInterpreter.cpp:
        add test case Bug19537
        the bug fix also fixed IncValue64 for whatever reason..
      ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
        bug#19537: write_attr: perform arithmetic conversion Uint64 to Uint32
      ce7a7b20
    • unknown's avatar
      Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-4.1 · 774fae9c
      unknown authored
      into  mysql.com:/home/alexi/innodb/mysql-4.1-ss29
      
      
      774fae9c
    • unknown's avatar
      Bug #16875 , correction of previous patch · e3996585
      unknown authored
      e3996585
    • unknown's avatar
      Bug #16875 Using stale MySQLD FRM files can cause restored cluster to fail · 37f940ce
      unknown authored
      - invalidate ndb dict cache on cluster disconnect (ClusterMgr.cpp)
      - add check for correct frm on external lock when table cache is found invalid
      
      
      ndb/include/ndbapi/ndb_cluster_connection.hpp:
        Bug #16875 Using stale MySQLD FRM files can cause restored cluster to fail
      ndb/src/ndbapi/ClusterMgr.cpp:
        Bug #16875 Using stale MySQLD FRM files can cause restored cluster to fail
      ndb/src/ndbapi/ClusterMgr.hpp:
        Bug #16875 Using stale MySQLD FRM files can cause restored cluster to fail
      ndb/src/ndbapi/DictCache.cpp:
        Bug #16875 Using stale MySQLD FRM files can cause restored cluster to fail
      ndb/src/ndbapi/DictCache.hpp:
        Bug #16875 Using stale MySQLD FRM files can cause restored cluster to fail
      ndb/src/ndbapi/TransporterFacade.hpp:
        Bug #16875 Using stale MySQLD FRM files can cause restored cluster to fail
      ndb/src/ndbapi/ndb_cluster_connection.cpp:
        Bug #16875 Using stale MySQLD FRM files can cause restored cluster to fail
      ndb/src/ndbapi/ndb_cluster_connection_impl.hpp:
        Bug #16875 Using stale MySQLD FRM files can cause restored cluster to fail
      sql/ha_ndbcluster.cc:
        Bug #16875 Using stale MySQLD FRM files can cause restored cluster to fail
      mysql-test/r/ndb_autodiscover3.result:
        Bug #16875 Using stale MySQLD FRM files can cause restored cluster to fail
      mysql-test/t/ndb_autodiscover3.test:
        Bug #16875 Using stale MySQLD FRM files can cause restored cluster to fail
      37f940ce
    • unknown's avatar
      Applied innodb-4.1-ss29 snapshot. · 8069b05d
      unknown authored
       Fix BUG#19542 "InnoDB doesn't increase the Handler_read_prev counter.
       
      
      
      innobase/os/os0file.c:
        Applied innodb-4.1-ss29 snapshot.
         Check the page trailers also after writing to disk.
         This improves the chances of diagnosing Bug 18886.
         os_file_check_page_trailers(): New function for checking
         that two copies of the LSN stamped on the pages match.
         os_aio_simulated_handle(): Call os_file_check_page_trailers()
         before and after os_file_write().
      sql/ha_innodb.cc:
        Applied innodb-4.1-ss29 snapshot.
         Increment statistic counter in ha_innobase::index_prev().
      8069b05d
  15. 14 May, 2006 3 commits
  16. 13 May, 2006 1 commit
    • unknown's avatar
      BUG#14157: utf8 encoding in binlog without set character_set_client · 62be79a2
      unknown authored
      fixing a path to find charset by $MYSQL client. I believe the fix is done what should be
      by default. 
      
      
      mysql-test/t/mysqlbinlog.test:
        --character-sets-dir=../sql/share/charsets  is added otherwise client/.libs/lt-mysql
        searches in /usr/local/mysql ... A bug?
      mysql-test/t/rpl_temporary.test:
        --character-sets-dir=../sql/share/charsets/
      62be79a2
  17. 12 May, 2006 1 commit