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
unknown 1991a87d83 Fixed bug#16716: subselect in concat() may lead to a wrong result.
The Item_func_concat::val_str() function tries to make as less re-allocations
as possible. This results in appending strings returned by 2nd and next
arguments to the string returned by 1st argument if the buffer for the first
argument has enough free space. A constant subselect is evaluated only once 
and its result is stored in an Item_cache_str. In the case when the first
argument of the concat() function is such a subselect Item_cache_str returns
the stored value and Item_func_concat::val_str() append values of other
arguments to it. But for the next row the value in the Item_cache_str isn't
restored because the subselect is a constant one and it isn't evaluated second
time. This results in appending string values of 2nd and next arguments to the 
result of the previous Item_func_concat::val_str() call.

The Item_func_concat::val_str() function now checks whether the first argument 
is a constant one and if so it doesn't append values of 2nd and next arguments
to the string value returned by it.


mysql-test/t/func_concat.test:
  Added test case for bug#16716: subselect in concat() may lead to a wrong result.
mysql-test/r/func_concat.result:
  Added test case for bug#16716: subselect in concat() may lead to a wrong result.
sql/item_strfunc.cc:
  Fixed bug#16716: subselect in concat() may lead to a wrong result.
  The Item_func_concat::val_str() function now checks whether the first argument 
  is a constant one and if so it doesn't append values of 2nd and next arguments
  to the string value returned by it.
2006-05-26 01:24:14 +04:00
bdb Fix calls to memset() with arguments out of order. (Bug #9323) 2005-03-22 16:00:02 -08:00
BitKeeper Merge mysql.com:/space/my/mysql-4.0 2005-12-07 06:46:43 +01:00
BUILD Merge 2005-12-18 14:55:05 +01:00
client Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1 2006-05-24 10:08:26 +02:00
cmd-line-utils Makefile.am, configure.in: 2005-09-24 15:51:45 +02:00
dbug Makefile.am: 2005-07-05 23:24:48 +02:00
Docs .del-changelog-4.1.xml~8aa496ebed09d868: 2006-05-04 16:16:18 -05:00
extra Merge mysql.com:/M40/push-4.0 into mysql.com:/M41/merge-4.1 2006-01-13 17:45:01 +01:00
heap Bug #12796: Record lost in HEAP table 2005-11-08 00:26:37 -05:00
include Bug#15869 Cannot shutdown the server - it restarts 2006-05-19 13:07:24 +02:00
innobase Applied innodb-4.1-ss29 snapshot. 2006-05-15 17:25:37 +04:00
isam Merge a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-4.0 2005-12-04 15:34:47 +02:00
libmysql libmysql.c: 2006-04-06 11:47:46 +05:00
libmysql_r Makefile.am, configure.in: 2005-09-24 15:51:45 +02:00
libmysqld Merge mysql.com:/home/mydev/mysql-4.1 2005-12-27 10:36:19 +01:00
man - Removed obsolete and outdated man page files from the man 2005-10-27 14:51:58 +02:00
merge Makefile.am: 2005-07-05 23:24:48 +02:00
myisam Merge mysql.com:/home/mydev/mysql-4.0-bug10405 2006-04-29 19:38:41 +02:00
myisammrg Added more tests for new UPDATE ... ORDER BY ... LIMIT optimization 2005-10-25 02:27:40 +03:00
mysql-test Fixed bug#16716: subselect in concat() may lead to a wrong result. 2006-05-26 01:24:14 +04:00
mysys Bug#15328 Segmentation fault occured if my.cnf is invalid for escape sequence 2006-05-11 14:13:14 +02:00
ndb Merge poseidon.ndb.mysql.com:/home/tomas/mysql-4.1 2006-05-17 00:23:55 +02:00
netware Merge mysql.com:/Users/kent/mysql/bk/mysql-4.0 2006-04-03 03:40:54 +02:00
os2 Many files: 2005-09-29 02:08:24 +02:00
pstack Makefile.am, configure.in: 2005-09-24 15:51:45 +02:00
regex Many files: 2005-09-29 02:08:24 +02:00
scripts Merge mysql.com:/Users/kent/mysql/bk/mysql-4.0 2006-04-03 03:40:54 +02:00
sql Fixed bug#16716: subselect in concat() may lead to a wrong result. 2006-05-26 01:24:14 +04:00
sql-bench Makefile.am, configure.in: 2005-09-24 15:51:45 +02:00
sql-common Fixed BUG #12440: "Incorrect processing of time values containing 2005-12-15 18:48:08 +03:00
SSL Added missing SSL library (Should be in source distribution) 2003-11-28 12:18:13 +02:00
strings conf_to_src.c: 2006-04-06 10:17:01 +05:00
support-files Merge 2006-05-20 23:36:17 +02:00
tests Cleanup during review of new pushed code 2006-03-30 03:11:37 +03:00
tools Makefile.am: 2005-07-05 23:24:48 +02:00
VC++Files vcproj files: 2006-04-01 02:14:54 +02:00
vio Fix for bug#14221 SSL support breaks going from OpenSSL 0.9.7i to 0.9.8a 2005-11-29 12:15:48 +04:00
zlib Makefile.am: 2005-12-15 02:11:21 -03:00
.bzrignore BUG#3074: Unversioned symbols in shared library 2006-01-17 18:51:08 +04:00
.cvsignore Import changeset 2000-07-31 21:29:14 +02:00
acinclude.m4 Bug#18818 configure: No longer finds OpenSSL on Mac OS X 2006-05-12 11:18:06 +02:00
config.guess - updated config.guess, config.sub and ltmain.sh with versions from libtool 2004-02-06 00:58:15 +01:00
config.sub - updated config.guess, config.sub and ltmain.sh with versions from libtool 2004-02-06 00:58:15 +01:00
configure.in configure.in: 2006-05-24 12:30:34 +02:00
COPYING - manual.texi will be replaced with a manual written in DocBook/XML. This ChangeSet removes all 2005-04-13 11:51:38 +02:00
depcomp - Applied required modifications for automake 1.5 2002-10-01 21:57:10 +02:00
install-sh install-sh: copy not move like any reasonably modern install does 2004-07-30 18:53:54 +02:00
ltconfig libtool tweaks 2004-02-17 21:46:40 +01:00
ltmain.sh Merge with 4.0 for 4.1 release 2004-10-06 19:14:33 +03:00
Makefile.am Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1 2005-11-04 01:15:35 +01:00
missing - Applied required modifications for automake 1.5 2002-10-01 21:57:10 +02:00
mkinstalldirs Import changeset 2000-07-31 21:29:14 +02:00
README README: 2006-04-01 04:13:33 +02:00

This is a release of MySQL, a dual-license SQL database server.
MySQL is brought to you by the MySQL team at MySQL AB.

License information can be found in these files:
- For GPL (free) distributions, see the COPYING file.
- For commercial distributions, see the MySQLEULA.txt file.


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 manual sections of special interest:

- If you are migrating from an older version of MySQL, please read the
  "Upgrading from..." section first!
- To see what MySQL can do, take a look at the features section.
- For installation instructions, see the Installation chapter.
- For future plans, see the TODO appendix.
- For the new features/bugfix history, see the News appendix.
- For the currently known bugs/misfeatures (known errors) see the problems
  appendix.
- For a list of developers and other contributors, see the Credits
  appendix.

A local copy of the MySQL Reference Manual can be found in the Docs
directory in GNU Info format.  You can also browse the manual online or
download it in any of several formats at the URL given earlier in this
file.

************************************************************

IMPORTANT:

Bug or error reports should be sent to http://bugs.mysql.com.