Commit graph

62907 commits

Author SHA1 Message Date
Alexander Barkov
e497d6e6e1 Bug#45012 my_like_range_cp932 generates invalid string
Problem: The functions my_like_range_xxx() returned
badly formed maximum strings for Asian character sets,
which made problems for storage engines.

Fix: 
- Removed a number my_like_range_xxx() implementations,
  which were in fact dumplicate code pieces.
- Using generic my_like_range_mb() instead.
- Setting max_sort_char member properly for Asian character sets
- Adding unittest/strings/strings-t.c, 
  to test that my_like_range_xxx() return well-formed 
  min and max strings.

Notes:

- No additional tests in mysql/t/ available.
  Old tests cover the affected code well enough.
2010-07-26 09:06:18 +04:00
Dmitry Shulga
32372a756f Merge 5.1-bugteam -> 5.1-bug-42496 2010-07-23 18:15:56 +07:00
kevin.lewis@oracle.com
11f6e69046 Merge 2010-07-22 11:17:26 -05:00
kevin.lewis@oracle.com
11b0caf1d6 Bug#49542 - Do as the comment suggests and downgrade directory errors from find_file() to a warning unless they happen during a SHOW command. 2010-07-22 11:15:15 -05:00
Georgi Kodinov
142afb1fed merge 2010-07-21 18:36:10 +03:00
Georgi Kodinov
7a2293d192 merge 2010-07-21 18:34:20 +03:00
Georgi Kodinov
f07f225c75 merge 2010-07-21 18:31:28 +03:00
Georgi Kodinov
047d47241c Addendum #4 to bug #53095
SHOW DATABASES LIKE ... was not converting to lowercase on comparison as the
documentation is suggesting. 
Fixed it to behave similarly to SHOW TABLES LIKE ... and updated the failing
on MacOSX lowercase_table2 test case.
2010-07-21 18:05:57 +03:00
Alexey Kopytov
e675e4ab09 Automerge. 2010-07-21 14:14:11 +04:00
Joerg Bruehe
619a19fe52 Merge the version number increase (5.1.49 -> 5.1.50) into the main tree. 2010-07-21 12:09:50 +02:00
Dmitry Shulga
49d327ebf7 Fixed bug #42496 - the server could crash on a debug assert after a failure
to write into a closed socket
2010-07-21 14:56:43 +07:00
Davi Arnaut
c96b249fc3 Bug#45288: pb2 returns a lot of compilation warnings on linux
Fix warnings flagged by the new warning option -Wunused-but-set-variable
that was added to GCC 4.6 and that is enabled by -Wunused and -Wall. The
option causes a warning whenever a local variable is assigned to but is
later unused. It also warns about meaningless pointer dereferences.
2010-07-20 15:07:36 -03:00
Davi Arnaut
d676c3ff0e Bug#52514: mysql 5.1 do_abi_check does not compile w/ gcc4.5
due to GCC preprocessor change
      
The problem is that newer GCC versions treats missing headers
as fatal errors. The solution is to use a guard macro to prevent
the inclusion of system headers when checking the ABI with the
C Preprocessor.

Reference: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15638
           http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44836
2010-07-20 14:44:29 -03:00
Davi Arnaut
17b9155f00 Bug#54453: Failing assertion: trx->active_trans when renaming a
table with active trx

Essentially, the problem is that InnoDB does a implicit commit
when a cursor (table handler) is unlocked/closed, creating
a dissonance between the transaction state within the server
layer and the storage engine layer. Theoretically, a statement
transaction can encompass several table instances in a similar
manner to a multiple statement transaction, hence it does not
make sense to limit a statement transaction to the lifetime of
the table instances (cursors) used within it.

Since this particular instance of the problem is only triggerable
on 5.1 and is masked on 5.5 due 2PC being skipped (assertion is in
the prepare phase of a 2PC), the solution (which is less risky) is
to explicitly end the transaction before the cached table is unlock
on rename table.

The patch is to be null merged into trunk.
2010-07-20 14:36:15 -03:00
Davi Arnaut
13f856f57b Merge of mysql-5.1 into mysql-5.1-bugteam. 2010-07-19 15:34:28 -03:00
Georgi Kodinov
32dcc26b33 fix tree names 2010-07-19 17:47:17 +03:00
MySQL Build Team
f0771195ed 5.1.49 push to mysql-5.1 2010-07-19 16:30:34 +02:00
Jon Olav Hauglid
4b2378a148 Bug #54734 assert in Diagnostics_area::set_ok_status
This assert checks that the server does not try to send OK to the
client if there has been some error during processing. This is done
to make sure that the error is in fact sent to the client.

The problem was that view errors during processing of WHERE conditions
in UPDATE statements where not detected by the update code. It therefore
tried to send OK to the client, triggering the assert.
The bug was only noticeable in debug builds.

This patch fixes the problem by making sure that the update code
checks for errors during condition processing and acts accordingly.
2010-07-19 11:03:52 +02:00
Davi Arnaut
0b83096be5 Bug#48327: Some crashes specific to FreeBSD ("embedded")
Bug#47139: Test "merge" crashes in "embedded" run

Backport patch for Bug#47139
2010-07-16 14:33:35 -03:00
Georgi Kodinov
d4931e4beb Addendum to bug #53814 : test results updates 2010-07-16 16:56:33 +03:00
Ramil Kalimullin
a9b8eb4255 Fix for bug #50667: The InnoDB plugin prevents initialization
of the "embedded" server

Problem: mysqltest_embedded failed to load ha_innodb_plugin library
on some platforms (due to some unresolved references).

Fix: on FreeBSD use -export-dynamic flag building mysqltest_embedded.
That allows to use its global symbols to resolve references in the
dynamically loaded plugin library.
2010-07-16 11:15:22 +04:00
Alexey Kopytov
a42108c291 Backport of the fix for bug#25421 to 5.0.
Calculating the estimated number of records for a range scan
may take a significant time, and it was impossible for a user
to interrupt that process by killing the connection or the
query.

Fixed by checking the thread's 'killed' status in
check_quick_keys() and interrupting the calculation process if
it is set to a non-zero value.
2010-07-15 10:10:16 +04:00
Alexey Kopytov
e59f416691 Bug#55061: Build failing on sol 8 x86 - assembler code vs
compiler problem

GCC-style inline assembly is not supported by the Sun Studio
compilers prior to version 12.

Added a check for the Sun Studio version to avoid using 
_FPU_GETCW() / _FPU_SETCW() when inline assembly is
 unsupported. This can lead to some differences in floating
point calculations on Solaris 8/x86 which, however, is not worth
bothering with Sun-style assembly .il templates.
2010-07-12 18:58:55 +04:00
Mattias Jonsson
6433a55356 merge 2010-07-09 15:00:33 +02:00
Mattias Jonsson
70e490430f merge 2010-07-09 14:59:40 +02:00
Davi Arnaut
147963007b Remove AC_LANG_WERROR, it causes trouble earlier versions
of autoconf and is not strictly needed for now.
2010-07-09 09:51:21 -03:00
karen.langford@oracle.com
8349522bde Fix bug #55039 Failing assertion: space_id > 0 in fil0fil.c. 2010-07-09 14:23:48 +02:00
Georgi Kodinov
5e4fe83272 Addendum #2 to bug #53095 : fixed a bad testcase result. 2010-07-09 15:17:47 +03:00
Davi Arnaut
ed9ffc6b09 Bug#45288: pb2 returns a lot of compilation warnings on linux
Although the C standard mandates that sprintf return the number
of bytes written, some very ancient systems (i.e. SunOS 4)
returned a pointer to the buffer instead. Since these systems
are not supported anymore and are hopefully long dead by now,
simply remove the portability wrapper that dealt with this
discrepancy. The autoconf check was causing trouble with GCC.
2010-07-09 09:00:17 -03:00
Davi Arnaut
4f59204b49 Bug#53445: Build with -Wall and fix warnings that it generates
Introduce a MySQL maintainer/developer mode that enables
a set of warning options for the C/C++ compiler. This mode
is intended to help improve the overall quality of the code.

The warning options are:

C_WARNINGS="-Wall -Wextra -Wunused -Wwrite-strings -Werror"
CXX_WARNINGS="$C_WARNINGS -Wno-unused-parameter"

Since -Wall is essentially a moving target, autoconf checks
are not run with warning options enabled, in particualr -Werror.
This decision might be revisited in the future. The patch also
fixes a mistake in the makefiles, where automake CXXFLAGS would
be set to CFLAGS.
2010-07-09 08:37:51 -03:00
Mattias Jonsson
9414aee225 Bug#52517: Regression in ROW level replication performance with partitions
In bug-28430 HA_PRIMARY_KEY_REQUIRED_FOR_POSITION
was disabled in the partitioning engine in the first patch,
That bug was later fixed a second time, but that flag
was not removed.

No need to disable this flag, as it leads to bad
choise in row replication.
2010-07-09 13:15:26 +02:00
Sergey Glukhov
3c39a56208 Bug#54416 MAX from JOIN with HAVING returning NULL with 5.1 and Empty set
The problem there is that HAVING condition evaluates const
parts of condition despite the condition has references
on aggregate functions. Table t1 became const tables
after make_join_statistics and table1.pk = 1, HAVING is
transformed into MAX(1) < 7 and taken away from HAVING.
The fix is to skip evaluation of HAVING conts parts if
HAVING condition has references on aggregate functions.
2010-07-09 14:39:47 +04:00
Mattias Jonsson
e13405a79f Bug#52455: Subpar INSERT ON DUPLICATE KEY UPDATE performance with many partitions
The handler function for reading one row from a specific index
was not optimized in the partitioning handler since it
used the default implementation.

No test case since it is performance only, verified by hand.
2010-07-09 01:09:31 +02:00
karen.langford@sun.com
1d513a1b04 Null-merge from mysql-5.1.46sp1-release 2010-07-08 20:46:26 +02:00
b440125f1c Postfix bug#48321
Fix the memory leak
2010-07-08 10:44:26 +08:00
sunanda
aff388cd09 rko Mdkeld change, revision 3351.14.134 add innodb_plugin to mysql-test-run default suites
was not complete. Bootstrap failed to pick up necessary files needed by test and hence
all tests failed.
2010-07-07 20:34:50 +02:00
Vasil Dimov
7c6ba7b4de Merge the fix for Bug#49238 from SVN
(without the unrelated whitespace changes):

  ------------------------------------------------------------------------
  r7009 | jyang | 2010-04-29 20:44:56 +0300 (Thu, 29 Apr 2010) | 6 lines
  
  branches/5.0: Port fix for bug #49238 (Creating/Dropping a temporary
  table while at 1023 transactions will cause assert) from 5.1 to
  branches/5.1. Separate action for return value DB_TOO_MANY_CONCURRENT_TRXS
  from that of DB_MUST_GET_MORE_FILE_SPACE in row_drop_table_for_mysql().
  
  
  ------------------------------------------------------------------------
2010-07-07 20:13:53 +03:00
Georgi Kodinov
28004bd592 Addendum to the fix for bug #53095 (failing information_schema.test on windows)
Since the original fix for this bug lowercases the search pattern it's not a 
good idea to copy the search pattern to the output instead of the real table 
name found (since, depending on the case mode these two names may differ in 
case).
Fixed the infrmation_schema.test failure by making sure the actual table 
name of an inoformation schema table is passed instead of the lookup pattern
even when the pattern doesn't contain wildcards.
2010-07-07 12:15:58 +03:00
Davi Arnaut
ebc81cad88 Fix what is probably the result of a bad merge. No functional change. 2010-07-06 19:31:54 -03:00
Davi Arnaut
e087f69dc5 Bug#52514: mysql 5.1 do_abi_check does not compile w/ gcc4.5
due to GCC preprocessor change

Temporary workaround: disable abi_check if GCC >= 4.5
2010-07-06 15:36:31 -03:00
karen.langford@sun.com
8411a720c8 Raise version number after cloning 5.1.49 2010-07-06 16:01:02 +02:00
Davi Arnaut
46a3afb331 Bug#22320: my_atomic-t unit test fails
The atomic operations implementation on 5.1 has a few problems,
which might cause tests to abort randomly. Since no code in 5.1
uses atomic operations, simply remove the code.
2010-07-05 09:00:39 -03:00
Vasil Dimov
0b0c18a09c Merge mysql-5.1-innodb -> mysql-5.1-security
Merge up to sunny.bains@oracle.com-20100625081841-ppulnkjk1qlazh82 .
There are 8 more changesets in mysql-5.1-innodb, but PB2 shows a
failure for a test added in one of them. If that is resolved quickly
then those 8 more changesets will be merged too.
2010-07-04 10:12:44 +03:00
Georgi Kodinov
f01103184f merge 2010-07-02 14:34:17 +03:00
Georgi Kodinov
dc62a7fc66 merge 2010-07-02 14:33:17 +03:00
Georgi Kodinov
a6bc7fed70 merge 2010-07-02 14:31:16 +03:00
Georgi Kodinov
17a3ac2912 merge 2010-07-02 14:29:55 +03:00
Georgi Kodinov
8ea39c7c31 merge 2010-07-02 14:29:19 +03:00
Georgi Kodinov
6d5b440126 merge 2010-07-02 14:25:26 +03:00
Georgi Kodinov
5b7d130a83 merge 2010-07-02 14:23:07 +03:00