1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-16 20:23:18 +03:00
Commit Graph

22324 Commits

Author SHA1 Message Date
mats@kindahl-laptop.dnsalias.net
012bccc09f BUG#24860 (Incorrect SLAVE_TRANSACTION_RETRIES code can result in slave stuck):
If a temporary error occured inside a group on an event that was not the first
event of the group, the slave could get stuck because the retry counter is reset
whenever an event was executed successfully.

This patch only reset the retry counter when an entire group has been successfully
executed, or failed with a non-transient error.
2007-10-20 20:16:12 +02:00
anozdrin/alik@station.
9a6f673143 Fix for BUG#31148: bool close_thread_table(THD*, TABLE**):
Assertion `table->key_read == 0' failed.

The problem was that key_read on a table in a sub-select was not
properly reset. That happens because the code responsible for that
is copy&pasted all around the server. In some place, it was obviously
forgotten to be pasted.

The fix is to reset key_read properly.
2007-10-20 21:48:15 +04:00
mats@kindahl-laptop.dnsalias.net
24ea15a24d Bug#31702 (Missing row on slave causes assertion failure under row-based replication):
When replicating an update pair (before image, after image) under row-based
replication, and the before image is not found on the slave, the after image
was not discared, and was hence read as a before image for the next row.
Eventually, this lead to an after image being read outside the block of rows
in the event, causing an assertion to fire.

This patch fixes this by reading the after image in the event that the row
was not found on the slave, adds some extra debug assertion to catch future
errors earlier, and also adds a few non-debug checks to prevent reading
outside the block of the event.
2007-10-20 18:19:55 +02:00
tnurnberg@sin.intern.azundris.com
b8feb23321 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  sin.intern.azundris.com:/misc/mysql/31588/51-31588
2007-10-20 17:18:23 +02:00
antony@pcg5ppc.xiphis.org
3b95727600 Merge anubis.xiphis.org:/usr/home/antony/work/mysql-5.1-engines
into  anubis.xiphis.org:/usr/home/antony/work/mysql-5.1-engines.merge
2007-10-19 13:06:37 -07:00
antony@pcg5ppc.xiphis.org
fb27ce61bc Merge anubis.xiphis.org:/usr/home/antony/work/mysql-5.0-engines
into  anubis.xiphis.org:/usr/home/antony/work/mysql-5.0-engines.merge
2007-10-19 13:04:30 -07:00
acurtis/antony@xiphis.org/ltamd64.xiphis.org
8619e7df83 Merge anubis.xiphis.org:/usr/home/antony/work/mysql-4.1-engines
into  anubis.xiphis.org:/usr/home/antony/work/mysql-4.1-engines.merge
2007-10-19 13:01:08 -07:00
anozdrin/alik@station.
c60397ef19 Patch for BUG#31111: --read-only crashes MySQL (events fail to load).
There actually were several problems here:
  - WRITE-lock is required to load events from the mysql.event table,
    but in the read-only mode an ordinary user can not acquire it;
  - Security_context::master_access attribute was not properly
    initialized in Security_context::init(), which led to differences
    in behavior with and without debug configure options.
  - if the server failed to load events from mysql.event, it forgot to
    close the mysql.event table, that led to the coredump, described
    in the bug report.

The patch is to fix all these problems:
  - Use the super-user to acquire WRITE-lock on the mysql.even table;
  - The WRITE-lock is acquired by the event scheduler in two cases:
    - on initial loading of events from the database;
    - when an event has been executed, so its attributes should
      be updated.
    Other cases when WRITE-lock is needed for the mysql.event table
    happen under the user account. So, nothing should be changed there
    for the read-only mode. The user is able to create/update/drop
    an event only if he is a super-user.
  - Initialize Security_context::master_access;
  - Close the mysql.event table in case something went wrong.
2007-10-19 19:57:08 +04:00
gkodinov/kgeorge@magare.gmz
c95b24cba7 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B31157-5.1-opt
2007-10-19 17:01:13 +03:00
gkodinov/kgeorge@magare.gmz
fb640797b8 Bug #31157: crash when select+order by the avg of some field within the group by
The uncacheable flag should be set at fix_fields() stage.
Fixed by moving the flag setting to match the one in 5.1
2007-10-19 15:43:19 +03:00
mats@kindahl-laptop.dnsalias.net
f2ba11c327 BUG#28618 (Skipping into the middle of a group with SQL_SLAVE_SKIP_COUNTER
is possible):

When skipping the beginning of a transaction starting with BEGIN, the OPTION_BEGIN
flag was not set correctly, which caused the slave to not recognize that it was
inside a group. This patch sets the OPTION_BEGIN flag for BEGIN, COMMIT, ROLLBACK,
and XID events. It also adds checks if inside a group before decreasing the
slave skip counter to zero.

Begin_query_log_event was not marked that it could not end a group, which is now
corrected.
2007-10-19 14:18:41 +02:00
serg@janus.mylan
6463d82d1b Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  janus.mylan:/usr/home/serg/Abk/mysql-5.1
2007-10-19 12:44:57 +02:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
b4f558419f Fix for bug #31349: ERROR 1062 (23000): Duplicate entry '' for key 'group_key'
Problem: lying to the optimizer that a function (Item_func_inet_ntoa)
cannot return NULL values leads to unexpected results (in the case group
keys creation/comparison is broken). 

Fix: Item_func_inet_ntoa::maybe_null should be set properly.
2007-10-19 14:54:05 +05:00
joerg@trift2.
7af6d8bf05 Merge trift2.:/MySQL/M51/mysql-5.1
into  trift2.:/MySQL/M51/push-5.1
2007-10-19 11:41:15 +02:00
joerg@trift2.
06b226658b Merge trift2.:/MySQL/M50/mysql-5.0
into  trift2.:/MySQL/M50/push-5.0
2007-10-19 11:18:15 +02:00
malff@lambda.hsd1.co.comcast.net.
94b4f4a870 Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.1-rt-merge
2007-10-18 19:21:07 -06:00
malff@lambda.hsd1.co.comcast.net.
2d6fbbda59 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-10-18 16:57:51 -06:00
malff@lambda.hsd1.co.comcast.net.
6fa35a5d3b Merge lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-base
into  lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-rt-merge
2007-10-18 16:39:55 -06:00
brian@zim.(none)
f9046eafbf Fix for bug#31704
Just had to put in the removal of the autocommit, and make sure the commit occurred at the propper time.
2007-10-18 15:08:27 -07:00
antony@pcg5ppc.xiphis.org
407f73c821 Merge pcg5ppc.xiphis.org:/private/Network/Servers/anubis.xiphis.org/home/antony/work/p1-bug31473.1
into  pcg5ppc.xiphis.org:/private/Network/Servers/anubis.xiphis.org/home/antony/work/p1-bug31473.1-merge-5.1-engines
2007-10-18 15:02:20 -07:00
antony@pcg5ppc.xiphis.org
f4a153c3c4 Bug#31473
"CSV does not work with NULL value in datetime fields"
  Attempting to insert a row with a NULL value for a DATETIME field
  results in a CSV file which the storage engine cannot read.
  Don't blindly assume that "0" is acceptable for all field types,
  Since CSV does not support NULL, we find out from the field the
  default non-null value.
  Do not permit the creation of a table with a nullable columns.
2007-10-18 14:48:04 -07:00
davi@moksha.com.br
5a2e5cf205 Merge moksha.com.br:/Users/davi/mysql/bugs/21557-5.1
into  moksha.com.br:/Users/davi/mysql/mysql-5.1-runtime
2007-10-18 17:31:36 -03:00
davi@moksha.com.br
a2aafb6034 Post merge fix for Bug 21557 2007-10-18 17:24:57 -03:00
msvensson@pilot.mysql.com
788428dad1 Merge pilot.mysql.com:/data/msvensson/mysql/tmp/my50-m-fix-win32_perl
into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.0-maint
2007-10-18 22:02:40 +02:00
msvensson@pilot.mysql.com
525fe23acd Remove unportable use of "system rm" 2007-10-18 21:48:16 +02:00
davi@moksha.com.br
3b44d6e8b9 Merge moksha.com.br:/Users/davi/mysql/bugs/21557-5.1
into  moksha.com.br:/Users/davi/mysql/mysql-5.1-runtime
2007-10-18 15:47:22 -03:00
davi@moksha.com.br
dd135211d8 Bug#21557 entries in the general query log truncated at 1000 characters.
The general log write function (general_log_print) uses printf style
arguments which need to be pre-processed, meaning that the all arguments
are copied to a single buffer and the problem is that the buffer size is
constant (1022 characters) but queries can be much larger then this.

The solution is to introduce a new log write function that accepts a
buffer and it's length as arguments. The function is to be used when
a formatted output is not required, which is the case for almost all
query write-to-log calls.

This is a incompatible change with respect to the log format of prepared
statements.
2007-10-18 15:45:07 -03:00
mleich@four.local.lan
09e1c1b0a7 Merge four.local.lan:/WORK2/merge/mysql-5.1-31556
into  four.local.lan:/WORK/mysql-5.1-build/src-clean
2007-10-18 16:14:27 +02:00
tnurnberg@white.intern.koehntopp.de
30dd4d9fca Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/scratch/tnurnberg/31588/50-31588
2007-10-18 16:09:03 +02:00
gkodinov/kgeorge@magare.gmz
7f8c4aacf6 Merge magare.gmz:/home/kgeorge/mysql/work/B31221-5.0-gca-opt
into  magare.gmz:/home/kgeorge/mysql/work/B31221-5.1-opt
2007-10-18 15:57:59 +03:00
gkodinov/kgeorge@magare.gmz
abdc597b78 Merge magare.gmz:/home/kgeorge/mysql/work/B31221-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/B31221-5.0-gca-opt
2007-10-18 15:53:45 +03:00
gkodinov/kgeorge@magare.gmz
976e0ca154 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B31221-5.0-opt
2007-10-18 15:32:48 +03:00
gkodinov/kgeorge@magare.gmz
d67cd9e8af Bug #31221: Optimizer incorrectly identifies impossible WHERE clause
No warning was generated when a TIMESTAMP with a non-zero time part
 was converted to a DATE value. This caused index lookup to assume
 that this is a valid conversion and was returning rows that match 
 a comparison between a TIMESTAMP value and a DATE keypart.
 Fixed by generating a warning on such a truncation.
2007-10-18 15:19:04 +03:00
mleich@four.local.lan
78c900107f Merge four.local.lan:/WORK2/merge/mysql-5.0-31556
into  four.local.lan:/WORK2/merge/mysql-5.1-31556
2007-10-18 13:13:21 +02:00
mleich@four.local.lan
8957e54a13 Fix for
Bug#31556 Test failure: "select hex(ascii(a)) ... order by a" results in different order
2007-10-18 13:09:30 +02:00
tnurnberg@sin.intern.azundris.com
194b4761dc Bug#31588: buffer overrun when setting variables
post-merge fixes: format string was changed 5.0 -> 5.1, resulting in longer output
2007-10-18 11:13:52 +02:00
tnurnberg@sin.intern.azundris.com
2a9d32f8eb Merge sin.intern.azundris.com:/misc/mysql/31588/50-31588
into  sin.intern.azundris.com:/misc/mysql/31588/51-31588
2007-10-18 10:55:42 +02:00
tnurnberg@sin.intern.azundris.com
4a48f2b3f4 Merge sin.intern.azundris.com:/misc/mysql/31588/41-31588
into  sin.intern.azundris.com:/misc/mysql/31588/50-31588
2007-10-18 10:51:10 +02:00
tnurnberg@sin.intern.azundris.com
e6ef54b31f Bug#31588: buffer overrun when setting variables
Buffer used when setting variables was not dimensioned to accomodate
trailing '\0'. An overflow by one character was therefore possible.
CS corrects limits to prevent such overflows.
2007-10-18 10:47:54 +02:00
ramil/ram@ramil.myoffice.izhnet.ru
8d589be34b Merge mysql.com:/home/ram/work/mysql-5.1-maint
into  mysql.com:/home/ram/work/b31604/b31604.5.1
2007-10-18 09:50:23 +05:00
dkatz@damien-katzs-computer.local
86082dfcef Bug #29804 UDF parameters don't contain correct string length
Previously, UDF *_init functions were passed constant strings with erroneous lengths. The length came from the containing variable's size, not the length of the value itself.
    
Now the *_init functions get the constant as a null terminated string with the correct length supplied too.
2007-10-17 17:54:11 -04:00
davi@moksha.com.br
dc892f6a77 Merge moksha.com.br:/Users/davi/mysql/bugs/31608-5.1
into  moksha.com.br:/Users/davi/mysql/mysql-5.1-runtime
2007-10-17 16:45:49 -03:00
davi@moksha.com.br
253439874a Bug#31608 missing mysqltest change_user command
Post merge fixes: close any open statement before
the change user command and fix test case output.
2007-10-17 16:43:30 -03:00
mattiasj@mattiasj-laptop.(none)
7c16fd2c0f Bug #30878: Crashing when alter an auto_increment non partitioned
table to partitioned

Problem:
Crashed because usage of an uninitialised mutex when auto_incrementing
  a partitioned temporary table

Fix:
Only locking (using the mutex) if not temporary table.
2007-10-17 20:40:23 +02:00
cmiller@zippy.cornsilk.net
f3d77c1979 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-comeng-unification
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-recentcommmerge
2007-10-17 14:05:43 -04:00
davi@moksha.com.br
1b08417462 Merge moksha.com.br:/Users/davi/mysql/bugs/31608-5.1
into  moksha.com.br:/Users/davi/mysql/mysql-5.1-runtime
2007-10-17 14:05:52 -03:00
cmiller@zippy.cornsilk.net
c6b5c6af86 Further clean-up. 2007-10-17 13:03:08 -04:00
anozdrin/alik@station.
f0d70d1184 Fix result files (BUG#24923). 2007-10-17 15:44:22 +04:00
gkodinov/kgeorge@magare.gmz
5f5b7cc311 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B27099-5.1-opt
2007-10-17 13:39:41 +03:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
ffde32d219 Fix for bug#31615: crash after set names ucs2 collate xxx
Problem: currently, UCS-2 cannot be used as a client character set.

Fix: raise an error if one attempts to set it to USC-2.
2007-10-17 14:28:00 +05:00