Commit graph

18791 commits

Author SHA1 Message Date
kostja@bodhi.(none)
b8fc731804 Post-merge fixes (merge from the main). 2007-07-17 00:59:21 +04:00
kostja@bodhi.(none)
88fc7cab26 Merge bodhi.(none):/opt/local/work/mysql-5.0-runtime
into  bodhi.(none):/opt/local/work/mysql-5.1-runtime
2007-07-16 23:31:36 +04:00
kostja@bodhi.(none)
be4f73c44f Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  bodhi.(none):/opt/local/work/mysql-5.1-runtime
2007-07-16 17:22:33 +04:00
kostja@bodhi.(none)
5466b0df14 Add a teste case for Bug#27296 "Assertion in ALTER TABLE SET DEFAULT in
Linux Debug build (possible deadlock)"

The bug is not repeatable any more.
2007-07-15 13:34:35 +04:00
kostja@bodhi.(none)
9175e85078 A fix for Bug#27406 Events: failure only causes a warning. Update test
results.
When executing a CREATE EVENT statement with ON COMPLETION NOT PRESERVE 
clause (explicit or implicit) and completion date in the past, we do not 
create the event. Or, put it differently, we create it and then drop 
immediately.
A warning is issued in this case, not an error -- we want to load 
successfully old database dumps, and such dumps may contain events
that are no longer valid.

Update the warning text to not imply an erroneous condition.
2007-07-15 13:25:38 +04:00
kostja@bodhi.(none)
675a4e8f7b Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  bodhi.(none):/opt/local/work/mysql-5.0-26141-final
2007-07-12 22:28:13 +04:00
kostja@bodhi.(none)
5ab4b6f1ac A fix and a test case for Bug#26141 mixing table types in trigger
causes full table lock on innodb table.
Also fixes Bug#28502 Triggers that update another innodb table 
will block on X lock unnecessarily (duplciate).
Code review fixes.

Both bugs' synopses are misleading: InnoDB table is
not X locked. The statements, however, cannot proceed concurrently, 
but this happens due to lock conflicts for tables used in triggers,
not for the InnoDB table. 

If a user had an InnoDB table, and two triggers, AFTER UPDATE and 
AFTER INSERT, competing for different resources (e.g. two distinct
MyISAM tables), then these two triggers would not be able to execute
concurrently. Moreover, INSERTS/UPDATES of the InnoDB table would
not be able to run concurrently. 
The problem had other side-effects (see respective bug reports).

This behavior was a consequence of a shortcoming of the pre-locking
algorithm, which would not distinguish between different DML operations
(e.g. INSERT and DELETE) and pre-lock all the tables
that are used by any trigger defined on the subject table.

The idea of the fix is to extend the pre-locking algorithm to keep track,
for each table, what DML operation it is used for and not
load triggers that are known to never be fired.
2007-07-12 22:26:41 +04:00
thek@adventure.(none)
825b5096ad Merge kpettersson@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  adventure.(none):/home/thek/Development/cpp/mysql-5.0-runtime
2007-07-12 15:38:23 +02:00
thek@adventure.(none)
2a5e7fe592 Merge adventure.(none):/home/thek/Development/cpp/bug28249/my50-bug28249
into  adventure.(none):/home/thek/Development/cpp/mysql-5.0-runtime
2007-07-12 15:30:34 +02:00
thek@adventure.(none)
8ee7e48de8 Bug#28249 Query Cache returns wrong result with concurrent insert / certain lock
A race condition in the integration between MyISAM and the query cache code 
caused the query cache to fail to invalidate itself on concurrently inserted
data.

This patch fix this problem by using the existing handler interface which, upon
each statement cache attempt, compare the size of the table as viewed from the 
cache writing thread and with any snap shot of the global table state. If the
two sizes are different the global table size is unknown and the current
statement can't be cached.
2007-07-12 13:29:51 +02:00
anozdrin/alik@ibm.
3f2e94c401 Fix for 5.1 for BUG#10491: Server returns data as charset binary
SHOW CREATE TABLE or SELECT FROM I_S.

This is the last patch for this bug, which depends on the big
CS patch and was pending.

The problem was that SHOW CREATE statements returned original
queries in the binary character set. That could cause the query
to be unreadable.

The fix is to use original character_set_client when sending
the original query to the client. In order to preserve the query
in mysqldump, 'binary' character set results should be set when
issuing SHOW CREATE statement. If either source or destination
character set is 'binary' , no conversion is performed.
The idea is that since the source character set is no longer
'binary', we fix the destination character set to still produce
valid dumps.
2007-07-12 12:49:39 +04:00
kostja@bodhi.(none)
3364066e29 A fix and a test case for Bug#25859 ALTER DATABASE works w/o parameters.
Fix the parser to make the database options not optional.
2007-07-12 01:10:29 +04:00
ramil/ram@ramil.myoffice.izhnet.ru
372856cd72 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  mysql.com:/home/ram/work/mysql-5.1-maint
2007-07-10 14:22:37 +05:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
5fb5f2a9a5 Fix for bug #29652: csv.test failure: two changes conflict after merge
Problem: we don't take into account the length of the data written
to the temporary data file during update on a CSV table.

Fix: properly calculate the data file length during update.
2007-07-10 13:09:07 +05:00
tomas@whalegate.ndb.mysql.com
810db44e4f Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new-maint
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-maint
2007-07-10 09:03:21 +02:00
tomas@whalegate.ndb.mysql.com
503f86f3ba Bug #29570
- correct result files
2007-07-10 09:00:15 +02:00
tsmith@sita.local
59c570ba78 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  sita.local:/Users/tsmith/m/bk/maint/51
2007-07-09 10:33:33 -06:00
tomas@whalegate.ndb.mysql.com
b66fac4fc1 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-maint
2007-07-09 12:07:33 +02:00
tsmith@sita.local
5cba44239a disabled.def:
post-merge fix: re-enable rpl_udf test
2007-07-09 03:31:27 -06:00
tsmith@sita.local
5f12f35c34 Merge sita.local:/Users/tsmith/m/bk/51
into  sita.local:/Users/tsmith/m/bk/maint/51

This merge requires a post-merge fix to remove rpl_udf from
suite/rpl/t/disabled.def.
2007-07-09 03:27:03 -06:00
tomas@whalegate.ndb.mysql.com
7dd1f323a8 Bug #29570
- correct result files
2007-07-09 09:35:27 +02:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
b37c24c439 after-merge fix. 2007-07-09 10:39:49 +05:00
ramil/ram@ramil.myoffice.izhnet.ru
ede22768a9 Merge mysql.com:/home/ram/work/b28808/b28808.5.0
into  mysql.com:/home/ram/work/b28808/b28808.5.1
2007-07-09 10:20:45 +05:00
gshchepa/uchum@gleb.loc
930f711b8f Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  gleb.loc:/home/uchum/work/bk/5.1-opt
2007-07-08 11:48:57 +05:00
igor@olga.mysql.com
4d8e0fb50a Post-merge fix. 2007-07-07 20:03:00 -07:00
igor@olga.mysql.com
e06c67443d Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.1-opt
2007-07-07 17:29:19 -07:00
igor@olga.mysql.com
e1eababbba Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug29417
2007-07-07 15:45:28 -07:00
gshchepa/uchum@gleb.loc
e5e750c3c9 Merge gleb.loc:/home/uchum/work/bk/5.1
into  gleb.loc:/home/uchum/work/bk/5.1-opt
2007-07-08 01:27:07 +05:00
igor@olga.mysql.com
63d538575b Fixed bug #29417.
An assertion abort could occur for some grouping queries that employed 
decimal user variables with assignments to them.

The problem appeared the constructors of the class Field_new_decimal
because the function my_decimal_length_to_precision did not guarantee
returning decimal precision not greater than DECIMAL_MAX_PRECISION.
2007-07-07 12:31:55 -07:00
igor@olga.mysql.com
87c3d18f6f Fixed bug #29415.
The cast operation ignored the cases when the precision and/or the scale exceeded
the limits, 65 and 30 respectively. No errors were reported in these cases.
For some queries this may lead to an assertion abort.

Fixed by throwing errors for such cases.
2007-07-07 10:33:02 -07:00
antony@ppcg5.local
6cb186883f disable federated_innodb test until bug29522 is fixed 2007-07-07 09:28:35 -07:00
gshchepa/uchum@gleb.loc
e657075fcb Merge gleb.loc:/home/uchum/work/bk/5.0-opt
into  gleb.loc:/home/uchum/work/bk/5.1-opt
2007-07-07 20:14:06 +05:00
ramil/ram@ramil.myoffice.izhnet.ru
f38158f401 Merge mysql.com:/home/ram/work/b29420/b29420.5.0
into  mysql.com:/home/ram/work/b29420/b29420.5.1
2007-07-07 12:04:11 +05:00
antony@ppcg5.local
a6f9981ebd Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-5.1
into  ppcg5.local:/private/Network/Servers/anubis.xiphis.org/home/antony/work/mysql-5.1-engines.merge
2007-07-06 14:33:14 -07:00
antony@ppcg5.local
ab4101d62f Merge ppcg5.local:/private/Network/Servers/anubis.xiphis.org/home/antony/work/mysql-5.0-engines.merge
into  ppcg5.local:/private/Network/Servers/anubis.xiphis.org/home/antony/work/mysql-5.1-engines.merge
2007-07-06 11:39:55 -07:00
antony@ppcg5.local
1988c1c668 fix test for bug29299 2007-07-06 11:35:10 -07:00
antony@ppcg5.local
6402e4324a 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-07-06 09:03:50 -07:00
antony@ppcg5.local
2b52524ea5 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-07-06 09:00:40 -07:00
jani@labbari.dsl.inet.fi
12a7af3728 Merge labbari.dsl.inet.fi:/home/my/bk/mysql-5.0-marvel
into  labbari.dsl.inet.fi:/home/my/bk/mysql-5.1-marvel
2007-07-06 13:49:15 +03:00
jani@labbari.dsl.inet.fi
7d7524d94d Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.0
into  labbari.dsl.inet.fi:/home/my/bk/mysql-5.0-marvel
2007-07-06 09:51:02 +03:00
igor@olga.mysql.com
5b1e1eeae5 Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug29392
2007-07-05 17:39:51 -07:00
gshchepa/uchum@gleb.loc
0b00ebbba0 Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-07-06 03:49:40 +05:00
gshchepa/uchum@gleb.loc
c33f4d3d85 Fixed bug #29442.
The SELECT INTO OUTFILE FIELDS ENCLOSED BY digit or minus sign,
followed by the same LOAD DATA INFILE statement, used wrond encoding
of non-string fields contained the enclosed character in their text
representation.

Example:
  SELECT 15, 9 INTO OUTFILE 'text' FIELDS ENCLOSED BY '5';

Old encoded result in the text file:
  5155 595
         ^ was decoded as the 1st enclosing character of the 2nd field;
        ^ was skipped as garbage;
  ^    ^ was decoded as a pair of englosing characters of the 1st field;
      ^   was decoded as traling space of the first field;
    ^^ was decoded as a doubled enclosed character.

New encoded result in the text file:
  51\55 595
  ^   ^ pair of enclosing characters of the 1st field;
    ^^ escaped enclosed character.
2007-07-06 03:43:23 +05:00
gkodinov/kgeorge@magare.gmz
1532452a00 Bug #29166:
AsText() needs to know the maximum number of
characters a IEEE double precision value can
occupy to make sure there's enough buffer space.
The number was too small to hold all possible
values and this caused buffer overruns.
Fixed by correcting the calculation of the 
maximum digits in a string representation of an
IEEE double precision value as printed by 
String::qs_append(double).
2007-07-05 18:24:48 +03:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
fca06fbc68 Fix for bug #28808: log_queries_not_using_indexes variable dynamic change is ignored
Problem: logging queries not using indexes we check a special flag which 
is set only at the server startup and is not changing with a corresponding
server variable together.

Fix: check the variable value instead of the flag.
2007-07-05 15:34:12 +05:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
483bd10de8 Fix for bug #29420: crash with show and purge binlogs
Problem: in case of failed 'show binlog events...' we don't inform that 
the log is not in use anymore. That may confuse following 'purge logs...'
command as it takes into account logs in use.

Fix: always notify that the log is not in use anymore.
2007-07-05 13:09:56 +05:00
svoj@mysql.com/june.mysql.com
4ef3110ace BUG#27564 - Valgrind: UDF does not cleanup correctly
Enabling rpl_udf test.
2007-07-05 12:48:11 +05:00
kostja@bodhi.(none)
a7b05cb786 A fix and a test case for Bug#29050 Creation of a legal stored procedure
fails if a database is not selected prior.

The problem manifested itself when a user tried to
create a routine that had non-fully-qualified identifiers in its bodies
and there was no current database selected.

This is a regression introduced by the fix for Bug 19022:

The patch for Bug 19022 changes the code to always produce a warning
if we can't resolve the current database in the parser. 
In this case this was not necessary, since even though the produced
parsed tree was incorrect, we never re-use sphead
that was obtained at first parsing of CREATE PROCEDURE.
The sphead that is anyhow used is always obtained through db_load_routine,
and there we change the current database to sphead->m_db before
calling yyparse.

The idea of the fix is to resolve the current database directly using 
lex->sphead->m_db member when parsing a stored routine body, when
such is present.

This patch removes the need to reset the current database
when loading a trigger or routine definition into SP cache.
The redundant code will be removed in 5.1.
2007-07-05 11:34:04 +04:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
ba650762d1 Fix for bug #29411: deleting from a csv table leads to the table corruption
Problem: we don't adjust share->rows_recorded and local_saved_data_file_length
deleting rows from a CSV table, so following table check may fail.

Fix: properly adjust those values.
2007-07-05 11:55:06 +05:00
igor@olga.mysql.com
4c02004da9 Fixed bug #29392.
This bug may manifest itself for select queries over a multi-table view
that includes an ORDER BY clause in its definition. If the select list of 
the query contains references to the same view column with different
aliases the names of the columns in the result output will be nevertheless
the same, coinciding with one of the alias.

The bug happened because the method Item_ref::get_tmp_table_item that
was inherited by the class Item_direct_view_ref ignored the fact that
the name of the view column reference must be inherited by the fields
of the temporary table that was created in order to get the result rows
sorted.
2007-07-04 21:12:07 -07:00