1. 11 Jan, 2006 1 commit
    • unknown's avatar
      Fixed bug #15633: Evaluation of Item_equal for non-const table caused wrong · 593bed0d
      unknown authored
      select result
      
      Item equal objects are employed only at the optimize phase. Usually they are not
      supposed to be evaluated.  Yet in some cases we call the method val_int() for
      them. Here we have to take care of restricting the predicate such an object
      represents f1=f2= ...=fn to the projection of known fields fi1=...=fik.
      
      Added a check for field's table being const in Item_equal::val_int().
      If the field's table is not const val_int() just skips that field when
      evaluating Item_equal.
      
      
      mysql-test/t/select.test:
        Added test case for bug #15633: Evaluation of Item_equal for non-const table caused wrong select result
      mysql-test/r/select.result:
        Added test case for bug #15633: Evaluation of Item_equal for non-const table caused wrong select result
      mysql-test/r/func_group.result:
        Corrected test result for bug #12882 after fix for bug#15633
      sql/item_cmpfunc.h:
        Fixed bug #15633: Evaluation of Item_equal for non-const table caused wrong select result
        Added comment about fields from non-const tables in class description.
      sql/item_cmpfunc.cc:
        Fixed bug #15633: Evaluation of Item_equal for non-const table caused wrong select result
        Added check for field's table being const in Item_equal::val_int().
      593bed0d
  2. 12 Dec, 2005 2 commits
  3. 11 Dec, 2005 2 commits
    • unknown's avatar
      Fixed BUG #14614: Replication of tables with trigger generates · a26e2c20
      unknown authored
       error message if database is changed.
      
      
      mysql-test/r/rpl_trigger.result:
        Fixed results for the added test cases
      mysql-test/t/rpl_trigger.test:
        Added test cases for bug #14614
      sql/sql_db.cc:
        Fixed bug #14614.
         Modified mysql_change_db(): The memory where db name resides
         is freed by a slave thread.
      a26e2c20
    • unknown's avatar
      Merge rurik.mysql.com:/home/igor/mysql-5.0 · 53f8fed4
      unknown authored
      into  rurik.mysql.com:/home/igor/dev/mysql-5.0-2
      
      
      sql/item.cc:
        Auto merged
      sql/item.h:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_lex.cc:
        Auto merged
      sql/sql_lex.h:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      53f8fed4
  4. 09 Dec, 2005 1 commit
  5. 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
  6. 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
  7. 06 Dec, 2005 2 commits