1. 24 Jun, 2007 1 commit
    • unknown's avatar
      Fixed bug #25602. A query with DISTINCT in the select list to which · e009b764
      unknown authored
      the loose scan optimization for grouping queries was applied returned 
      a wrong result set when the query was used with the SQL_BIG_RESULT
      option.
      
      The SQL_BIG_RESULT option forces to use sorting algorithm for grouping
      queries instead of employing a suitable index. The current loose scan
      optimization is applied only for one table queries when the suitable
      index is covering. It does not make sense to use sort algorithm in this
      case. However the create_sort_index function does not take into account
      the possible choice of the loose scan to implement the DISTINCT operator
      which makes sorting unnecessary. Moreover the current implementation of
      the loose scan for queries with distinct assumes that sorting will
      never happen. Thus in this case create_sort_index should not call
      the function filesort.
      
      
      mysql-test/r/group_min_max.result:
        Added a test case for bug #25602.
      mysql-test/t/group_min_max.test:
        Added a test case for bug #25602.
      e009b764
  2. 22 Jun, 2007 4 commits
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · f3940eba
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B28400-5.0-opt
      
      
      f3940eba
    • unknown's avatar
      Bug #27383: Crash in test "mysql_client_test" · fe036d98
      unknown authored
      The C optimizer may decide that data access operations
      through pointer of different type are not related to 
      the original data (strict aliasing).
      This is what happens in fetch_long_with_conversion(),
      when called as part of mysql_stmt_fetch() : it tries 
      to check for truncation errors by first storing float
      (and other types of data) into a char * buffer and then 
      accesses them through a float pointer.
      This is done to prevent the effects of excess precision
      when using FPU registers.
      However the doublestore() macro converts a double pointer
      to an union pointer. This violates the strict aliasing rule.
      Fixed by making the intermediary variables volatile (
      to not re-introduce the excess precision bug) and using
      the intermediary value instead of the char * buffer.
      Note that there can be loss of precision for both signed
      and unsigned 64 bit integers converted to double and back,
      so the check must stay there (even for compatibility 
      reasons).
      Based on the excellent analysis in bug 28400.
      
      
      libmysql/libmysql.c:
        Bug #27383: avoid pointer aliasing problems while 
        not re-violating the Intel FPU gcc bug.
      fe036d98
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.0-opt · e434a5ca
      unknown authored
      into  mysql.com:/home/hf/work/28839/my50-28839
      
      
      e434a5ca
    • unknown's avatar
      rpl_skip_error.test fixed · cb606a66
      unknown authored
      
      mysql-test/r/rpl_skip_error.result:
        test result fixed
      mysql-test/t/rpl_skip_error.test:
        inconsistent column results hidden
      cb606a66
  3. 21 Jun, 2007 4 commits
  4. 20 Jun, 2007 9 commits
    • unknown's avatar
      Fixed bug #28293. · b5eb3fcb
      unknown authored
      Occasionally mysqlbinlog --hexdump failed with error:
        ERROR 1064 (42000) at line ...: You have an error in your
        SQL syntax; check the manual that corresponds to your MySQL
        server version for the right syntax to use near
        'Query thread_id=... exec_time=... error_code=...
      
      When the length of hexadecimal dump of binlog header was
      divisible by 16, commentary sign '#' after header was lost.
      The Log_event::print_header function has been modified to always
      finish hexadecimal binlog header with "\n# ".
      
      
      sql/log_event.cc:
        Fixed bug #28293.
        The Log_event::print_header function has been modified to always
        finish hexadecimal binlog header with "\n# ".
      mysql-test/r/mysqlbinlog.result:
        Updated test case for bug #28293.
      mysql-test/t/mysqlbinlog.test:
        Updated test case for bug #28293.
      b5eb3fcb
    • unknown's avatar
      Fixed bug #29104: assertion abort for grouping queries using views. · 39bf2b96
      unknown authored
      The abort happened when a query contained a conjunctive predicate
      of the form 'view column = constant' in the WHERE condition and 
      the grouping list also contained a reference to a view column yet
      a different one.
      
      Removed the failing assertion as invalid in a general case.
      
      Also fixed a bug that prevented applying some optimization for grouping
      queries using views. If the WHERE condition of such a query contains
      a conjunctive condition of the form 'view column = constant' and
      this view column is used in the grouping list then grouping by this
      column can be eliminated. The bug blocked performing this elimination.
      
      
      mysql-test/r/view.result:
        Added a test case for bug #29104.
      mysql-test/t/view.test:
        Added a test case for bug #29104.
      sql/item.cc:
        Fixed bug #29104: assertion abort for grouping queries using views.
        The abort happened when a query contained a conjunctive predicate
        of the form 'view column = constant' in the WHERE condition and 
        the grouping list also contained a reference to a view column yet
        a different one.
        
        Removed the failing assertion as invalid in a general case.
        
        Also fixed a bug that prevented applying some optimization for grouping
        queries using views. If the WHERE condition of such a query contains
        a conjunctive condition of the form 'view column = constant' and
        this view column is used in the grouping list then grouping by this
        column can be eliminated. The bug blocked performing this elimination.
        This bug was in the function Item_field::eq while the failing
        assertion was in the function Item_direct_view_ref::eq.
      39bf2b96
    • unknown's avatar
      port of the fix for bug 19116 4.1-opt -> 5.0-opt · d8512831
      unknown authored
      d8512831
    • unknown's avatar
      Merge magare.gmz:/home/kgeorge/mysql/work/B29116-4.1-opt · e0ab3523
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/work/B29116-5.0-opt
      
      
      mysql-test/t/rpl_change_master.test:
        Auto merged
      e0ab3523
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/5.0-opt-28898 · 4310ceb0
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.0-opt
      
      
      4310ceb0
    • unknown's avatar
      metadata.test, metadata.result: · 8e35de2a
      unknown authored
        Updated test case for bug #28898. Additional cleanup.
      
      
      mysql-test/t/metadata.test:
        Updated test case for bug #28898. Additional cleanup.
      mysql-test/r/metadata.result:
        Updated test case for bug #28898. Additional cleanup.
      8e35de2a
    • unknown's avatar
      Bug #28839 Errors in strict mode silently stop SQL thread if --slave-skip-errors exists. · d5cc204e
      unknown authored
      slave_sql thread calls thd->clear_error() to force error to be ignored,
      though this method didn't clear thd->killed state, what causes
      slave_sql thread to stop.
      
      clear thd->killed state if we ignore an error
      
      
      mysql-test/r/rpl_skip_error.result:
        Bug #28839 Errors in strict mode silently stop SQL thread if --slave-skip-errors exists.
        
        test result
      mysql-test/t/rpl_skip_error.test:
        Bug #28839 Errors in strict mode silently stop SQL thread if --slave-skip-errors exists.
        
        test case
      sql/log_event.cc:
        Bug #28839 Errors in strict mode silently stop SQL thread if --slave-skip-errors exists.
        
        clear thd->killed state if we ignore the error
      d5cc204e
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/5.0-opt-28898 · e2aa6ee1
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.0-opt
      
      
      sql/sql_select.cc:
        Auto merged
      e2aa6ee1
    • unknown's avatar
      Fixed bug #28898. · e855bf33
      unknown authored
      For a join query with GROUP BY and/or ORDER BY and a view reference
      in the FROM list the metadata erroneously showed empty table aliases
      and database names for the view columns.
      
      
      
      sql/item.h:
        Fixed bug #28898.
        Body of Item_ref::get_tmp_table_item method has been moved
        to item.cc file.
      mysql-test/t/metadata.test:
        Updated test case for bug #28898.
      sql/item.cc:
        Fixed bug #28898.
        The Item_ref::get_tmp_table_item method has been modified
        to copy pointers to the table alias and database name to the new
        Item_field object created for a field stored in the temporary
        table.
      mysql-test/r/metadata.result:
        Updated test case for bug #28898.
      sql/sql_select.cc:
        Fixed bug #28898.
        The change_to_use_tmp_fields function has been modified to
        to copy pointers to the table alias and database name from
        the Item_ref objects to the new Item_field objects created
        for fields stored in the temporary table.
      e855bf33
  5. 19 Jun, 2007 3 commits
  6. 18 Jun, 2007 3 commits
  7. 17 Jun, 2007 10 commits
  8. 16 Jun, 2007 6 commits
    • unknown's avatar
      bigint.test: · 67988a75
      unknown authored
        Updated test case for bug #28625.
      
      
      mysql-test/t/bigint.test:
        Updated test case for bug #28625.
      67988a75
    • unknown's avatar
      Merge chilla.local:/home/mydev/mysql-5.0-amain · 3e2e6ea9
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.0-axmrg
      
      
      configure.in:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      3e2e6ea9
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/5.0-opt · b1dc106b
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.0-opt-28625
      
      
      sql/item_func.cc:
        Auto merged
      b1dc106b
    • unknown's avatar
      Fixed bug #28625: · 1b9f594f
      unknown authored
      DECIMAL column was used instead of BIGINT for the minimal possible
      BIGINT (-9223372036854775808).
      
      The Item_func_neg::fix_length_and_dec has been adjusted to
      to inherit the type of the argument in the case when it's an 
      Item_int object whose value is equal to LONGLONG_MIN.
      
      
      sql/item_func.cc:
        Fixed bug #28625.
        The Item_func_neg::fix_length_and_dec has been adjusted to
        to inherit the type of the argument in the case when it's an 
        Item_int object whose value is equal to LONGLONG_MIN.
      mysql-test/t/bigint.test:
        Added test result for bug #28625.
      mysql-test/r/bigint.result:
        Added test case for bug #28625.
      1b9f594f
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-5.0-maint · 2552a16e
      unknown authored
      into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build
      
      
      mysql-test/mysql-test-run.pl:
        Auto merged
      mysql-test/t/mysqldump.test:
        Auto merged
      2552a16e
    • unknown's avatar
      Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build-work · 910d8ea1
      unknown authored
      into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build
      
      
      client/CMakeLists.txt:
        merge fix
      910d8ea1