Commit graph

54773 commits

Author SHA1 Message Date
Matthias Leich
099e6428d1 Merge of fix for
Bug#38270 Test "processlist_priv_ps" fails on
          varying "processlist" output
2008-08-25 15:23:11 +02:00
Davi Arnaut
56f1d32674 Bug#36579 Dumping information about locks in use may lead to a server crash
Dumping information about locks in use by sending a SIGHUP signal
to the server or by invoking the "mysqladmin debug" command may
lead to a server crash in debug builds or to undefined behavior in
production builds.

The problem was that a mutex that protects a lock object (THR_LOCK)
might have been destroyed before the lock object was actually removed
from the list of locks in use, causing a race condition with other
threads iterating over the list. The solution is to destroy the mutex
only after removing lock object from the list.
2008-08-25 10:18:52 -03:00
Matthias Leich
88e716a639 Upmerge 5.0 -> 5.1 of fix for
Bug#26687 rpl_ddl test fails if run with --innodb option
2008-08-25 15:09:51 +02:00
Sergey Glukhov
f0a7858254 null merge 2008-08-25 17:44:05 +05:00
Sergey Glukhov
515de310f0 Bug#37428 Potential security issue with UDFs - linux shellcode execution.
plugin_dir option backported from 5.1
2008-08-25 17:11:59 +05:00
Alexander Barkov
949a87afbe Additional fix for bug#31455
Fixing non-deterministic test results:
the number of spaces in FLOAT/DOUBLE output could 
vary between different platforms.
2008-08-25 15:29:59 +05:00
Alexander Barkov
88e7b1381e Additional ffix for bug#31455
- fixing double problem on big endian machines
- modifying regex_replace to replace negative numbers
  Previously only positive numbers where replaced.
2008-08-25 12:58:29 +05:00
Alexey Botchkov
871201db3d merging 2008-08-23 07:47:43 +05:00
Matthias Leich
82aa8e2129 Fix for
Bug#26687 rpl_ddl test fails if run with --innodb option
  Details:
  - The current test + the expected results do only fit
    if the slave uses MyISAM for mysqltest1.t1.
    Therefore skip the test if we do not meet these
    conditions.
  - The solution for 5.1 will look quite different
    because "ps_ddl" is already much improved in
    MySQL 5.1.
2008-08-22 19:49:51 +02:00
Alexey Botchkov
69657f972b Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
test_if_data_home_dir fixed to look into real path.
            Checks added to mi_open for symlinks into data home directory.

per-file messages:
        include/my_sys.h
          Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
          
          my_is_symlink interface added
        include/myisam.h
          Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
          
          myisam_test_invalid_symlink interface added
        myisam/mi_check.c
          Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
          
          mi_open_datafile calls modified
        myisam/mi_open.c
          Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
          
          code added to mi_open to check for symlinks into data home directory.
          mi_open_datafile now accepts 'original' file path to check if it's
          an allowed symlink.
        myisam/mi_static.c
          Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
          
          myisam_test_invlaid_symlink defined
        myisam/myisamchk.c
          Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
          
          mi_open_datafile call modified
        myisam/myisamdef.h
          Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
          
          mi_open_datafile interface modified - 'real_path' parameter added
        mysql-test/r/symlink.test
          Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
          
          error codes corrected as some patch now rejected pointing inside datahome
        mysql-test/r/symlink.result
          Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
          
          error messages corrected in the result
        mysys/my_symlink.c
          Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
          
          my_is_symlink() implementsd
          my_realpath() now returns the 'realpath' even if a file isn't a symlink
        sql/mysql_priv.h
          Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
          
          test_if_data_home_dir interface
        sql/mysqld.cc
          Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
          
          myisam_test_invalid_symlik set with the 'test_if_data_home_dir'
        sql/sql_parse.cc
          Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
          
          error messages corrected
          test_if_data_home_dir code fixed
2008-08-22 17:31:53 +05:00
Alexander Barkov
dd732aadae Recording the result (forgot in previous commit) 2008-08-22 15:26:56 +05:00
Alexander Barkov
e3adf28d08 Additional fix for bug#31455
Getting rid of non-deterministic results of sprintf("%-20g").
Displaying only 3 digits after decimal dot.
2008-08-22 15:14:30 +05:00
Alexander Barkov
bdddef048b Additional fix for bug#31455.
Exchanging "m_cols" and "m_cols_ai".

Very confusing variable naming :(
2008-08-22 10:17:52 +05:00
Alexander Barkov
056a64e808 Additional fix for bug#31455
Removing server version with regex_replace
to avoid non-determenistic test results.
2008-08-22 09:22:16 +05:00
Vladislav Vaintroub
8b9d3a4ea1 Bug #33907 : Errors compiling mysql with Microsoft Visual C++ Express 2008
- Cherry pick 6.0 changes for Visual Studio 2008 support
- Add scripts  win\build-vs9.bat and win\build-vs9_x64.bat

Also, remove CMake generated visual studio project files.
2008-08-21 19:11:17 +02:00
Matthias Leich
ece678c5a2 Fix for Bug#38270 Test "processlist_priv_ps" fails on varying "processlist" output
Details of the fix:
- wrong command and state in processlist -> insert poll routine
- unexpected additional session -> abort if unexpected session found
2008-08-21 16:38:49 +02:00
Alexander Barkov
b25b2b2411 Additional fix for bug#31455 (rpl decoder)
- Implementing --base64-format=decode-rows, to display
  SQL-alike decoded row events without their BINLOG statements.
- Adding --base64-format=decode-rows into tests when
  calling mysqlbinlog to avoid non-deterministic results
- Removing resetting of last_table_id in "RESET MASTER",
  which appeared to be dangerous.
2008-08-21 16:47:23 +05:00
Sergey Glukhov
dd47146dfa added replacement of 'CARDINALITY' column values 2008-08-21 15:01:11 +05:00
Tatiana A. Nurnberg
de00650d8c auto-merge 2008-08-21 10:15:00 +02:00
Tatiana A. Nurnberg
8ab01e5ce0 Bug#35616: memory overrun on 64-bit linux on setting large values for keybuffer-size
add'l portability fixes
2008-08-21 07:06:09 +02:00
Tatiana A. Nurnberg
645b3fbf69 Bug#35616: memory overrun on 64-bit linux on setting large values for keybuffer-size
portability fixes / cleanup
2008-08-21 06:48:28 +02:00
Timothy Smith
7c82d56495 Cherry-pick various sr51rc/sr51ga fixes from InnoDB snapshots. 2008-08-20 17:29:46 -06:00
Timothy Smith
d8aa83b270 Cherry-pick some changes from innodb-5.1-ss2545 snapshot. Includes fixes for
Bug#37531, Bug#36941, Bug#36941, Bug#36942, Bug#38185.

Also include test case from Bug 34300 which was left out from earlier snapshot
(5.1-ss2387).

Also include fix for Bug #29507, "TRUNCATE shows to many rows effected", since
the fix for Bug 37531 depends on it.
2008-08-20 16:18:33 -06:00
Mattias Jonsson
82e3bece25 merge 2008-08-20 19:37:56 +02:00
Mattias Jonsson
42fe1205a0 Backport of patch for Bug#34604 (from 6.0)
post push fix for bug#20129, test failed due to non existing
source files.
2008-08-20 17:29:14 +02:00
Alexander Barkov
a57aa6bb75 Bug#31455 mysqlbinlog don't print user readable info about RBR events
Implementing -v command line parameter to mysqlbinlog
to decode and print row events.

mysql-test/include/mysqlbinlog_row_engine.inc
mysql-test/r/mysqlbinlog_row.result
mysql-test/r/mysqlbinlog_row_big.result
mysql-test/r/mysqlbinlog_row_innodb.result
mysql-test/r/mysqlbinlog_row_myisam.result
mysql-test/r/mysqlbinlog_row_trans.result
mysql-test/t/mysqlbinlog_row.test
mysql-test/t/mysqlbinlog_row_big.test
mysql-test/t/mysqlbinlog_row_innodb.test
mysql-test/t/mysqlbinlog_row_myisam.test
mysql-test/t/mysqlbinlog_row_trans.test
  Adding tests 

client/Makefile.am
  Adding new files to symlink
  
client/mysqlbinlog.cc
  Adding -v option

sql/log_event.cc
  Impelentations of the new methods

sql/log_event.h
  Declaration of the new methods and member

sql/mysql_priv.h
  Adding new function prototype

sql/rpl_tblmap.cc
  Adding pre-processor conditions 

sql/rpl_tblmap.h
  Adding pre-processor conditions 

sql/rpl_utility.h
  Adding pre-processor conditions 

sql/sql_base.cc
  Adding reset_table_id_sequence() function.

sql/sql_repl.cc
  Resetting table_id on "RESET MASTER"
  
.bzrignore
  Ignoring new symlinked files
2008-08-20 19:06:31 +05:00
Jonathan Perkin
853aec9c90 merge 2008-08-20 14:10:41 +01:00
Jonathan Perkin
e06daa8db4 Fix path to myisamchk for mysql-5.1 2008-08-20 14:06:22 +01:00
Sergey Glukhov
eeb35b9026 5.0-bugteam->5.1-bugteam merge 2008-08-20 16:42:01 +05:00
Jonathan Perkin
ded12789af bug#33300: use myisamchk to verify that mysql_install_db has
created at least some files and that they are correct.
2008-08-20 12:32:34 +01:00
Sergey Glukhov
9bc9ddd56e Bug#38291 memory corruption and server crash with view/sp/function
Send_field.org_col_name has broken value on secondary execution.
It happens when result field is created from the field which belongs to view
due to forgotten assignment of some Send_field attributes. 
The fix:
set Send_field.org_col_name,org_table_name with correct value during Send_field intialization.
2008-08-20 14:49:28 +05:00
Sergey Glukhov
857718e28b after merge fix, related to bug#37301 changes 2008-08-20 13:15:42 +05:00
Sergey Petrunia
4fd0709d2e Fix merge problem: make sf_malloc_cur_memory definitions match in headers and source 2008-08-20 06:45:56 +04:00
Timothy Smith
1999186d89 Cherry-pick one change from innodb-5.1-ss2485 snapshot. Fixes Bug#35602.
Bug #35602 "Failed to read auto-increment value from storage engine" with
Innodb

The test for REPLACE was an error of ommission since it's classified as
a simple INSERT. For REPLACE statements we don't acquire the special
AUTOINC lock for AUTOINC_NEW_STYLE_LOCKING with this fix.
2008-08-19 18:40:56 -06:00
Sergey Petrunia
2f9c81bca0 Merge 2008-08-20 04:38:49 +04:00
Timothy Smith
1a01d6a93b Cherry-pick some changes from innodb-5.1-ss2479 snapshot. Includes fixes for
Bug#36600 and Bug#36793:

Bug #36600 SHOW STATUS takes a lot of CPU in buf_get_latched_pages_number

Fix by removing the Innodb_buffer_pool_pages_latched variable from SHOW
STATUS output in non-UNIV_DEBUG compilation.

Bug #36793 rpl_innodb_bug28430 fails on Solaris

This is a back port from branches/zip. This code has been tested on a
big-endian machine too.
2008-08-19 18:37:41 -06:00
Sergey Petrunia
fe8c5bf7d5 Fix others' merge error in federated.{test,result} 2008-08-20 04:34:52 +04:00
Timothy Smith
0473a0d670 Cherry-pick one part of innodb-5.1-ss2438 snapshot.
Bug #36278 Data_free in SHOW TABLE STATUS for InnoDB is in kilobytes

Change the fix for Bug 32440 to show bytes instead of kilobytes in
INFORMATION_SCHEMA.TABLES.DATA_FREE.
2008-08-19 18:29:46 -06:00
Sven Sandberg
28ce5ab20e Bug#35807 - INSTALL PLUGIN replicates row-based, but not stmt-based
INSTALL PLUGIN and UNINSTALL PLUGIN worked with statement-based and
mixed-mode replication only, but not with row-based replication.

There is no statement-based replication of these statements.
But there was row-based replication of the inserts and deletes
to and from the mysql.plugin table.

The fix is to suppress binlogging during insert and delete to
and from the mysql.plugin table.
2008-08-19 17:35:56 +02:00
Tatiana A. Nurnberg
1b107a5957 auto-merged 2008-08-19 16:26:24 +02:00
Tatiana A. Nurnberg
9c24a39a42 Bug#35616: memory overrun on 64-bit linux on setting large values for keybuffer-size
We could allocate chunks larger than 4GB, but did our
size-accounting in 32-bit values. This could lead to
spurious warnings, inaccurate accounting, and, in
theory, data loss.
  
Affected: 64-bit platforms. Debug-build (with safemalloc).
At least one buffer larger than 4GB. For potential data
loss, a re-alloc on such a buffer would be necessary.
2008-08-19 15:56:41 +02:00
Mattias Jonsson
7f23602e2e merge (from mysql-5.1-bugteam to my local tree) 2008-08-19 15:27:57 +02:00
Sergey Petrunia
53abe494eb Merge 2008-08-19 17:25:19 +04:00
Georgi Kodinov
bae55255df Bug#36638: fixing a failing test case. 2008-08-19 16:16:20 +03:00
Sergey Petrunia
869c86b318 BUG#36135: void Diagnostics_area::set_eof_status(THD*): Assertion `! is_set()' failed.
- Before sending EOF, check if we've already sent an error.
2008-08-19 17:15:29 +04:00
Georgi Kodinov
967586934c merged 5.0-bugteam to 5.1-bugteam 2008-08-19 15:21:18 +03:00
Georgi Kodinov
53fe782e74 merged 5.0-main to 5.0-bugteam 2008-08-19 14:55:36 +03:00
Georgi Kodinov
4b2dd02552 Bug#38195: Incorrect handling of aggregate functions when loose index scan
is used causes server crash.
  Revert the fix : unstable test case revealed by pushbuild
2008-08-19 13:36:24 +03:00
Mattias Jonsson
1833014b06 merge 2008-08-19 12:26:30 +02:00
Mattias Jonsson
63f983aceb Post push fix for valgrind warning in ha_partition.cc
Bug#35161
Fixed memory leak when failing to open a partition.

Bug#20129
Added tests for verifying REPAIR PARTITION.
2008-08-19 11:44:22 +02:00