Commit graph

2906 commits

Author SHA1 Message Date
tnurnberg@mysql.com/white.intern.koehntopp.de
b89fabe164 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  mysql.com:/misc/mysql/31752_/41-31752_
2007-12-17 14:06:15 +01:00
tnurnberg@white.intern.koehntopp.de
72b007864e Merge mysql.com:/misc/mysql/31752_/50-31752_
into  mysql.com:/misc/mysql/31752_/51-31752_
2007-12-17 12:11:14 +01:00
tnurnberg@white.intern.koehntopp.de
5016d16507 Merge mysql.com:/misc/mysql/31752_/41-31752_
into  mysql.com:/misc/mysql/31752_/50-31752_
2007-12-17 12:10:26 +01:00
tnurnberg@mysql.com/white.intern.koehntopp.de
93894a444e Bug#31752: check strmake() bounds
fix test program
2007-12-17 12:09:21 +01:00
tnurnberg@mysql.com/white.intern.koehntopp.de
94d7b8273f Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  mysql.com:/misc/mysql/31752_/51-31752_
2007-12-17 09:48:30 +01:00
tnurnberg@white.intern.koehntopp.de
f7aa719268 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/misc/mysql/31752_/50-31752_
2007-12-17 09:45:36 +01:00
tnurnberg@white.intern.koehntopp.de
d611f84449 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  mysql.com:/misc/mysql/32350/51-32350
2007-12-17 06:55:47 +01:00
tnurnberg@white.intern.koehntopp.de
a9cffb3e4d Merge mysql.com:/misc/mysql/32350/50-32350
into  mysql.com:/misc/mysql/32350/51-32350
2007-12-17 06:14:53 +01:00
tnurnberg@white.intern.koehntopp.de
c0f5a7cb69 Merge mysql.com:/misc/mysql/32350/41-32350
into  mysql.com:/misc/mysql/32350/50-32350
2007-12-17 06:13:52 +01:00
tnurnberg@mysql.com/white.intern.koehntopp.de
b52ac74d54 Bug#32350: mysqldump should show more version information in output
show version of mysqldump, release of server et al., and version of
current server in mysqldumps.
2007-12-17 06:13:26 +01: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
anozdrin/alik@station.
151444c626 Merge station.:/mnt/raid/alik/MySQL/devel/5.1
into  station.:/mnt/raid/alik/MySQL/devel/5.1-rt
2007-12-14 16:30:22 +03:00
kostja@bodhi.(none)
5b80d6a11b Fix broken embedded build (broken by the patch for Bug#12713, first part). 2007-12-13 23:58:55 +03:00
gluh@eagle.(none)
4f5868114a Merge mysql.com:/home/gluh/MySQL/Merge/5.1
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
2007-12-13 15:56:04 +04:00
gluh@eagle.(none)
e039595029 Merge mysql.com:/home/gluh/MySQL/Merge/5.0
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
2007-12-13 14:52:49 +04: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
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
tnurnberg@white.intern.koehntopp.de
f561e8ddf3 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  mysql.com:/misc/mysql/31177/51-31177
2007-12-02 03:19:07 +01:00
tnurnberg@white.intern.koehntopp.de
55d6d04df0 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/misc/mysql/31177/50-31177
2007-12-02 01:48:43 +01:00
tnurnberg@white.intern.koehntopp.de
9598ea4f45 Merge mysql.com:/misc/mysql/31177/50-31177
into  mysql.com:/misc/mysql/31177/51-31177
2007-12-01 15:53:56 +01:00
tnurnberg@mysql.com/white.intern.koehntopp.de
31d4e58ad4 Bug#31177: Server variables can't be set to their current values
Default values of variables were not subject to upper/lower bounds
and step, while setting variables was. Bounds and step are also
applied to defaults now; defaults are corrected quietly, values
given by the user are corrected, and a correction-warning is thrown
as needed. Lastly, very large values could wrap around, starting
from 0 again. They are bounded at the maximum value for the
respective data-type now if no lower maximum is specified in the
variable's definition.
2007-11-30 06:32:04 +01:00
tsmith@ramayana.hindu.god
b44d792324 Merge ramayana.hindu.god:/home/tsmith/m/bk/maint/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51
2007-11-27 11:38:18 -07:00
msvensson@pilot.mysql.com
f45cf3e975 Bug#25146 Some warnings/errors not shown when using --show-warnings
- Additional patch to fix compiler warnings
2007-11-26 19:50:43 +01:00
msvensson@pilot.mysql.com
385e3a895e Revert 2007-11-26 19:42:07 +01:00
msvensson@pilot.mysql.com
702361735a Fix warning about possibly uninitialized variable "warnings" 2007-11-26 16:45:58 +01:00
tnurnberg@white.intern.koehntopp.de
72cd363665 Merge mysql.com:/misc/mysql/31752_/50-31752_
into  mysql.com:/misc/mysql/31752_/51-31752_
2007-11-26 09:19:30 +01:00
tnurnberg@mysql.com/white.intern.koehntopp.de
883338a949 Bug#31752: check strmake() bounds
strmake() called with wrong parameters:
5.0-specific fixes.
2007-11-26 09:13:23 +01:00
mkindahl@dl145h.mysql.com
0c7f3bdeba Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge
2007-11-21 21:15:33 +01:00
mkindahl@dl145h.mysql.com
3cf2733086 Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-merge
2007-11-21 21:11:57 +01:00
tsmith@ramayana.hindu.god
56b9199ba3 Merge ramayana.hindu.god:/home/tsmith/m/bk/build/b25146/51
into  ramayana.hindu.god:/home/tsmith/m/bk/build/51
2007-11-20 20:35:14 -07:00
tsmith@ramayana.hindu.god
6a193c5528 Bug #25146: Some warnings/errors not shown when using --show-warnings
In several cases, an error when processing the query would cause mysql to
return to the top level without printing warnings.  Fix is to always
print any available warnings before returning to the top level.
2007-11-20 17:03:56 -07:00
guilhem@gbichot4.local
2bcf5b4e97 BUG#27850 "mysqldump --single-transaction does not work if TRUNCATE/DROP/RENAME/ALTER":
this has already been closed by a note in the manual, now we
complete this by a note in "mysqldump --help"
2007-11-20 10:25:07 +01:00
kaa@polly.(none)
4cbcdb9b88 Merge polly.(none):/home/kaa/src/opt/bug32376/my51-bug26215
into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt
2007-11-19 16:16:44 +03:00
kaa@polly.(none)
ee1bb66368 Merge polly.(none):/home/kaa/src/opt/bug32376/my50-bug26215
into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
2007-11-19 16:14:05 +03:00
kaa@polly.(none)
74bc350bcc Merge polly.(none):/home/kaa/src/opt/bug32376/my50-bug26215
into  polly.(none):/home/kaa/src/opt/bug32376/my51-bug26215
2007-11-19 15:57:50 +03:00
kaa@polly.(none)
b93bbc5ea6 Changed the help text for --comments to make it clear which option
disables the option explicitely.
Changed the option location in code so that --help will show it in
lexical option order.

This is for bug #26215: mysql command line client should not strip
comments from SQL statements
2007-11-19 15:27:44 +03:00
evgen@moonbone.local
c406150f34 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  moonbone.local:/work/30081-bug-5.1-opt-mysql
2007-11-13 13:29:42 +00:00
evgen@moonbone.local
4fa7ee92e6 Bug#30081: "ON UPDATE CURRENT_TIMESTAMP" wasn't shown by the SHOW FIELDS
command and reported to a client.

The fact that a timestamp field will be set to NO on UPDATE wasn't shown 
by the SHOW COMMAND and reported to a client through connectors. This led to
problems in the ODBC connector and might lead to a user confusion.

A new filed flag called ON_UPDATE_NOW_FLAG is added. 
Constructors of the Field_timestamp set it when a field should be set to NOW
on UPDATE.

The get_schema_column_record function now reports whether a timestamp field
will be set to NOW on UPDATE.
2007-11-13 13:24:48 +00:00
msvensson@pilot.mysql.com
64019f014d Merge pilot.mysql.com:/data/msvensson/mysql/mysql-5.0-maint
into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-new-maint
2007-11-06 11:07:30 +01:00
kaa@polly.(none)
fdaec60f18 Merge polly.(none):/home/kaa/src/opt/bug26215/my51-bug26215
into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt
2007-11-05 14:48:39 +03:00
kaa@polly.(none)
02b913ad26 Merge polly.(none):/home/kaa/src/opt/bug26215/my50-bug26215
into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
2007-11-05 14:45:55 +03:00
kaa@polly.(none)
6b828c8288 Merge polly.(none):/home/kaa/src/opt/bug26215/my50-bug26215
into  polly.(none):/home/kaa/src/opt/bug26215/my51-bug26215
2007-11-05 13:32:14 +03:00
kaa@polly.(none)
910003b544 Fixed code that parses the DELIMITER command to correctly calculate
the length of the remaining input string.

This is to fix mysqldump test failure in PB introduced by the patch
for bug #26215.
2007-11-05 13:30:31 +03:00
kaa@polly.(none)
e4403f2eb3 Merge polly.(none):/home/kaa/src/opt/bug26215/my51-bug26215
into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt
2007-11-02 17:26:28 +03:00
kaa@polly.(none)
fa462599ca Merge polly.(none):/home/kaa/src/opt/bug26215/my50-bug26215
into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
2007-11-02 17:23:12 +03:00
kaa@polly.(none)
794274ab10 5.1-specific changes for bug #26215 after merging the patch from 5.0:
- Added trigger tests back.
- Fixed test cases to match the extended output format of SHOW CREATE ...
- Replaced 'gptr' with 'uchar *'.
2007-11-02 16:40:08 +03:00
kaa@polly.(none)
4b12f94394 Merge polly.(none):/home/kaa/src/opt/bug26215/my50-bug26215
into  polly.(none):/home/kaa/src/opt/bug26215/my51-bug26215
2007-11-02 13:44:23 +03:00
kaa@polly.(none)
9cd5f49c53 Fix for:
bug #26215: mysql command line client should not strip comments
              from SQL statements
and
  bug #11230: Keeping comments when storing stored procedures

With the introduction of multiline comments support in the command line
client (mysql) in MySQL 4.1, it became impossible to preserve
client-side comments within single SQL statements or stored routines.
This feature was useful for monitoring tools and maintenance.

The patch adds a new option to the command line client
('--enable-comments', '-c') which allows to preserve SQL comments and
send them to the server for single SQL statements, and to keep comments
in the code for stored procedures / functions / triggers.

The patch is a modification of the contributed patch from bug #11230
with the following changes:
- code style changes to conform to the coding guidelines
- changed is_prefix() to my_strnncoll() to detect the DELIMITER
command, since the first one is case-sensitive and not charset-aware
- renamed t/comments-51.* to t/mysql_comments.*
- removed tests for comments in triggers since 5.0 does not have SHOW
CREATE TRIGGER (those tests will be added back in 5.1).

The test cases are only for bug #11230. No automated test case for bug
#26215 is possible due to the test suite deficiencies (though the cases
from the bug report were tested manually).
2007-11-02 13:40:34 +03:00
gluh@mysql.com/eagle.(none)
b0e9fa31af Bug#31113 mysqldump 5.1 can't handle a dash ("-") in database names
db name should be quoted. this code does communication with the server.
it's always ok to quote names in this case.
2007-11-02 12:24:45 +04:00