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 · 7043524c
      unknown authored
      into  weblab.(none):/home/marcsql/TREE/mysql-5.1-maint-24736
      
      
      7043524c
    • unknown's avatar
      Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-maint · e0a4801a
      unknown authored
      into  example.com:/work/bug24395-v2/my51
      
      
      e0a4801a
    • unknown's avatar
      Bug#24736: UDF functions parsed as Stored Functions · b92081cd
      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.
      b92081cd
  3. 01 Dec, 2006 9 commits
    • unknown's avatar
      Merge kpdesk.mysql.com:/home/thek/dev/bug22043/my51-bug22043 · 497f6049
      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
      497f6049
    • unknown's avatar
      Bug#22043 MySQL don't add "USE <DATABASE>" before "DROP PROCEDURE IF EXISTS" · 108107f1
      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
      108107f1
    • unknown's avatar
      Merge kpdesk.mysql.com:/home/thek/dev/bug22043/my50-bug22043 · a3774e00
      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
      a3774e00
    • unknown's avatar
      Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-maint · 934aa981
      unknown authored
      into  example.com:/work/bug24395-v2/my51
      
      
      mysql-test/t/alter_table.test:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      934aa981
    • unknown's avatar
      Bug#22043 MySQL don't add "USE <DATABASE>" before "DROP PROCEDURE IF EXISTS" · 2f0b1d65
      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
      2f0b1d65
    • unknown's avatar
      Merge example.com:/work/bug24395-v2/my50 · 36a983b8
      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
      36a983b8
    • unknown's avatar
      Merge naruto.:C:/cpp/bug17733/my50-bug17733 · 90601234
      unknown authored
      into  naruto.:C:/cpp/bug17733/my51-bug17733
      
      
      sql/sql_parse.cc:
        Auto merged
      90601234
    • unknown's avatar
      Bug#17733 Flushing logs causes daily server crash · e284256e
      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)
      e284256e
    • unknown's avatar
      Bug#17951: myisampack --force --silent : abnormal end in Windows XP · 8a223884
      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.
      8a223884
  4. 30 Nov, 2006 11 commits
  5. 29 Nov, 2006 14 commits