Commit graph

67792 commits

Author SHA1 Message Date
Guilhem Bichot
957c09f663 Fix for Bug#57932 "query with avg returns incorrect results":
when there was one NULL value, AVG(DISTINCT) could forget about other values.
See commit comment of item_sum.cc.
2010-12-07 16:59:32 +01:00
Luis Soares
c872e3db80 BUG#58416
Null merge to from mysql-5.1-bugteam to mysql-5.5-bugteam.
Test case does not exist in 5.5 tree.
2010-12-07 14:31:00 +00:00
Luis Soares
a9d18aaf3e BUG#58416
Automerging bzr bundle from bug report into latest 
mysql-5.1-bugteam.
2010-12-07 14:26:20 +00:00
Marc Alff
848e1b90cd Valgrind 3.5.0 cleanup, continued 2010-12-07 15:13:27 +01:00
Marc Alff
83b7c74988 Valgrind 3.5.0 cleanup 2010-12-07 14:52:14 +01:00
Nirbhay Choubey
d5e7008bdd Bug#58139 : default-auth option not recognized in MySQL standard
command line clients.

Command line tools like mysqladmin and mysqldump did not recognize
default-auth and plugin-dir options.

Support for these options was found missing in these command line
tools.

Fixed by adding support for the same.
2010-12-07 17:37:07 +05:30
Jonathan Perkin
5791d69d14 bug#58766: Server binary was compiled without fast-mutexes
Re-enable fast mutexes on Linux for release builds.
2010-12-07 11:40:38 +00:00
Alfranio Correia
4406a7de4d Post-push fix for BUG#57275. 2010-12-06 11:55:36 +00:00
Alfranio Correia
9486f9df2f merge mysql-5.5-bugteam(local) --> mysql-5.5-bugteam 2010-12-05 22:01:44 +00:00
Jonathan Perkin
1dd333a29e Add --parallel=auto to collection files which don't currently have it. 2010-12-03 14:43:49 +00:00
Mattias Jonsson
5618a20e10 post-push fix for test to work on row-based-replication 2010-12-03 14:05:33 +01:00
Mattias Jonsson
1956220002 merge of bug#58147, including rename of the new argument,
to_binlog -> binlog_stmt.
2010-12-03 10:33:29 +01:00
Alfranio Correia
f077bda606 merge mysql-5.5-bugteam(local) --> mysql-5.5-bugteam 2010-12-03 01:06:56 +00:00
Mats Kindahl
651d029e99 Merging with mysql-5.5-bugteam. 2010-12-02 09:55:08 +01:00
Mats Kindahl
2bd4a70833 Bug #58246: INSTALL PLUGIN not secure & crashable
Adding symbol FN_DIRSEP to Windows as well.
2010-12-02 09:18:47 +01:00
Mats Kindahl
d4a9b5a8e8 Merging with mysql-5.1-bugteam 2010-12-02 09:14:21 +01:00
Mats Kindahl
afb8f0f882 BUG#58246: INSTALL PLUGIN not secure & crashable
Fixing test case that fails on Windows because .dll is used.
2010-12-02 09:13:31 +01:00
Tor Didriksen
517f31486e merge from 5.1-bugteam 2010-12-02 08:16:26 +01:00
Tor Didriksen
71c32129bd BUG#58246 post-push fix broken DBG build. 2010-12-02 08:14:43 +01:00
Mats Kindahl
8ea491e720 Merging patch for BUG#58246 into mysql-5.5-bugteam. 2010-12-01 23:15:14 +01:00
Mattias Jonsson
f3c6e6ffd6 Bug#58147: ALTER TABLE w/ TRUNCATE PARTITION fails
but the statement is written to binlog

TRUNCATE PARTITION was written to the binlog
even if it failed before calling any partition's
truncate function.

Solved by adding an argument to truncate_partition,
to flag if it should be written to the binlog or not.

It should be written to the binlog when a call to any
partitions truncate function is done.
2010-12-01 22:47:40 +01:00
Mats Kindahl
bfb43fb44f Merging patch for BUG#58246 with mysql-5.1-bugteam. 2010-12-01 20:33:31 +01:00
Marc Alff
5dd0cf1c84 Local merge 2010-12-01 19:07:57 +01:00
Marc Alff
5227525002 Local merge 2010-12-01 18:56:46 +01:00
Marc Alff
8690e9379a Local merge 2010-12-01 18:48:23 +01:00
Marc Alff
646a4374fa Local merge 2010-12-01 18:35:51 +01:00
Mats Kindahl
91a4a8aba6 BUG#58246: INSTALL PLUGIN not secure & crashable
When installing plugins, there is a missing check
for slash (/) in the path on Windows. Note that on
Windows, both / and \ can be used to separate
directories.

This patch fixes the issue by:
- Adding a FN_DIRSEP symbol for all platforms
  consisting of a string of legal directory
  separators.
- Adding a charset-aware version of strcspn().
- Adding a check_valid_path() function that uses
  my_strcspn() to check if any FN_DIRSEP character
  is in the supplied string.
- Using the check_valid_path() function in
  sql_plugin.cc and sql_udf.cc (which means
  replacing the existing test there).
2010-12-01 13:54:50 +01:00
Mikael Ronstrom
d4f4d5489f Updated build_mccge.sh to handle Open64 compiler, to remove autotools and a debug build bug fix 2010-12-01 13:38:47 +01:00
Marc Alff
033c6c394d Bug#53696 Performance schema engine violates the PSEA API by calling my_error()
This is a code cleanup.

The implementation of a storage engine (subclasses of handler) is not supposed
to call my_error() directly inside the engine implementation, 
but only return error codes, and report errors later at the demand
of the sql layer only (if needed), using handler::print_error().

This fix removes misplaced calls to my_error(),
and provide an implementation of print_error() instead.

Given that the sql layer implementation of create table, ha_create_table(),
does not use print_error() but returns ER_CANT_CREATE_TABLE directly,
the return code for create table statements using the performance schema
has changed to ER_CANT_CREATE_TABLE.

Adjusted the test suite accordingly.
2010-12-01 13:06:41 +01:00
Marc Alff
0c9c211231 Bug#56618 Thread_ID is not assigned in ascending sequence (after disconnect)
Before this fix, the test thread_cache failed with spurious failures.

The test used:
-- disconnect X
-- connect Y

while assuming that connection Y would reuse connection X slot in the thread cache.

For this to happen, the disconnect X operation must be given enough time to complete,
otherwise connect Y can be executed in the server before X actually finishes.

This fix uses wait conditions to make the test execution more controlled,
and more reproductible.
2010-12-01 11:10:15 +01:00
Marc Alff
b12eb4a11a Bug#58512 Performance_schema.myisam_file_io fails sporadically in PB2
Before this fix, the test myisam_file_io executed:
- (a) an update on setup_instrument to disable non myisam file io instruments
- (b) a truncate on events_waits_history_long
and later
- (c) a select on events_waits_history_long

Surprisingly, events that were supposed to be disabled in (a) and removed in (b)
still were found in (c).

This happened for events such as 
  wait/io/file/innodb/innodb_data_file fil0fil.c: sync  
because the sync was started before (a) and completed after (b),
and as a consequence was added in the performance schema history, as expected.

Presence of these records in the history made the test fail. 

This fix makes the test script more robust to account for extra spill waits records in (c).
2010-12-01 10:24:16 +01:00
Marc Alff
bb9efb5992 Bug#58621 perfschema.dml_ews_by_thread_by_event_name test failure
This fix affects the test suite only.

Before this fix, performance schema tests dml_*.test could
fail with spurious failure, depending on the table content.

This fix simplifies the SELECT tests in the dml_*.test scripts,
to only verify that the SELECT operation passed the security checks
and succeeded, which was the original intent of the test.

Usage of 
  --replace_column 1 # 2 # 3 # 4 # ...
to discard the test output was replaced by a simpler and more maintainable 
  --disable_result_log
which also work for empty tables.
2010-12-01 09:01:04 +01:00
Nirbhay Choubey
938c61dcbb Merging from mysql-5.1-bugteam 2010-12-01 12:28:21 +05:30
Nirbhay Choubey
c8310653b4 Additional fix for bug#54899
Fixing the testcase to use the database name
as connected_db instead of 'test' database.
2010-12-01 12:25:31 +05:30
Davi Arnaut
64c357d078 Merge of mysql-5.1-bugteam into mysql-5.5-bugteam. 2010-11-30 21:20:32 -02:00
Davi Arnaut
86ec0f98b8 Bug#56760: my_atomics failures on osx10.5-x86-64bit
The problem was due to a misuse of GCC asm constraints used to
implement a atomic load. On x86_64, the load was implemented
as a cmpxchg which implicitly uses the eax register as a
source and destination operand, yet the dummy value used for
comparison wasn't being properly loaded into eax (and other
problems).

The core problem is that cmpxchg is unnecessary as a load
on x86_64 as there are other simpler instructions such
as xadd. Even though, such instructions are only used to
have a memory barrier as load and stores are atomic by
definition. Hence, the solution is to explicitly issue the
required CPU and compiler barriers.
2010-11-30 21:19:49 -02:00
Davi Arnaut
2419cec9f1 Workaround a GCC warning about a pointer being cast to a larger
integral type. Use intptr which is designed to hold pointer values
and pass it to off_t.
2010-11-30 21:07:55 -02:00
Davi Arnaut
1ab37fd3c0 Merge of mysql-5.1-bugteam into mysql-5.5-bugteam. 2010-11-30 17:06:53 -02:00
Luis Soares
8a214b8e1d BUG 57288: automerged mysql-5.1-bugteam into mysql-5.5-bugteam. 2010-11-30 18:17:06 +00:00
Luis Soares
a8680a58a1 BUG 57288: automerged bzr bundle from bug report. 2010-11-30 18:14:30 +00:00
Christopher Powers
9a9a5a8432 Null-merge from mysql-5.1-bugteam 2010-11-30 11:53:11 -06:00
Christopher Powers
f8c6800009 Null-merge from mysql-5.0-bugteam 2010-11-30 11:51:25 -06:00
Christopher Powers
f918f1263a Bug#35333, "If Federated table can't connect to remote host, can't retrieve
metadata"

Improved error handling such that queries against Information_Schema.Tables won't
fail if a federated table can't make a remote connection.
2010-11-30 11:20:56 -06:00
Luis Soares
23636330c9 BUG#57288: binlog_tmp_table fails sporadically: "Failed to write
the DROP statement ..."
      
Problem: When using temporary tables and closing a session, an
implicit DROP TEMPORARY TABLE IF EXISTS is written to the binary
log (while cleaning up the context of the session THD - see:
sql_class.cc:THD::cleanup which calls close_temporary_tables).
     
close_temporary_tables, first checks if the binary log is opened
and then proceeds to creating the DROP statements. Then, such
statements, are written to the binary log through
MYSQL_BIN_LOG::write(Log_event *). Inside, there is another check
if the binary log is opened and if not an error is returned. This
is where the faulty behavior is triggered. Given that the test
case replays a binary log, with temp tables statements, and right
after it issues RESET MASTER, there is a chance that is_open will
report false (when the mysql session is closed and the temporary
tables are written).
      
is_open may return false, because MYSQL_BIN_LOG::reset_logs is
not setting the correct flag (LOG_CLOSE_TO_BE_OPENED), on the
MYSQL_LOG_BIN::log_state (instead it sets just the
LOG_CLOSE_INDEX flag, leaving the log_state to
LOG_CLOSED). Thence, when writing the DROP statement as part of
the THD::cleanup, the thread could get a return value of false
for is_open - inside MYSQL_BIN_LOG::write, ultimately reporting
that it can't write the event to the binary log.
      
Fix: We fix this by adding the correct flag, missing in the
second close.
2010-11-30 16:55:28 +00:00
Christopher Powers
5094555e53 Bug#35333, "If Federated table can't connect to remote host, can't retrieve metadata" 2010-11-30 09:43:50 -06:00
Christopher Powers
f40cc1e000 Bug#35333, "If Federated table can't connect to remote host, can't retrieve
metadata"
            
Improved error handling such that queries against Information_Schema.Tables won't
fail if a federated table can't make a remote connection.
2010-11-29 22:46:43 -06:00
Christopher Powers
a723fa8744 merge 2010-11-29 21:10:05 -06:00
Christopher Powers
33b560e89d Bug#35333, "If Federated table can't connect to remote host, can't retrieve metadata"
Improved error handling such that queries against Information_Schema.Tables won't
fail if a Federated table is unable to connect to remote host.
2010-11-29 18:51:46 -06:00
Georgi Kodinov
8f620f39e5 merge 2010-11-29 17:40:26 +02:00
Georgi Kodinov
0fff83dfdc null merge 2010-11-29 17:36:22 +02:00