1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-10 23:02:54 +03:00
Commit Graph

26958 Commits

Author SHA1 Message Date
svoj@mysql.com/april.(none)
3b5c25ba65 BUG#22989 - START SLAVE causes Error on COM_REGISTER_SLAVE: 1105
'Wrong parameters to functi

START SLAVE reports vague error when it fails to register on master:
"Wrong parameters to function register_slave".

If master failed to register slave because of too long
'report-host'/'report-user'/'report-password', return better error
messages:
"Failed to register slave: too long 'report-host'"
"Failed to register slave: too long 'report-user'"
"Failed to register slave; too long 'report-password'"

No test case for this fix.
2008-01-31 18:51:20 +04:00
aelkin/elkin@koti.dsl.inet.fi
c9461608e7 Bug #32971 No user level error message from slave sql thread when ER_NO_DEFAULT_FOR_FIELD
The error message due to lack of the default value for an extra field
was not as informative as it should be.

Fixed with improving the scheme of gathering, propagating and reporting
errors in applying rows events. 
The scheme is in the following.
Any kind of error of processing of a row event incidents are to be 
registered with my_error().
In the end Rows_log_event::do_apply_event() invokes rli->report() with the 
message to display consisting of all the errors.
This mimics `show warnings' displaying.
A simple test checks three errors in processing an event.
Two hunks - a user level error and pushing it into the list - 
have been devoted to already fixed Bug@31702.

Some open issues relating to this artifact listed on BUG@21842 page and
on WL@3679.
Todo: to synchronize the statement in the tests comments on Update and Delete
events may not stop when an extra field does not have a default with wl@3228 spec.
2008-01-31 14:54:03 +02:00
holyfoot/hf@mysql.com/hfmain.(none)
128b9b0727 Bug #25426 Prefix index on DECIMAL column causes warning.
Error message modified to be consistent with the manual.
2008-01-31 15:56:02 +04:00
mkindahl@dl145h.mysql.com
6aacc6415a Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-merge
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge
2008-01-31 12:32:48 +01:00
mattiasj@witty.ndb.mysql.com
1dfeec5ced Merge witty.ndb.mysql.com:/Users/mattiasj/clones/mysql-5.1-bug30459
into  witty.ndb.mysql.com:/Users/mattiasj/clones/mysql-5.1-topush
2008-01-31 10:11:19 +01:00
mkindahl@dl145h.mysql.com
b8428d1560 Fixes to make code compile on Windows. 2008-01-31 07:19:29 +01:00
tsmith@ramayana.hindu.god
9965472d43 Merge ramayana.hindu.god:/home/tsmith/m/bk/build/50
into  ramayana.hindu.god:/home/tsmith/m/bk/build/51
2008-01-30 19:00:46 -07:00
tsmith@ramayana.hindu.god
c74959c9e0 Bug #32149 Long semaphore wait for adaptive hash latch
Fix by calling ha_release_temporary_latches() before ::filesort().
2008-01-30 19:00:20 -07:00
kostja@dipika.(none)
917c7952ba Fix a build failure (embedded server). 2008-01-30 23:04:55 +03: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
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
tomas@whalegate.ndb.mysql.com
07fafa2b61 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge
2008-01-30 16:08:25 +01:00
mkindahl@dl145h.mysql.com
219a75056a Post-merge changes. 2008-01-30 16:03:00 +01:00
tomas@whalegate.ndb.mysql.com
4c77586d5c Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb-merge
2008-01-30 15:36:46 +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
gkodinov/kgeorge@macbook.gmz
2eeebda7a4 Merge bk-internal:/home/bk/mysql-5.1-opt
into  macbook.gmz:/Users/kgeorge/mysql/work/B31326-merge-5.1-opt
2008-01-30 13:37:57 +02: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
iggy@alf.(none)
18aba8a82c Bug#31929 Windows build fails with >=4 Parallel build threads.
- Add GenError Dependency to storage engines that include 
mysqld_error.h
2008-01-29 21:58:57 -05: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
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
istruewing@stella.local
4b2312d293 Merge stella.local:/home2/mydev/mysql-5.1-amain
into  stella.local:/home2/mydev/mysql-5.1-axmrg
2008-01-29 10:59:32 +01: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
mikael@dator6.(none)
8de834fc6a BUG#33182: Disallow division due to div_precision_increment problems 2008-01-28 22:05:25 +01:00
mikael@dator6.(none)
159b509cab BUG#33429: No check for maxvalue before adding partition 2008-01-28 16:11:43 +01:00
mikael@dator6.(none)
53546f51f5 BUG#32943: Fixed buggy lock handling of ALTER TABLE for partitioning 2008-01-28 15:20:55 +01:00
joerg@trift2.
a6f257361e Merge trift2.:/MySQL/M50/mysql-5.0
into  trift2.:/MySQL/M50/push-5.0
2008-01-28 15:05:33 +01:00
igor@olga.mysql.com
5e14047e23 Fixed bug #33833.
Two disjuncts containing equalities of the form key=const1 and key=const2 can
be merged into one if const1 is equal to const2. To check it the common 
collation of the constants were used rather than the collation of the field key.
For example when the default collation of the constants was cases insensitive
while the collation of the field was case sensitive, then two or-ed equality 
predicates key='b' and key='B' incorrectly were merged into one f='b'. As a 
result ref access was used instead of range access and wrong result sets were 
returned in many cases. 
Fixed the problem by comparing constant in the or-ed predicate with collation of
the key field.
2008-01-26 21:45:35 -08:00
acurtis/antony@ltamd64.xiphis.org
e70f8dc417 Merge xiphis.org:/anubis/antony/work/bug33358.2
into  xiphis.org:/anubis/antony/work/bug33358.2-merge-5.1
2008-01-26 02:16:29 -08:00
acurtis/antony@xiphis.org/ltamd64.xiphis.org
82839a0bbb fixes to make pushbuild tests green 2008-01-26 02:13:35 -08:00
acurtis/antony@ltamd64.xiphis.org
8629f2e313 Merge xiphis.org:/anubis/antony/work/bug33358.2
into  xiphis.org:/anubis/antony/work/bug33358.2-merge-5.1
2008-01-25 17:38:24 -08:00
acurtis/antony@xiphis.org/ltamd64.xiphis.org
98515df213 Bug#33358
"Plugin enum variables can't be set from command line"
  fix crash of LOCK_plugins mutex when loading plug-ins from command line.
  fix off-by-one bug when loading multiple plug-ins from the command line.
  initialize command line handling for ENUM and SET plugin variable types.
2008-01-25 16:05:15 -08: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
mskold/marty@quadfish.(none)
1715bb188d Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.1-new-ndb
into  mysql.com:/home/marty/MySQL/mysql-5.1-new-ndb
2008-01-25 14:34:15 +01: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
istruewing@stella.local
a07d4d72f5 Merge stella.local:/home2/mydev/mysql-5.1-amain
into  stella.local:/home2/mydev/mysql-5.1-axmrg
2008-01-24 20:06:03 +01: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
tsmith@ramayana.hindu.god
fa257c031c Applied innodb-5.0-ss2223 snapshot
Fixes:

Bug #32083: server crashes on show status when InnoDB is not initialized
  innodb_export_status(): Check that InnoDB has been initialized
  before invoking srv_export_innodb_status().  (Bug #32083)
  This bug does not exist in MySQL/InnoDB 5.1.
2008-01-23 18:20:04 -07: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.
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
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
tomas@whalegate.ndb.mysql.com
b422aed975 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb-merge
2008-01-23 15:07:18 +01:00