1. 03 Aug, 2007 1 commit
    • unknown's avatar
      Bug#28875 Conversion between ASCII and LATIN1 charsets does not function · 53df09a9
      unknown authored
      (Regression, caused by a patch for the bug 22646).
      Problem: when result type of date_format() was changed from
      binary string to character string, mixing date_format()
      with a ascii column in CONCAT() stopped to work.
      Fix:
      - adding "repertoire" flag into DTCollation class,
      to mark items which can return only pure ASCII strings.
      - allow character set conversion from pure ASCII to other character sets.
      
      
      include/m_ctype.h:
        Defining new flags.
        Adding new function prototypes.
      mysql-test/r/ctype_ucs.result:
        Adding tests.
      mysql-test/r/ctype_utf8.result:
        Adding tests.
      mysql-test/r/func_time.result:
        Adding tests.
      mysql-test/t/ctype_ucs.test:
        Adding tests.
      mysql-test/t/ctype_utf8.test:
        Adding tests.
      mysql-test/t/func_time.test:
        Adding test.
      mysys/charset.c:
        Adding pure ASCII detection when loading a dynamic character set.
      sql/item.cc:
        - Moving detection of a Unicode superset into function.
        - Adding detection of a ASCII subset.
        - Adding creation of to-ASCII character set convertor when
          safe_charset_converter() failed and when the argument.
          repertoire is know to be pure ASCII.
      sql/item.h:
        - Adding "repertoire" member into DTCollation class.
        - Adding "repertoire" argument to constructors.
        - Adding new methods:
          set_repertoire_from_charset()
          set_repertoire_from_value()
      sql/item_func.cc:
        Adding "repertoire" argument.
      sql/item_strfunc.cc:
        Adding "repertoire" argument.
      sql/item_timefunc.cc:
        Initializing the result repertoire taking into account the "is_ascii"
        flag of the current locale.
      sql/sql_lex.cc:
        Detect 7bit strings, return in Lex->text_string_is_7bit.
      sql/sql_lex.h:
        Adding new member into LEX structure.
        Adding new member into Lex_input_stream
      sql/sql_string.cc:
        Allow simple copy from pure ASCII to a ASCII-based character set.
      sql/sql_yacc.yy:
        Depening on Lex->text_string_is_7bit and character set features,
        create Item_string with MY_REPERTOIRE_ASCII when it is possible.
      strings/conf_to_src.c:
        - Adding printing of the "MY_CS_PUREASCII" flag
        - Adding printing of copyright
      strings/ctype-extra.c:
        Recreating ctype-extra.c: ascii_general_ci and ascii_bin
        are now marked with MY_CS_PUREASCII flag.
      strings/ctype.c:
        Adding new functions.
      53df09a9
  2. 08 Jun, 2007 2 commits
  3. 07 Jun, 2007 3 commits
    • unknown's avatar
      Bug#28916 LDML doesn't work for utf8 · af0a3afe
      unknown authored
      and is not described in the manual
      - Adding missing initialization for utf8 collations
      - Minor code clean-ups: renaming variables,
        moving code into a new separate function.
      - Adding test, to check that both ucs2 and utf8 user
        defined collations work (ucs2_test_ci and utf8_test_ci)
      - Adding Vietnamese collation as a complex user defined
        collation example.
      
      
      include/m_ctype.h:
        Renaming variable names to match collation names (for convenience).
      mysys/charset-def.c:
        - Removing redundant declarations for variables declared in m_ctype.h
        - Renaming variable names to match collation names (for convenience).
      mysys/charset.c:
        - Renaming "new" to "newcs", to avoid using C reserved word as a variable name
        - Moving UCA initialization code into a separate function
        - The bug fix itself: adding initialization of utf8 collations
      strings/ctype-uca.c:
        Renaming variable names to match collation names (for convenience).
      strings/ctype.c:
        Increasing buffer size to fit tailoring for languages
        with complex rules (e.g. Vietnamese).
      mysql-test/r/ctype_ldml.result:
        Adding test case
      mysql-test/std_data/Index.xml:
        Adding Index.xml example with user defined collations.
      mysql-test/t/ctype_ldml-master.opt:
        Adding OPT file for the test case,
        to use the example Index.xml file.
      mysql-test/t/ctype_ldml.test:
        Adding test case
      af0a3afe
    • unknown's avatar
      Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl · 3babaecc
      unknown authored
      into  mysql.com:/home/bar/mysql-work/mysql-5.0.b26711
      
      
      3babaecc
    • unknown's avatar
      Bug#26711 "Binary content 0x00 sometimes becomes 0x5C 0x00 after dump/load" · 2971d645
      unknown authored
      Problem: "SELECT INTO OUTFILE" created incorrect dumps for BLOBs,
      so "LOAD DATA" later incorrectly interpreted 0x5C as the second
      byte of a multi-byte sequence, instead of escape character.
      Fix: adding escaping of multi-byte heads.
      
      
      mysql-test/r/ctype_big5.result:
        Adding test case
      mysql-test/t/ctype_big5.test:
        Adding test case
      sql/sql_class.cc:
        Add escape characters before multi-byte heads.
      strings/ctype-big5.c:
        Flagging character set as dangerous for escaping.
      strings/ctype-gbk.c:
        Flagging character set as dangerous for escaping.
      strings/ctype-sjis.c:
        Flagging character set as dangerous for escaping.
      2971d645
  4. 04 Jun, 2007 2 commits
  5. 03 Jun, 2007 8 commits
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · 7b8af0f5
      unknown authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28728
      
      
      7b8af0f5
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · eb958aff
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/test-5.0-opt-mysql
      
      
      eb958aff
    • unknown's avatar
      user_var.result: · e19dcfa9
      unknown authored
        Corrected test case result for the bug#28494.
      item_func.h, item_func.cc:
        Corrected function names after fix for the bug#28494.
      
      
      mysql-test/r/user_var.result:
        Corrected test case result for the bug#28494.
      sql/item_func.h:
        Corrected function names after fix for the bug#28494.
      sql/item_func.cc:
        Corrected function names after fix for the bug#28494.
      e19dcfa9
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · a6f1d558
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/test-5.0-opt-mysql
      
      
      a6f1d558
    • unknown's avatar
      user_var.result, user_var.test: · 4ef02860
      unknown authored
        Extended test case for the bug#28494.
      
      
      mysql-test/t/user_var.test:
        Extended test case for the bug#28494.
      mysql-test/r/user_var.result:
        Extended test case for the bug#28494.
      4ef02860
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · 6c403ec9
      unknown authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28728
      
      
      6c403ec9
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-5.0-opt · b313fe13
      unknown authored
      into  macbook.gmz:/Users/kgeorge/mysql/work/B26162-5.0-opt
      
      
      mysql-test/r/trigger.result:
        Auto merged
      mysql-test/t/trigger.test:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      b313fe13
    • unknown's avatar
      Bug #26162: Trigger DML ignores low_priority_updates setting · f9a41f9f
      unknown authored
        
      The value of "low-priority-updates" option and the LOW PRIORITY
      prefix was taken into account at parse time.
      This caused triggers (among others) to ignore this flag (if
      supplied for the DML statement).
      Moved reading of the LOW_PRIORITY flag at run time.
      Fixed an incosistency when handling
      SET GLOBAL LOW_PRIORITY_UPDATES : now it is in effect for
      delayed INSERTs.
      Tested by checking the effect of LOW_PRIORITY flag via a 
      trigger.
      
      
      include/thr_lock.h:
        Bug #26162: moved reading of the LOW PRIORITY flag at run time
      mysql-test/r/trigger.result:
        Bug #26162: test case
      mysql-test/t/trigger.test:
        Bug #26162: test case
      sql/set_var.cc:
        Bug #26162: fixed the handling of the "low-priority-updates" option
      sql/sql_base.cc:
        Bug #26162: moved reading of the LOW PRIORITY flag at run time
      sql/sql_yacc.yy:
        Bug #26162: moved reading of the LOW PRIORITY flag at run time
      f9a41f9f
  6. 02 Jun, 2007 8 commits
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · 04e2d152
      unknown authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28728
      
      
      04e2d152
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 8ded1e81
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/test-5.0-opt-mysql
      
      
      8ded1e81
    • unknown's avatar
      item_func.cc: · 684653b8
      unknown authored
        Post fix for bug#28494.
        The Item_func_set_user_var::check method now silently doesn't use result_field
        if it isn't defined.
      
      
      sql/item_func.cc:
        Post fix for bug#28494.
        The Item_func_set_user_var::check method now silently doesn't use result_field
        if it isn't defined.
      684653b8
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · 5c23a1c7
      unknown authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28728
      
      
      5c23a1c7
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · bce9860d
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/test-5.0-opt-mysql
      
      
      bce9860d
    • unknown's avatar
      Bug#28494: Grouping by Item_func_set_user_var produces incorrect result. · 8ab1830f
      unknown authored
      This is an additional fix.
      Item::val_xxx methods are supposed to use original data source and
      Item::val_xxx_result methods to use the item's result field. But for the
      Item_func_set_user_var class val_xxx_result methods were mapped to val_xxx
      methods. This leads, in particular, to producing bad sort keys and thus
      wrong order of the result set of queries with group by/order by clauses.
      
      The set of val_xxx_result methods is added to the Item_func_set_user_var
      class. It's the same as the val_xxx set of method but uses the result_field
      to return a value.
      
      
      mysql-test/t/user_var.test:
        Corrected test case for hte bug#28494.
      mysql-test/r/user_var.result:
        Corrected test case for hte bug#28494.
      sql/item_func.cc:
        Bug#28494: Grouping by Item_func_set_user_var produces incorrect result.
        The set of val_xxx_result methods is added to the Item_func_set_user_var
        class. It's the same as the val_xxx set of method but uses the result_field
        to return a value.
      sql/item_func.h:
        Bug#28494: Grouping by Item_func_set_user_var produces incorrect result.
        The set of val_xxx_result methods is added to the Item_func_set_user_var
        class.
      8ab1830f
    • unknown's avatar
      Fixed bug #28728: a crash when executing EXPLAIN EXTENDED for a query · 8c4ff24b
      unknown authored
      using a derived table over a grouping subselect.
      
      This crash happens only when materialization of the derived tables 
      requires creation of auxiliary temporary table, for example when
      a grouping operation is carried out with usage of a temporary table.
      
      The crash happened because EXPLAIN EXTENDED when printing the query
      expression made an attempt to use the objects created in the mem_root
      of the temporary table which has been already freed by the moment
      when printing is called.
      
      This bug appeared after the method Item_field::print() had been 
      introduced.    
      
      
      mysql-test/r/subselect.result:
        Added a test case for bug #28728.
      mysql-test/t/subselect.test:
        Added a test case for bug #28728.
      sql/sql_select.cc:
        Fixed bug #28728: a crash when executing EXPLAIN EXTENDED for a query
        using a derived table over a grouping subselect.
        The crash happened because EXPLAIN EXTENDED when printing the query
        expression made an attempt to use the objects created in the mem_root
        of the temporary table which has been already freed by the moment
        when printing is accomplished.
        The fix in JOIN::exec() ensures using existing objects when printing 
        subselects for a derived tables by EXPLAIN EXTENDED.
      8c4ff24b
    • unknown's avatar
      Post-merge fix. · 0ec40a45
      unknown authored
      0ec40a45
  7. 01 Jun, 2007 8 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/data0/bk/mysql-5.0 · 5697c0c1
      unknown authored
      into  bk-internal.mysql.com:/data0/bk/mysql-5.0-opt
      
      
      mysql-test/r/sp.result:
        Auto merged
      mysql-test/t/sp.test:
        Auto merged
      mysql-test/t/strict.test:
        Auto merged
      mysql-test/t/subselect3.test:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      sql/sql_update.cc:
        Auto merged
      sql/sql_view.cc:
        Manual merge
      5697c0c1
    • unknown's avatar
      Fix more mysqltest warnings. · e2107646
      unknown authored
      e2107646
    • unknown's avatar
      a00e5c68
    • unknown's avatar
      Fix a typo in the test case. · 68cc0a34
      unknown authored
      
      mysql-test/r/rpl_loaddata.result:
        Update result.
      mysql-test/t/rpl_loaddata.test:
        Fix a typo in the test file.
      68cc0a34
    • unknown's avatar
      Fix some mysqltest warnings. · d8cd88cd
      unknown authored
      
      mysql-test/r/sp.result:
        Update results.
      mysql-test/t/mysql.test:
        Fix a typo.
      mysql-test/t/mysqltest.test:
        Fix a typo.
      mysql-test/t/order_by.test:
        Fix a typo.
      mysql-test/t/row.test:
        Remove an unsupported command.
      mysql-test/t/sp.test:
        Fix a typo.
      mysql-test/t/subselect3.test:
        Fix  mysqltest warnings - now it warns when sees some suspicious --
        comment
      d8cd88cd
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 865f294f
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B28366-5.0-opt-win
      
      
      865f294f
    • unknown's avatar
      Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl · 4bdbc339
      unknown authored
      into  dsl-hkibras1-ff5dc300-70.dhcp.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug27716-multi_upd_no_binlog
      
      
      mysql-test/r/innodb.result:
        Auto merged
      mysql-test/t/innodb.test:
        Auto merged
      sql/sql_update.cc:
        Auto merged
      4bdbc339
    • unknown's avatar
      Bug #27716 multi-update did partially and has not binlogged · 6b94fc57
      unknown authored
      Implementation of mysql_multi_update did not call multi_update::send_error method in some cases 
      (see the test reported on bug page and test cases in changeset).
      
      Fixed with deploying the method, ::send_error() is refined to get binlogging code which works whenever 
      there is modified non-transactional table.
      thd->no_trans_update.stmt flag is set in to TRUE to ease testing though being the beginning of relative 
      bug#27417 fix (addresses a part of those issues).
      Eliminating two minor issues (small bugs) in multi_update methods.
      This patch for multi-update also addresses a part of the issues reported in bug#13270,bug#23333.
      
      
      mysql-test/r/innodb.result:
        result changed
      mysql-test/r/multi_update.result:
        results changed
      mysql-test/t/innodb.test:
        regression test for the bug combining transactional and non-transaction tables
      mysql-test/t/multi_update.test:
        regression tests added - erred query must be binlogged
      sql/sql_update.cc:
        making a call to multi_update::send_error when mysql_select return an error;
        deploying binlogging inside of ::send_error;
        refining multi_update::send_eof() to mark binlogging work done when its call to ::do_updates() errs
        and the query is binlogged with the error. ::send_error() will be called after all but
        do not do anything;
        thd->no_trans_update.stmt is corrected to be set to TRUE according to the existed code pattern. 
        Although this part relates to another bugs (bug#27417 etc) it is needed here for testing;
        Eliminating a separate issue in multi_update::do_updates where                
        either one of the class members trans_safe, transactional_tables was          
        set after the per-table loop whereas both should be calculated during         
        looping. 
        Eliminating a separate issue in ::send_eof() where thd->no_trans_update.all won't be set TRUE when
        amoung others there'd be at least one modified transactional table.
        Binlogging is done to satisfy to general character bug#13270,bug#23333 so that those won't have
        fixes specific for multi-update.
      6b94fc57
  8. 31 May, 2007 8 commits
    • unknown's avatar
      Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 9fa12a38
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/mysql-5.0-opt
      
      
      9fa12a38
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/mysql-5.0-opt-27827-fresh · e8bf6c5b
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/mysql-5.0-opt
      
      
      mysql-test/r/view.result:
        Merge with bug #27827 fix.
      mysql-test/t/view.test:
        Merge with bug #27827 fix.
      e8bf6c5b
    • unknown's avatar
      sql_view.cc: · 8fe16346
      unknown authored
        Additional patch for bug #28244 to workaround valgrind warnings.
      
      
      sql/sql_view.cc:
        Additional patch for bug #28244 to workaround valgrind warnings.
      8fe16346
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · d1733069
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/28494-bug-5.0-opt-mysql
      
      
      d1733069
    • unknown's avatar
      Bug#28494: Grouping by Item_func_set_user_var produces incorrect result. · b4a35cd7
      unknown authored
      The end_update() function uses the Item::save_org_in_field() function to
      save original values of items into the group buffer. But for the 
      Item_func_set_user_var this method was mapped to the save_in_field method.
      The latter function wrongly decides to use the result_field. This leads to
      saving incorrect value in the grouping buffer and wrong result of the whole
      query.
      
      The can_use_result_field argument of the bool type is added to the
      Item_func_set_user_var::save_in_field() function. If it is set to FALSE
      then the item's result field won't be used. Otherwise it will be detected
      whether the result field will be used (old behaviour).
      Two wrapping functions for the function above are added to the 
      Item_func_set_user_var class:
      the save_in_field(Field *field, bool no_conversions) - it calls the above
      function with the can_use_result_field set to TRUE.
      the save_org_in_field(Field *field) - same, but the can_use_result_field
      is set to FALSE.
      
      
      mysql-test/t/user_var.test:
        Added a test case for the bug#28494: Grouping by Item_func_set_user_var
        produces incorrect result.
      mysql-test/r/user_var.result:
        Added a test case for the bug#28494: Grouping by Item_func_set_user_var
        produces incorrect result.
      sql/item_func.cc:
        Bug#28494: Grouping by Item_func_set_user_var produces incorrect result.
        The can_use_result_field argument of the bool type is added to the
        Item_func_set_user_var::save_in_field() function. If it is set to FALSE
        then the item's result field won't be used. Otherwise it will be detected
        whether the result field will be used (old behaviour).
      sql/item_func.h:
        Bug#28494: Grouping by Item_func_set_user_var produces incorrect result.
        The can_use_result_field argument of the bool type is added to the
        Item_func_set_user_var::save_in_field() function.
        Two wrapping functions for the function above are added to the 
        Item_func_set_user_var class:
        the save_in_field(Field *field, bool no_conversions) - it calls the above
        function with the can_use_result_field set to TRUE.
        the save_org_in_field(Field *field) - same, but the can_use_result_field
        is set to FALSE.
      b4a35cd7
    • unknown's avatar
      Fixed bug #27827. · e2c7a5b0
      unknown authored
      ON conditions from JOIN expression were ignored at CHECK OPTION
      check when updating a multi-table view with CHECK OPTION.
      
      The st_table_list::prep_check_option function has been
      modified to to take into account ON conditions at CHECK OPTION check
      It was also changed to build the check option condition only once
      for any update used in PS/SP.
      
      
      sql/table.h:
        Fixed bug #27827.
        The st_table_list::check_option_processed variable has been added
        to build the check option condition only once for any update used
        in PS/SP.
      sql/table.cc:
        Fixed bug #27827.
        The st_table_list::prep_check_option function has been
        modified to to take into account ON conditions at CHECK OPTION check
        It was also changed to build the check option condition only once
        for any update used in PS/SP.
      mysql-test/t/view.test:
        Updated test case for bug #27827.
      mysql-test/r/view.result:
        Updated test case for bug #27827.
      e2c7a5b0
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/mysql-5.0-opt · b33ae435
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/mysql-5.0-opt-28244
      
      
      b33ae435
    • unknown's avatar
      sql_view.cc: · 9d37b35c
      unknown authored
        Patch to eliminate compilation warning.
      
      
      sql/sql_view.cc:
        Patch to eliminate warning.
      9d37b35c