1. 27 Aug, 2008 1 commit
    • Mats Kindahl's avatar
      Bug #38773: DROP DATABASE cause switch to stmt-mode when there are temporary · 02034091
      Mats Kindahl authored
                  tables open
      
      When executing a DROP DATABASE statement in ROW mode and having temporary
      tables open at the same time, the existance of temporary tables prevent
      the server from switching back to row mode after temporarily switching to
      statement mode to handle the logging of the statement.
      
      Fixed the problem by removing the code to switch to statement mode and added
      code to temporarily disable the binary log while dropping the objects in the
      database.
      
      
      mysql-test/extra/binlog_tests/database.test:
        Added test to ensure that DROP DATABASE does not affect the replication mode.
      sql/sql_db.cc:
        Removed code that clears the current_stmt_binlog_row_based flag.
        Added code to disable the binary log while dropping the objects
        in a database.
      02034091
  2. 18 Jul, 2008 6 commits
    • Andrei Elkin's avatar
      merge · 5ec6659e
      Andrei Elkin authored
      5ec6659e
    • Georgi Kodinov's avatar
      merge of 38158 to 5.1-bugteam · 5f5a3cf1
      Georgi Kodinov authored
      5f5a3cf1
    • Andrei Elkin's avatar
      Bug #36818 rpl_server_id1 fails expecting slave has stopped · 7d1bc0a4
      Andrei Elkin authored
            
      the reason for the failure is that io thread passes through a sequence of state
      changes before it eventually got stuck at the expect running state as NO.
      It's unreasonble to wait for the running status while the whole idea of the test is
      to get to the IO thread error.
      
      Fixed with changing the waiting condition.
      
      mysql-test/suite/rpl/r/rpl_server_id1.result:
        results changed
      mysql-test/suite/rpl/t/disabled.def:
        re-enabling rpl_server_id1
      mysql-test/suite/rpl/t/rpl_server_id1.test:
        deploying the exact waiting condition i.e to wait for the slave io error.
      7d1bc0a4
    • Georgi Kodinov's avatar
      Bug 38158: mysql client regression, can't read dump files · 88d66418
      Georgi Kodinov authored
      - Revert the fix for bug 33812
      - fixed a win32 warning
      
      client/mysql.cc:
        revert the fix for bug 33812
      mysql-test/r/mysql.result:
        revert the fix for bug 33812
      mysql-test/t/mysql_delimiter.sql:
        revert the fix for bug 33812
      mysys/default.c:
        fixed a win32 warning
      88d66418
    • Alexander Barkov's avatar
      Bug#27934 test client_xml misssing initialization · 6a42c35f
      Alexander Barkov authored
      Problem: missing initialization, if the previous test
      fails leaving table t1, client_xml fails as well.
      Fix: adding initialization.
      6a42c35f
    • Andrei Elkin's avatar
      Bug #34647 rpl_temporary discovers more than one dump thread and fails to select · f8e83321
      Andrei Elkin authored
      Many dump threads can exist due to a way the new version of mtr governs suites.
      
      For this immediate problem the test is refined not to use I_S but rather to reconnect
      explicitly with preserving logics of a an old target bug fixes verification.
      
      mysql-test/suite/rpl/r/rpl_temporary.result:
        results changed
      mysql-test/suite/rpl/t/rpl_temporary.test:
        refining the bug#17284 test to avoid counting dump threads in favor to reconnect
        explicitly with preserving the orig logics.
      f8e83321
  3. 17 Jul, 2008 2 commits
  4. 24 Jul, 2008 1 commit
  5. 17 Jul, 2008 8 commits
  6. 16 Jul, 2008 4 commits
    • Marc Alff's avatar
      Bug#30087 Set query_cache_size, if the value is too small, get a unclear warning · 95ca2c6d
      Marc Alff authored
      Reverting the previous patch
      95ca2c6d
    • Kristofer Pettersson's avatar
      Auto merged · 76bd3a55
      Kristofer Pettersson authored
      76bd3a55
    • Kristofer Pettersson's avatar
      merge · 51ef885c
      Kristofer Pettersson authored
      51ef885c
    • Georgi Kodinov's avatar
      Bug#37830 : ORDER BY ASC/DESC - no difference · 340134ac
      Georgi Kodinov authored
                  
      Range scan in descending order for c <= <col> <= c type of
      ranges was ignoring the DESC flag.
      However some engines like InnoDB have the primary key parts 
      as a suffix for every secondary key.
      When such primary key suffix is used for ordering ignoring 
      the DESC is not valid.
      But we generally would like to do this because it's faster.
            
      Fixed by performing only reverse scan if the primary key is used.
      Removed some dead code in the process.
      
      mysql-test/r/innodb_mysql.result:
        Bug#37830 : test case
      mysql-test/t/innodb_mysql.test:
        Bug#37830 : test case
      sql/opt_range.cc:
        Bug#37830 : 
         - preserve and use used_key_parts to
           distinguish when a primary key suffix is used
         - removed some dead code
      sql/opt_range.h:
        Bug#37830 : 
          - preserve used_key_parts
          - dead code removed
      sql/sql_select.cc:
        Bug#37830 : Do only reverse order traversal
            if the primary key suffix is used.
      340134ac
  7. 15 Jul, 2008 7 commits
    • Sergey Petrunia's avatar
      Merge · 7315a700
      Sergey Petrunia authored
      7315a700
    • Sergey Petrunia's avatar
      Merge fix for BUG#35478 into 5.1 · 7a92412c
      Sergey Petrunia authored
      7a92412c
    • Kristofer Pettersson's avatar
      auto merge · f81c2f07
      Kristofer Pettersson authored
      f81c2f07
    • Sergey Petrunia's avatar
      BUG#35478: sort_union() returns bad data when sort_buffer_size is hit · 62513bb1
      Sergey Petrunia authored
      - In QUICK_INDEX_MERGE_SELECT::read_keys_and_merge: when we got table->sort from Unique,
        tell init_read_record() not to use rr_from_cache() because a) rowids are already sorted
        and b) it might be that the the data is used by filesort(), which will need record rowids
        (which rr_from_cache() cannot provide).
      - Fully de-initialize the table->sort read in QUICK_INDEX_MERGE_SELECT::get_next(). This fixes BUG#35477.
      (bk trigger: file as fix for BUG#35478).
      
      sql/filesort.cc:
        BUG#35478: sort_union() returns bad data when sort_buffer_size is hit
        - make find_all_keys() use quick->get_next() instead of init_read_record(r)/r.read_record() calls
        - added dbug printout
      sql/mysql_priv.h:
        BUG#35478: sort_union() returns bad data when sort_buffer_size is hit
        - Added parameter to init_read_record
      sql/opt_range.cc:
        BUG#35478: sort_union() returns bad data when sort_buffer_size is hit
        - In QUICK_INDEX_MERGE_SELECT::read_keys_and_merge: when we got table->sort from Unique,
          tell init_read_record() not to use rr_from_cache() because a) rowids are already sorted
          and b) it might be that the the data is used by filesort(), which will need record rowids
          (which rr_from_cache() cannot provide).
        - Fully de-initialize the table->sort read in QUICK_INDEX_MERGE_SELECT::get_next().
      sql/records.cc:
        BUG#35478: sort_union() returns bad data when sort_buffer_size is hit
        - Added disable_rr_cache parameter to init_read_record
        - Added comment
      sql/sql_acl.cc:
        BUG#35478: sort_union() returns bad data when sort_buffer_size is hit
        - Added parameter to init_read_record
      sql/sql_delete.cc:
        BUG#35478: sort_union() returns bad data when sort_buffer_size is hit
        - Added parameter to init_read_record
      sql/sql_help.cc:
        BUG#35478: sort_union() returns bad data when sort_buffer_size is hit
        - Added parameter to init_read_record
      sql/sql_select.cc:
        BUG#35478: sort_union() returns bad data when sort_buffer_size is hit
        - Added parameter to init_read_record
      sql/sql_table.cc:
        BUG#35478: sort_union() returns bad data when sort_buffer_size is hit
        - Added parameter to init_read_record
      sql/sql_udf.cc:
        BUG#35478: sort_union() returns bad data when sort_buffer_size is hit
        - Added parameter to init_read_record
      sql/sql_update.cc:
        BUG#35478: sort_union() returns bad data when sort_buffer_size is hit
        - Added parameter to init_read_record
      62513bb1
    • Gleb Shchepa's avatar
      merge from local tree to 5.1-bugteam · d56f9ab7
      Gleb Shchepa authored
      d56f9ab7
    • Gleb Shchepa's avatar
      after-push patch: partial rollback of bug #37761 fix. · 56861c2d
      Gleb Shchepa authored
      Note: item->null_value is not updated before a call to
      item->store(), item->is_null() is not too (in common case).
      56861c2d
    • Marc Alff's avatar
  8. 14 Jul, 2008 4 commits
    • Marc Alff's avatar
      Merge · 5f9f35e2
      Marc Alff authored
      5f9f35e2
    • Marc Alff's avatar
      Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on · e73e7bb9
      Marc Alff authored
      build)
      
      The crash was caused by freeing the internal parser stack during the parser
      execution.
      This occured only for complex stored procedures, after reallocating the parser
      stack using my_yyoverflow(), with the following C call stack:
      - MYSQLparse()
      - any rule calling sp_head::restore_lex()
      - lex_end()
      - x_free(lex->yacc_yyss), xfree(lex->yacc_yyvs)
      
      The root cause is the implementation of stored procedures, which breaks the
      assumption from 4.1 that there is only one LEX structure per parser call.
      
      The solution is to separate the LEX structure into:
      - attributes that represent a statement (the current LEX structure),
      - attributes that relate to the syntax parser itself (Yacc_state),
      so that parsing multiple statements in stored programs can create multiple
      LEX structures while not changing the unique Yacc_state.
      
      Now, Yacc_state and the existing Lex_input_stream are aggregated into
      Parser_state, a structure that represent the complete state of the (Lexical +
      Syntax) parser.
      
      
      mysql-test/r/parser_stack.result:
        Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
        build)
      mysql-test/t/parser_stack.test:
        Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
        build)
      sql/sp.cc:
        Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
        build)
      sql/sp_head.cc:
        Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
        build)
      sql/sql_class.cc:
        Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
        build)
      sql/sql_class.h:
        Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
        build)
      sql/sql_lex.cc:
        Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
        build)
      sql/sql_lex.h:
        Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
        build)
      sql/sql_parse.cc:
        Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
        build)
      sql/sql_prepare.cc:
        Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
        build)
      sql/sql_trigger.cc:
        Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
        build)
      sql/sql_view.cc:
        Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
        build)
      sql/sql_yacc.yy:
        Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
        build)
      e73e7bb9
    • Ramil Kalimullin's avatar
      auto-merge · a3619d2e
      Ramil Kalimullin authored
      a3619d2e
    • Gleb Shchepa's avatar
      Bug #37761: IN handles NULL differently for table-subquery · e000e4a2
      Gleb Shchepa authored
                  and value-list
      
      The server returns unexpected results if a right side of the 
      NOT IN clause consists of NULL value and some constants of
      the same type, for example:
      
        SELECT * FROM t WHERE NOT t.id IN (NULL, 1, 2) 
        
      may return 3, 4, 5 etc if a table contains these values.
      
      
      The Item_func_in::val_int method has been modified:
      unnecessary resets of an Item_func_case::has_null field 
      value has been moved outside of an argument comparison
      loop. (Also unnecessary re-initialization of the null_value
      field has been moved).
      
      
      mysql-test/r/func_in.result:
        Added test case for bug #37761.
      mysql-test/t/func_in.test:
        Added test case for bug #37761.
      sql/item_cmpfunc.cc:
        Bug #37761: IN handles NULL differently for table-subquery 
                    and value-list
        
        The Item_func_in::val_int method has been modified:
        unnecessary resets of an Item_func_case::has_null field 
        value has been moved outside of an argument comparison
        loop. (Also unnecessary re-initialization of the null_value
        field has been moved).
      e000e4a2
  9. 11 Jul, 2008 1 commit
  10. 10 Jul, 2008 6 commits