Commit graph

39734 commits

Author SHA1 Message Date
Tatiana A. Nurnberg
e5a599bd73 Bug#43254: SQL_SELECT_LIMIT=0 crashes command line client
When asking what database is selected, client expected
to *always* get an answer from the server.

We now handle failure more gracefully.

See comments in ticket for a discussion of what happens,
and how things interlock.
2009-03-23 05:08:32 +01:00
Satya B
0e0843d870 Fix for BUG#41330 -Myisam table open count set to zero before index blocks
are written.
      
When we have a myisam table with DELAY_KEY_WRITE option, index updates
are not applied until the flush tables command is issued or until the
server is shutdown. If server gets killed before the index updates are 
written to disk, the index file is corrupted as expected but the table 
is not marked as crashed. So when we start server with myisam-recover,
table is not repaired leaving the table unusable.
      
The problem is when we try to write the index updates to index file,
we decrement the open_count even before the flushing the keys to index
file.
      
Fixed by moving the decrement operation after flushing the keys to the
index file. So we always have non zero open count if the flush table
operation is killed and when the server is started with mysiam-recover
option, it marks the table as crashed and repairs it.
      
Note: No testcase for added as we need to kill the server and start the 
      server with different set of options and other non trivial
      operations involved.
2009-03-20 14:48:14 +05:30
Narayanan V
b466a93b8a merging with mysql-5.0-bugteam 2009-03-20 11:42:55 +05:30
Davi Arnaut
2417701e46 Bug#43461: invalid comparison with string literal in default.c
Don't compare string literals as it results in unspecified behavior.
2009-03-19 17:20:15 -03:00
kent.boortz@sun.com
677b00faf6 cmd-line-utils/libedit/readline/readline.h
- Header <sys/ttydefaults.h> missing or not usable on QNX and OpenServer 6

include/my_global.h
 - Moved down definition of function rint(), as for some platforms (in
   this case Netware) 'longlong' is not defined until later in
   "my_global.h"
2009-03-19 16:40:54 +01:00
kent.boortz@sun.com
860d9e9d7e Merge from mysql-5.0.79-release 2009-03-19 16:22:14 +01:00
Ignacio Galarza
5d13d4f34e auto-merge 2009-03-19 09:58:56 -04:00
Bernt M. Johnsen
39ceb7f6ef Bug#43329 merge from 5.0 GCA-branch 2009-03-19 14:52:35 +01:00
Ignacio Galarza
e82390130e auto-merge 2009-03-19 09:44:58 -04:00
Staale Smedseng
4ecbd0b53d Bug #42502 huge memory leak possible with timezone
functions
      
Unknown timezone specifications are properly rejected
by the server, but are copied into tz_storage before
rejection, and hence is retained until end of server 
life. With sufficiently large bogus timezone specs, 
it is easy to exhaust system memory.
      
Allocation of memory for a copy of the timezone
name is delayed until after verification of validity,
at the cost of a memcpy of the timezone info. This 
only happens once, future lookups will hit the cached
structure.
2009-03-19 11:27:45 +01:00
Alexey Kopytov
5e7238e76e Automerge. 2009-03-19 13:07:30 +03:00
Alexey Kopytov
a82402dd6f Fixed test failures in 5.1/6.0 introduced by the patch
for bug #41486. Session max_allowed_packet is read-only
as of MySQL 5.1.31. In addition, the global variable
now has no effect on the current session.
2009-03-19 13:02:23 +03:00
Sergey Glukhov
a910db2b91 automerge 2009-03-19 12:42:26 +04:00
Sergey Glukhov
28d6b77c23 Bug#41268 Help Text for \c is misleading in client command line interface
fixed help message
2009-03-19 12:37:34 +04:00
Satya B
6ca68ad189 merge to 5.0-bugteam 2009-03-19 13:53:24 +05:30
Sergey Glukhov
5ff4e44bf8 Bug#41627 Illegal mix of collations in LEAST / GREATEST / CASE
Don't throw an error after checking the first and the second arguments.
Continue with checking the third and higher arguments and if some of
them is stronger according to coercibility rules,
then this argument's collation is set as result collation.
2009-03-19 12:20:28 +04:00
Satya B
4f333c876a Fix for BUG#21360 - mysqldump error on federated tables
When loading dump created by mysqldump tool an error is
thrown saying storage engine for the table doesn't have 
an option.
                        
mysqldump tries to re-insert the data into the federated
table which causes the error. Since the data is already
available on the remote server, mysqldump shouldn't try
to dump the data again for FEDERATED tables.
                        
As stated in the bug page, it can be considered similar
to the MERGE ENGINE with "view only" nature.
                        
Fixed by adding the "FEDERATED ENGINE" to the exception
list to ignore the data.
2009-03-19 11:36:37 +05:30
Bernt M. Johnsen
b011395bfa Bug#43329 prepared for commit on 5.0 2009-03-18 15:07:13 +01:00
Alexey Kopytov
5315ffa7fa Automerge. 2009-03-18 11:35:52 +03:00
Alexey Kopytov
a3e5737abd Fix for bug#41486: extra character appears in BLOB for every
~40Mb after mysqldump/import 
        
When the input string exceeds the maximum allowed size for the 
internal buffer, batch_readline() returns a truncated string. 
Since there was no way for a caller to determine whether the 
string was truncated or not, the command line client assumed 
batch_readline() to always return the whole input string and 
appended a newline character. This resulted in garbled data 
when importing dumps containing strings longer than the 
maximum input buffer size. 
  
Fixed by adding a flag to the batch_readline() interface to 
signal a truncated string to the caller. 
  
Other minor problems fixed during patch implementation: 
 
- The maximum allowed buffer size for batch_readline() was set 
up depending on the client's max_allowed_packet value. It does 
not actully make any sense, as those variables are not 
related. The input buffer size limit is now always set to 1 
MB. 
  
- fill_buffer() did not always set the EOF flag. 
 
- The input buffer could actually grow twice as the specified 
limit due to insufficient checks in intern_read_line().
2009-03-18 11:18:24 +03:00
Georgi Kodinov
718efce059 merged 5.0-bugteam -> bug 22047 2009-03-17 16:28:05 +02:00
Patrick Crews
e54bad485d Bug#41307: Tests using include/ndb_backup.inc won't work on Windows due to 'grep' call.
Revised patch incorporating cleaner test code brought up during review.
Removed the use of grep and accomplished same actions via SQL / use of the server.

Runs as before on *nix systems and now runs on Windows without Cygwin as well.
2009-03-15 12:25:14 -04:00
Georgi Kodinov
8a5a804530 Bug #22047 : Time in SHOW PROCESSLIST for SQL thread in replication
seems to become negative

THD::start_time has a dual meaning : it's either the time since the process
entered a given state or is the transaction time returned by e.g. NOW().
This causes problems, as sometimes THD::start_time may be set to a value
that is correct and needed when used as a base for NOW(), but these times
may be arbitrary (SET @@timestamp) or non-local (coming from the master 
through the replication feed).
If one such non-local time is set there's no way to return a correct value
for e.g. SHOW PROCESSLIST or SELECT ... FROM INFORMATION_SCHEMA.PROCESSLIST.
Fixed by making the Time column in SHOW PROCESSLIST SIGNED LONG instead of 
UNSIGNED LONG and doing the correct conversions.
      
Note that no reliable test suite can be constructed, since it would require
knowing the local time and can't be achieved by the means of the current test
suite.
2009-03-13 15:51:25 +02:00
Chad MILLER
8725bcd944 Merge bug fix and upstream. 2009-03-12 13:32:13 -04:00
Timothy Smith
b756503262 Bug #32625: Make test type_bit_innodb more robust
Since there is more than one duplicate value in the table, when adding the
unique index it is not deterministic which value will be reported as causing a
problem.  Replace the reported value with '' so that it doesn't affect the
results.
2009-03-11 14:54:57 -06:00
Timothy Smith
333e7f3e15 Remove outdated and now useless TODO file from sql-bench. Requested by sales. 2009-03-11 14:52:53 -06:00
Chad MILLER
8961b82ac7 Accept wide-character version of libncurses also. 2009-03-11 11:46:21 -04:00
Georgi Kodinov
f01890898b merged 5.0-main -> 5.0-bugteam 2009-03-11 15:01:35 +02:00
Georgi Kodinov
e546077ee8 Bug #43354: Use key hint can crash server in explain extended query
The copy of the original arguments of a aggregate function was not
initialized until after fix_fields().
Sometimes (e.g. when there's an error processing the statement)
the print() can be called with no corresponding fix_fields() call.
      
Fixed by adding a check if the Item is fixed before using the arguments
copy.
2009-03-11 14:10:44 +02:00
Narayanan V
b741553087 Bug#42937 strings/CHARSET_INFO.txt not included in source distributions
The reference manual has instructions for adding new character
sets, and refers to the string/CHARSET_INFO.txt file. This file
is currently not present in the distribution.

Modify the build to include this file in the distribution.
2009-03-11 12:41:59 +05:30
Matthias Leich
62adf8953a Merge of fix into actual tree 2009-03-10 18:21:35 +01:00
Chad MILLER
6b72857803 Merge from bugfix tree. 2009-03-10 12:53:43 -04:00
kent.boortz@sun.com
e60cecab80 Back patched libedit portability changes from 5.1.32 2009-03-09 22:16:24 +01:00
Patrick.Crews@Sun.COM
67239e07f0 Test cases adjusted, precision changes "error Corrupt" changed to "status Operation failed" 2009-03-09 22:14:52 +01:00
Chad MILLER
0d9589a433 Bug#42635: mysqldump includes views that were excluded using the \
--ignore-table option

mysqldump would correctly omit temporary tables for views, but would
incorrectly still emit all CREATE VIEW statements.

Backport a fix from 5.1, where we capture the names we want to emit
views for in one pass (the placeholder tables) and in the pass where
we actually emit the views, we don't emit a view if it wasn't in that
list.
2009-03-09 16:58:47 -04:00
Chad MILLER
0693a99cfd Fix non-DBUG return. 2009-03-09 16:56:46 -04:00
Georgi Kodinov
5b9a33aafe Bug #42434: license of mysys MD5 implementation is not GPL-compatible
Took the Xfree implementation (based on the same rewrite as the NDB one)
and added it instead of the current implementation.
Added a macro to make the calls to MD5 more streamlined.
2009-03-09 20:57:03 +02:00
kent.boortz@sun.com
e400c54a06 Raise version number after cloning 5.0.79 2009-03-09 19:33:01 +01:00
Patrick Crews
1c39d5ff8f Fix of failing funcs_1 tests.
Changes are due to changes in precision.
Re-record of .result files to account for new server precision.
2009-03-09 11:32:07 -04:00
Georgi Kodinov
abdd2fe67a set the tree name to 5.0-main 2009-03-09 15:59:22 +02:00
Georgi Kodinov
df0fc2ea6a fixed a typo 2009-03-09 12:49:18 +02:00
Georgi Kodinov
9870864a88 fixed a win32 compile warning 2009-03-09 12:22:52 +02:00
He Zhenxing
6ddec9a50b Auto merge 2009-03-09 16:44:18 +08:00
Kristofer Pettersson
d6634f461b Manual merge 2009-03-06 11:49:39 +01:00
He Zhenxing
c8532bc979 Auto merge 2009-03-06 17:34:47 +08:00
He Zhenxing
e7605e338b BUG#22082 Slave hangs(holds mutex) on "disk full"
When disk is full, server may waiting for free space while
writing binlog, relay-log or MyISAM tables. The server will 
continue after user have freed some space. But the error
message printed was not quite clear about the how often the
error message is printed, and there will be a delay before
the server continue and user freeing space. And caused users
thinking that the server was hanging forever.

This patch fixed the problem by making the error messages
printed more clear. The error message is split into two part,
the first part will only be printed once, and the second part
will be printed very 10 times.

Message first part:
Disk is full writing '<filename>' (Errcode: <errorno>). Waiting
for someone to free space... (Expect up to 60 secs delay for 
server to continue after freeing disk space)

Message second part:
Retry in 60 secs, Message reprinted in 600 secs
2009-03-06 17:32:00 +08:00
Matthias Leich
7c4e55cb8a Merge of fix for Bug#42003 and Bug#43114 into more actual GCA tree
modifications according to the reviews are included
2009-03-05 14:35:03 +01:00
Kristofer Pettersson
76a5891429 Bug#40363 Bug 20023 is not fixed on 5.0
This is a back port from 5.1 to 5.0.

Fix for BUG 20023: mysql_change_user() resets the value
of SQL_BIG_SELECTS.
  
The bug was that SQL_BIG_SELECTS was not properly set
in COM_CHANGE_USER.
  
The fix is to update SQL_BIG_SELECTS properly.
2009-03-05 13:37:46 +01:00
He Zhenxing
52a07e9b74 BUG#37051 Replication rules not evaluated correctly
Backporting patch to 5.0.
2009-03-05 18:10:44 +08:00
Matthias Leich
b771483b85 Last slice of fix for Bug#42003 tests missing the disconnect of connections <> default
+ Fix for Bug#43114 wait_until_count_sessions too restrictive, random PB failures
+ Removal of a lot of other weaknesses found
+ modifications according to review
2009-03-03 21:34:18 +01:00