1. 05 Oct, 2007 1 commit
    • holyfoot/hf@mysql.com/hfmain.(none)'s avatar
      Bug #30286 spatial index cause corruption and server crash! · 54b0cf97
      holyfoot/hf@mysql.com/hfmain.(none) authored
      As the result of DOUBLE claculations can be bigger
      than DBL_MAX constant we use in code, we shouldn't use this constatn
      as a biggest possible value.
      Particularly the rtree_pick_key function set 'min_area= DBL_MAX' relying
      that any rtree_area_increase result will be less so we return valid
      key. Though in rtree_area_increase function we calculate the area
      of the rectangle, so the result can be 'inf' if the rectangle is
      huge enough, which is bigger than DBL_MAX.
      
      Code of the rtree_pick_key modified so we always return a valid key.
      54b0cf97
  2. 05 Aug, 2007 1 commit
  3. 04 Aug, 2007 1 commit
  4. 02 Aug, 2007 6 commits
  5. 01 Aug, 2007 2 commits
  6. 31 Jul, 2007 2 commits
    • holyfoot/hf@mysql.com/hfmain.(none)'s avatar
      Merge mysql.com:/home/hf/work/029717/my41-29717 · 288ab1aa
      holyfoot/hf@mysql.com/hfmain.(none) authored
      into  mysql.com:/home/hf/work/29717/my41-29717
      288ab1aa
    • holyfoot/hf@mysql.com/hfmain.(none)'s avatar
      Bug #29717 INSERT INTO SELECT inserts values even if · f1ee2d06
      holyfoot/hf@mysql.com/hfmain.(none) authored
       SELECT statement itself returns empty.
      
      As a result of this bug 'SELECT AGGREGATE_FUNCTION(fld) ... GROUP BY'
      can return one row instead of an empty result set.
      
      When GROUP BY only has fields of constant tables
      (with a single row), the optimizer deletes the group_list.
      After that we lose the information about whether we had an
      GROUP BY statement. Though it's important
      as SELECT min(x) from empty_table; and
         SELECT min(x) from empty_table GROUP BY y; have to return
      different results - the first query should return one row,
      second - an empty result set.
      So here we add the 'group_optimized_away' flag to remember this case
      when GROUP BY exists in the query and is removed
      by the optimizer, and check this flag in end_send_group()
      f1ee2d06
  7. 30 Jul, 2007 1 commit
    • kent@mysql.com/kent-amd64.(none)'s avatar
      my_pthread.c: · e99df6fd
      kent@mysql.com/kent-amd64.(none) authored
        Backport of correction for Mac OS X build problem, global variable not
        initiated is "common" and can't be used in shared libraries, unless
        special flags are used (bug#26218)
      e99df6fd
  8. 26 Jul, 2007 3 commits
  9. 22 Jul, 2007 1 commit
  10. 21 Jul, 2007 1 commit
    • igor@olga.mysql.com's avatar
      Fixed bug #29911. · 07e0cd2f
      igor@olga.mysql.com authored
      This bug manifested itself for join queries with GROUP BY and HAVING clauses
      whose SELECT lists contained DISTINCT. It occurred when the optimizer could
      deduce that the result set would have not more than one row.
      The bug could lead to wrong result sets for queries of this type because
      HAVING conditions were erroneously ignored in some cases in the function
      remove_duplicates.   
      07e0cd2f
  11. 20 Jul, 2007 2 commits
  12. 17 Jul, 2007 1 commit
  13. 16 Jul, 2007 1 commit
  14. 14 Jul, 2007 1 commit
  15. 13 Jul, 2007 1 commit
    • tnurnberg@sin.intern.azundris.com's avatar
      Bug#27198: Error returns from time() are ignored · 5cbe511f
      tnurnberg@sin.intern.azundris.com authored
      gettimeofday() can fail and presumably, so can time().
      Keep an eye on it.
      
      Since we have no data on this at all so far, we just
      retry on failure (and log the event), assuming that
      this is just an intermittant failure. This might of
      course hang the threat until we succeed. Once we know
      more about these failures, an appropriate more clever
      scheme may be picked (only try so many times per thread,
      etc., if that fails, return last "good" time() we got or
      some such).  Using sql_print_information() to log as this
      probably only occurs in high load scenarios where the debug-
      trace likely is disabled (or might interfere with testing
      the effect).  No test-case as this is a non-deterministic
      issue.
      5cbe511f
  16. 12 Jul, 2007 1 commit
  17. 09 Jul, 2007 1 commit
  18. 08 Jul, 2007 2 commits
  19. 07 Jul, 2007 1 commit
  20. 06 Jul, 2007 3 commits
  21. 05 Jul, 2007 2 commits
  22. 04 Jul, 2007 1 commit
  23. 03 Jul, 2007 4 commits
    • gshchepa/uchum@gleb.loc's avatar
      Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-4.1-opt · 0e8292c9
      gshchepa/uchum@gleb.loc authored
      into  gleb.loc:/home/uchum/work/bk/4.1-opt
      0e8292c9
    • gshchepa/uchum@gleb.loc's avatar
      loaddata.result, loaddata.test: · 1f85dac2
      gshchepa/uchum@gleb.loc authored
        Test case update for bug #29294.
      1f85dac2
    • gshchepa/uchum@gleb.loc's avatar
      sql_class.cc: · 5f592984
      gshchepa/uchum@gleb.loc authored
        Windows compilation error fix.
      5f592984
    • gshchepa/uchum@gleb.loc's avatar
      Fixed bug #29294. · dbe4fb94
      gshchepa/uchum@gleb.loc authored
      The `SELECT 'r' INTO OUTFILE ... FIELDS ENCLOSED BY 'r' ' statement
      encoded the 'r' string to a 4 byte string of value x'725c7272'
      (sequence of 4 characters: r\rr).
      The LOAD DATA statement decoded this string to a 1 byte string of
      value x'0d' (ASCII Carriage Return character) instead of the original
      'r' character.
      The same error also happened with the FIELDS ENCLOSED BY clause
      followed by special characters: 'n', 't', 'r', 'b', '0', 'Z' and 'N'.
      
      NOTE 1: This is a result of the undocumented feature: the LOAD DATA INFILE
      recognises 2-byte input sequences like \n, \t, \r and \Z in addition
      to documented 2-byte sequences: \0 and \N. This feature should be
      documented (here backspace character is a default ESCAPED BY character,
      in the real-life example it may be any ESCAPED BY character).
      
      NOTE 2, changed behaviour:
      Now the `SELECT INTO OUTFILE' statement with the `FIELDS ENCLOSED BY'
      clause followed by one of: 'n', 't', 'r', 'b', '0', 'Z' or 'N' characters
      encodes this special character itself by doubling it ('r' --> 'rr'),
      not by prepending it with an escape character.
      dbe4fb94