Commit graph

52697 commits

Author SHA1 Message Date
mkindahl@dl145h.mysql.com
10b194d272 Changes to fix tests in pushbuild. 2008-01-31 12:17:40 +01:00
hezx@mail.hezx.com
43c4a4c359 Post merge fix 2008-01-31 16:51:55 +08:00
mkindahl@dl145h.mysql.com
b8428d1560 Fixes to make code compile on Windows. 2008-01-31 07:19:29 +01:00
kostja@dipika.(none)
917c7952ba Fix a build failure (embedded server). 2008-01-30 23:04:55 +03:00
mkindahl@dl145h.mysql.com
5367b13823 Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-merge
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge
2008-01-30 20:29:17 +01:00
sven@riska.(none)
772ff3d43a Merge riska.(none):/home/sven/bktip/5.1-new-rpl
into  riska.(none):/home/sven/bk/b32434-version_replication/5.1-new-rpl
2008-01-30 19:40:12 +01:00
mkindahl@dl145h.mysql.com
b9b38cb576 Disabling rpl_transaction test for non-debug builds. 2008-01-30 18:24:28 +01:00
mkindahl@dl145h.mysql.com
7552798971 Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge
2008-01-30 17:46:37 +01:00
mkindahl@dl145h.mysql.com
31355747d2 Fixing return value. 2008-01-30 17:35:25 +01:00
kostja@dipika.(none)
b46ce80902 A fix and a test case for Bug#34166 Server crash in SHOW OPEN TABLES and
pre-locking.

The crash was caused by an implicit assumption in check_table_access() that
table_list parameter is always a part of lex->query_tables.

When iterating over the passed list of tables, check_table_access() used
to stop only when lex->query_tables_last_not_own was reached. 
In case of pre-locking, lex->query_tables_last_own is not NULL and points
to some element of lex->query_tables. When the parameter
of check_table_access() was not part of lex->query_tables, loop invariant
could never be violated and a crash would happen when the current table
pointer would point beyond the end of the provided list.

The fix is to change the signature of check_table_access() to also accept
a numeric limit of loop iterations, similarly to check_grant(), and 
supply this limit in all places when we want to check access of tables
that are outside lex->query_tables, or just want to check access to one table.
2008-01-30 18:27:41 +03:00
mkindahl@dl145h.mysql.com
2a864d1fd7 Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge
2008-01-30 16:14:14 +01:00
mkindahl@dl145h.mysql.com
59d027c610 .del-show_binlog_events2.inc:
Delete: mysql-test/include/show_binlog_events2.inc
2008-01-30 16:11:39 +01:00
mkindahl@dl145h.mysql.com
219a75056a Post-merge changes. 2008-01-30 16:03:00 +01:00
mkindahl@dl145h.mysql.com
a440007ca4 Changes to make tests pass in pushbuild. 2008-01-30 15:58:35 +01:00
sven@riska.(none)
30cd549e3b BUG#34141: mysqlbinlog cannot read 4.1 binlogs containing load data infile
Main problem: mysql 5.1 cannot read binlogs from 4.1.
Subproblem 1: There is a mistake in sql_ex_info::init. The read_str()
function updates its first argument to point to the next character to
read. However, it is applied only to a copy of the buffer pointer, so the
real buffer pointer is not updated.
Fix 1: do not take a copy of the buffer pointer. The copy was needed
because sql_ex_info::init does not use the const attribute on some of its
arguments. So we add the const attribute, too.
Subproblem 2: The first BINLOG statement is asserted to be a
FORMAT_DESCRIPTION_LOG_EVENT, but 4.1 binlogs begin with START_EVENT_V3.
Fix 2: allow START_EVENT_V3 too.
2008-01-30 14:12:40 +01:00
mkindahl@dl145h.mysql.com
018cb16b3a Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge
2008-01-30 12:53:33 +01:00
mkindahl@dl145h.mysql.com
3bcab5899d Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
2008-01-30 12:14:14 +01:00
mkindahl@dl145h.mysql.com
716c63ebaa Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-merge
2008-01-30 11:25:54 +01:00
hezx@mail.hezx.com
afe8ac3128 Merge zhe@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  mail.hezx.com:/media/sda3/work/mysql/bkwork/bug26489_corruption_in_relay_log/5.0
2008-01-30 16:40:36 +08:00
sven@riska.(none)
dd913eaaf6 BUG#32434: Replication doesn't work between 5.2.1-a_drop6p9-log and 5.1.22-ndb-6.3.6-telco
Problem: When slave reads format_description_log_event, it checks if the
master is a version that uses an old binlog format. See also BUG#27779.
Not all possible server_versions were listed.
Fix: Check for all server_versions which use the old binlog_format.
2008-01-29 14:47:26 +01:00
mkindahl@dl145h.mysql.com
9294edeb43 Test changes to fix failures in pushbuild. 2008-01-29 14:43:41 +01:00
davi@endora.local
960c243457 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  mysql.com:/Users/davi/mysql/mysql-5.1-runtime
2008-01-29 10:39:36 -02:00
davi@mysql.com/endora.local
9c6c3aca5e Fix test case of Bug 30331 2008-01-29 10:37:44 -02:00
hezx@mail.hezx.com
7572a9e391 update test result 2008-01-29 19:21:21 +08:00
kostja@dipika.(none)
928390bf24 Fix Bug#27812 "an ampersand is missed in sql/sql_bitmap.h, line 68" 2008-01-29 14:14:34 +03:00
hezx@mail.hezx.com
e4f37eab56 BUG#26489 Corruption in relay logs
Here is the scenario that causes the failure.(by Mats)

1. The to-be corrupt log event (let's call it X), is split into two
   packets B and C on the network level (net_write_buff()). The parts
   are X = (x',x''). The part x' ends up in packet B and part x''
   ends up in packet C. Prior to the corrupt event X, the event Y has
   been written successfully, but has been split into two packets as
   well, which we call (y',y'').
2. The master sends packet A = (y'',x') to the slave, increases the
   packet sequence number, the slave receives the packet, but fails
   to reply before the master gets a timeout.
3. Since the master got a timeout, it reports failure, and aborts
   sending the binary log by exiting mysql_binlog_send(). However, it
   leaves the buffer intact, still holding y'' (but not x', since the
   write_pos is not increased).
4. After exiting mysql_binlog_send(), the master does a
   disconnection of the client thread, which involves sending an
   error message e to the client (i.e., the slave).
5. In this case, net_write_buff() is used again, but this time the
   old contents of the packet is used so that the new packet is
   D = (y'',e). Note that this will use a new packet sequence number,
   since the packet number was increased in step 2.
6. The slave receives the tail y'' of the Y log event, concatenates
   this with x' (which it already received), and writes the event
   (x',y'') it to the relay log since it hasn't noticed anything is
   amiss.
7. It then tries to read more bytes, which is either e (if the length
   given for X just happened to match the length given for Y, or just
   plain garbage because the slave is out of sync with what is
   actually sent.
8. After a while, the SQL thread tries to execute the event (x',y''),
   which is very likely to be just nonsense.

The problem can be fixed by not resetting net->error after the call of 
mysql_binlog_send, so the error message will not be sent and the connection
will be closed.
2008-01-29 11:56:48 +08:00
davi@mysql.com/endora.local
bfb3069f19 Remove spurious commented out test line. 2008-01-28 11:21:39 -02:00
davi@mysql.com/endora.local
ef3200f776 Bug#30331 Table_locks_waited shows inaccurate values
The problem is that the Table_locks_waited was incremented only
when the lock request succeed. If a thread waiting for the lock
gets killed or the lock request is aborted, the variable would
not be incremented, leading to inaccurate values in the variable.

The solution is to increment the Table_locks_waited whenever the
lock request is queued. This reflects better the intended behavior
of the variable -- show how many times a lock was waited.
2008-01-28 10:52:41 -02:00
tsmith@ramayana.hindu.god
dbcd4d9ec8 Merge ramayana.hindu.god:/home/tsmith/m/bk/maint/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51
2008-01-27 14:31:49 -07:00
tsmith@ramayana.hindu.god
1bf737a152 Fix test case for Bug #25347 so that it actually tests the code fix,
and so that it works correctly on Windows.
2008-01-27 14:28:50 -07:00
tsmith@ramayana.hindu.god
41f288f1b9 Merge ramayana.hindu.god:/home/tsmith/m/bk/maint/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51
2008-01-25 16:02:41 -07:00
tsmith@ramayana.hindu.god
218627aa33 Un-break test case on Windows, for bug #25347 2008-01-25 16:00:15 -07:00
tsmith@ramayana.hindu.god
b92a9a6142 Merge ramayana.hindu.god:/home/tsmith/m/bk/maint/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51
2008-01-25 13:25:34 -07:00
tsmith@ramayana.hindu.god
3906cc27d7 Merge ramayana.hindu.god:/home/tsmith/m/bk/51
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51
2008-01-25 10:37:29 -07:00
tsmith@ramayana.hindu.god
f522912d20 Merge ramayana.hindu.god:/home/tsmith/m/bk/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50
2008-01-25 10:03:15 -07:00
hezx@mail.hezx.com
750c4022f2 BUG#33862 completely failed DROP USER statement gets replicated
The problem is when create/rename/drop users, the statement was logged regardless of error, even if no data has been changed, the statement was logged.

After this patch, create/rename/drop users don't write the binlog if the statement makes no changes, if the statement does make any changes, log the statement with possible error code.

This patch is based on the patch for BUG#29749, which is not pushed
2008-01-25 15:02:26 +08:00
anozdrin/alik@quad.
21630ab91f Merge quad.:/mnt/raid/alik/MySQL/devel/5.0-rt
into  quad.:/mnt/raid/alik/MySQL/devel/5.1-rt
2008-01-24 17:45:09 +03:00
anozdrin/alik@quad.
5ff7860f69 Merge quad.:/mnt/raid/alik/MySQL/devel/5.1
into  quad.:/mnt/raid/alik/MySQL/devel/5.1-rt-merged-5.0-rt
2008-01-24 17:40:16 +03:00
anozdrin/alik@quad.
1c1401bbb2 Merge quad.:/mnt/raid/alik/MySQL/devel/5.0
into  quad.:/mnt/raid/alik/MySQL/devel/5.0-rt-merged-5.0
2008-01-24 17:37:16 +03:00
kaa@kaamos.(none)
de3f89096d Merge ssh://bk-internal.mysql.com//home/bk/mysql-5.1
into  kaamos.(none):/data/src/opt/mysql-5.1-opt
2008-01-24 14:58:38 +03:00
malff@lambda.hsd1.co.comcast.net.
e685e7e354 Manual merge 2008-01-23 16:21:09 -07:00
malff@lambda.hsd1.co.comcast.net.
ec6c4fad89 Merge lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-33618
into  lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.1-33618
2008-01-23 15:36:57 -07:00
malff@lambda.hsd1.co.comcast.net.
7bd56cfa79 manual merge 2008-01-23 14:52:40 -07:00
malff@lambda.hsd1.co.comcast.net.
1eecc24a21 Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-33618
2008-01-23 14:04:46 -07:00
tsmith@ramayana.hindu.god
5f6429b01a Merge ramayana.hindu.god:/home/tsmith/m/bk/maint/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51
2008-01-23 13:27:11 -07:00
malff@lambda.hsd1.co.comcast.net.
c3ad0cac75 Bug#33618 (Crash in sp_rcontext)
Bug 33983 (Stored Procedures: wrong end <label> syntax is accepted)

The server used to crash when REPEAT or another control instruction
was used in conjunction with labels and a LEAVE instruction.

The crash was caused by a missing "pop" of handlers or cursors in the
code representing the stored program. When executing the code in a loop,
this missing "pop" would result in a stack overflow, corrupting memory.

Code generation has been fixed to produce the missing h_pop/c_pop
instructions.

Also, the logic checking that labels at the beginning and the end of a
statement are matched was incorrect, causing Bug 33983.
End labels, when used, must match the label used at the beginning of a block.
2008-01-23 13:26:41 -07:00
cmiller@zippy.cornsilk.net
fdb423e8de Merge bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
2008-01-23 13:50:27 -05:00
tsmith@ramayana.hindu.god
ff4835385a Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50
2008-01-23 11:48:29 -07:00
cmiller@zippy.cornsilk.net
2d259302ea Merge zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
2008-01-23 11:53:06 -05:00
cmiller@zippy.cornsilk.net
71316696a1 Patch contributed by Jocelyn Fournier. CLA received 2007-02-27.
Bug#25347: mysqlcheck -A -r doesn't repair table marked as crashed

mysqlcheck tests nullness of the engine type to know whether the
"table" is a view or not.  That also falsely catches tables that 
are severly damaged.

Instead, use SHOW FULL TABLES to test whether a "table" is a view
or not.

(Don't add new function.  Instead, get original data a smarter way.)

Make it safe for use against databases before when views appeared.
2008-01-23 11:37:46 -05:00