Commit graph

3411 commits

Author SHA1 Message Date
Mikael Ronstrom
9cfd7a006d Merged in 5.1.35 2009-07-01 14:36:40 +02:00
Mikael Ronstrom
0695c5a71b Preparation for using CMake for more than Windows by only checking for WIN_ATOMICS32/64 on Windows 2009-07-01 14:25:30 +02:00
Satya B
c63b224290 merge to 5.1-bugteam 2009-07-01 11:07:02 +05:30
Satya B
2e3982b4cf Fix build failure after applying Innodb snapshot 5.1-ss5282
After applying Innodb snapshot 5.1-ss5282, build was broken
because of missing header file. 

Adding the header file to Makefile.am after informing the 
innodb developers.
2009-07-01 11:06:05 +05:30
Davi Arnaut
6b15ecd335 Post-merge fix for Innodb snapshot.
Add new header to Makefile.am so it gets bundled.
2009-06-30 15:29:10 -03:00
Staale Smedseng
db1591a7a2 Merge from 5.0 2009-06-29 16:00:47 +02:00
Satya B
3766e560f0 merge to mysql-5.1-bugteam 2009-06-29 18:33:11 +05:30
V Narayanan
ccb1183887 Bug#45196 Some collations do not sort correctly with IBMDB2I
Some collations--including cp1250_czech_cs,latin2_czech_cs,
ucs2/utf8_czech_ci, ucs2/utf8_danish_ci--are not being
sorted correctly by the IBMDB2I storage engine. This
was being caused because the sort order used by DB2 is
incompatible with the order expected by MySQL.

This patch removes support for the cp1250_czech_cs and
latin2_czech_cs collations because it has been determined
that the sort order used by DB2 is incompatible with the
order expected by MySQL. Users needing a czech collation
with IBMDB2I are encouraged to use a Unicode-based collation 
instead of these single-byte collations. This patch also
modifies the DB2 sort sequence used for ucs2/utf8_czech_ci
and ucs2/utf8_danish_ci collations to better match the
sorting expected by MySQL. This will only affect indexes
or tables that are newly created through the IBMDB2I storage
engine. Existing IBMDB2I tables will retain the old sort
sequence until recreated.
2009-06-29 07:32:17 +05:30
Sergey Vojtovich
b016051e32 Fixed InnoDB plugin compilation failure from source distribution
on Windows.

Added missing file to a source distribution.
2009-06-25 19:16:40 +05:00
MySQL Build Team
2d7e485cf6 Merge from mysql-5.4.1-release (first part only) 2009-06-24 01:15:01 +02:00
Satya B
2c6d342149 Applying InnoDB snashot 5.1-ss5343, Fixes BUG#45357
1. BUG#45357 - 5.1.35 crashes with Failing assertion: index->type & DICT_CLUSTERED

2. Also fixes the compilation problem when the flag -DUNIV_MUST_NOT_INLINE

Detailed revision comments:

r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines
branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown,
refuse to unlock the record.
(Bug #45357, caused by the fix of Bug #39320).
rb://132 approved by Sunny Bains.
r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines
branches/5.1: Add missing #include "mtr0log.h" so that the code compiles
with -DUNIV_MUST_NOT_INLINE.
2009-06-22 16:58:00 +05:30
Sergey Vojtovich
88b2fe2f56 Fixed build failures. 2009-06-18 13:49:44 +05:00
Mikael Ronstrom
ba9c2f9fc7 Removed debug comments on Windows CMake fixes 2009-06-17 19:16:49 +02:00
Staale Smedseng
c429fac63c Merge from 5.0-bugteam 2009-06-17 16:56:44 +02:00
Vladislav Vaintroub
6a1e289f37 merge 2009-06-17 16:32:16 +02:00
Vladislav Vaintroub
be7c2fa141 Fixed type defintion for os_thread_id_t on 64 bit Windows.
It used to be declared as ulint, which is 32/64 bit integer depending on OS bitness.
However this declaration lead to problems with os_compare_and_swap_thread_id 
implementation which operated on 32 bit integers (InterlockedCompareExchange)

Using 64 bit int   lead to  wrong result in os_compare_and_swap_thread_id 
and to crash/assertion in  rw_lock_set_writer_id_and_recursion_flag()

The fix is to use 4 byte integer to os_thread_id type definition.
2009-06-17 16:14:08 +02:00
Sergey Vojtovich
392eaea958 When using bundled zlib, INNODB_PLUGIN was looking for
zlib headers in wrong location.

Fixed by using path exported by zlib.m4 macro.
2009-06-17 14:38:41 +05:00
Mikael Ronstrom
492ec62749 First attempt at fixing Windows issues in 5.4.0 2009-06-16 15:16:15 +02:00
Satya B
23bd5c605e Applying InnoDB snashot 5.1-ss5282, Fix for BUG#45097
BUG#45097 - Hang during recovery, redo logs for doublewrite buffer pages 

Detailed revision comments:

r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines
branches/5.1:

Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages

Do not write redo log for the pages in the doublewrite buffer. Also, do not
make a dummy change to the page because this is not needed.

r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines
branches/5.1:

Whitespace fixup.
2009-06-11 18:35:12 +05:30
Satya B
216ce3f253 Applying InnoDB snashot 5.1-ss5282, PRE-Fix for BUG#45097
BUG#45097 - Hang during recovery, redo logs for doublewrite buffer pages 

Detailed revision comments:

r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines
branches/5.1:

Preparation for the fix of
Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages 

Non-functional change: move FSP_* macros from fsp0fsp.h to a new file
fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE 
in mtr0log.ic.

r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines
branches/5.1:

Preparation for the fix of
Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages

Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h
and include fsp0fsp.h just before it is needed. This is needed in order
to be able to use TRX_SYS_SPACE in mtr0log.ic.
2009-06-11 18:21:54 +05:30
Mikael Ronstrom
506c7fd47d Merge MySQL 5.1.35 into MySQL 5.4 2009-06-11 12:07:59 +02:00
Sergey Vojtovich
4adad43f75 Removed legacy name for innodb_plugin SE, so --with[out]-innodb
option doesn't affect innodb_plugin.

Currently it works as following:
* configure without relevant options producing two dynamic plugins
* configure --with-plugin-innodb (or legacy --with-innodb) producing
  static standard InnoDB
* configure --without-plugin-innodb (or legacy --without-innodb)
  disabling standard InnoDB
* configure --with-plugin-innodb_plugin producing dynamic innodb_plugin
* configure --without-plugin-innodb_plugin disabling innodb_plugin
2009-06-10 22:50:00 +05:00
Mikael Ronstrom
4557f4ee9e Fix for BUG#45131 2009-06-10 12:23:02 +02:00
Vladislav Vaintroub
31b79618e3 Backport WL#3653 to 5.1 to enable bundled innodb plugin.
Remove custom DLL loader code from innodb plugin code, use 
symbols exported from mysqld.
2009-06-10 10:59:49 +02:00
Tomas Ulin
8ff151e655 add missing file in Makefile.am 2009-06-09 21:26:04 +02:00
Tatiana A. Nurnberg
e66f753820 auto-merge 2009-06-06 18:05:00 +02:00
Georgi Kodinov
a66fd23980 Bug #45286: compilation warnings on mysql-5.0-bugteam on MacOSX
Merged the 5.0 fix to 5.1 and fixed the 5.1 specific warnings.
2009-06-05 16:44:38 +03:00
Satya B
518e249853 merge from mysql-5.1-innodb_plugin branch.
change tree name to 'mysql-5.1-innodb_plugin'
2009-06-05 17:03:33 +05:30
Tatiana A. Nurnberg
640b7cd6e2 auto-merge 2009-06-05 01:30:08 +02:00
MySQL Build Team
8ad237190a Some portability fixes.
include/Makefile.am: use @PERL@ to call scripts/dheadgen.pl - don't rely on #! /usr/bin/perl
scripts/dheadgen.pl: use 2-arg open() for compatibility with older Perl versions
storage/innobase/srv/srv0srv.c: Don't use C++-style comments in C code
2009-06-04 18:47:38 +02:00
Narayanan V
8880590158 Bug#45197 cp1250 character set with IBMDB2I generates 2027 error
Running a SELECT query over an IBMDB2I table with a cp1250 character set
was producing an error 2027 (ibmdb2i error 2027: Error converting single-byte
sort sequence to UCS-2).

The QMY_DESCRIBE_RANGE API was returning error 2027 to the storage engine
because the CCSID used for a cp1250 column (870) does not match the CCSID
used by the DB2 sort sequences associated with cp1250_* collations (1153).
This was because the storage engine relies on a set of system APIs to
determine which CCSID value most closely matches a particular MySQL
character set. However, in the case of cp1250, the system is returning
CCSID 870, which does not have a codepoint for the euro symbol, making it
an incorrect match.

This patch overrides the selection of a compatible CCSID to always return
1153 for cp1250.
2009-06-01 12:52:10 +05:30
Satya B
a4f69c8951 Compile the Innodb plugin so that it can be installed as dynamic plugin only for now.
The Innodb plugin 1.0.4 can be installed dynamically using the 'INSTALL PLUGIN' syntax

If mysqld is already statically linked with the inbuilt innodb, it is not possible to 
install the innodb plugin 1.0.4 dynamically. Doing so would throw this error - Function
'innodb' already exists.
2009-05-29 18:30:29 +05:30
Narayanan V
5a64492333 Bug#44811 Tests with utf8 charset fail with ibmdb2i on 64bit MySQL
wmemset was being used to fill the row buffers.
wmemset was intended  to  fill the buffer with
16-bit UCS2 pad values.  However,  the  64-bit
version of wmemset uses 32-bit wide characters
and thus filled the buffer incorrectly. In some
cases, the null  byte  map would be overwritten,
causing ctype_utf8.test and ibmdb2i_rir.test to
fail, giving the error message CPF5035.

This patch eliminates the use of wmemset to fill
the row buffer. wmemset has  been  replaced with
memset16, which always  fills  memory with 16-bit
values.
2009-05-29 15:01:00 +05:30
Sergey Glukhov
a6ccad60b4 5.0-bugteam->5.1-bugteam merge 2009-05-27 15:42:19 +05:00
Satya B
1b9fe0bbac Adding innodb_plugin-1.0.4 as storage/innodb_plugin. 2009-05-27 15:15:59 +05:30
Sergey Glukhov
7dc42f175f Bug#43940 64-bit windows myisamchk doesn't support key_buffer_size > 4G
The fix is to allow myisamchk to use >4G key_buffer_size on win64
2009-05-27 13:11:28 +05:00
MySQL Build Team
508084bca6 Pull in the few changes from mysql-5.4.0-release; also a minor portability fix up from mysql-5.1 2009-05-22 21:50:02 +02:00
MySQL Build Team
60cad950c9 Bug #44536: MySQL 5.4 version mismatch in the sources
Update version number; also modify NDB's version.c for compatibility.
2009-05-22 21:05:46 +02:00
Satya B
06c5c3007c merge to 5.1-bugteam tree 2009-05-19 14:01:29 +05:30
Satya B
3ea0fd9d89 Applying InnoDB snashot 5.1-ss5024,part 3. Fixes BUG#42101
BUG#42101 - Race condition in innodb_commit_concurrency

Detailed revision comments:

r4994 | marko | 2009-05-14 15:04:55 +0300 (Thu, 14 May 2009) | 18 lines
branches/5.1: Prevent a race condition in innobase_commit() by ensuring
that innodb_commit_concurrency>0 remains constant at run time. (Bug #42101)

srv_commit_concurrency: Make this a static variable in ha_innodb.cc.

innobase_commit_concurrency_validate(): Check that innodb_commit_concurrency
is not changed from or to 0 at run time.  This is needed, because
innobase_commit() assumes that innodb_commit_concurrency>0 remains constant.
Without this limitation, the checks for innodb_commit_concurrency>0
in innobase_commit() should be removed and that function would have to
acquire and release commit_cond_m at least twice per invocation.
Normally, innodb_commit_concurrency=0, and introducing the mutex operations
would mean significant overhead.

innodb_bug42101.test, innodb_bug42101-nonzero.test: Test cases.

rb://123 approved by Heikki Tuuri
2009-05-19 13:50:28 +05:30
Satya B
be52668735 Applying InnoDB snashot 5.1-ss5024, part 2. Fix for BUG#44320
BUG#44320 - InnoDB: missing DB_ROLL_PTR in Table Monitor COLUMNS output

Detailed revision comments:

r4976 | marko | 2009-05-13 15:44:54 +0300 (Wed, 13 May 2009) | 6 lines
branches/5.1: Display DB_ROLL_PTR in the COLUMNS section of the
innodb_table_monitor output.  It was accidentally omitted due to an
off-by-one loop condition.  (Bug #44320)

rb://116 approved by Heikki Tuuri
2009-05-19 13:26:49 +05:30
Satya B
5db3bfbe33 Applying InnoDB snashot 5.1-ss5024 part 1, Follow up Fix for BUG#43660
Detailed revision comments:

r4705 | vasil | 2009-04-14 14:30:13 +0300 (Tue, 14 Apr 2009) | 7 lines
branches/5.1:

When using the random function, first take the modulus by the number of pages
and then typecast to ulint.

This is a followup to r4699 - the fix of Bug#43660.
2009-05-19 13:22:19 +05:30
Sergey Glukhov
2b373758af 5.0-bugteam->5.1-bugteam merge 2009-05-19 11:48:04 +05:00
Narayanan V
162fa0059d Bug#44856 IBMDB2I gives misleading 2504 error
Occasionally, if both the partition_pruning
and partition_range tests are run sequentially
against the IBMDB2I engine, the partition_range
test will fail.

Compiler padding on a 64-bit build allowed
garbage data in the hash key used for
caching open iconv descriptors. As a
result, cached descriptors were not found,
and multiple duplicate iconv descriptors
were opened for a single character set.
Eventually, the maximum number of open
iconv descriptors was reached, and further
iconv_open() calls would fail, leading the
storage engine to report incorrectly that
the character set was not supported.

This patch widens the 16-bit members of the
hash key to 32 bits to eliminate compiler
padding. The entire length of the hash key
is now initialized correctly on both 32-bit
and 64-bit builds.
2009-05-17 22:50:20 +05:30
Narayanan V
ca3dbc91ed Bug#44610 RCDFMT clause requested when creating DB2 table
In order to better support the usage of
IBMDB2I tables from within RPG programs,
the storage engine should ensure that the
RCDFMT name is consistent and predictable
for DB2 tables.

This patch appends a "RCDFMT <name>"
clause to the CREATE TABLE statement
that is passed to DB2.  <name> is
generated from the original name of
the table itself. This ensures a
consistent and deterministic mapping
from the original table.

For the sake of simplicity only
the alpha-numeric characters are
preserved when generating the new
name, and these are upper-cased;
other characters are replaced with
an underscore (_). Following DB2
system identifier rules, the name
always begins with an alpha-character
and has a maximum of ten characters.
If no usable characters are found in
the table name, the name X is used.
2009-05-17 21:55:23 +05:30
Anurag Shekhar
8c73cafc4c Bug #39802 On Windows, 32-bit time_t should be enforced
This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', 
possible loss of data". 
The fix is to typecast time_t to ulong before assigning it to ulong. 
Backported this from 6.0-bugteam tree.
2009-05-13 15:41:24 +05:30
Jim Winstead
ce33c94849 Merge with 5.1-bugteam. 2009-05-05 10:29:01 -07:00
Narayanan V
5158be8fe7 Bug#44232 Error msg should be improved when collation not supported.
When a user selected an unsupported character set for an
IBMDB2I table, error 2501 or 2511 may have been returned,
giving the appearance of an internal programming error.

This patch consolidates these errors into a single descriptive
error message for the common case of an unsupported character
set.

The new error number is 2504 and indicates a user error.
The errors 2501 and 2511 remain to indicate cases of internal
programming errors.
2009-05-05 15:03:52 +05:30
Sergey Vojtovich
5530867103 Merge to 5.1-bugteam. 2009-04-30 19:41:43 +05:00
Georgi Kodinov
a60ff1e9f5 merged 5.1-main to 5.1-bugteam 2009-04-30 16:42:38 +03:00