1. 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
  2. 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
  3. 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
  4. 10 Jul, 2006 4 commits
  5. 04 Jul, 2006 3 commits
  6. 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
  7. 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
  8. 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
  9. 29 Jun, 2006 13 commits
  10. 28 Jun, 2006 3 commits
    • unknown's avatar
      A fix for Bug#19022 "Memory bug when switching db during trigger execution". · 88843709
      unknown authored
      No test case as the bug is in an existing test case (rpl_trigger.test
      when it is run under valgrind).
      The warning was caused by memory corruption in replication slave: thd->db
      was pointing at a stack address that was previously used by 
      sp_head::execute()::old_db. This happened because mysql_change_db
      behaved differently in replication slave and did not make a copy of the 
      argument to assign to thd->db. 
      The solution is to always free the old value of thd->db and allocate a new
      copy, regardless whether we're running in a replication slave or not.
      
      
      sql/log_event.cc:
        Move rewrite_db to log_event.cc, the only place where it is used.
      sql/slave.cc:
        Move rewrite_db to log_event.cc
      sql/slave.h:
        Remove an unneeded declaration.
      sql/sql_class.h:
        Fix set_db to always free the old db, even if the argument is NULL.
        Add a comment.
      sql/sql_db.cc:
        Always make a deep copy of the argument in mysql_change_db, even 
        if running in a replication slave. This is necessary because 
        sp_use_new_db (stored procedures) assumes that mysql_change_db always makes
        a deep copy of the argument, and thus passes a pointer to stack into it.
        This assumption was true for all cases except the replication slave thread.
      88843709
    • unknown's avatar
      BUG #19773 · 9016a6be
      unknown authored
      Pushbuild fixes to result file, test, and header file for federated.
      
      
      mysql-test/r/federated.result:
        BUG #19773
        
        Pushbuild fixes - result file had hard-coded port
      mysql-test/t/federated.test:
        BUG #19773
        
        Pushbuild fixes Test was missing --replace_result
      sql/ha_federated.h:
        BUG #19773
        
        HPUX and Windows failed with variable named row and *row in method declaration
      9016a6be
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-5.0-runtime · d127fa3b
      unknown authored
      into  mysql.com:/home/jimw/my/mysql-5.0-18005
      
      
      sql/sql_trigger.cc:
        Auto merged
      d127fa3b