1. 23 Jan, 2008 1 commit
    • 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
  2. 15 Dec, 2007 1 commit
  3. 14 Dec, 2007 4 commits
  4. 13 Dec, 2007 14 commits
  5. 12 Dec, 2007 2 commits
  6. 11 Dec, 2007 5 commits
  7. 10 Dec, 2007 8 commits
  8. 09 Dec, 2007 2 commits
  9. 08 Dec, 2007 3 commits
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · b3f11ed4
      unknown authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug32815
      
      
      b3f11ed4
    • unknown's avatar
      Fix for BUG#32694 "NOT NULL table field in a subquery produces invalid results" · b3d8ff4e
      unknown authored
        
      The problem was that when convert_constant_item is called for subqueries,
      this happens when we already started executing the top-level query, and
      the field argument of convert_constant_item pointed to a valid table row.
      In turn convert_constant_item used the field buffer to compute the value
      of its item argument. This copied the item's value into the field,
      and made equalities with outer references always true.
        
      The fix saves/restores the original field's value when it belongs to an
      outer table.
      
      
      mysql-test/r/type_datetime.result:
        Test for BUG#32694.
      mysql-test/t/type_datetime.test:
        Test for BUG#32694.
      sql/item_cmpfunc.cc:
        - Changed convert_constant_item() so that it doesn't destroy the contents
          of its field argument when the field originates from table in an outer
          query.
      b3d8ff4e
    • unknown's avatar
      Fixed bug #27545. · b1b2e0d0
      unknown authored
      Both arguments of the function NAME_CONST must be constant expressions.
      This constraint is checked in the Item_name_const::fix_fields method. 
      Yet if the argument of the function was not a constant expression no
      error message was reported. As a result the client hanged waiting for a
      response.
      Now the function Item_name_const::fix_fields reports an error message
      when any of the additional context conditions imposed on the function
      NAME_CONST is not satisfied. 
      
      
      mysql-test/r/func_misc.result:
        Added a test case for bug #26545.
      mysql-test/t/func_misc.test:
        Added a test case for bug #26545.
      b1b2e0d0