1. 28 Apr, 2008 3 commits
  2. 24 Apr, 2008 1 commit
    • unknown's avatar
      Bug#36023: Incorrect handling of zero length caused an assertion to fail. · 89b866e7
      unknown authored
      When a zero length is provided to the my_decimal_length_to_precision
      function along with unsigned_flag set to false it returns a negative value.
      For queries that employs temporary tables may cause failed assertion or
      excessive memory consumption while temporary table creation.
      
      Now the my_decimal_length_to_precision and the my_decimal_precision_to_length
      functions take unsigned_flag into account only if the length/precision
      argument is non-zero.
      
      
      mysql-test/t/type_decimal.test:
        Added a test case for the bug#36023: Incorrect handling of zero length caused
         an assertion to fail.
      mysql-test/r/type_decimal.result:
        Added a test case for the bug#36023: Incorrect handling of zero length caused
         an assertion to fail.
      sql/my_decimal.h:
        Bug#36023: Incorrect handling of zero length caused an assertion to fail.
        Now the my_decimal_length_to_precision and the my_decimal_precision_to_length
        functions take unsigned_flag into account only if the length/precision
        argument is non-zero.
      89b866e7
  3. 23 Apr, 2008 1 commit
    • unknown's avatar
      subselect.test, subselect.result: · 415112a9
      unknown authored
        Post-commit minor cleanup of testcase (bug#36139).
      
      
      mysql-test/r/subselect.result:
        Post-commit minor cleanup of testcase (bug#36139).
      mysql-test/t/subselect.test:
        Post-commit minor cleanup of testcase (bug#36139).
      415112a9
  4. 22 Apr, 2008 3 commits
    • unknown's avatar
      Merge host.loc:/home/uchum/work/5.0-bugteam-35993 · c2d1ac6e
      unknown authored
      into  host.loc:/home/uchum/work/5.0-bugteam
      
      
      c2d1ac6e
    • unknown's avatar
      Fixed bug#36005: server crashes inside NOT IN clause subquery with · 73f7de59
      unknown authored
                       impossible WHERE/HAVING clause
                       (subselect_single_select_engine::exec).
      
      Allocation and initialization of joined table list t1, t2... of
      subqueries like:
      
          NOT IN (SELECT ... FROM t1,t2,... WHERE 0)
      
      is optimized out, however server tries to traverse this list.
      
      
      mysql-test/r/subselect3.result:
        Added test case for bug#36005.
      mysql-test/t/subselect3.test:
        Added test case for bug#36005.
      sql/sql_select.cc:
        Fixed bug#36005.
        
        1. JOIN::prepare initializes JOIN::table counter (actually a size
           of the JOIN::join_tab array) and sets it to a number of joined tables.
        
        2. The make_join_statistics function (when called from JOIN::optimize)
           allocates and fills the JOIN::join_tab array.
           However, when optimizing subselect has impossible (definite false)
           WHERE or HAVING clause, optimizer skips call to make_join_statistics
           and leaves JOIN::join_tab == NULL.
        
        3. subselect_single_select_engine::exec does traversal of the JOIN::join_tab
           array and the server dies because array is not allocated but array
           counter is greater than 0.
        
        The JOIN::optimize method has been modified to reset the JOIN::table
        counter to 0 in cause of impossible WHERE/HAVING clause.
      73f7de59
    • unknown's avatar
      Fixed bug #35993: memory corruption and crash with multibyte conversion. · d8ebf276
      unknown authored
      Grouping or ordering of long values in not indexed BLOB/TEXT columns
      with GBK or BIG5 charsets crashes the server.
      
      MySQL server uses sorting (the filesort procedure) in the temporary
      table to evaluate the GROUP BY clause in case of lack of suitable index.
      That procedure takes into account only first @max_sort_length bytes
      (system variable, usually 1024) of TEXT/BLOB sorting key string.
      The my_strnxfrm_gbk and my_strnxfrm_big5 fill temporary keys
      with data of whole blob length instead of @max_sort_length bytes
      length. That buffer overrun has been fixed.
      
      
      mysql-test/r/ctype_gbk.result:
        Added test case for bug #35993.
      mysql-test/t/ctype_gbk.test:
        Added test case for bug #35993.
      strings/ctype-big5.c:
        Fixed bug #35993: memory corruption and crash with multibyte conversion.
        
        Buffer overrun has been fixed in the my_strnxfrm_big5 function.
      strings/ctype-gbk.c:
        Fixed bug #35993: memory corruption and crash with multibyte conversion.
        
        Buffer overrun has been fixed in the my_strnxfrm_gbk function.
      d8ebf276
  5. 21 Apr, 2008 1 commit
    • unknown's avatar
      BUG#36139 "float, zerofill, crash with subquery" · 1c1f0a62
      unknown authored
      - Make convert_zerofill_number_to_string() take into account that the 
        constant it is converting may evaluate to NULL.
      
      
      mysql-test/r/subselect.result:
        BUG#36139 "float, zerofill, crash with subquery"
        - Testcase
      mysql-test/t/subselect.test:
        BUG#36139 "float, zerofill, crash with subquery"
        - Testcase
      1c1f0a62
  6. 30 Mar, 2008 1 commit
  7. 29 Mar, 2008 3 commits
  8. 28 Mar, 2008 12 commits
    • unknown's avatar
      Merge amd64.(none):/src/mysql-5.0-bugteam · 396b24a5
      unknown authored
      into  amd64.(none):/src/bug26243/my50-bug26243
      
      
      396b24a5
    • unknown's avatar
      Fix tree: · 7021064a
      unknown authored
        1. Use 'dat' extension, because it is handled in Makefile.am;
        2. Fix typo: the bug id is 35469, not 35649.
      
      
      mysql-test/std_data/bug35469.dat:
        Rename: mysql-test/std_data/bug35649.data -> mysql-test/std_data/bug35469.dat
      mysql-test/r/loaddata.result:
        Update result file.
      mysql-test/t/loaddata.test:
        1. Use 'dat' extension, because it is handled in Makefile.am;
        2. Fix typo: the bug id is 35469, not 35649.
      7021064a
    • unknown's avatar
      Merge amd64.(none):/src/mysql-5.0-bugteam · 219c7a2a
      unknown authored
      into  amd64.(none):/src/bug26243/my50-bug26243
      
      
      libmysql/libmysql.c:
        Auto merged
      myisam/mi_open.c:
        Auto merged
      sql/ha_federated.cc:
        Auto merged
      sql/ha_myisammrg.cc:
        Auto merged
      sql/slave.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      tests/mysql_client_test.c:
        Auto merged
      219c7a2a
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0-bugteam · afb4ac45
      unknown authored
      into  quad.opbmk:/mnt/raid/alik/MySQL/devel/5.0-bt
      
      
      afb4ac45
    • unknown's avatar
      Bug#26243 mysql command line crash after control-c · a9089cf4
      unknown authored
      - Backported the 5.1 DBUG to 5.0.
      - Avoid memory cleanup race on Windows client for CTRL-C
      
      
      client/mysql.cc:
        Bug#26243 mysql command line crash after control-c
        - On Windows, the sigint handler shouldn't call mysql_end
        because the main thread will do so automatically.
        - Remove unnecessary signal call from the sigint handler.
        - Call my_end with proper value.
      dbug/dbug.c:
        Bug#26243 mysql command line crash after control-c
        - Backported the 5.1 DBUG library. The old version uses a non-thread 
        safe global variable 'static struct state *stack'.
      dbug/factorial.c:
        Bug#26243 mysql command line crash after control-c
        - Backported the 5.1 DBUG library. The old version uses a non-thread 
        safe global variable 'static struct state *stack'.
      dbug/user.r:
        Bug#26243 mysql command line crash after control-c
        - Backported the 5.1 DBUG library. The old version uses a non-thread 
        safe global variable 'static struct state *stack'.
      include/my_dbug.h:
        Bug#26243 mysql command line crash after control-c
        - Backported the 5.1 DBUG library. The old version uses a non-thread 
        safe global variable 'static struct state *stack'.
      libmysql/libmysql.c:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      myisam/mi_open.c:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      sql/ha_federated.cc:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      sql/ha_innodb.cc:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      sql/ha_myisammrg.cc:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      sql/item_cmpfunc.cc:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      sql/mysqld.cc:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      sql/net_serv.cc:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      sql/opt_range.cc:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      sql/set_var.cc:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      sql/slave.cc:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      sql/sql_cache.cc:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      sql/sql_select.cc:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      tests/mysql_client_test.c:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      a9089cf4
    • unknown's avatar
      Fix for Bug#35469: server crash with LOAD DATA INFILE to a VIEW. · 4ec65151
      unknown authored
      The problem was that LOAD DATA code (sql_load.cc) didn't take into
      account that there may be items, representing references to other
      columns. This is a usual case in views. The crash happened because
      Item_direct_view_ref was casted to Item_user_var_as_out_param,
      which is not a base class.
      
      The fix is to
        1) Handle references properly;
        2) Ensure that an item is treated as a user variable only when
           it is a user variable indeed;
        3) Report an error if LOAD DATA is used to load data into
           non-updatable column.
      
      
      mysql-test/r/loaddata.result:
        Update result file.
      mysql-test/t/loaddata.test:
        Add a test case form Bug#35469: server crash with
        LOAD DATA INFILE to a VIEW.
      sql/share/errmsg.txt:
        Introduce a new error.
      sql/sql_load.cc:
        Handle reference-items properly.
      mysql-test/std_data/bug35649.data:
        Add a data file for the test case.
      4ec65151
    • unknown's avatar
      Merge witty.:/Users/mattiasj/clones/bug21413-50-engines · 0e4dd57a
      unknown authored
      into  witty.:/Users/mattiasj/clones/bug21413-50-bugteam
      
      
      0e4dd57a
    • unknown's avatar
      Merge witty.:/Users/mattiasj/Public/shared-vms/bug21413-41-engines · 32d232ff
      unknown authored
      into  witty.:/Users/mattiasj/clones/bug21413-50-engines
      
      
      sql/sql_insert.cc:
        Manual merge
      32d232ff
    • unknown's avatar
      Bug#21413 - Engine table handler used by multiple threads · fe22ff56
      unknown authored
                  in REPLACE DELAYED
          
      post push patch, removing the optimization for
      copying delayed_insert variables.
      
      
      sql/sql_insert.cc:
        Bug#21413 - Engine table handler used by multiple threads
                    in REPLACE DELAYED
        
        post push patch, removing the optimization for
        copying delayed_insert variables.
        (restored some parts which caused errors)
      fe22ff56
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-bugteam · 7c156537
      unknown authored
      into  moonbone.local:/work/27219-5.0-opt-mysql
      
      
      sql/item.cc:
        Auto merged
      sql/item_subselect.cc:
        Auto merged
      sql/item_sum.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      7c156537
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-5.0 · ab82016a
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/work/merge-5.0-bugteam
      
      
      sql/sql_acl.cc:
        Auto merged
      ab82016a
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-5.0 · b6b4202b
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/work/merge-5.0-bugteam
      
      
      b6b4202b
  9. 27 Mar, 2008 15 commits
    • unknown's avatar
      Merge mysql.com:/misc/mysql/mysql-5.0 · ed1d366a
      unknown authored
      into  mysql.com:/misc/mysql/mysql-5.0-opt
      
      
      CMakeLists.txt:
        Auto merged
      configure.in:
        Auto merged
      include/config-win.h:
        Auto merged
      include/my_global.h:
        Auto merged
      ed1d366a
    • unknown's avatar
      Bug#27219: Aggregate functions in ORDER BY. · 9d661efd
      unknown authored
      Mixing aggregate functions and non-grouping columns is not allowed in the
      ONLY_FULL_GROUP_BY mode. However in some cases the error wasn't thrown because
      of insufficient check.
      
      In order to check more thoroughly the new algorithm employs a list of outer
      fields used in a sum function and a SELECT_LEX::full_group_by_flag.
      Each non-outer field checked to find out whether it's aggregated or not and
      the current select is marked accordingly.
      All outer fields that are used under an aggregate function are added to the
      Item_sum::outer_fields list and later checked by the Item_sum::check_sum_func
      function.
      
      
      mysql-test/t/group_by.test:
        Added a test case for the bug#27219: Aggregate functions in ORDER BY.
      mysql-test/r/group_by.result:
        Added a test case for the bug#27219: Aggregate functions in ORDER BY.
      sql/sql_select.cc:
        Bug#27219: Aggregate functions in ORDER BY.
        Implementation of new check for mixing non aggregated fields and aggregation
        function in the ONLY_FULL_GROUP_BY mode.
      sql/sql_lex.cc:
        Bug#27219: Aggregate functions in ORDER BY.
        Initialization of the full_group_by_flag bitmap.
        SELECT_LEX::test_limit function doesn't reset ORDER BY
        clause anymore.
      sql/sql_lex.h:
        Bug#27219: Aggregate functions in ORDER BY.
        The full_group_by_flag is added to the SELECT_LEX class.
      sql/item_sum.h:
        Bug#27219: Aggregate functions in ORDER BY.
        The outer_fields list is added to the Item_sum class.
      sql/mysql_priv.h:
        Bug#27219: Aggregate functions in ORDER BY.
        Defined a set of constants used in the new check for mixing non aggregated
        fields and sum functions in the ONLY_FULL_GROUP_BY_MODE.
      sql/item_subselect.cc:
        Bug#27219: Aggregate functions in ORDER BY.
        The Item_in_subselect::select_in_like_transformer function now drops
        ORDER BY clause in all selects in a subquery.
      sql/item_sum.cc:
        Bug#27219: Aggregate functions in ORDER BY.
        Now the Item_sum::check_sum_func function now checks whether fields in the
        outer_fields list are aggregated or not and marks selects accordingly.
      sql/item.cc:
        Bug#27219: Aggregate functions in ORDER BY.
        Now the Item_field::fix_fields function checks whether the field is aggregated
        or not and marks its select_lex accordingly.
      9d661efd
    • unknown's avatar
      Merge host.loc:/home/uchum/work/mysql-5.0 · 8e473edd
      unknown authored
      into  host.loc:/home/uchum/work/5.0-opt
      
      
      configure.in:
        Auto merged
      sql/item.cc:
        Auto merged
      8e473edd
    • unknown's avatar
      Merge witty.:/Users/mattiasj/Public/shared-vms/bug21413-41-engines · da9db4ed
      unknown authored
      into  witty.:/Users/mattiasj/clones/bug21413-50-engines
      
      
      sql/sql_insert.cc:
        Manual merge
      da9db4ed
    • unknown's avatar
      Patch clean up. · f8653a79
      unknown authored
      Fixed interference between tests: Users were added but not properly removed.
      This caused later tests to fail.
      
      
      mysql-test/r/grant.result:
        Fixed interference between tests: Users were added but not properly removed.
        This caused later tests to fail.
      mysql-test/t/grant.test:
        Fixed interference between tests: Users were added but not properly removed.
        This caused later tests to fail.
      f8653a79
    • unknown's avatar
      Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-5.0-build · 0db1f520
      unknown authored
      into  trift2.:/MySQL/M50/push-5.0
      
      
      0db1f520
    • unknown's avatar
      Merge mysql.com:/Users/davi/mysql/mysql-5.1-bug33201 · 861434c3
      unknown authored
      into  mysql.com:/Users/davi/mysql/mysql-5.0-bugteam
      
      
      sql/sql_acl.cc:
        Auto merged
      861434c3
    • unknown's avatar
      BUG#25340 · 5a6b357e
      unknown authored
      5a6b357e
    • unknown's avatar
      Merge host.loc:/home/uchum/work/4.1-opt · 1207c866
      unknown authored
      into  host.loc:/home/uchum/work/5.0-opt
      
      
      configure.in:
        Merge with 4.1-opt.
      1207c866
    • unknown's avatar
      Merge host.loc:/home/uchum/work/mysql-5.0 · 11cfd2ed
      unknown authored
      into  host.loc:/home/uchum/work/5.0-opt
      
      
      sql/sql_delete.cc:
        Auto merged
      sql/sql_prepare.cc:
        Auto merged
      sql/sql_update.cc:
        Auto merged
      11cfd2ed
    • unknown's avatar
      Merge trift2.:/MySQL/M50/mysql-5.0 · 9878e861
      unknown authored
      into  trift2.:/MySQL/M50/push-5.0
      
      
      configure.in:
        Auto merged
      9878e861
    • unknown's avatar
      Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0 · 42a06b46
      unknown authored
      into  rhel5-ia64-a.mysql.com:/data0/tsmith/build/50
      
      
      42a06b46
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-bugteam · ed6b0a2f
      unknown authored
      into  mysql.com:/misc/mysql/34731/50-34731
      
      
      ed6b0a2f
    • unknown's avatar
      Merge mysql.com:/misc/mysql/34731_/50-34731 · fd161631
      unknown authored
      into  mysql.com:/misc/mysql/34731/50-34731
      
      
      sql/opt_range.cc:
        Auto merged
      mysql-test/r/range.result:
        manual merge
      mysql-test/t/range.test:
        manual merge
      fd161631
    • unknown's avatar
      Recommit of antonys previous commit. · fb27979e
      unknown authored
      Bug#21413
      "Engine table handler used by multiple threads in REPLACE DELAYED"
      When executing a REPLACE DELAYED statement, the storage engine
      ::extra() method was invoked by a different thread than the thread
      which has acquired the handler instance.
      
      This did not cause problems within the current server and with
      the current storage engines.
      But it has the potential to confuse future storage engines.
      
      Added code to avoid surplus calls to extra() method in case of DELAYED
      which avoids calling storage engine from a different thread than
      expected.
      
      No test case.
      This change does not change behavior in conjunction with current
      storage engines. So it cannot be tested by the regression test suite.
      
      
      sql/sql_insert.cc:
        Bug#21413
        When performing DELAYED operations, we should not call
        the storage engine methods from the 'wrong' context.
        Ensure that the calls to the methods are appropiately guarded
        by either moving calls to sections where the lock_type is checked.
        No need to copy all elements of TABLE_LIST when opening table
        using open_ltable().
      fb27979e