Commit graph

16598 commits

Author SHA1 Message Date
hezx@mail.hezx.com
329d1a7bf7 BUG#28908 Replication: set global server_id is not setting the session server_id
When set the server-id dynamically, the server_id member of current thread is not updated.

Update the server_id member of current thread after updated the global variable value.
2007-12-21 11:02:48 +08:00
serg@janus.mylan
b9785bbcc0 variables.result, variables.test:
test case fixed
2007-12-21 00:01:07 +01:00
serg@janus.mylan
d9ca7b670e Merge bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  janus.mylan:/usr/home/serg/Abk/mysql-5.1
2007-12-20 22:11:37 +01:00
brian@zim.(none)
97e3c6cbf4 Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.1-arch
into  zim.(none):/home/bk/mysql-5.1-arch
2007-12-20 12:32:16 -08:00
mats@capulet.kindahl.net
f1c32705f1 BUG#12691 (Exec_master_log_pos corrupted with SQL_SLAVE_SKIP_COUNTER):
Complementary patch since LOAD DATA INFILE was not covered in
the previous patch.

This patch adds a check so that the slave skip counter is not
decreased to zero if seeing a BEGIN_LOAD_QUERY_EVENT,
APPEND_BLOCK_EVENT, or CREATE_FILE_EVENT since these cannot
end a group. The group is terminated by an EXECUTE_LOAD_QUERY_
EVENT or DELETE_FILE_EVENT.
2007-12-20 16:07:54 +01:00
mhansson/martin@linux-st28.site
fe93176c30 Merge linux-st28.site:/home/martin/mysql/src/bug32848/my50-bug32848-gca
into  linux-st28.site:/home/martin/mysql/src/bug32848/my51-bug32848-gca
2007-12-20 14:19:52 +01:00
tnurnberg@white.intern.koehntopp.de
d1637b2ec4 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/misc/mysql/31990/50-31990
2007-12-20 08:35:52 +01:00
tnurnberg@white.intern.koehntopp.de
1f5b0b3954 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  mysql.com:/misc/mysql/31990/51-31990
2007-12-20 08:32:51 +01:00
tnurnberg@mysql.com/white.intern.koehntopp.de
5a9225f4c2 Bug#31990: MINUTE() and SECOND() return bogus results when used on a DATE
post-merge fixes
2007-12-20 08:15:34 +01:00
tnurnberg@white.intern.koehntopp.de
38b888dd65 Merge mysql.com:/misc/mysql/31990/50-31990
into  mysql.com:/misc/mysql/31990/51-31990
2007-12-20 07:45:16 +01:00
davi@endora.local
ab6ef39cd1 Merge mysql.com:/Users/davi/mysql/bugs/28317-5.1
into  mysql.com:/Users/davi/mysql/mysql-5.1-runtime
2007-12-19 21:01:48 -02:00
davi@mysql.com/endora.local
cab36bdf57 Bug#28317 Left Outer Join with {oj outer-join}
Parser rejects ODBC's escape sequences for outer joins other
than left outer join, yet the escape sequence BNF specifies
that this syntax can be used for left, right, and full outer
join syntax.

The problem is that although the MySQL Connector/ODBC advertises
"Outer Join Escape Sequence" capabilities, the parsing is done
in the server and historically it only supported this syntax
for left outer joins and applications such as Crystal Reports
11 tries to use this syntax for inner joins.

The chosen solution is to reorganize a couple of parser rules
to ignore any kind of SQL escape sequence. Ignoring the escape
sequences is harmless because the various SQL join clauses
are supported by the server.
2007-12-19 20:59:57 -02:00
serg@janus.mylan
b07aaec21c Merge janus.mylan:/usr/home/serg/Abk/mysql-5.0
into  janus.mylan:/usr/home/serg/Abk/mysql-5.1
2007-12-19 22:35:46 +01:00
serg@janus.mylan
4a5eb6bd17 correct invalid values in SET GLOBAL var=DEFAULT
bug#33382
2007-12-19 21:31:04 +01:00
kostja@bodhi.(none)
b9a41928e6 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  bodhi.(none):/opt/local/work/mysql-5.1-runtime
2007-12-19 22:52:31 +03:00
kostja@bodhi.(none)
15c04b2db8 Make handler::{write,delete,update}_row private. It's critical
that the entire server uses their public ha_* counterparts instead,
since only then we can ensure proper tracing of these calls that
is necessary for Bug#12713.
A pre-requisite for Bug#12713 "Error in a stored function called from 
a SELECT doesn't cause ROLLBACK of statem"
2007-12-19 22:15:02 +03:00
mkindahl@dl145h.mysql.com
bdea24f483 Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge
2007-12-19 18:51:46 +01:00
mhansson/martin@linux-st28.site
0004b99b58 Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt
into  linux-st28.site:/home/martin/mysql/src/bug32848/my50-bug32848
2007-12-19 15:59:05 +01:00
mkindahl@dl145h.mysql.com
a9daa2cd86 Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-merge
2007-12-19 14:49:04 +01:00
mkindahl@dl145h.mysql.com
fabaa50cd9 Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
2007-12-19 11:35:26 +01:00
mkindahl@dl145h.mysql.com
29c55e41b8 Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
2007-12-19 10:28:31 +01:00
serg@janus.mylan
3bd3bd1e30 Followup for bug#30252.
Ensure that all SQLCOM_ constants have corresponding Com_ variables.
2007-12-19 01:27:15 +01:00
dkatz@damien-katzs-computer.local
6b2815bedc Merge damien-katzs-computer.local:/Users/dkatz/mysql-5.1-runtime
into  damien-katzs-computer.local:/Users/dkatz/Com_create_function
2007-12-18 13:52:26 -05:00
istruewing@stella.local
cd1b00e8bb Bug#32705 - myisam corruption: Key in wrong position
at page 1024 with ucs2_bin

Inserting strings with a common prefix into a table with
characterset UCS2 corrupted the table.

An efficient search method was used, which compares end space
with ASCII blank. This doesn't work for character sets like UCS2,
which do not encode blank like ASCII does.

Use the less efficient search method _mi_seq_search()
for charsets with mbminlen > 1.
2007-12-18 12:29:50 +01:00
gkodinov/kgeorge@magare.gmz
af1231fa80 Merge magare.gmz:/home/kgeorge/mysql/autopush/B19390-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/B19390-5.1-opt
2007-12-18 11:07:08 +02:00
gkodinov/kgeorge@magare.gmz
1a8b8eb91c Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B19390-5.0-opt
2007-12-18 10:45:05 +02:00
hezx@hezx.(none)
f858fe1064 Fixed some test case for BUG#32205 2007-12-18 15:43:51 +08:00
tomas@whalegate.ndb.mysql.com
a021330f79 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb-merge
2007-12-18 07:13:59 +01:00
gkodinov/kgeorge@magare.gmz
695342d676 Bug #19390: Test 'rpl_trigger' fails, might be random
The checks in the test for bug #12480 were too wide and
made the test to depend on the procedures and triggers
present in the server.
Corrected the test to check only for the procedure and 
trigger it creates.
2007-12-17 18:56:39 +02:00
cmiller@zippy.cornsilk.net
6accbba0c0 Order results to be deterministic.
Follow SergG's lead with mysqlcheck result.
2007-12-17 08:51:29 -05:00
hezx@hezx.(none)
f8fb5adc2f Merge hezx.(none):/media/sda3/work/mysql/bkwork/bug#32205/5.1
into  hezx.(none):/media/sda3/work/mysql/bkwork/bug#32205/mysql-5.1-new-rpl
2007-12-17 21:21:23 +08:00
hezx@hezx.(none)
3255237fc2 BUG#32205 Replaying statements from mysqlbinlog fails with a syntax error, replicates
fine

The reason of this bug is that when mysqlbinlog dumps a query, the query is written to
output with a delimeter appended right after it, if the query string ends with a '--'
comment, then the delimeter would be considered as part of the comment, if there are any
statements after this query, then it will cause a syntax error.

Start a newline before appending delimiter after a query string
2007-12-17 21:13:25 +08:00
istruewing@stella.local
03a24463ca Merge stella.local:/home2/mydev/mysql-5.1-amain
into  stella.local:/home2/mydev/mysql-5.1-axmrg
2007-12-17 09:02:24 +01:00
tnurnberg@white.intern.koehntopp.de
786b3a2b16 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  mysql.com:/misc/mysql/32770/51-32770
2007-12-17 08:10:13 +01:00
tnurnberg@white.intern.koehntopp.de
2ab88382ef Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/misc/mysql/32770/50-32770
2007-12-17 07:54:32 +01:00
tnurnberg@white.intern.koehntopp.de
4abda87881 Merge mysql.com:/misc/mysql/32770/50-32770
into  mysql.com:/misc/mysql/32770/51-32770
2007-12-17 07:49:26 +01:00
mhansson/martin@linux-st28.site
ca5f50788e Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt
into  linux-st28.site:/home/martin/mysql/src/bug32798-united/my50-bug32798-united-push
2007-12-15 16:45:21 +01:00
kostja@bodhi.(none)
4bb503568d Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.(none):/opt/local/work/mysql-5.0-runtime
2007-12-15 17:00:18 +03:00
hezx@hezx.(none)
c2f00cc3f9 BUG#32205 Replaying statements from mysqlbinlog fails with a syntax error, replicates fine
The reason of this bug is that when mysqlbinlog dumps a query, the query is written to
output with a delimeter appended right after it, if the query string ends with a '--'
comment, then the delimeter would be considered as part of the comment, if there are any
statements after this query, then it will cause a syntax error.

Start a newline before appending delimiter after a query string
2007-12-15 19:50:23 +08:00
mhansson/martin@linux-st28.site
59314ee35b Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt
into  linux-st28.site:/home/martin/mysql/src/bug32858/my50-bug32858-push
2007-12-15 12:07:33 +01:00
mhansson/martin@linux-st28.site
bcfdd27481 Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt
into  linux-st28.site:/home/martin/mysql/src/bug32798-united/my50-bug32798-united-push
2007-12-15 12:02:33 +01:00
mhansson/martin@linux-st28.site
e8d1380263 Merge mhansson@bk-internal:/home/bk/mysql-5.1-opt
into  linux-st28.site:/home/martin/mysql/src/bug32798-united/my51-bug32798-united-push
2007-12-15 11:54:02 +01:00
tomas@whalegate.ndb.mysql.com
b7a869f36e Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb-merge
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
2007-12-15 09:20:41 +01:00
malff@lambda.hsd1.co.comcast.net.
0488056ca8 WL#4165 (Prepared statements: validation)
Adding the tests cases alone for WL#4165, disabled
2007-12-14 17:46:24 -07:00
dkatz@damien-katzs-computer.local
4b5f344416 Bug #30252 Com_create_function is not incremented.
Added Com_create_spfunction and all other commands previously missing to the global status variables.
2007-12-14 18:27:40 -05:00
igor@olga.mysql.com
f25e30ebed Fixed bug #27848.
In a union without braces, the order by at the end is applied to the 
overall union. It therefore should not interfere with the individual
select parts of the union.

Fixed by changing our parser rules appropriately.
2007-12-14 13:42:46 -08:00
cmiller@zippy.cornsilk.net
880a202a56 Recorded silly ephemeral test. 2007-12-14 14:52:33 -05:00
cmiller@zippy.cornsilk.net
edbacd3a99 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-forcollapseandmerge
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
2007-12-14 13:42:09 -05:00
sven@riska.(none)
5cc348a6a6 BUG#32407: Impossible to do point-in-time recovery from older binlog
Problem: it is unsafe to read base64-printed events without first
reading the Format_description_log_event (FD).  Currently, mysqlbinlog
cannot print the FD.

As a side effect, another bug has also been fixed: When mysqlbinlog
--start-position=X was specified, no ROLLBACK was printed. I changed
this, so that ROLLBACK is always printed.

This patch does several things:

 - Format_description_log_event (FD) now print themselves in base64
   format.

 - mysqlbinlog is now able to print FD events.  It has three modes:
    --base64-output=auto    Print row events in base64 output, and print
                            FD event.  The FD event is printed even if
                            it is outside the range specified with
                            --start-position, because it would not be
                            safe to read row events otherwise. This is
                            the default.

    --base64-output=always  Like --base64-output=auto, but also print
                            base64 output for query events.  This is
                            like the old --base64-output flag, which
                            is also a shorthand for
                            --base64-output=always

    --base64-output=never   Never print base64 output, generate error if
                            row events occur in binlog.  This is
                            useful to suppress the FD event in binlogs
                            known not to contain row events (e.g.,
                            because BINLOG statement is unsafe,
                            requires root privileges, is not SQL, etc)

 - the BINLOG statement now handles FD events correctly, by setting
   the thread's rli's relay log's description_event_for_exec to the
   loaded event.

   In fact, executing a BINLOG statement is almost the same as reading
   an event from a relay log.  Before my patch, the code for this was
   separated (exec_relay_log_event in slave.cc executes events from
   the relay log, mysql_client_binlog_statement in sql_binlog.cc
   executes BINLOG statements).  I needed to augment
   mysql_client_binlog_statement to do parts of what
   exec_relay_log_event does.  Hence, I did a small refactoring and
   moved parts of exec_relay_log_event to a new function, which I
   named apply_event_and_update_pos.  apply_event_and_update_pos is
   called both from exec_relay_log_event and from
   mysql_client_binlog_statement.

 - When a non-FD event is executed in a BINLOG statement, without
   previously executing a FD event in a BINLOG statement, it generates
   an error, because that's unsafe.  I took a new error code for that:
   ER_NO_FORMAT_DESCRIPTION_EVENT_BEFORE_BINLOG_STATEMENTS.

   In order to get a decent error message containing the name of the
   event, I added the class method char*
   Log_event::get_type_str(Log_event_type type), which returns a
   string name for the given Log_event_type.  This is just like the
   existing char* Log_event::get_type_str(), except it is a class
   method that takes the log event type as parameter.

   I also added PRE_GA_*_ROWS_LOG_EVENT to Log_event::get_type_str(),
   so that names of old rows event are properly printed.

 - When reading an event, I added a check that the event type is known
   by the current Format_description_log_event. Without this, it may
   crash on bad input (and I was struck by this several times).

 - I patched the following test cases, which all contain BINLOG
   statements for row events which must be preceded by BINLOG
   statements for FD events:
    - rpl_bug31076

While I was here, I fixed some small things in log_event.cc:

 - replaced hard-coded 4 by EVENT_TYPE_OFFSET in 3 places

 - replaced return by DBUG_VOID_RETURN in one place

 - The name of the logfile can be '-' to indicate stdin.  Before my
   patch, the code just checked if the first character is '-'; now it
   does a full strcmp().  Probably, all arguments that begin with a -
   are already handled somewhere else as flags, but I still think it
   is better that the code reflects what it is supposed to do, with as
   little dependencies as possible on other parts of the code.  If we
   one day implement that all command line arguments after -- are
   files (as most unix tools do), then we need this.

I also fixed the following in slave.cc:

 - next_event() was declared twice, and queue_event was not static but
   should be static (not used outside the file).
2007-12-14 19:02:02 +01:00
cmiller@zippy.cornsilk.net
62d29ea8d3 Correct complaints of reviewers and clean up test. 2007-12-14 08:57:37 -05:00