Commit graph

23196 commits

Author SHA1 Message Date
iggy@amd64.(none)
6bb288b6b7 Bug#26811 Symbolic links don't work in Windows Vista
- Enable check for symbolic link files.
2007-12-14 15:49:51 -05:00
istruewing@stella.local
9b0ab3fc0f Merge stella.local:/home2/mydev/mysql-5.1-ateam
into  stella.local:/home2/mydev/mysql-5.1-axmrg
2007-12-11 23:57:57 +01:00
istruewing@stella.local
65fda831ce Merge stella.local:/home2/mydev/mysql-5.1-bug30273
into  stella.local:/home2/mydev/mysql-5.1-axmrg
2007-12-11 21:38:08 +01:00
istruewing@stella.local
03d99c5956 Merge stella.local:/home2/mydev/mysql-5.1-amain
into  stella.local:/home2/mydev/mysql-5.1-axmrg
2007-12-11 21:37:33 +01:00
istruewing@stella.local
55aa6376f1 Bug#30273 - merge tables: Can't lock file (errno: 155)
The patch for Bug 26379 (Combination of FLUSH TABLE and
REPAIR TABLE corrupts a MERGE table) fixed this bug too.
However it revealed a new bug that crashed the server.

Flushing a merge table at the moment when it is between open
and attach of children crashed the server.

The flushing thread wants to abort locks on the flushed table.
It calls ha_myisammrg::lock_count() and ha_myisammrg::store_lock()
on the TABLE object of the other thread.

Changed ha_myisammrg::lock_count() and ha_myisammrg::store_lock()
to accept non-attached children. ha_myisammrg::lock_count() returns
the number of MyISAM tables in the MERGE table so that the memory
allocation done by get_lock_data() is done correctly, even if the
children become attached before ha_myisammrg::store_lock() is
called. ha_myisammrg::store_lock() will not return any lock if the
children are not attached.

This is however a change in the handler interface. lock_count()
can now return a higher number than store_lock() stores locks.
This is more safe than the reverse implementation would be.
get_lock_data() in the SQL layer is adjusted accordingly. It sets
MYSQL_LOCK::lock_count based on the number of locks returned by
the handler::store_lock() calls, not based on the numbers returned
by the handler::lock_count() calls. The latter are only used for
allocation of memory now.

No test case. The test suite cannot reliably run FLUSH between
lock_count() and store_lock() of another thread. The bug report
contains a program that can repeat the problem with some
probability.
2007-12-11 15:32:10 +01:00
mattiasj@witty.
749ded6feb Merge witty.:/Users/mattiasj/clones/mysql-5.1-bug32948
into  witty.:/Users/mattiasj/clones/51_push32948
2007-12-11 11:15:30 +01:00
df@pippilotta.erinye.com
3f79b0f108 Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build
2007-12-10 10:46:00 +01:00
dkatz@damien-katzs-computer.local
71160422ee Bug#29830 Test case 'events_scheduling' fails on Mac OS X and Windows.
Change LAST_EXECUTED time the execution start time, instead of the execution completion time. This ensures the END time always the same or later than the LAST_EXECUTED time.
2007-12-07 19:27:45 -05:00
joerg@trift2.
cc609742fa Merge trift2.:/MySQL/M51/mysql-5.1
into  trift2.:/MySQL/M51/push-5.1
2007-12-07 12:33:48 +01:00
tsmith@ramayana.hindu.god
3d01ffd78d Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.1
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51
2007-12-07 03:56:03 -07:00
tsmith@ramayana.hindu.god
04d363d1f6 Merge ramayana.hindu.god:/home/tsmith/m/bk/maint/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51-merge
2007-12-07 03:42:39 -07:00
tsmith@ramayana.hindu.god
b922c9646c Fix compiler warning about wrong integer size (probably harmless) 2007-12-06 16:11:26 -07:00
mattiasj@witty.ndb.mysql.com
c27d93c83a Bug#32948: FKs allowed to reference partitioned table
Problem: when alter to partitioned table,
it does not see it as change of engine.

Solution: If alter includes partitioning, check if it is possible
to change engines (eg. is the table referenced by a FK)
2007-12-06 14:43:06 +01:00
tsmith@ramayana.hindu.god
8fc0bfb6b6 Merge ramayana.hindu.god:/home/tsmith/m/bk/51
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51-merge
2007-12-05 12:33:36 -07:00
mattiasj@witty.
5452a154d6 Merge witty.:/Users/mattiasj/clones/mysql-5.1-bug30822
into  witty.:/Users/mattiasj/clones/51to_push
2007-12-05 19:39:32 +01:00
tsmith@ramayana.hindu.god
10cab933b2 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50
2007-12-04 20:58:21 -07:00
mattiasj@witty.
1d7ac77479 Bug#30480: Falcon: searches fail if LIKE and key partition
(also fixes the bugs: Bug#29320, Bug#29493 and Bug#30536)

Problem: Partitioning did not handle unordered scans correctly
for engines with unordered read order.

Solution: do not stop scanning fi a recored is out of range, since
there can be more records within the range afterwards.

Note: this is the patch that fixes the bug, but since there are no
storage engines shipped with mysql 5.1 (falcon comes in 6.0) there
are no test cases (it is a separate patch that only goes into 6.0)
2007-12-03 16:12:25 +01:00
kaa@polly.(none)
3ecbd79c88 Merge polly.(none):/home/kaa/src/maint/bug26788/my51-bug26788
into  polly.(none):/home/kaa/src/maint/mysql-5.1-maint
2007-12-02 14:14:42 +03:00
kaa@polly.(none)
0e78354baa Merge polly.(none):/home/kaa/src/maint/bug26788/my50-bug26788
into  polly.(none):/home/kaa/src/maint/mysql-5.0-maint
2007-12-02 14:11:36 +03:00
kaa@polly.(none)
a008572871 Merge polly.(none):/home/kaa/src/maint/bug26788/my50-bug26788
into  polly.(none):/home/kaa/src/maint/bug26788/my51-bug26788
2007-12-02 13:51:39 +03:00
kaa@polly.(none)
d905aade4f Windows-specific fixes in floating point tests. 2007-12-02 13:49:12 +03:00
kaa@polly.(none)
9699c42ccc Merge polly.(none):/home/kaa/src/maint/bug26788/my51-bug26788
into  polly.(none):/home/kaa/src/maint/mysql-5.1-maint
2007-12-01 15:40:59 +03:00
kaa@polly.(none)
2a52bb82e4 Merge polly.(none):/home/kaa/src/maint/bug26788/my50-bug26788
into  polly.(none):/home/kaa/src/maint/mysql-5.0-maint
2007-12-01 15:37:25 +03:00
kaa@polly.(none)
c8226d732d Merge polly.(none):/home/kaa/src/maint/bug26788/my50-bug26788
into  polly.(none):/home/kaa/src/maint/bug26788/my51-bug26788
2007-12-01 15:30:01 +03:00
kaa@polly.(none)
55acce7504 Fixed the floating point number tests on Windows. 2007-12-01 15:25:24 +03:00
kaa@polly.(none)
a293b12571 Merge polly.(none):/home/kaa/src/maint/bug26788/my51-bug26788
into  polly.(none):/home/kaa/src/maint/mysql-5.1-maint
2007-12-01 13:00:44 +03:00
kaa@polly.(none)
0f0051e695 Merge polly.(none):/home/kaa/src/maint/bug26788/my50-bug26788
into  polly.(none):/home/kaa/src/maint/mysql-5.0-maint
2007-12-01 12:57:20 +03:00
kaa@polly.(none)
777df295da Merge polly.(none):/home/kaa/src/maint/bug26788/my50-bug26788
into  polly.(none):/home/kaa/src/maint/bug26788/my51-bug26788
2007-12-01 12:50:02 +03:00
kaa@polly.(none)
33125cd40e Fixed the build failure on Windows. It does not have trunc() defined in math.h, so we should not use it code. 2007-12-01 12:46:25 +03:00
kaa@polly.(none)
8f13b541a7 Merge polly.(none):/home/kaa/src/maint/bug26788/my51-bug26788
into  polly.(none):/home/kaa/src/maint/mysql-5.1-maint
2007-12-01 10:53:50 +03:00
kaa@polly.(none)
b994abb997 Merge polly.(none):/home/kaa/src/maint/bug26788/my50-bug26788
into  polly.(none):/home/kaa/src/maint/mysql-5.0-maint
2007-12-01 10:48:41 +03:00
kaa@polly.(none)
109c0439c0 Merge polly.(none):/home/kaa/src/maint/bug26788/my50-bug26788
into  polly.(none):/home/kaa/src/maint/bug26788/my51-bug26788
2007-12-01 10:29:43 +03:00
kaa@polly.(none)
7fd9135bb8 Fix for bug #26788 "mysqld (debug) aborts when inserting specific
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.
2007-12-01 10:05:59 +03:00
davi@endora.local
af039c53f9 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
anozdrin/alik@ibm.
8377c71f41 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.
2007-11-30 16:12:20 +03:00
davi@mysql.com/endora.local
ee9bafc1c5 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
2007-11-30 09:34:25 -02:00
ramil/ram@ramil.myoffice.izhnet.ru
2b65845a99 Merge mysql.com:/home/ram/work/mysql-5.1-engines
into  mysql.com:/home/ram/work/b29258/b29258.5.1
2007-11-30 09:18:26 +04:00
davi@mysql.com/endora.local
d179bb64c2 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
2007-11-29 09:42:26 -02:00
ramil/ram@ramil.myoffice.izhnet.ru
6164613f18 Merge mysql.com:/home/ram/work/b32559/b32559.5.0
into  mysql.com:/home/ram/work/b32559/b32559.5.1
2007-11-29 10:23:30 +04:00
df@pippilotta.erinye.com
4530750499 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build
2007-11-28 19:49:29 +01:00
malff@lambda.hsd1.co.comcast.net.
fce47dbc9a Manual merge 2007-11-28 08:41:45 -07:00
malff@lambda.hsd1.co.comcast.net.
4e8f8a0178 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
2007-11-28 07:42:36 -07:00
ramil/ram@ramil.myoffice.izhnet.ru
5d9f96af27 Merge mysql.com:/home/ram/work/b32676/b32676.5.0
into  mysql.com:/home/ram/work/b32676/b32676.5.1
2007-11-28 12:49:48 +04:00
istruewing@stella.local
da28f9eac4 Merge stella.local:/home2/mydev/mysql-5.1-amain
into  stella.local:/home2/mydev/mysql-5.1-axmrg
2007-11-27 19:29:10 +01:00
istruewing@stella.local
c389535ae9 Merge stella.local:/home2/mydev/mysql-5.0-ateam
into  stella.local:/home2/mydev/mysql-5.0-axmrg
2007-11-27 17:34:03 +01:00
malff@lambda.hsd1.co.comcast.net.
fc76a4824a 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
2007-11-27 09:03:04 -07:00
istruewing@stella.local
a39180c1f2 Merge stella.local:/home2/mydev/mysql-5.0-amain
into  stella.local:/home2/mydev/mysql-5.0-axmrg
2007-11-27 16:24:44 +01:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
14e74e82e8 Merge mysql.com:/home/ram/work/mysql-5.0-engines
into  mysql.com:/home/ram/work/b30495/b30495.5.0
2007-11-27 15:15:28 +04:00
ramil/ram@ramil.myoffice.izhnet.ru
32f9164bb5 Merge mysql.com:/home/ram/work/b30495/b30495.5.0
into  mysql.com:/home/ram/work/b30495/b30495.5.1
2007-11-27 10:14:46 +04:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
ac034767c0 Fix for bug #32559: connection hangs on query with name_const
Problem: passing a non-constant name to the NAME_CONST function results in a crash.

Fix: check the NAME_CONST name argument; return fake item type if we got
non-constant argument(s).
2007-11-27 09:36:43 +04:00