into ramayana.hindu.god:/home/tsmith/m/bk/maint/51
sql/sql_acl.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_table.cc:
Auto merged
mysql-test/r/grant.result:
Manual merge
mysql-test/t/grant.test:
Manual merge
into ramayana.hindu.god:/home/tsmith/m/bk/maint/51-merge
mysql-test/t/grant.test:
Auto merged
sql/sql_select.cc:
Auto merged
strings/ctype-simple.c:
Auto merged
mysql-test/r/grant.result:
Manual merge
mysql-test/r/grant.result:
Update test results to .test changes
mysql-test/t/grant.test:
Drop users when done with them, to avoid skewing results of later tests.
For example, running some test which examines the cardinality of the
mysql.user table would fail if run right after this test, due to the
extra users.
testing embedded server works correctly.
mysql-test/r/create.result:
Move one test from create.test to grant.test, because it actually tests
privileges (and thus doesn't work with embedded server).
mysql-test/r/grant.result:
Move one test from create.test to grant.test, because it actually tests
privileges (and thus doesn't work with embedded server).
mysql-test/t/create.test:
Move one test from create.test to grant.test, because it actually tests
privileges (and thus doesn't work with embedded server).
mysql-test/t/grant.test:
Move one test from create.test to grant.test, because it actually tests
privileges (and thus doesn't work with embedded server).
into ramayana.hindu.god:/home/tsmith/m/bk/maint/51-merge
client/mysqldump.c:
Auto merged
include/my_sys.h:
Auto merged
libmysql/CMakeLists.txt:
Auto merged
libmysql/Makefile.shared:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/ctype_ucs.result:
Auto merged
mysql-test/r/func_misc.result:
Auto merged
mysql-test/suite/binlog/t/binlog_killed.test:
Auto merged
mysql-test/t/cast.test:
Auto merged
mysql-test/t/ctype_ucs.test:
Auto merged
mysql-test/t/func_misc.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/field.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_strfunc.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
storage/myisam/ft_boolean_search.c:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
storage/myisam/sort.c:
Auto merged
strings/ctype-simple.c:
Auto merged
into ramayana.hindu.god:/home/tsmith/m/bk/maint/50
mysql-test/r/ctype_ucs.result:
Auto merged
mysql-test/t/ctype_ucs.test:
Auto merged
sql/set_var.cc:
Auto merged
into ramayana.hindu.god:/home/tsmith/m/bk/maint/51-merge
client/mysqldump.c:
Auto merged
include/my_base.h:
Auto merged
include/my_sys.h:
Auto merged
libmysql/CMakeLists.txt:
Auto merged
libmysql/Makefile.shared:
Auto merged
mysql-test/lib/mtr_cases.pl:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/create.result:
Auto merged
mysql-test/r/grant.result:
Auto merged
mysql-test/r/innodb.result:
Auto merged
mysql-test/r/ps.result:
Auto merged
mysql-test/suite/rpl/t/rpl_ssl.test:
Auto merged
mysql-test/t/cast.test:
Auto merged
mysql-test/t/create.test:
Auto merged
mysql-test/t/ps.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/field.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/records.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/unireg.cc:
Auto merged
storage/myisam/ft_boolean_search.c:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
storage/myisam/sort.c:
Auto merged
mysql-test/t/log_state.test:
Manual merge fix-up
mysql-test/include/mix1.inc:
Manual merge
mysql-test/r/ctype_ucs.result:
Manual merge
mysql-test/r/func_misc.result:
Manual merge
mysql-test/r/innodb_mysql.result:
Manual merge
mysql-test/r/key.result:
Manual merge
mysql-test/r/log_state.result:
Manual merge
mysql-test/suite/binlog/t/binlog_killed.test:
Manual merge
mysql-test/t/ctype_ucs.test:
Manual merge
mysql-test/t/func_misc.test:
Manual merge
mysql-test/t/key.test:
Manual merge
sql/item_strfunc.h:
Manual merge
strings/ctype-simple.c:
Manual merge
Only select entries from the general_log that were issued by the current
connection.
mysql-test/r/log_tables.result:
Update test result.
mysql-test/t/log_tables.test:
Only select entries from the current thread.
into ramayana.hindu.god:/home/tsmith/m/bk/maint/50
client/mysqldump.c:
Auto merged
include/my_sys.h:
Auto merged
libmysql/CMakeLists.txt:
Auto merged
libmysql/Makefile.shared:
Auto merged
myisam/ft_boolean_search.c:
Auto merged
myisam/sort.c:
Auto merged
mysql-test/t/cast.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/field.cc:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
mysql-test/mysql-test-run.pl:
Manual merge
mysql-test/r/ctype_ucs.result:
Manual merge
mysql-test/r/func_misc.result:
Manual merge
mysql-test/t/binlog_killed.test:
Manual merge
mysql-test/t/ctype_ucs.test:
Manual merge
mysql-test/t/func_misc.test:
Manual merge
sql/item_strfunc.h:
Manual merge
strings/ctype-simple.c:
Manual merge
into polly.(none):/home/kaa/src/maint/mysql-5.1-maint
mysql-test/t/insert.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/field.cc:
Auto merged
into polly.(none):/home/kaa/src/maint/mysql-5.1-maint
mysql-test/t/insert.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/field.cc:
Auto merged
into polly.(none):/home/kaa/src/maint/mysql-5.0-maint
mysql-test/t/insert.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/field.cc:
Auto merged
into polly.(none):/home/kaa/src/maint/bug26788/my51-bug26788
mysql-test/t/insert.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/field.cc:
Auto merged
mysql-test/t/insert.test:
Windows implements a different rounding rules in printf("%g"), thus we still need to do replace_result
mysql-test/t/variables.test:
We need to do replace_result because variables are printed by another procedure.
sql/field.cc:
Fixed the code to limit the precision to DBL_DIG.
into polly.(none):/home/kaa/src/maint/mysql-5.1-maint
mysql-test/r/insert.result:
Auto merged
mysql-test/t/insert.test:
Auto merged
sql/field.cc:
Auto merged
into polly.(none):/home/kaa/src/maint/mysql-5.1-maint
mysql-test/r/insert.result:
Auto merged
mysql-test/t/insert.test:
Auto merged
sql/field.cc:
Auto merged
into polly.(none):/home/kaa/src/maint/mysql-5.0-maint
mysql-test/r/insert.result:
Auto merged
mysql-test/t/insert.test:
Auto merged
sql/field.cc:
Auto merged
into polly.(none):/home/kaa/src/maint/bug26788/my51-bug26788
mysql-test/r/insert.result:
Auto merged
mysql-test/t/cast.test:
Auto merged
mysql-test/t/insert.test:
Auto merged
sql/field.cc:
Auto merged
mysql-test/r/insert.result:
Fixed the test cases.
mysql-test/t/cast.test:
We need to do replace_result because warnings are printed by another procedure.
mysql-test/t/insert.test:
Windows implements a different rounding rules in printf("%g"), thus we still need to do replace_result.
sql/field.cc:
Limit the precision to avoid garbage past the significant digits.
into polly.(none):/home/kaa/src/maint/mysql-5.1-maint
mysql-test/r/insert.result:
Auto merged
mysql-test/t/insert.test:
Auto merged
mysql-test/t/type_float.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/field.cc:
Auto merged
into polly.(none):/home/kaa/src/maint/mysql-5.1-maint
mysql-test/t/type_float.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/field.cc:
Auto merged
mysql-test/r/insert.result:
SCCS merged
mysql-test/t/insert.test:
SCCS merged
into polly.(none):/home/kaa/src/maint/mysql-5.0-maint
mysql-test/t/type_float.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/field.cc:
Auto merged
mysql-test/r/insert.result:
SCCS merged
mysql-test/t/insert.test:
SCCS merged
into polly.(none):/home/kaa/src/maint/bug26788/my51-bug26788
mysql-test/r/insert.result:
Auto merged
mysql-test/t/cast.test:
Auto merged
mysql-test/t/insert.test:
Auto merged
mysql-test/t/type_float.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/field.cc:
SCCS merged
numbers into char fields" and bug #12860 "Difference in zero padding of
exponent between Unix and Windows"
Rewrote the code that determines what 'precision' argument should be
passed to sprintf() to fit the string representation of the input number
into the field.
We get finer control over conversion by pre-calculating the exponent, so
we are able to determine which conversion format, 'e' or 'f', will be
used by sprintf().
We also remove the leading zero from the exponent on Windows to make it
compatible with the sprintf() output on other platforms.
mysql-test/r/insert.result:
Added test cases for bug #26788 and bug #31152.
mysql-test/t/cast.test:
Removed --replace_result, since the result is now correct on Windows.
mysql-test/t/insert.test:
Added test cases for bug #26788 and bug #31152.
mysql-test/t/type_float.test:
Removed --replace_result, since the result is now correct on Windows.
mysql-test/t/variables.test:
Removed --replace_result, since the result is now correct on Windows.
sql/field.cc:
Rewrote the code that determines what 'precision' argument should be
passed to sprintf() to fit the string representation of the input number
into the field.
We get finer control over conversion by pre-calculating the exponent, so
we are able to determine which conversion format, 'e' or 'f', will be
used by sprintf().
The problem was that THD::killed was reset after a command was
read from the socket, but before it was actually handled. That lead
to a race: if another KILL statement was issued for this connection
in the middle of reading from the socket and processing a command,
THD::killed state would be cleaned.
The fix is to move this cleanup into net_send_error() function.
A sample test case exists in binlog_killed.test:
- connection 1: start a new transaction on table t1;
- connection 2: send query to the server (w/o waiting for the
result) to update data in table t1 -- this query will be blocked
since there is unfinished transaction;
- connection 1: kill query in connection 2 and finish the transaction;
- connection 2: get result of the previous query -- it should be
the "query-killed" error.
This test however contains race condition, which can not be fixed
with the current protocol: there is no way to guarantee, that the
server will receive and start processing the query in connection 2
(which is intended to get blocked) before the KILL command (sent in
the connection 1) will arrive. In other words, there is no way to
ensure that the following sequence will not happen:
- connection 1: start a new transaction on table t1;
- connection 1: kill query in connection 2 and finish the transaction;
- connection 2: send query to the server (w/o waiting for the
result) to update data in table t1 -- this query will be blocked
since there is unfinished transaction;
- connection 2: get result of the previous query -- the query will
succeed.
So, there is no test case for this bug, since it's impossible
to write a reliable test case under the current circumstances.
sql/protocol.cc:
Move thd->killed cleanup from dispatch_command() to net_send_error().
sql/sql_parse.cc:
Move thd->killed cleanup from dispatch_command() to net_send_error().
Parser rejects valid INTERVAL() expressions when associated with
arithmetic operators. The problem is the way in which the expression
and interval grammar rules were organized caused shift/reduce conflicts.
The solution is to tweak the interval rules to avoid shift/reduce
conflicts by removing the broken interval_expr rule and explicitly
specify it's content where necessary.
Original fix by Davi Arnaut, revised and improved rules by Marc Alff
mysql-test/r/parser.result:
Add test case result for Bug#22312
mysql-test/t/parser.test:
Add test case for Bug#22312
sql/sql_yacc.yy:
Resolve shift/reduce conflicts by reorganizing the interval
expression rules.
The following clarification should be made in The Manual:
Standard SQL is quite clear that, if new columns are added
to a table after a view on that table is created with
"select *", the new columns will not become part of the view.
In all cases, the view definition (view structure) is frozen
at CREATE time, so changes to the underlying tables do not
affect the view structure.
mysql-test/r/view.result:
Update result file.
mysql-test/t/view.test:
Add a test case for BUG#26676: VIEW using old table schema in a session.
This bug is actually two bugs in one, one of which is CREATE TRIGGER under
LOCK TABLES and the other is CREATE TRIGGER under LOCK TABLES simultaneous
to a FLUSH TABLES WITH READ LOCK (global read lock). Both situations could
lead to a server crash or deadlock.
The first problem arises from the fact that when under LOCK TABLES, if the
table is in the set of locked tables, the table is already open and it doesn't
need to be reopened (not a placeholder). Also in this case, if the table is
not write locked, a exclusive lock can't be acquired because of a possible
deadlock with another thread also holding a (read) lock on the table. The
second issue arises from the fact that one should never wait for a global
read lock if it's holding any locked tables, because the global read lock
is waiting for these tables and this leads to a circular wait deadlock.
The solution for the first case is to check if the table is write locked
and upgraded the write lock to a exclusive lock and fail otherwise for non
write locked tables. Grabbin the exclusive lock in this case also means
to ensure that the table is opened only by the calling thread. The second
issue is partly fixed by not waiting for the global read lock if the thread
is holding any locked tables.
The second issue is only partly addressed in this patch because it turned
out to be much wider and also affects other DDL statements. Reported as
Bug#32395
mysql-test/r/trigger.result:
Add test case result for Bug#23713
mysql-test/r/trigger_notembedded.result:
Add test case result for Bug#23713
mysql-test/t/trigger.test:
Add test case for Bug#23713
mysql-test/t/trigger_notembedded.test:
Add test case for Bug#23713
sql/mysql_priv.h:
Locally export wait_while_table_is_used and name_lock_locked_table
and add flag to mysql_ha_rm_tables to signal that LOCK_open is locked.
sql/sql_base.cc:
Introduce name_lock_locked_table function and match
close_old_data_files function declaration and definition.
sql/sql_handler.cc:
Add flag to mysql_ha_rm_tables to signal that LOCK_open is locked.
sql/sql_rename.cc:
Fix mysql_ha_rm_tables caller.
sql/sql_table.cc:
Export wait_while_table_is_used and assert that LOCK_open is locked
and fix mysql_ha_rm_tables caller.
sql/sql_trigger.cc:
Upgrade write locked tables to a exclusive lock and fail if
the table is not write locked. Also, don't wait for the global
read lock if under LOCK TABLES.
into lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.1-rt-merge
sql/item_func.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql-common/client.c:
Auto merged
sql/sql_yacc.yy:
Auto merged
into lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.1-rt-merge
sql/events.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/sql_table.cc:
manual merge