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
"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).
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
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.
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.
support-files/mysql.spec.sh:
Use the Perl script to run the tests, because it will automatically check
whether the server is configured with SSL.
(The shell script needs an explicit flag, and we cannot pass that though "make".)
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.
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
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
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
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. ...
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.
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
Re-apply a patch by Knielsen in the 5.0.23 build clone: Replace port number by "SLAVE_PORT".
mysql-test/r/federated.result:
Re-apply a patch by Knielsen in the 5.0.23 build clone: Replace port number by "SLAVE_PORT".
mysql-test/t/federated.test:
Re-apply a patch by Knielsen in the 5.0.23 build clone: Replace port number by "SLAVE_PORT".
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.
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
In the Windows build files, the "Max nt" configuration for some reason
had the mysql_client_test project disabled. Enable it.
VC++Files/mysql.sln:
The "Max nt" configuration for some reason had the mysql_client_test
project disabled. Enable it.
Improved definition of mysys configuration for -nt builds.
VC++Files/mysql.sln:
Use the name 'nt' instead of 'Release' for configuration.
VC++Files/mysys/mysys.vcproj:
Use the name 'nt' instead of 'Release' for configuration.
Use separate output files for NT and non-NT configurations.