1. 23 Oct, 2009 2 commits
  2. 22 Oct, 2009 2 commits
  3. 21 Oct, 2009 3 commits
  4. 20 Oct, 2009 13 commits
  5. 19 Oct, 2009 6 commits
  6. 18 Oct, 2009 1 commit
    • Ramil Kalimullin's avatar
      Fix for bug#47963: Wrong results when index is used · df0b8e93
      Ramil Kalimullin authored
      Problem: using null microsecond part in a WHERE condition 
      (e.g. WHERE date_time_field <= "YYYY-MM-DD HH:MM:SS.0000") 
      may lead to wrong results due to improper DATETIMEs 
      comparison in some cases.
      
      Fix: comparing DATETIMEs as strings we must trim trailing 0's
      in such cases.
      df0b8e93
  7. 16 Oct, 2009 13 commits
    • Alexey Kopytov's avatar
      Bug #47123: Endless 100% CPU loop with STRAIGHT_JOIN · 8e931fe5
      Alexey Kopytov authored
       
      The problem was in incorrect handling of predicates involving 
      NULL as a constant value by the range optimizer. 
       
      For example, when creating a SEL_ARG node from a condition of 
      the form "field < const" (which would normally result in the 
      "NULL < field < const" SEL_ARG),  the special case when "const" 
      is NULL was not taken into account, so "NULL < field < NULL" 
      was produced for the "field < NULL" condition. 
       
      As a result, SEL_ARG structures of this form could not be 
      further optimized which in turn could lead to incorrectly 
      constructed SEL_ARG trees. In particular, code assuming SEL_ARG 
      structures to always form a sequence of ordered disjoint 
      intervals could enter an infinite loop under some 
      circumstances. 
       
      Fixed by changing get_mm_leaf() so that for any sargable 
      predicate except "<=>" involving NULL as a constant, "empty" 
      SEL_ARG is returned, since such a predicate is always false. 
      8e931fe5
    • Joerg Bruehe's avatar
      0e11bad5
    • Joerg Bruehe's avatar
      Upmerge a merge changeset. · 34358bec
      Joerg Bruehe authored
      34358bec
    • Joerg Bruehe's avatar
      Upmerge merge changesets. · ee56b111
      Joerg Bruehe authored
      ee56b111
    • Joerg Bruehe's avatar
      Merge a compile fix. · 9cabf98c
      Joerg Bruehe authored
      9cabf98c
    • Georgi Kodinov's avatar
      merge · 9588bc22
      Georgi Kodinov authored
      9588bc22
    • Joerg Bruehe's avatar
      5c95f236
    • Joerg Bruehe's avatar
      f359b258
    • Joerg Bruehe's avatar
      0e5dd371
    • Joerg Bruehe's avatar
      11d4eb35
    • Joerg Bruehe's avatar
      Compile fix for Windows: · 9ceeabd9
      Joerg Bruehe authored
      Use "#ifdef", not plain "#if".
      9ceeabd9
    • Martin Hansson's avatar
      Bug#46019: ERROR 1356 When selecting from within another · c6a11dff
      Martin Hansson authored
                  view that has Group By
            
      When SELECT'ing from a view that mentions another,
      materialized, view, access was being denied. The issue was
      resolved by lifting a special case which avoided such access
      checking in check_single_table_access. In the past, this was
      necessary since if such a check were performed, the error
      message would be downgraded to a warning in the case of SHOW
      CREATE VIEW. The downgrading of errors was meant to handle
      only that scenario, but could not distinguish the two as it
      read only the error messages.
            
      The special case was needed in the fix of bug no 36086.
      Before that, views were confused with derived tables.
            
      After bug no 35996 was fixed, the manipulation of errors
      during SHOW CREATE VIEW execution is not dependent on the
      actual error messages in the queue, it rather looks at the
      actual cause of the error and takes appropriate
      action. Hence the aforementioned special case is now
      superfluous and the bug is fixed.
      c6a11dff
    • Georgi Kodinov's avatar
      Bug #40877: multi statement execution fails in 5.1.30 · 8f6f3dba
      Georgi Kodinov authored
            
      Implemented the server infrastructure for the fix:
      
      1. Added a function LEX_STRING *thd_query_string(THD) to return
      a LEX_STRING structure instead of char *.
      This is the function that must be called in innodb instead of 
      thd_query()
      
      2. Did some encapsulation in THD : aggregated thd_query and 
      thd_query_length into a LEX_STRING and made accessor and mutator 
      methods for easy code updating. 
      
      3. Updated the server code to use the new methods where applicable.
      8f6f3dba