An error occurred fetching the project authors.
  1. 24 Dec, 2010 1 commit
    • Sergey Glukhov's avatar
      Bug#57810 case/when/then : Assertion failed: length || !scale · bc56dcea
      Sergey Glukhov authored
      ASSERT happens due to improper calculation of the max_length
      in Item_func_div object, if dividend has max_length == 0 then
      Item_func_div::max_length is set to 0 under some circumstances.
      The fix:
      If decimals == NOT_FIXED_DEC then set
      Item_func_div::max_length to max possible
      DOUBLE length value.
      
      
      mysql-test/r/func_math.result:
        test case
      mysql-test/t/func_math.test:
        test case
      sql/item_func.cc:
        The fix:
        If decimals == NOT_FIXED_DEC then set
        Item_func_div::max_length to max possible
        DOUBLE length value.
      bc56dcea
  2. 27 Oct, 2010 1 commit
    • Sergey Glukhov's avatar
      Bug#57477 SIGFPE when dividing a huge number a negative number · c7371c9e
      Sergey Glukhov authored
      The problem is dividing by const value when
      the result is out of supported range.
      The fix:
      -return LONGLONG_MIN if the result is out of supported range for DIV operator.
      -return 0 if divisor is -1 for MOD operator.
      
      
      mysql-test/r/func_math.result:
        test case
      mysql-test/t/func_math.test:
        test case
      sql/item_func.cc:
        -return LONGLONG_MIN if the result is out of supported range for DIV operator.
        -return 0 if divisor is -1 for MOD operator.
      c7371c9e
  3. 21 Jul, 2009 1 commit
    • MySQL Build Team's avatar
      Backport into build-200907211706-5.0.82sp1 · ae238045
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 2763
      > revision-id: sergey.glukhov@sun.com-20090602063813-33mh88cz5vpa2jqe
      > parent: alexey.kopytov@sun.com-20090601124224-zgt3yov9wou590e9
      > committer: Sergey Glukhov <Sergey.Glukhov@sun.com>
      > branch nick: mysql-5.0-bugteam
      > timestamp: Tue 2009-06-02 11:38:13 +0500
      > message:
      >   Bug#45152 crash with round() function on longtext column in a derived table
      >   The crash happens due to wrong max_length value which is set on
      >   Item_func_round::fix_length_and_dec() stage. The value is set to
      >   args[0]->max_length which is too big in case of LONGTEXT(LONGBLOB) fields.
      >   The fix is to set max_length using float_length() function.
      ae238045
  4. 02 Jun, 2009 1 commit
    • Sergey Glukhov's avatar
      Bug#45152 crash with round() function on longtext column in a derived table · 33734e95
      Sergey Glukhov authored
      The crash happens due to wrong max_length value which is set on
      Item_func_round::fix_length_and_dec() stage. The value is set to
      args[0]->max_length which is too big in case of LONGTEXT(LONGBLOB) fields.
      The fix is to set max_length using float_length() function.
      
      
      
      mysql-test/r/func_math.result:
        test result
      mysql-test/t/func_math.test:
        test case
      sql/item_func.cc:
        The crash happens due to wrong max_length value which is set on
        Item_func_round::fix_length_and_dec() stage. The value is set to
        args[0]->max_length which is too big in case of LONGTEXT(LONGBLOB) fields.
        The fix is to set max_length using float_length() function.
      33734e95
  5. 18 May, 2009 1 commit
    • Gleb Shchepa's avatar
      Bug #44768: SIGFPE crash when selecting rand from a view containing null · 405bd2af
      Gleb Shchepa authored
      The RAND(N) function where the N is a field of "constant" table
      (table of single row) failed with a SIGFPE.
      
      Evaluation of RAND(N) rely on constant status of its argument.
      Current server "seeded" random value for each constant argument
      only once, in the Item_func_rand::fix_fields method.
      Then the server skipped a call to seed_random() in the
      Item_func_rand::val_real method for such constant arguments.
      
      However, non-constant state of an argument may be changed
      after the call to fix_fields, if an argument is a field of
      "constant" table. Thus, pre-initialization of random value
      in the fix_fields method is too early.
      
      
      Initialization of random value by seed_random() has been
      removed from Item_func_rand::fix_fields method.
      The Item_func_rand::val_real method has been modified to
      call seed_random() on the first evaluation of this method
      if an argument is a function.
      
      
      mysql-test/r/func_math.result:
        Added test case for bug #44768.
      mysql-test/t/func_math.test:
        Added test case for bug #44768.
      sql/item_func.cc:
        Bug #44768: SIGFPE crash when selecting rand from a view containing null
        
        1. Initialization of random value by seed_random() has been
           removed from Item_func_rand::fix_fields method.
        2. The Item_func_rand::val_real method has been modified to
           call seed_random() on the first evaluation of this method
           if an argument is a function.
      sql/item_func.h:
        Bug #44768: SIGFPE crash when selecting rand from a view containing null
        
        1. The Item_func_rand::first_eval has been added to trace
           the first evaluation of the val_real method.
        2. The Item_func_rand::cleanup method has been added to
           cleanup the first_eval flag.
      405bd2af
  6. 23 Feb, 2009 1 commit
    • Alexey Kopytov's avatar
      Fix for bug #15936: "round" differs on Windows to Unix · 0e62c9aa
      Alexey Kopytov authored
      Both of our own implementations of rint(3) were inconsistent with the
      most common behavior of rint() on those platforms that have it: round
      to nearest, break ties by rounding to nearest even.
      
      Fixed by leaving just one implementation of rint() in our source tree,
      and changing its behavior to match the most common native
      implementations on other platforms.
      
      configure.in:
        Added checks for fenv.h and fesetround().
      include/config-win.h:
        Removed the incorrect implementation of rint() for Windows.
      include/my_global.h:
        Added an rint() implementation for platforms that do not have it.
      mysql-test/r/func_math.result:
        Added a test case for bug #15936.
      mysql-test/t/func_math.test:
        Added a test case for bug #15936.
      sql/mysqld.cc:
        Explicitly set the FPU rounding mode with fesetround().
      0e62c9aa
  7. 28 Jan, 2009 1 commit
    • Alexey Kopytov's avatar
      Fix for bug #21205: Different number of digits for float/double/real in --ps-protocol · a0194637
      Alexey Kopytov authored
      Various parts of code used different 'precision' arguments for sprintf("%g") when converting
      floating point numbers to a string. This led to differences in results in some cases 
      depending on whether the text-based or prepared statements protocol is used for a query.
      
      Fixed by changing arguments to sprintf("%g") to always be 15 (DBL_DIG) so that results are
      consistent regardless of the protocol.
      
      This patch will be null-merged to 6.0 as the problem does not exists there (fixed by the
      patch for WL#2934).
      
      client/sql_string.cc:
        Use 15 (DBL_DIG) as a precision argument for sprintf(), as Field_double::val_str() does.
      libmysql/libmysql.c:
        Use 15 (DBL_DIG) as a precision argument for sprintf(), as Field_double::val_str() does.
      mysql-test/r/archive_gis.result:
        Fixed test results to take additional precision into account.
      mysql-test/r/func_group.result:
        Fixed test results to take additional precision into account.
      mysql-test/r/func_math.result:
        Fixed test results to take additional precision into account.
      mysql-test/r/func_str.result:
        Fixed test results to take additional precision into account.
      mysql-test/r/gis.result:
        Fixed test results to take additional precision into account.
      mysql-test/r/innodb_gis.result:
        Fixed test results to take additional precision into account.
      mysql-test/r/select.result:
        Fixed test results to take additional precision into account.
      mysql-test/r/sp.result:
        Fixed test results to take additional precision into account.
      mysql-test/r/type_float.result:
        Fixed test results to take additional precision into account.
      mysql-test/t/type_float.test:
        Fixed test results to take additional precision into account.
      sql/sql_string.cc:
        Use 15 (DBL_DIG) as a precision argument for sprintf(), as Field_double::val_str() does.
      a0194637
  8. 19 Feb, 2008 1 commit
    • unknown's avatar
      Fix for bug #31236: Inconsistent division by zero behavior for · 61c31af4
      unknown authored
                          floating point numbers
      
      Some math functions did not check if the result is a valid number
      (i.e. neither of +-inf or nan).
      
      Fixed by validating the result where necessary and returning NULL in
      case of invalid result.
      
      
      BitKeeper/deleted/.del-matherr.c:
        Rename: sql/matherr.c -> BitKeeper/deleted/.del-matherr.c
      configure.in:
        Removed DONT_USE_FINITE, it is not used anywhere.
      include/my_global.h:
        isfinite() is a C99 macro which absoletes finite(). First try to use
        it, then fall back to finite() if the target platform has it,
        otherwise use our own implementation.
      mysql-test/r/func_math.result:
        Added a test case for bug #31236.
      mysql-test/r/strict.result:
        Fixed a test case which relied on old behavior.
      mysql-test/t/func_math.test:
        Added a test case for bug #31236.
      mysql-test/t/strict.test:
        Fixed a test case which relied on old behavior.
      sql/field.cc:
        No need to check if the finite() or its equivalent is available.
      sql/item_func.cc:
        Use fix_result() wherever the result can be one of +-inf or nan, 
        assuming the function arguments are valid numbers.
        Removed fix_result() from functions that are defined for all possible
        input numbers.
      sql/item_func.h:
        Moved fix_result() from Item_dec_func to Item_func which is a common
        ancestor for Item_dec_func and Item_num_op.
      sql/unireg.h:
        Removed POSTFIX_ERROR because no code returns it.
      61c31af4
  9. 01 Oct, 2007 2 commits
  10. 28 Sep, 2007 1 commit
    • unknown's avatar
      Bug #30587: mysql crashes when trying to group by TIME div NUMBER · bebcb221
      unknown authored
      When calculating the result length of an integer DIV function 
      the number of decimals was used without checking the result type
      first. Thus an uninitialized number of decimals was used for some 
      types. This caused an excessive amount of memory to be allocated 
      for the field's buffer and crashed the server.
      
       
      Fixed by using the number of decimals only for data types that 
      can have decimals and thus have valid decimals number.
      
      
      mysql-test/r/func_math.result:
        Bug #30587: test case
      mysql-test/t/func_math.test:
        Bug #30587: test case
      sql/item_func.cc:
        Bug #30587: Don't use decimals on a type that doesn't have them.
      bebcb221
  11. 28 Apr, 2007 1 commit
    • unknown's avatar
      Fix for bug #24912 "problems with bigint in abs() ceiling() round() truncate()... · 38090df9
      unknown authored
      Fix for bug #24912 "problems with bigint in abs() ceiling() round() truncate() mod()" and a number of related problems:
      
      - unsigned flag was not handled correctly for a number of mathematical funcions, which led to incorrect results
      - passing large values as the number of decimals to ROUND() resulted in incorrect results and even server crashes in some cases
      - reverted the fix and the testcase for bug #10083 as it violates the manual
      - fixed some testcases which relied on broken ROUND() behavior
      
      
      mysql-test/r/func_math.result:
        - Removed the testcase for bug #10083 (not a bug according to the manual)
        - Changed the testcase for bug #9837 to expect a correct ROUND() behavior
        - Added testcases for bug #24912 and all related bugs found
      mysql-test/r/type_newdecimal.result:
        Fixed a truncate() testcase which relied on broken behavior
      mysql-test/t/func_math.test:
        - Removed the testcase for bug #10083 (not a bug according to the manual)
        - Changed the testcase for bug #9837 to expect a correct ROUND() behavior
        - Added testcases for bug #24912 and all related bugs found
      sql/item_func.cc:
        Various changes to fix bug #24912 and all related bugs found:
        - honor unsigned_flag in various Item_* functions
        - correctly handle out-of-range numbers of decimals in Item_func_round::fix_length_and_dec()
        - changed the argument specifying the number of decimals in my_double_round() from int to longlong, added a new argument to pass the 'unsigned flag'
        - changed my_double_round() to correctly handle large values passed as the 'number of decimals' argument
        - added a my_double_round() analog for BIGINT UNSIGNED arguments (my_unsigned_round())
        - fixed Item_func_round()::int_op() to not overflow even when the result is within integer range
        - fixed a bug Item_founc_round()::decimal_op() which resulted in crash when a large number of decimals was passed to my_decimal_round()
      sql/item_func.h:
        Various fixed to correctly handle unsigned values.
      sql/item_strfunc.cc:
        Changed the call to my_double_round() to match the new declaration.
      sql/mysql_priv.h:
        Changed the declaration for my_double_round() to be able pass arbitrary integers as number of decimals (both signed and unsigned)
      38090df9
  12. 23 Jan, 2007 1 commit
    • unknown's avatar
      Bug #6172: RAND(a) should only accept constant values as arguments · d74a7b9d
      unknown authored
       RAND() must accept scalar expressions regardless of their kind.
       That includes both constant expressions and expressions that 
       depend on column values.
       When the expression is constant the random seed can be initialized
       at compile time.
       However when the expression is not constant the random seed must be
       initialized at each invocation (while it still can be allocated at
       compile time).
       Implemented the above rules by extending Item_func_rand::val_real()
       to initialize the random seed at the correct place.
      
      
      mysql-test/r/func_math.result:
        Bug #6172: RAND(a) should only accept constant values as arguments
         - extened the test case
      mysql-test/t/func_math.test:
        Bug #6172: RAND(a) should only accept constant values as arguments
         - extened the test case
      sql/item_func.cc:
        Bug #6172: RAND(a) should only accept constant values as arguments
         - allow specifying non-const expressions as RAND() arguments
      sql/item_func.h:
        Bug #6172: RAND(a) should only accept constant values as arguments
         - allow specifying non-const expressions as RAND() arguments
      d74a7b9d
  13. 02 Nov, 2006 1 commit
    • unknown's avatar
      Bug#21114 (Foreign key creation fails to table with name format) · 384407aa
      unknown authored
      Due to the complexity of this change, everything is documented in WL#3565
      
      This patch is the third iteration, it takes into account the comments
      received to date.
      
      
      mysql-test/r/func_math.result:
        Improved test coverage
      mysql-test/r/view.result:
        Name collision, x() is a geometry native in function
      mysql-test/t/func_math.test:
        Improved test coverage
      mysql-test/t/view.test:
        Name collision, x() is a geometry native in function
      sql/item_create.cc:
        Revised the create_func implementation
      sql/item_create.h:
        Revised the create_func implementation
      sql/item_geofunc.h:
        Explicit Item allocation in the thread memory pool.
      sql/lex.h:
        Removed function parsing from the lexical parser
      sql/lex_symbol.h:
        Removed function parsing from the lexical parser
      sql/mysql_priv.h:
        Server initialization and shutdown
      sql/mysqld.cc:
        Server initialization and shutdown
      sql/share/errmsg.txt:
        New error messages
      sql/sql_yacc.yy:
        Removed function parsing from the lexical parser
      tests/mysql_client_test.c:
        Spaces are no longer significant for function calls
      mysql-test/include/parser_bug21114.inc:
        New tests
      mysql-test/r/parser.result:
        New tests
      mysql-test/r/parser_bug21114_innodb.result:
        New tests
      mysql-test/t/parser.test:
        New tests
      mysql-test/t/parser_bug21114_innodb.test:
        New tests
      384407aa
  14. 28 Jul, 2006 1 commit
    • unknown's avatar
      BUG#14940 "MySQL choose wrong index", v.2 · ef452e19
      unknown authored
      - Make the range-et-al optimizer produce E(#table records after table 
                                                 condition is applied),
      - Make the join optimizer use this value,
      - Add "filtered" column to EXPLAIN EXTENDED to show 
        fraction of records left after table condition is applied
      - Adjust test results, add comments
      
      
      mysql-test/r/archive_gis.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/auto_increment.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/bdb_gis.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/bench_count_distinct.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/binlog_stm_blackhole.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/case.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/cast.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/compress.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/ctype_collate.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/ctype_cp1250_ch.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/date_formats.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/distinct.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/fulltext.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_compress.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_crypt.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_default.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_encrypt.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_gconcat.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_group.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_if.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_in.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_like.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_math.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_op.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_regexp.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_set.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_str.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_system.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_test.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_time.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/gis.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/group_by.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/group_min_max.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/having.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/heap.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/heap_hash.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/index_merge.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/index_merge_innodb.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/index_merge_ror.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/innodb_gis.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/insert_update.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/join.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/join_nested.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/key_diff.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/myisam.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/ndb_gis.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/negation_elimination.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/null.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/olap.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/partition_pruning.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/query_cache.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/row.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/rpl_get_lock.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/rpl_master_pos_wait.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/select.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/ssl.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/ssl_compress.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/subselect.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/type_blob.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/union.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/varbinary.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/variables.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/view.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/t/ctype_cp1250_ch.test:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/t/func_like.test:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/t/group_min_max.test:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/t/index_merge_ror.test:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/t/index_merge_ror_cpk.test:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/t/join.test:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/t/partition_pruning.test:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      sql/opt_range.cc:
        BUG#14940: Make range/index_merge/group-min-max optimizer produce TABLE::quick_condition_rows -
          estimate of #records that will match the table condition.
      sql/sql_class.cc:
        BUG#14940: Add "filtered" column to output of EXPLAIN EXTENDED
      sql/sql_select.cc:
        BUG#14940: 
        - Make the join optimizer to use TABLE::quick_condition_rows=
          = E(#table records after filtering with table condition) 
        - Add "filtered" column to output of EXPLAIN EXTENDED
      sql/sql_select.h:
        BUG#14940: Added comments
      sql/table.h:
        BUG#14940: Added comments
      ef452e19
  15. 27 Jun, 2006 1 commit
    • unknown's avatar
      Bug#17203: "sql_no_cache sql_cache" in views created from prepared statement · 90cb4c03
      unknown authored
      The problem was that we restored SQL_CACHE, SQL_NO_CACHE flags in SELECT
      statement from internal structures based on value set later at runtime, not
      the original value set by the user.
      
      The solution is to remember that original value.
      
      
      mysql-test/r/auto_increment.result:
        Update result to not report SQL_NO_CACHE if it wasn't there at first place.
      mysql-test/r/func_compress.result:
        Update result to not report SQL_NO_CACHE if it wasn't there at first place.
      mysql-test/r/func_math.result:
        Update result to not report SQL_NO_CACHE if it wasn't there at first place.
      mysql-test/r/func_system.result:
        Update result to not report SQL_NO_CACHE if it wasn't there at first place.
      mysql-test/r/func_time.result:
        Update result to not report SQL_NO_CACHE if it wasn't there at first place.
      mysql-test/r/information_schema.result:
        Update result to not report SQL_NO_CACHE if it wasn't there at first place.
      mysql-test/r/query_cache.result:
        Update result to not report SQL_NO_CACHE if it wasn't there at first place.
      mysql-test/r/rpl_get_lock.result:
        Update result to not report SQL_NO_CACHE if it wasn't there at first place.
      mysql-test/r/rpl_master_pos_wait.result:
        Update result to not report SQL_NO_CACHE if it wasn't there at first place.
      mysql-test/r/show_check.result:
        Add result for bug#17203.
      mysql-test/r/subselect.result:
        Update result to not report SQL_NO_CACHE if it wasn't there at first place.
      mysql-test/r/type_blob.result:
        Update result to not report SQL_NO_CACHE if it wasn't there at first place.
      mysql-test/r/variables.result:
        Update result to not report SQL_NO_CACHE if it wasn't there at first place.
      mysql-test/r/view.result:
        Update result to not report SQL_NO_CACHE if it wasn't there at first place.
      mysql-test/t/show_check.test:
        Add test case for bug#17203.
      sql/sql_lex.cc:
        Reset SELECT_LEX::sql_cache together with SELECT_LEX::options.
      sql/sql_lex.h:
        Add SELECT_LEX::sql_cache field to store original user setting.
      sql/sql_select.cc:
        Output SQL_CACHE and SQL_NO_CACHE depending on stored original user setting.
      sql/sql_yacc.yy:
        Make effect of SQL_CACHE and SQL_NO_CACHE mutually exclusive.  Ignore
        SQL_CACHE if SQL_NO_CACHE was used.  Remember what was set by the user.
        Reset SELECT_LEX::sql_cache together with SELECT_LEX::options.
      90cb4c03
  16. 06 Mar, 2006 1 commit
  17. 22 Feb, 2006 1 commit
    • unknown's avatar
      Bug#10460 SHOW CREATE TABLE uses inconsistent upper/lower case · 31a7a0d6
      unknown authored
      mysql-test/r/alter_table.result:
        Update test result
      mysql-test/r/analyse.result:
        Update test result
      mysql-test/r/archive.result:
        Update test result
      mysql-test/r/archive_bitfield.result:
        Update test result
      mysql-test/r/archive_gis.result:
        Update test result
      mysql-test/r/bdb.result:
        Update test result
      mysql-test/r/bdb_gis.result:
        Update test result
      mysql-test/r/bigint.result:
        Update test result
      mysql-test/r/binary.result:
        Update test result
      mysql-test/r/case.result:
        Update test result
      mysql-test/r/cast.result:
        Update test result
      mysql-test/r/constraints.result:
        Update test result
      mysql-test/r/create.result:
        Update test result
      mysql-test/r/ctype_collate.result:
        Update test result
      mysql-test/r/ctype_create.result:
        Update test result
      mysql-test/r/ctype_latin1_de.result:
        Update test result
      mysql-test/r/ctype_many.result:
        Update test result
      mysql-test/r/ctype_mb.result:
        Update test result
      mysql-test/r/ctype_recoding.result:
        Update test result
      mysql-test/r/ctype_sjis.result:
        Update test result
      mysql-test/r/ctype_tis620.result:
        Update test result
      mysql-test/r/ctype_ucs.result:
        Update test result
      mysql-test/r/ctype_ujis.result:
        Update test result
      mysql-test/r/ctype_utf8.result:
        Update test result
      mysql-test/r/default.result:
        Update test result
      mysql-test/r/events.result:
        Update test result
      mysql-test/r/federated.result:
        Update test result
      mysql-test/r/fulltext.result:
        Update test result
      mysql-test/r/func_gconcat.result:
        Update test result
      mysql-test/r/func_group.result:
        Update test result
      mysql-test/r/func_math.result:
        Update test result
      mysql-test/r/func_misc.result:
        Update test result
      mysql-test/r/func_str.result:
        Update test result
      mysql-test/r/func_system.result:
        Update test result
      mysql-test/r/gis-rtree.result:
        Update test result
      mysql-test/r/heap.result:
        Update test result
      mysql-test/r/index_merge_innodb.result:
        Update test result
      mysql-test/r/information_schema.result:
        Update test result
      mysql-test/r/innodb.result:
        Update test result
      mysql-test/r/innodb_gis.result:
        Update test result
      mysql-test/r/key.result:
        Update test result
      mysql-test/r/merge.result:
        Update test result
      mysql-test/r/myisam.result:
        Update test result
      mysql-test/r/mysqldump-max.result:
        Update test result
      mysql-test/r/mysqldump.result:
        Update test result
      mysql-test/r/ndb_bitfield.result:
        Update test result
      mysql-test/r/ndb_gis.result:
        Update test result
      mysql-test/r/ndb_partition_key.result:
        Update test result
      mysql-test/r/null.result:
        Update test result
      mysql-test/r/partition.result:
        Update test result
      mysql-test/r/partition_02myisam.result:
        Update test result
      mysql-test/r/partition_mgm_err.result:
        Update test result
      mysql-test/r/partition_range.result:
        Update test result
      mysql-test/r/ps_2myisam.result:
        Update test result
      mysql-test/r/ps_3innodb.result:
        Update test result
      mysql-test/r/ps_4heap.result:
        Update test result
      mysql-test/r/ps_5merge.result:
        Update test result
      mysql-test/r/ps_6bdb.result:
        Update test result
      mysql-test/r/rpl_mixed_ddl_dml.result:
        Update test result
      mysql-test/r/rpl_multi_engine.result:
        Update test result
      mysql-test/r/rpl_ndb_UUID.result:
        Update test result
      mysql-test/r/show_check.result:
        Update test result
      mysql-test/r/sp-vars.result:
        Update test result
      mysql-test/r/sp.result:
        Update test result
      mysql-test/r/sql_mode.result:
        Update test result
      mysql-test/r/strict.result:
        Update test result
      mysql-test/r/subselect.result:
        Update test result
      mysql-test/r/symlink.result:
        Update test result
      mysql-test/r/synchronization.result:
        Update test result
      mysql-test/r/system_mysql_db.result:
        Update test result
      mysql-test/r/temp_table.result:
        Update test result
      mysql-test/r/trigger.result:
        Update test result
      mysql-test/r/type_binary.result:
        Update test result
      mysql-test/r/type_bit.result:
        Update test result
      mysql-test/r/type_bit_innodb.result:
        Update test result
      mysql-test/r/type_blob.result:
        Update test result
      mysql-test/r/type_decimal.result:
        Update test result
      mysql-test/r/type_enum.result:
        Update test result
      mysql-test/r/type_float.result:
        Update test result
      mysql-test/r/type_nchar.result:
        Update test result
      mysql-test/r/type_newdecimal.result:
        Update test result
      mysql-test/r/type_set.result:
        Update test result
      mysql-test/r/type_timestamp.result:
        Update test result
      mysql-test/r/type_varchar.result:
        Update test result
      mysql-test/r/union.result:
        Update test result
      mysql-test/r/user_var.result:
        Update test result
      mysql-test/r/variables.result:
        Update test result
      sql/sql_show.cc:
        Make ouput from SHOW CREATE TABLE use uppercase for "CHARACTER SET", "COLLATE", "DEFAULT", "ON UPDATE" and "AUTO_INCREMENT"
      31a7a0d6
  18. 07 Feb, 2006 1 commit
    • unknown's avatar
      item_func.cc: · c9bb7e1f
      unknown authored
        fix for bug#8461
      
        BUG 8461 - TRUNCATE returns incorrect result if 2nd argument is negative
        Reason: Both TRUNCATE/ROUND converts INTEGERS to DOUBLE and back to INTEGERS
        Changed the integer routine to work on integers only.
        This bug affects 4.1, 5.0 and 5.1
        Fixing in 4.1 will need to change the routine to handle different types individually.
        5.0 did had different routines for different types already just the INTEGER routine was bad.
      
      
      sql/item_func.cc:
        fix for bug#8461
        BUG 8461 - TRUNCATE returns incorrect result if 2nd argument is negative
        Reason: TRUNCATE converts INTEGERS to DOUBLE and back to INTEGERS
        Both ROUND and TRUNCATE are affected by this.
        Changed the integer routine to work on integers only.
        This bug affects 4.1 5,0 and 5
        Fixing in 4.1 will need to change the routine to handle different types individually.
      c9bb7e1f
  19. 18 Oct, 2005 1 commit
  20. 17 Oct, 2005 1 commit
  21. 06 Sep, 2005 1 commit
  22. 02 Aug, 2005 1 commit
  23. 23 Jun, 2005 1 commit
  24. 15 Jun, 2005 1 commit
    • unknown's avatar
      Fix for bug #10632 (CEILING returns wrong result) · df60c7ef
      unknown authored
      mysql-test/r/func_math.result:
        test result fixed
      mysql-test/t/func_math.test:
        test case added
      strings/decimal.c:
        handling of round_digit changed - we have to check all the digits after
        the point if round_digit is 0
      df60c7ef
  25. 09 Jun, 2005 1 commit
  26. 08 Jun, 2005 1 commit
    • unknown's avatar
      Fix for bug #8429 (FORMAT returns incorrect result) · 4408350b
      unknown authored
      mysql-test/r/func_math.result:
        test result ixed
      mysql-test/t/func_math.test:
        test case added
      sql/item_strfunc.cc:
        Item_func_format::val_str now handles 'decimal' and 'double' values in
        different way
      4408350b
  27. 19 May, 2005 1 commit
    • unknown's avatar
      hf's fix for bug #9060 (FORMAT returns incorrect result) · 4482604e
      unknown authored
      we need proper rounding there
      
      
      mysql-test/r/func_math.result:
        test result fixed
      mysql-test/t/func_math.test:
        test case added
      sql/item_func.cc:
        my_double_round implementation added
      sql/item_strfunc.cc:
        my_double_round used
      sql/mysql_priv.h:
        my_double_round interface
      4482604e
  28. 27 Apr, 2005 1 commit
    • unknown's avatar
      after-merge fix · a082303f
      unknown authored
      mysql-test/r/func_math.result:
        after merge fix:
        the test should be added after we have new hf's pm code pushed.
      mysql-test/t/func_math.test:
        after merge fix:
        the test should be added after we have new hf's pm code pushed.
      a082303f
  29. 19 Apr, 2005 1 commit
  30. 20 Dec, 2004 1 commit
  31. 19 Aug, 2004 1 commit
    • unknown's avatar
      after merge fixes · ae2bf627
      unknown authored
      strings/my_vsnprintf.c:
        %.#s support in my_vsnprintf
      BitKeeper/etc/ignore:
        Added EXCEPTIONS-CLIENT to the ignore list
      ae2bf627
  32. 11 Aug, 2004 1 commit
  33. 31 Jul, 2004 1 commit
  34. 13 May, 2004 1 commit
  35. 19 Mar, 2004 1 commit
    • unknown's avatar
      Portability fixes · 86ae07cd
      unknown authored
      Fixed some wrong column specifications in mysql_fix_privilege_tables
      
      
      mysql-test/mysql-test-run.sh:
        Portability fix
      mysql-test/r/func_math.result:
        portability fix
      mysql-test/r/rpl_error_ignored_table.result:
        portability fix
      mysql-test/t/func_math.test:
        portability fix
      mysql-test/t/rpl_error_ignored_table.test:
        portability fix
      scripts/mysql_fix_privilege_tables.sh:
        func.name was not generated correctly
      scripts/mysql_fix_privilege_tables.sql:
        Fixed some wrong column specifications
      86ae07cd
  36. 12 Mar, 2004 1 commit
    • unknown's avatar
      Portability fixes & fixing of test suite · f85032f1
      unknown authored
      mysql-test/r/func_math.result:
        Updated tests after merge with 3.23
      mysql-test/r/multi_update.result:
        Fixed not portable test
      mysql-test/r/mysqlbinlog.result:
        Fixed test after push without doing 'make test'
      mysql-test/t/multi_update.test:
        Fixed not portable test
      sql/sql_parse.cc:
        Don't use static inline, as this is not portable
      f85032f1
  37. 04 Mar, 2004 1 commit
    • unknown's avatar
      fixed Bug #3051 "FLOOR returns invalid" · bc9de3d4
      unknown authored
      mysql-test/r/func_math.result:
        added test for Bug #3051 "FLOOR returns invalid"
      mysql-test/t/func_math.test:
        added test for Bug #3051 "FLOOR returns invalid"
      bc9de3d4
  38. 06 Feb, 2004 1 commit
  39. 13 Jan, 2004 1 commit
    • unknown's avatar
      Fixed Bug #2338 Trigonometric arithmetic problem · e1d5f620
      unknown authored
      by fixing optimizer bug with help of 'volatile' keyword
      
      
      mysql-test/r/func_math.result:
        added tests for BUG #2338 Trigonometric arithmetic problems
      mysql-test/t/func_math.test:
        added tests for BUG #2338 Trigonometric arithmetic problems
      sql/item_func.cc:
        added keyword volatile in Item_func_acos::val and Item_func_asin::val
        to calm optimizer down and to avoid it's bug
      e1d5f620