Commit graph

258 commits

Author SHA1 Message Date
Mikael Ronstrom
9eff32d900 Ensure background wake-up thread doesn't cause deadlocks 2008-12-05 14:08:28 +01:00
Mikael Ronstrom
fa5529eeb8 Added memory barriers to the portability layer in InnoDB
Removed dependency on pthread being an int
2008-12-05 13:43:10 +01:00
Mikael Ronstrom
f31e349ffd Fix to avoid compilation errors on Windows
Not the final fix, only a temporary fix
2008-12-04 11:57:56 +01:00
Mikael Ronstrom
b9ecc2b5dd Removed assert on waiters == 0 since that is now possible and not serious 2008-11-19 02:09:24 +01:00
Mikael Ronstrom
61cc839253 Fix for Percona reported bug with manual merge and fix of bug in
patch (changed to use of UNIV_SYNC_ATOMIC from faulty HAVE_ATOMIC_BUILTINS).
2008-11-17 23:04:36 +01:00
Mikael Ronstrom
d575f6ce34 Added counter of number of missed wakeups of InnoDB threads 2008-11-17 22:54:32 +01:00
Mikael Ronstrom
8d162b444a Fixed spelling error 2008-10-30 18:38:47 +01:00
Mikael Ronstrom
090bcb74ab Merge port of Google SMP patch to Solaris 2008-10-30 10:23:36 +01:00
Mikael Ronstrom
e21ed0a83e Fixed more compiler warnings 2008-10-17 13:50:14 +02:00
Mikael Ronstrom
96263b1d68 Fixed compiler warnings 2008-10-17 13:43:34 +02:00
Mikael Ronstrom
f0d789f190 Merged fixes to compiler errors and warnings 2008-10-17 12:09:45 +02:00
Mikael Ronstrom
9b848d9e7a Fixed a number of compiler issues and attempted a fix for
Windows compilation error.
2008-10-17 12:01:14 +02:00
Mikael Ronstrom
832f7c0274 Fixed a bug introduced by bazaar merge 2008-10-16 23:24:11 +02:00
Mikael Ronstrom
e2b66087e2 merge silly error 2008-10-16 22:18:26 +02:00
Mikael Ronstrom
eeddb067f4 Fixed silly error 2008-10-16 22:11:48 +02:00
Mikael Ronstrom
93805d96ad Merged Google compiler fixes 2008-10-16 21:13:42 +02:00
Mikael Ronstrom
27261d2d13 Fixed Windows compile issues 2008-10-16 21:06:14 +02:00
Mikael Ronstrom
c45dc11f41 merge Google changes to make it compile 2008-10-16 20:59:38 +02:00
Mikael Ronstrom
207225d542 A number of fixes of portability issues in Google patches 2008-10-16 20:45:12 +02:00
Mikael Ronstrom
d7de0b1774 merged into one Google InnoDB tree 2008-10-16 20:28:03 +02:00
Mikael Ronstrom
1f9e6ffc58 merged innobase changes into one tree 2008-10-16 20:18:39 +02:00
Mikael Ronstrom
b90c9a50b6 Remove compiler warnings 2008-10-16 20:07:50 +02:00
Mikael Ronstrom
57787e8dbc Fixed compiler issues 2008-10-16 19:59:04 +02:00
Mikael Ronstrom
5a45142242 Merged fix of compiler issue 2008-10-16 19:48:53 +02:00
Mikael Ronstrom
847c375bc0 Compile fixes, sun_prefetch.h only available on Sun Studio 2008-10-16 17:06:48 +02:00
Mikael Ronstrom
fcd2da609f Compile fix, sun_prefetch.h only available in Sun Studio 2008-10-16 17:04:44 +02:00
Mikael Ronstrom
f0e42724ad Fixed Windows bug in background IO patch 2008-10-16 09:10:30 +02:00
Mikael Ronstrom
7522b1975f merge Google SMP patch 2008-10-15 23:32:54 +02:00
Mikael Ronstrom
fd34712bc2 merged Google background IO threads 2008-10-15 20:56:47 +02:00
Mikael Ronstrom
2c252ba96b Google SMP patch 2008-10-15 20:54:18 +02:00
Mikael Ronstrom
186a5311dd merged io rate patch from Google 2008-10-15 20:48:46 +02:00
Mikael Ronstrom
bab9666d1c Google IO rate patch with a portability fix 2008-10-15 14:30:31 +02:00
Mikael Ronstrom
59ce72dedd merged configuration changes 2008-10-15 12:18:12 +02:00
Mikael Ronstrom
a6a94f83f7 Changed configuration defaults for improved performance on modern computers 2008-10-15 11:08:01 +02:00
Mikael Ronstrom
c4957c250d Merged Sparc Prefetch patch 2008-10-15 10:53:58 +02:00
Mikael Ronstrom
11157d3c56 3 google patches
SMP patch
Rate IO patch
Multiple IO threads patch
2008-10-14 09:56:07 +02:00
Mikael Ronstrom
e521a7588b Performance inline patch 2008-10-13 21:49:39 +02:00
Mikael Ronstrom
6c7f938a16 Sparc prefetch patch 2008-10-13 21:46:29 +02:00
Timothy Smith
d8aa83b270 Cherry-pick some changes from innodb-5.1-ss2545 snapshot. Includes fixes for
Bug#37531, Bug#36941, Bug#36941, Bug#36942, Bug#38185.

Also include test case from Bug 34300 which was left out from earlier snapshot
(5.1-ss2387).

Also include fix for Bug #29507, "TRUNCATE shows to many rows effected", since
the fix for Bug 37531 depends on it.
2008-08-20 16:18:33 -06:00
Timothy Smith
1999186d89 Cherry-pick one change from innodb-5.1-ss2485 snapshot. Fixes Bug#35602.
Bug #35602 "Failed to read auto-increment value from storage engine" with
Innodb

The test for REPLACE was an error of ommission since it's classified as
a simple INSERT. For REPLACE statements we don't acquire the special
AUTOINC lock for AUTOINC_NEW_STYLE_LOCKING with this fix.
2008-08-19 18:40:56 -06:00
Timothy Smith
1a01d6a93b Cherry-pick some changes from innodb-5.1-ss2479 snapshot. Includes fixes for
Bug#36600 and Bug#36793:

Bug #36600 SHOW STATUS takes a lot of CPU in buf_get_latched_pages_number

Fix by removing the Innodb_buffer_pool_pages_latched variable from SHOW
STATUS output in non-UNIV_DEBUG compilation.

Bug #36793 rpl_innodb_bug28430 fails on Solaris

This is a back port from branches/zip. This code has been tested on a
big-endian machine too.
2008-08-19 18:37:41 -06:00
Timothy Smith
0473a0d670 Cherry-pick one part of innodb-5.1-ss2438 snapshot.
Bug #36278 Data_free in SHOW TABLE STATUS for InnoDB is in kilobytes

Change the fix for Bug 32440 to show bytes instead of kilobytes in
INFORMATION_SCHEMA.TABLES.DATA_FREE.
2008-08-19 18:29:46 -06:00
Tatiana A. Nurnberg
5d7c155c6e Bug#36434: ha_innodb.so is installed in the wrong directory
ha_innodb.so was incorrectly installed in the lib/mysql
directory rather than in lib/mysql/plugin.

Amending CS for 31736.
2008-06-19 06:44:22 +02:00
tnurnberg@noir.wlan.koehntopp.de
71fdcc349c revert the following CS on grounds of "right patch, wrong time":
"Apply InnoDB snapshot innodb-5.1-ss2438.

  Addresses the following bugs:

  Change the fix for Bug#32440 to show bytes instead of kilobytes in
  INFORMATION_SCHEMA.TABLES.DATA_FREE.

  branches/5.1: Fix bug#29507 TRUNCATE shows to many rows effected
  In InnoDB, the row count is only a rough estimate used by SQL
  optimization. InnoDB is now return row count 0 for TRUNCATE operation.

  branches/5.1: Fix bug#35537 - Innodb doesn't increment handler_update
  and handler_delete
  Add the calls to ha_statistic_increment() in ha_innobase::delete_row()
  and ha_innobase::update_row().

  Fix Bug#36169 create innodb compressed table with too large row size crash
  Sometimes it is possible that
  row_drop_table_for_mysql(index->table_name, trx, FALSE); is invoked in
  row_create_index_for_mysql() when the index object is freed so copy the
  table name to a safe place beforehand and use the copy.

  Fix Bug#36434 ha_innodb.so is installed in the wrong directory
  Change pkglib_LTLIBRARIES with pkgplugin_LTLIBRARIES which has been
  forgotten in this commit: http://lists.mysql.com/commits/40206"
2008-05-14 10:45:32 +02:00
tsmith@ramayana.hindu.god
5bdd04bffa Apply InnoDB snapshot innodb-5.1-ss2438.
Addresses the following bugs:

  Change the fix for Bug#32440 to show bytes instead of kilobytes in
  INFORMATION_SCHEMA.TABLES.DATA_FREE.

  branches/5.1: Fix bug#29507 TRUNCATE shows to many rows effected
  In InnoDB, the row count is only a rough estimate used by SQL
  optimization. InnoDB is now return row count 0 for TRUNCATE operation.

  branches/5.1: Fix bug#35537 - Innodb doesn't increment handler_update
  and handler_delete
  Add the calls to ha_statistic_increment() in ha_innobase::delete_row()
  and ha_innobase::update_row().

  Fix Bug#36169 create innodb compressed table with too large row size crashed
  Sometimes it is possible that
  row_drop_table_for_mysql(index->table_name, trx, FALSE); is invoked in
  row_create_index_for_mysql() when the index object is freed so copy the
  table name to a safe place beforehand and use the copy.

  Fix Bug#36434 ha_innodb.so is installed in the wrong directory
  Change pkglib_LTLIBRARIES with pkgplugin_LTLIBRARIES which has been
  forgotten in this commit: http://lists.mysql.com/commits/40206
2008-05-10 11:55:53 -06:00
tsmith@ramayana.hindu.god
6265518976 Bug #34297: MySQL Server crashes when processing large table
Remove optimizations on innobase/mem/* to avoid apparent compiler bug which
causes memory overruns.  See also bug 19424, and probably bug 36366.

This is done in 5.1+; 5.0 already has this workaround in place.
2008-05-09 00:38:17 -06:00
joerg@debian.(none)
e39ceb99fc Merge debian.(none):/MySQL/M51/mysql-5.1
into  debian.(none):/MySQL/M51/push-5.1
2008-03-28 17:07:56 +02:00
tnurnberg@white.intern.koehntopp.de
a3df2a4cf4 Merge mysql.com:/misc/mysql/mysql-5.1
into  mysql.com:/misc/mysql/mysql-5.1-opt
2008-03-27 23:34:12 +01:00
df@pippilotta.erinye.com
87f5261039 apply snapshot innodb-5.1-ss2387
------------------------------------------------------------------------
r2361 | sunny | 2008-03-12 09:08:09 +0200 (Wed, 12 Mar 2008) | 3 lines
Changed paths:
   M /branches/5.1/include/srv0srv.h
   M /branches/5.1/os/os0file.c
   M /branches/5.1/srv/srv0srv.c
   M /branches/5.1/srv/srv0start.c

branches/5.1: Remove the innodb_flush_method fdatasync option since it was
not being used and there was a potential it could mislead users.

------------------------------------------------------------------------
r2367 | marko | 2008-03-17 10:23:03 +0200 (Mon, 17 Mar 2008) | 5 lines
Changed paths:
   M /branches/5.1/handler/ha_innodb.cc

branches/5.1: ha_innobase::check_if_incompatible_data(): Check
HA_CREATE_USED_ROW_FORMAT before comparing row_type.  Previously,
the comparison was incorrectly guarded by the presence of an
AUTO_INCREMENT attribute.

------------------------------------------------------------------------
r2374 | vasil | 2008-03-18 09:35:30 +0200 (Tue, 18 Mar 2008) | 11 lines
Changed paths:
   M /branches/5.1/dict/dict0dict.c
   A /branches/5.1/mysql-test/innodb_bug35220.result
   A /branches/5.1/mysql-test/innodb_bug35220.test

branches/5.1:

Fix Bug#35220 ALTER TABLE too picky on reserved word "foreign".

In ALTER TABLE, change the internal parser to search for
``FOREIGN[[:space:]]'' instead of only ``FOREIGN'' when parsing
ALTER TABLE ... DROP FOREIGN KEY ...; otherwise it could be mistaken
with ALTER TABLE ... DROP foreign_col;

Approved by:    Heikki

------------------------------------------------------------------------
r2379 | vasil | 2008-03-19 18:48:00 +0200 (Wed, 19 Mar 2008) | 10 lines
Changed paths:
   M /branches/5.1/os/os0file.c

branches/5.1:

Fix Bug#34823:
fsync() occasionally returns ENOLCK and causes InnoDB to restart mysqld

Create a wrapper to fsync(2) that retries the operation if the error is
ENOLCK. Use that wrapper instead of fsync(2).

Approved by:    Heikki

------------------------------------------------------------------------
r2380 | sunny | 2008-03-21 05:03:56 +0200 (Fri, 21 Mar 2008) | 9 lines
Changed paths:
   M /branches/5.1/include/trx0undo.h
   M /branches/5.1/trx/trx0trx.c
   M /branches/5.1/trx/trx0undo.c

branches/5.1: Fix for Bug# 35352. We've added a heuristic that checks
the size of the UNDO slots cache lists (insert and upate). If either of
cached lists has more than 500 entries then we add any UNDO slots that are
freed, to the common free list instead of the cache list, this is to avoid
the case where all the free slots end up in only one of the lists on startup
after a crash.

Tested with test case for 26590 and passes all mysql-test(s).

------------------------------------------------------------------------
r2383 | vasil | 2008-03-26 09:35:22 +0200 (Wed, 26 Mar 2008) | 4 lines
Changed paths:
   M /branches/5.1/include/row0mysql.h

branches/5.1:

Fix typo in comment.

------------------------------------------------------------------------
r2384 | vasil | 2008-03-26 18:26:54 +0200 (Wed, 26 Mar 2008) | 20 lines
Changed paths:
   A /branches/5.1/mysql-test/innodb_bug34300.result
   A /branches/5.1/mysql-test/innodb_bug34300.test
   M /branches/5.1/row/row0sel.c

branches/5.1:

Fix Bug#34300 Tinyblob & tinytext fields currupted after export/import and alter in 5.1

Copy the BLOB fields, that are stored internally, to a safe place
(prebuilt->blob_heap) when converting a row from InnoDB format to
MySQL format in row_sel_store_mysql_rec().

The bug was introduced in:

 ------------------------------------------------------------------------
 r587 | osku | 2006-05-23 15:35:58 +0300 (Tue, 23 May 2006) | 3 lines

 Optimize BLOB selects by using prebuilt->blob_heap directly instead of first
 reading BLOB data to a temporary heap and then copying it to
 prebuilt->blob_heap.
 ------------------------------------------------------------------------

Approved by:    Heikki

------------------------------------------------------------------------
r2386 | vasil | 2008-03-27 07:45:02 +0200 (Thu, 27 Mar 2008) | 22 lines
Changed paths:
   M /branches/5.1/mysql-test/innodb.result

branches/5.1:

Merge change from MySQL (this fixes the failing innodb test):

ChangeSet@1.1810.3601.4, 2008-02-07 02:33:21+04:00, gshchepa@host.loc +9 -0
  Fixed bug#30059.
  Server handles truncation for assignment of too-long values
  into CHAR/VARCHAR/TEXT columns in a different ways when the
  truncated characters are spaces:
  1. CHAR(N) columns silently ignore end-space truncation;
  2. TEXT columns post a truncation warning/error in the
     non-strict/strict mode.
  3. VARCHAR columns always post a truncation note in
     any mode.

  Space truncation processing has been synchronised over
  CHAR/VARCHAR/TEXT columns: current behavior of VARCHAR
  columns has been propagated as standard.

  Binary-encoded string/BLOB columns are not affected.


------------------------------------------------------------------------
r2387 | vasil | 2008-03-27 08:49:05 +0200 (Thu, 27 Mar 2008) | 8 lines
Changed paths:
   M /branches/5.1/row/row0sel.c

branches/5.1:

Check whether *trx->mysql_query_str is != NULL in addition to
trx->mysql_query_str. This adds more safety.

This may or may not fix Bug#35226 RBR event crashes slave.


------------------------------------------------------------------------
2008-03-27 15:13:10 +01:00
tsmith@rhel5-ia64-a.mysql.com
2ff69e74a4 Merge rhel5-ia64-a.mysql.com:/data0/tsmith/51
into  rhel5-ia64-a.mysql.com:/data0/tsmith/build/51
2008-03-27 08:41:25 +01:00