Commit graph

15132 commits

Author SHA1 Message Date
gkodinov/kgeorge@magare.gmz
c118fe53a6 Bug 29325: test suite is not applicable on windows 2007-07-12 15:12:56 +03: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
igor@olga.mysql.com
5fea580f07 Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug29604
2007-07-11 21:05:09 -07:00
igor@olga.mysql.com
7f64144bf0 Fixed bug #29604.
A bug in the restore_prev_nj_state function allowed interleaving 
inner tables of outer join operations with outer tables. With the
current implementation of the nested loops algorithm it could lead
to wrong result sets for queries with nested outer joins.
Another bug in this procedure effectively blocked evaluation of some
valid execution plans for queries with nested outer joins.
2007-07-11 18:45:35 -07: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
evgen@moonbone.local
6c985ff921 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/29555-bug-5.0-opt-mysql
2007-07-11 23:37:02 +04:00
evgen@moonbone.local
df9c376e72 Bug#29555: Comparing time values as strings may lead to a wrong result.
Time values were compared as strings. This led to a wrong comparison
result when comparing values one of which is under 100 hours and another is
over 100 hours.

Now when the Arg_comparator::set_cmp_func function sees that both items to
compare are of the TIME type it sets the comparator to the
Arg_comparator::compare_e_int or the Arg_comparator::compare_int_unsigned
functions.
2007-07-11 23:18:02 +04:00
gshchepa/uchum@gleb.loc
13513be628 Merge gleb.loc:/home/uchum/work/bk/5.0-opt-29360
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-07-12 00:15:01 +05:00
gshchepa/uchum@gleb.loc
13844b2533 Fixed bug #29360.
The special `zero' enum value was coerced to the normal
empty string enum value during a field-to-field copy.
This bug affected CREATE ... SELECT statements and
SELECT aggregate GROUP BY enum field statements.

Also this bug made unnecessary warnings during
the execution of CREATE ... SELECT statements:
Warning       1265    Data truncated for column...
2007-07-12 00:03:08 +05:00
gkodinov/kgeorge@magare.gmz
b5aa55e107 Addendum to bug 29325:
test if TRUNCATE TABLE works with keep_files_on_create
2007-07-11 18:02:47 +03:00
serg@janus.mylan
859304f708 fix for smarter index mergein fulltext
to work for queries like "+a (b)"
2007-07-11 15:26:19 +02:00
svoj@june.mysql.com
05a12b7bb7 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG29445/mysql-5.1-engines
2007-07-11 15:58:08 +05:00
gkodinov/kgeorge@magare.gmz
b4ad2eccd1 Merge magare.gmz:/home/kgeorge/mysql/autopush/B29325-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/B29325-merge-5.1-opt
2007-07-11 12:44:49 +03:00
gkodinov/kgeorge@magare.gmz
1f7a28bda1 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B29325-5.0-opt
2007-07-11 11:59:46 +03:00
gkodinov/kgeorge@magare.gmz
49285e96d9 Merge magare.gmz:/home/kgeorge/mysql/work/B29325-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/B29325-5.1-opt
2007-07-11 11:57:49 +03:00
gkodinov/kgeorge@magare.gmz
015e1290a1 Bug #29325:
By default MyISAM overwrites .MYD and .MYI files no 
DATA DIRECTORY option is used. This can lead to two tables
using the same .MYD and .MYI files (that can't be dropped).

To prevent CREATE TABLE from overwriting a file a new option
is introduced : keep_files_on_create
When this is on the CREATE TABLE throws an error if either
the .MYD or .MYI exists for a MyISAM table.
The option is off by default (resulting in compatible behavior).
2007-07-11 10:49:54 +03:00
baker@bk-internal.mysql.com
a25134ed76 Merge bk-internal.mysql.com:/data0/bk/mysql-5.1
into  bk-internal.mysql.com:/data0/bk/mysql-5.1-arch
2007-07-11 08:06:47 +02:00
tnurnberg@sin.intern.azundris.com
9b4c3d0db4 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/home/tnurnberg/22540/50-22540
2007-07-10 18:33:20 +02:00
tsmith@sita.local
0e04d31c46 Merge sita.local:/Users/tsmith/m/bk/inno/jul5/51-snap
into  sita.local:/Users/tsmith/m/bk/maint/51
2007-07-10 07:31:08 -06:00
tsmith@sita.local
7cb5374120 Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
After applying the snapshots, ensure that code conforms to the final version
of WL 3914.

It is signficant that, after these changes, InnoDB does not define MYSQL_SERVER,
and can be built as an independent storage engine plugin.

Fixes:
Bug#9709:  InnoDB inconsistensy causes "Operating System Error 32/33"
Bug#18828: If InnoDB runs out of undo slots, it returns misleading 'table is full'
Bug#20090: InnoDB: Error: trying to declare trx to enter InnoDB
Bug#20352: Make ibuf_contract_for_n_pages tunable
Bug#21101: Wrong error on exceeding max row size for InnoDB table
Bug#21293: Deadlock detection prefers to kill long running FOR UPDATE queries
Bug#22819: SHOW INNODB STATUS crashes the server with an assertion failure under high load
Bug#25078: Make the replication thread to ignore innodb_thread_concurrency
Bug#25645: Assertion failure in file srv0srv.c
Bug#28138: indexing column prefixes produces corruption in InnoDB
2007-07-10 05:37:43 -06:00
svoj@mysql.com/june.mysql.com
31c8efc812 BUG#29445 - match ... against () never returns
Part 1:
Do not perform index search for a plus-word with truncation operator
in case there are other plus-words in expression.

Specifically this optimization was enforced for expression like
"+word1 +word2*", but wasn't enforced for expression like
"+word1 word2*".
2007-07-10 15:37:39 +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
gkodinov/kgeorge@magare.gmz
ea9825d67b Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B29070-5.0-opt
2007-07-10 10:40:49 +03:00
tsmith@sita.local
4b1da38b13 rpl_misc_functions.result, rpl_misc_functions.test:
Backport from 5.1 a fix to make this test deterministic
2007-07-09 13:18:27 -06:00
gkodinov/kgeorge@magare.gmz
3e9679e1fa Bug #29070: Error in spatial index
1. Threat MBR for a key as double[] and convert it only
when about to store it on disk.
2. Remove the redundant function get_double().
2007-07-09 17:41:24 +03:00
istruewing@chilla.local
4b76695000 Merge chilla.local:/home/mydev/mysql-5.1-ateam
into  chilla.local:/home/mydev/mysql-5.1-axmrg
2007-07-09 16:06:09 +02:00
svoj@june.mysql.com
c188110565 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG29464/mysql-5.1-engines
2007-07-09 16:07:08 +05: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
tsmith@sita.local
7b2b10e462 Merge sita.local:/Users/tsmith/m/bk/50
into  sita.local:/Users/tsmith/m/bk/maint/50
2007-07-09 01:22:54 -06:00
tsmith@sita.local
1106dddfa2 Merge sita.local:/Users/tsmith/m/bk/41
into  sita.local:/Users/tsmith/m/bk/maint/41
2007-07-09 01:21:22 -06:00
tsmith@sita.local
75810fbc22 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  sita.local:/Users/tsmith/m/bk/maint/50
2007-07-09 01:14:33 -06:00
tnurnberg@mysql.com/sin.intern.azundris.com
3dfc83f1a1 Bug#22540: Incorrect value in column End_log_pos of SHOW BINLOG EVENTS using InnoDB
dollin' it up for Guilhem ;) -- test streamlined,
better comments, faster code, add'l assert.
2007-07-09 08:11:38 +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
a10759d070 Merge mysql.com:/home/ram/work/mysql-5.0-maint
into  mysql.com:/home/ram/work/b28808/b28808.5.0
2007-07-09 10:17:04 +05:00
tsmith@sita.local
c2092ee91b Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  sita.local:/Users/tsmith/m/bk/maint/50
2007-07-08 19:39:54 -06:00
evgen@moonbone.local
7cab171f64 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/29461-bug-5.0-opt-mysql
2007-07-09 02:02:18 +04:00
evgen@moonbone.local
ff3fd46c32 Bug#29461: Sort order of the collation wasn't used when comparing characters
with the space character.

When the my_strnncollsp_simple function compares two strings and one is a prefix
of another then this function compares characters in the rest of longer key
with the space character to find whether the longer key is greater or less.
But the sort order of the collation isn't used in this comparison. This may
lead to a wrong comparison result, wrongly created index or wrong order of the
result set of a query with the ORDER BY clause.

Now the my_strnncollsp_simple function uses collation sort order to compare
the characters in the rest of longer key with the space character.
2007-07-09 01:23:33 +04:00
istruewing@chilla.local
22ad965856 Merge chilla.local:/home/mydev/mysql-5.1-amain
into  chilla.local:/home/mydev/mysql-5.1-axmrg
2007-07-08 22:43:39 +02:00
istruewing@chilla.local
660c3fd239 Merge chilla.local:/home/mydev/mysql-5.1-ateam
into  chilla.local:/home/mydev/mysql-5.1-axmrg
2007-07-08 22:41:49 +02:00
evgen@moonbone.local
c502557183 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  moonbone.local:/mnt/gentoo64/work/29310-bug-5.1-opt-mysql
2007-07-09 00:04:03 +04:00
evgen@moonbone.local
42d1e3c457 Bug#29310: An InnoDB table was updated when the data wasn't actually changed.
When a table is being updated it has two set of fields - fields required for
checks of conditions and fields to be updated. A storage engine is allowed
not to retrieve columns marked for update. Due to this fact records can't
be compared to see whether the data has been changed or not. This makes the
server always update records independently of data change.

Now when an auto-updatable timestamp field is present and server sees that
a table handle isn't going to retrieve write-only fields then all of such
fields are marked as to be read to force the handler to retrieve them.
2007-07-08 18:13:04 +04: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
gshchepa/uchum@gleb.loc
b1d230e09f Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-07-08 11:46:52 +05:00
igor@olga.mysql.com
4d8e0fb50a Post-merge fix. 2007-07-07 20:03:00 -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
6aa9e3a4fc Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-07-08 03:40:01 +05: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
gshchepa/uchum@gleb.loc
3c918268e7 Merge gleb.loc:/home/uchum/work/bk/5.0
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-07-08 00:19:31 +05:00