1. 25 Aug, 2006 1 commit
    • unknown's avatar
      Bug#21543: 5.0.24 breaks ABI compatibility for python bindings: \ · 889812fd
      unknown authored
      	InterfaceError on connect
      
      Removed the bool flag from the st_mysql_options struct, since it adds 
      another word in size to the memory size and shifts member memory locations
      down, both of which break binary-interface compatibility.
      
      Instead, use a flag, 2**30, in the client_options bit-field to represent
      that the client should check the SSL certificate of the server.
      
      
      include/mysql.h:
        Do not change the struct size.
      include/mysql_com.h:
        Add a new bit-flag for client verifying server SSL certificate.
        
        Emphasize that we're not stepping on anyone else's bit/toes.
      sql-common/client.c:
        Set and read the bit-field for client-side SSL-cert checking of the server.
      889812fd
  2. 27 Jul, 2006 1 commit
    • unknown's avatar
      BUG#21206: memory corruption when too many cursors are opened at once · 23f3dd1d
      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.
      23f3dd1d
  3. 25 Jul, 2006 2 commits
    • unknown's avatar
      "mysql-test-run.pl" must write a "Logging:" line for the evaluation of RPM build tests. · 5bbc62d8
      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.)
      5bbc62d8
    • unknown's avatar
      slave.cc: · e902dc6f
      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.
      e902dc6f
  4. 22 Jul, 2006 1 commit
    • unknown's avatar
      mysqlmanager.vcproj: · 03aff015
      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
      03aff015
  5. 21 Jul, 2006 1 commit
  6. 19 Jul, 2006 2 commits
    • unknown's avatar
      A fix and a test case for Bug#21002 "Derived table not selecting from a · daba0ba1
      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).
      daba0ba1
    • unknown's avatar
      Bug#20989: View '(null).(null)' references invalid table(s)... on SQL SECURITY INVOKER · bad5a781
      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
      bad5a781
  7. 17 Jul, 2006 1 commit
    • unknown's avatar
      Bug# 20221- Dumping of multiple databases containing view(s) yields maleformed dumps. · 1c242b0e
      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.
      1c242b0e
  8. 14 Jul, 2006 1 commit
    • unknown's avatar
      Bug#21014: Segmentation fault of mysqldump on view · d512f22e
      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.
      d512f22e
  9. 10 Jul, 2006 4 commits
  10. 04 Jul, 2006 3 commits
  11. 03 Jul, 2006 5 commits
    • unknown's avatar
      Bug#20783: Valgrind uninitialised warning in test case ctype_uca · 207f01ae
      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.
      207f01ae
    • unknown's avatar
      client.c: · d85f52b6
      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
      d85f52b6
    • unknown's avatar
      Merge mysqldev@production.mysql.com:my/mysql-5.0-release · 6bbe0b5a
      unknown authored
      into mysql.com:/Users/kent/mysql/bk/mysql-5.0-release
      
      6bbe0b5a
    • unknown's avatar
      mwldnlm, mwccnlm, mwasmnlm: · 4c378e97
      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
      4c378e97
    • unknown's avatar
      Makefile.am: · 83a6c4ef
      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
      83a6c4ef
  12. 01 Jul, 2006 2 commits
    • unknown's avatar
      mysqld.vcproj: · 4f34a2da
      unknown authored
        Don't define __NT__ for 'Max' target
      
      
      VC++Files/sql/mysqld.vcproj:
        Don't define __NT__ for 'Max' target
      4f34a2da
    • unknown's avatar
      my_sys.h: · 8f01fba2
      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()
      8f01fba2
  13. 30 Jun, 2006 6 commits
    • unknown's avatar
      Manual transfer of the following changeset into the 5.0.23 release clone: · 6df652fb
      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.   ...
      6df652fb
    • unknown's avatar
      manual merge, patch only relevant for 4.1 · 0be05b03
      unknown authored
      0be05b03
    • unknown's avatar
      adopted ndb handler code for tables without primary key and with unique index · 8d294dde
      unknown authored
      - added missing retrieval of hidden primary key
      
      8d294dde
    • unknown's avatar
      Merge mysqldev@production.mysql.com:my/mysql-5.0-release · 28a47763
      unknown authored
      into  mysql.com:/usr/local/mysql/mysql-5.0-release
      
      28a47763
    • unknown's avatar
      BUG#20769: Dangling pointer in ctype_recoding test case. · 17c4a2ea
      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.
      17c4a2ea
    • unknown's avatar
      mysql.spec.sh: · ff2a1288
      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
      ff2a1288
  14. 29 Jun, 2006 10 commits