Commit graph

57065 commits

Author SHA1 Message Date
Sergey Glukhov
ed39e76349 Bug#44367 valgrind warnings with find_in_set() functions
init 'wc' variable
2009-04-23 12:50:34 +05:00
Sergey Glukhov
0c65370a06 Bug#44365 valgrind warnings with encrypt() function
replaced String->c_ptr() with String->c_ptr_safe()
2009-04-23 12:47:54 +05:00
Sergey Glukhov
3b3fc01425 Bug#44358 valgrind errors with decode() function
The warning happens because string argument is not zero ended.
The fix is to add new parameter 'length' to SQL_CRYPT() and
use ptr() instead of c_ptr().
2009-04-23 12:43:42 +05:00
Alfranio Correia
c27566aec5 BUG#44378 rpl_binlog_corruption fails with warning messages in Valgrind
The rpl_binlog_corruption test case was inject failures, specifically,
incidents with invalid numbers to see if the replication was failing
gracefully. However, this test was causing the following warning message
in Valgrind: "Conditional jump or move depends on uninitialised value(s)"
      
The patch fixes the problem by correctly initializing the m_inicident 
number.
2009-04-21 15:31:21 +01:00
Sergey Vojtovich
d2f2edbb92 Merge 5.0-bugteam to 5.1-bugteam. 2009-04-21 15:25:04 +05:00
Sergey Vojtovich
904498295f BUG#36966 - mysqldump.test fails in pushbuild
mysqldump.test is designed to run with concurrent inserts
disabled. It is disabling concurrent inserts at the very
beginning of the test case, and re-enables them at the
bottom of the test. But for some reason (likely incorrect
merge) we enable concurrent inserts in the middle of the test.

The problem is fixed by enabling concurrent inserts only
at the bottom of the test case.
2009-04-21 14:01:13 +05:00
Andrei Elkin
21a06c9c55 merge bug#38205 fixes to 5.1-bt 2009-04-21 11:30:40 +03:00
Satya B
669060712f Applying InnoDB snashot 5.1-ss3603. Fixes BUG#27276
1) BUG#27276 - InnoDB Error: ibuf cursor restoration fails

2) Follow up fix for BUG#27276 which fixes the bug introduced in
   the previous revision r2924

Detailed revision comments:

r2924 | marko | 2008-10-29 10:07:48 +0200 (Wed, 29 Oct 2008) | 7 lines
branches/5.1: Merge revision 2866 from branches/zip:

ibuf_delete_rec(): When the cursor to the insert buffer record cannot be
restored, do not complain if the tablespace does not exist. (Bug #27276)

Approved by Sunny Bains (rb://34)

r3598 | marko | 2008-12-22 15:28:03 +0200 (Mon, 22 Dec 2008) | 6 lines
branches/5.1: ibuf_delete_rec(): When the record cannot be found and
the tablespace has been dropped, commit the mini-transaction, so that
InnoDB will not hold the insert buffer tree latch in exclusive mode,
causing a potential deadlock.  This bug was introduced in the fix of
Bug #27276 in r2924.
2009-04-20 12:57:41 +05:30
Chad MILLER
fb3acf6a1e Merge bugteam trunk and local. 2009-04-17 16:40:01 -04:00
Chad MILLER
a3bddbe465 Move test for bug 39559, which uses command-line mysql client
to separate test file that doesn't permit mysqld embedded in 
mysqltest.

Also, fix different comment handling in a incorrect new-to-5.1 
test.
2009-04-17 16:00:53 -04:00
Georgi Kodinov
4cd9f6e1ae merged bug 35087 to 5.1-bugteam 2009-04-17 19:18:00 +03:00
Georgi Kodinov
4783b2e196 Bug #35087: Inserting duplicate values at one time with DES_ENCRYPT leads
to wrong results
      
3 problems found with DES_ENCRYPT/DES_DECRYPT :

1. The max length was not calculated properly. Fixed in fix_length_and_dec()
2. DES_ENCRYPT had a side effect of sometimes reallocating and changing 
the value of its argument. Fixed by explicitly pre-allocating the necessary
space to pad the argument with trailing '*' (stars) when calculating the 
DES digest.
3. in DES_ENCRYPT the string buffer for the result value was not 
reallocated to the correct size and only string length was assigned to it. 
Fixed by making sure there's enough space to hold the result.
2009-04-17 18:52:57 +03:00
Sergey Glukhov
65e3d360f9 5.0-bugteam->5.1-bugteam merge 2009-04-17 13:46:27 +05:00
Sergey Glukhov
4fbfa8db45 Bug#44151 using handler commands on information_schema tables crashes server
information schema tables are based on internal tmp tables which are removed
after each statement execution. So HANDLER comands can not be used with
information schema.
2009-04-17 12:41:15 +05:00
Anurag Shekhar
2cdc1c6150 merging with local bugfix branch. 2009-04-17 11:23:54 +05:30
Anurag Shekhar
e0e8ec4b28 Bug#44040 MySQL allows creating a MERGE table upon VIEWs but crashes when
using it.
The crash was due to a null pointer present for select_lex while 
processing the view.
Adding a check while opening the view to see if its a child of a 
merge table fixed this problem.
2009-04-17 11:21:51 +05:30
Patrick Crews
c71f6995d5 merge 5.0-> 5.1 2009-04-16 13:50:38 -04:00
Patrick Crews
2c1add4b45 Bug#26887 - main.count_distinct3 fails randomly
Streamlined how we increase the size of our test table.
The new method shows run time decreased by ~60%.
This is not a guarantee that we will not see test timeouts (the random failures noted in the bug),
but it should significantly reduce the chances of this occurring.
2009-04-16 13:47:44 -04:00
Staale Smedseng
fc35ded3f4 Merge from 5.0-bugteam 2009-04-16 11:47:21 +02:00
Staale Smedseng
4387f01efd Bug#42430 Final commit to 5.0-bugteam 2009-04-16 11:40:51 +02:00
Alfranio Correia
8de80ef1b4 auto-merge 5.1-bugteam --> 5.1-bugteam (local) 2009-04-15 17:06:48 +01:00
Satya B
3e90469f95 Applying InnoDB snashot 5.1-ss4699, part 3. Fixes BUG#43660
1) BUG#43660 - SHOW INDEXES/ANALYZE does NOT update cardinality 
               for indexes of InnoDB table

Detailed revision comments:

r4699 | vasil | 2009-04-09 14:01:52 +0300 (Thu, 09 Apr 2009) | 15 lines
branches/5.1:

Fix Bug#43660 SHOW INDEXES/ANALYZE does NOT update cardinality for indexes
of InnoDB table

by replacing the PRNG that is used to pick random pages with a better
one.

This is based on r4670 but also adds a new configuration option and
enables the fix only if this option is changed. Please skip the present
revision when merging.

Approved by:	Heikki (via email)
2009-04-15 18:11:54 +05:30
Satya B
d629c4ecca Applying InnoDB snashot 5.1-ss4699, part 2. Fixes BUG#43309
1) BUG#43309 - Test main.innodb can't be run twice

2) Follow up fix for BUG#43309, adds explanatory comments.

Detailed revision comments:

r4575 | vasil | 2009-03-30 15:55:31 +0300 (Mon, 30 Mar 2009) | 8 lines
branches/5.1:

Fix Bug#43309 Test main.innodb can't be run twice

Make the innodb mysql-test more flexible by inspecting how much a
variable of interest has changed since the start of the test. Do not
assume the variables have zero values at the start of the test.

r4659 | vasil | 2009-04-06 15:34:51 +0300 (Mon, 06 Apr 2009) | 6 lines
branches/5.1:

Followup to r4575 and the fix of Bug#43309 Test main.innodb can't be run twice:

Add an explanatory comment, as suggested by Patrick Crews in the bug report.
2009-04-15 17:58:07 +05:30
Satya B
df7f5472c9 Applying InnoDB snashot 5.1-ss4699, part 1. Fixes BUG#39320 and other
problems

1) BUG#39320 - innodb crash in file btr/btr0pcur.c line 217 with 
               innodb_locks_unsafe_for_binlog

2) Fixes bug in multi-table semi consistent reads.

3) Fixes email address from dev@innodb.com to innodb_dev_ww@oracle.com

4) Fixes warning message generated by main.innodb test


Detailed revision comments:

r4399 | marko | 2009-03-12 09:38:05 +0200 (Thu, 12 Mar 2009) | 5 lines
branches/5.1: row_sel_get_clust_rec_for_mysql(): Store the cursor position
also for unlock_row().  (Bug #39320)

rb://96 approved by Heikki Tuuri.

r4400 | marko | 2009-03-12 10:06:44 +0200 (Thu, 12 Mar 2009) | 8 lines
branches/5.1: Fix a bug in multi-table semi-consistent reads.
Remember the acquired record locks per table handle (row_prebuilt_t)
rather than per transaction (trx_t), so that unlock_row should successfully
unlock all non-matching rows in multi-table operations.
This deficiency was found while investigating Bug #39320.

rb://94 approved by Heikki Tuuri.

r4481 | marko | 2009-03-19 15:01:48 +0200 (Thu, 19 Mar 2009) | 6 lines
branches/5.1: row_unlock_for_mysql(): Do not unlock records that were
modified by the current transaction.  This bug was introduced or unmasked
in r4400.

rb://97 approved by Heikki Tuuri

r4573 | vasil | 2009-03-30 14:17:13 +0300 (Mon, 30 Mar 2009) | 4 lines
branches/5.1:

Fix email address from dev@innodb.com to innodb_dev_ww@oracle.com

r4574 | vasil | 2009-03-30 14:27:08 +0300 (Mon, 30 Mar 2009) | 38 lines
branches/5.1:

Restore the state of INNODB_THREAD_CONCURRENCY to silence this warning:

  TEST                                      RESULT   TIME (ms)
  ------------------------------------------------------------
  
  worker[1] Using MTR_BUILD_THREAD 250, with reserved ports 12500..12509
  main.innodb                              [ pass ]   8803
  
  MTR's internal check of the test case 'main.innodb' failed.
  This means that the test case does not preserve the state that existed
  before the test case was executed.  Most likely the test case did not
  do a proper clean-up.
  This is the diff of the states of the servers before and after the
  test case was executed:
  mysqltest: Logging to '/tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.log'.
  mysqltest: Results saved in '/tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.result'.
  mysqltest: Connecting to server localhost:12500 (socket /tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/mysqld.1.sock) as 'root', connection 'default', attempt 0 ...
  mysqltest: ... Connected.
  mysqltest: Start processing test commands from './include/check-testcase.test' ...
  mysqltest: ... Done processing test commands.
  --- /tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.result	2009-03-30 14:12:31.000000000 +0300
  +++ /tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.reject	2009-03-30 14:12:41.000000000 +0300
  @@ -99,7 +99,7 @@
   INNODB_SUPPORT_XA	ON
   INNODB_SYNC_SPIN_LOOPS	20
   INNODB_TABLE_LOCKS	ON
  -INNODB_THREAD_CONCURRENCY	8
  +INNODB_THREAD_CONCURRENCY	16
   INNODB_THREAD_SLEEP_DELAY	10000
   INSERT_ID	0
   INTERACTIVE_TIMEOUT	28800
  
  mysqltest: Result content mismatch
  
  not ok

r4576 | vasil | 2009-03-30 16:25:10 +0300 (Mon, 30 Mar 2009) | 4 lines
branches/5.1:

Revert a change to Makefile.am that I committed accidentally in c4574.
2009-04-15 17:16:08 +05:30
Alfranio Correia
a8f7d47e6a BUG#41793 rpl_binlog_corruption disabled in main (needs new mtr)
The test case was missing "let $slave_sql_errno= 1594;".
2009-04-15 12:43:17 +01:00
Sergey Glukhov
04ee3f2ffa Bug#41268 Help Text for \c is misleading in client command line interface(addon)
fixed message for 'help' command
2009-04-14 19:16:30 +05:00
Davi Arnaut
09d4c1da0f Bug#44164: TL_WRITE has no description in lock_descriptions[]
The problem was that new lock types were being added without a
corresponding description. Since the lock types (enum values)
are used as indices to the description array, the descriptions
could be shifted depending on the lock type. The solution is to
ensure that every lock type has a correspondent description.
2009-04-14 14:05:32 +02:00
Sergey Glukhov
c0db307e28 5.0-bugteam->5.1-bugteam merge 2009-04-14 19:17:44 +05:00
Tatiana A. Nurnberg
42094d3f40 auto-merge 2009-04-14 17:09:19 +02:00
Tatiana A. Nurnberg
4e2a7d366b auto-merge 2009-04-14 16:38:55 +02:00
Gleb Shchepa
9952fa7a36 Bug #42563: Message tells me to repair table though Storage
Engine doesn't allow me to.

In case of incompatible changes between old and new table
versions, the mysqlcheck program prints error messages like
this:
  error: Table upgrade required. Please do
         "REPAIR TABLE `table_name`" to fix it!

However, InnoDB doesn't support REPAIR TABLE query, so the
message is confusing.


Error message text has been changed to:

  Table upgrade required. Please do "REPAIR TABLE `table_name`"
  or dump/reload to fix it!"
2009-04-14 19:19:15 +05:00
Narayanan V
5592d206f8 Importing test cases for IBMDB2I
The current patch

-- Adds the ibmdb2i suite
-- related include(.inc) files
-- tests for Bug#44020 and Bug#44025
2009-04-14 16:32:55 +05:30
Sergey Glukhov
7ff5b7a936 Bug#43385 Cannot ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME when Views exist(addon)
mysql_rename_view can not rename view if database is not the same.
The fix is to add new argument 'new_db' to mysql_rename_view() and
allow rename with different databases
(only for ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME).
2009-04-13 18:09:10 +05:00
Narayanan V
6c08e3c2fb merging with mysql-5.1-bugteam 2009-04-13 17:05:40 +05:30
Narayanan V
d7026cb968 merging with mysql-5.1-bugteam tree 2009-04-13 16:51:24 +05:30
Narayanan V
93b132c5ee merging with mysql-5.1-bugteam tree 2009-04-13 16:26:21 +05:30
Chad MILLER
538fdd3d4b Merge fix for bug 39559 and bugteam trunk. 2009-04-10 10:18:57 -04:00
Sergey Glukhov
5c5691e8ec Bug#43385 Cannot ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME when Views exist
allow 'rename view' for ALTER ...UPGRADE DATA DIRECTORY NAME command.
it's safe because a view has valid internal db&table names in this case.
2009-04-10 14:25:48 +05:00
Narayanan V
4a12ecf7d9 Bug#44025 Some schema names longer than 8 characters not supported by IBMDB2I
On IBM i 5.4, schemas with names that are longer 
than 8 characters and contain digits or an underscore
cannot contain IBMDB2I tables, even though this should
theoritically be possible if all alpha characters
are uppercase.

THe current patch fixes the IBMDB2I engine to
allow digits and the underscore(_) to be used in
schema names longer than 8 characters on IBM i 5.4.
2009-04-10 13:18:07 +05:30
Narayanan V
9887dd7a66 Bug#44022 CREATE TABLE sometimes fails silently for IBMDB2I engine
In some circumstances, when a table is created with
the IBMDB2I engine, the CREATE TABLE statement will
return successfully but the table will not exist.

The current patch addresses the above issue and causes
CREATE to fail and report and error to the user.
2009-04-10 13:01:15 +05:30
Narayanan V
39d9d106bf Bug#44020 Unicode Swedish collations not working with IBMDB2I
The utf8_swedish_ci and ucs2_swedish_ci
collations do not work with indexes on 
IBMDB2I tables.

The current patch adds the mapping for
ucs2_swedish collation and removes the 
ucs2_spanish2 mapping which is not
supported by any version of the operating
system.
2009-04-10 11:56:54 +05:30
Chad MILLER
aa449c1053 Bug#39559: dump of stored procedures / functions with C-style \
comment can't be read back

A change to the lexer in 5.1 caused slash-asterisk-bang-version
sections to be terminated early if there exists a slash-asterisk-
style comment inside it.  Nesting comments is usually illegal,
but we rely on versioned comment blocks in mysqldump, and the
contents of those sections must be allowed to have comments.

The problem was that when encountering open-comment tokens and
consuming -or- passing through the contents, the "in_comment"
state at the end was clobbered with the not-in-a-comment value,
regardless of whether we were in a comment before this or not.  

So, """/*!VER one /* two */ three */""" would lose its in-comment
state between "two" and "three".  Save the echo and in-comment
state, and restore it at the end of the comment if we consume a 
comment.
2009-04-09 22:18:18 -04:00
Davi Arnaut
064c1b2cac Bug#43706: libmysqld segfaults when re-intialised
Bug#44091: libmysqld gets stuck waiting on mutex on initialization

The problem was that libmysqld wasn't enforcing a certain
initialization and deinitialization order for the mysys
library. Another problem was that the global object used
for management of log event handlers (aka LOGGER) wasn't
being prepared for a possible reutilization.

What leads to the hang/crash reported is that a failure
to load the language file triggers a double call of the
cleanup functions, causing an already destroyed mutex to
be used.

The solution is enforce a order on the initialization and
deinitialization of the mysys library within the libmysqld
library and to ensure that the global LOGGER object reset
it's internal state during cleanup.
2009-04-09 12:25:25 -03:00
Andrei Elkin
ae758cbd52 Bug #38205 Row-based Replication (RBR) causes inconsistencies: HA_ERR_FOUND_DUPP_KEY
Bug#319  if while a non-transactional slave is replicating a transaction possible problem

only testing related: addressing reviewers' comments.
2009-04-09 16:05:41 +03:00
Luis Soares
49ab049707 manual merge: 5.0-bugteam --> 5.1-bugteam
Note: empty changeset.
2009-04-09 12:30:44 +01:00
Luis Soares
dc3fad94b4 BUG#13684: SP: DROP PROCEDURE|FUNCTION IF EXISTS not binlogged if
routine does not exist 
      
There is an inconsistency with DROP DATABASE IF EXISTS, DROP TABLE IF
EXISTS and DROP VIEW IF EXISTS: those are binlogged even if the DB or
TABLE does not exist, whereas DROP PROCEDURE IF EXISTS does not. It
would be nice or at least consistent if DROP PROCEDURE/STATEMENT
worked the same too.
      
Fixed DROP PROCEDURE|FUNCTION IF EXISTS by adding a call to
mysql_bin_log.write in mysql_execute_command. Checked also if all 
documented "DROP (...) IF EXISTS" get binlogged.
      
NOTE: This is a 5.0 backport patch as requested by support.
2009-04-09 11:40:22 +01:00
Narayanan V
cec52793fb merging with mysql-5.1-bugteam 2009-04-09 16:04:28 +05:30
Sergey Glukhov
c9f068894d null merge 2009-04-09 14:58:23 +05:00
Sergey Glukhov
c86964205c null merge 2009-04-09 14:57:30 +05:00
Sergey Glukhov
7d8a970f6d auotmerge 2009-04-09 14:55:23 +05:00