1. 27 Jul, 2006 1 commit
    • unknown's avatar
      BUG#21206: memory corruption when too many cursors are opened at once · 7dbd43b1
      unknown authored
      Too many cursors (more than 1024) could lead to memory corruption.
      This affects both, stored routines and C API cursors, and the
      threshold is per-server, not per-connection.  Similarly, the
      corruption could happen when the server was under heavy load
      (executing more than 1024 simultaneous complex queries), and this is
      the reason why this bug is fixed in 4.1, which doesn't support
      cursors.
      
      The corruption was caused by a bug in the temporary tables code, when
      an attempt to create a table could lead to a write beyond allocated
      space.  Note, that only internal tables were affected (the tables
      created internally by the server to resolve the query), not tables
      created with CREATE TEMPORARY TABLE.  Another pre-condition for the
      bug is TRUE value of --temp-pool startup option, which, however, is a
      default.
      
      The cause of a bug was that random memory was overwritten in
      bitmap_set_next() due to out-of-bound memory access.
      
      
      mysys/my_bitmap.c:
        Local 'bitmap_size' is measured in bytes, no need to multiply it by 8.
      sql/sql_select.cc:
        Clear the temp_pool_slot bit only if we have set it previously.
      tests/mysql_client_test.c:
        Add test case for bug#21206: memory corruption when too many cursors
        are opened at once.
      7dbd43b1
  2. 25 Jul, 2006 2 commits
    • unknown's avatar
      "mysql-test-run.pl" must write a "Logging:" line for the evaluation of RPM build tests. · b0b0c8cc
      unknown authored
          (Re-apply a patch from the general tree to the clone.)
      
      
      mysql-test/mysql-test-run.pl:
        "mysql-test-run.pl" must write a "Logging:" line for the evaluation of RPM build tests.
        (Re-apply a patch from the general tree to the clone.)
      b0b0c8cc
    • unknown's avatar
      slave.cc: · cd64ea0e
      unknown authored
            BUG#20850: Assert during slave shutdown in many rpl_* tests
            This patch has already been applied to 5.1.
      
      
      sql/slave.cc:
            BUG#20850: Assert during slave shutdown in many rpl_* tests
            This patch has already been applied to 5.1.
      cd64ea0e
  3. 22 Jul, 2006 1 commit
    • unknown's avatar
      mysqlmanager.vcproj: · b15e6273
      unknown authored
        Place mysqlmanager 'pdb' file in 'client_debug' directory
      mysys.vcproj:
        Removed define of __NT__ from 'Debug' target
      mysqld.vcproj:
        Always generate 'pdb' and 'map' files
      
      
      server-tools/instance-manager/mysqlmanager.vcproj:
        Place mysqlmanager 'pdb' file in 'client_debug' directory
      VC++Files/mysys/mysys.vcproj:
        Removed define of __NT__ from 'Debug' target
      VC++Files/sql/mysqld.vcproj:
        Always generate 'pdb' and 'map' files
      b15e6273
  4. 21 Jul, 2006 1 commit
  5. 19 Jul, 2006 2 commits
    • unknown's avatar
      A fix and a test case for Bug#21002 "Derived table not selecting from a · 0fa250a9
      unknown authored
      "real" table fails in JOINs".
      
      This is a regression caused by the fix for Bug 18444. 
      This fix removed the assignment of empty_c_string to table->db performed 
      in add_table_to_list, as neither me nor anyone else knew what it was 
      there for. Now we know it and it's covered with tests: the only case 
      when a table database name can be empty is when the table is a derived 
      table. The fix puts the assignment back but makes it a bit more explicit.
      
      Additionally, finally drop sp.result.orig which was checked in by mistake. 
      
      
      BitKeeper/deleted/.del-sp.result.orig:
        Delete: mysql-test/r/sp.result.orig
      mysql-test/r/derived.result:
        Updated result file.
      mysql-test/r/sp.result:
        Test results fixed (Bug#21002)
      mysql-test/t/derived.test:
        New error return for the case when MULTI-DELETE tries to delete from
        a derived table: now derived tables belong to their own db (""), and
        MUTLI-DELETE can't find the correspondent table for it in the 
        DELETE list, as it can't resolve tables in different dbs by alias
        (See Bug#21148 for details)
      mysql-test/t/sp.test:
        Add a test case for Bug#21002 "Derived table not selecting from a "real"
         table fails in JOINs"
      sql/sp.cc:
        Make empty_c_string globally accessible.
      sql/sql_class.cc:
        Add empty_c_string definition.
      sql/sql_class.h:
        Add a comment for the constructor of Table_ident which is
        used for derived tables. Make sure this constructor also initializes
        the database name, not only the table name.
      sql/sql_parse.cc:
        Don't call check_db_name for empty database. 
        Currently the only case when a table database name can be empty
        is when the table is a derived table.
        Report the right error if the database name is wrong (ER_WRONG_DB_NAME,
        not ER_WRONG_TABLE_NAME).
      0fa250a9
    • unknown's avatar
      Bug#20989: View '(null).(null)' references invalid table(s)... on SQL SECURITY INVOKER · c1851446
      unknown authored
      REPLACE ... SELECT would require INSERT privileges on certain tables
      when SELECT really suffices. Require INSERT only on target table.
      
      
      mysql-test/r/insert_select.result:
        Bug#20989: View '(null).(null)' references invalid table(s)... on SQL SECURITY INVOKER
        
        Show that REPLACE ... SELECT requires INSERT privileges only on target table.
        (revised test with more view-fu)
      mysql-test/t/insert_select.test:
        Bug#20989: View '(null).(null)' references invalid table(s)... on SQL SECURITY INVOKER
        
        Show that REPLACE ... SELECT requires INSERT privileges only on target table.
        (revised test with more view-fu)
      sql/sql_insert.cc:
        Bug#20989: View '(null).(null)' references invalid table(s)... on SQL SECURITY INVOKER
        
        require SELECT rather than INSERT privs on tables that constitute the views we'll read
      c1851446
  6. 17 Jul, 2006 1 commit
    • unknown's avatar
      Bug# 20221- Dumping of multiple databases containing view(s) yields maleformed dumps. · 674636e7
      unknown authored
      
      client/mysqldump.c:
        When dumping more than one database, make sure that the proper database is selected before restoring that database's views.
        Replaced hard-coded database name length with appropiate token.
      mysql-test/r/mysqldump.result:
        Added new result and corrected results for existing test cases.
      mysql-test/t/mysqldump.test:
        Added new case for dumping and restoring multiple databases each containing a view.
      674636e7
  7. 14 Jul, 2006 1 commit
    • unknown's avatar
      Bug#21014: Segmentation fault of mysqldump on view · 3d35522f
      unknown authored
      mysqldump did not select the correct database before trying to dump
      views from it. this resulted in an empty result set, which in turn
      startled mysql-dump into a core-dump.  this only happened for views,
      not for tables, and was only visible with multiple databases that
      weren't by sheer luck in the order mysqldump required, anyway. this
      fixes by selecting the correct database before dumping views; it also
      catches the empty set-condition if it should occur for other reasons.
      
      
      client/mysqldump.c:
        Bug#21014: Segmentation fault of mysqldump on view
        
        failsafe: if "select ... from information_schema.views" returns an
        empty set, don't deref NULL; throw an error instead.
        
        fix: select the correct database not only before dumping tables, but
        before dumping views, as well.
      mysql-test/r/mysqldump.result:
        Bug#21014: Segmentation fault of mysqldump on view
        
        show that mysqldump selects the correct database before trying to dump
        views from it.
      mysql-test/t/mysqldump.test:
        Bug#21014: Segmentation fault of mysqldump on view
        
        show that mysqldump selects the correct database before trying to dump
        views from it.
      3d35522f
  8. 10 Jul, 2006 4 commits
  9. 04 Jul, 2006 3 commits
  10. 03 Jul, 2006 5 commits
    • unknown's avatar
      Bug#20783: Valgrind uninitialised warning in test case ctype_uca · c3ef0267
      unknown authored
        
      Two functions have different ideas of what a string should look like;
      one of them reads memory it assumes the other one may have written.
      And "if you assume ..."
        
      We now use a more defensive variety of the assuming function, this fixes
      a warning thrown by the valgrind tool.
      
      
      sql/item_cmpfunc.cc:
        c_ptr() makes incorrect assumptions about the string we get from
        out of args[0]->val_str(&tmp); c_str_safe() is more defensive.
      c3ef0267
    • unknown's avatar
      client.c: · e34b9cfb
      unknown authored
        Define 'mysql_get_ssl_cipher' even if no SSL built in, it is referenced in libmysql.def
      
      
      sql-common/client.c:
        Define 'mysql_get_ssl_cipher' even if no SSL built in, it is referenced in libmysql.def
      e34b9cfb
    • unknown's avatar
      Merge mysqldev@production.mysql.com:my/mysql-5.0-release · 3702ae2d
      unknown authored
      into mysql.com:/Users/kent/mysql/bk/mysql-5.0-release
      
      
      3702ae2d
    • unknown's avatar
      mwldnlm, mwccnlm, mwasmnlm: · 9ecc01a9
      unknown authored
        Use Perl for filtering, do more filtering
      
      
      netware/BUILD/mwasmnlm:
        Use Perl for filtering, do more filtering
      netware/BUILD/mwccnlm:
        Use Perl for filtering, do more filtering
      netware/BUILD/mwldnlm:
        Use Perl for filtering, do more filtering
      9ecc01a9
    • unknown's avatar
      Makefile.am: · 97c21888
      unknown authored
        Avoid duplicate symbol errors on Netware
      mwldnlm, mwccnlm, mwasmnlm:
        Filter garbage characters from output
      
      
      netware/BUILD/mwasmnlm:
        Filter garbage characters from output
      netware/BUILD/mwccnlm:
        Filter garbage characters from output
      netware/BUILD/mwldnlm:
        Filter garbage characters from output
      tests/Makefile.am:
        Avoid duplicate symbol errors on Netware
      97c21888
  11. 01 Jul, 2006 2 commits
    • unknown's avatar
      mysqld.vcproj: · 84e72c2b
      unknown authored
        Don't define __NT__ for 'Max' target
      
      
      VC++Files/sql/mysqld.vcproj:
        Don't define __NT__ for 'Max' target
      84e72c2b
    • unknown's avatar
      my_sys.h: · 805e8554
      unknown authored
        Added missing parameter type change for _my_strdup_with_length()
      
      
      include/my_sys.h:
        Added missing parameter type change for _my_strdup_with_length()
      805e8554
  12. 30 Jun, 2006 6 commits
    • unknown's avatar
      Manual transfer of the following changeset into the 5.0.23 release clone: · 2b380332
      unknown authored
         1.2525 06/06/30 18:29:27 monty@mysql.com +3 -0
         Reverted wrong bug fix (Bug#11228)
      
      
      mysql-test/r/key.result:
        Manual transfer of the following fix into the 5.0.23 release clone:
           1.27 06/06/30 18:29:25 monty@mysql.com +9 -1
           Fixed result after removing wrong bug fix
      mysql-test/t/key.test:
        Manual transfer of the following fix into the 5.0.23 release clone:
           1.24 06/06/30 18:29:25 monty@mysql.com +1 -0
           Added SHOW CREATE TABLE, which is the proper way to check for table definitions
      sql/table.cc:
        Manual transfer of the following fix into the 5.0.23 release clone:
           1.135 06/06/30 18:29:25 monty@mysql.com +21 -0
           Reverted wrong bug fix.   ...
      2b380332
    • unknown's avatar
      manual merge, patch only relevant for 4.1 · c8ddbe6d
      unknown authored
      c8ddbe6d
    • unknown's avatar
      adopted ndb handler code for tables without primary key and with unique index · 437afbfd
      unknown authored
      - added missing retrieval of hidden primary key
      
      
      437afbfd
    • unknown's avatar
      Merge mysqldev@production.mysql.com:my/mysql-5.0-release · 4a6a237f
      unknown authored
      into  mysql.com:/usr/local/mysql/mysql-5.0-release
      
      
      4a6a237f
    • unknown's avatar
      BUG#20769: Dangling pointer in ctype_recoding test case. · d9cb536a
      unknown authored
      In some functions dealing with strings and character sets, the wrong
      pointers were saved for restoration in THD::rollback_item_tree_changes().
      This could potentially cause random corruption or crashes.
      
      Fixed by passing the original Item ** locations, not local stack copies.
      
      Also remove unnecessary use of default arguments.
      
      
      sql/item.cc:
        Function agg_item_charsets() now handles non-consequtive Item *'s.
      sql/item.h:
        Remove use of default argument.
      sql/item_cmpfunc.cc:
        Remove use of default argument.
      sql/item_func.cc:
        Remove use of default argument.
      sql/item_func.h:
        Function agg_item_charsets() now handles non-consequtive Item *'s.
      sql/item_strfunc.cc:
        Pass original Item **'s to agg_arg_charsets(), not local copies, to ensure
        proper restoration in THD::rollback_item_tree_changes().
      sql/item_sum.cc:
        Remove use of default argument.
      d9cb536a
    • unknown's avatar
      mysql.spec.sh: · b76a6873
      unknown authored
        Disable old RPM strip
      my_global.h:
        Fixed wrong cast, which caused problems with gcc 4.0 and
        floats in prepared statements (Bug #19694)
      mysqlmanager.vcproj:
        Place output files in common release/debug directory
      
      
      server-tools/instance-manager/mysqlmanager.vcproj:
        Place output files in common release/debug directory
      include/my_global.h:
        Fixed wrong cast, which caused problems with gcc 4.0 and
        floats in prepared statements (Bug #19694)
      support-files/mysql.spec.sh:
        Disable old RPM strip
      b76a6873
  13. 29 Jun, 2006 11 commits