1. 18 Apr, 2006 1 commit
  2. 14 Apr, 2006 2 commits
  3. 13 Apr, 2006 5 commits
    • unknown's avatar
      Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1 · f9cb6fbb
      unknown authored
      into  april.(none):/home/svoj/devel/mysql/BUG17917/mysql-4.1
      
      f9cb6fbb
    • unknown's avatar
      Fix a typo in the help message. · ba6a0575
      unknown authored
      
      sql/mysqld.cc:
        Fix a typo.
      ba6a0575
    • unknown's avatar
      Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1 · f8611293
      unknown authored
      into  april.(none):/home/svoj/devel/mysql/BUG17917/mysql-4.1
      
      f8611293
    • unknown's avatar
      BUG#17917 - SELECT from compressed MyISAM table crashes MySQL server · a118b6c6
      unknown authored
      Retrieving data from compressed MyISAM table which is bigger than 4G on 32-bit box
      with mmap() support results in server crash.
      
      mmap() accepts length of bytes to be mapped in second param, which is 32-bit
      size_t. But we pass data_file_length, which is 64-bit my_off_t. As a result only
      first data_file_length % 4G were mapped.
      
      This fix adds additional condition for mmap() usage, that is use mmap() for
      compressed table which size is no more than 4G on 32-bit platform.
      
      
      myisam/mi_packrec.c:
        Use mmap() for compressed table which size is no more than 4G on 32-bit platform.
      a118b6c6
    • unknown's avatar
      Bug#18691: Converting number to UNICODE string returns invalid result. · 64793f3f
      unknown authored
      Conversion from int and real numbers to UCS2 didn't work fine: 
      CONVERT(100, CHAR(50) UNICODE)
      CONVERT(103.9, CHAR(50) UNICODE)
      
      The problem appeared because numbers have binary charset, so,
      simple charset recast binary->ucs2 was performed
      instead of real conversion.
      
      Fixed to make numbers pretend to be non-binary.
      
      
      mysql-test/r/ctype_ucs.result:
        Adding test case
      mysql-test/t/ctype_ucs.test:
        Adding test case
      sql/item_timefunc.cc:
        Adding new member from_cs, to replace my_charset_bin
        to a non-binary charset when converting from numbers to UCS2
      sql/item_timefunc.h:
        Adding new member from_cs, to replace my_charset_bin
        to a non-binary charset when converting from numbers to UCS2
      64793f3f
  4. 12 Apr, 2006 1 commit
    • unknown's avatar
      Fixed bug#14169: type of group_concat() result changed to blob if tmp_table was · 9c2d7216
      unknown authored
      used
      
      In a simple queries a result of the GROUP_CONCAT() function was always of 
      varchar type.
      But if length of GROUP_CONCAT() result is greater than 512 chars and temporary
      table is used during select then the result is converted to blob, due to
      policy to not to store fields longer than 512 chars in tmp table as varchar
      fields.
      
      In order to provide consistent behaviour, result of GROUP_CONCAT() now
      will always be converted to blob if it is longer than 512 chars.
      Item_func_group_concat::field_type() is modified accordingly.
      
      
      mysql-test/t/func_gconcat.test:
        Added test case for bug#14169: type of group_concat() result changed to blob if tmp_table was used
      mysql-test/r/func_gconcat.result:
        Added test case for bug#14169: type of group_concat() result changed to blob if tmp_table was used
      sql/unireg.h:
        Added the CONVERT_IF_BIGGER_TO_BLOB constant
      sql/sql_select.cc:
        Fixed bug#14169: type of group_concat() result changed to blob if tmp_table was used
        The unnamed constant 255 in the create_tmp_field() and create_tmp_field_from_item() functions now defined as the CONVERT_IF_BIGGER_TO_BLOB constant.
        The create_tmp_field() function now converts the Item_sum string result to a blob field based on its char length.
      sql/item_sum.h:
        Fixed bug#14169: type of group_concat() result changed to blob if tmp_table was used
        To the Item_func_group_concat calls added the member function field_type() which returns the BLOB or VAR_STRING type based on the items length.
      sql/item_func.cc:
        Fixed bug#14169: type of group_concat() result changed to blob if tmp_table was used
        In the Item_func::tmp_table_field() function the unnamed constant 255 is changed to the CONVERT_IF_BIGGER_TO_BLOB constant.
        The Item_func::tmp_table_field() function now measures the result length in chars rather than bytes when converting string result to a blob.
      9c2d7216
  5. 11 Apr, 2006 7 commits
  6. 10 Apr, 2006 4 commits
  7. 08 Apr, 2006 3 commits
  8. 07 Apr, 2006 10 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1 · de895a44
      unknown authored
      into  mysql.com:/opt/local/work/mysql-4.1-16365
      
      
      sql/mysql_priv.h:
        Auto merged
      sql/sql_class.h:
        Auto merged
      mysql-test/r/ps.result:
        Manual merge
      mysql-test/t/ps.test:
        Manual merge
      de895a44
    • unknown's avatar
      A fix and a test case for Bug#16365 "Prepared Statements: DoS with · 90237744
      unknown authored
      too many open statements". The patch adds a new global variable
      @@max_prepared_stmt_count. This variable limits the total number
      of prepared statements in the server. The default value of
      @@max_prepared_stmt_count is 16382. 16382 small statements
      (a select against 3 tables with GROUP, ORDER and LIMIT) consume 
      100MB of RAM. Once this limit has been reached, the server will 
      refuse to prepare a new statement and return ER_UNKNOWN_ERROR 
      (unfortunately, we can't add new errors to 4.1 without breaking 5.0). The limit is changeable after startup
      and can accept any value from 0 to 1 million. In case
      the new value of the limit is less than the current
      statement count, no new statements can be added, while the old
      still can be used. Additionally, the current count of prepared 
      statements is now available through a global read-only variable 
      @@prepared_stmt_count.
      
      
      mysql-test/r/ps.result:
        Test results fixed (a test case for Bug#16365)
      mysql-test/t/ps.test:
        A test case for Bug#16365 "Prepared Statements: DoS with too many 
        open statements". Also fix statement leaks in other tests.
      sql/mysql_priv.h:
        Add declarations for new global variables.
      sql/mysqld.cc:
        Add definitions of max_prepared_stmt_count, prepared_stmt_count.
      sql/set_var.cc:
        Implement support for @@prepared_stmt_count and 
        @@max_prepared_stmt_count. Currently these variables are queried
        without acquiring LOCK_prepared_stmt_count due to limitations of
        the set_var/sys_var class design. Updates are, however, protected 
        with a lock.
      sql/set_var.h:
        New declarations to add support for @@max_prepared_stmt_count.
        Implement a new class, where the lock to be used when updating
        a variable is a parameter.
      sql/sql_class.cc:
        Add accounting of the total number of prepared statements in the
        server to the methods of Statement_map.
      sql/sql_class.h:
        Add accounting of the total number of prepared statements in the
        server to the methods of Statement_map.
      sql/sql_prepare.cc:
        Statement_map::insert will now send a message in case of an
        error.
      90237744
    • unknown's avatar
      Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-4.1 · 236ecc3d
      unknown authored
      into mysql.com:/M41/mtr-4.1
      
      236ecc3d
    • unknown's avatar
      A fix and a test case for Bug#16248 "WHERE (col1,col2) IN ((?,?)) · 4ed90726
      unknown authored
      gives wrong results". Implement previously missing 
      Item_row::cleanup. The bug is not repeatable in 5.0, probably 
      due to a coincidence: the problem is present in 5.0 as well.
      
      
      mysql-test/r/ps.result:
        Update the result file (Bug#16248)
      mysql-test/t/ps.test:
        Add a test case for Bug#16248 "WHERE (col1,col2) IN ((?,?)) gives 
        wrong results"
      sql/item_row.cc:
        Implement Item_row::cleanup(): we should reset used_tables_cache
        before reexecution of a prepared statement. In case ROW
        arguments contain a placeholder, used_tables_cache has PARAM_TABLE
        bit set in statement prepare. As a result, when executing a statement,
        the condition push down algorithm (make_cond_for_table) would think
        that the WHERE clause belongs to the non-existent PARAM_TABLE and
        wouldn't attach the WHERE clause to any of the real tables, 
        effectively optimizing the clause away.
      sql/item_row.h:
        Remove a never used member 'array_holder'. Add declaration for
        Item_row::cleanup.
      4ed90726
    • unknown's avatar
      Manual merge. · 14806810
      unknown authored
      14806810
    • unknown's avatar
      mysql-test/mysql-test-run.sh : Provide info about the options used. · cc5e1b77
      unknown authored
      
      mysql-test/mysql-test-run.sh:
        Provide info about the options used for this run to any evaluation tool.
      cc5e1b77
    • unknown's avatar
      mysql-test/mysql-test-run.pl : Add option "with-ndbcluster-only" (ignored). · 0a2d25d7
      unknown authored
      
      mysql-test/mysql-test-run.pl:
        Add option "with-ndbcluster-only" (ignored) for compatibility with newer "Do-compile".
      0a2d25d7
    • unknown's avatar
      Perl test script: Avoid some aborts, which made the whole build/test process terminate. · 08d1ea4e
      unknown authored
      
      mysql-test/lib/mtr_process.pl:
        Change from "mtr_error()" to "mtr_warning()" on some problems,
        because "error" makes the whole suite abort which then makes "Do-compile" terminate,
        so none of the following steps (including other etst suites) will be done.
      08d1ea4e
    • unknown's avatar
      mysql-test/mysql-test-run.sh : Add option "--with-ndbcluster-only" (backport from 5.1) · 7d66c3d9
      unknown authored
      
      mysql-test/mysql-test-run.sh:
        Manual merge from 4.0 (which was a 5.1 backport):
        "--with-ndbcluster" is already present,
        "--with-ndbcluster-only" is really usable here.
      7d66c3d9
    • unknown's avatar
      Merge perch.ndb.mysql.com:/home/jonas/src/mysql-4.1 · c35d2656
      unknown authored
      into  perch.ndb.mysql.com:/home/jonas/src/41-work
      
      c35d2656
  9. 06 Apr, 2006 6 commits
    • unknown's avatar
      Backport of 5.1 test options "--with-ndbcluster" and "--with-ndbcluster-only" as dummies (ignored). · 818138f1
      unknown authored
      
      mysql-test/mysql-test-run.sh:
        Make "mysql-test-run.sh" accept (and ignore) the options "--with-ndbcluster" 
        and "--with-ndbcluster-only".
        This is necessary because newer build tools will issue them, and the test 
        script should tolerate that.
        Backport from 5.1 (Tomas Ulin, 2006-01-17)
      818138f1
    • unknown's avatar
      ndb - bug#18612 - post review fixes · 1a12de71
      unknown authored
        1) make sure that check_multi_node_shutdown does not proceed (in stop case)
        2) Fix printout
      
      
      ndb/src/kernel/blocks/qmgr/Qmgr.hpp:
        make sure that check_multi_node_shutdown does not proceed (in stop case)
      ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
        make sure that check_multi_node_shutdown does not proceed (in stop case)
      1a12de71
    • unknown's avatar
      BUG#18833 valgrind: Mismatched free()/delete/delete[] in SimBlockList · 50bb313d
      unknown authored
      
      ndb/src/kernel/SimBlockList.cpp:
        NEW_BLOCK allocates the elements with new, we should free them with delete
        but only if we're not building with VM_TRACE
      50bb313d
    • unknown's avatar
      libmysql.c: · 82c1be05
      unknown authored
        Bug#18830: incompatibility new libraries with old server
        Don't execute SET NAMES with pre-4.1 server.
      
      
      libmysql/libmysql.c:
        Bug#18830: incompatibility new libraries with old server
        Don't execute SET NAMES with pre-4.1 server.
      82c1be05
    • unknown's avatar
      This problem has already been fixed by one of the previous changes. · 6423230d
      unknown authored
      Adding test case to cover queries which worked incorrectly earlier:
      Bug#18321: Can't store EuroSign with latin1_german1_ci and latin1_general_ci
      
      
      mysql-test/r/ctype_latin1.result:
        Adding test case for Bug#18321: Can't store EuroSign with latin1_german1_ci and latin1_general_ci
      mysql-test/t/ctype_latin1.test:
        Adding test case for Bug#18321: Can't store EuroSign with latin1_german1_ci and latin1_general_ci
      6423230d
    • unknown's avatar
      conf_to_src.c: · 56dba198
      unknown authored
        Backporting a 5.0 change:
        MAX_BUF was too small for Index.xml
        Changeing MAX_BUF and adding assert to easier
        catch the same problem in the future.
      ctype-extra.c:
        Regenerating ctype-extra.c with the fixed conf_to_src.
      
      
      strings/ctype-extra.c:
        Regenerating ctype-extra.c with the fixed conf_to_src.
      strings/conf_to_src.c:
        Backporting a 5.0 change:
        MAX_BUF was too small for Index.xml
        Changeing MAX_BUF and adding assert to easier
        catch the same problem in the future.
      56dba198
  10. 03 Apr, 2006 1 commit
    • unknown's avatar
      ndb - · 1dc85e36
      unknown authored
        fix testprogam if only 1 node group
      
      
      ndb/test/ndbapi/testNodeRestart.cpp:
        fix testprogam if only 1 node group
      1dc85e36