1. 04 Dec, 2006 3 commits
  2. 02 Dec, 2006 3 commits
    • unknown's avatar
      Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-new-maint · 5837334f
      unknown authored
      into  weblab.(none):/home/marcsql/TREE/mysql-5.1-maint-24736
      
      5837334f
    • unknown's avatar
      Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-maint · cab3a2ea
      unknown authored
      into  example.com:/work/bug24395-v2/my51
      
      cab3a2ea
    • unknown's avatar
      Bug#24736: UDF functions parsed as Stored Functions · c38783d0
      unknown authored
      Before this fix, a call to a User Defined Function (UDF) could,
      under some circumstances, be interpreted as a call to a Stored function
      instead. This occurred if a native function was invoked in the parameters
      for the UDF, as in "select my_udf(abs(x))".
      
      The root cause of this defect is the introduction, by the fix for Bug 21809,
      of st_select_lex::udf_list, and it's usage in the parser in sql_yacc.yy
      in the rule function_call_generic (in 5.1).
      
      While the fix itself for Bug 21809 is correct in 5.0, the code change
      merged into the 5.1 release created the issue, because the calls in 5.1 to :
      - lex->current_select->udf_list.push_front(udf)
      - lex->current_select->udf_list.pop()
      are not balanced in case of native functions, causing the udf_list,
      which is really a stack, to be out of sync with the internal stack
      maintained by the bison parser.
      
      Instead of moving the call to udf_list.pop(), which would have fixed the
      symptom, this patch goes further and removes the need for udf_list.
      
      This is motivated by two reasons:
      
      a) Maintaining a stack in the MySQL code in sync with the stack maintained
      internally in sql_yacc.cc (not .yy) is extremely dependent of the
      implementation of yacc/bison, and extremely difficult to maintain.
      It's also totally dependent of the structure of the grammar, and has a risk
      to break with regression defects each time the grammar itself is changed.
      
      b) The previous code did report construct like "foo(expr AS name)" as
      syntax errors (ER_PARSER_ERROR), which is incorrect, and misleading.
      The syntax is perfectly valid, as this expression is valid when "foo" is
      a UDF. Whether this syntax is legal or not depends of the semantic of "foo".
      
      With this change:
      
      a) There is only one stack (in bison), and no List<udf_func> to maintain.
      
      b) "foo(expr AS name)", when used incorrectly, is reported as semantic error:
      - ER_WRONG_PARAMETERS_TO_NATIVE_FCT (for native functions)
      - ER_WRONG_PARAMETERS_TO_STORED_FCT (for stored functions)
      This is achieved by the changes implemented in item_create.cc
      
      
      mysql-test/r/parser.result:
        New tests
      mysql-test/r/udf.result:
        New tests
      mysql-test/t/parser.test:
        New tests
      mysql-test/t/udf.test:
        New tests
      sql/item_create.cc:
        Semantic checks for named parameters, as in "foo(expr AS name)".
      sql/share/errmsg.txt:
        New error message
      sql/sql_lex.cc:
        Remove usage of udf_list.
      sql/sql_lex.h:
        Remove usage of udf_list.
      sql/sql_yacc.yy:
        Remove usage of udf_list.
      c38783d0
  3. 01 Dec, 2006 9 commits
    • unknown's avatar
      Merge kpdesk.mysql.com:/home/thek/dev/bug22043/my51-bug22043 · 179c34f0
      unknown authored
      into  kpdesk.mysql.com:/home/thek/dev/mysql-5.1-maint
      
      
      mysql-test/r/information_schema.result:
        Auto merged
      mysql-test/r/rpl_sp.result:
        Auto merged
      mysql-test/t/information_schema.test:
        Auto merged
      mysql-test/t/rpl_sp.test:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      179c34f0
    • unknown's avatar
      Bug#22043 MySQL don't add "USE <DATABASE>" before "DROP PROCEDURE IF EXISTS" · 3c69dfb2
      unknown authored
      - Merged; updated test case.
      
      
      mysql-test/r/rpl_sp.result:
        - Merged; updated test case for 5.1
      mysql-test/t/rpl_sp.test:
        - Merged; updated result set for 5.1
      3c69dfb2
    • unknown's avatar
      Merge kpdesk.mysql.com:/home/thek/dev/bug22043/my50-bug22043 · 3aeae1f0
      unknown authored
      into  kpdesk.mysql.com:/home/thek/dev/bug22043/my51-bug22043
      
      
      mysql-test/r/information_schema.result:
        Auto merged
      mysql-test/t/information_schema.test:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      mysql-test/r/rpl_sp.result:
        null merge
      mysql-test/t/rpl_sp.test:
        null merge
      3aeae1f0
    • unknown's avatar
      Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-maint · 5c29a010
      unknown authored
      into  example.com:/work/bug24395-v2/my51
      
      
      mysql-test/t/alter_table.test:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      5c29a010
    • unknown's avatar
      Bug#22043 MySQL don't add "USE <DATABASE>" before "DROP PROCEDURE IF EXISTS" · 6eea2080
      unknown authored
      - Refactoring of duplicate code
      - Modified bad test cases
      - Changed expected error when operating on information_schema.
      
      
      mysql-test/r/information_schema.result:
        - updated result file with new error code.
      mysql-test/r/rpl_sp.result:
        - Modified test case
      mysql-test/t/information_schema.test:
        - Changed error code for operations on information_schema
      mysql-test/t/rpl_sp.test:
        - Modified test case
      sql/sql_parse.cc:
        - Cleaned up code:
          * replace tab with space
          * simplified if/switch statements
          * refactored duplicated code
      6eea2080
    • unknown's avatar
      Merge example.com:/work/bug24395-v2/my50 · c6dc90e7
      unknown authored
      into  example.com:/work/bug24395-v2/my51
      
      
      mysql-test/r/alter_table.result:
        Auto merged
      mysql-test/t/alter_table.test:
        Auto merged
      storage/myisam/mi_open.c:
        Auto merged
      sql/sql_table.cc:
        manual merge
      c6dc90e7
    • unknown's avatar
      Merge naruto.:C:/cpp/bug17733/my50-bug17733 · db1c92c9
      unknown authored
      into  naruto.:C:/cpp/bug17733/my51-bug17733
      
      
      sql/sql_parse.cc:
        Auto merged
      db1c92c9
    • unknown's avatar
      Bug#17733 Flushing logs causes daily server crash · b9c1c774
      unknown authored
      Server crashes if a flush commmand is issued and binlog is closed.
      - added check to prevent binlog access when binlog file isn't opened.
      
      
      sql/sql_parse.cc:
        - removed deprecated environment consistency check.
        - added check to prevent binlog access on closed binlog.
      mysql-test/t/flush2-master.opt:
        - Added test case (master options)
      mysql-test/t/flush2.test:
        - Added test case
      mysql-test/r/flush2.result:
        - Added test case (resultfile)
      b9c1c774
    • unknown's avatar
      Bug#17951: myisampack --force --silent : abnormal end in Windows XP · 638ed5a2
      unknown authored
      -myisampack wrote to a block on the heap that it did not allocate.
      
      
      myisam/myisampack.c:
        Bug#17951: myisampack --force --silent : abnormal end in Windows XP
        -Added additional check to ensure that only the allocated buffer is
        used.
      638ed5a2
  4. 30 Nov, 2006 11 commits
  5. 29 Nov, 2006 14 commits