Commit graph

51520 commits

Author SHA1 Message Date
unknown
f53d881eeb Merge trift2.:/MySQL/M51/mysql-5.1
into  trift2.:/MySQL/M51/push-5.1


mysql-test/t/disabled.def:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
2007-12-07 12:33:48 +01:00
unknown
b5f919ddfa Merge mysql.com:/Users/davi/mysql/bugs/32996-5.1
into  mysql.com:/Users/davi/mysql/mysql-5.1-runtime
2007-12-05 11:25:51 -02:00
unknown
6bfa2a01b5 Bug#32996 log_tables.test fails sporadically
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.
2007-12-05 09:48:13 -02:00
unknown
7f2ea0b5fe configure.in:
Removed the auto detection and use of Solaris "libmtmalloc", as it
  cause regression on bug#18322. The code removed also prevented
  a build without using this library. Users can still compile with
  "libmtmalloc", if configuring with "--with-mysqld-libs=-lmtmalloc"


configure.in:
  Removed the auto detection and use of Solaris "libmtmalloc", as it
  cause regression on bug#18322. The code removed also prevented
  a build without using this library. Users can still compile with
  "libmtmalloc", if configuring with "--with-mysqld-libs=-lmtmalloc"
2007-12-04 20:27:08 +01:00
unknown
d2698c35e3 Bug#32966 main.status fails.
Disable failing test case.


mysql-test/t/disabled.def:
  Disable main.status test case.
2007-12-04 18:52:43 +03:00
unknown
93341c8a13 Bug#32965 main.ctype_create fails.
Disable failing test case.


mysql-test/t/disabled.def:
  Disable main.ctype_create test case.
2007-12-04 18:51:03 +03:00
unknown
8f79f531d7 Merge four.local.lan:/work/trees/mysql-5.0-build-src-clean
into  four.local.lan:/work/trees/mysql-5.1-build-src-clean
2007-11-30 19:53:00 +01:00
unknown
d08ca0327e Merge four.local.lan:/work/merge/mysql-5.1-dev
into  four.local.lan:/work/trees/mysql-5.1-build-src-clean
2007-11-30 19:43:13 +01:00
unknown
f3514dc3c4 Merge four.local.lan:/work/trees/mysql-4.1-build-src-clean
into  four.local.lan:/work/trees/mysql-5.0-build-src-clean
2007-11-30 19:30:48 +01:00
unknown
c0ce23f8ba Merge four.local.lan:/work/merge/mysql-5.0-dev
into  four.local.lan:/work/trees/mysql-5.0-build-src-clean
2007-11-30 19:27:30 +01:00
unknown
d09dfdab06 Merge four.local.lan:/work/merge/mysql-4.1-dev
into  four.local.lan:/work/trees/mysql-4.1-build-src-clean
2007-11-30 19:12:09 +01:00
unknown
0f566982bb Merge four.local.lan:/work/merge/mysql-5.0-dev
into  four.local.lan:/work/merge/mysql-5.1-dev


mysql-test/suite/rpl/r/rpl_000015.result:
  Auto merged
mysql-test/suite/rpl/t/rpl_000015.test:
  Auto merged
2007-11-30 18:42:16 +01:00
unknown
89667ffea3 Merge four.local.lan:/work/merge/mysql-4.1-dev
into  four.local.lan:/work/merge/mysql-5.0-dev


BitKeeper/deleted/.del-disabled.def:
  SCCS merged
mysql-test/r/rpl000015.result:
  Bug does not apply to 5.0 and up
mysql-test/t/rpl000015.test:
  Bug does not apply to 5.0 and up.
2007-11-30 18:28:54 +01:00
unknown
56b009412d Fix for
Bug#31030 rpl000015.test fails if $MYSQL_TCP_PORT != 3306
Note:
  This bug does not occur in MySQL 5.0 and up, because
  ChangeSet 1.2328.2.1 2006/11/27 for MySQL 5.0 prevents this.
  The 5.0 fix uses the environment variable DEFAULT_MASTER_PORT
  which is set by mysql-test-run.pl.
  mysql-test-run.pl in 4.1 does not set this variable.
  There are two alternatives:
  1) Backport the 5.0 fix for this test including modifications
     to mysql-test-run.pl and mysql-test-run-shell.
     This is a not acceptable impact on an old MySQL version.
  2) Fix the problem different than in 5.0 like in the current
     ChangeSet + do not apply these changes when upmerging to 5.0


mysql-test/r/rpl000015.result:
  Updated result
mysql-test/t/disabled.def:
  Enable rpl000015
mysql-test/t/rpl000015.test:
  Unify the MASTER_PORT number
2007-11-30 18:06:28 +01:00
unknown
6923c36a09 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  mysql.com:/Users/davi/mysql/mysql-5.1-runtime
2007-11-30 14:07:36 -02:00
unknown
e0770a0852 Merge mysql.com:/Users/davi/mysql/bugs/22312-5.1
into  mysql.com:/Users/davi/mysql/mysql-5.1-runtime
2007-11-30 14:05:58 -02:00
unknown
4b954cc094 A patch for BUG#32148: killing a query may be ineffective.
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().
2007-11-30 16:12:20 +03:00
unknown
90477e23e2 BUG#32723 (grant3.test fails) can not be reproduced.
Enabling the test case.


mysql-test/t/disabled.def:
  Enable grant3.test.
2007-11-30 14:49:34 +03:00
unknown
cdc382e7fd Bug#22312 Syntax error in expression with INTERVAL()
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.
2007-11-30 09:34:25 -02:00
unknown
9395421a14 A test case for BUG#26676: VIEW using old table schema in a session.
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.
2007-11-30 12:14:07 +03:00
unknown
0d09e36479 Merge mysql.com:/home/kent/bk/mac-os-x-universal/mysql-5.0-build
into  mysql.com:/home/kent/bk/mac-os-x-universal/mysql-5.1-build


include/my_global.h:
  Auto merged
2007-11-30 01:38:29 +01:00
unknown
8ffb540453 Merge mysql.com:/home/kent/bk/mac-os-x-universal/mysql-4.1-build
into  mysql.com:/home/kent/bk/mac-os-x-universal/mysql-5.0-build


include/my_global.h:
  Auto merged
2007-11-30 01:37:07 +01:00
unknown
44ebdc095a my_global.h:
Added 64 bit Mac OS X hard coded settings, for universal binaries


include/my_global.h:
  Added 64 bit Mac OS X hard coded settings, for universal binaries
2007-11-30 01:36:05 +01:00
unknown
61f57730a8 Excluded verbose and bad change to Mac OS X universal binaries handling 2007-11-30 01:22:15 +01:00
unknown
d1e1c682c7 Merge mysql.com:/home/kent/bk/mac-os-x-universal/mysql-5.0-build
into  mysql.com:/home/kent/bk/mac-os-x-universal/mysql-5.1-build


include/my_global.h:
  Auto merged
2007-11-29 23:45:28 +01:00
unknown
12ab96a279 Merge mysql.com:/home/kent/bk/mac-os-x-universal/mysql-4.1-build
into  mysql.com:/home/kent/bk/mac-os-x-universal/mysql-5.0-build


include/my_global.h:
  Auto merged
2007-11-29 23:44:16 +01:00
unknown
8b76c0001b Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/kent/bk/mac-os-x-universal/mysql-5.0-build
2007-11-29 23:42:46 +01:00
unknown
f177f5f9a5 my_global.h:
Added 64 bit Mac OS X hard coded settings, for universal binaries


include/my_global.h:
  Added 64 bit Mac OS X hard coded settings, for universal binaries
2007-11-29 23:42:04 +01:00
unknown
590d9274fe Merge chorlton.adsl.perkin.org.uk:/Users/jonathan/work/bk/mysql-5.0
into  chorlton.adsl.perkin.org.uk:/Users/jonathan/work/bk/mysql-5.1
2007-11-29 17:13:43 +00:00
unknown
854d0fa176 Shell portability fix.
scripts/mysql_install_db.sh:
  Use "test !" instead of "! test", as the
  latter does not work on certain shells.
2007-11-29 16:40:46 +00:00
unknown
87143063d3 Bug#23713 LOCK TABLES + CREATE TRIGGER + FLUSH TABLES WITH READ LOCK = deadlock
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.
2007-11-29 09:42:26 -02:00
unknown
9b6dc66ede Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build


client/mysql.cc:
  Auto merged
configure.in:
  Auto merged
mysql-test/lib/mtr_report.pl:
  Auto merged
mysql-test/r/innodb_mysql.result:
  Auto merged
mysql-test/suite/rpl/include/rpl_mixed_dml.inc:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
sql/handler.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/table.cc:
  Auto merged
sql/table.h:
  Auto merged
2007-11-28 19:49:29 +01:00
unknown
a24bfb485c use --builddir option for mysql_install_db 2007-11-28 17:36:28 +01:00
unknown
648d3cedbc fix make distcheck in a different way
scripts/mysql_install_db.sh:
  apply different patch for make distcheck failure
2007-11-28 17:32:28 +01:00
unknown
8f60ebfbcb Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-5.1-build
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build


scripts/mysql_install_db.sh:
  Auto merged
2007-11-28 17:08:40 +01:00
unknown
6627c212d0 Merge lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-runtime
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
2007-11-28 09:08:31 -07:00
unknown
ade1c14667 include data files for parts test suite in distribution 2007-11-28 17:04:02 +01:00
unknown
7e6cdd8b23 Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.1-rt-merge


sql/sql_table.cc:
  Auto merged
2007-11-28 08:49:01 -07:00
unknown
b512270e54 Manual merge 2007-11-28 08:41:45 -07:00
unknown
f927182efe Merge lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.1-base
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
2007-11-28 07:42:36 -07:00
unknown
ec8d8c8d02 Merge mysql.com:/Users/davi/mysql/bugs/31479-5.0
into  mysql.com:/Users/davi/mysql/mysql-5.1-runtime


mysql-test/r/lock_multi.result:
  Null merge.
mysql-test/t/lock_multi.test:
  Null merge.
sql/sql_table.cc:
  Null merge.
2007-11-28 12:33:51 -02:00
unknown
21fd6c0f1d Merge lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-base
into  lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-rt-merge


sql/sql_yacc.yy:
  Auto merged
sql-common/client.c:
  Auto merged
2007-11-28 07:23:51 -07:00
unknown
aea86c6611 Merge mysql.com:/Users/davi/mysql/bugs/31479-5.0
into  mysql.com:/Users/davi/mysql/mysql-5.0-runtime
2007-11-28 10:49:30 -02:00
unknown
4b00263596 Bug#31479 Bad lock interaction if CREATE TABLE LIKE is killed
Kill of a CREATE TABLE source_table LIKE statement waiting for a
name-lock on the source table causes a bad lock interaction.

The mysql_create_like_table() has a bug that if the connection is
killed while waiting for the name-lock on the source table, it will
jump to the wrong error path and try to unlock the source table and
LOCK_open, but both weren't locked.

The solution is to simple return when the name lock request is killed,
it's safe to do so because no lock was acquired and no cleanup is needed.

Original bug report also contains description of other problems
related to this scenario but they either already fixed in 5.1 or
will be addressed separately (see bug report for details).


mysql-test/r/lock_multi.result:
  Add test case result for Bug#31479
mysql-test/t/lock_multi.test:
  Add test case for Bug#31479
sql/sql_table.cc:
  Rerturn TRUE when the lock gets killed.
2007-11-28 10:18:01 -02:00
unknown
df722475e7 Merge stella.local:/home2/mydev/mysql-5.0-axmrg
into  stella.local:/home2/mydev/mysql-5.1-axmrg


mysql-test/t/disabled.def:
  Manual merge from 5.0.
2007-11-28 11:06:40 +01:00
unknown
c0ecd863b8 Bug#8693 Test 'rpl_log_pos' fails sometimes
Moved disabling to rpl suite.
Bug#32801 wait_timeout.test fails randomly
Disabled test case.


mysql-test/suite/rpl/t/disabled.def:
  Bug#8693 Test 'rpl_log_pos' fails sometimes
  Moved disabling to rpl suite.
2007-11-28 10:00:23 +01:00
unknown
7991e6a61d Bug#29149 Test "kill" fails on Windows
Disabled test case.
2007-11-28 09:48:06 +01:00
unknown
eef1415815 Merge kpettersson@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  adventure.(none):/home/thek/Development/cpp/mysql-5.1-runtime
2007-11-28 09:04:49 +01:00
unknown
61fcfc6782 Error number increased; fixing broken number. 2007-11-28 09:03:21 +01:00
unknown
7093e25e37 Cset exclude: tsmith@ramayana.hindu.god|ChangeSet|20071127191535|13686
This change isn't correct, and the correct one will be pulled in from another
repository.


client/mysql.cc:
  Exclude
2007-11-27 17:38:21 -07:00