1. 22 Apr, 2008 1 commit
    • 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
  2. 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
  3. 30 Mar, 2008 1 commit
  4. 29 Mar, 2008 3 commits
  5. 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
  6. 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
  7. 26 Mar, 2008 6 commits
    • unknown's avatar
      Merge host.loc:/home/uchum/work/5.0-opt-35193 · c3f2e303
      unknown authored
      into  host.loc:/home/uchum/work/5.0-opt
      
      
      c3f2e303
    • unknown's avatar
      Fixed bug #35193. · 0b8342ba
      unknown authored
      View definition as SELECT ... FROM DUAL WHERE ... has
      valid syntax, but use of such view in SELECT or
      SHOW CREATE VIEW syntax causes unexpected syntax error.
      
      Server omits FROM DUAL clause when storing view body
      string in a .frm file for further evaluation.
      However, syntax of SELECT-witout-FROM query is more
      restrictive than SELECT FROM DUAL syntax, and doesn't
      allow the WHERE clause.
      
      NOTE: this syntax difference is not documented.
      
      
      View registration procedure has been modified to
      preserve original structure of view's body.
      
      
      
      mysql-test/r/view.result:
        Added test case for bug #35193.
      mysql-test/t/view.test:
        Added test case for bug #35193.
      sql/sql_select.cc:
        Fixed bug #35193.
        The st_select_lex::print function always omits FROM DUAL clause,
        even if original SELECT query has the WHERE clause.
        
        The mysql_register_view function uses this function to reconstruct
        a body of view's AS clause for further evaluation and stores that
        reconstructed clause in a .frm file.
        
        SELECT without FROM syntax is more restrictive than 
        SELECT FROM DUAL syntax: second one allows
        the WHERE clause, but first one is not.
        
        Use of this view in SELECT or SHOW CREATE VIEW queries
        causes unexpected syntax errors.
        
        
        The st_select_lex::print function has been modified to
        reconstruct FROM DUAL clause in queries when needed.
        
        
        TODO: Syntax difference is not documented and should be
        eliminated, however improvement of
        the SELECT-without-FROM syntax is not trivial and leads to
        significant modification of grammar file because of additional
        shift/reduce conflicts.
      0b8342ba
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0-build · c932049c
      unknown authored
      into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-build
      
      
      c932049c
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.0-amain · 4eaa7303
      unknown authored
      into  stella.local:/home2/mydev/mysql-5.0-axmrg
      
      
      4eaa7303
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.0-ateam · 7587a871
      unknown authored
      into  stella.local:/home2/mydev/mysql-5.0-axmrg
      
      
      7587a871
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.0-amain · 0d6f9bad
      unknown authored
      into  stella.local:/home2/mydev/mysql-5.0-axmrg
      
      
      mysql-test/r/ctype_big5.result:
        Auto merged
      mysql-test/r/ctype_cp932.result:
        Auto merged
      mysql-test/r/ctype_euckr.result:
        Auto merged
      mysql-test/r/ctype_gb2312.result:
        Auto merged
      mysql-test/r/ctype_gbk.result:
        Auto merged
      mysql-test/r/ctype_uca.result:
        Auto merged
      mysql-test/r/ctype_ucs.result:
        Auto merged
      mysql-test/t/ctype_ucs.test:
        Auto merged
      sql/slave.cc:
        Auto merged
      0d6f9bad
  8. 25 Mar, 2008 1 commit
    • unknown's avatar
      Bug#20906 (Multiple assignments in SET in stored routine produce incorrect · 18801aa8
      unknown authored
      instructions)
      
      This bug can not be reproduced in the current version,
      adding the test case to the test suite for coverage, no code change.
      
      
      mysql-test/r/sp-code.result:
        Bug#20906 (Multiple assignments in SET in stored routine produce incorrect
        instructions)
      mysql-test/t/sp-code.test:
        Bug#20906 (Multiple assignments in SET in stored routine produce incorrect
        instructions)
      18801aa8