1. 01 Feb, 2008 1 commit
    • unknown's avatar
      Bug#33201 Crash occurs when granting update privilege on one column of a view · f7d8fb1c
      unknown authored
      When issuing a column level grant on a table which require pre-locking the 
      server crashed.
      
      The reason behind the crash was that data structures used by the lock api
      wasn't properly reinitialized in the case of a column level grant.
      
      
      mysql-test/r/grant.result:
        * Added test case
      mysql-test/t/grant.test:
        * Added test case
      sql/sql_acl.cc:
        * The lock api is dending on the thd->lex object and this variable needs to 
          be re-initialized when opened with a new set of tables than specified in the
          original statement.
      f7d8fb1c
  2. 24 Jan, 2008 1 commit
  3. 23 Jan, 2008 3 commits
    • unknown's avatar
      manual merge · 8430df5a
      unknown authored
      8430df5a
    • unknown's avatar
      Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · e7b65baa
      unknown authored
      into  lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-33618
      
      
      mysql-test/t/sp.test:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      e7b65baa
    • unknown's avatar
      Bug#33618 (Crash in sp_rcontext) · e6a077e3
      unknown authored
      Bug 33983 (Stored Procedures: wrong end <label> syntax is accepted)
      
      The server used to crash when REPEAT or another control instruction
      was used in conjunction with labels and a LEAVE instruction.
      
      The crash was caused by a missing "pop" of handlers or cursors in the
      code representing the stored program. When executing the code in a loop,
      this missing "pop" would result in a stack overflow, corrupting memory.
      
      Code generation has been fixed to produce the missing h_pop/c_pop
      instructions.
      
      Also, the logic checking that labels at the beginning and the end of a
      statement are matched was incorrect, causing Bug 33983.
      End labels, when used, must match the label used at the beginning of a block.
      
      
      mysql-test/r/sp-code.result:
        Bug#33618 (Crash in sp_rcontext)
      mysql-test/r/sp-error.result:
        Bug 33983 (Stored Procedures: wrong end <label> syntax is accepted)
      mysql-test/r/sp.result:
        Bug#33618 (Crash in sp_rcontext)
      mysql-test/t/sp-code.test:
        Bug#33618 (Crash in sp_rcontext)
      mysql-test/t/sp-error.test:
        Bug 33983 (Stored Procedures: wrong end <label> syntax is accepted)
      mysql-test/t/sp.test:
        Bug#33618 (Crash in sp_rcontext)
      sql/sp_head.cc:
        Bug#33618 (Crash in sp_rcontext)
      sql/sp_head.h:
        Bug#33618 (Crash in sp_rcontext)
      sql/sp_rcontext.cc:
        Bug#33618 (Crash in sp_rcontext)
      sql/sp_rcontext.h:
        Bug#33618 (Crash in sp_rcontext)
      sql/sql_yacc.yy:
        Bug#33618 (Crash in sp_rcontext)
      e6a077e3
  4. 20 Jan, 2008 1 commit
  5. 19 Jan, 2008 1 commit
  6. 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
  7. 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
  8. 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
  9. 12 Jan, 2008 1 commit
  10. 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
  11. 10 Jan, 2008 5 commits
  12. 09 Jan, 2008 3 commits
  13. 08 Jan, 2008 2 commits
    • 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
    • unknown's avatar
      Bug#29770 Two handlers are allowed to catch an error in an stored procedure. · 10b009d2
      unknown authored
      Add test case.
      
      
      mysql-test/r/sp.result:
        Add test case result for Bug#29770
      mysql-test/t/sp.test:
        Add test case for Bug#29770
      10b009d2
  14. 07 Jan, 2008 1 commit
  15. 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
  16. 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
  17. 20 Dec, 2007 5 commits
  18. 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
  19. 18 Dec, 2007 1 commit
  20. 17 Dec, 2007 3 commits