1. 26 Jul, 2006 4 commits
  2. 25 Jul, 2006 7 commits
    • evgen@moonbone.local's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 0a84eb5f
      evgen@moonbone.local authored
      into  moonbone.local:/work/19862-bug-5.0-opt-mysql
      0a84eb5f
    • evgen@moonbone.local's avatar
      Fixed bug#19862: Sort with filesort by function evaluates function twice · 4ee2e07c
      evgen@moonbone.local authored
      When there is no index defined filesort is used to sort the result of a
      query. If there is a function in the select list and the result set should be
      ordered by it's value then this function will be evaluated twice. First time to
      get the value of the sort key and second time to send its value to a user.
      This happens because filesort when sorts a table remembers only values of its
      fields but not values of functions.
      All functions are affected. But taking into account that SP and UDF functions
      can be both expensive and non-deterministic a temporary table should be used 
      to store their results and then sort it to avoid twice SP evaluation and to 
      get a correct result.
      
      If an expression referenced in an ORDER clause contains a SP or UDF 
      function, force the use of a temporary table.
      
      A new Item_processor function called func_type_checker_processor is added
      to check whether the expression contains a function of a particular type.
      4ee2e07c
    • igor@olga.mysql.com's avatar
      Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 88e6b910
      igor@olga.mysql.com authored
      into  olga.mysql.com:/home/igor/mysql-5.0-opt
      88e6b910
    • gkodinov/kgeorge@macbook.gmz's avatar
      Bug #21086: server crashes when VIEW defined with a SELECT with COLLATE clause is called · f5b0dd6a
      gkodinov/kgeorge@macbook.gmz authored
        When executing INSERT over a view with calculated columns it was assuming all
        elements of the fields collection are actually Item_field instances.
        This may not be true when inserting into a view and that view has columns that are 
        such expressions that allow updating (like setting a collation for example).
        Corrected to access field information through the filed_for_view_update() function and 
        retrieve correctly the field info even for "update-friendly" non-Item_field items.
      f5b0dd6a
    • gkodinov/kgeorge@rakia.(none)'s avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 9e9fb3e4
      gkodinov/kgeorge@rakia.(none) authored
      into  rakia.(none):/home/kgeorge/mysql/autopush/B16712-5.0-opt
      9e9fb3e4
    • gkodinov/kgeorge@macbook.gmz's avatar
      Bug#16712: group_concat returns odd srting insead of intended result · 9380bb83
      gkodinov/kgeorge@macbook.gmz authored
        when calculating GROUP_CONCAT all blob fields are transformed
        to varchar when making the temp table.
        However a varchar has at max 2 bytes for length. 
        This fix makes the conversion only for blobs whose max length 
        is below that limit. 
        Otherwise blob field is created by make_string_field() call.
      9380bb83
    • igor@olga.mysql.com's avatar
      Fixed bug #21231: wrong results for a simple query with a · 69856b29
      igor@olga.mysql.com authored
      a non-correlated single-row subquery over information schema.
      
      The function get_all_tables filling all information schema
      tables reset lex->sql_command to SQLCOM_SHOW_FIELDS. After
      this the function could evaluate partial conditions related to
      some columns. If these conditions contained a subquery over
      information schema it led to a wrong evaluation and a wrong 
      result set.
      This bug was already fixed in 5.1.
      This patch follows the way how it was done in 5.1 where
      the value of lex->sql_command is set to SQLCOM_SHOW_FIELDS
      in get_all_tables only for the calls of the function 
      open_normal_and_derived_tables and is restored after these
      calls.
      69856b29
  3. 22 Jul, 2006 9 commits
  4. 21 Jul, 2006 10 commits
  5. 20 Jul, 2006 1 commit
  6. 19 Jul, 2006 3 commits
    • igor@olga.mysql.com's avatar
      8b7fc77a
    • igor@olga.mysql.com's avatar
      Merge olga.mysql.com:/home/igor/mysql-4.1-opt · d1c109ef
      igor@olga.mysql.com authored
      into  olga.mysql.com:/home/igor/mysql-5.0-opt
      d1c109ef
    • igor@olga.mysql.com's avatar
      Fixed bug #17526: incorrect print method · f201828d
      igor@olga.mysql.com authored
      for class Item_func_trim. 
      For 4.1 it caused wrong output for EXPLAIN EXTENDED commands
      if expressions with the TRIM function of two arguments were used.
      For 5.0 it caused an error message when trying to select
      from a view with the TRIM function of two arguments.
      This unexpected error message was due to the fact that the
      print method for the class Item_func_trim was inherited from
      the class Item_func. Yet the TRIM function does not take a list
      of its arguments. Rather it takes the arguments in the form:
        [{BOTH | LEADING | TRAILING} [remstr] FROM] str) |
        [remstr FROM] str
      f201828d
  7. 18 Jul, 2006 3 commits
  8. 17 Jul, 2006 3 commits