- Fix typo in Item_func_export_set::fix_length_and_dec() which caused character set aggregation to fail
- Remove default argument from last arg of agg_arg_charsets() function, to reduce potential errors
mysql-test/r/func_misc.result:
Test EXPORT_SET() with charset coersion (bug #21531)
mysql-test/t/func_misc.test:
Test EXPORT_SET() with charset coersion (bug #21531)
sql/item_func.h:
Remove default argument from last arg of agg_arg_charsets() function, to reduce potential errors.
sql/item_strfunc.cc:
Fix typo in Item_func_export_set::fix_length_and_dec() which caused character set aggregation to fail.
Corrected test case for the bug#21261
sql_parse.cc:
Corrected fix for bug#21261
mysql-test/t/view.test:
Corrected test case for the bug#21261
mysql-test/r/view.result:
Corrected test case for the bug#21261
sql/sql_parse.cc:
Corrected fix for bug#21261
into siva.hindu.god:/usr/home/tim/m/bk/41
sql/item_strfunc.cc:
Auto merged
sql/item_strfunc.h:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
User name (host name) has limit on length. The server code relies on these
limits when storing the names. The problem was that sometimes these limits
were not checked properly, so that could lead to buffer overflow.
The fix is to check length of user/host name in parser and if string is too
long, throw an error.
mysql-test/r/grant.result:
Updated result file.
mysql-test/r/sp.result:
Updated result file.
mysql-test/r/trigger.result:
Updated result file.
mysql-test/r/view.result:
Updated result file.
mysql-test/t/grant.test:
Added test for BUG#16899.
mysql-test/t/sp.test:
Added test for BUG#16899.
mysql-test/t/trigger.test:
Added test for BUG#16899.
mysql-test/t/view.test:
Added test for BUG#16899.
sql/mysql_priv.h:
Added prototype for new function.
sql/share/errmsg.txt:
Added new resources.
sql/sql_acl.cc:
Remove outdated checks.
sql/sql_parse.cc:
Add a new function for checking string length.
sql/sql_yacc.yy:
Check length of user/host name.
into bk-internal.mysql.com:/data0/bk/mysql-5.1-wl3337
mysql-test/r/ps_1general.result:
Auto merged
sql/sp_head.cc:
Auto merged
sql/table.cc:
Auto merged
sql/table.h:
Auto merged
into lamia.home:/home/timka/mysql/src/5.0-bug-21456
mysql-test/r/distinct.result:
Merge the fix for BUG#21456
mysql-test/t/distinct.test:
Merge the fix for BUG#21456
sql/sql_select.cc:
Merge the fix for BUG#21456
should work in Prepared Statements. Post-review changeset.
Problem: There are some commands which are avaiable to be executed in SP
but cannot be prepared. This patch fixes this and makes it possible
prepare these statements.
Changes: The commands later are made available in PS. RESET has been forbidden
in SF/Trigger.
Solution: All current server commands where checked and those missing (see later)
we added. Tests for all of the commands with repeated executions were
added - testing with SP, SF and PS.
SHOW BINLOG EVENTS
SHOW (MASTER | SLAVE) STATUS
SHOW (MASTER | BINARY) LOGS
SHOW (PROCEDURE | FUNCTION) CODE (parsable only in debug builds)
SHOW CREATE (PROCEDURE | FUNCTION | EVENT | TABLE | VIEW)
SHOW (AUTHORS | CONTRIBUTORS | WARNINGS | ERRORS)
CHANGE MASTER
RESET (MASTER | SLAVE | QUERY CACHE)
SLAVE (START | STOP)
CHECKSUM (TABLE | TABLES)
INSTALL PLUGIN
UNINSTALL PLUGIN
CACHE INDEX
LOAD INDEX INTO CACHE
GRANT
REVOKE
KILL
(CREATE | RENAME | DROP) DATABASE
(CREATE | RENAME | DROP) USER
FLUSH (TABLE | TABLES | TABLES WITH READ LOCK | HOSTS | PRIVILEGES |
LOGS | STATUS | MASTER | SLAVE | DES_KEY_FILE | USER_RESOURCES)
mysql-test/r/ps.result:
update result
mysql-test/r/ps_1general.result:
update result
mysql-test/r/ps_grant.result:
update result
mysql-test/r/sp-dynamic.result:
update result
mysql-test/t/ps.test:
Add more statements, probably all currently missing which are possible in
a SP but not preparable.
Every statement is tested in a SP, in a SF and attempted to prepare.
mysql-test/t/ps_1general.test:
- Enable some of the statements, which are already possible in SP.
- 1295 -> ER_UNSUPPORTED_PS
mysql-test/t/ps_grant.test:
Enable statements already possible in SP.
sql/sp_head.cc:
- Reorder to keep some alphabet order.
- Add missing SHOW_SCHEDULER_STATUS.
sql/sql_prepare.cc:
Add possibility to prepare statements, which are already allowed in SP.
GROUP BY/DISTINCT pruning optimization must be done before ORDER BY
optimization because ORDER BY may be removed when GROUP BY/DISTINCT
sorts as a side effect, e.g. in
SELECT DISTINCT <non-key-col>,<pk> FROM t1
ORDER BY <non-key-col> DISTINCT
must be removed before ORDER BY as if done the other way around
it will remove both.
mysql-test/r/distinct.result:
Test for BUG#21456.
mysql-test/t/distinct.test:
Test for BUG#21456.
sql/sql_select.cc:
Bug #21456: SELECT DISTINCT(x) produces incorrect results when using order by
GROUP BY/DISTINCT pruning optimization must be done before ORDER BY
optimization because ORDER BY may be removed when GROUP BY/DISTINCT
sorts as a side effect.
into mysql.com:/home/cps/mysql/trees/mysql-5.1-virgin
sql/mysql_priv.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/table.cc:
Auto merged
sql/table.h:
Auto merged
sql/handler.cc:
manual merge
We need to use an arena to indicate we are preparing a statement when loading partition function and
parsing it as part of an open table.
mysql-test/r/partition.result:
Moved test case
mysql-test/t/partition.test:
Moved test case
sql/item.cc:
Shouldn't call change_item_tree in prepare statement phase even if arena was already activated
sql/sql_partition.cc:
We need to use an arena to indicate we are preparing a statement when loading partition function and
parsing it as part of an open table.
sql/table.cc:
We need to use an arena to indicate we are preparing a statement when loading partition function and
parsing it as part of an open table.
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
mysql-test/r/ndb_lock.result:
Auto merged
mysql-test/t/disabled.def:
Auto merged
mysql-test/t/ndb_lock.test:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
sql/ha_ndbcluster_binlog.cc:
Auto merged
storage/ndb/include/ndbapi/NdbTransaction.hpp:
Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.cpp:
Auto merged
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new
mysql-test/r/ndb_lock.result:
Auto merged
mysql-test/t/ndb_lock.test:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
storage/ndb/include/ndbapi/NdbTransaction.hpp:
Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
mysql-test/t/disabled.def:
merge
sql/ha_ndbcluster.cc:
merge
Converting BIT to a string (an intermediate step in conversion) does
not yield an ASCII numeric string, so we skip that step for BIT and
get the integer value directly from the item.
This site in sql/item_strfunc.cc may be ripe for refactoring for
other types as well, where converting to a string is a waste of time.
mysql-test/r/type_bit.result:
Test that conversion functions on BIT types work properly, including
NULL.
mysql-test/t/type_bit.test:
Test that conversion functions on BIT types work properly.
sql/item_strfunc.cc:
BIT is unlike the other numeric types, in that when we convert it
to a String, it becomes a one-byte string with ordinal numeric value
of the BIT field, not a several-byte string with the ASCII decimal
representation. As a special case for conversion functions, we take
the integer directly from the bit type instead of representing it
as a string in an intermediate step.
used.
Sorting by RAND() uses a temporary table in order to get a correct results.
User defined variable was set during filling the temporary table and later
on it is substituted for its value from the temporary table. Due to this
it contains the last value stored in the temporary table.
Now if the result_field is set for the Item_func_set_user_var object it
updates variable from the result_field value when being sent to a client.
The Item_func_set_user_var::check() now accepts a use_result_field
parameter. Depending on its value the result_field or the args[0] is used
to get current value.
mysql-test/r/user_var.result:
Added a test case for bug#16861: User defined variable can have a wrong value if a tmp table was used.
mysql-test/t/user_var.test:
Added a test case for bug#16861: User defined variable can have a wrong value if a tmp table was used.
sql/item_func.cc:
Fixed bug#16861: User defined variable can have a wrong value if a tmp table was used.
Now if the result_field is set for the Item_func_set_user_var object it
updates variable from the result_field value when being sent to a client.
The Item_func_set_user_var::check() now accepts a use_result_field
parameter. Depending on its value the result_field or the args[0] is used
to get current value.
sql/item_func.h:
Fixed bug#16861: User defined variable can have a wrong value if a tmp table was used.
Added a new SUSERVAR_FUNC function type.
Updated the Item_func_set_user_var::check() function declaration.
Added the Item_func_set_user_var::send() member function.
sql/set_var.cc:
Fixed bug#16861: User defined variable can have a wrong value if a tmp table was used.
Modified to use updated Item_func_set_user_var::check() function.
sql/sql_class.cc:
Fixed bug#16861: User defined variable can have a wrong value if a tmp table was used.
Modified to use updated Item_func_set_user_var::check() function.
sql/sql_select.cc:
Fixed bug#16861: User defined variable can have a wrong value if a tmp table was used.
Now an Item_func_set_user_var object isn't substituted for an Item_field object after filling a temporary table.
when X.509 subject was required for a connect, we tested whether it was the right
one, but did not refuse the connexion if not. fixed.
(corrected CS now --replace_results socket-path)
mysql-test/r/openssl_1.result:
Bug#20411: "GRANT ... REQUIRE ISSUER nnn AND SUBJECT mmm" fails to require both
test not only whether we can connect with a correct X.509 subject when one is
required, but also assure that we can't without one.
mysql-test/t/openssl_1.test:
Bug#20411: "GRANT ... REQUIRE ISSUER nnn AND SUBJECT mmm" fails to require both
test not only whether we can connect with a correct X.509 subject when one is
required, but also assure that we can't without one.
sql/sql_acl.cc:
Bug#20411: "GRANT ... REQUIRE ISSUER nnn AND SUBJECT mmm" fails to require both
actually refuse connexion if X.509 is required, but does not match. kudos to Al Smith.
Post-merge fixes.
mysql-test/r/rpl_row_tabledefs_3innodb.result:
Result change
mysql-test/t/disabled.def:
Disabling test that appear to be fixed in other clones
sql/field.cc:
Post-merge fix
sql/log_event.cc:
Changes to unpack_row():
- Documentation
- New parameter, the write/read set
- R/W set now 0-indexed instead of 1-indexed
- Removed column value printing
Changes to replace_record():
- Documentation
- Removed column value printing
Removed unused function print_column_values()
into zippy.cornsilk.net:/home/cmiller/work/mysql/merge/mysql-5.1
mysql-test/r/func_time.result:
Auto merged
mysql-test/r/grant.result:
Auto merged
mysql-test/t/func_time.test:
Auto merged
mysql-test/t/grant.test:
Auto merged
mysql-test/t/mysql.test:
Auto merged
mysql-test/t/mysql_client_test.test:
Auto merged
server-tools/instance-manager/listener.cc:
Auto merged
server-tools/instance-manager/portability.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
BitKeeper/deleted/.del-openssl.m4~41cebd0ba8281769:
Auto merged
sql/mysqld.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
tests/mysql_client_test.c:
Auto merged
client/mysql.cc:
Manual merge.
mysql-test/mysql-test-run.pl:
Manual merge.
into zippy.cornsilk.net:/home/cmiller/work/mysql/merge/mysql-5.1
mysql-test/r/func_time.result:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
mysql-test/t/func_time.test:
Manual merge.
Remove the code that cleared "read fields set" for merged scans. That code
was based on assumption that "We're going to just read rowids", while
actually QUICK_RANGE_SELECT code would also need key part values to check
that retrieved record(s) fall within the scanned intervals.
mysql-test/r/index_merge_innodb.result:
BUG#21277: Testcase
mysql-test/t/index_merge_innodb.test:
BUG#21277: Testcase
Bug #18744 Test 'join_outer' fails if "classic" configuration in 5.0
- moved an InnoDB dependent test to the appropriate file
mysql-test/r/innodb_mysql.result:
Bug #18744 Test 'join_outer' fails if "classic" configuration in 5.0
- moved an InnoDB dependent test to the appropriate file
mysql-test/r/join_outer.result:
Bug #18744 Test 'join_outer' fails if "classic" configuration in 5.0
- moved an InnoDB dependent test to the appropriate file
mysql-test/t/innodb_mysql.test:
Bug #18744 Test 'join_outer' fails if "classic" configuration in 5.0
- moved an InnoDB dependent test to the appropriate file
mysql-test/t/join_outer.test:
Bug #18744 Test 'join_outer' fails if "classic" configuration in 5.0
- moved an InnoDB dependent test to the appropriate file
into romeo.(none):/home/bk/w3259-mysql-5.1-new-rpl
sql/field.h:
Auto merged
sql/log_event.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/Makefile.am:
Merge patch for worklog 3259 into mysql-5.1-rpl
sql/field.cc:
Merge patch for worklog 3259 into mysql-5.1-rpl
sql/log_event.cc:
Merge patch for worklog 3259 into mysql-5.1-rpl
into mockturtle.local:/home/dlenev/src/mysql-5.1-bg19403-2
mysql-test/r/drop.result:
Auto merged
sql/lock.cc:
Use 5.1 version of code as bug#21216 will be fixed there in different way.
server to crash".
Crash caused by assertion failure happened when one ran SHOW OPEN TABLES
while concurrently doing DROP TABLE (or RENAME TABLE, CREATE TABLE LIKE
or any other command that takes name-lock) in other connection.
For non-debug version of server problem exposed itself as wrong output
of SHOW OPEN TABLES statement (it was missing name-locked tables).
Finally in 5.1 both debug and non-debug versions simply crashed in
this situation due to NULL-pointer dereference.
This problem was caused by the fact that table placeholders which were
added to table cache in order to obtain name-lock had TABLE_SHARE::table_name
set to 0. Therefore they broke assumption that this member is non-0 for
all tables in table cache which was checked by assert in list_open_tables()
(in 5.1 this function simply relies on it).
The fix simply sets this member for such placeholders to appropriate value
making this assumption true again.
This patch also includes test for similar bug 12212 "Crash that happens
during removing of database name from cache" reappeared in 5.1 as bug 19403.
mysql-test/r/drop.result:
Added test for bug#21216 "Simultaneous DROP TABLE and SHOW OPEN TABLES
causes server to crash" and bug#12212/19403 "Crash that happens during
removing of database name from cache".
mysql-test/t/drop.test:
Added test for bug#21216 "Simultaneous DROP TABLE and SHOW OPEN TABLES
causes server to crash" and bug#12212/19403 "Crash that happens during
removing of database name from cache".
sql/lock.cc:
lock_table_name():
Our code assumes that TABLE_SHARE::table_name for objects in table cache
is non-NULL (for example look at assertion in list_open_tables()). This
was not true for table placeholders that were added to table cache for
name-locking. So let us set this member for such placeholders.
A date can be represented as an int (like 20060101) and as a string (like
"2006.01.01"). When a DATE/TIME field is compared in one SELECT against both
representations the constant propagation mechanism leads to comparison
of DATE as a string and DATE as an int. In this example it compares 2006 and
20060101 integers. Obviously it fails comparison although they represents the
same date.
Now the Item_bool_func2::fix_length_and_dec() function sets the comparison
context for items being compared. I.e. if items compared as strings the
comparison context is STRING.
The constant propagation mechanism now doesn't mix items used in different
comparison contexts. The context check is done in the
Item_field::equal_fields_propagator() and in the change_cond_ref_to_const()
functions.
Also the better fix for bug 21159 is introduced.
mysql-test/t/type_datetime.test:
Added a test case for bug#21475: Wrongly applied constant propagation leads to a false comparison.
mysql-test/r/type_datetime.result:
Added a test case for bug#21475: Wrongly applied constant propagation leads to a false comparison.
sql/sql_select.cc:
Fixed bug#21475: Wrongly applied constant propagation leads to a false comparison.
The constant propagation mechanism now doesn't mix items used in different
comparison contexts. The check is done in the change_cond_ref_to_const() function.
sql/item_cmpfunc.cc:
Fixed bug#21475: Wrongly applied constant propagation leads to a false comparison.
Now the Item_bool_func2::fix_length_and_dec() function sets the comparison
context for items being compared.
sql/item.h:
Fixed bug#21475: Wrongly applied constant propagation leads to a false comparison.
To the Item class a new field called cmp_context is added.
It represents the comparison context of an item.
sql/item.cc:
Fixed bug#21475: Wrongly applied constant propagation leads to a false comparison.
The constant propagation mechanism now doesn't mix items used in different
comparison contexts. The context check is done in the
Item_field::equal_fields_propagator() function.
The problem was that the error handling was using a too-small buffer to
print the error message generated. We fix this by not using a buffer at
all, but by using fprintf() directly. There were also some problems with
the error handling in table dumping that was exposed by this fix that were
also corrected.
client/mysqldump.c:
Use fprintf() instead of my_printf_error() to avoid buffer overflow issues.
Since ME_BELL wasn't specified, calling my_printf_error() offered no advantage
except for adding my_progname, which we just go ahead and do manually. Also,
fix the error handling in dumpTable() when queries to get data fail and --force
was specified.
mysql-test/r/mysqldump.result:
Add new results
mysql-test/t/mysqldump.test:
Add new regression test
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
mysql-test/r/ndb_lock.result:
Auto merged
mysql-test/t/ndb_lock.test:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
storage/ndb/include/ndbapi/NdbTransaction.hpp:
Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
mysql-test/t/disabled.def:
SCCS merged
sql/ha_ndbcluster.cc:
e
merge