1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-16 22:03:23 +03:00
Commit Graph

29385 Commits

Author SHA1 Message Date
Marko Mäkelä
db55cf8526 Allow 30 seconds for slow shutdown in the Bug #60049 test. 2011-02-17 22:25:33 +02:00
Vasil Dimov
f19a4c0d76 Merge mysql-5.1-innodb -> mysql-5.5-innodb 2011-02-17 19:14:41 +02:00
Vasil Dimov
5e7d354326 Fix the non-determinism in innodb_information_schema.test
Thanks to Kristian Nielsen for finding out the root cause for the
failure, see: https://bugs.launchpad.net/maria/+bug/677407
2011-02-17 19:09:53 +02:00
Tor Didriksen
8576d2a118 Revert 59685, as we now cache datetimes correctly.
See also bug 11775312, all queries listed there now have the
same results here, as they have in 5.1
2011-02-17 13:57:42 +01:00
Tor Didriksen
19fc30a6d7 Bug #11766860 - 60085: CRASH IN ITEM::SAVE_IN_FIELD() WITH TIME DATA TYPE
This assumption in Item_cache_datetime::cache_value_int
was wrong:
-  /* Assume here that the underlying item will do correct conversion.*/
-  int_value= example->val_int_result();
2011-02-17 13:41:25 +01:00
Vasil Dimov
7581b94a6c Merge mysql-5.1 from bk-internal into my local repo 2011-02-17 14:07:39 +02:00
Vasil Dimov
d679c3976c Merge mysql-5.5 from bk-internal into my local repo 2011-02-17 14:06:32 +02:00
Vasil Dimov
60a8407231 Merge mysql-5.5-innodb -> mysql-5.5 2011-02-17 13:57:26 +02:00
Vasil Dimov
0a3e7beb1e Merge mysql-5.1-innodb -> mysql-5.1 2011-02-17 13:56:05 +02:00
Magne Mahre
2a3456597b Merge from 5.1 2011-02-17 12:53:09 +01:00
Magne Mahre
f2a42aee2e Bug#48053 String::c_ptr has a race and/or does an invalid
memory reference

There are two issues present here.
  1) There is a possibility that we test a byte beyond the
     allocated buffer

  2) We compare a byte that might never have been
     initalized to see if it's 0.

The first issue is not triggered by existing code, but an
ASSERT has been added to safe-guard against introducing
new code that triggers it.

The second issue is what triggers the Valgrind warnings
reported in the bug report. A buffer is allocated in
class String to hold the value. This buffer is populated
by the character data constituting the string, but is not
zero-terminated in most cases.  Testing if it is indeed
zero-terminated means that we check a byte that has never
been explicitly set, thus causing Valgrind to trigger.

Note that issue 2 is not a serious problem.  The variable
is read, and if it's not zero, we will set it to zero.
There are no further consequences.

Note that this patch does not fix the underlying problems
with issue 1, as it is deemed too risky to fix at this
point (as noted in the bug report).  As discussed in
the report, the c_ptr() method should probably be
replaced, but this requires a thorough analysis of the
~200 calls to the method.
2011-02-17 12:43:53 +01:00
Marko Mäkelä
778e700d1c Merge mysql-5.1-innodb to mysql-5.5-innodb. 2011-02-17 09:48:01 +02:00
Marko Mäkelä
e428f0ed9d Disable the Bug #60049 test on embedded, as it requires server restart. 2011-02-17 09:45:07 +02:00
Tor Didriksen
26077d8dcb Disable this test when running 'mtr --mem'
With --mem if fails with
+UNEXPECTED ERROR NUMBER: 1290

In var/log/mysqld.2.err we have:
[ERROR] LOAD DATA INFILE in the slave SQL Thread can only read from --slave-load-tmpdir. Please, report a bug.
[ERROR] Slave SQL: Error 'The MySQL server is running with the --slave-load-tmpdir option so it cannot execute this statement' on query. Default database: 'test'. Query: 'LOAD DATA INFILE '../../tmp/SQL_LOAD-2-1-1.data' INTO  TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`, `b`)', Error_code: 1290

getcwd() in the server yields something like: /dev/shm/var_auto_iv5Q/mysqld.2/data
2011-02-17 08:27:24 +01:00
Bjorn Munch
81b4be1819 Simple fix of suppress pattern in test insert_select 2011-02-16 21:45:52 +01:00
Bjorn Munch
378ddd475f Simple fix of suppress pattern in test insert_select 2011-02-16 21:43:12 +01:00
Sven Sandberg
d4674ca897 WL#5670: Proposal: Remove SHOW NEW MASTER statement
Removes SHOW NEW MASTER statement and all related code.
Also removes the unused function update_slave_list from repl_failsafe.cc.
2011-02-16 17:27:35 +01:00
Marko Mäkelä
11cbe8743b Merge mysql-5.1-innodb to mysql-5.5-innodb. 2011-02-16 15:41:46 +02:00
Marko Mäkelä
afda842f02 Make the implicit unpack parameter explicit in the Bug #60049 test. 2011-02-16 15:34:16 +02:00
Tor Didriksen
749945c1fd Bug #11751935 42969: PLEASE ADD A MANIFEST TO EACH BUILD
post-push fix: make it work in out-of-source builds.
2011-02-16 13:44:28 +01:00
Bjorn Munch
3e3fd17cd7 Removed unused code accidentally pushed with Bug @58122 2011-02-16 12:24:17 +01:00
Dmitry Lenev
b2089dc80a Merged recent changes from mysql-5.5 tree with
fix for bug @59888.
2011-02-15 15:19:30 +03:00
Dmitry Lenev
3ab2ff99f7 Merged fix for bug #59888 "debug assertion when attempt to
create spatial index on char > 31 bytes". Did after-merge
fixes.
2011-02-15 15:04:52 +03:00
Luis Soares
b9819e703e BUG#11754075: BUG#45621: A FEW TEST FILES ARE DISABLED DUE TO WL#4284
Backporting the patch from BUG#11753506 into mysql-5.5 
as it is already in mysql-trunk but not in mysql-5.5.
2011-02-15 12:01:52 +00:00
Luis Soares
1c4ddcf0aa BUG#11754075: BUG#45621: A FEW TEST FILES ARE DISABLED DUE TO WL#4284
Backporting the patch from BUG#11753489 into mysql-5.5 
as it is already in mysql-trunk but not in mysql-5.5.
2011-02-15 11:59:12 +00:00
Dmitry Lenev
7e1cd4ae0d Fix for bug#11766714 (former bug @59888) "debug assertion when
attempt to create spatial index on char > 31 bytes".

Attempt to create spatial index on char field with length
greater than 31 byte led to assertion failure on server
compiled with safemutex support.

The problem occurred in mi_create() function which was called
to create a new version of table being altered. This function
failed since it detected an attempt to create a spatial key
on non-binary column and tried to return an error.
On its error path it tried to unlock THR_LOCK_myisam mutex
which has not been not locked at this point. Indeed such an
incorrect behavior was caught by safemutex wrapper and caused
assertion failure.

This patch fixes the problem by ensuring that mi_create()
doesn't releases THR_LOCK_myisam mutex on error path if it was
not acquired.
2011-02-15 14:03:05 +03:00
Marko Mäkelä
cfc9176bce Merge mysql-5.1-innodb to mysql-5.5-innodb. 2011-02-15 12:18:15 +02:00
Marko Mäkelä
518a4440ea Add a test for suspected Bug#60049. 2011-02-15 12:12:27 +02:00
Marko Mäkelä
53cfea3911 Merge mysql-5.1-innodb to mysql-5.5-innodb. 2011-02-15 11:29:56 +02:00
Marko Mäkelä
6ae8c575f3 Bug#59307 Valgrind: uninitialized value in rw_lock_set_writer_id_and_recursion_flag()
rw_lock_create_func(): Initialize lock->writer_thread, so that Valgrind
will not complain even when Valgrind instrumentation is not enabled.
Flag lock->writer_thread uninitialized, so that Valgrind can complain
when it is used uninitialized.

rw_lock_set_writer_id_and_recursion_flag(): Revert the bogus Valgrind
instrumentation that was pushed in the first attempt to fix this bug.
2011-02-15 10:51:33 +02:00
Joerg Bruehe
0dab33608f Merge bug fix 42969 into main 5.5 branch. 2011-02-14 15:53:51 +01:00
Jon Olav Hauglid
6688a4f25c Bug #11766788 (former bug 59986)
Assert in Diagnostics_area::set_ok_status() for XA COMMIT

This assert was triggered if XA COMMIT was issued when an XA transaction
already had encountered an error (e.g. a deadlock) which required
the XA transaction to be rolled back.

In general, the assert is triggered if a statement tries to send OK to
the client when an error has already been reported. It was triggered
in this case because the trans_xa_commit() function first reported an
error, then rolled back the transaction and finally returned FALSE,
indicating success. Since trans_xa_commit() reported success,
mysql_execute_command() tried to report OK, triggering the assert.

This patch fixes the problem by fixing trans_xa_commit() to return TRUE
if it encounters an error that requires rollback, even if the rollback
itself is successful.

Test case added to xa.test.
2011-02-14 14:16:31 +01:00
Tor Didriksen
32e6d14728 Bug #59686 crash in String::copy() with time data type
The problem was that Item_sum_hybrid::val_xxx() did not propagate null values
up the expression tree.
2011-02-11 16:20:27 +01:00
Joerg Bruehe
fd21e07d6b Fix bug#42969 Please add a MANIFEST to each build
With this change, there will be new files "INFO_SRC"
and "INFO_BIN", which describe the source and the
binaries.
They will be contained in all packages:
- in "tar.gz" and derived packages, in "docs/",
- in RPMs, in "/usr/share/doc/packages/MySQL-server".

"INFO_SRC" is also part of a source tarball.
It gives the version as exact as possible, preferably
by calling "bzr version-info" on the source tree.
If that is not possible, it just contains the three
level version number.

"INFO_BIN" contains some info when and where the
binaries were built, the options given to the compiler,
and the flags controlling the included features.

The tests (test "mysql" in the main suite) are extended
to verify the existence of both "INFO_SRC" and "INFO_BIN",
as well as some of the expected contents.
2011-02-11 15:55:25 +01:00
Guilhem Bichot
77c0f33ee2 Fix for BUG#59894
"set optimizer_switch to e or d causes invalid memory writes/valgrind warnings":
due to prefix support, the argument "e" was overwritten with its full value
"engine_condition_pushdown", which caused a buffer overrun.
This was wrong usage of find_type(); other wrong usages are fixed here too.
Please start reading with the comment of typelib.c.
2011-02-11 15:00:09 +01:00
Sergey Glukhov
e9fc441a52 Bug#59685 crash in String::length with date types
The crash happens because Item_cache which is result
holder for Item_subselect can't correctly convert
a DATETIME value from string to int representation.
The fix is to disable constant item convertion for
subselect(partial rollback of bug52157 fix).
2011-02-11 12:54:16 +03:00
Mikael Ronström
80179eba3e merge 2011-02-10 18:15:19 +01:00
Georgi Kodinov
6a59562415 merge mysql-5.5->mysql-5.5-security 2011-02-10 15:47:39 +02:00
Alexander Barkov
a726555523 Bug#31384 DATE_ADD() and DATE_SUB() return binary data
An after-fix to workaround different metadata in "mtr --ps" output.
2011-02-10 16:38:18 +03:00
Vasil Dimov
2095b63b84 Extend the valgrind suppression to cover one more code path:
==3307== Invalid read of size 1
==3307==    at 0xA8389A: mach_read_from_4 (mach0data.ic:182)
==3307==    by 0xA833E3: buf_buddy_relocate (buf0buddy.c:450)
==3307==    by 0xA8451E: buf_buddy_free_low (buf0buddy.c:619)
==3307==    by 0x999326: buf_buddy_free (buf0buddy.ic:131)
==3307==    by 0x998B66: buf_page_get_gen (buf0buf.c:2968)
==3307==    by 0x9765D4: btr_cur_open_at_rnd_pos_func (btr0cur.c:985)
==3307==    by 0x97F5EB: btr_estimate_number_of_different_key_vals (btr0cur.c:3621)
==3307==    by 0x9C8694: dict_update_statistics (dict0dict.c:4312)
==3307==    by 0x8FCF85: row_update_statistics_if_needed (row0mysql.c:933)
==3307==    by 0x8FCEF8: row_insert_for_mysql (row0mysql.c:1240)
==3307==    by 0x8E8134: ha_innobase::write_row(unsigned char*) (ha_innodb.cc:4988)
==3307==    by 0x73CE6D: handler::ha_write_row(unsigned char*) (handler.cc:4776)
==3307==    by 0x6512DC: copy_data_between_tables(TABLE*, TABLE*, List<Create_field>&, bool, unsigned int, st_order*, unsigned long long*, unsigned long long*, enum_enable_or_disable, bool) (sql_table.cc:7017)
==3307==    by 0x65E1E1: mysql_alter_table(THD*, char*, char*, st_ha_create_information*, TABLE_LIST*, Alter_info*, unsigned int, st_order*, bool) (sql_table.cc:6416)
==3307==    by 0x893920: Alter_table_statement::execute(THD*) (sql_alter.cc:106)
==3307==    by 0x5DDB3B: mysql_execute_command(THD*) (sql_parse.cc:4321)
2011-02-10 13:28:58 +02:00
Georgi Kodinov
f883ca66b5 merge mysql-5.5->mysql-5.5-security 2011-02-10 12:10:21 +02:00
Georgi Kodinov
e2b44930cc merge 5.0->5.0-security 2011-02-10 12:07:16 +02:00
Jimmy Yang
801d018411 Merge a fix for Bug #53756 ALTER TABLE ADD PRIMARY KEY affects crash recovery
This was already pushed to mysql-5.1-innodb some time ago
(revision id jimmy.yang@oracle.com-20100907054137-tpuior7hez4f5ghl)
but it was not merged to the 5.5 trees.
2011-02-10 00:58:23 -08:00
John H. Embretsen
bdb4df0f26 Backport to 5.0: Fix for Bug#52060 - test udf fails on Snow Leopard.
Reverse DNS lookup of "localhost" returns "broadcasthost" on Snow Leopard (Mac), and NULL on most others.
Simply ignore the output, as this is not an essential part of UDF testing.
2011-02-09 10:50:09 +01:00
Georgi Kodinov
4b1ac3f652 weave merge mysql-5.5->mysql-5.5-security 2011-02-09 11:27:31 +02:00
Georgi Kodinov
e458739471 weave merge mysql-5.1->mysql-5.1-security 2011-02-09 10:30:44 +02:00
Georgi Kodinov
3e897beab3 merge 5.0->5.0-security 2011-02-09 10:16:32 +02:00
Vasil Dimov
2edb0150af Merge mysql-5.5-innodb -> mysql-5.5 2011-02-08 19:28:00 +02:00
Vasil Dimov
de90b6dcb4 Merge mysql-5.1-innodb -> mysql-5.1 2011-02-08 19:26:42 +02:00
Jonathan Perkin
e98c722825 merge 2011-02-08 15:07:36 +01:00