An error occurred fetching the project authors.
  1. 15 Sep, 2005 1 commit
    • evgen@moonbone.local's avatar
      Fix bug #12291 Table wasn't reinited for index scan after sequential scan · 097ca8ad
      evgen@moonbone.local authored
      Optimizer did choose "Range checked for each record" for one of the tables.
      For first few loops over that table it choose sequential access, on later
      stage it choose to use index. Because table was previously initialized for 
      sequential access, it skips intitialization for index access, and when
      server tries to retrieve data error occurs.
      
      QUICK_RANGE_SELECT::init() changes so if file already initialized for
      sequential access, it calls ha_rnd_end() and initializes file for index
      access.
      097ca8ad
  2. 07 Sep, 2005 1 commit
    • aivanov@mysql.com's avatar
      join_outer.result, opt_range.cc, item_cmpfunc.cc: · 4b245a28
      aivanov@mysql.com authored
        Post merge changes
      sql_yacc.yy:
        Post merge changes
      sql_select.cc:
        Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
         for some expressions (post merge changes).
         The function add_key_fields() is modified. There cannot be NOT before
         BETWEEN/IN anymore. Rather Item_func_between/in objects can represent
         now [NOT]BETWEEN/IN expressions.
      4b245a28
  3. 06 Sep, 2005 1 commit
    • aivanov@mysql.com's avatar
      item_cmpfunc.h: · fa51afed
      aivanov@mysql.com authored
        Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
         for some expressions.
         The classes Item_func_between, Item_func_if, Item_func_in are modified.
         Item_func_between/in objects can represent now [NOT]BETWEEN/IN expressions.
         The class Item_func_opt_neg is added to factor out the functionality
         common for the modified classes Item_func_between and Item_func_in.
      item_cmpfunc.cc:
        Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
         for some expressions.
         Added Item_func_between::fix_fields(), Item_func_if::fix_fields(),
         Item_func_in::fix_fields(). They correct generic calculation of
         the not_null_tables attribute when it is needed.
         Modified Item_func_between::val_int(), Item_func_in::val_int().
      opt_range.cc:
        Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
         for some expressions.
         The function get_mm_tree() is modified. There cannot be NOT before
         BETWEEN/IN anymore. Rather Item_func_between/in objects can represent
         now [NOT]BETWEEN/IN expressions.
      sql_yacc.yy:
        Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
         for some expressions.
         Item_func_between/in objects can represent now [NOT]BETWEEN/IN expresions.
      join_outer.result:
        Fixed some testcases results (bugs #12101, #12102)
      join_outer.test:
        Added testcases for bugs #12101, #12102
      fa51afed
  4. 29 Aug, 2005 2 commits
  5. 18 Jul, 2005 1 commit
    • monty@mishka.local's avatar
      Cleanups during review · 78c65b5a
      monty@mishka.local authored
      Changed defaults option --instance to --defaults-group-suffix
      Changed option handling to allow --defaults-file, --defaults-extra-file and --defaults-group-suffix to be given in any order
      Changed MYSQL_INSTANCE to MYSQL_GROUP_SUFFIX
      mysql_print_defaults now understands --defaults-group-suffix
      Remove usage of my_tempnam() (not safe function)
      if( -> if ( and while( to while (
      78c65b5a
  6. 16 Jul, 2005 1 commit
    • igor@rurik.mysql.com's avatar
      opt_range.cc: · 6ea960c8
      igor@rurik.mysql.com authored
        Fixed bug #11853.
        Corrected the code of the range optimization for
        NOT IN and NOT BETWEEN.
      range.test, range.result:
        Fixed bug #11853.
      6ea960c8
  7. 04 Jul, 2005 1 commit
    • monty@mysql.com's avatar
      Fixes during review of new code · ec420bfb
      monty@mysql.com authored
      - Mostly indentation fixes
      - Added missing test
      - Ensure that Item_func_case() checks for stack overruns
      - Use real_item() instead of (Item_ref*) item
      - Fixed wrong error handling
      ec420bfb
  8. 29 Jun, 2005 1 commit
  9. 28 Jun, 2005 6 commits
  10. 23 Jun, 2005 3 commits
    • igor@rurik.mysql.com's avatar
      opt_range.cc: · c63914c0
      igor@rurik.mysql.com authored
        Identation correction.
      c63914c0
    • igor@rurik.mysql.com's avatar
      opt_range.cc: · 893c6c9b
      igor@rurik.mysql.com authored
        Fixed buf #11487.
        Added a call of  QUICK_RANGE_SELECT::init to the
        QUICK_RANGE_SELECT::reset method. Without it the second
        evaluation of a subquery employing the range access failed.
      subselect.result, subselect.test:
        Added a test case for bug #11487.
      893c6c9b
    • timour@mysql.com's avatar
      Fix for BUG#11185. · 294498e2
      timour@mysql.com authored
      The source of the problem is in Field_longlong::cmp. If 'this' is
      an unsigned number, the method casts both the current value, and
      the constant that we compare with to an unsigned number. As a
      result if the constant we compare with is a negative number, it
      wraps to some unsigned number, and the comparison is incorrect.
      
      When the optimizer chooses the "range" access method, this problem
      causes handler::read_range_next to reject the current key when the
      upper bound key is a negative number because handler::compare_key
      incorrectly considers the positive and negative keys to be equal.
      
      The current patch does not correct the source of the problem in
      Field_longlong::cmp because it is not easy to propagate sign
      information about the constant at query execution time. Instead
      the patch changes the range optimizer so that it never compares
      unsiged fields with negative constants. As an added benefit,
      queries that do such comparisons will execute faster because
      the range optimizer replaces conditions like:
      (a) (unsigned_int [< | <=] negative_constant) == FALSE
      (b) (unsigned_int [> | >=] negative_constant) == TRUE
      with the corresponding constants.
      In some cases this may even result in constant time execution.
      294498e2
  11. 22 Jun, 2005 1 commit
  12. 20 Jun, 2005 1 commit
  13. 19 Jun, 2005 1 commit
    • svoj@mysql.com's avatar
      WL#2286 - Compile MySQL w/YASSL support · 7660f609
      svoj@mysql.com authored
      Fix for yaSSL link failures with Forte Developer 7, MIPSpro Compilers, Compaq C++.
      These compilers have problem with implicit template instantiation in archives
      (libyassl.a, libtaocrypt.a). Instantiate templates explicitly.
      
      Fix for yaSSL link failure on powermacg5 (gcc 3.3). When -O3 is specified gcc inlines
      __cxa_pure_virtual. This is wrong behavior, __cxa_pure_virtual must never be inlined.
      7660f609
  14. 14 Jun, 2005 1 commit
    • timour@mysql.com's avatar
      Fix for BUG#11044 - "SELECT DISTINCT on indexed column returns inconsistent results" · 37a84e52
      timour@mysql.com authored
      The problem was that when there was no MIN or MAX function, after finding the
      group prefix based on the DISTINCT or GROUP BY attributes we did not search further
      for a key in the group that satisfies the equi-join conditions on attributes that
      follow the group attributes. Thus we ended up with the wrong rows, and subsequent
      calls to select_cond->val_int() in evaluate_join_record() were filtering those
      rows. Hence - the query result set was empty.
      
      The problem occured both for GROUP BY queries without MIN/MAX and for queries
      with DISTINCT (which were internally executed as GROUP BY queries).
      37a84e52
  15. 05 Jun, 2005 1 commit
  16. 03 Jun, 2005 1 commit
    • monty@mysql.com's avatar
      Move USE_PRAGMA_IMPLEMENTATION to proper place · 29fd1f2f
      monty@mysql.com authored
      Ensure that 'null_value' is not accessed before val() is called in FIELD() functions
      Fixed initialization of key maps. This fixes some problems with keys when you have more than 64 keys
      Fixed that ROLLUP don't always create a temporary table. This fix ensures that func_gconcat.test results are now predictable
      29fd1f2f
  17. 02 Jun, 2005 1 commit
    • kent@mysql.com's avatar
      tztime.cc: · bd48eed9
      kent@mysql.com authored
        Set #pragma implementation" earlier
      Many files:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      bd48eed9
  18. 01 Jun, 2005 1 commit
  19. 30 May, 2005 2 commits
  20. 26 May, 2005 1 commit
  21. 25 May, 2005 1 commit
  22. 21 May, 2005 2 commits
    • igor@rurik.mysql.com's avatar
      opt_range.cc: · e4006f2f
      igor@rurik.mysql.com authored
        Post review corrections for optimization request #10561.
      e4006f2f
    • igor@rurik.mysql.com's avatar
      range.result, range.test: · fdb6c661
      igor@rurik.mysql.com authored
        Added test cases for optimization request #10561.
      opt_range.cc, sql_select.cc:
        Fixed bug #10561: an optimization request to allow
        range analysis for NOT IN and NOT BETWEEN.
      fdb6c661
  23. 19 May, 2005 1 commit
  24. 09 May, 2005 1 commit
  25. 06 May, 2005 1 commit
  26. 28 Apr, 2005 1 commit
    • sergefp@mysql.com's avatar
      Fix for BUG#10244: · a7a1d4dc
      sergefp@mysql.com authored
      Make get_quick_select_for_ref() accept estimated # records as parameter and 
      set QUICK_RANGE_SELECT::records, as this value is used to allocate buffers 
      in Multi-Range Read. 
      a7a1d4dc
  27. 25 Apr, 2005 2 commits
  28. 20 Apr, 2005 1 commit
    • sergefp@mysql.com's avatar
      Fix for BUG#10037 · c2959178
      sergefp@mysql.com authored
      * Add 0.01 to cost of 'range'+'using index' scan to avoid optimizer choice races with 
        'index' scan.
      c2959178
  29. 18 Apr, 2005 1 commit
    • sergefp@mysql.com's avatar
      Fix for BUG#9103: · a76ecc5b
      sergefp@mysql.com authored
      Don't produce data truncation warnings from within cp_buffer_from_ref(). This function
      is only used to make index search tuples and data truncation that occurs here has no
      relation with truncated values being saved into tables.
      a76ecc5b