1. 09 Dec, 2005 1 commit
  2. 08 Dec, 2005 1 commit
    • unknown's avatar
      A fix and a test case for Bug#15441 "Running SP causes Server · 9c4985de
      unknown authored
      to Crash": the bug was that due to non-standard name
      resolution precedence in stored procedures (See Bug#5967)
      a stored procedure variable took precedence over a table column
      when the arguments for VALUES() function were resolved.
      The implementation of VALUES() function was not designed to work
      with Item_splocal and crashed.
      VALUES() function is non-standard. It can refer to, and
      is meaningful for, table columns only. The patch disables SP 
      variables as possible arguments of VALUES() function.
      
      
      mysql-test/r/sp.result:
        Test results fixed (Bug#15441).
        Also make sure that the recently added test cases follow sp.test
        internal tests standard.
      mysql-test/t/sp.test:
        Add a test case for Bug#15441 "Running SP causes Server to Crash".
      sql/item.cc:
        Cleanup Item_insert_value::fix_fields().
      sql/item.h:
        Add a comment for Item_insert_value.
      sql/sql_yacc.yy:
        Actual fix for Bug#15441 "Running SP causes Server to Crash":
        we should not allow VALUES() function to reference SP variables.
      9c4985de
  3. 07 Dec, 2005 31 commits
    • unknown's avatar
      Merge msvensson@bk-internal.mysql.com:/home/bk/mysql-5.0 · 871cc84c
      unknown authored
      into  devsrv-b.mysql.com:/space/magnus/my50-bug9535
      
      
      871cc84c
    • unknown's avatar
      Merge mysql.com:/home/dlenev/src/mysql-5.0-relfix · 4d87cf98
      unknown authored
      into  mysql.com:/home/dlenev/src/mysql-5.0-merges
      
      
      sql/sql_parse.cc:
        Auto merged
      4d87cf98
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 3b3034ed
      unknown authored
      into  mysql.com:/home/dlenev/src/mysql-5.0-merges
      
      
      3b3034ed
    • unknown's avatar
      e30b5c78
    • unknown's avatar
      Fix commit error: sp-vars.test should belong to mysql-test/t directory. · 06e99663
      unknown authored
      
      mysql-test/t/sp-vars.test:
        Rename: mysql-test/sp-vars.test -> mysql-test/t/sp-vars.test
      06e99663
    • unknown's avatar
      Merge msvensson@msvensson.mysql.internal:/home/msvensson/mysql/bug9535/my50-bug9535 · a7c98d23
      unknown authored
      into  devsrv-b.mysql.com:/space/magnus/my50-bug9535
      
      
      a7c98d23
    • unknown's avatar
      Merge neptunus.(none):/home/msvensson/mysql/bug9535/my41-bug9535 · 3f618daf
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/bug9535/my50-bug9535
      
      
      mysql-test/r/func_misc.result:
        Already in 5.0
      mysql-test/t/func_misc.test:
        Already in 5.0
      sql/item_strfunc.h:
        Already in 5.0
      3f618daf
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · ae2377c4
      unknown authored
      into  mysql.com:/home/dlenev/src/mysql-5.0-merges
      
      
      sql/sp_head.cc:
        Auto merged
      ae2377c4
    • unknown's avatar
      Fix a compilation failure. · 5213f589
      unknown authored
      5213f589
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 4da61404
      unknown authored
      into  mysql.com:/home/dlenev/src/mysql-5.0-merges
      
      
      sql/sp.cc:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/sp_head.h:
        Auto merged
      4da61404
    • unknown's avatar
      Merge mysql.com:/home/jimw/my/mysql-5.0-15510 · a3f4ec45
      unknown authored
      into  mysql.com:/home/jimw/my/mysql-5.0-release
      
      
      a3f4ec45
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 0f9a9078
      unknown authored
      into  mysql.com:/opt/local/work/mysql-5.0-root
      
      
      sql/sql_parse.cc:
        Auto merged
      0f9a9078
    • unknown's avatar
      17d5f37b
    • unknown's avatar
      Merge mysql.com:/home/dlenev/src/mysql-5.0-bg11555-2 · d85d7030
      unknown authored
      into  mysql.com:/home/dlenev/src/mysql-5.0-merges
      
      
      d85d7030
    • unknown's avatar
      BUG#9535 Warning for "create table t as select uuid();" · 6b6eb1ab
      unknown authored
         - Set max_length of Item_func_uuid to max_length*system_charset_info->mbmaxlen
          Note! Item_func_uuid should be set to use 'ascii' charset when hex(), format(), md5()
      etc will use 'ascii'
          - Comitting again, the old patch seems to have been lost.
      
      
      mysql-test/r/func_misc.result:
        Test results updated
      mysql-test/t/func_misc.test:
        Test case
      sql/item_strfunc.h:
        Multiply max_length of Item_func_uuid with system_charset_info->mbmaxlen
      6b6eb1ab
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 943edab9
      unknown authored
      into  mysql.com:/home/alik/Documents/AllProgs/MySQL/devel/5.0-sp-vars-merge-2
      
      
      mysql-test/r/sp.result:
        Auto merged
      mysql-test/t/sp.test:
        Auto merged
      sql/field.cc:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item.h:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      sql/sp_head.cc:
        Merge.
      943edab9
    • unknown's avatar
      Patch for WL#2894: Make stored routine variables work · 6b2f1309
      unknown authored
      according to the standard.
      
      The idea is to use Field-classes to implement stored routines
      variables. Also, we should provide facade to Item-hierarchy
      by Item_field class (it is necessary, since SRVs take part
      in expressions).
      
      The patch fixes the following bugs:
        - BUG#8702: Stored Procedures: No Error/Warning shown for inappropriate data 
          type matching; 
       
        - BUG#8768: Functions: For any unsigned data type, -ve values can be passed 
          and returned; 
       
        - BUG#8769: Functions: For Int datatypes, out of range values can be passed 
          and returned; 
       
        - BUG#9078: STORED PROCDURE: Decimal digits are not displayed when we use 
          DECIMAL datatype; 
       
        - BUG#9572: Stored procedures: variable type declarations ignored; 
       
        - BUG#12903: upper function does not work inside a function; 
       
        - BUG#13705: parameters to stored procedures are not verified; 
       
        - BUG#13808: ENUM type stored procedure parameter accepts non-enumerated
          data; 
       
        - BUG#13909: Varchar Stored Procedure Parameter always BINARY string (ignores 
          CHARACTER SET); 
       
        - BUG#14161: Stored procedure cannot retrieve bigint unsigned;
      
        - BUG#14188: BINARY variables have no 0x00 padding;
      
        - BUG#15148: Stored procedure variables accept non-scalar values;
      
      
      mysql-test/r/ctype_ujis.result:
        Explicitly specify correct charset.
      mysql-test/r/schema.result:
        Drop our test database to not affect this test if some test
        left it cause of failure.
      mysql-test/r/show_check.result:
        Drop our test database to not affect this test if some test
        left it cause of failure.
      mysql-test/r/skip_name_resolve.result:
        Ignore columns with unpredictable values.
      mysql-test/r/sp-big.result:
        Add cleanup statement.
      mysql-test/r/sp-dynamic.result:
        Add cleanup statements.
      mysql-test/r/sp.result:
        Update result file.
      mysql-test/r/sum_distinct-big.result:
        Update result file.
      mysql-test/r/type_newdecimal-big.result:
        Update result file.
      mysql-test/t/ctype_ujis.test:
        Explicitly specify correct charset.
      mysql-test/t/schema.test:
        Drop our test database to not affect this test if some test
        left it cause of failure.
      mysql-test/t/show_check.test:
        Drop our test database to not affect this test if some test
        left it cause of failure.
      mysql-test/t/skip_name_resolve.test:
        Ignore columns with unpredictable values.
      mysql-test/t/sp-big.test:
        Add cleanup statement.
      mysql-test/t/sp-dynamic.test:
        Add cleanup statements.
      mysql-test/t/sp.test:
        Non-scalar values prohibited for assignment to SP-vars;
        polishing.
      mysql-test/t/type_newdecimal-big.test:
        Update type specification so that the variables
        can contain the large values used in the test.
      sql/field.cc:
        Extract create_field::init() to initialize an existing
        instance of create_field from new_create_field().
      sql/field.h:
        Extract create_field::init() to initialize an existing
        instance of create_field from new_create_field().
      sql/item.cc:
        - Introduce a new class: Item_sp_variable -- a base class
          of stored-routine-variables classes;
        - Introduce Item_case_expr -- an Item, which is used to access
          to the expression of CASE statement;
      sql/item.h:
        - Introduce a new class: Item_sp_variable -- a base class
          of stored-routine-variables classes;
        - Introduce Item_case_expr -- an Item, which is used to access
          to the expression of CASE statement;
      sql/item_func.cc:
        Pass the Field (instead of Item) for the return value of
        a function to the function execution routine.
      sql/item_func.h:
        Pass the Field (instead of Item) for the return value of
        a function to the function execution routine.
      sql/mysql_priv.h:
        Move create_virtual_tmp_table() out of sql_select.h.
      sql/sp.cc:
        Use create_result_field() instead of make_field().
      sql/sp_head.cc:
        - Add a function to map enum_field_types to Item::Type;
        - Add sp_instr_push_case_expr instruction -- an instruction
          to push CASE expression into the active running context;
        - Add sp_instr_pop_case_expr instruction -- an instruction
          to pop CASE expression from the active running context;
        - Adapt the SP-execution code to using Fields instead of Items
          for SP-vars;
        - Use create_field structure for field description instead of
          a set of members.
      sql/sp_head.h:
        - Add a function to map enum_field_types to Item::Type;
        - Add sp_instr_push_case_expr instruction -- an instruction
          to push CASE expression into the active running context;
        - Add sp_instr_pop_case_expr instruction -- an instruction
          to pop CASE expression from the active running context;
        - Adapt the SP-execution code to using Fields instead of Items
          for SP-vars;
        - Use create_field structure for field description instead of
          a set of members.
      sql/sp_pcontext.cc:
        - Change rules to assign an index of SP-variable: use
          transparent index;
        - Add an operation to retrieve a list of defined SP-vars
          from the processing context recursively.
      sql/sp_pcontext.h:
        - Change rules to assign an index of SP-variable: use
          transparent index;
        - Add an operation to retrieve a list of defined SP-vars
          from the processing context recursively.
      sql/sp_rcontext.cc:
        - Change rules to assign an index of SP-variable: use
          transparent index;
        - Use a tmp virtual table to store SP-vars instead of Items;
        - Provide operations to work with CASE expresion.
      sql/sp_rcontext.h:
        - Change rules to assign an index of SP-variable: use
          transparent index;
        - Use a tmp virtual table to store SP-vars instead of Items;
        - Provide operations to work with CASE expresion.
      sql/sql_class.cc:
        - Reflect Item_splocal ctor changes;
        - Item_splocal::get_offset() has been renamed to get_var_idx().
      sql/sql_class.h:
        Polishing.
      sql/sql_parse.cc:
        Extract create_field::init() to initialize an existing
        instance of create_field from new_create_field().
      sql/sql_select.cc:
        Take care of BLOB columns in create_virtual_tmp_table().
      sql/sql_select.h:
        Move create_virtual_tmp_table() out of sql_select.h.
      sql/sql_trigger.cc:
        Use boolean constants for boolean type instead of numerical ones.
      sql/sql_yacc.yy:
        Provide an instance of create_field for each SP-var.
      mysql-test/include/sp-vars.inc:
        The definitions of common-procedures, which are created
        under different circumstances.
      mysql-test/r/sp-vars.result:
        Result file for the SP-vars test.
      mysql-test/sp-vars.test:
        A new test for checking SP-vars functionality.
      6b2f1309
    • unknown's avatar
      Fixed sp-error.test result after merging fix for bug #11555 "Stored procedures: · 83142adf
      unknown authored
      current SP tables locking make impossible view security" with main tree.
      
      
      mysql-test/r/sp-error.result:
        Fixed test result after merging fix for bug #11555 "Stored procedures: current
        SP tables locking make impossible view security" with main tree.
      83142adf
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-5.0 · 9c8773f5
      unknown authored
      into  mysql.com:/data0/mysqldev/my/mysql-5.0
      
      
      9c8773f5
    • unknown's avatar
      Bump version number following 5.0.17 release clone-off · c4b8823f
      unknown authored
      
      configure.in:
        Bump version number following release clone-off
      c4b8823f
    • unknown's avatar
      Merge lgrimmer@bk-internal:/home/bk/mysql-5.0 · 6ccd6c0f
      unknown authored
      into  mysql.com:/space/my/mysql-5.0
      
      
      6ccd6c0f
    • unknown's avatar
      Merge mysqldev@production.mysql.com:my/mysql-5.0-release · a2023cf0
      unknown authored
      into  mysql.com:/home/dlenev/src/mysql-5.0-bg11555-2
      
      
      mysql-test/r/view.result:
        Auto merged
      mysql-test/t/sp-error.test:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      mysql-test/r/sp-error.result:
        SCCS merged
      a2023cf0
    • unknown's avatar
      Merge mysql.com:/space/my/mysql-5.0-merg · 9adfccfb
      unknown authored
      into  mysql.com:/space/my/mysql-5.0
      
      
      9adfccfb
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 24af7680
      unknown authored
      into  mysql.com:/home/dlenev/src/mysql-5.0-bg11555-2
      
      
      mysql-test/r/sp-error.result:
        Auto merged
      mysql-test/r/view.result:
        Auto merged
      mysql-test/t/view.test:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/sql_trigger.h:
        Auto merged
      sql/sp.cc:
        Manual merge.
      sql/sp.h:
        Manual merge.
      sql/sql_base.cc:
        Manual merge.
      24af7680
    • unknown's avatar
      Merge mysql.com:/space/my/mysql-4.1 · 2c2cbdb7
      unknown authored
      into  mysql.com:/space/my/mysql-5.0-merg
      
      
      BitKeeper/triggers/post-commit:
        Auto merged
      2c2cbdb7
    • unknown's avatar
      Fix for bug #11555 "Stored procedures: current SP tables locking make · 361977c0
      unknown authored
      impossible view security".
      
      We should not expose names of tables which are explicitly or implicitly (via
      routine or trigger) used by view even if we find that they are missing.
      So during building of list of prelocked tables for statement we track which
      routines (and therefore tables for these routines) are used from views. We
      mark elements of LEX::routines set which correspond to routines used in views
      by setting Sroutine_hash_entry::belong_to_view member to point to TABLE_LIST
      object for topmost view which uses routine. We propagate this mark to all
      routines which are used by this routine and which we add to this set. We also
      mark tables used by such routine which we add to the list of tables for
      prelocking as belonging to this view.
      
      
      mysql-test/r/sp-error.result:
        Added test for bug #11555 "Stored procedures: current SP tables locking make 
        impossible view security".
      mysql-test/r/view.result:
        We should not expose tables which are expicitly/implicitly used in view in
        check table statement.
      mysql-test/t/sp-error.test:
        Added test for bug #11555 "Stored procedures: current SP tables locking make 
        impossible view security".
      mysql-test/t/view.test:
        Removed comment obsoleted by bugfix.
      sql/sp.cc:
        We should not expose names of tables which are explicitly or implicitly
        (via routine or trigger) used by view even if we find that they are missing.
        So during building of list of prelocked tables for statement we track which
        routines (and therefore tables for these routines) are used from views. We
        mark elements of LEX::routines set which correspond to routines used in views
        by setting Sroutine_hash_entry::belong_to_view member to point to TABLE_LIST
        object for topmost view which uses routine. We propagate this mark to all
        routines which are used by this routine and which we add to this set. We also
        mark tables used by such routine which we add to the list of tables for
        prelocking as belonging to this view.
      sql/sp.h:
        sp_cache_routines_and_add_tables_for_view()/for_triggers():
          To be able to determine correctly uppermost view which uses this view/table
          with trigger we have to pass pointer to TABLE_LIST object instead of pointer
          to view's LEX or to Table_triggers_list object.
      sql/sp_head.cc:
        sp_head::add_used_tables_to_table_list():
          Added new argument which allows to mark tables which are added to table
          list for prelocking as belonging to view (this allows properly hide names
          of tables which are used in routines used by views).
      sql/sp_head.h:
        sp_head::add_used_tables_to_table_list():
          Added new argument which allows to mark tables which are added to table
          list for prelocking as belonging to view (this allows properly hide names
          of tables which are used in routines used by views).
      sql/sql_base.cc:
        open_tables():
          sp_cache_routines_and_add_tables_for_view()/for_triggers() now accept
          pointer to table list element as last argument, this allows them to determine
          correctly uppermost view which uses this view/table with trigger.
      sql/sql_trigger.h:
        Table_triggers_list:
          sp_cache_routines_and_add_tables_for_triggers() now accept pointer to table
          list element as last argument, this allows to determine correctly uppermost
          view which uses this table with trigger.
      361977c0
    • unknown's avatar
      merged · 6cf8483d
      unknown authored
      
      mysql-test/t/sp.test:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      6cf8483d
    • unknown's avatar
      Merge mysql.com:/home/timka/mysql/src/5.0-virgin · f095abaa
      unknown authored
      into  mysql.com:/home/timka/mysql/src/5.0-2486
      
      
      f095abaa
    • unknown's avatar
      Merge mysql.com:/space/my/mysql-4.0 · 59e4781b
      unknown authored
      into  mysql.com:/space/my/mysql-4.1
      
      
      BitKeeper/triggers/post-commit:
        Auto merged
      59e4781b
    • unknown's avatar
      Fix innodb.result file (was missing a line) · 43dd386d
      unknown authored
      
      mysql-test/r/innodb.result:
        Update result file
      43dd386d
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-5.0 · 4b9a7c7c
      unknown authored
      into  mysql.com:/home/jimw/my/mysql-5.0-clean
      
      
      4b9a7c7c
  4. 06 Dec, 2005 7 commits
    • unknown's avatar
      Fix value returned by mysql_warning_count() after fetching a prepared · 4ea36b7a
      unknown authored
      statement that generated a warning. (Bug #15510)
      
      
      sql-common/client.c:
        Reset warning_count in free_old_query(), don't stomp old value for
        it in cli_read_query_result().
      tests/mysql_client_test.c:
        Add new regression test
      4ea36b7a
    • unknown's avatar
      Merge mysql.com:/home/jimw/my/mysql-5.0-14299 · bf802ab7
      unknown authored
      into  mysql.com:/home/jimw/my/mysql-5.0-clean
      
      
      sql/field.cc:
        Auto merged
      mysql-test/r/type_binary.result:
        Resolve conflicts
      mysql-test/t/type_binary.test:
        Resolve conflicts
      bf802ab7
    • unknown's avatar
      A fix and a test case for Bug#15392 "Server crashes during · 8c2d8ac7
      unknown authored
       prepared statement execute
      
      
      mysql-test/r/sp.result:
        Test results fixed: a fix for Bug#15392
      mysql-test/t/sp.test:
        A test case for Bug#15392 "Server crashes during prepared
        statement execute". No test case for error in
        Item_func_set_user_var::update as the only possible one is OOM.
      sql/sp_head.cc:
        A fix for Bug#15392 "Server crashes during prepared statement
        execute": the bug was caused by mysql_change_db() call
        which was overwriting the error state of 'ret'.
        Later in the code, suv->fix_fields() would discover
        thd->net.report_error and return it without completing
        its work. As the return value of fix_fields() was ignored,
        the server would afterwards crash in suv->update().
        The fix makes sure that a possible internal error
        is raised in reset_lex_and_exec_core and then is
        handled in sp_head::execute_procedure.
      8c2d8ac7
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · c34e0817
      unknown authored
      into serg.mylan:/usr/home/serg/Abk/mysql-5.0
      
      
      c34e0817
    • unknown's avatar
      Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-5.0 · 3d1e9eae
      unknown authored
      into  mysql.com:/home/alexi/innodb-ss/mysql-5.0-ss52
      
      
      3d1e9eae
    • unknown's avatar
      Fix BUG#14747: "Race condition can cause btr_search_drop_page_hash_index() · b83c2976
      unknown authored
       to crash".
       Changes from snapshot innodb-5.0-ss52.
       Note that buf_block_t::index should be protected by btr_search_latch
       or an s-latch or x-latch on the index page.
       btr_search_drop_page_hash_index(): Read block->index while holding
       btr_search_latch and use the cached value in the loop. Remove some
       redundant assertions.
       Also fix 13778. When FOREIGN_KEY_CHECKS=0 we still need to check that
       datatypes between foreign key references are compatible.
       Also added test cases to 9802.
      
      
      innobase/btr/btr0sea.c:
        Changes from innodb-5.0-ss52
      innobase/dict/dict0dict.c:
        Changes from innodb-5.0-ss52
      innobase/dict/dict0load.c:
        Changes from innodb-5.0-ss52
      innobase/include/buf0buf.h:
        Changes from innodb-5.0-ss52
      innobase/include/dict0dict.h:
        Changes from innodb-5.0-ss52
      innobase/include/dict0load.h:
        Changes from innodb-5.0-ss52
      innobase/include/rem0cmp.h:
        Changes from innodb-5.0-ss52
      innobase/rem/rem0cmp.c:
        Changes from innodb-5.0-ss52
      innobase/row/row0mysql.c:
        Changes from innodb-5.0-ss52
      mysql-test/r/innodb.result:
        Changes from innodb-5.0-ss52
      mysql-test/t/innodb.test:
        Changes from innodb-5.0-ss52
      sql/ha_innodb.cc:
        Changes from innodb-5.0-ss52
      sql/ha_innodb.h:
        Changes from innodb-5.0-ss52
      b83c2976
    • unknown's avatar
      Merge · 6b5b3f3a
      unknown authored
      
      mysql-test/r/sp-error.result:
        Auto merged
      mysql-test/t/sp.test:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      sql/share/errmsg.txt:
        SCCS merged
      6b5b3f3a