Commit graph

61070 commits

Author SHA1 Message Date
Vladislav Vaintroub
0fd18913d9 merge 2010-02-20 11:23:12 +01:00
Alexander Nozdrin
f027e4e00f Fix default.conf. 2010-02-20 12:27:30 +03:00
Alexander Nozdrin
9f6662a0b4 Fix default.conf. 2010-02-20 12:26:22 +03:00
Alexander Nozdrin
7e8611f82b Auto-merge from mysql-trunk-mtr. 2010-02-20 12:14:09 +03:00
Alexander Nozdrin
ce74e8ccd0 Auto-merge from mysql-5.1-mtr. 2010-02-20 12:09:17 +03:00
Alexander Nozdrin
aa457a4aef Auto-merge from mysql-5.1. 2010-02-20 12:08:40 +03:00
Vladislav Vaintroub
3b20b5fa34 add_executable => mysql_add_executable (just for uniformity) 2010-02-20 08:58:18 +01:00
Vladislav Vaintroub
c94a5cd5c8 Fix configure.js : set the variabes in cache, so they can overwrite cache variables in CMakeLists.txt 2010-02-20 08:17:44 +01:00
Vladislav Vaintroub
e4cb186c6b SET FN_NO_CASE_SENSE to 1 on Windows 2010-02-20 02:12:01 +01:00
Vladislav Vaintroub
fc08964e80 Install extremely useful program "replace" 2010-02-19 18:04:35 +01:00
Vladislav Vaintroub
df64a94118 When installing, exclude some documents in Docs 2010-02-19 17:51:53 +01:00
Vladislav Vaintroub
ea839618c4 Fix some glitches with INSTALL_LAYOUT=STANDALONE
- mysql_install_db is in scripts dir now
- sql-bench is installed
-some extra support-files (e.g ini) are in support-files
2010-02-19 18:30:08 +01:00
Vladislav Vaintroub
78c9b11c36 merge 2010-02-18 14:43:56 +01:00
Vladislav Vaintroub
d4d3d1ef4e merge 2010-02-18 14:09:35 +01:00
Bjorn Munch
c3757afec4 merge from next-mr 2010-02-18 09:26:21 +01:00
Bjorn Munch
b64d50ae83 upmerge 51135 2010-02-18 09:09:08 +01:00
Bjorn Munch
65d6444999 upmerge 51135 2010-02-18 09:02:38 +01:00
unknown
0a7b5fb045 Merge from mysql-5.1.44-release 2010-02-17 18:48:40 +01:00
unknown
62db6839b8 configure.in
- Changes to the banner text
 - Use older AC_PROG_LIBTOOL (Bug#51009)

scripts/mysql_install_db.sh
 - Changes to banner text
2010-02-17 18:39:28 +01:00
Bjorn Munch
90c3ace052 Bug #51135 Please increase the maximum number of connections allowed in mysqltest
Added --max-connections= argument to mysqltest and mtr
Small fix to first patch: forgot to check before free'ing connections array
2010-02-17 16:28:02 +01:00
Bjorn Munch
b471134bfe merge 44054 2010-02-17 13:12:30 +01:00
Bjorn Munch
dedad8ae44 merge 44054 2010-02-17 13:09:48 +01:00
Alexander Nozdrin
d2af6c43c0 Re-adding 'include/probes_mysql_nodtrace.h' removed by accident
in 'kostja@sun.com-20091210084103-l4f8u62u4evoy3dc'.

This file is necessary for Windows builds.
2010-02-17 14:37:55 +03:00
Bjorn Munch
5b7306e259 Bug #44054 MTR2: --no-reorder does not prevent reordering
Some logic would group by suite always
Disable this if using --noreorder
Also fix getting array from collect_one_suite() in this case
Amended according to previous comment
2010-02-17 12:37:37 +01:00
Alexander Barkov
8780277b83 Merging from mysql-next-mr 2010-02-17 12:24:47 +04:00
Vladislav Vaintroub
6230c2e296 Fix test that did not work in out-of-source build .
There are 2 different share directories, one if builddir/share (with compiled errmsg.sys) 
and another one is $sourcedir/share and contains some /charsets/*.xml files.
second one should be refered to  as MYSQL_CHARSETSDIR and  MYSQL_SHAREDIR  $builddir/share
2010-02-17 04:14:09 +01:00
Vladislav Vaintroub
1e533aef35 fix typo 2010-02-17 00:27:45 +01:00
Vladislav Vaintroub
0e2ee37a8d postmerge fix 2010-02-16 23:58:15 +01:00
Vladislav Vaintroub
5b77604cc2 merge 2010-02-16 23:19:47 +01:00
Bjorn Munch
459024e01f fixed wrong merge conflict in mysql-test/include/mtr_warnings.sql 2010-02-16 20:49:21 +01:00
Bjorn Munch
cec8a9380b Added a needed reap to mysql-test/include/handler.inc 2010-02-16 20:26:44 +01:00
Bjorn Munch
5f3e490174 new merge from next-mr 2010-02-16 18:23:21 +01:00
Alexander Nozdrin
ab293e26c3 Prohibit running semi-sync rpl tests in the embedded mode. 2010-02-16 13:12:08 +03:00
Alexander Barkov
cf718fe9b7 Post-fix for WL#3090.
Compilation failure problems on non-i386 platforms.
Adding missing parenthesis.
2010-02-16 13:16:12 +04:00
Konstantin Osipov
3a856d4425 A fix and a test case for Bug#47648 "main.merge fails sporadically".
If a prepared statement used both a MyISAMMRG table and a stored 
function or trigger, execution could fail with "No such table"
error or crash. 
The error would come from a failure of the MyISAMMRG engine
to meet the expectations of the prelocking algorithm, 
in particular maintain lex->query_tables_own_last pointer
in sync with lex->query_tables_last pointer/the contents
of lex->query_tables. When adding merge children, the merge
engine would extend the table list. Then, when adding 
prelocked tables, the prelocking algorithm would use a pointer
to the last merge child to assign to lex->query_tables_own_last.
Then, when merge children were removed at the end of
open_tables(), lex->query_tables_own_last
was not updated, and kept pointing
to a removed merge child.

The fix ensures that query_tables_own_last is always in
sync with lex->query_tables_last.

This is a regression introduced by WL#4144 and present only
in next-4284 tree and 6.0.

mysql-test/r/merge.result:
  Update results (Bug#47648).
mysql-test/t/merge.test:
  Add a test case for Bug#47648.
  Update the result file to reflect a fix of another bug
  in MyISAMMRG code: not maintaining lex->query_tables_own_last
  allowed a stored function or trigger to modify a merge table
  which was already updated by the main statement.
  It is not allowed for other storage engines, and should
  not be allowed for MyISAMMRG.
storage/myisammrg/ha_myisammrg.cc:
  When adding children to the list of tables to open,
  make sure that we properly set lex->query_tables_own_last.
  When removing the children, update lex->query_tables_own_last
  if necessary.
2010-02-15 19:35:53 +03:00
Alexander Nozdrin
c15886a111 Auto-merge from mysql-next-4284. 2010-02-15 17:08:38 +03:00
Dmitry Lenev
03672b9696 Fix for bug #51093 "Crash (possibly stack overflow) in
MDL_lock::find_deadlock".

On some platforms deadlock detector in metadata locking 
subsystem under certain conditions might have exhausted
stack space causing server crashes.

Particularly this caused failures of rqg_mdl_stability
test on Solaris in PushBuild.

During search for deadlock MDL deadlock detector could 
sometimes encounter loop in the waiters graph in which 
MDL_context which has started search for a deadlock 
does not participate. In such case our algorithm will 
continue looping assuming that either this deadlock will 
be resolved by MDL_context which has created it (i.e.
by one of loop participants) or maximum search depth
will be reached. 
Since max search depth was set to 1000 in the latter case 
on platforms where each iteration of deadlock search 
algorithm needs more than DEFAULT_STACK_SIZE/1000 bytes 
of stack (around 192 bytes for 32-bit and around 256 bytes 
for 64-bit platforms) we might have exhausted stack space.

This patch solves this problem by reducing maximum search
depth for MDL deadlock detector to 32. This should be safe
at the moment as it is unlikely that each iteration of the 
current deadlock detector algorithm will consume more than 
1K of stack (thus total amount of stack required can't be
more than 32K) and we require at least 80K of stack in order
to open any table. Also this value should be (hopefully) big
enough to not cause too much false deadlock errors (there
is an anecdotal evidence that real-life deadlocks are
typically shorter than that).

Additional reasearch should be conducted in future in order
to determine the more optimal value of maximum search depth.

This patch does not include test case as existing
rqg_mdl_stability test can serve as one.
2010-02-15 15:37:48 +03:00
Jon Olav Hauglid
37fd0bcf63 Followup to Bug#45225 Locking: hang if drop table with no timeout
This patch removes the unused server variable
"table_lock_wait_timeout".


mysql-test/r/variables.result:
  Updated the test for Bug#28580 to reflect that 
  "table_lock_wait_timeout" no longer exists.
mysql-test/t/variables.test:
  Updated the test for Bug#28580 to reflect that 
  "table_lock_wait_timeout" no longer exists.
2010-02-15 13:11:20 +01:00
Alexander Nozdrin
cb7078f57a Auto-merge from mysql-next-4284. 2010-02-15 15:04:05 +03:00
Alexander Nozdrin
fe8d83a1d9 After-merge fix. 2010-02-15 15:00:45 +03:00
Dmitry Lenev
be3e256d25 Fix for bug #51136 "Crash in pthread_rwlock_rdlock on
TEMPORARY + HANDLER + LOCK + SP".

Server crashed when one: 
1) Opened HANDLER or acquired global read lock
2) Then locked one or several temporary tables with
   LOCK TABLES statement (but no base tables).
3) Then issued any statement causing commit (explicit 
   or implicit).
4) Issued statement which should have closed HANDLER
   or released global read lock.
   
The problem was that when entering LOCK TABLES mode in the
scenario described above we incorrectly set transactional
MDL sentinel to zero. As result during commit all metadata 
locks were released (including lock for open HANDLER or
global metadata shared lock). Indeed, attempt to release
metadata lock for the second time which happened during
HANLDER CLOSE or during release of GLR caused crash.

This patch fixes problem by changing MDL_context's
set_trans_sentinel() method to set sentinel to correct 
value (it should point to the most recent ticket).

mysql-test/include/handler.inc:
  Added test for bug #51136 "Crash in pthread_rwlock_rdlock on 
  TEMPORARY + HANDLER + LOCK + SP".
mysql-test/r/flush.result:
  Updated test results (see flush.test).
mysql-test/r/handler_innodb.result:
  Updated test results (see include/handler.inc).
mysql-test/r/handler_myisam.result:
  Updated test results (see include/handler.inc).
mysql-test/t/flush.test:
  Added additional coverage for bug #51136 "Crash in
  pthread_rwlock_rdlock on TEMPORARY + HANDLER + LOCK +
  SP".
sql/mdl.h:
  When setting new value of transactional sentinel use 
  pointer to the most recent ticket instead of value 
  returned by MDL_context::mdl_savepoint(). 
  This allows to handle correctly situation when the new 
  value of sentinel should be the same as its current value 
  (MDL_context::mdl_savepoint() returns NULL in this case).
2010-02-15 14:23:36 +03:00
Alexander Nozdrin
a8ef1bafb1 Manual merge from mysql-next-mr.
Conflicts:
  - sql/log_event.cc
  - sql/sql_class.h
2010-02-15 14:16:49 +03:00
Dmitry Lenev
eb0f09712e Fix for bug #51134 "Crash in MDL_lock::destroy on a concurrent
DDL workload".

When a RENAME TABLE or LOCK TABLE ... WRITE statement which
mentioned the same table several times were aborted during 
the process of acquring metadata locks (due to deadlock 
which was discovered or because of KILL statement) server 
might have crashed.

When attempt to acquire all locks requested had failed we
went through the list of requests and released locks which
we have managed to acquire by that moment one by one. Since 
in the scenario described above list of requests contained 
duplicates this led to releasing the same ticket twice and 
a crash as result.

This patch solves the problem by employing different approach
to releasing locks in case of failure to acquire all locks
requested. 
Now we take a MDL savepoint before starting acquiring locks 
and simply rollback to it if things go bad.

mysql-test/r/lock_multi.result:
  Updated test results (see lock_multi.test).
mysql-test/t/lock_multi.test:
  Added test case for bug #51134 "Crash in MDL_lock::destroy
  on a concurrent DDL workload".
sql/mdl.cc:
  MDL_context::acquire_locks():
    When attempt to acquire all locks requested has failed do
    not go through the list of requests and release locks which
    we have managed to acquire one by one. 
    Since list of requests can contain duplicates such approach
    may lead to releasing the same ticket twice and a crash as
    result.
    Instead use the following approach - take a MDL savepoint
    before starting acquiring locks and simply rollback to it
    if things go bad.
2010-02-15 13:23:34 +03:00
Alexander Barkov
4e4122b999 WL#3090 Japanese Character Set adjustments
added:
  @ mysql-test/include/ctype_utf8_table.inc
    Adding a share file to populate all utf8 values [U+0000..U+FFFF]
modified:
  @ include/m_ctype.h
    Introducing MB2 and MY_PUT_MB2 macros

  @ mysql-test/r/ctype_cp932_binlog_stm.result
  @ mysql-test/r/ctype_eucjpms.result
  @ mysql-test/r/ctype_sjis.result
  @ mysql-test/r/ctype_ujis.result
  @ mysql-test/t/ctype_cp932_binlog_stm.test
  @ mysql-test/t/ctype_eucjpms.test
  @ mysql-test/t/ctype_sjis.test
  @ mysql-test/t/ctype_ujis.test
    Adding test

  @ strings/ctype-cp932.c
  @ strings/ctype-eucjpms.c
  @ strings/ctype-sjis.c
  @ strings/ctype-ujis.c
    Adding new functions using Big-Table approach.
2010-02-15 09:57:24 +04:00
Vladislav Vaintroub
14e563ce5f check for poll.h 2010-02-14 20:30:41 +01:00
Vladislav Vaintroub
ace854390f remove use of undocumented __sparcv8plus - this macro does not seem to be defined anymore with Sun Studio 12 2010-02-14 14:32:27 +01:00
Bjorn Munch
15846a8a6d null upmerge 2010-02-14 12:28:33 +01:00
Bjorn Munch
97df3bed3d merge from next-mr 2010-02-14 12:26:36 +01:00
Bjorn Munch
7d78e42343 null upmerge 2010-02-14 12:25:42 +01:00
Bjorn Munch
862b77b966 merge from trunk 2010-02-14 12:24:16 +01:00