Commit graph

54858 commits

Author SHA1 Message Date
Mats Kindahl
f295ea2f02 Automerge 2008-08-27 11:05:04 +02:00
Mats Kindahl
2d62bacf28 Merge b38773-5.1-rpl-merge into 5.1-rpl-merge 2008-08-27 11:02:37 +02:00
Mats Kindahl
0203409175 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.


mysql-test/extra/binlog_tests/database.test:
  Added test to ensure that DROP DATABASE does not affect the replication mode.
sql/sql_db.cc:
  Removed code that clears the current_stmt_binlog_row_based flag.
  Added code to disable the binary log while dropping the objects
  in a database.
2008-08-27 10:40:11 +02:00
Davi Arnaut
33338db84d Merge of mysql-5.1 branch. 2008-08-26 21:43:13 -03:00
Davi Arnaut
0ddea7b340 Merge of mysql-5.1-bugteam branch. 2008-08-26 15:38:17 -03:00
Davi Arnaut
bfdd0591c7 Merge of mysql-5.0-bugteam branch. 2008-08-26 15:27:04 -03:00
Mattias Jonsson
511a89d791 merge (updated to latest mysql-5.1-bugteam before push) 2008-08-26 17:10:21 +02:00
Mattias Jonsson
84dc95cfcd Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY
post push fix

Updated partition_symlink since different error behavior
if embedded (or not partitioned)

mysql-test/r/partition_symlink.result:
  Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY
  
  updated result file
mysql-test/t/partition_symlink.test:
  Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY
  
  Fix for embedded
2008-08-26 16:31:30 +02:00
Ramil Kalimullin
d2541eac97 Merge 2008-08-26 18:53:22 +05:00
Ramil Kalimullin
42d0266afe Fix for bug#37277: Potential crash when a spatial index isn't the first key
Typo fixed.
No test case as we actually don't use rtree_get_first() 
and rtree_get_next() at present.
2008-08-26 18:51:06 +05:00
Ramil Kalimullin
b219978514 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.


myisam/mi_create.c:
  Fix for bug #37310: 'on update CURRENT_TIMESTAMP' option crashes the table
  
  Use HA_OPTION_PACK_RECORD instead of HA_PACK_RECORD (typo?) 
  calculating packed record length.
2008-08-26 18:48:50 +05:00
He Zhenxing
4e6de6ed27 Fix cherry picking patch of BUG#37051
mysql-test/include/wait_for_slave_sql_error_and_skip.inc:
  include/start_slave.inc not exist yet, changed to start slave and source include/wait_for_slave_to_start.inc
mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result:
  update result
2008-08-26 20:11:56 +08:00
Alexey Botchkov
0b19617de7 merging 2008-08-26 15:58:41 +05:00
Alexey Botchkov
ebe1b65ee3 merging 2008-08-26 15:22:09 +05:00
He Zhenxing
6b85127976 Cherry picking post fixes for BUG#37051 2008-08-26 18:07:56 +08:00
He Zhenxing
923f61039e Cherry picking patch for BUG#37051 2008-08-26 18:01:49 +08:00
Alexander Barkov
d45e478cc7 Merging latest changes. 2008-08-26 14:58:23 +05:00
Alexey Botchkov
5b68e3dc30 merging fix 2008-08-26 14:50:32 +05:00
Alexey Botchkov
27ca994dff merging fixes 2008-08-26 14:31:17 +05:00
Alexey Botchkov
3b1adb501e merging fixes 2008-08-26 14:21:07 +05:00
Alexey Botchkov
8d3eb141e0 merging fix 2008-08-26 13:32:43 +05:00
Alexander Barkov
e456ddcdee Merging 5.1-rpl-testfixes to 5.1 main. 2008-08-26 11:55:30 +05:00
Joerg Bruehe
7077649ef1 Bug#37098 Get rid of "Installed (but unpackaged)" files in the RPM build
Mostly, this affected files (programs, scripts, and manual pages)
which got built during a RPM build but were not listed in the
appropriate "%files" section of the "spec" file.
This is fixed now, they are added.

To make this consistent, this patch also makes the build of "innochecksum"
(and its inclusion in a tar.gz or other package) depend on whether InnoDB
is configured in the build.

Also, some tools to create Windows packages are irrelevant in any binary
Unix package (not the sources !), and so they are deleted before packaging.

configure.in:
  To prevent "innochecksum" from getting built even if InnoDB is not configured
  (and then being included in such packages),
  we need an "automake condition" that evaluates whether we have InnoDB.
extra/Makefile.am:
  Evaluate the new automake condition about having InnoDB,
  and make the build of "innochecksum" depend on it.
man/Makefile.am:
  Cleanup: There are manual files which we do not need,
  like those about tools for Windows builds / packaging
  (irrelevant in any Unix binary package)
  and about NDB tools which do not get built.
scripts/make_binary_distribution.sh:
  In any Unix binary package, do not include tools for Windows builds
  (and their manual pages).
  This does not affect source packages, of course.
support-files/mysql.spec.sh:
  There were several files (binaries, scripts, and manuals)
  which got built with a RPM but never packages,
  add them to the respective RPM.
2008-08-25 21:07:41 +02:00
Sergey Petrunia
9ecf9c30cd Merge 2008-08-25 22:07:59 +04:00
Sergey Petrunia
6df6aeca4c Merge BUG#36639 into 5.1 2008-08-25 21:18:22 +04:00
Sergey Petrunia
c770161ae8 BUG#36639: subselect.test crashes on 64 bit pentium4 when compiled for valgrind, commit into 5.0
- Use the compiler's default copy constructor for QUICK_RANGE_SELECT. 
  bcopy(this, copy, ...) call caused some odd action on gcc-4.1.2 on x86_64

sql/opt_range.cc:
  BUG#36639: subselect.test crashes on 64 bit pentium4 when compiled for valgrind
  - Set QUICK_SELECT_DESC not to use MRR implementation (code moved to here
    from opt_range.h)
sql/opt_range.h:
  BUG#36639: subselect.test crashes on 64 bit pentium4 when compiled for valgrind
  - Use the compiler's default copy constructor for QUICK_RANGE_SELECT. 
    bcopy(this, copy, ...) call caused some odd action on gcc-4.1.2 on x86_64
2008-08-25 21:02:54 +04:00
Davi Arnaut
d30db4c9e9 Merge Bug#36579 into mysql-5.1-bugteam 2008-08-25 10:57:34 -03:00
Matthias Leich
9a54348e72 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
1ee4a3ac82 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.

mysys/thr_lock.c:
  Destroy the mutex that protects the lock object only after removing
  the lock object from the list of locks in use.
2008-08-25 10:18:52 -03:00
Matthias Leich
d68194c7cf 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
cb8f52d243 null merge 2008-08-25 17:44:05 +05:00
Sergey Glukhov
c546559a62 Bug#37428 Potential security issue with UDFs - linux shellcode execution.
plugin_dir option backported from 5.1

mysql-test/r/udf.result:
  result fix
sql/mysql_priv.h:
  opt_plugin_dir and opt_plugin_dir_ptr declared.
sql/mysqld.cc:
  'plugin_dir' option added
sql/set_var.cc:
  'plugin_dir' option added.
sql/sql_udf.cc:
  opt_plugin_dir added to the udf->dl path. Warn if it's not specified.
sql/unireg.h:
  PLUGINDIR defined.
2008-08-25 17:11:59 +05:00
Alexander Barkov
afba839173 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
8706222b33 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
491dc13898 merging 2008-08-23 07:47:43 +05:00
Timothy Smith
6c19624e70 Up-merge from 5.0-build to 5.1-build. 2008-08-22 15:58:51 -06:00
Timothy Smith
f66e4b7337 Merge 5.1 main to 5.1-build 2008-08-22 13:05:08 -06:00
Timothy Smith
a4b0681ad1 Merge 5.0 main to 5.0-build 2008-08-22 13:04:38 -06:00
Matthias Leich
5f2354b846 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
ec524d50a8 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
642aa11114 Recording the result (forgot in previous commit) 2008-08-22 15:26:56 +05:00
Alexander Barkov
2e4a7ba0c7 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
1f61af5ad1 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
531c320611 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
49bd2c865a 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.

extra/yassl/taocrypt/taocrypt.vcproj:
  remove file that is generated each time by cmake
extra/yassl/yassl.vcproj:
  remove file that is generated each time by cmake
server-tools/instance-manager/mysqlmanager.vcproj:
  remove file that is generated each time by cmake
win/build-vs9.bat:
  Add script for Visual Studio 2008 support
win/build-vs9_x64.bat:
  Add script for Visual Studio 2008 support
zlib/zutil.h:
  support Visual Studio 2008
2008-08-21 19:11:17 +02:00
Matthias Leich
1ffdec61a1 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
762df2d05c 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
099a80d05a added replacement of 'CARDINALITY' column values
mysql-test/r/join.result:
  result fix
2008-08-21 15:01:11 +05:00
Tatiana A. Nurnberg
d726a49984 auto-merge 2008-08-21 10:15:00 +02:00
Tatiana A. Nurnberg
861f7e1ce9 Bug#35616: memory overrun on 64-bit linux on setting large values for keybuffer-size
add'l portability fixes

mysys/safemalloc.c:
  Make the various print-functions happy:
  sf_malloc_(cur|max)_memory are size_t now, might as well use %u instead
  of %d. Ideally, we'd use %zu, but we can't rely on having that, so we'll
  use %lu instead. Likewise, we could cast to unsigned for our poor man's
  %p -- pointers are never negative, and neither is %x --, but since it
  was fixed to %p with seemingly no ill effects in 6.0 anyway, we'll back
  port that instead.
2008-08-21 07:06:09 +02:00