Commit graph

69129 commits

Author SHA1 Message Date
Alexander Nozdrin
cbf455cf87 Ignore auto-generated files. 2011-05-11 16:45:57 +04:00
Georgi Kodinov
621dc09548 merge from mysql-5.5 2011-05-11 15:34:15 +03:00
MySQL Build Team
94f424652c Cloning of the 5.5.13 release from Mysql-5.5,
increase the version number by two
2011-05-11 13:40:29 +02:00
Georgi Kodinov
a914a32191 Bug #11744875: 4082: integer lengths cause truncation with distinct concat
and innodb

The 5.5 version of the patch.

The server doesn't restrict the data that can be inserted into integer columns 
with explicitly specified length that's smaller than what the type can handle,
e.g. 1234 can be inserted into an INT(2) column just fine.
Thus, when calcualting the maximum width of expressions involving such 
restricted integer columns we need to use the implicit maximum width of 
the field instead of the explicitly speficied one.
Fixed the server to use the implicit maximum in such cases and made sure 
the implicit maximum is addjusted the same way as the explicit one wrt
signedness.

Fixed several test case results (ctype_*.result, metadata.result and 
type_ranges.result) to reflect the extended column widths.

Added a regression test case in distinct.test.

Note : this is the behavior preserving fix that makes 5.5 behave as 5.1 and 
earlier. In the mysql trunk we'll add a insert time check for the explict 
maximum size.
2011-05-11 14:11:57 +03:00
Georgi Kodinov
2b9c0451f7 weave null merge mysql-5.1->mysql-5.5 2011-05-10 16:24:34 +03:00
Georgi Kodinov
ef2d701c00 weave merge mysql-5.0->mysql-5.1 2011-05-10 16:21:44 +03:00
Serge Kozlov
4dde684315 automerge 5.1->5.5 2011-05-09 23:26:41 +04:00
Alexander Nozdrin
75498ef924 Patch for Bug#12362125 (SP INOUT HANDLING IS BROKEN FOR TEXT TYPE).
Attempts to assign value to a table column from trigger by using
NEW.column_name pseudo-variable might result in garbled data.
That happened when:
  - the column had a BLOB-based type (e.g. TEXT)
    and
  - the value being assigned was retrieved from stored routine variable
    of the same type.

The problem was that BLOB values were not copied correctly in this
case. Instead of doing a copy of a real value, the value's representation
in record buffer was copied. This representation is essentially a
pointer to a buffer associated with the virtual table for routine
variables where the real value is stored. Since this buffer got
freed once trigger was left or could have changed its contents when
new value was assigned to corresponding routine variable such a shallow
copying resulted in garbled data in NEW.colum_name column.

It worked in 5.1 due to a subtle bug in create_virtual_tmp_table():
  - in 5.1 create_virtual_tmp_table() returned a table which
    had db_low_byte_first == false.
  - in 5.5 and up create_virtual_tmp_table() returns a table which
    has db_low_byte_first == true.
Actually, db_low_byte_first == false only for ISAM storage engine,
which was deprecated and removed in 5.0.

Having db_low_byte_first == false led to getting false in the
complex condition for the 2nd "if" in field_conv(), which in turn
led to copy-blob-behavior as a fall-back strategy:
  - to->table->s->db_low_byte_first was true (correct value)
  - from->table->s->db_low_byte_first was false (incorrect value)

In 5.5 and up that condition is true, which means blob-values are
not copied.
2011-05-09 12:29:23 +04:00
Alexander Nozdrin
cd501675d8 Patch for Bug#12374486 - SEVERE MEMORY LEAK IN PREPARED STATEMENTS
THAT CALL STORED PROCEDURES.

The bug was introduced by WL#4435. The problem was that if a stored
procedure generated a few result sets with different set of columns,
a new memory would be allocated after every EXECUTE for every
result set.

The fix is to introduce a new memory root in scope of MYSQL_STMT,
and to store result-set metadata in that memory root.
2011-05-06 17:39:20 +04:00
Alexander Nozdrin
bc4095643b Patch for Bug#11848763 / 60025
(SUBSTRING inside a stored function works too slow).

The user-visible problem was that the server started to consume memory if a
stored-routine of some sort is executed subsequently. The memory was freed
only after the corresponding connection was closed.

Technically, the problem was that the memory needed for temporary string
conversions was allocated on the connection ("persistent") memory root,
instead of statement one.

The root cause of this problem was the incorrect patch for Bug 55744.
That patch wrongly fixed a crash in prepared-statement-mode introduced by
another patch. The patch for Bug 55744 used wrong condition to check if
prepared statement mode is active (or whether the connection-scoped or
statement-scoped memory root should be used). The thing is that for
prepared statements such conversions should be done in the connection
memory root, so that that the transformations of item-tree were correctly
remembered in the PREPARE-phase.

The fix is to use proper condition to detect prepared-statement-mode and
use proper memory root.
2011-05-06 15:41:24 +04:00
Alexander Nozdrin
2593b14ccb Preliminary patch for Bug#11848763 / 60025
(SUBSTRING inside a stored function works too slow).

Background:
  - THD classes derives from Query_arena, thus inherits the 'state'
    attribute and related operations (is_stmt_prepare() & co).

  - Although these operations are available in THD, they must not
    be used. THD has its own attribute to point to the active
    Query_arena -- stmt_arena.

  - So, instead of using thd->is_stmt_prepare(),
    thd->stmt_arena->is_stmt_prepare() must be used. This was the root
    cause of Bug 60025.

This patch enforces the proper way of calling those operations.
is_stmt_prepare() & co are declared as private operations
in THD (thus, they are hidden from being called on THD instance).

The patch tries to minimize changes in 5.5.
2011-05-06 15:39:40 +04:00
Magnus Blåudd
b1ff2e6813 Add --with-debug=full support to BUILD/* scripts, this option has been lost
between 5.1 and 5.5, it's purpose is to set the compiler flags in a way that
does not optimize away the call stack(i.e don't use any -OX flags at all)
2011-05-06 11:20:01 +02:00
Magnus Blåudd
ec425cc5ac Merge in patch for bug 12380149 2011-05-06 10:53:42 +02:00
Sunanda Menon
78e73ec219 Merge from mysql-5.0.93-release 2011-05-06 10:36:30 +02:00
bjorn.munch@oracle.com
f152d4cf05 Merge from mysql-5.5.12-release 2011-05-06 10:27:04 +02:00
Karen Langford
74afcca8f2 Merge from mysql-5.1.57-release 2011-05-06 10:03:02 +02:00
Luis Soares
f8b2499efe BUG#12354268
Automerge from mysql-5.1 into mysql-5.5.
2011-05-06 00:55:44 +01:00
Luis Soares
8cc75b2d1e BUG#12354268
Automerged bzr bundle from bug report:
luis.soares@oracle.com-20110505224815-6ob90n7suxsoizvs.bundle
2011-05-06 00:54:36 +01:00
Luis Soares
6f3e97a6cb BUG#11762616: BUG#55229: 'POSTION'
Manual merge from mysql-5.1 into mysql-5.5.

Conflicts
=========
Text conflict in mysql-test/suite/rpl/t/rpl_row_until.test
Text conflict in sql/handler.h
Text conflict in storage/archive/ha_archive.cc
2011-05-06 00:50:31 +01:00
Luis Soares
ed6aae83c3 BUG#11762616: BUG#55229: 'POSTION'
Fix for all "postion" in Oracle files (s/postion/position). 
Updated the copyright notices where needed.
2011-05-06 00:46:53 +01:00
Luis Soares
9b5ca1b9f4 BUG#12425924
Automerging cset into latest mysql-5.5.
2011-05-06 00:16:20 +01:00
Luis Soares
e367a789d1 BUG#12354268: MYSQLBINLOG --BASE64-OUTPUT=DECODE-ROWS DOES NOT
WORK WITH --START-POSITION
      
If setting --start-position to start after the FD event, mysqlbinlog
will output an error stating that it has not found an FD event.
However, its not that mysqlbinlog does not find it but rather that it
does not processes it in the regular way (i.e., it does not print it).
Given that one is using --base64-output=DECODE-ROWS then not printing
it is actually fine.
      
To fix this, we make mysqlbinlog not to complain when it has not
printed the FD event, is outputing in base64, but is decoding the
rows.
2011-05-05 23:48:15 +01:00
Luis Soares
ca9e2bd6d2 BUG#12425924: SEMI-SYNC RELATED VALGRIND WARNINGS IN 5.5 CODEBASE
There are a couple of valgrind warnings in 5.5 codebase, that
do not exist in 5.6. The root cause was found and fixed in 5.6
codebase before (BUG#11763880 and BUG#11763879), but the patches
were only pushed to 5.6.

To fix it in 5.5, we cherrypicked the csets from 5.6 and merged 
them in 5.5.
2011-05-04 14:54:35 +01:00
Alexander Nozdrin
1ca5e4226d Manual merge from mysql-5.1. 2011-05-04 17:22:38 +04:00
Luis Soares
96a41c47d4 Automerged (cherrypicked) cset from 5.6:
zhenxing.he@sun.com-20101117085902-n9gfvlkmm44t38y0
  
This takes care of valgrind warnings in 5.5 that exhibit
the same trace as in BUG#11763879 (BUG#56649).
2011-05-04 14:09:54 +01:00
Luis Soares
47ef8f3452 Automerged (cherrypicked) cset from 5.6:
zhenxing.he@sun.com-20101202073812-iel8lvhmulyagtsv

This takes care of valgrind warnings in 5.5 that exhibit
the same trace as in BUG#11763880 (BUG#56650).
2011-05-04 14:07:59 +01:00
Alexander Nozdrin
ca6e7781ef Patch for Bug#12394306: the sever may crash if mysql.event is corrupted.
The problem was that wrong structure of mysql.event was not detected and
the server continued to use wrongly-structured data.

The fix is to check the structure of mysql.event after opening before
any use. That makes operations with events more strict -- some operations
that might work before throw errors now. That seems to be Ok.

Another side-effect of the patch is that if mysql.event is corrupted,
unrelated DROP DATABASE statements issue an SQL warning about inability
to open mysql.event table.
2011-05-04 16:59:24 +04:00
MySQL Build Team
0e647bc72d Merge 2011-05-03 16:17:02 +02:00
Kent Boortz
4f666e8e81 Remove soft links in the build directory, not the source directory (Bug#43312) 2011-05-03 16:02:31 +02:00
Sven Sandberg
58ebf89501 Marked test experimental. 2011-05-02 16:38:25 +02:00
Vasil Dimov
1658a9701f Merge mysql-5.1 -> mysql-5.5 (empty) 2011-05-02 12:50:54 +03:00
Vasil Dimov
91e7845562 Merge mysql-5.5-innodb -> mysql-5.5 2011-05-02 12:50:00 +03:00
Vasil Dimov
bc7bf937c5 Merge mysql-5.1-innodb -> mysql-5.1 2011-05-02 12:49:19 +03:00
Bjorn Munch
d72b73a4d6 merge from 5.5-mtr 2011-05-02 11:19:06 +02:00
Nirbhay Choubey
4d323e944e Merge of fix for bug#11757855 from mysql-5.1 -> mysql-5.5. 2011-04-30 10:54:38 +05:30
Davi Arnaut
2b5b3e1ea7 FIONREAD is located in sys/filio.h on Solaris. 2011-04-29 18:48:23 -03:00
Bjorn Munch
04cc554064 Bug #11759877 52223: TEST "PLUGIN_DIR_BASIC" DOES NOT SUPPORT RPM BUILD (TEST) DIRECTORY STRUC
Make a qualified guess: if $basedir/lib does not exist but $basedir/lib64
  does, then the latter is the proper value for $MYSQL_LIBDIR
Tested on the RPMS of 5.5.12.
2011-04-29 15:35:02 +02:00
Bjorn Munch
3f2a18026c Bug #11765749 58745: MTR SPENDS LONG TIME CHECKING FOR WARNINGS
Added code to look for repetitions and only repeat warnings once
Reduced time spent in check-warnings by almost 20% for full test suite
2011-04-29 15:28:52 +02:00
Nirbhay Choubey
39f71a296a Bug#11757855 - 49967: built-in libedit doesn't read
.editrc on linux.

MySQL client when build with libedit support ignores
.editrc at startup.

The reason for this regression was the incluison of a
safety check, issetugid(), which is not available on
some linux platforms.

Fixed by adding an equivalent check for platforms which
have get[e][u|g]id() set of functions.
2011-04-29 18:52:46 +05:30
Bjorn Munch
c17ec079a2 merge from 5.1-mtr 2011-04-29 13:48:57 +02:00
Vasil Dimov
167aa36cde Merge mysql-5.1-innodb -> mysql-5.5-innodb
(empty, the exact same changes are already in 5.5)
2011-04-29 14:07:59 +03:00
Vasil Dimov
2e0e518f39 Sync 5.1 .inc file with 5.5 due to a missing changeset
Add extra codes to wait_until_disconnected.inc that are present in 5.5,
but not in 5.1. The missing codes cause innodb_bug59641 to fail in 5.1 on
Windows PB2 runs. The addition of those codes in 5.5 was done in
luis.soares@sun.com-20090930233215-aup3kxy4j6ltvjfp
2011-04-29 14:04:28 +03:00
Bjorn Munch
a01b2eb70f null upmerge 2011-04-29 11:22:30 +02:00
Bjorn Munch
1157533404 merge from 5.5 main 2011-04-29 11:21:08 +02:00
Bjorn Munch
cc78ab77c9 merge from 5.1 main 2011-04-29 10:55:08 +02:00
Mattias Jonsson
69d687af8b merge 2011-04-29 10:42:17 +02:00
Georgi Kodinov
00c239558e Addendum to the fix for bug #12325444
Removed STDCALL from the function definition.
2011-04-29 11:33:17 +03:00
Mattias Jonsson
68ee960b96 fix of partitioning tests that fails on windows + merge of minor cleanup 2011-04-29 09:56:36 +02:00
Mattias Jonsson
a742526980 merge 2011-04-29 09:54:12 +02:00
Mattias Jonsson
3980482fd0 removed dead obsolete code 2011-04-29 09:48:26 +02:00