1. 12 Feb, 2008 1 commit
    • unknown's avatar
      Fix for bug #33389: Selecting from a view into a table from within SP · d5092fa9
      unknown authored
                          or trigger crashes server
      
      Under some circumstances a combination of VIEWs, subselects with outer
      references and PS/SP/triggers could lead to use of uninitialized memory
      and server crash as a result.
      
      Fixed by changing the code in Item_field::fix_fields() so that in cases
      when the field is a VIEW reference, we first check whether the field
      is also an outer reference, and mark it appropriately before returning.
      
      
      mysql-test/r/view.result:
        Added a test case for bug #33389.
      mysql-test/t/view.test:
        Added a test case for bug #33389.
      sql/item.cc:
        In cases when in Item_field::fix_fields() from_field is a view reference,
        do not return too early, i.e. before marking the reference as an outer
        one when needed.
      d5092fa9
  2. 20 Jan, 2008 1 commit
  3. 18 Jan, 2008 2 commits
    • unknown's avatar
      Merge mhansson@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 35b035cf
      unknown authored
      into  lamia.dupka:/home/mhansson/my50-bug33143-again-pushee
      
      
      35b035cf
    • unknown's avatar
      BUG#33794 "MySQL crashes executing specific query": · c71a6428
      unknown authored
      The problem occurred when one had a subquery that had an equality X=Y where 
      Y referred to a named select list expression from the parent select. MySQL 
      crashed when trying to use the X=Y equality for ref-based access. 
      
      Fixed by allowing non-Item_field items in the described case.
      
      
      mysql-test/r/subselect.result:
        BUG#33794 "MySQL crashes executing specific query"
        - Testcase
      mysql-test/t/subselect.test:
        BUG#33794 "MySQL crashes executing specific query"
        - Testcase
      sql/sql_select.cc:
        BUG#33794 "MySQL crashes executing specific query"
        get_store_key() assumed that if it got a reference
          t.key=Item_outer_ref(Item_direct_ref(x)) 
        then x was an Item_field object, which is not the case when one refers to a
        named select list expression out ot subquery.
      c71a6428
  4. 17 Jan, 2008 1 commit
    • unknown's avatar
      Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt · a22d1bf6
      unknown authored
      into  linux-st28.site:/home/martin/mysql/src/bug33143/my50-bug33143-again-pushee
      
      
      sql/item_func.cc:
        Auto merged
      mysql-test/r/type_decimal.result:
        Bug#33143: Manual merge
      mysql-test/t/type_decimal.test:
        Bug#33143: Manual merge
      a22d1bf6
  5. 14 Jan, 2008 1 commit
    • unknown's avatar
      Bug#33143: Incorrect ORDER BY for ROUND()/TRUNCATE() result · f9440588
      unknown authored
      The ROUND(X, D) function would change the Item::decimals field during
      execution to achieve the effect of a dynamic number of decimal digits.
      This caused a series of bugs:
      Bug #30617:Round() function not working under some circumstances in InnoDB
      Bug #33402:ROUND with decimal and non-constant cannot round to 0 decimal places
      Bug #30889:filesort and order by with float/numeric crashes server
      Fixed by never changing the number of shown digits for DECIMAL when
      used with a nonconstant number of decimal digits.
      
      
      mysql-test/r/type_decimal.result:
        Bug#33143: Test result
      mysql-test/t/type_decimal.test:
        Bug#33143: Test case
      sql/item_func.cc:
        Bug#33143: 
        - Moved the DECIMAL_MAX_SCALE limitation to fix_length_and_dec.
        - Removed resetting of Item::decimals field.
        - set the frac field of the output value to current scale.
      strings/decimal.c:
        Bug#33143: It is necessary to set all digits in the buffer following the 
        rounded one to zero, as they may now be displayed.
      f9440588
  6. 12 Jan, 2008 1 commit
  7. 11 Jan, 2008 3 commits
    • unknown's avatar
      Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt · 7bd7e988
      unknown authored
      into  linux-st28.site:/home/martin/mysql/src/bug31797/my50-bug31797-pushee
      
      
      sql/item.cc:
        Auto merged
      mysql-test/r/group_by.result:
        Bug#31797: Manual merge
      mysql-test/t/group_by.test:
        Bug#31797: Manual merge
      7bd7e988
    • unknown's avatar
      Bug#31797: error while parsing subqueries -- WHERE is parsed as HAVING · df8e9fc2
      unknown authored
      The name resolution for correlated subqueries and HAVING clauses
      failed to distinguish which of two was being performed when there 
      was a reference to an outer aliased field.
      Fixed by adding the condition that HAVING clause name resulotion
      is being performed.
      
      
      mysql-test/r/group_by.result:
        Bug#31797: Test result
      mysql-test/t/group_by.test:
        Bug#31797: Test case
      sql/item.cc:
        Bug#31797: 
        Corrected function comment.
        The fix, raising the error is restricted to HAVING name resolution.
      df8e9fc2
    • unknown's avatar
      Bug#29477: Not all fields of the target table were checked to have a default · 72ebb0aa
      unknown authored
      value when inserting into a view.
      
      The mysql_prepare_insert function checks all fields of the target table that
      directly or indirectly (through a view) are specified in the INSERT
      statement to have a default value. This check can be skipped if the INSERT
      statement doesn't mention any insert fields. In case of a view this allows
      fields that aren't mentioned in the view to bypass the check.
      
      Now fields of the target table are always checked to have a default value
      when insert goes into a view.
      
      
      mysql-test/t/view.test:
        Added a test case for the bug#29477: Not all fields of the target table were 
        checked to have a default value when inserting into a view.
      mysql-test/r/view.result:
        Added a test case for the bug#29477: Not all fields of the target table were 
        checked to have a default value when inserting into a view.
      sql/sql_insert.cc:
        Bug#29477: Not all fields of the target table were checked to have a default
        value when inserting into a view.
        Now fields of the target table are always checked to have a default value
        when insert goes into a view.
      72ebb0aa
  8. 10 Jan, 2008 5 commits
  9. 09 Jan, 2008 3 commits
  10. 08 Jan, 2008 1 commit
    • unknown's avatar
      Bug#33675: Usage of an uninitialized memory by filesort in a subquery caused · 8845553a
      unknown authored
      server crash.
      
      The filesort implementation has an optimization for subquery execution which
      consists of reusing previously allocated buffers. In particular the call to
      the read_buffpek_from_file function might be skipped when a big enough buffer
      for buffer descriptors (buffpeks) is already allocated. Beside allocating
      memory for buffpeks this function fills allocated buffer with data read from
      disk. Skipping it might led to using an arbitrary memory as fields' data and
      finally to a crash.
      
      Now the read_buffpek_from_file function is always called. It allocates
      new buffer only when necessary, but always fill it with correct data.
      
      
      sql/filesort.cc:
        Bug#33675: Usage of an uninitialized memory by filesort in a subquery caused
        server crash.Now the read_buffpek_from_file function is always called. It allocates
        new buffer only when necessary, but always fill it with correct data.
      mysql-test/r/subselect.result:
        Added a test case for the bug#33675: Usage of an uninitialized memory by
        filesort in a subquery caused server crash.
      mysql-test/t/subselect.test:
        Added a test case for the bug#33675: Usage of an uninitialized memory by
        filesort in a subquery caused server crash.
      8845553a
  11. 07 Jan, 2008 1 commit
  12. 24 Dec, 2007 1 commit
    • unknown's avatar
      Fix for bug #33305: Test case in 'skip_grants' file need dynamic loading · bdad41ba
      unknown authored
                          to be compiled in
      
      The problem was that on a statically built server an attempt to create
      a UDF resulted in a different, but reasonable error ("Can't open shared
      library" instead of "UDFs are unavailable with the --skip-grant-tables
      option"), which caused a failure for the test case for bug #32020.
      
      Fixed by moving the test case for bug #32020 from skip_grants.test to a
      separate test to ensure that it is only run when the server is built
      with support for dynamically loaded libraries.
      
      
      mysql-test/r/skip_grants.result:
        Moved the test case for bug #32020 to a separate test.
      mysql-test/t/skip_grants.test:
        Moved the test case for bug #32020 to a separate test.
      mysql-test/r/udf_skip_grants.result:
        Moved the test case for bug #32020 to a separate test.
      mysql-test/t/udf_skip_grants-master.opt:
        Moved the test case for bug #32020 to a separate test.
      mysql-test/t/udf_skip_grants.test:
        Moved the test case for bug #32020 to a separate test.
      bdad41ba
  13. 21 Dec, 2007 3 commits
    • unknown's avatar
      Merge trift2.:/MySQL/M50/clone-5.0 · c7eb461d
      unknown authored
      into  trift2.:/MySQL/M50/merge-5.0
      
      
      c7eb461d
    • unknown's avatar
      Bug #33256: CREATE ... SELECT creates obsolete table · 2ae4b047
      unknown authored
       w/ Field_date instead of Field_newdate
        
      Field_date was still used in temp table creation.
      Fixed by using Field_newdate consistently throughout the server
      except when reading tables defined with older MySQL version.
      No test suite is possible because both Field_date and Field_newdate
      return the same values in all the metadata calls. 
      
      
      mysql-test/r/type_decimal.result:
        Bug #33256: removed redundant warnings
      sql/field.h:
        Bug #33256: Add a constructor similar to Field_date::Field_date()
      sql/item.cc:
        Bug #33256: Use Field_newdate instead of Field_date 
        for all temp tables and CREATE .. SELECT
      sql/item_sum.cc:
        Bug #33256: Use Field_newdate instead of Field_date 
        for all temp tables and CREATE .. SELECT
      sql/item_timefunc.cc:
        Bug #33256: Use Field_newdate instead of Field_date 
        for all temp tables and CREATE .. SELECT
      sql/item_timefunc.h:
        Bug #33256: Use Field_newdate instead of Field_date 
        for all temp tables and CREATE .. SELECT
      2ae4b047
    • unknown's avatar
      Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build-work-33288-33057 · 076d2522
      unknown authored
      into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build
      
      
      076d2522
  14. 20 Dec, 2007 5 commits
  15. 19 Dec, 2007 1 commit
    • unknown's avatar
      Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt · 5480cbd6
      unknown authored
      into  linux-st28.site:/home/martin/mysql/src/bug32848/my50-bug32848
      
      
      sql/field.cc:
        Auto merged
      sql/field.h:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      mysql-test/r/union.result:
        Bug#32848: Manual merge
      mysql-test/t/union.test:
        Bug#32848: Manual merge
      5480cbd6
  16. 18 Dec, 2007 1 commit
  17. 17 Dec, 2007 9 commits