Commit graph

22376 commits

Author SHA1 Message Date
Georgi Kodinov
3468f4b4b3 Bug#37548: result value erronously reported being NULL in certain subqueries
When switching to indexed ORDER BY we must be sure to reset the index read
flag if we are switching from a covering index to non-covering.
2008-08-27 18:19:22 +03:00
Mats Kindahl
4c30c09105 Automerge 2008-08-27 16:21:10 +02:00
Mats Kindahl
dd34cceb4c Result file change. 2008-08-27 16:17:55 +02:00
Evgeny Potemkin
1f28ee8875 Bug#38195: Incorrect handling of aggregate functions when loose index scan is
used causes server crash.
      
When the loose index scan access method is used values of aggregated functions
are precomputed by it. Aggregation of such functions shouldn't be performed
in this case and functions should be treated as normal ones.
The create_tmp_table function wasn't taking this into account and this led to
a crash if a query has MIN/MAX aggregate functions and employs temporary table
and loose index scan.
Now the JOIN::exec and the create_tmp_table functions treat MIN/MAX aggregate
functions as normal ones when the loose index scan is used.
2008-08-27 17:03:17 +04:00
Mats Kindahl
3b6195a78c Automerge 2008-08-27 11:05:04 +02:00
Mats Kindahl
f1b8441e02 Merge b38773-5.1-rpl-merge into 5.1-rpl-merge 2008-08-27 11:02:37 +02:00
Mats Kindahl
6461089817 Bug #38773: DROP DATABASE cause switch to stmt-mode when there are temporary
tables open

When executing a DROP DATABASE statement in ROW mode and having temporary
tables open at the same time, the existance of temporary tables prevent
the server from switching back to row mode after temporarily switching to
statement mode to handle the logging of the statement.

Fixed the problem by removing the code to switch to statement mode and added
code to temporarily disable the binary log while dropping the objects in the
database.
2008-08-27 10:40:11 +02:00
Davi Arnaut
2b5e539c59 Merge of mysql-5.1-bugteam branch. 2008-08-26 15:38:17 -03:00
Mattias Jonsson
46abb094ca merge (updated to latest mysql-5.1-bugteam before push) 2008-08-26 17:10:21 +02:00
Mattias Jonsson
d62402c0a2 Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY
post push fix

Updated partition_symlink since different error behavior
if embedded (or not partitioned)
2008-08-26 16:31:30 +02:00
Ramil Kalimullin
47f3a9acfb Merge 2008-08-26 18:53:22 +05:00
Ramil Kalimullin
4d5670ebf9 Fix for bug #37310: 'on update CURRENT_TIMESTAMP' option crashes the table
Problem: data consistency check (maximum record length) for a correct
MyISAM table with CHECKSUM=1 and ROW_FORMAT=DYNAMIC option 
may fail due to wrong inner MyISAM parameter. In result we may 
have the table marked as 'corrupted'. 

Fix: properly set MyISAM maximum record length parameter.
2008-08-26 18:48:50 +05:00
He Zhenxing
90b072cbde Fix cherry picking patch of BUG#37051 2008-08-26 20:11:56 +08:00
Alexey Botchkov
4d8ef9d44a merging 2008-08-26 15:58:41 +05:00
Alexey Botchkov
0a4bc8bb6b merging 2008-08-26 15:22:09 +05:00
He Zhenxing
407080004f Cherry picking post fixes for BUG#37051 2008-08-26 18:07:56 +08:00
He Zhenxing
78e1f5d523 Cherry picking patch for BUG#37051 2008-08-26 18:01:49 +08:00
Alexander Barkov
c490167334 Merging latest changes. 2008-08-26 14:58:23 +05:00
Alexey Botchkov
ab1ce67eb0 merging fix 2008-08-26 14:50:32 +05:00
Alexey Botchkov
60fffe65b5 merging fixes 2008-08-26 14:31:17 +05:00
Alexey Botchkov
d7445d0493 merging fixes 2008-08-26 14:21:07 +05:00
Alexey Botchkov
67e480d269 merging fix 2008-08-26 13:32:43 +05:00
Alexander Barkov
7e63f13834 Merging 5.1-rpl-testfixes to 5.1 main. 2008-08-26 11:55:30 +05:00
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
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
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
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
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
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
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
Sergey Glukhov
eeb35b9026 5.0-bugteam->5.1-bugteam merge 2008-08-20 16:42:01 +05: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 Petrunia
2f9c81bca0 Merge 2008-08-20 04:38:49 +04:00
Sergey Petrunia
fe8c5bf7d5 Fix others' merge error in federated.{test,result} 2008-08-20 04:34:52 +04: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
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