1. 28 Apr, 2008 5 commits
  2. 26 Apr, 2008 1 commit
    • unknown's avatar
      Bug#36032 - Test funcs_1.processlist_priv_ps fails on Windows · 92098d5d
      unknown authored
      Bug#36033 - Test funcs_1.processlist_val_ps fails on Windows
      Bug#36034 - Test parts.part_supported_sql_func_<eng> fails on Windows
      Bug#36036 - Test parts.partition_alter1_<eng> fails on Windows
      Bug#36037 - Test parts.partition_alter2_<eng> fails on Windows
      Bug#36038 - Test parts.partition_basic_<engine> failing on Windows
      Bug#36039 - Test parts.partition_engine_<eng> fails on Windows
      Bug#36040 - Test parts.partition_syntax_<eng> fails on Windows
      
      Changeset to fix multiple 5.1.24-rc build bugs on Windows platforms.
      
      Many of these bugs had the same root causes.
      
      
      mysql-test/mysql-test-run.pl:
        Bug#36034 - Test parts.partition_supported_sql_func_<eng> fails on Windows
        
        Kent suggested these changes to ensure all contents of mysql-test/std_data are copied to std_data_ln on Windows (no symlinks)
      mysql-test/suite/funcs_1/datadict/processlist_priv.inc:
        Bug#36032 - Test funcs_1.processlist_priv_ps fails on Windows
        
        Altered .inc file to include HOST column in the --replace_column clauses.
        
        Windows tests were failing due to use of localhost as localhost:<port> rather than just localhost.
      mysql-test/suite/funcs_1/datadict/processlist_val.inc:
        Bug#36033 - Test funcs_1.processlist_val_ps fails on Windows
        
        Altered .inc file to include HOST column in the --replace_column clauses.
        
        Windows tests were failing due to use of localhost as localhost:<port> rather than just localhost.
      mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result:
        Bug#36032 - Test funcs_1.processlist_priv_ps fails on Windows
        
        Altered .inc file to include HOST column in the --replace_column clauses.
        
        Windows tests were failing due to use of localhost as localhost:<port> rather than just localhost.
        
        -reran .result file to account for change in --replace_column calls
      mysql-test/suite/funcs_1/r/processlist_priv_ps.result:
        Bug#36032 - Test funcs_1.processlist_priv_ps fails on Windows
        
        Altered .inc file to include HOST column in the --replace_column clauses.
        
        Windows tests were failing due to use of localhost as localhost:<port> rather than just localhost.
        
        -reran .result file to account for change in --replace_column calls
      mysql-test/suite/funcs_1/r/processlist_val_no_prot.result:
        Bug#36033 - Test funcs_1.processlist_val_ps fails on Windows
        
        Altered .inc file to include HOST column in the --replace_column clauses.
        
        Windows tests were failing due to use of localhost as localhost:<port> rather than just localhost.
        
        Reran .result file to account for changes to --replace_column clauses
      mysql-test/suite/funcs_1/r/processlist_val_ps.result:
        Bug#36033 - Test funcs_1.processlist_val_ps fails on Windows
        
        Altered .inc file to include HOST column in the --replace_column clauses.
        
        Windows tests were failing due to use of localhost as localhost:<port> rather than just localhost.
        
        Reran .result file to account for changes to --replace_column clauses
      mysql-test/suite/parts/inc/partition_layout_check1.inc:
        Bug#36036 - Test parts.partition_alter1_<eng> fails on Windows
        Bug#36037 - Test parts.partition_alter2_<eng> fails on Windows
        Bug#36038 - Test parts.partition_basic_<engine> failing on Windows
        Bug#36039 - Test parts.partition_engine_<eng> fails on Windows
        Bug#36040 - Test parts.partition_syntax_<eng> fails on Windows
        
        Added replace_result clause to account for Windows' use of '\r' vs. '\n'
        
        This difference was causing failures on Windows.
        
        Also, mleich added some changes to remove some -ls clauses that weren't necessary
      mysql-test/suite/parts/inc/partition_layout_check2.inc:
        Bug#36036 - Test parts.partition_alter1_<eng> fails on Windows
        Bug#36037 - Test parts.partition_alter2_<eng> fails on Windows
        Bug#36038 - Test parts.partition_basic_<engine> failing on Windows
        Bug#36039 - Test parts.partition_engine_<eng> fails on Windows
        Bug#36040 - Test parts.partition_syntax_<eng> fails on Windows
        
        Added replace_result clause to account for Windows' use of '\r' vs. '\n'
        
        This difference was causing failures on Windows.
        
        Also, mleich added some changes to remove some -ls clauses that weren't necessary
      mysql-test/suite/parts/r/partition_basic_symlink_myisam.result:
        changes by mleich to remove unneeded use of -ls clause in .result file 
        
        These clauses were removed from partition_layout_check1.inc and partition_layout_check2.inc
      92098d5d
  3. 25 Apr, 2008 1 commit
    • unknown's avatar
      Fixed bug#36006: Optimizer does table scan for SELECT COUNT(*) · 5b8cdbf4
      unknown authored
                       for ENGINE=MRG_MYISAM (should be optimized out).
      
      Before WL#3281 MERGE engine had the HA_NOT_EXACT_COUNT flag
      unset, and it worked with COUNT optimization as desired.
      After the removal of the HA_NOT_EXACT_COUNT flag neither
      HA_STATS_RECORDS_IS_EXACT (opposite to former HA_NOT_EXACT_COUNT
      flag) nor modern HA_HAS_RECORDS flag were not added to MERGE
      table flag mask.
      
      1. The HA_HAS_RECORDS table flag has been set.
      2. The ha_myisammrg::records method has been overridden to
         calculate total number of records in underlying tables.
      
      
      
      storage/myisammrg/myrg_records.c:
        Fixed bug#36006: Optimizer does table scan for select count(*).
        The myrg_records function has been added to calculate total number
        of records in underlying tables.
      include/myisammrg.h:
        Fixed bug#36006: Optimizer does table scan for select count(*).
        The myrg_records function declaration has been added.
      mysql-test/r/merge.result:
        Added test case for bug#36006.
      mysql-test/t/merge.test:
        Added test case for bug#36006.
      storage/myisammrg/CMakeLists.txt:
        Fixed bug#36006: Optimizer does table scan for select count(*).
        New myrg_records.c file has been added.
      storage/myisammrg/Makefile.am:
        Fixed bug#36006: Optimizer does table scan for select count(*).
        New myrg_records.c file has been added.
      storage/myisammrg/ha_myisammrg.cc:
        Fixed bug#36006: Optimizer does table scan for select count(*).
        The ha_myisammrg::records method has been overridden.
      storage/myisammrg/ha_myisammrg.h:
        Fixed bug#36006: Optimizer does table scan for select count(*).
        1. The HA_HAS_RECORDS table flag has been set.
        2. The ha_myisammrg::records method has been overridden.
      5b8cdbf4
  4. 24 Apr, 2008 2 commits
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.1-bugteam · 2a1ba656
      unknown authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.1-bug35844
      
      
      sql/sql_select.cc:
        Auto merged
      2a1ba656
    • unknown's avatar
      Enabled rpl: rpl_view, rpl_ndb_multi, rpl_log_pos · 9cb63bfb
      unknown authored
      and main: user_limits, concurrent_innodb, lowercase_table3, ctype_create 
      tests.
      
      
      mysql-test/suite/ndb/t/disabled.def:
        Removed test commented.
      mysql-test/suite/rpl/t/disabled.def:
        Enabled rpl_view, rpl_ndb_multi, rpl_log_pos tests.
      mysql-test/t/disabled.def:
        Enabled user_limits, concurrent_innodb, lowercase_table3, ctype_create tests.
      9cb63bfb
  5. 23 Apr, 2008 4 commits
    • unknown's avatar
      Merge host.loc:/home/uchum/work/5.0-bugteam · 304c4381
      unknown authored
      into  host.loc:/home/uchum/work/5.1-bugteam
      
      
      mysql-test/r/subselect.result:
        Merge with 5.0-bugteam (bug#36139).
      mysql-test/t/subselect.test:
        Merge with 5.0-bugteam (bug#36139).
      304c4381
    • 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
    • unknown's avatar
      Merge host.loc:/home/uchum/work/5.0-bugteam · e3ed2f88
      unknown authored
      into  host.loc:/home/uchum/work/5.1-bugteam
      
      
      mysql-test/r/ctype_gbk.result:
        Auto merged
      mysql-test/r/subselect3.result:
        Auto merged
      mysql-test/t/subselect3.test:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      strings/ctype-big5.c:
        Merge with 5.0-bugteam (bug#35993).
      strings/ctype-gbk.c:
        Merge with 5.0-bugteam (bug#35993).
      e3ed2f88
    • unknown's avatar
      Fixed bug#35844. · 61f6c602
      unknown authored
      The function test_if_skip_sort_order ignored any covering index used for ref
      access of a table in a query with ORDER BY if this index was incompatible 
      with the ORDER BY list and there was another covering index compatible with
      this list. 
      As a result sub-optimal execution plans were chosen for some queries with
      ORDER BY clause. 
      
      
      mysql-test/r/distinct.result:
        Adjusted results after the fix for bug#35844.
      mysql-test/r/order_by.result:
        Added a test case for bug#35844.
      mysql-test/t/order_by.test:
        Added a test case for bug#35844.
      61f6c602
  6. 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
  7. 21 Apr, 2008 2 commits
    • unknown's avatar
      Merge mysql.com:/home/psergey/mysql-5.0-bugteam · 6b4179ec
      unknown authored
      into  mysql.com:/home/psergey/mysql-5.1-bugteam
        BUG#36139: manual merge
      
      
      sql/item.cc:
        Auto merged
      mysql-test/r/subselect.result:
        BUG#36139: Manual merge
      mysql-test/t/subselect.test:
        BUG#36139: Manual merge
      6b4179ec
    • 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
  8. 01 Apr, 2008 6 commits
  9. 31 Mar, 2008 12 commits
  10. 30 Mar, 2008 3 commits
  11. 29 Mar, 2008 1 commit
    • unknown's avatar
      Bug #35675 reset master finds assert if a binlog file can not be deleted · 2a001d53
      unknown authored
      If a binlog file is manually replaced with a namesake directory the internal purging did
      not handle the error of deleting the file so that eventually
      a post-execution guards fires an assert.
      
      Fixed with reusing a snippet of code for bug@18199 to tolerate lack of the file but no other error 
      at an attempt to delete it.
      The same applied to the index file deletion.
      
      The cset carries pieces of manual merging.
      
      
      mysql-test/r/binlog_index.result:
        new results
      mysql-test/r/ctype_big5.result:
        results changed
      mysql-test/suite/binlog/r/binlog_auto_increment_bug33029.result:
        new results
      mysql-test/suite/binlog/r/binlog_stm_blackhole.result:
        new results
      mysql-test/suite/binlog/t/binlog_auto_increment_bug33029.test:
        cleanup. still todo: to let the test run multiple times w/o restarting the server (just ./mtr test)
      mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result:
        results changed
      mysql-test/suite/rpl/t/rpl_stm_auto_increment_bug33029.test:
        guarding the test with statement format condition as the logics of the test requires
      sql/log.cc:
        two changes. One for the bug, other manual merge.
        The bug change needs MYF(0) to pass to my_delete because not all error out of the function
        are critical. The finer check is done on the caller of my_delete similarly how it was implemented
        for bug@18199 fixes. Non-existance of a file is not a critical error.
      sql/sql_class.cc:
        manual merge, removing extra automatically brought hunk.
      2a001d53