MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry.
Find a file
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
.bzr-mysql merge 2010-12-17 14:47:33 +02:00
BUILD Add --with-debug=full support to BUILD/* scripts, this option has been lost 2011-05-06 11:20:01 +02:00
client BUG#12354268 2011-05-06 00:55:44 +01:00
cmake Merge of fix for bug#11757855 from mysql-5.1 -> mysql-5.5. 2011-04-30 10:54:38 +05:30
cmd-line-utils Merge of fix for bug#11757855 from mysql-5.1 -> mysql-5.5. 2011-04-30 10:54:38 +05:30
dbug Remove configuration preprocessor symbols 'THREAD' 2011-01-11 10:07:37 +01:00
Docs WL#5665: Removal of the autotools-based build system 2010-11-20 12:47:50 -02:00
extra BUG#11762616: BUG#55229: 'POSTION' 2011-05-06 00:50:31 +01:00
include Patch for Bug#12374486 - SEVERE MEMORY LEAK IN PREPARED STATEMENTS 2011-05-06 17:39:20 +04:00
libmysql Patch for Bug#12374486 - SEVERE MEMORY LEAK IN PREPARED STATEMENTS 2011-05-06 17:39:20 +04:00
libmysqld Merge 2010-12-29 01:26:31 +01:00
libservices WL#5665: Removal of the autotools-based build system 2010-11-20 12:47:50 -02:00
man Merge 2010-12-29 00:47:05 +01:00
mysql-test Patch for Bug#12362125 (SP INOUT HANDLING IS BROKEN FOR TEXT TYPE). 2011-05-09 12:29:23 +04:00
mysys Remove some leftovers from the removal of the gethostbyname wrappers. 2011-04-13 16:05:26 -03:00
packaging/WiX merge mysql-5.5->mysql-5.5-bugteam 2010-12-16 18:44:17 +02:00
plugin Automerged (cherrypicked) cset from 5.6: 2011-05-04 14:07:59 +01:00
regex Merge from mysql-5.1 for bug#58026. 2011-02-04 10:59:55 +06:00
scripts merge mysql-5.1-security->mysql-5.5-security 2011-04-07 13:57:32 +03:00
sql Patch for Bug#12362125 (SP INOUT HANDLING IS BROKEN FOR TEXT TYPE). 2011-05-09 12:29:23 +04:00
sql-bench WL#5665: Removal of the autotools-based build system 2010-11-20 12:47:50 -02:00
sql-common Addendum to the fix for bug #12325444 2011-04-29 11:33:17 +03:00
storage Merge from mysql-5.5.12-release 2011-05-06 10:27:04 +02:00
strings Bug #11792200 - DIVIDING LARGE NUMBERS CAUSES STACK CORRUPTIONS 2011-03-03 15:25:41 +01:00
support-files Merge bug fix 42969 into main 5.5 branch. 2011-02-14 15:53:51 +01:00
tests A patch for Bug#11763413 (56115: SELECT doesn't work in 2011-03-22 14:48:56 +03:00
unittest Fix non-portable test of %p in unit test my_vsnprintf 2011-03-02 10:16:34 +01:00
vio BUG#11762616: BUG#55229: 'POSTION' 2011-05-06 00:50:31 +01:00
win Removed the obsolete windows build files 2011-03-28 16:32:53 +03:00
zlib WL#5665: Removal of the autotools-based build system 2010-11-20 12:47:50 -02:00
.bzrignore Manual merge from 5.1 2011-04-20 19:53:08 +02:00
BUILD-CMAKE Fix typos : 2010-01-25 15:14:42 +01:00
CMakeLists.txt fixing 38697/11749301 2011-03-21 20:23:39 +01:00
config.h.cmake Merge of fix for bug#11757855 from mysql-5.1 -> mysql-5.5. 2011-04-30 10:54:38 +05:30
configure.cmake Merge of fix for bug#11757855 from mysql-5.1 -> mysql-5.5. 2011-04-30 10:54:38 +05:30
COPYING Use a new version of "COPYING", the GPL text. 2010-03-04 14:26:27 +01:00
INSTALL-SOURCE ReadMe.txt, INSTALL-WIN-SOURCE, INSTALL-BINARY, INSTALL-SOURCE: 2007-11-23 10:15:55 +01:00
INSTALL-WIN-SOURCE ReadMe.txt, INSTALL-WIN-SOURCE, INSTALL-BINARY, INSTALL-SOURCE: 2007-11-23 10:15:55 +01:00
README Removed the "Third-Party Component Notices" part from README 2011-03-16 23:11:25 +01:00
VERSION Merge from mysql-5.1 (bump the version). 2011-04-11 13:49:05 +04:00

MySQL Server 5.5

This is a release of MySQL, a dual-license SQL database server.
For the avoidance of doubt, this particular copy of the software 
is released under the version 2 of the GNU General Public License. 
MySQL is brought to you by Oracle.

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

License information can be found in the COPYING file.

MySQL FOSS License Exception
We want free and open source software applications under certain
licenses to be able to use specified GPL-licensed MySQL client
libraries despite the fact that not all such FOSS licenses are
compatible with version 2 of the GNU General Public License.  
Therefore there are special exceptions to the terms and conditions 
of the GPLv2 as applied to these client libraries, which are 
identified and described in more detail in the FOSS License 
Exception at 
<http://www.mysql.com/about/legal/licensing/foss-exception.html>.

This distribution may include materials developed by third
parties. For license and attribution notices for these
materials, please refer to the documentation that accompanies
this distribution (see the "Licenses for Third-Party Components"
appendix) or view the online documentation at 
<http://dev.mysql.com/doc/>.

GPLv2 Disclaimer
For the avoidance of doubt, except that if any license choice
other than GPL or LGPL is available it will apply instead, 
Oracle elects to use only the General Public License version 2 
(GPLv2) at this time for any software where a choice of GPL 
license versions is made available with the language indicating 
that GPLv2 or any later version may be used, or where a choice 
of which version of the GPL is applied is otherwise unspecified.

For further information about MySQL or additional documentation, 
see:
- The latest information about MySQL: http://www.mysql.com
- The current MySQL documentation: http://dev.mysql.com/doc

Some Reference Manual sections of special interest:
- If you are migrating from an older version of MySQL, please 
  read the "Upgrading from..." section.
- To see what MySQL can do, take a look at the features section.
- For installation instructions, see the Installing and Upgrading
  chapter.
- For the new features/bugfix history, see the MySQL Change History 
  appendix.

You can browse the MySQL Reference Manual online or download it 
in any of several formats at the URL given earlier in this file.
Source distributions include a local copy of the manual in the
Docs directory.