Commit graph

62596 commits

Author SHA1 Message Date
Kristofer Pettersson
95da93d7ac Automerge 2010-04-16 16:56:16 +02:00
Kristofer Pettersson
794a441317 Bug#50373 --secure-file-priv=""
The server variable opt_secure_file_priv wasn't
normalized properly and caused the operations
LOAD DATA INFILE .. INTO TABLE ..
and
SELECT load_file(..)
to do different interpretations of the 
--secure-file-priv option.

The patch moves code to the server initialization
routines so that the path always is normalized
once and only once.

It was also intended that setting the option
to an empty string should be equal to 
lifting all previously set restrictions. This
is also fixed by this patch.


sql/mysqld.cc:
  * If --secure_file_option is an empty string then the option variable
    should be unset.
  * opt_secure_file_option should be normalized once when the server starts.
sql/sql_load.cc:
  * moved variable normalization code to fix_paths()
2010-04-16 16:10:47 +02:00
Staale Smedseng
9743819d36 Bug#51591 deadlock in the plugins+status+variables
Potential deadlock situation involving LOCK_plugin,
LOCK_global_system_variables and LOCK_status.
      
This patch backports the fix from next-mr, unlocking
LOCK_plugin before calling plugin->init() and
add_status_vars().
2010-04-16 15:02:23 +02:00
Sergey Glukhov
649deaa8a1 Bug#52124 memory leaks like a sieve in datetime, timestamp, time, date fields + warnings
Arg_comparator initializes 'comparators' array in case of
ROW comparison and does not free this array on destruction.
It leads to memory leaks.
The fix:
-added Arg_comparator::cleanup() method which frees
 'comparators' array.
-added Item_bool_func2::cleanup() method which calls 
 Arg_comparator::cleanup() method


mysql-test/r/ps.result:
  test case
mysql-test/r/row.result:
  test case
mysql-test/t/ps.test:
  test case
mysql-test/t/row.test:
  test case
sql/item_cmpfunc.h:
  -added Arg_comparator::cleanup() method which frees
   'comparators' array.
  -added Item_bool_func2::cleanup() method which calls 
   Arg_comparator::cleanup() method
2010-04-16 16:42:34 +05:00
Georgi Kodinov
16fadb10b5 Bug #52629: memory leak from sys_var_thd_dbug in binlog.binlog_write_error
When re-setting (SET GLOBAL debug='') the GLOBAL debug settings the 
server was not freeing the data elements from the top (initial) frame 
before setting them to 0 without freeing the underlying memory. As these 
are global settings there's a chance that something is there already.
Fixed by :
1. making sure the allocated data are cleaned up before re-setting them
while parsing a debug string
2. making sure the stuff allocated in the global settings is freed on 
shutdown.
2010-04-16 10:30:53 +03:00
Luis Soares
8fa9a5861b automerge: merged bug clone into latest mysql-5.1-bugteam. 2010-04-16 01:59:21 +01:00
Georgi Kodinov
d066fe78e7 merge 2010-04-15 14:00:07 +03:00
Marko Makela
6c354ffc51 storage/innodb_plugin: Relax too strict assertions about prefix
indexed BLOBs for ROW_FORMAT=DYNAMIC and ROW_FORMAT_COMPRESSED tables
(Bug #52746). In these tables, the locally stored prefix of a BLOB can
be as small as 20 bytes (BTR_EXTERN_FIELD_REF_SIZE). ROW_FORMAT=REDUNDANT
and ROW_FORMAT=COMPACT store a prefix of 768 bytes (REC_MAX_INDEX_COL_LEN).

trx_undo_rec_get_col_val(): Relax the ut_ad() assertion and add a
reference to dtuple_convert_big_rec().

trx_undo_rec_get_partial_row(): Relax the ut_a() assertion that
prompted Bug #52746.
2010-04-15 09:01:22 +02:00
Vasil Dimov
e61722f320 Also send emails to innodb_dev_ww@oracle.com 2010-04-14 23:04:13 +03:00
Vasil Dimov
73812d8558 Change the tree name to mysql-5.1-innodb in .bzr-mysql/default.conf 2010-04-14 23:02:47 +03:00
Sergey Vojtovich
c37bfe0ae6 Merge fix for BUG39053 to 5.1-bugteam. 2010-04-14 15:53:43 +04:00
Sergey Vojtovich
4aa36ee7b6 BUG#39053 - UNISTALL PLUGIN does not allow the storage engine
to cleanup open connections

It was possible to UNINSTALL storage engine plugin when binding
between THD object and storage engine is still active (e.g. in
the middle of transaction).

To avoid unclean deactivation (uninstall) of storage engine plugin
in the middle of transaction, additional storage engine plugin
lock is acquired by thd_set_ha_data().

If ha_data is not null and storage engine plugin was not locked
by thd_set_ha_data() in this connection before, storage engine
plugin gets locked.

If ha_data is null and storage engine plugin was locked by
thd_set_ha_data() in this connection before, storage engine
plugin lock gets released.

If handlerton::close_connection() didn't reset ha_data, server does
it immediately after calling handlerton::close_connection().

Note that this is just a framework fix, storage engines must switch
to thd_set_ha_data() from thd_ha_data() if they want to see fit.

include/mysql/plugin.h:
  As thd_{get|set}_ha_data() have some extra logic now, they
  must be implemented on server side.
include/mysql/plugin.h.pp:
  As thd_{get|set}_ha_data() have some extra logic now, they
  must be implemented on server side.
sql/handler.cc:
  Make sure ha_data is reset and ha_data lock is released.
sql/handler.h:
  hton is not supposed to be updated by ha_lock_engine(),
  make it const.
sql/sql_class.cc:
  As thd_{get|set}_ha_data() have some extra logic now, they
  must be implemented on server side.
sql/sql_class.h:
  Added ha_data lock.
2010-04-14 13:53:59 +04:00
Vasil Dimov
9a7da960f8 Fix path to have_innodb_plugin.inc 2010-04-12 17:26:20 +03:00
Vasil Dimov
84c41ecbff Remove unused file 2010-04-12 17:23:00 +03:00
Vasil Dimov
0ee2f371f5 Fix path to innodb-index.inc 2010-04-12 16:58:47 +03:00
Vasil Dimov
f5692f21f9 Remove outdated InnoDB Plugin tests from mysql-test/suite/innodb,
the InnoDB Plugin tests are now in mysql-test/suite/innodb_plugin.

Move InnoDB tests to the innodb suite at mysql-test/suite/innodb.
2010-04-12 14:56:24 +03:00
unknown
edb8a7b2f8 Merge from mysql-5.1.43sp1-release 2010-04-12 12:12:20 +02:00
Georgi Kodinov
f34a731b6a Bug #43594: mysqlhotcopy does not ignore log tables and others in mysql database
Added a filter to mysqlhotcopy to filter out the same tables in the 'mysql' 
database that mysqldump filters out.
2010-04-12 11:56:28 +03:00
Davi Arnaut
97afbf5a27 Backport revision alik@sun.com-20100223131824-comthndat57kx8s5:
Add ignore pattern for valgrind messages.
2010-04-09 14:57:11 -03:00
Vasil Dimov
666039be77 Convert InnoDB Plugin tests to include have_innodb_plugin.inc.
This also instructs mtr to transparently load the plugin.
2010-04-09 16:38:28 +03:00
Vasil Dimov
8b12f2cce9 Fix mtr warning in innodb-autoinc-44030.test 2010-04-09 16:33:42 +03:00
Vasil Dimov
be57311862 Fix a failure of innodb_plugin.innodb-autoinc-44030 now that
MySQL and InnoDB dictionaries do not get out of sync.
2010-04-09 16:29:13 +03:00
Vasil Dimov
70f40e39a1 Fix a mtr warning in innodb_plugin.innodb-autoinc 2010-04-09 16:25:17 +03:00
Vasil Dimov
65a401ec1f Merge from innodb-branches-zip 2010-04-09 16:07:41 +03:00
Vasil Dimov
492c8f81db Merge from innodb-branches-zip 2010-04-09 16:05:29 +03:00
Vasil Dimov
5a0e20715d Move the InnoDB Plugin tests from storage/innodb_plugin/mysql-test/ where
they are ignored to a new test suite "innodb_plugin".

Remove a hack in mtr that was deployed to run the builtin InnoDB tests against
the InnoDB Plugin. Also detect if a test is an 'innodb plugin test' and if so
then transparently replace the builtin InnoDB with the InnoDB Plugin.
2010-04-09 15:56:51 +03:00
Georgi Kodinov
83dfeb2435 Bug #47095: Can't open_files_limit really be larger than 65535?
Several problems addressed:

1. The maximum value for --open_files_limit on non-windows boxes
is now raised to UINT_MAX (the maximum possible without significant
changes in the code). The maximum value on windows is kept to be
2048 due to a known limitation (bug 24509).

2. mysqld_safe now supports --open_files_limit=xx in addition to 
--open-files-limit=xx

3. mysqld_safe always passes through --open[_-]files[_-]limit
to the underlying mysqld. It used to pass it through only if it 
the user running the script has access to the root directory or
there was an --user argument specified.

4. Fixed a prototype in my_file.c to match its counterpart in 
the other #ifdef branch.
2010-04-09 14:47:18 +03:00
Vasil Dimov
6e24349e98 Adjust mysql-test/suite/binlog/t/binlog_killed.test after a change
in behavior in InnoDB. The change in behavior was introduced by this
changeset:

  ------------------------------------------------------------
  revno: 3370
  revision-id: vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457
  parent: vasil.dimov@oracle.com-20100331130440-l0y517y3mjsjqy4v
  parent: vasil.dimov@oracle.com-20100331113119-2kbgkaz1d426a43c
  committer: Vasil Dimov <vasil.dimov@oracle.com>
  branch nick: mysql-5.1-innodb
  timestamp: Wed 2010-03-31 16:06:13 +0300
  message:
    Merge from innodb-branches-5.1
      ------------------------------------------------------------
      revno: 0.1.819
      revision-id: vasil.dimov@oracle.com-20100331113119-2kbgkaz1d426a43c
      parent: vasil.dimov@oracle.com-20100331064722-9rc3wypzmer7d6jj
      parent: svn-v4:cee13dc7-1704-0410-992b-c9b4543f1246:branches/5.1:6918
      committer: Vasil Dimov <vasil.dimov@oracle.com>
      branch nick: innodb-branches-5.1
      timestamp: Wed 2010-03-31 14:31:19 +0300
      message:
        Merge from SVN
          ------------------------------------------------------------
          revno: 0.2.1
          revision-id: svn-v4:cee13dc7-1704-0410-992b-c9b4543f1246:branches/5.1:6918
          parent: svn-v4:cee13dc7-1704-0410-992b-c9b4543f1246:branches/5.1:6912
          committer: mmakela
          timestamp: Wed 2010-03-31 07:14:51 +0000
          message:
            branches/5.1: Obey KILL during a lock wait (Bug #51920).
  
            srv_suspend_mysql_thread(), srv_lock_timeout_and_monitor_thread():
            Check trx_is_interrupted() in addition to checking the lock wait timeout.
  
            rb://279 approved by Sunny Bains
2010-04-08 19:55:55 +03:00
vdimov
c03341a0a6 branches/zip: Adjust the innodb test after change in behavior in MySQL
The change in behavior was introduced by this changeset:

  ------------------------------------------------------------
  revno: 3405
  revision-id: joro@sun.com-20100317141846-es0qyf5zcqb0hu1c
  parent: davi.arnaut@sun.com-20100309125156-z2c4uyqque49v61k
  committer: Georgi Kodinov <joro@sun.com>
  branch nick: B49838-5.1-bugteam
  timestamp: Wed 2010-03-17 16:18:46 +0200
  message:
    Bug #49838: DROP INDEX and ADD UNIQUE INDEX for same index may corrupt
       definition at engine
    
    If a single ALTER TABLE contains both DROP INDEX and ADD INDEX using 
    the same index name (a.k.a. index modification) we need to disable 
    in-place alter table because we can't ask the storage engine to have 
    two copies of the index with the same name even temporarily (if we 
    first do the ADD INDEX and then DROP INDEX) and we can't modify 
    indexes that are needed by e.g. foreign keys if we first do 
    DROP INDEX and then ADD INDEX.
    Fixed the problem by disabling in-place ALTER TABLE for these cases.
  modified:
    mysql-test/r/innodb_mysql.result sp1f-innodb_mysql.result-20060426055153-bychbbfnqtvmvrwccwhn24i6yi46uqjv
    mysql-test/t/innodb_mysql.test sp1f-innodb_mysql.test-20060816102624-6ymo37d3nyhvbqyzqn5ohsfuydwo426k
    sql/sql_table.cc               sp1f-sql_table.cc-19700101030959-tzdkvgigezpuaxnldqh3fx2h7h2ggslu
2010-04-08 14:05:17 +00:00
Vasil Dimov
9e451f11a1 Merge from innodb-branches-zip 2010-04-07 22:42:25 +03:00
Vasil Dimov
c611ba32e6 Merge from SVN 2010-04-07 22:41:50 +03:00
Vasil Dimov
7bacdb6a97 Merge from innodb-branches-zip 2010-04-07 22:00:06 +03:00
Vasil Dimov
3e7b21ca55 Merge from innodb-branches-5.1 2010-04-07 21:59:02 +03:00
Vasil Dimov
c0ce051d78 Merge from SVN 2010-04-07 21:53:09 +03:00
Vasil Dimov
b15553d742 Merge from SVN 2010-04-07 21:52:37 +03:00
vdimov
c7020fd5e7 branches/zip: Whitespace fixup in univ.i 2010-04-07 18:40:38 +00:00
Vasil Dimov
f4f1f0af3e Repply changes to storage/innodb_plugin/plug.in that were made by MySQL 2010-04-07 21:33:36 +03:00
Vasil Dimov
50dcbe69b4 Repply changes to storage/innodb_plugin/mysql-test/innodb_bug42101-nonzero-master.opt that were made by MySQL 2010-04-07 21:30:44 +03:00
Omer BarNir
1008fd89c4 Correction to the disabled.def file in engines/iuds that got overwritten by
mistake in previous push
2010-04-07 11:28:28 -07:00
csun
5b35bb91a0 branches/zip: fix compiler errors on Windows.
Move ut_ad() to after declarations for C file.
2010-04-07 18:24:55 +00:00
Vasil Dimov
18420c70de Repply changes to storage/innodb_plugin/mysql-test/*.opt that were made by MySQL 2010-04-07 21:17:13 +03:00
Vasil Dimov
41e5a2fb78 Repply changes to storage/innodb_plugin/handler/ha_innodb.cc that were made by MySQL 2010-04-07 20:44:47 +03:00
Vasil Dimov
f30e7a4c4a Repply changes to storage/innodb_plugin/Makefile.am that were made by MySQL 2010-04-07 20:24:43 +03:00
Vasil Dimov
e436d25b7f Reapply changes to storage/innodb_plugin/CMakeLists.txt that were made by MySQL 2010-04-07 20:21:15 +03:00
Vasil Dimov
9a6d13afed Import branches/zip@r6960 from SVN on top of storage/innodb_plugin 2010-04-07 19:53:14 +03:00
Vasil Dimov
4798cb0754 Merge from mysql-5.1-innodb 2010-04-07 15:43:25 +03:00
Vasil Dimov
10cff88638 Merge from mysql-5.1 2010-04-07 15:32:51 +03:00
Vasil Dimov
d587bd4b15 Move everything into a subdirectory xyz/ 2010-04-07 14:18:43 +03:00
mmakela
445c88474b branches/zip: innobase_init(): Correct the error message
about wrong innodb_change_buffering value.  Reported by Ranger.
2010-04-07 11:03:54 +00:00
mmakela
01f991351c branches/zip: buf_flush_block_cmp(): Do not mix declarations and code.
Stick to C90, because some build platforms are not C99 yet.
2010-04-07 06:21:26 +00:00