1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-06 05:42:06 +03:00
Commit Graph

298 Commits

Author SHA1 Message Date
Michael Widenius
1be5462d59 Merge with MariaDB 5.1 2011-05-03 19:10:10 +03:00
Michael Widenius
e415ba0fb2 Merge with MySQL 5.1.57/58
Moved some BSD string functions from Unireg
2011-05-02 20:58:45 +03:00
Michael Widenius
139a2b64bf Merge with 5.2 2011-03-09 15:47:59 +02:00
Michael Widenius
3358cdd504 Merge with 5.1 to get in changes from MySQL 5.1.55 2011-02-28 19:39:30 +02:00
Michael Widenius
6c610ed979 Fixed build issues
- Linking now with g++ instead of gcc with 'compile-dist' to solve problems with handlersocket/client
- Fixed bug in heap tables when doing handler read next-prev over last row


BUILD/compile-dist:
  - Linking now with g++ instead of gcc with 'compile-dist' to solve problems with handlersocket/client
cmd-line-utils/libedit/vi.c:
  Fixed compiler warning about not checking return value for write
mysql-test/r/index_intersect.result:
  Updated results (missed this file in my last push)
mysql-test/suite/handler/aria.result:
  Updated test results
mysql-test/suite/handler/handler.inc:
  Changed test to use read next/read prev on key where there are duplicates that can come in different order depending on system
  Added testing of read next-prev over last row and read prev-next around first row
mysql-test/suite/handler/heap.result:
  Updated test results
mysql-test/suite/handler/init.inc:
  More rows to test
mysql-test/suite/handler/innodb.result:
  Updated test results
mysql-test/suite/handler/interface.result:
  Updated test results
mysql-test/suite/handler/myisam.result:
  Updated test results
mysql-test/t/variables-big.test:
  Fixed test to not fail on windows
mysql-test/valgrind.supp:
  Removed not matching fun: to get rid of valgrind warning
storage/heap/hp_rfirst.c:
  Added state so that we know if we have an active position in the index.
storage/heap/hp_rkey.c:
  Added state so that we know if we have an active position in the index.
storage/heap/hp_rnext.c:
  Handle reading several next after finding the last row (this caused a crash before)
storage/heap/hp_rprev.c:
  Handle reading several prev after finding the first row (this caused a crash before)
storage/xtradb/buf/buf0buf.c:
  Fixed compiler warning about uninitialized value
2011-02-23 14:46:16 +02:00
Michael Widenius
39616eb9ef Fixed compiler warnings and some test failures found by buildbot
dbug/dbug.c:
  Fixed compiler warnings on windows
mysql-test/r/index_intersect_innodb.result:
  Don't print number of rows as this varies
mysql-test/suite/funcs_1/r/processlist_val_no_prot.result:
  Update to use new State
mysql-test/suite/handler/heap.result:
  Update results
mysql-test/suite/handler/heap.test:
  Changed key used in test as the key 'b' will not guarantee order of the two last elements (as the key value is the same)
mysql-test/suite/pbxt/r/lock_multi.result:
  Update to use new State
mysql-test/t/index_intersect.test:
  Don't print number of rows as this varies
mysql-test/valgrind.supp:
  Added suppression for linux
mysys/hash.c:
  Fixed compiler warnings on windows
plugin/handler_socket/handlersocket/database.cpp:
  Fixed compiler warnings
sql-common/client_plugin.c:
  Changed variable to define to avoid compiler warnings when variable is not used
sql-common/my_time.c:
  Initialize all my_time elements to avoid compiler warnings
storage/oqgraph/ha_oqgraph.cc:
  Use right function (to avoid compiler warning)
storage/pbxt/src/table_xt.cc:
  Initialize variables (to avoid compiler warnings)
2011-02-23 02:06:58 +02:00
Vasil Dimov
0047afa3b2 Merge mysql-5.5-innodb -> mysql-5.5 2011-02-17 13:57:26 +02:00
Vasil Dimov
60a8407231 Merge mysql-5.5-innodb -> mysql-5.5 2011-02-17 13:57:26 +02:00
Vasil Dimov
e10775a38a 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
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
Vasil Dimov
1751fd90a8 Adjust a suppression to cover more codepaths. 2011-02-08 07:53:37 +02:00
Vasil Dimov
6eb014a606 Adjust a suppression to cover more codepaths. 2011-02-08 07:53:37 +02:00
Vasil Dimov
da687193b6 Add one more Valgrind suppression to cover a different codepath 2011-02-07 19:54:09 +02:00
Vasil Dimov
cbeb1299c7 Add one more Valgrind suppression to cover a different codepath 2011-02-07 19:54:09 +02:00
Vasil Dimov
fe40394908 Backport the fix for Bug#59875 Valgrind warning in buf0buddy.c from 5.5
This warning also happens in 5.1 with a slightly different codepath.
2011-02-07 16:45:37 +02:00
Vasil Dimov
b7cc4aa0e6 Backport the fix for Bug#59875 Valgrind warning in buf0buddy.c from 5.5
This warning also happens in 5.1 with a slightly different codepath.
2011-02-07 16:45:37 +02:00
Vasil Dimov
97b11ffda5 Merge mysql-5.1-innodb -> mysql-5.5-innodb 2011-02-07 11:18:59 +02:00
Vasil Dimov
5c14b7e103 Merge mysql-5.1-innodb -> mysql-5.5-innodb 2011-02-07 11:18:59 +02:00
Vasil Dimov
165ed4f1a8 Use fun:* instead of obj:*/libz.so* because when the bundled zlib is
used (--with-zlib-dir=bundled) then there is no libz.so involved.
2011-02-07 11:13:54 +02:00
Vasil Dimov
098a2ee85d Use fun:* instead of obj:*/libz.so* because when the bundled zlib is
used (--with-zlib-dir=bundled) then there is no libz.so involved.
2011-02-07 11:13:54 +02:00
Vasil Dimov
2dc354d9d0 Fix Bug#59875 Valgrind warning in buf0buddy.c
Suppress a bogus valgrind warning.
2011-02-04 19:43:34 +02:00
Vasil Dimov
9bc782a3f5 Fix Bug#59875 Valgrind warning in buf0buddy.c
Suppress a bogus valgrind warning.
2011-02-04 19:43:34 +02:00
Vasil Dimov
1ee3ce7187 Merge mysql-5.1-innodb -> mysql-5.5-innodb 2011-02-04 18:30:05 +02:00
Vasil Dimov
907266d9b3 Merge mysql-5.1-innodb -> mysql-5.5-innodb 2011-02-04 18:30:05 +02:00
Vasil Dimov
5082c4d1de Fix Bug#59874 Valgrind warning in InnoDB compression code
Add suppressions for a bogus valgrind warnings.
2011-02-04 12:46:47 +02:00
Vasil Dimov
96ca537ca4 Fix Bug#59874 Valgrind warning in InnoDB compression code
Add suppressions for a bogus valgrind warnings.
2011-02-04 12:46:47 +02:00
Michael Widenius
69fe020f01 Fixed bugs found by buildbot:
- Use -Wno-uninitialized if -DFORCE_INIT_OF_VARS is not used, to avoid warnings about not initialized variables.
- Fixed compiler warnings
- Added a name for each thr_lock to get better error messages (This is needed to find out why 'archive.test' sometimes fails)


BUILD/SETUP.sh:
  Use -Wno-uninitialized if -DFORCE_INIT_OF_VARS is not used, to avoid warnings about not initialized variables.
BUILD/build_mccge.sh:
  Use -Wno-uninitialized if -DFORCE_INIT_OF_VARS is not used, to avoid warnings about not initialized variables.
client/mysqltest.cc:
  Fixed bug in remove_files_wildcards (the orignal code never removed anything)
extra/libevent/devpoll.c:
  Fixed compiler warning
include/thr_lock.h:
  Added a name for each thr_lock to get better error messages.
mysql-test/suite/maria/t/maria3.test:
  Speed up test.
mysys/thr_lock.c:
  Added a name for each thr_lock to get better error messages.
  Added a second 'check_locks' to find if something goes wrong in 'wake_up_waiters'.
sql/lock.cc:
  Added a name for each thr_lock to get better error messages.
storage/xtradb/fil/fil0fil.c:
  Fixed compiler warning
2011-01-26 15:17:46 +02:00
Bjorn Munch
d651529112 Fixed copyright headers in mtr src files 2011-01-18 11:21:37 +01:00
Bjorn Munch
7b9c438099 Fixed copyright headers in mtr src files 2011-01-18 11:21:37 +01:00
Bjorn Munch
5a85609d6b Fixed copyright headers in mtr src files 2011-01-18 11:03:44 +01:00
Bjorn Munch
097445ebf5 Fixed copyright headers in mtr src files 2011-01-18 11:03:44 +01:00
Michael Widenius
2925335643 Added suppression for failure on opensuse 64 bit. 2011-01-14 16:51:18 +02:00
Vasil Dimov
be01dbf587 Merge mysql-5.5-innodb -> mysql-5.5 2011-02-08 19:28:00 +02:00
Marc Alff
15d0999462 Bug#58740 Valgrind warning in PFS (pfs_setup_actor.cc)
Valgrind gets confused by the call stack generated with optimized
builds, with inlined functions.
Reduced the stack context for the suppression in lf_pinbox_get_pins.
2011-02-04 08:26:30 -07:00
Vasil Dimov
2edb0150af Merge mysql-5.5-innodb -> mysql-5.5 2011-02-08 19:28:00 +02:00
Marc Alff
e6f39a9a24 Bug#58740 Valgrind warning in PFS (pfs_setup_actor.cc)
Valgrind gets confused by the call stack generated with optimized
builds, with inlined functions.
Reduced the stack context for the suppression in lf_pinbox_get_pins.
2011-02-04 08:26:30 -07:00
Kent Boortz
be6c3fd8aa Merge 2010-12-29 01:26:31 +01:00
Kent Boortz
94cde4c951 Merge 2010-12-29 01:26:31 +01:00
Kent Boortz
4acfdb9df1 Merge 2010-12-29 00:47:05 +01:00
Kent Boortz
920d185fd8 Merge 2010-12-29 00:47:05 +01:00
Kent Boortz
85323eda8a - Added/updated copyright headers
- Removed files specific to compiling on OS/2
- Removed files specific to SCO Unix packaging
- Removed "libmysqld/copyright", text is included in documentation
- Removed LaTeX headers for NDB Doxygen documentation
- Removed obsolete NDB files
- Removed "mkisofs" binaries
- Removed the "cvs2cl.pl" script
- Changed a few GPL texts to use "program" instead of "library"
2010-12-28 19:57:23 +01:00
Kent Boortz
fddb1f1b13 - Added/updated copyright headers
- Removed files specific to compiling on OS/2
- Removed files specific to SCO Unix packaging
- Removed "libmysqld/copyright", text is included in documentation
- Removed LaTeX headers for NDB Doxygen documentation
- Removed obsolete NDB files
- Removed "mkisofs" binaries
- Removed the "cvs2cl.pl" script
- Changed a few GPL texts to use "program" instead of "library"
2010-12-28 19:57:23 +01:00
Marc Alff
7f67060ef2 Valgrind 3.5.0 cleanup, continued 2010-12-07 15:13:27 +01:00
Marc Alff
848e1b90cd Valgrind 3.5.0 cleanup, continued 2010-12-07 15:13:27 +01:00
Marc Alff
2f228bd1f5 Valgrind 3.5.0 cleanup 2010-12-07 14:52:14 +01:00
Marc Alff
83b7c74988 Valgrind 3.5.0 cleanup 2010-12-07 14:52:14 +01:00
Sergei Golubchik
65ca700def merge.
checkpoint.
does not compile.
2010-11-25 18:17:28 +01:00
Marc Alff
25bac73707 Added missing paterns 2010-09-27 18:23:54 -06:00
Marc Alff
6a707718b9 Added missing paterns 2010-09-27 18:23:54 -06:00
Marc Alff
bb04ac9734 Bug#56324 Race Condition while shutting down MySQL: "PSI_server"
Before this fix, the server could crash during shutdown,
due to race conditions, that occured when killing the server.

In particular, the performance schema instrumentation handle,
PSI_server, and the performance schema itself would be cleaned up
too soon, causing race conditions with a running kill server thread.

The specifics of the race condition found are that:
the main thread executing "PSI_server= NULL" can cause crashes in
other threads still running, which are executing
"if (PSI_server != NULL) PSI_server->xxx()"
as part of the performance schema instrumentation.

While the bug was reported for the kill server thread,
in theory the same crash could happen with the signal thread,
as found by code analysis.

The correct fix would be to only shutdown the performance schema
and set PSI_server to NULL after every other thread is guaranteed
to be completed, including the kill_server_thread.

However, due to the existing mysqld server design, this is not the case.
See in particular bug number 56666.

The work around used to fix this race condition is to simply not
perform the call to shutdown_performance_schema() when the server exits,
and to keep the PSI_server pointer unchanged.

This will cause memory leaks to be reported by tools like valgrind,
but no memory leak actually happen because the process is about to exit().

As a result, the file mysql-test/valgrind.supp has been updated
to filter out these false positive messages.

This code has been tested with running in a loop the following
tests in parallel, which have been known to fail with race conditions
in the past:
- rpl_change_master
- binlog_max_extension
- events_restart
- rpl_heartbeat_basic
and no crash of test failure has been seen with the changed code.
2010-09-09 15:33:35 -06:00