1. 06 Nov, 2009 1 commit
    • Evgeny Potemkin's avatar
      Bug#34384: Slow down on constant conversion. · 60d358af
      Evgeny Potemkin authored
      When values of different types are compared they're converted to a type that
      allows correct comparison. This conversion is done for each comparison and
      takes some time. When a constant is being compared it's possible to cache the
      value after conversion to speedup comparison. In some cases (large dataset,
      complex WHERE condition with many type conversions) query might be executed
      7% faster.
      
      A test case isn't provided because all changes are internal and isn't visible
      outside.
      
      The behavior of the Item_cache is changed to cache values on the first request
      of cached value rather than at the moment of storing item to be cached.
      A flag named value_cached is added to the Item_cache class. It's set to TRUE
      when cache holds the value of the last stored item.
      Function named cache_value() is added to the Item_cache class and derived classes.
      This function actually caches the value of the saved item.
      Item_cache_xxx::store functions now only store item to be cached and set
      value_cached flag to FALSE.
      Item_cache_xxx::val_xxx functions are changed to call cache_value function
      prior to returning cached value if value_cached is FALSE.
      The Arg_comparator::set_cmp_func function now calls cache_converted_constant
      to cache constants if they need a type conversion.
      The Item_cache::get_cache function is overloaded to allow setting of the
      cache type.
      The cache_converted_constant function is added to the Arg_comparator class.
      It checks whether a value can and should be cached and if so caches it.
      60d358af
  2. 26 Oct, 2009 1 commit
  3. 19 Oct, 2009 1 commit
    • Georgi Kodinov's avatar
      Bug #47788: Crash in TABLE_LIST::hide_view_error on · db944fda
      Georgi Kodinov authored
        UPDATE + VIEW + SP + MERGE + ALTER
      
      When cleaning up the stored procedure's internal 
      structures the flag to ignore the errors for 
      INSERT/UPDATE IGNORE was not cleaned up.
      As a result error ignoring was on during name 
      resolution. And this is an abnormal situation : the
      SELECT_LEX flag can be on only during query execution.
      
      Fixed by correctly cleaning up the SELECT_LEX flag 
      when reusing the SELECT_LEX in a second execution.
      db944fda
  4. 26 Oct, 2009 1 commit
  5. 24 Oct, 2009 1 commit
  6. 23 Oct, 2009 8 commits
  7. 22 Oct, 2009 2 commits
  8. 21 Oct, 2009 5 commits
    • Ramil Kalimullin's avatar
      Fix for bug#47019: Assertion failed: 0, file .\rt_mbr.c, · 256e3ec0
      Ramil Kalimullin authored
      line 138 when forcing a spatial index
      
      Problem: "Spatial indexes can be involved in the search 
      for queries that use a function such as MBRContains() 
      or MBRWithin() in the WHERE clause".
      Using spatial indexes for JOINs with =, <=> etc.
      predicates is incorrect.
      
      Fix: disable spatial indexes for such queries.
      256e3ec0
    • Georgi Kodinov's avatar
      Bug #47780: crash when comparing GIS items from subquery · dd02c4a1
      Georgi Kodinov authored
            
      If the first argument to GeomFromWKB function is a geometry
      field then the function just returns its value.
      However in doing so it's not preserving first argument's 
      null_value flag and this causes unexpected null value to
      be returned to the calling function.
            
      Fixed by updating the null_value of the GeomFromWKB function
      in such cases (and all other cases that return a NULL e.g.
      because of not enough memory for the return buffer).
      dd02c4a1
    • Bjorn Munch's avatar
      merge from 5.1-mtr · c7a02cf8
      Bjorn Munch authored
      c7a02cf8
    • Tatiana A. Nurnberg's avatar
      auto-merge · 6af83cbc
      Tatiana A. Nurnberg authored
      6af83cbc
    • Tatiana A. Nurnberg's avatar
      auto-merge · 0329184c
      Tatiana A. Nurnberg authored
      0329184c
  9. 20 Oct, 2009 14 commits
  10. 19 Oct, 2009 6 commits