1. 11 Sep, 2006 1 commit
    • unknown's avatar
      Bug#20922 mysql removes a name of first column in a table · 62dd7e51
      unknown authored
      0xFF is internal separator for SET|ENUM names. 
      If this symbol is present in SET|ENUM names then we replace it with 
      ','(deprecated symbol for SET|ENUM names) during frm creation
      and restore to 0xFF during frm opening
      
      
      mysql-test/r/type_enum.result:
        Bug#20922 mysql removes a name of first column in a table
        test case
      mysql-test/t/type_enum.test:
        Bug#20922 mysql removes a name of first column in a table
        test case
      sql/table.cc:
        Bug#20922 mysql removes a name of first column in a table
        Replace all ',' symbols with NAMES_SEP_CHAR in interval names.
      sql/unireg.cc:
        Bug#20922 mysql removes a name of first column in a table
        if NAMES_SEP_CHAR symbols are present in interval name
        then replace all NAMES_SEP_CHAR symbols with ','
      62dd7e51
  2. 30 Aug, 2006 1 commit
    • unknown's avatar
      Bug#20393 User name truncation in mysql client · ddb9f866
      unknown authored
      Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
      
      
      include/mysql_com.h:
        Bug#20393 User name truncation in mysql client
        Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
        added new constants NAME_BYTE_LEN, USERNAME_BYTE_LENGTH, SYSTEM_CHARSET_MBMAXLEN
      mysql-test/r/ctype_utf8.result:
        Bug#20393 User name truncation in mysql client
        Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
        test case
      mysql-test/t/ctype_utf8.test:
        Bug#20393 User name truncation in mysql client
        Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
        test case
      sql-common/client.c:
        Bug#20393 User name truncation in mysql client
        Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
        increased buffers for user name & db
      sql/sql_acl.cc:
        Bug#20393 User name truncation in mysql client
        Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
        check that user name is not longer than USERNAME_LENGTH symbols
      sql/sql_parse.cc:
        Bug#20393 User name truncation in mysql client
        Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
        increased buffers for user name & db
      sql/table.cc:
        Bug#20393 User name truncation in mysql client
        Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
        check that db name is not longer than NAME_LEN symbols
      ddb9f866
  3. 27 Aug, 2006 1 commit
  4. 26 Aug, 2006 1 commit
  5. 24 Aug, 2006 5 commits
    • unknown's avatar
      BUG#16255: Post-review fixes: adjust the testcase. · f895a16c
      unknown authored
      
      mysql-test/r/subselect.result:
        BUG#16255: A proper testcase
      mysql-test/t/subselect.test:
        BUG#16255: A proper testcase
      f895a16c
    • unknown's avatar
      Bug #16255: Subquery in WHERE (the cset by Georgi Kodinov) · c74c8195
      unknown authored
       Must not use Item_direct_ref in HAVING because it points to
       the new value (witch is not yet calculated for the first row).
      
      
      mysql-test/r/subselect.result:
        Bug #16255: Subquery in where
         - test case
      mysql-test/t/subselect.test:
        Bug #16255: Subquery in where
         - test case
      sql/item_subselect.cc:
        Bug #16255: Subquery in where
         Must not use Item_direct_ref in HAVING because it points to
         the new value (witch is not yet calculated for the first row).
      c74c8195
    • unknown's avatar
      Merge tim@tsmith.mysql.internal:m/bk/41 · 95f8e047
      unknown authored
      into  maint1.mysql.com:/data/localhome/tsmith/bk/41
      
      
      95f8e047
    • unknown's avatar
      Merge siva.hindu.god:/usr/home/tim/m/bk/b21531-41 · 66d91348
      unknown authored
      into  siva.hindu.god:/usr/home/tim/m/bk/41
      
      
      sql/item_func.h:
        Auto merged
      sql/item_strfunc.cc:
        Auto merged
      66d91348
    • unknown's avatar
      Bug #21531: EXPORT_SET() doesn't accept args with coercible character sets · b2a0d025
      unknown authored
      - Fix typo in Item_func_export_set::fix_length_and_dec() which caused character set aggregation to fail
      - Remove default argument from last arg of agg_arg_charsets() function, to reduce potential errors
      
      
      mysql-test/r/func_misc.result:
        Test EXPORT_SET() with charset coersion (bug #21531)
      mysql-test/t/func_misc.test:
        Test EXPORT_SET() with charset coersion (bug #21531)
      sql/item_func.h:
        Remove default argument from last arg of agg_arg_charsets() function, to reduce potential errors.
      sql/item_strfunc.cc:
        Fix typo in Item_func_export_set::fix_length_and_dec() which caused character set aggregation to fail.
      b2a0d025
  6. 23 Aug, 2006 5 commits
    • unknown's avatar
      Merge siva.hindu.god:/usr/home/tim/m/bk/b20536-41 · a9eebc99
      unknown authored
      into  siva.hindu.god:/usr/home/tim/m/bk/41
      
      
      sql/item_strfunc.cc:
        Auto merged
      sql/item_strfunc.h:
        Auto merged
      sql/slave.cc:
        Auto merged
      sql/sql_acl.cc:
        Auto merged
      a9eebc99
    • unknown's avatar
      Bug #20402: DROP USER failure logged as ERROR rather than WARNING · 216f20ad
      unknown authored
      Remove some sql_print_error() calls which were triggered by user error (i.e., not server-level events at all).
      
      Also, convert an sql_print_error -> sql_print_information for a non-error server event.
      
      
      sql/slave.cc:
        Change sql_print_error to sql_print_information for non-error status message.
      sql/sql_acl.cc:
        Remove sql_print_error calls for events which are not server errors
      216f20ad
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-4.1 · b2219897
      unknown authored
      into  maint1.mysql.com:/data/localhome/tsmith/bk/41
      
      
      b2219897
    • unknown's avatar
      Merge lamia.home:/home/timka/mysql/src/4.1-virgin · e989c51d
      unknown authored
      into  lamia.home:/home/timka/mysql/src/4.1-bug-21456
      
      
      sql/sql_select.cc:
        Auto merged
      e989c51d
    • unknown's avatar
      Bug #21456: SELECT DISTINCT(x) produces incorrect results when using order by · 2baf2fdf
      unknown authored
      GROUP BY/DISTINCT pruning optimization must be done before ORDER BY 
      optimization because ORDER BY may be removed when GROUP BY/DISTINCT
      sorts as a side effect, e.g. in 
        SELECT DISTINCT <non-key-col>,<pk> FROM t1
        ORDER BY <non-key-col> DISTINCT
      must be removed before ORDER BY as if done the other way around
      it will remove both.
      
      
      mysql-test/r/distinct.result:
        Test for BUG#21456.
      mysql-test/t/distinct.test:
        Test for BUG#21456.
      sql/sql_select.cc:
        Bug #21456: SELECT DISTINCT(x) produces incorrect results when using order by
        
        GROUP BY/DISTINCT pruning optimization must be done before ORDER BY 
        optimization because ORDER BY may be removed when GROUP BY/DISTINCT
        sorts as a side effect.
      2baf2fdf
  7. 19 Aug, 2006 2 commits
  8. 17 Aug, 2006 1 commit
  9. 16 Aug, 2006 3 commits
  10. 15 Aug, 2006 5 commits
    • unknown's avatar
      BUG#21077: Possible crash caused by invalid sequence of handler::* calls: ... · 9907e970
      unknown authored
      BUG#21077: Possible crash caused by invalid sequence of handler::* calls:                                                
      The crash was caused by invalid sequence of handler::** calls:                                                           
        ha_smth->index_init();                                                                                                 
        ha_smth->index_next_same(); (2)                                                                                        
      (2) is an invalid call as it was not preceeded by any 'scan setup' call
      like index_first() or index_read(). The cause was that QUICK_SELECT::reset()
      didn't "fully reset" the quick select- current QUICK_RANGE wasn't forgotten,
      and quick select might attempt to continue reading the range, which would
      result in the above mentioned invalid sequence of handler calls.
      
      5.x versions are not affected by the bug - they already have the missing
      "range=NULL" clause.                                                    
                                                             
      
      
      mysql-test/r/innodb_mysql.result:
        Testcase for BUG#21077
      mysql-test/t/innodb_mysql.test:
        Testcase for BUG#21077
      sql/opt_range.h:
        BUG#21077: Possible crash caused by invalid sequence of handler::* calls:                                              
         - Make QUICK_SELECT::reset() really reset the quick select
      9907e970
    • unknown's avatar
      Merge mskold@bk-internal.mysql.com:/home/bk/mysql-4.1 · 80684559
      unknown authored
      into  mysql.com:/windows/Linux_space/MySQL/mysql-4.1
      
      
      80684559
    • unknown's avatar
      ndb_lock.test, ndb_lock.result: · 87b7363c
      unknown authored
        bug #18184  SELECT ... FOR UPDATE does not work..: New test case
      ha_ndbcluster.h, ha_ndbcluster.cc, NdbConnection.hpp:
        Fix for bug #21059  Server crashes on join query with large dataset with NDB tables: Releasing operation for each intermediate batch, before next call to trans->execute(NoCommit);
      
      
      mysql-test/r/ndb_lock.result:
        bug #18184  SELECT ... FOR UPDATE does not work..: New test case
      mysql-test/t/ndb_lock.test:
        bug #18184  SELECT ... FOR UPDATE does not work..: New test case
      ndb/include/ndbapi/NdbConnection.hpp:
        Fix for bug #21059  Server crashes on join query with large dataset with NDB tables: Releasing operation for each intermediate batch, before next call to trans->execute(NoCommit);
      sql/ha_ndbcluster.cc:
        Fix for bug #21059  Server crashes on join query with large dataset with NDB tables: Releasing operation for each intermediate batch, before next call to trans->execute(NoCommit);
      sql/ha_ndbcluster.h:
        Fix for bug #21059  Server crashes on join query with large dataset with NDB tables: Releasing operation for each intermediate batch, before next call to trans->execute(NoCommit);
      87b7363c
    • unknown's avatar
      Fix for bug #20695: Charset introducer overrides charset definition for column. · fe3dee06
      unknown authored
        - if there are two character set definitions in the column declaration,
          we replace the first one with the second one as we store both in the LEX->charset
          slot. Add a separate slot to the LEX structure to store underscore charset.
        - convert default values to the column charset of STRING, VARSTRING fields 
          if necessary as well.
      
      
      mysql-test/r/ctype_recoding.result:
        Fix for bug #20695: Charset introducer overrides charset definition for column.
          - test result.
      mysql-test/t/ctype_recoding.test:
        Fix for bug #20695: Charset introducer overrides charset definition for column.
          - test case.
      sql/sql_lex.cc:
        Fix for bug #20695: Charset introducer overrides charset definition for column.
          - LEX->underscore_charset introduced to store UNDERSCORE_CHARSET
      sql/sql_lex.h:
        Fix for bug #20695: Charset introducer overrides charset definition for column.
          - LEX->underscore_charset introduced to store UNDERSCORE_CHARSET
      sql/sql_table.cc:
        Fix for bug #20695: Charset introducer overrides charset definition for column.
          - convert default values to the column charset of VARSTRING, STRING, ENUM, 
            SET fields if necessary.
      sql/sql_yacc.yy:
        Fix for bug #20695: Charset introducer overrides charset definition for column.
          - LEX->underscore_charset introduced to store UNDERSCORE_CHARSET
      fe3dee06
    • unknown's avatar
      Merge mysql.com:/usr/home/bar/mysql-4.1 · 73c1453e
      unknown authored
      into  mysql.com:/usr/home/bar/mysql-4.1.b17939
      
      
      client/mysql.cc:
        Auto merged
      73c1453e
  11. 14 Aug, 2006 6 commits
  12. 11 Aug, 2006 4 commits
    • unknown's avatar
      Bug #20536: md5() with GROUP BY and UCS2 return different results on myisam/innodb · 3212b399
      unknown authored
      Make the encryption functions MD5(), SHA1() and ENCRYPT() return binary results.
          
      Make MAKE_SET() and EXPORT_SET() use the correct character set for their default separator strings.
      
      
      mysql-test/r/ctype_ucs.result:
        Add tests for bug #20536.
      mysql-test/t/ctype_ucs.test:
        Add tests for bug #20536.
        
        Tests showing correct behavior for MD5(), SHA1(), MAKE_SET() and EXPORT_SET().
        
        Also, tests showing incorrect behavior, which will remain "Won't fix", for
        PASSWORD(), OLD_PASSWORD(), ENCRYPT() and QUOTE().
      sql/item_strfunc.cc:
        Make the encryption functions MD5(), SHA1() and ENCRYPT() return binary results.
        
        Make MAKE_SET() and EXPORT_SET() use the correct character set for their default separator strings.
      sql/item_strfunc.h:
        Make the encryption functions MD5(), SHA1() and ENCRYPT() return binary results.
      3212b399
    • unknown's avatar
      Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1 · 49591aa3
      unknown authored
      into  mysql.com:/usr/home/bar/mysql-4.1.b15276
      
      
      49591aa3
    • unknown's avatar
      mysqld --collation-server=xxx --character-set-server=yyy · edc8900b
      unknown authored
      didn't work as expected: collation_server was set not to xxx,
      but to the default collation of character set "yyy".
          
      With different argument order it worked as expected:
      mysqld --character-set-server=yyy --collation-server=yyy 
          
      Fix:
      initializate default_collation_name to 0
      when processing --character-set-server
      only if --collation-server has not been specified
      in command line.
      
      
      mysql-test/r/ctype_ucs2_def.result:
        Adding test cast
      mysql-test/t/ctype_ucs2_def-master.opt:
        Adding test case
      mysql-test/t/ctype_ucs2_def.test:
        Adding test case
      sql/mysqld.cc:
        Don't clear default_collation_name when processing 
        --character-set-server if collation has already
        been specified using --collation-server
      edc8900b
    • unknown's avatar
      Bug#7192 Specify --with-collation doesn't work for connections? · 256ac388
      unknown authored
      --with-collation worked only on the server side.
      Client side ignored this argument, so collation_connection
      was not properly set (remained latin1_swedish_ci).
      
      
      
      sql-common/client.c:
        - Take into account MYSQL_DEFAULT_COLLATION_NAME if
        character set is not set using mysql_option(), to
        honor --with-collation argument to configure.
        - Use default collation for the character set when it's
        not set using mysql_option().
      256ac388
  13. 10 Aug, 2006 2 commits
    • unknown's avatar
      Bug#19844: time_format in Union truncates values · fa1641e1
      unknown authored
      time_format() claimed %H and %k would return at most two digits
      (hours 0-23), but this coincided neither with actual behaviour
      nor with docs.  this is not visible in simple queries; forcing
      a temp-table is probably the easiest way to see this.  adjusted
      the return-length appropriately; the alternative would be to
      adjust the docs to say that behaviour for > 99 hours is undefined.
      ---
      Bug#19844: time_format in Union truncates values
      
      time_format() claimed %H and %k would return at most two digits
      (hours 0-23), but this coincided neither with actual behaviour
      nor with docs.  this is not visible in simple queries; forcing
      a temp-table is probably the easiest way to see this.  adjusted
      the return-length appropriately; the alternative would be to
      adjust the docs to say that behaviour for > 99 hours is undefined.
      
      
      mysql-test/r/func_time.result:
        Bug#19844: time_format in Union truncates values
        
        show time_format() handles %H and %k correctly four > 99 hours
      mysql-test/t/func_time.test:
        Bug#19844: time_format in Union truncates values
        
        show time_format() handles %H and %k correctly four > 99 hours
      sql/item_timefunc.cc:
        Bug#19844: time_format in Union truncates values
        
        unbreak promises we make about field-length of %H and %k in
        time_format() so they coincide with the actual range rather
        than just 0..23. the docs say we must operate outside that
        range, so we'd better do it right.
        ---
        Bug#19844: time_format in Union truncates values
        
        unbreak promises we make about field-length of %H and %k in
        time_format() so they coincide with the actual range rather
        than just 0..23. the docs say we must operate outside that
        range, so we'd better do it right.
        One digit values are padded to two digits with %H, "longer"
        values are handled correctly up to seven digits including
        any sign.
        (clarified comments as per jimw's suggestion.)
      fa1641e1
    • unknown's avatar
      Fix for bug #20709: Collation not used in group by on 4.1. · bfdbb780
      unknown authored
      myisam/mi_uniue.c:mi_check_unique() should skip trailing spaces comparing 
      TEXT and VARTTEXT key segments.
      
      
      myisam/mi_unique.c:
        Fix for bug #20709: Collation not used in group by on 4.1.    
        
        myisam/mi_uniue.c:mi_check_unique() should skip trailing spaces comparing 
        TEXT and VARTTEXT key segments.
          
        Example: assume, we have a 'char(200) collate utf8_unicode_ci' field,
        there are two records with _utf8"0x65" and _utf8"0xC3A9" characters;
        these values are equal according
        to the utf8_unicode_ci collation, but two 600 byte length corresponding keys:  
        "0x65<0x20 repeats 599 times>" and "0xC3A9<0x20 repeats 598 times>" are not    
        equal if we count trailing spaces and it may cause inconsequent behavior.
        
        So, let's pass 1 as the skip_end_space parameter value to the mi_compare_text()
        function for proper TEXT and VARTTEXT key segments comparison.
      mysql-test/r/ctype_utf8.result:
        Fix for bug #20709: Collation not used in group by on 4.1.    
          - test results.
      mysql-test/t/ctype_utf8.test:
        Fix for bug #20709: Collation not used in group by on 4.1.    
          - test case.
      bfdbb780
  14. 09 Aug, 2006 3 commits
    • unknown's avatar
      Removed iggy's accidentally checked-in test files. · 70269a09
      unknown authored
      
      BitKeeper/deleted/.del-bug20328.test:
        Delete: mysql-test/t/bug20328.test
      BitKeeper/deleted/.del-bug20328.result:
        Delete: mysql-test/r/bug20328.result
      70269a09
    • unknown's avatar
      Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1 · 8f88400d
      unknown authored
      into  may.pils.ru:/home/svoj/devel/mysql/BUG20060/mysql-4.1
      
      
      8f88400d
    • unknown's avatar
      BUG#20060 - mysqld option "--flush " doesn't work for update statement · a2a5f2b5
      unknown authored
      Problem described in this bug report affects MyISAM tables only.
      
      Running mysqld --flush instructs mysqld to sync all changes to disk
      after each SQL statement. It worked well for INSERT and DELETE
      statements, but it did sync for UPDATE only in case if there was
      index change (change of colum that has an index). If no updated column
      has an index, data wasn't synced to disk.
      
      This fix makes UPDATE statement to sync data to disk even if there is
      no index change (that is only data change) and mysqld is run with
      --flush option.
      
      
      myisam/mi_update.c:
        Every myisam function that updates myisam table must end with
        call to _mi_writeinfo(). If operation (second param of
        _mi_writeinfo()) is not 0 it sets share->changed to 1, that is
        flags that data has changed. If operation is 0, this function
        equals to no-op in this case.
        
        mi_update() must always pass !0 value as operation, since even if
        there is no index change there could be data change.
      a2a5f2b5