merge mysql-5.5->mysql-5.5-bugteam

This commit is contained in:
Georgi Kodinov 2010-12-16 18:44:17 +02:00
commit c6b904abf8
51 changed files with 883 additions and 365 deletions

View File

@ -10,6 +10,7 @@
*.d *.d
*.da *.da
*.dll *.dll
*.dylib
*.exe *.exe
*.exp *.exp
*.gcda *.gcda
@ -611,6 +612,7 @@ include/mysql_version.h
include/mysqld_ername.h include/mysqld_ername.h
include/mysqld_error.h include/mysqld_error.h
include/openssl include/openssl
include/probes_mysql_dtrace.h
include/readline include/readline
include/readline/*.h include/readline/*.h
include/readline/readline.h include/readline/readline.h

444
README
View File

@ -68,7 +68,6 @@ Use of any of this software is governed by the terms of the license below:
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information. # See the License for more information.
#=========================================================================== #===========================================================================
==
# (To distributed this file outside of CMake, substitute the full # (To distributed this file outside of CMake, substitute the full
# License text for the above reference.) # License text for the above reference.)
# #
@ -122,27 +121,30 @@ CMake is distributed under BSD License
All rights reserved. All rights reserved.
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met: modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright notice, * Redistributions of source code must retain the above copyright
this list of conditions and the following disclaimer. notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright * Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the notice, this list of conditions and the following disclaimer in
documentation and/or other materials provided with the distribution. the documentation and/or other materials provided with the
* Neither the name of Kitware, Inc. nor the names of its contributors distribution.
may be used to endorse or promote products derived from this software without * Neither the name of Kitware, Inc. nor the names of its
specific prior written permission. contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY Kitware, Inc. "AS IS" AND ANY EXPRESS OR THIS SOFTWARE IS PROVIDED BY Kitware, Inc. "AS IS" AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
SHALL Kitware Inc. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, DISCLAIMED. IN NO EVENT SHALL Kitware Inc. BE LIABLE FOR ANY DIRECT,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
OF SUCH DAMAGE. IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
Additional License(s) Additional License(s)
@ -186,13 +188,9 @@ cmake-2.4.8/Utilities/cmtar/compat/gethostname.c:
************************************************************************** **************************************************************************
* * Author : Per Foreby, perf@efd.lth.se
Author : Per Foreby, perf@efd.lth.se * Author : Juergen Pfeifer, juergen.pfeifer@gmx.net
*
Author : Juergen Pfeifer, juergen.pfeifer@gmx.net
*
*
************************************************************************** **************************************************************************
---------------------------------------- ----------------------------------------
@ -208,9 +206,8 @@ details.
-------------------------------------------- --------------------------------------------
Skeleton parser for Yacc-like parsing with Bison, Skeleton parser for Yacc-like parsing with Bison,
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software
Software Foundati Foundation, Inc.
on, Inc.
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -253,8 +250,7 @@ cmake-2.4.8/Utilities/cmzlib/zlib.h:
in a product, an acknowledgment in the product documentation would be in a product, an acknowledgment in the product documentation would be
appreciated but is not required. appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must 2. Altered source versions must be plainly marked as such, and must
not be not be misrepresented as being the original software.
misrepresented as being the original software.
3. This notice may not be removed or altered from any source 3. This notice may not be removed or altered from any source
distribution. distribution.
@ -262,26 +258,19 @@ distribution.
---------------------------------------------- ----------------------------------------------
This source code was modified by Martin Hedenfalk This source code was modified by Martin Hedenfalk for use in Curl. His
for latest changes were done 2000-09-18.
use in Curl. His latest changes were done 2000-09-18.
It has since been patched away like a madman by Daniel Stenberg It has since been patched away like a madman by Daniel Stenberg to make it
to make it better applied to curl conditions, and to better applied to curl conditions, and to make it not use globals, pollute
make name space and more. This source code awaits a rewrite to work around the
it not use globals, pollute name space and more. This source code paragraph 2 in the BSD licenses as explained below.
awaits a
rewrite to work around the paragraph 2 in the BSD licenses as explained
below.
Copyright (c) 1995, 1996, 1997, 1998, 1999 Kungliga Tekniska Hgskolan Copyright (c) 1995, 1996, 1997, 1998, 1999 Kungliga Tekniska Hgskolan
It has since been patched and modified a lot by Daniel Stenberg It has since been patched and modified a lot by Daniel Stenberg to make it
to make it better applied to curl conditions, and to better applied to curl conditions, and to make it not use globals, pollute
make name space and more. This source code awaits a rewrite to work around the
it not use globals, pollute name space and more. This source code paragraph 2 in the BSD licenses as explained below.
awaits a
rewrite to work around the paragraph 2 in the BSD licenses as explained
below.
Copyright (c) 1998, 1999 Kungliga Tekniska Hgskolan Copyright (c) 1998, 1999 Kungliga Tekniska Hgskolan
(Royal Institute of Technology, Stockholm, Sweden). (Royal Institute of Technology, Stockholm, Sweden).
@ -304,19 +293,15 @@ awaits a
THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
LIABLE DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CONSEQUENTIAL CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. SUCH DAMAGE.
--------------------------------------------- ---------------------------------------------
@ -332,8 +317,7 @@ STRICT
-------------------------------------------------- --------------------------------------------------
cmake-2.4.8/Utilities/cmcurl/inet_pton.c, cmake-2.4.8/Utilities/cmcurl/inet_pton.c,
cmake-2.4.8/Source/CTest/Curl/inet_pto cmake-2.4.8/Source/CTest/Curl/inet_pton.c:
n.c:
This is from the BIND 4.9.4 release, modified to compile by itself This is from the BIND 4.9.4 release, modified to compile by itself
Copyright (c) 1996 by Internet Software Consortium. Copyright (c) 1996 by Internet Software Consortium.
@ -343,16 +327,13 @@ n.c:
copyright notice and this permission notice appear in all copies. copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
DISCLAIMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
WARRANTIES INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT,
OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS PERFORMANCE OF THIS SOFTWARE.
ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
OF THIS
SOFTWARE.
------------------------------------------------------- -------------------------------------------------------
@ -369,24 +350,19 @@ OF THIS
* notice, this list of conditions and the following disclaimer in the * notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution. * documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote products * 3. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written * derived from this software without specific prior written permission.
permission.
* *
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
PURPOSE * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
CONSEQUENTIAL * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
** SUCH DAMAGE. * SUCH DAMAGE.
--------------------------------------------------- ---------------------------------------------------
@ -441,15 +417,12 @@ ANY WAY
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE. SUCH DAMAGE.
@ -480,59 +453,32 @@ STRICT
*************************************************************************** ***************************************************************************
Copyright (c) 1998 Free Software Foundation, Inc. Copyright (c) 1998 Free Software Foundation, Inc.
*
Copyright (c) 1998,2000 Free Software Foundation, Inc. Copyright (c) 1998,2000 Free Software Foundation, Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
Permission is hereby granted, free of charge, to any person obtaining
a *
copy of this software and associated documentation files (the copy of this software and associated documentation files (the
*
"Software"), to deal in the Software without restriction, including "Software"), to deal in the Software without restriction, including
*
without limitation the rights to use, copy, modify, merge, publish, without limitation the rights to use, copy, modify, merge, publish,
* distribute, distribute with modifications, sublicense, and/or sell copies
distribute, distribute with modifications, sublicense, and/or sell of the Software, and to permit persons to whom the Software is furnished
* to do so, subject to the following conditions:
copies of the Software, and to permit persons to whom the Software is
*
furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
The above copyright notice and this permission notice shall be all copies or substantial portions of the Software.
included *
in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
EXPRESS * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
*
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. *
IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, *
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR USE OR OTHER DEALINGS IN THE SOFTWARE.
*
THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
*
* Except as contained in this notice, the name(s) of the above copyright
Except as contained in this notice, the name(s) of the above holders shall not be used in advertising or otherwise to promote the sale,
copyright * use or other dealings in this Software without prior written
holders shall not be used in advertising or otherwise to promote the
*
sale, use or other dealings in this Software without prior written
*
authorization. authorization.
*
*************************************************************************** ***************************************************************************
------------------------------------------------------ ------------------------------------------------------
@ -551,30 +497,25 @@ copyright *
3. The name of the author may not be used to endorse or promote products 3. The name of the author may not be used to endorse or promote products
derived from this software without specific prior written permission. derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
PURPOSE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
CONSEQUENTIAL SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE. SUCH DAMAGE.
@ -586,7 +527,6 @@ Fred Fish's Dbug Library
Use of any of this software is governed by the terms of the license below: Use of any of this software is governed by the terms of the license below:
*
* N O T I C E * * N O T I C E *
* * * *
* Copyright Abandoned, 1987, Fred Fish * * Copyright Abandoned, 1987, Fred Fish *
@ -610,7 +550,6 @@ Use of any of this software is governed by the terms of the license below:
* The author makes no warranty of any kind with respect to this * * The author makes no warranty of any kind with respect to this *
* product and explicitly disclaims any implied warranties of mer- * * product and explicitly disclaims any implied warranties of mer- *
* chantability or fitness for any particular purpose. * * chantability or fitness for any particular purpose. *
*
*************************************************************************** ***************************************************************************
@ -619,7 +558,6 @@ dbug_analyze.c (part of Fred Fish's Dbug Library)
Use of any of this software is governed by the terms of the license below: Use of any of this software is governed by the terms of the license below:
* *
* Copyright Abandoned, 1987, Fred Fish * * Copyright Abandoned, 1987, Fred Fish *
* * * *
* * * *
@ -640,7 +578,7 @@ Use of any of this software is governed by the terms of the license below:
* * * *
* The author makes no warranty of any kind with respect to this * * The author makes no warranty of any kind with respect to this *
* product and explicitly disclaims any implied warranties of mer- * * product and explicitly disclaims any implied warranties of mer- *
* chantability or fitness for any particular purpose. * chantability or fitness for any particular purpose. *
*************************************************************************** ***************************************************************************
@ -1454,11 +1392,9 @@ text:
Library General Public License for more details. Library General Public License for more details.
You should have received a copy of the GNU Library General Public You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If License along with the GNU C Library; see the file COPYING.LIB. If not,
not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite
write to the Free Software Foundation, Inc., 59 Temple Place - 330, Boston, MA 02111-1307, USA. */
Suite 330,
Boston, MA 02111-1307, USA. */
@ -1549,101 +1485,118 @@ Use of any of this software is governed by the terms of the license below:
Unicode Terms of Use Unicode Terms of Use
For the general privacy policy governing access to this site, see the For the general privacy policy governing access to this site, see the
Unicode Privacy Policy. For trademark usage, see the Unicode Consortium® Unicode Privacy Policy. For trademark usage, see the Unicode
Trademarks and Logo Policy. Consortium (R) Trademarks and Logo Policy.
Notice to End User: Terms of Use Notice to End User: Terms of Use
Carefully read the following legal agreement ("Agreement"). Use or copying Carefully read the following legal agreement ("Agreement"). Use or
of the software and/or codes provided with this agreement (The "Software") copying of the software and/or codes provided with this agreement (The
constitutes your acceptance of these terms "Software") constitutes your acceptance of these terms
1. Unicode Copyright. 1. Unicode Copyright.
1. Copyright © 1991-2008 Unicode, Inc. All rights reserved. 1. Copyright (c) 1991-2008 Unicode, Inc. All rights reserved.
2. Certain documents and files on this website contain a legend 2. Certain documents and files on this website contain a
indicating that "Modification is permitted." Any person is hereby authorized, legend indicating that "Modification is permitted." Any person
without fee, to modify such documents and files to create derivative works is hereby authorized, without fee, to modify such documents
conforming to the Unicode® Standard, subject to Terms and Conditions herein. and files to create derivative works conforming to the
Unicode (R) Standard, subject to Terms and Conditions herein.
3. Any person is hereby authorized, without fee, to view, use, 3. Any person is hereby authorized, without fee, to view, use,
reproduce, and distribute all documents and files solely for informational reproduce, and distribute all documents and files solely for
purposes in the creation of products supporting the Unicode Standard, subject to informational purposes in the creation of products supporting
the Terms and Conditions herein. the Unicode Standard, subject to the Terms and Conditions
4. Further specifications of rights and restrictions pertaining to herein.
the use of the particular set of data files known as the "Unicode Character 4. Further specifications of rights and restrictions
Database" can be found in Exhibit 1. pertaining to the use of the particular set of data files
5. Each version of the Unicode Standard has further specifications known as the "Unicode Character Database" can be found in
of rights and restrictions of use. For the book editions, these are found on the Exhibit 1.
back of the title page. For the online edition, certain files (such as the PDF 5. Each version of the Unicode Standard has further
files for book chapters and code charts) carry specific restrictions. All other specifications of rights and restrictions of use. For the book
files are covered under these general Terms of Use. To request a permission to editions, these are found on the back of the title page. For
reproduce any part of the Unicode Standard, please contact the Unicode Consortium. the online edition, certain files (such as the PDF files for
6. No license is granted to "mirror" the Unicode website where a book chapters and code charts) carry specific restrictions.
fee is charged for access to the "mirror" site. All other files are covered under these general Terms of Use.
7. Modification is not permitted with respect to this document. All To request a permission to reproduce any part of the Unicode
copies of this document must be verbatim. Standard, please contact the Unicode Consortium.
6. No license is granted to "mirror" the Unicode website where
a fee is charged for access to the "mirror" site.
7. Modification is not permitted with respect to this
document. All copies of this document must be verbatim.
2. Restricted Rights Legend. Any technical data or software which is 2. Restricted Rights Legend. Any technical data or software which is
licensed to the United States of America, its agencies and/or instrumentalities licensed to the United States of America, its agencies and/or
under this Agreement is commercial technical data or commercial computer instrumentalities under this Agreement is commercial technical data
software developed exclusively at private expense as defined in FAR 2.101, or or commercial computer software developed exclusively at private
DFARS 252.227-7014 (June 1995), as applicable. For technical data, use, expense as defined in FAR 2.101, or DFARS 252.227-7014 (June 1995),
duplication, or disclosure by the Government is subject to restrictions as set as applicable. For technical data, use, duplication, or disclosure
forth in DFARS 202.227-7015 Technical Data, Commercial and Items (Nov 1995) and by the Government is subject to restrictions as set forth in DFARS
this Agreement. For Software, in accordance with FAR 12-212 or DFARS 227-7202, 202.227-7015 Technical Data, Commercial and Items (Nov 1995) and
as applicable, use, duplication or disclosure by the Government is subject to this Agreement. For Software, in accordance with FAR 12-212 or DFARS
the restrictions set forth in this Agreement. 227-7202, as applicable, use, duplication or disclosure by the
Government is subject to the restrictions set forth in this
Agreement.
3. Warranties and Disclaimers. 3. Warranties and Disclaimers.
1. This publication and/or website may include technical or 1. This publication and/or website may include technical or
typographical errors or other inaccuracies . Changes are periodically added to typographical errors or other inaccuracies . Changes are
the information herein; these changes will be incorporated in new editions of periodically added to the information herein; these changes
the publication and/or website. Unicode may make improvements and/or changes in will be incorporated in new editions of the publication and/or
the product(s) and/or program(s) described in this publication and/or website at website. Unicode may make improvements and/or changes in the
any time. product(s) and/or program(s) described in this publication
2. If this file has been purchased on magnetic or optical media and/or website at any time.
from Unicode, Inc. the sole and exclusive remedy for any claim will be exchange 2. If this file has been purchased on magnetic or optical
of the defective media within ninety (90) days of original purchase. media from Unicode, Inc. the sole and exclusive remedy for any
claim will be exchange of the defective media within ninety
(90) days of original purchase.
3. EXCEPT AS PROVIDED IN SECTION C.2, THIS PUBLICATION AND/OR 3. EXCEPT AS PROVIDED IN SECTION C.2, THIS PUBLICATION AND/OR
SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND EITHER EXPRESS, SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND
IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES OF EITHER EXPRESS, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. UNICODE LIMITED TO, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
AND ITS LICENSORS ASSUME NO RESPONSIBILITY FOR ERRORS OR OMISSIONS IN THIS PARTICULAR PURPOSE, OR NON-INFRINGEMENT. UNICODE AND ITS
PUBLICATION AND/OR SOFTWARE OR OTHER DOCUMENTS WHICH ARE REFERENCED BY OR LINKED LICENSORS ASSUME NO RESPONSIBILITY FOR ERRORS OR OMISSIONS IN
TO THIS PUBLICATION OR THE UNICODE WEBSITE. THIS PUBLICATION AND/OR SOFTWARE OR OTHER DOCUMENTS WHICH ARE
REFERENCED BY OR LINKED TO THIS PUBLICATION OR THE UNICODE
WEBSITE.
4. Waiver of Damages. In no event shall Unicode or its licensors be 4. Waiver of Damages. In no event shall Unicode or its licensors be
liable for any special, incidental, indirect or consequential damages of any liable for any special, incidental, indirect or consequential
kind, or any damages whatsoever, whether or not Unicode was advised of the damages of any kind, or any damages whatsoever, whether or not
possibility of the damage, including, without limitation, those resulting from Unicode was advised of the possibility of the damage, including,
the following: loss of use, data or profits, in connection with the use, without limitation, those resulting from the following: loss of use,
modification or distribution of this information or its derivatives. data or profits, in connection with the use, modification or
distribution of this information or its derivatives.
5. Trademarks. 5. Trademarks.
1. Unicode and the Unicode logo are registered trademarks of 1. Unicode and the Unicode logo are registered trademarks of
Unicode, Inc. Unicode, Inc.
2. This site contains product names and corporate names of other 2. This site contains product names and corporate names of
companies. All product names and company names and logos mentioned herein are other companies. All product names and company names and logos
the trademarks or registered trademarks of their respective owners. Other mentioned herein are the trademarks or registered trademarks
products and corporate names mentioned herein which are trademarks of a third of their respective owners. Other products and corporate names
party are used only for explanation and for the owners' benefit and with no mentioned herein which are trademarks of a third party are
intent to infringe. used only for explanation and for the owners' benefit and with
3. Use of third party products or information referred to herein is no intent to infringe.
at the users risk. 3. Use of third party products or information referred to
herein is at the user's risk.
6. Miscellaneous. 6. Miscellaneous.
1. Jurisdiction and Venue. This server is operated from a location 1. Jurisdiction and Venue. This server is operated from a
in the State of California, United States of America. Unicode makes no location in the State of California, United States of America.
representation that the materials are appropriate for use in other locations. If Unicode makes no representation that the materials are
you access this server from other locations, you are responsible for compliance appropriate for use in other locations. If you access this
with local laws. This Agreement, all use of this site and any claims and damages server from other locations, you are responsible for
resulting from use of this site are governed solely by the laws of the State of compliance with local laws. This Agreement, all use of this
California without regard to any principles which would apply the laws of a site and any claims and damages resulting from use of this
different jurisdiction. The user agrees that any disputes regarding this site site are governed solely by the laws of the State of
shall be resolved solely in the courts located in Santa Clara County, California without regard to any principles which would apply
California. The user agrees said courts have personal jurisdiction and agree to the laws of a different jurisdiction. The user agrees that any
disputes regarding this site shall be resolved solely in the
courts located in Santa Clara County, California. The user
agrees said courts have personal jurisdiction and agree to
waive any right to transfer the dispute to any other forum. waive any right to transfer the dispute to any other forum.
2. Modification by Unicode Unicode shall have the right to modify 2. Modification by Unicode Unicode shall have the right to
this Agreement at any time by posting it to this site. The user may not assign modify this Agreement at any time by posting it to this site.
any part of this Agreement without Unicodes prior written consent. The user may not assign any part of this Agreement without
3. Taxes. The user agrees to pay any taxes arising from access to Unicode's prior written consent.
this website or use of the information herein, except for those based on 3. Taxes. The user agrees to pay any taxes arising from access
Unicodes net income. to this website or use of the information herein, except for
4. Severability. If any provision of this Agreement is declared those based on Unicode's net income.
invalid or unenforceable, the remaining provisions of this Agreement shall 4. Severability. If any provision of this Agreement is
remain in effect. declared invalid or unenforceable, the remaining provisions of
this Agreement shall remain in effect.
5. Entire Agreement. This Agreement constitutes the entire 5. Entire Agreement. This Agreement constitutes the entire
agreement between the parties. agreement between the parties.
@ -1666,7 +1619,7 @@ OR SOFTWARE.
COPYRIGHT AND PERMISSION NOTICE COPYRIGHT AND PERMISSION NOTICE
Copyright © 1991-2008 Unicode, Inc. All rights reserved. Distributed under Copyright (c) 1991-2008 Unicode, Inc. All rights reserved. Distributed under
the Terms of Use in http://www.unicode.org/copyright.html. the Terms of Use in http://www.unicode.org/copyright.html.
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
@ -2295,8 +2248,7 @@ Use of any of this software is governed by the terms of the license below:
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
02111-1307, USA.
*/ */
********************************************************************** **********************************************************************

View File

@ -1,4 +1,4 @@
MYSQL_VERSION_MAJOR=5 MYSQL_VERSION_MAJOR=5
MYSQL_VERSION_MINOR=5 MYSQL_VERSION_MINOR=5
MYSQL_VERSION_PATCH=8 MYSQL_VERSION_PATCH=9
MYSQL_VERSION_EXTRA= MYSQL_VERSION_EXTRA=

View File

@ -26,7 +26,7 @@
# Build as per default RPM layout, with prefix=/usr # Build as per default RPM layout, with prefix=/usr
# #
# DEB # DEB
# Build as per STANDALONE, prefix=/opt/mysql-$major.$minor # Build as per STANDALONE, prefix=/opt/mysql/server-$major.$minor
# #
# SVR4 # SVR4
# Solaris package layout suitable for pkg* tools, prefix=/opt/mysql/mysql # Solaris package layout suitable for pkg* tools, prefix=/opt/mysql/mysql
@ -74,7 +74,7 @@ IF(UNIX)
IF(INSTALL_LAYOUT MATCHES "RPM") IF(INSTALL_LAYOUT MATCHES "RPM")
SET(default_prefix "/usr") SET(default_prefix "/usr")
ELSEIF(INSTALL_LAYOUT MATCHES "DEB") ELSEIF(INSTALL_LAYOUT MATCHES "DEB")
SET(default_prefix "/opt/${MYSQL_BASE_VERSION}") SET(default_prefix "/opt/mysql/server-${MYSQL_BASE_VERSION}")
# This is required to avoid "cpack -GDEB" default of prefix=/usr # This is required to avoid "cpack -GDEB" default of prefix=/usr
SET(CPACK_SET_DESTDIR ON) SET(CPACK_SET_DESTDIR ON)
ELSEIF(INSTALL_LAYOUT MATCHES "SVR4") ELSEIF(INSTALL_LAYOUT MATCHES "SVR4")

View File

@ -9,6 +9,7 @@ funcs_1.myisam_views @solaris # Bug#50595 2010-03-05 alik funcs_1.myi
innodb.innodb_information_schema # Bug#48883 2010-05-11 alik Test "innodb_information_schema" takes fewer locks than expected innodb.innodb_information_schema # Bug#48883 2010-05-11 alik Test "innodb_information_schema" takes fewer locks than expected
main.func_math @freebsd # Bug#43020 2010-05-04 alik main.func_math fails on FreeBSD in PB2 main.func_math @freebsd # Bug#43020 2010-05-04 alik main.func_math fails on FreeBSD in PB2
main.gis # Bug#52208 2010-11-24 alik gis fails on some platforms (Solaris, HP-UX, Linux)
main.gis-rtree @freebsd # Bug#38965 2010-05-04 alik test cases gis-rtree, type_float, type_newdecimal fail in embedded server main.gis-rtree @freebsd # Bug#38965 2010-05-04 alik test cases gis-rtree, type_float, type_newdecimal fail in embedded server
main.information_schema # Bug#47449 2009-09-19 alik main.information_schema and innodb.innodb_information_schema fail sporadically main.information_schema # Bug#47449 2009-09-19 alik main.information_schema and innodb.innodb_information_schema fail sporadically
main.lock_multi_bug38499 # Bug#47448 2009-09-19 alik main.lock_multi_bug38499 times out sporadically main.lock_multi_bug38499 # Bug#47448 2009-09-19 alik main.lock_multi_bug38499 times out sporadically
@ -16,6 +17,7 @@ main.lock_multi_bug38691 @solaris # Bug#47792 2009-10-02 alik main.lock_m
main.log_tables # Bug#47924 2009-10-08 alik main.log_tables times out sporadically main.log_tables # Bug#47924 2009-10-08 alik main.log_tables times out sporadically
main.lowercase_table2 @darwin # Bug#55509 2010-07-26 alik main.lowercase_table2 fails on Mac OSX (again) main.lowercase_table2 @darwin # Bug#55509 2010-07-26 alik main.lowercase_table2 fails on Mac OSX (again)
main.outfile_loaddata @solaris # Bug#46895 2010-01-20 alik Test "outfile_loaddata" fails (reproducible) main.outfile_loaddata @solaris # Bug#46895 2010-01-20 alik Test "outfile_loaddata" fails (reproducible)
main.show_check # Bug#58414 2010-11-24 alik Race condition in show_check.test
main.signal_demo3 @solaris # Bug#47791 2010-01-20 alik Several test cases fail on Solaris with error Thread stack overrun main.signal_demo3 @solaris # Bug#47791 2010-01-20 alik Several test cases fail on Solaris with error Thread stack overrun
main.sp @solaris # Bug#47791 2010-01-20 alik Several test cases fail on Solaris with error Thread stack overrun main.sp @solaris # Bug#47791 2010-01-20 alik Several test cases fail on Solaris with error Thread stack overrun
main.type_float @freebsd # Bug#38965 2010-05-04 alik test cases gis-rtree, type_float, type_newdecimal fail in embedded server main.type_float @freebsd # Bug#38965 2010-05-04 alik test cases gis-rtree, type_float, type_newdecimal fail in embedded server
@ -26,6 +28,7 @@ rpl.rpl_heartbeat_2slaves # BUG#43828 2009-10-22 luis fails spora
rpl.rpl_innodb_bug28430* # Bug#46029 rpl.rpl_innodb_bug28430* # Bug#46029
sys_vars.max_sp_recursion_depth_func @solaris # Bug#47791 2010-01-20 alik Several test cases fail on Solaris with error Thread stack overrun sys_vars.max_sp_recursion_depth_func @solaris # Bug#47791 2010-01-20 alik Several test cases fail on Solaris with error Thread stack overrun
sys_vars.plugin_dir_basic # Bug#52223 2010-11-24 alik Test "plugin_dir_basic" does not support RPM build (test) directory structure
sys_vars.slow_query_log_func @solaris # Bug#54819 2010-06-26 alik sys_vars.slow_query_log_func fails sporadically on Solaris 10 sys_vars.slow_query_log_func @solaris # Bug#54819 2010-06-26 alik sys_vars.slow_query_log_func fails sporadically on Solaris 10
sys_vars.wait_timeout_func # Bug#41255 2010-04-26 alik wait_timeout_func fails sys_vars.wait_timeout_func # Bug#41255 2010-04-26 alik wait_timeout_func fails

View File

@ -1384,7 +1384,7 @@ sub command_line_setup {
# Add the location for libmysqld.dll to the path. # Add the location for libmysqld.dll to the path.
my $separator= ";"; my $separator= ";";
my $lib_mysqld= my $lib_mysqld=
mtr_path_exists(vs_config_dirs('libmysqld','')); mtr_path_exists("$bindir/lib", vs_config_dirs('libmysqld',''));
if ( IS_CYGWIN ) if ( IS_CYGWIN )
{ {
$lib_mysqld= posix_path($lib_mysqld); $lib_mysqld= posix_path($lib_mysqld);

View File

@ -410,6 +410,15 @@ hex(cast(_ascii 0x7f as char(1) character set latin1))
7F 7F
End of 5.0 tests End of 5.0 tests
# #
# Bug#58022 ... like ... escape export_set ( ... ) crashes when export_set returns warnings
#
SELECT '' LIKE '' ESCAPE EXPORT_SET(1, 1, 1, 1, '');
'' LIKE '' ESCAPE EXPORT_SET(1, 1, 1, 1, '')
1
Warnings:
Warning 1292 Truncated incorrect INTEGER value: ''
End of 5.1 tests
#
# Start of 5.5 tests # Start of 5.5 tests
# #
# #

View File

@ -2374,6 +2374,16 @@ hex(convert(_latin1 0xA4A2 using ujis)) hex(c2)
DROP PROCEDURE sp1; DROP PROCEDURE sp1;
DROP TABLE t1; DROP TABLE t1;
DROP TABLE t2; DROP TABLE t2;
#
# Bug#57257 Replace(ExtractValue(...)) causes MySQL crash
#
SET NAMES utf8;
SELECT CONVERT(REPLACE(EXPORT_SET('a','a','a','','a'),'00','') USING ujis);
CONVERT(REPLACE(EXPORT_SET('a','a','a','','a'),'00','') USING ujis)
Warnings:
Warning 1292 Truncated incorrect INTEGER value: 'a'
Warning 1292 Truncated incorrect INTEGER value: 'a'
set names default; set names default;
set character_set_database=default; set character_set_database=default;
set character_set_server=default; set character_set_server=default;

View File

@ -625,16 +625,16 @@ INSERT INTO t1 VALUES (_utf8mb4 0xCE85),(_utf8mb4 0xF4808080);
SELECT HEX(a), HEX(CONVERT(a USING utf8mb4)) FROM t1 ORDER BY a; SELECT HEX(a), HEX(CONVERT(a USING utf8mb4)) FROM t1 ORDER BY a;
HEX(a) HEX(CONVERT(a USING utf8mb4)) HEX(a) HEX(CONVERT(a USING utf8mb4))
0385 CE85 0385 CE85
FF9D EFBE9D
D800DF84 F0908E84 D800DF84 F0908E84
DBC0DC00 F4808080 DBC0DC00 F4808080
FF9D EFBE9D
ALTER TABLE t1 ADD KEY(a); ALTER TABLE t1 ADD KEY(a);
SELECT HEX(a), HEX(CONVERT(a USING utf8mb4)) FROM t1 ORDER BY a; SELECT HEX(a), HEX(CONVERT(a USING utf8mb4)) FROM t1 ORDER BY a;
HEX(a) HEX(CONVERT(a USING utf8mb4)) HEX(a) HEX(CONVERT(a USING utf8mb4))
0385 CE85 0385 CE85
FF9D EFBE9D
D800DF84 F0908E84 D800DF84 F0908E84
DBC0DC00 F4808080 DBC0DC00 F4808080
FF9D EFBE9D
DROP TABLE IF EXISTS t1; DROP TABLE IF EXISTS t1;
select @@collation_connection; select @@collation_connection;
@@collation_connection @@collation_connection

View File

@ -4918,5 +4918,16 @@ maketime(`a`,`a`,`a`)
DROP TABLE t1; DROP TABLE t1;
SET sql_mode=default; SET sql_mode=default;
# #
# Bug#57687 crash when reporting duplicate group_key error and utf8
# Make sure to modify this when Bug#58081 is fixed.
#
SET NAMES utf8;
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (0), (0), (1), (0), (0);
SELECT COUNT(*) FROM t1, t1 t2
GROUP BY INSERT('', t2.a, t1.a, (@@global.max_binlog_size));
ERROR 23000: Duplicate entry '107374182410737418241' for key 'group_key'
DROP TABLE t1;
#
# End of 5.5 tests # End of 5.5 tests
# #

View File

@ -544,3 +544,17 @@ SELECT DATE_FORMAT("2009-01-01",'%W %d %M %Y') as valid_date;
valid_date valid_date
Thursday 01 January 2009 Thursday 01 January 2009
"End of 5.0 tests" "End of 5.0 tests"
#
# Start of 5.1 tests
#
#
# Bug#58005 utf8 + get_format causes failed assertion: !str || str != Ptr'
#
SET NAMES utf8;
SELECT LEAST('%', GET_FORMAT(datetime, 'eur'), CAST(GET_FORMAT(datetime, 'eur') AS CHAR(65535)));
LEAST('%', GET_FORMAT(datetime, 'eur'), CAST(GET_FORMAT(datetime, 'eur') AS CHAR(65535)))
%
SET NAMES latin1;
#
# End of 5.1 tests
#

View File

@ -381,6 +381,15 @@ GREATEST(a, (SELECT b FROM t1 LIMIT 1))
3 3
1 1
DROP TABLE t1; DROP TABLE t1;
SELECT INET_NTOA(0);
INET_NTOA(0)
0.0.0.0
SELECT '1' IN ('1', INET_NTOA(0));
'1' IN ('1', INET_NTOA(0))
1
#
# End of 5.1 tests
#
# #
# Bug #58199: name_const in the having clause crashes # Bug #58199: name_const in the having clause crashes
# #
@ -388,4 +397,9 @@ CREATE TABLE t1 (a INT);
SELECT 1 from t1 HAVING NAME_CONST('', a); SELECT 1 from t1 HAVING NAME_CONST('', a);
ERROR HY000: Incorrect arguments to NAME_CONST ERROR HY000: Incorrect arguments to NAME_CONST
DROP TABLE t1; DROP TABLE t1;
End of tests #
# End of 5.5 tests
#
#
# End of tests
#

View File

@ -738,3 +738,38 @@ SET DEBUG_SYNC= 'now SIGNAL release_thrlock';
# Connection default # Connection default
DROP TABLE t1; DROP TABLE t1;
SET DEBUG_SYNC= 'RESET'; SET DEBUG_SYNC= 'RESET';
#
# Bug#57130 crash in Item_field::print during SHOW CREATE TABLE or VIEW
#
DROP TABLE IF EXISTS t1;
DROP VIEW IF EXISTS v1;
DROP FUNCTION IF EXISTS f1;
CREATE TABLE t1(a INT);
CREATE FUNCTION f1() RETURNS INTEGER RETURN 1;
CREATE VIEW v1 AS SELECT * FROM t1 WHERE f1() = 1;
DROP FUNCTION f1;
# Connection con1
SET DEBUG_SYNC= 'open_tables_after_open_and_process_table SIGNAL opened WAIT_FOR dropped EXECUTE 2';
# Sending:
SHOW CREATE VIEW v1;
# Connection con2
SET DEBUG_SYNC= 'now WAIT_FOR opened';
SET DEBUG_SYNC= 'now SIGNAL dropped';
SET DEBUG_SYNC= 'now WAIT_FOR opened';
# Sending:
FLUSH TABLES;
# Connection default
# Waiting for FLUSH TABLES to be blocked.
SET DEBUG_SYNC= 'now SIGNAL dropped';
# Connection con1
# Reaping: SHOW CREATE VIEW v1
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a` from `t1` where (`f1`() = 1) latin1 latin1_swedish_ci
Warnings:
Warning 1356 View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
# Connection con2
# Reaping: FLUSH TABLES
# Connection default
SET DEBUG_SYNC= 'RESET';
DROP VIEW v1;
DROP TABLE t1;

View File

@ -838,7 +838,7 @@ drop table t1;
mysqltest: At line 1: change user failed: Unknown database 'inexistent' mysqltest: At line 1: change user failed: Unknown database 'inexistent'
mysqltest: At line 1: change user failed: Access denied for user 'inexistent'@'localhost' (using password: NO) mysqltest: At line 1: change user failed: Access denied for user 'inexistent'@'localhost' (using password: NO)
mysqltest: At line 1: change user failed: Access denied for user 'root'@'localhost' (using password: YES) mysqltest: At line 1: change user failed: Access denied for user 'root'@'localhost' (using password: YES)
file1.txt REPLACED_FILE1.txt
file1.txt file1.txt
file2.txt file2.txt
file11.txt file11.txt

View File

@ -1,3 +1,76 @@
call mtr.add_suppression("nnoDB: Error: table `test`.`t1` .* Partition.* InnoDB internal");
#
# Bug#55091: Server crashes on ADD PARTITION after a failed attempt
#
SET @old_innodb_file_format_max = @@global.innodb_file_format_max;
SET @old_innodb_file_format = @@global.innodb_file_format;
SET @old_innodb_file_per_table = @@global.innodb_file_per_table;
SET @old_innodb_strict_mode = @@global.innodb_strict_mode;
SET @@global.innodb_file_format = Barracuda,
@@global.innodb_file_per_table = ON,
@@global.innodb_strict_mode = ON;
# Connection con1
CREATE TABLE t1 (id INT NOT NULL
PRIMARY KEY,
user_num CHAR(10)
) ENGINE = InnoDB
KEY_BLOCK_SIZE=4
PARTITION BY HASH(id) PARTITIONS 1;
t1#P#p0.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`id` int(11) NOT NULL,
`user_num` char(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 KEY_BLOCK_SIZE=4
/*!50100 PARTITION BY HASH (id)
PARTITIONS 1 */
SET GLOBAL innodb_file_per_table = OFF;
# Connection con2
LOCK TABLE t1 WRITE;
# ALTER fails because COMPRESSED/KEY_BLOCK_SIZE
# are incompatible with innodb_file_per_table = OFF;
ALTER TABLE t1 ADD PARTITION PARTITIONS 1;
ERROR HY000: Got error 1478 from storage engine
t1#P#p0.ibd
t1.frm
t1.par
# This SET is not needed to reproduce the bug,
# it is here just to make the test case more realistic
SET innodb_strict_mode = OFF;
ALTER TABLE t1 ADD PARTITION PARTITIONS 2;
Warnings:
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=4.
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=4.
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=4.
t1.frm
t1.par
ALTER TABLE t1 REBUILD PARTITION p0;
Warnings:
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=4.
UNLOCK TABLES;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`id` int(11) NOT NULL,
`user_num` char(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 KEY_BLOCK_SIZE=4
/*!50100 PARTITION BY HASH (id)
PARTITIONS 3 */
DROP TABLE t1;
# Connection default
SET @@global.innodb_strict_mode = @old_innodb_strict_mode;
SET @@global.innodb_file_format = @old_innodb_file_format;
SET @@global.innodb_file_per_table = @old_innodb_file_per_table;
SET @@global.innodb_file_format_max = @old_innodb_file_format_max;
SET NAMES utf8; SET NAMES utf8;
CREATE TABLE `t``\""e` (a INT, PRIMARY KEY (a)) CREATE TABLE `t``\""e` (a INT, PRIMARY KEY (a))
ENGINE=InnoDB ENGINE=InnoDB

View File

@ -150,3 +150,21 @@ Warnings:
Error 1547 Column count of mysql.proc is wrong. Expected 20, found 19. The table is probably corrupted Error 1547 Column count of mysql.proc is wrong. Expected 20, found 19. The table is probably corrupted
# Restore mysql.proc. # Restore mysql.proc.
drop table mysql.proc; drop table mysql.proc;
#
# Bug#58414 mysql_upgrade fails on dump upgrade between 5.1.53 -> 5.5.8
#
DROP TABLE IF EXISTS proc_backup;
DROP DATABASE IF EXISTS db1;
# Backup the proc table
RENAME TABLE mysql.proc TO proc_backup;
CREATE TABLE mysql.proc LIKE proc_backup;
CREATE DATABASE db1;
CREATE PROCEDURE db1.p1() SET @foo = 10;
# Modify a field of the table.
ALTER TABLE mysql.proc MODIFY comment CHAR (32);
DROP DATABASE db1;
Warnings:
Error 1548 Cannot load from mysql.proc. The table is probably corrupted
# Restore mysql.proc
DROP TABLE mysql.proc;
RENAME TABLE proc_backup TO mysql.proc;

View File

@ -78,3 +78,30 @@ COMMIT;
UNLOCK TABLES; UNLOCK TABLES;
DROP TABLE t1; DROP TABLE t1;
SET DEBUG_SYNC='RESET'; SET DEBUG_SYNC='RESET';
#
# Bug#57659 Segfault in Query_cache::invalidate_data for TRUNCATE TABLE
#
# Note that this test case only reproduces the problem
# when it is run with valgrind.
DROP TABLE IF EXISTS t1, m1;
CREATE TABLE t1(a INT) engine=memory;
CREATE TABLE m1(a INT) engine=merge UNION(t1);
# Connection con1
SET DEBUG_SYNC= 'open_tables_after_open_and_process_table SIGNAL opened WAIT_FOR dropped';
# Sending:
TRUNCATE TABLE m1;
# Connection con2
SET DEBUG_SYNC= 'now WAIT_FOR opened';
# Sending:
FLUSH TABLES;
# Connection default
# Waiting for FLUSH TABLES to be blocked.
SET DEBUG_SYNC= 'now SIGNAL dropped';
# Connection con1
# Reaping: TRUNCATE TABLE m1
ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
# Connection con2
# Reaping: FLUSH TABLES
# Connection default
SET DEBUG_SYNC= 'RESET';
DROP TABLE m1, t1;

View File

@ -318,4 +318,12 @@ f1 date YES NULL
f2 date YES NULL f2 date YES NULL
DROP TABLE t1; DROP TABLE t1;
# #
#
# Bug#57278: Crash on min/max + with date out of range.
#
set @a=(select min(makedate('111','1'))) ;
select @a;
@a
0111-01-01
#
End of 6.0 tests End of 6.0 tests

View File

@ -1094,6 +1094,19 @@ Warning 1525 Incorrect XML value: 'parse error at line 1 pos 23: unexpected END-
Warning 1525 Incorrect XML value: 'parse error at line 1 pos 23: unexpected END-OF-INPUT' Warning 1525 Incorrect XML value: 'parse error at line 1 pos 23: unexpected END-OF-INPUT'
DROP TABLE t1; DROP TABLE t1;
# #
# Bug#57257 Replace(ExtractValue(...)) causes MySQL crash
#
SET NAMES utf8;
SELECT REPLACE(EXTRACTVALUE('1', '/a'),'ds','');
REPLACE(EXTRACTVALUE('1', '/a'),'ds','')
#
# Bug #57820 extractvalue crashes
#
SELECT AVG(DISTINCT EXTRACTVALUE((''),('$@k')));
AVG(DISTINCT EXTRACTVALUE((''),('$@k')))
NULL
#
# Bug#57279 updatexml dies with: Assertion failed: str_arg[length] == 0 # Bug#57279 updatexml dies with: Assertion failed: str_arg[length] == 0
# #
SELECT UPDATEXML(NULL, (LPAD(0.1111E-15, '2011', 1)), 1); SELECT UPDATEXML(NULL, (LPAD(0.1111E-15, '2011', 1)), 1);

View File

@ -11,3 +11,4 @@
############################################################################## ##############################################################################
binlog_truncate_innodb : BUG#57291 2010-10-20 anitha Originally disabled due to BUG#42643. Product bug fixed, but test changes needed binlog_truncate_innodb : BUG#57291 2010-10-20 anitha Originally disabled due to BUG#42643. Product bug fixed, but test changes needed
binlog_spurious_ddl_errors : BUG#54195 2010-06-03 alik binlog_spurious_ddl_errors.test fails, thus disabled binlog_spurious_ddl_errors : BUG#54195 2010-06-03 alik binlog_spurious_ddl_errors.test fails, thus disabled
binlog_row_failure_mixing_engines : BUG#58416 2010-11-23 ramil Fails on win x86 debug_max

View File

@ -129,6 +129,14 @@ select hex(cast(_ascii 0x7f as char(1) character set latin1));
--echo End of 5.0 tests --echo End of 5.0 tests
--echo #
--echo # Bug#58022 ... like ... escape export_set ( ... ) crashes when export_set returns warnings
--echo #
SELECT '' LIKE '' ESCAPE EXPORT_SET(1, 1, 1, 1, '');
--echo End of 5.1 tests
--echo # --echo #
--echo # Start of 5.5 tests --echo # Start of 5.5 tests
--echo # --echo #

View File

@ -1209,6 +1209,13 @@ DROP PROCEDURE sp1;
DROP TABLE t1; DROP TABLE t1;
DROP TABLE t2; DROP TABLE t2;
--echo #
--echo # Bug#57257 Replace(ExtractValue(...)) causes MySQL crash
--echo #
SET NAMES utf8;
SELECT CONVERT(REPLACE(EXPORT_SET('a','a','a','','a'),'00','') USING ujis);
set names default; set names default;
set character_set_database=default; set character_set_database=default;
set character_set_server=default; set character_set_server=default;

View File

@ -1458,6 +1458,7 @@ SELECT HEX(INSERT(_utf8 0xD18FD18E, 2, 1, 0x20));
--echo End of 5.1 tests --echo End of 5.1 tests
--echo Start of 5.4 tests --echo Start of 5.4 tests
# #
@ -1537,6 +1538,18 @@ DROP TABLE t1, t2;
SET NAMES utf8; SET NAMES utf8;
--source include/ctype_numconv.inc --source include/ctype_numconv.inc
--echo #
--echo # Bug#57687 crash when reporting duplicate group_key error and utf8
--echo # Make sure to modify this when Bug#58081 is fixed.
--echo #
SET NAMES utf8;
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (0), (0), (1), (0), (0);
--error ER_DUP_ENTRY
SELECT COUNT(*) FROM t1, t1 t2
GROUP BY INSERT('', t2.a, t1.a, (@@global.max_binlog_size));
DROP TABLE t1;
--echo # --echo #
--echo # End of 5.5 tests --echo # End of 5.5 tests

View File

@ -354,3 +354,19 @@ SELECT DATE_FORMAT("0000-02-28",'%W %d %M %Y') as valid_date;
SELECT DATE_FORMAT("2009-01-01",'%W %d %M %Y') as valid_date; SELECT DATE_FORMAT("2009-01-01",'%W %d %M %Y') as valid_date;
--echo "End of 5.0 tests" --echo "End of 5.0 tests"
--echo #
--echo # Start of 5.1 tests
--echo #
--echo #
--echo # Bug#58005 utf8 + get_format causes failed assertion: !str || str != Ptr'
--echo #
SET NAMES utf8;
SELECT LEAST('%', GET_FORMAT(datetime, 'eur'), CAST(GET_FORMAT(datetime, 'eur') AS CHAR(65535)));
SET NAMES latin1;
--echo #
--echo # End of 5.1 tests
--echo #

View File

@ -600,7 +600,7 @@ DROP TABLE t1;
CREATE TABLE t1(f1 VARCHAR(6) NOT NULL, FULLTEXT KEY(f1), UNIQUE(f1)); CREATE TABLE t1(f1 VARCHAR(6) NOT NULL, FULLTEXT KEY(f1), UNIQUE(f1));
INSERT INTO t1 VALUES ('test'); INSERT INTO t1 VALUES ('test');
--disable_warnings
SELECT 1 FROM t1 WHERE 1 > SELECT 1 FROM t1 WHERE 1 >
ALL((SELECT 1 FROM t1 JOIN t1 a ALL((SELECT 1 FROM t1 JOIN t1 a
ON (MATCH(t1.f1) against ("")) ON (MATCH(t1.f1) against (""))
@ -627,6 +627,7 @@ EXECUTE stmt;
EXECUTE stmt; EXECUTE stmt;
DEALLOCATE PREPARE stmt; DEALLOCATE PREPARE stmt;
--enable_warnings
DROP TABLE t1; DROP TABLE t1;

View File

@ -511,6 +511,19 @@ SELECT DISTINCT GREATEST(a, (SELECT b FROM t1 LIMIT 1)) FROM t1 UNION SELECT 1;
DROP TABLE t1; DROP TABLE t1;
#
# Bug #57283: inet_ntoa() crashes
#
SELECT INET_NTOA(0);
SELECT '1' IN ('1', INET_NTOA(0));
--echo #
--echo # End of 5.1 tests
--echo #
--echo # --echo #
--echo # Bug #58199: name_const in the having clause crashes --echo # Bug #58199: name_const in the having clause crashes
--echo # --echo #
@ -523,4 +536,11 @@ SELECT 1 from t1 HAVING NAME_CONST('', a);
DROP TABLE t1; DROP TABLE t1;
--echo End of tests
--echo #
--echo # End of 5.5 tests
--echo #
--echo #
--echo # End of tests
--echo #

View File

@ -1078,6 +1078,65 @@ DROP TABLE t1;
SET DEBUG_SYNC= 'RESET'; SET DEBUG_SYNC= 'RESET';
--echo #
--echo # Bug#57130 crash in Item_field::print during SHOW CREATE TABLE or VIEW
--echo #
--disable_warnings
DROP TABLE IF EXISTS t1;
DROP VIEW IF EXISTS v1;
DROP FUNCTION IF EXISTS f1;
--enable_warnings
CREATE TABLE t1(a INT);
CREATE FUNCTION f1() RETURNS INTEGER RETURN 1;
CREATE VIEW v1 AS SELECT * FROM t1 WHERE f1() = 1;
DROP FUNCTION f1;
connect(con2, localhost, root);
--echo # Connection con1
connect (con1, localhost, root);
# Need to trigger this sync point at least twice in order to
# get valgrind test failures without the patch
SET DEBUG_SYNC= 'open_tables_after_open_and_process_table SIGNAL opened WAIT_FOR dropped EXECUTE 2';
--echo # Sending:
--send SHOW CREATE VIEW v1
--echo # Connection con2
connection con2;
SET DEBUG_SYNC= 'now WAIT_FOR opened';
SET DEBUG_SYNC= 'now SIGNAL dropped';
SET DEBUG_SYNC= 'now WAIT_FOR opened';
--echo # Sending:
--send FLUSH TABLES
--echo # Connection default
connection default;
--echo # Waiting for FLUSH TABLES to be blocked.
let $wait_condition= SELECT COUNT(*)=1 FROM information_schema.processlist
WHERE state= 'Waiting for table flush' AND info= 'FLUSH TABLES';
--source include/wait_condition.inc
SET DEBUG_SYNC= 'now SIGNAL dropped';
--echo # Connection con1
connection con1;
--echo # Reaping: SHOW CREATE VIEW v1
--reap
--echo # Connection con2
connection con2;
--echo # Reaping: FLUSH TABLES
--reap
--echo # Connection default
connection default;
SET DEBUG_SYNC= 'RESET';
DROP VIEW v1;
DROP TABLE t1;
disconnect con1;
disconnect con2;
# Check that all connections opened by test cases in this file are really # Check that all connections opened by test cases in this file are really
# gone so execution of other tests won't be affected by their presence. # gone so execution of other tests won't be affected by their presence.
--source include/wait_until_count_sessions.inc --source include/wait_until_count_sessions.inc

View File

@ -2707,6 +2707,8 @@ write_file $MYSQLTEST_VARDIR/tmp/testdir/file1.txt;
hello hello
EOF EOF
# Verify that --replace_result also work on list_files
--replace_result file REPLACED_FILE
list_files $MYSQLTEST_VARDIR/tmp/testdir; list_files $MYSQLTEST_VARDIR/tmp/testdir;
# list_files gets the directory list before creating the new file # list_files gets the directory list before creating the new file
list_files_write_file $MYSQLTEST_VARDIR/tmp/testdir/file2.txt $MYSQLTEST_VARDIR/tmp/testdir *; list_files_write_file $MYSQLTEST_VARDIR/tmp/testdir/file2.txt $MYSQLTEST_VARDIR/tmp/testdir *;

View File

@ -11,6 +11,7 @@ let $MYSQLD_DATADIR= `SELECT @@datadir`;
--echo # --echo #
--echo # Bug#56287: crash when using Partition datetime in sub in query --echo # Bug#56287: crash when using Partition datetime in sub in query
--echo # --echo #
CREATE TABLE t1 CREATE TABLE t1
(c1 bigint(20) unsigned NOT NULL AUTO_INCREMENT, (c1 bigint(20) unsigned NOT NULL AUTO_INCREMENT,
c2 varchar(40) not null default '', c2 varchar(40) not null default '',
@ -591,6 +592,7 @@ INSERT INTO t1 VALUES (1,1), (2,2);
SELECT * FROM t1 WHERE i1 = ( SELECT i1 FROM t1 WHERE f1=0 LIMIT 1 ); SELECT * FROM t1 WHERE i1 = ( SELECT i1 FROM t1 WHERE f1=0 LIMIT 1 );
DROP TABLE t1; DROP TABLE t1;
--enable_parsing --enable_parsing
--echo # --echo #

View File

@ -1,6 +1,73 @@
--source include/have_partition.inc --source include/have_partition.inc
--source include/have_innodb.inc --source include/have_innodb.inc
let $MYSQLD_DATADIR= `SELECT @@datadir`;
call mtr.add_suppression("nnoDB: Error: table `test`.`t1` .* Partition.* InnoDB internal");
--echo #
--echo # Bug#55091: Server crashes on ADD PARTITION after a failed attempt
--echo #
SET @old_innodb_file_format_max = @@global.innodb_file_format_max;
SET @old_innodb_file_format = @@global.innodb_file_format;
SET @old_innodb_file_per_table = @@global.innodb_file_per_table;
SET @old_innodb_strict_mode = @@global.innodb_strict_mode;
SET @@global.innodb_file_format = Barracuda,
@@global.innodb_file_per_table = ON,
@@global.innodb_strict_mode = ON;
--echo # Connection con1
--connect(con1,localhost,root,,)
CREATE TABLE t1 (id INT NOT NULL
PRIMARY KEY,
user_num CHAR(10)
) ENGINE = InnoDB
KEY_BLOCK_SIZE=4
PARTITION BY HASH(id) PARTITIONS 1;
--replace_result #p# #P#
--list_files $MYSQLD_DATADIR/test
SHOW CREATE TABLE t1;
SET GLOBAL innodb_file_per_table = OFF;
--disconnect con1
--connect(con2,localhost,root,,)
--echo # Connection con2
LOCK TABLE t1 WRITE;
--echo # ALTER fails because COMPRESSED/KEY_BLOCK_SIZE
--echo # are incompatible with innodb_file_per_table = OFF;
--error ER_GET_ERRNO
ALTER TABLE t1 ADD PARTITION PARTITIONS 1;
--replace_result #p# #P#
--list_files $MYSQLD_DATADIR/test
--echo # This SET is not needed to reproduce the bug,
--echo # it is here just to make the test case more realistic
SET innodb_strict_mode = OFF;
ALTER TABLE t1 ADD PARTITION PARTITIONS 2;
--replace_result #p# #P#
--list_files $MYSQLD_DATADIR/test
# really bug#56172
ALTER TABLE t1 REBUILD PARTITION p0;
UNLOCK TABLES;
SHOW CREATE TABLE t1;
DROP TABLE t1;
--disconnect con2
--connection default
--echo # Connection default
SET @@global.innodb_strict_mode = @old_innodb_strict_mode;
SET @@global.innodb_file_format = @old_innodb_file_format;
SET @@global.innodb_file_per_table = @old_innodb_file_per_table;
SET @@global.innodb_file_format_max = @old_innodb_file_format_max;
# #
# Bug#32430 - show engine innodb status causes errors # Bug#32430 - show engine innodb status causes errors
# #

View File

@ -252,3 +252,30 @@ drop table mysql.proc;
--remove_file $MYSQLTEST_VARDIR/tmp/proc.frm --remove_file $MYSQLTEST_VARDIR/tmp/proc.frm
--remove_file $MYSQLTEST_VARDIR/tmp/proc.MYD --remove_file $MYSQLTEST_VARDIR/tmp/proc.MYD
--remove_file $MYSQLTEST_VARDIR/tmp/proc.MYI --remove_file $MYSQLTEST_VARDIR/tmp/proc.MYI
--echo #
--echo # Bug#58414 mysql_upgrade fails on dump upgrade between 5.1.53 -> 5.5.8
--echo #
--disable_warnings
DROP TABLE IF EXISTS proc_backup;
DROP DATABASE IF EXISTS db1;
--enable_warnings
--echo # Backup the proc table
RENAME TABLE mysql.proc TO proc_backup;
CREATE TABLE mysql.proc LIKE proc_backup;
CREATE DATABASE db1;
CREATE PROCEDURE db1.p1() SET @foo = 10;
--echo # Modify a field of the table.
ALTER TABLE mysql.proc MODIFY comment CHAR (32);
# This should not fail even if mysql.proc is invalid.
DROP DATABASE db1;
--echo # Restore mysql.proc
DROP TABLE mysql.proc;
RENAME TABLE proc_backup TO mysql.proc;

View File

@ -172,3 +172,57 @@ UNLOCK TABLES;
DROP TABLE t1; DROP TABLE t1;
SET DEBUG_SYNC='RESET'; SET DEBUG_SYNC='RESET';
--echo #
--echo # Bug#57659 Segfault in Query_cache::invalidate_data for TRUNCATE TABLE
--echo #
--echo # Note that this test case only reproduces the problem
--echo # when it is run with valgrind.
--disable_warnings
DROP TABLE IF EXISTS t1, m1;
--enable_warnings
CREATE TABLE t1(a INT) engine=memory;
CREATE TABLE m1(a INT) engine=merge UNION(t1);
connect(con2, localhost, root);
--echo # Connection con1
connect(con1, localhost, root);
SET DEBUG_SYNC= 'open_tables_after_open_and_process_table SIGNAL opened WAIT_FOR dropped';
--echo # Sending:
--send TRUNCATE TABLE m1
--echo # Connection con2
connection con2;
SET DEBUG_SYNC= 'now WAIT_FOR opened';
--echo # Sending:
--send FLUSH TABLES
--echo # Connection default
connection default;
--echo # Waiting for FLUSH TABLES to be blocked.
let $wait_condition= SELECT COUNT(*)=1 FROM information_schema.processlist
WHERE state= 'Waiting for table flush' AND info= 'FLUSH TABLES';
--source include/wait_condition.inc
SET DEBUG_SYNC= 'now SIGNAL dropped';
--echo # Connection con1
connection con1;
--echo # Reaping: TRUNCATE TABLE m1
--error ER_WRONG_MRG_TABLE
--reap
disconnect con1;
--source include/wait_until_disconnected.inc
--echo # Connection con2
connection con2;
--echo # Reaping: FLUSH TABLES
--reap
disconnect con2;
--source include/wait_until_disconnected.inc
--echo # Connection default
connection default;
SET DEBUG_SYNC= 'RESET';
DROP TABLE m1, t1;

View File

@ -284,4 +284,12 @@ DROP TABLE t1;
--echo # --echo #
--echo #
--echo # Bug#57278: Crash on min/max + with date out of range.
--echo #
set @a=(select min(makedate('111','1'))) ;
select @a;
--echo #
--echo End of 6.0 tests --echo End of 6.0 tests

View File

@ -617,6 +617,20 @@ FROM t1 ORDER BY t1.id;
DROP TABLE t1; DROP TABLE t1;
--echo #
--echo # Bug#57257 Replace(ExtractValue(...)) causes MySQL crash
--echo #
SET NAMES utf8;
SELECT REPLACE(EXTRACTVALUE('1', '/a'),'ds','');
--echo #
--echo # Bug #57820 extractvalue crashes
--echo #
SELECT AVG(DISTINCT EXTRACTVALUE((''),('$@k')));
--echo # --echo #
--echo # Bug#57279 updatexml dies with: Assertion failed: str_arg[length] == 0 --echo # Bug#57279 updatexml dies with: Assertion failed: str_arg[length] == 0
--echo # --echo #

View File

@ -63,7 +63,12 @@ FIND_PROGRAM(LIGHT_EXECUTABLE light ${WIX_DIR})
IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/COPYING.rtf") IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/COPYING.rtf")
SET(COPYING_RTF "${CMAKE_CURRENT_SOURCE_DIR}/COPYING.rtf") SET(COPYING_RTF "${CMAKE_CURRENT_SOURCE_DIR}/COPYING.rtf")
ELSE() ELSE()
FILE(READ "${CMAKE_CURRENT_SOURCE_DIR}/../../COPYING" CONTENTS) IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../../LICENSE.mysql")
SET(LICENSE_FILE "${CMAKE_CURRENT_SOURCE_DIR}/../../LICENSE.mysql")
ELSE()
SET(LICENSE_FILE "${CMAKE_CURRENT_SOURCE_DIR}/../../COPYING")
ENDIF()
FILE(READ ${LICENSE_FILE} CONTENTS)
STRING(REGEX REPLACE "\n" "\\\\par\n" CONTENTS "${CONTENTS}") STRING(REGEX REPLACE "\n" "\\\\par\n" CONTENTS "${CONTENTS}")
STRING(REGEX REPLACE "\t" "\\\\tab" CONTENTS "${CONTENTS}") STRING(REGEX REPLACE "\t" "\\\\tab" CONTENTS "${CONTENTS}")
FILE(WRITE "${CMAKE_CURRENT_BINARY_DIR}/COPYING.rtf" "{\\rtf1\\ansi\\deff0{\\fonttbl{\\f0\\fnil\\fcharset0 Courier New;}}\\viewkind4\\uc1\\pard\\lang1031\\f0\\fs15") FILE(WRITE "${CMAKE_CURRENT_BINARY_DIR}/COPYING.rtf" "{\\rtf1\\ansi\\deff0{\\fonttbl{\\f0\\fnil\\fcharset0 Courier New;}}\\viewkind4\\uc1\\pard\\lang1031\\f0\\fs15")

View File

@ -1127,7 +1127,12 @@ longlong number_to_datetime(longlong nr, MYSQL_TIME *time_res,
nr= (nr+19000000L)*1000000L; /* YYMMDD, year: 1970-1999 */ nr= (nr+19000000L)*1000000L; /* YYMMDD, year: 1970-1999 */
goto ok; goto ok;
} }
if (nr < 10000101L) /*
Though officially we support DATE values from 1000-01-01 only, one can
easily insert a value like 1-1-1. So, for consistency reasons such dates
are allowed when TIME_FUZZY_DATE is set.
*/
if (nr < 10000101L && !(flags & TIME_FUZZY_DATE))
goto err; goto err;
if (nr <= 99991231L) if (nr <= 99991231L)
{ {

View File

@ -7503,9 +7503,19 @@ void Item_cache_datetime::store(Item *item, longlong val_arg)
} }
void Item_cache_datetime::store(Item *item)
{
Item_cache::store(item);
str_value_cached= FALSE;
}
String *Item_cache_datetime::val_str(String *str) String *Item_cache_datetime::val_str(String *str)
{ {
DBUG_ASSERT(fixed == 1); DBUG_ASSERT(fixed == 1);
if ((value_cached || str_value_cached) && null_value)
return NULL;
if (!str_value_cached) if (!str_value_cached)
{ {
/* /*
@ -7519,6 +7529,8 @@ String *Item_cache_datetime::val_str(String *str)
if (value_cached) if (value_cached)
{ {
MYSQL_TIME ltime; MYSQL_TIME ltime;
/* Return NULL in case of OOM/conversion error. */
null_value= TRUE;
if (str_value.alloc(MAX_DATE_STRING_REP_LENGTH)) if (str_value.alloc(MAX_DATE_STRING_REP_LENGTH))
return NULL; return NULL;
if (cached_field_type == MYSQL_TYPE_TIME) if (cached_field_type == MYSQL_TYPE_TIME)
@ -7541,13 +7553,14 @@ String *Item_cache_datetime::val_str(String *str)
{ {
int was_cut; int was_cut;
longlong res; longlong res;
res= number_to_datetime(val_int(), &ltime, TIME_FUZZY_DATE, &was_cut); res= number_to_datetime(int_value, &ltime, TIME_FUZZY_DATE, &was_cut);
if (res == -1) if (res == -1)
return NULL; return NULL;
} }
str_value.length(my_TIME_to_str(&ltime, str_value.length(my_TIME_to_str(&ltime,
const_cast<char*>(str_value.ptr()))); const_cast<char*>(str_value.ptr())));
str_value_cached= TRUE; str_value_cached= TRUE;
null_value= FALSE;
} }
else if (!cache_value()) else if (!cache_value())
return NULL; return NULL;
@ -7568,7 +7581,7 @@ my_decimal *Item_cache_datetime::val_decimal(my_decimal *decimal_val)
double Item_cache_datetime::val_real() double Item_cache_datetime::val_real()
{ {
DBUG_ASSERT(fixed == 1); DBUG_ASSERT(fixed == 1);
if (!value_cached && !cache_value_int()) if ((!value_cached && !cache_value_int()) || null_value)
return 0.0; return 0.0;
return (double) int_value; return (double) int_value;
} }
@ -7576,7 +7589,7 @@ double Item_cache_datetime::val_real()
longlong Item_cache_datetime::val_int() longlong Item_cache_datetime::val_int()
{ {
DBUG_ASSERT(fixed == 1); DBUG_ASSERT(fixed == 1);
if (!value_cached && !cache_value_int()) if ((!value_cached && !cache_value_int()) || null_value)
return 0; return 0;
return int_value; return int_value;
} }

View File

@ -3451,8 +3451,8 @@ public:
cmp_context= STRING_RESULT; cmp_context= STRING_RESULT;
} }
virtual void store(Item *item) { Item_cache::store(item); }
void store(Item *item, longlong val_arg); void store(Item *item, longlong val_arg);
void store(Item *item);
double val_real(); double val_real();
longlong val_int(); longlong val_int();
String* val_str(String *str); String* val_str(String *str);

View File

@ -4720,6 +4720,7 @@ bool Item_func_like::fix_fields(THD *thd, Item **ref)
String *escape_str= escape_item->val_str(&cmp.value1); String *escape_str= escape_item->val_str(&cmp.value1);
if (escape_str) if (escape_str)
{ {
const char *escape_str_ptr= escape_str->ptr();
if (escape_used_in_parsing && ( if (escape_used_in_parsing && (
(((thd->variables.sql_mode & MODE_NO_BACKSLASH_ESCAPES) && (((thd->variables.sql_mode & MODE_NO_BACKSLASH_ESCAPES) &&
escape_str->numchars() != 1) || escape_str->numchars() != 1) ||
@ -4734,8 +4735,8 @@ bool Item_func_like::fix_fields(THD *thd, Item **ref)
CHARSET_INFO *cs= escape_str->charset(); CHARSET_INFO *cs= escape_str->charset();
my_wc_t wc; my_wc_t wc;
int rc= cs->cset->mb_wc(cs, &wc, int rc= cs->cset->mb_wc(cs, &wc,
(const uchar*) escape_str->ptr(), (const uchar*) escape_str_ptr,
(const uchar*) escape_str->ptr() + (const uchar*) escape_str_ptr +
escape_str->length()); escape_str->length());
escape= (int) (rc > 0 ? wc : '\\'); escape= (int) (rc > 0 ? wc : '\\');
} }
@ -4753,13 +4754,13 @@ bool Item_func_like::fix_fields(THD *thd, Item **ref)
{ {
char ch; char ch;
uint errors; uint errors;
uint32 cnvlen= copy_and_convert(&ch, 1, cs, escape_str->ptr(), uint32 cnvlen= copy_and_convert(&ch, 1, cs, escape_str_ptr,
escape_str->length(), escape_str->length(),
escape_str->charset(), &errors); escape_str->charset(), &errors);
escape= cnvlen ? ch : '\\'; escape= cnvlen ? ch : '\\';
} }
else else
escape= *(escape_str->ptr()); escape= escape_str_ptr ? *escape_str_ptr : '\\';
} }
} }
else else

View File

@ -1080,9 +1080,15 @@ String *Item_func_replace::val_str(String *str)
search=res2->ptr(); search=res2->ptr();
search_end=search+from_length; search_end=search+from_length;
redo: redo:
DBUG_ASSERT(res->ptr() || !offset);
ptr=res->ptr()+offset; ptr=res->ptr()+offset;
strend=res->ptr()+res->length(); strend=res->ptr()+res->length();
end=strend-from_length+1; /*
In some cases val_str() can return empty string
with ptr() == NULL and length() == 0.
Let's check strend to avoid overflow.
*/
end= strend ? strend - from_length + 1 : NULL;
while (ptr < end) while (ptr < end)
{ {
if (*ptr == *search) if (*ptr == *search)

View File

@ -2526,14 +2526,14 @@ String *Item_char_typecast::val_str(String *str)
{ {
// Convert character set if differ // Convert character set if differ
uint dummy_errors; uint dummy_errors;
if (!(res= args[0]->val_str(&tmp_value)) || if (!(res= args[0]->val_str(str)) ||
str->copy(res->ptr(), res->length(), from_cs, tmp_value.copy(res->ptr(), res->length(), from_cs,
cast_cs, &dummy_errors)) cast_cs, &dummy_errors))
{ {
null_value= 1; null_value= 1;
return 0; return 0;
} }
res= str; res= &tmp_value;
} }
res->set_charset(cast_cs); res->set_charset(cast_cs);
@ -2568,9 +2568,9 @@ String *Item_char_typecast::val_str(String *str)
{ {
if (res->alloced_length() < (uint) cast_length) if (res->alloced_length() < (uint) cast_length)
{ {
str->alloc(cast_length); str_value.alloc(cast_length);
str->copy(*res); str_value.copy(*res);
res= str; res= &str_value;
} }
bzero((char*) res->ptr() + res->length(), bzero((char*) res->ptr() + res->length(),
(uint) cast_length - res->length()); (uint) cast_length - res->length());

View File

@ -2798,12 +2798,12 @@ String *Item_func_xml_extractvalue::val_str(String *str)
null_value= 0; null_value= 0;
if (!nodeset_func || if (!nodeset_func ||
!(res= args[0]->val_str(str)) || !(res= args[0]->val_str(str)) ||
!parse_xml(res, &pxml)) !parse_xml(res, &pxml) ||
!(res= nodeset_func->val_str(&tmp_value)))
{ {
null_value= 1; null_value= 1;
return 0; return 0;
} }
res= nodeset_func->val_str(&tmp_value);
return res; return res;
} }

View File

@ -364,9 +364,7 @@ void key_unpack(String *to,TABLE *table,uint idx)
while (tmp_end > tmp.ptr() && !*--tmp_end) ; while (tmp_end > tmp.ptr() && !*--tmp_end) ;
tmp.length(tmp_end - tmp.ptr() + 1); tmp.length(tmp_end - tmp.ptr() + 1);
} }
if (cs->mbmaxlen > 1 && if (cs->mbmaxlen > 1 && (key_part->key_part_flag & HA_PART_KEY_SEG))
table->field[key_part->fieldnr - 1]->field_length !=
key_part->length)
{ {
/* /*
Prefix key, multi-byte charset. Prefix key, multi-byte charset.

View File

@ -779,9 +779,6 @@ db_load_routine(THD *thd, int type, sp_name *name, sp_head **sphp,
int ret= 0; int ret= 0;
if (check_stack_overrun(thd, STACK_MIN_SIZE, (uchar*)&ret))
return TRUE;
thd->lex= &newlex; thd->lex= &newlex;
newlex.current_select= NULL; newlex.current_select= NULL;
@ -1375,6 +1372,8 @@ public:
MYSQL_ERROR ** cond_hdl) MYSQL_ERROR ** cond_hdl)
{ {
if (sql_errno == ER_NO_SUCH_TABLE || if (sql_errno == ER_NO_SUCH_TABLE ||
sql_errno == ER_CANNOT_LOAD_FROM_TABLE ||
sql_errno == ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE ||
sql_errno == ER_COL_COUNT_DOESNT_MATCH_CORRUPTED) sql_errno == ER_COL_COUNT_DOESNT_MATCH_CORRUPTED)
return true; return true;
return false; return false;
@ -1611,9 +1610,6 @@ sp_find_routine(THD *thd, int type, sp_name *name, sp_cache **cp,
(int) name->m_name.length, name->m_name.str, (int) name->m_name.length, name->m_name.str,
type, cache_only)); type, cache_only));
if (check_stack_overrun(thd, STACK_MIN_SIZE, (uchar*)&depth))
return NULL;
if ((sp= sp_cache_lookup(cp, name))) if ((sp= sp_cache_lookup(cp, name)))
{ {
ulong level; ulong level;

View File

@ -1240,8 +1240,11 @@ sp_head::execute(THD *thd, bool merge_da_on_success)
The same with db_load_routine() required circa 7k bytes and The same with db_load_routine() required circa 7k bytes and
14k bytes accordingly. Hence, here we book the stack with some 14k bytes accordingly. Hence, here we book the stack with some
reasonable margin. reasonable margin.
Reverting back to 8 * STACK_MIN_SIZE until further fix.
8 * STACK_MIN_SIZE is required on some exotic platforms.
*/ */
if (check_stack_overrun(thd, STACK_MIN_SIZE, (uchar*)&old_packet)) if (check_stack_overrun(thd, 8 * STACK_MIN_SIZE, (uchar*)&old_packet))
DBUG_RETURN(TRUE); DBUG_RETURN(TRUE);
/* init per-instruction memroot */ /* init per-instruction memroot */
@ -2915,9 +2918,6 @@ sp_lex_keeper::reset_lex_and_exec_core(THD *thd, uint *nextp,
It's merged with the saved parent's value at the exit of this func. It's merged with the saved parent's value at the exit of this func.
*/ */
bool parent_modified_non_trans_table= thd->transaction.stmt.modified_non_trans_table; bool parent_modified_non_trans_table= thd->transaction.stmt.modified_non_trans_table;
if (check_stack_overrun(thd, STACK_MIN_SIZE, (uchar*)&parent_modified_non_trans_table))
DBUG_RETURN(TRUE);
thd->transaction.stmt.modified_non_trans_table= FALSE; thd->transaction.stmt.modified_non_trans_table= FALSE;
DBUG_ASSERT(!thd->derived_tables); DBUG_ASSERT(!thd->derived_tables);
DBUG_ASSERT(thd->change_list.is_empty()); DBUG_ASSERT(thd->change_list.is_empty());
@ -3073,9 +3073,6 @@ sp_instr_stmt::execute(THD *thd, uint *nextp)
DBUG_ENTER("sp_instr_stmt::execute"); DBUG_ENTER("sp_instr_stmt::execute");
DBUG_PRINT("info", ("command: %d", m_lex_keeper.sql_command())); DBUG_PRINT("info", ("command: %d", m_lex_keeper.sql_command()));
if (check_stack_overrun(thd, STACK_MIN_SIZE, (uchar*)&res))
DBUG_RETURN(TRUE);
const CSET_STRING query_backup= thd->query_string; const CSET_STRING query_backup= thd->query_string;
#if defined(ENABLED_PROFILING) #if defined(ENABLED_PROFILING)
/* This s-p instr is profilable and will be captured. */ /* This s-p instr is profilable and will be captured. */

View File

@ -7209,9 +7209,6 @@ bool parse_sql(THD *thd,
Object_creation_ctx *backup_ctx= NULL; Object_creation_ctx *backup_ctx= NULL;
if (check_stack_overrun(thd, 2 * STACK_MIN_SIZE, (uchar*)&backup_ctx))
return TRUE;
if (creation_ctx) if (creation_ctx)
backup_ctx= creation_ctx->set_n_backup(thd); backup_ctx= creation_ctx->set_n_backup(thd);

View File

@ -29,6 +29,8 @@
#include "repl_failsafe.h" #include "repl_failsafe.h"
#include "sql_parse.h" // check_access, check_table_access #include "sql_parse.h" // check_access, check_table_access
#include "sql_partition.h" // partition_element #include "sql_partition.h" // partition_element
#include "sql_derived.h" // mysql_derived_prepare,
// mysql_handle_derived,
#include "sql_db.h" // check_db_dir_existence, load_db_opt_by_name #include "sql_db.h" // check_db_dir_existence, load_db_opt_by_name
#include "sql_time.h" // interval_type_to_name #include "sql_time.h" // interval_type_to_name
#include "tztime.h" // struct Time_zone #include "tztime.h" // struct Time_zone
@ -677,11 +679,18 @@ mysqld_show_create(THD *thd, TABLE_LIST *table_list)
thd->lex->context_analysis_only|= CONTEXT_ANALYSIS_ONLY_VIEW; thd->lex->context_analysis_only|= CONTEXT_ANALYSIS_ONLY_VIEW;
{ {
/*
Use open_tables() directly rather than open_normal_and_derived_tables().
This ensures that close_thread_tables() is not called if open tables fails
and the error is ignored. This allows us to handle broken views nicely.
*/
uint counter;
Show_create_error_handler view_error_suppressor(thd, table_list); Show_create_error_handler view_error_suppressor(thd, table_list);
thd->push_internal_handler(&view_error_suppressor); thd->push_internal_handler(&view_error_suppressor);
bool open_error= bool open_error=
open_normal_and_derived_tables(thd, table_list, open_tables(thd, &table_list, &counter,
MYSQL_OPEN_FORCE_SHARED_HIGH_PRIO_MDL); MYSQL_OPEN_FORCE_SHARED_HIGH_PRIO_MDL) ||
mysql_handle_derived(thd->lex, &mysql_derived_prepare);
thd->pop_internal_handler(); thd->pop_internal_handler();
if (open_error && (thd->killed || thd->is_error())) if (open_error && (thd->killed || thd->is_error()))
goto exit; goto exit;

View File

@ -472,6 +472,13 @@ bool Truncate_statement::truncate_table(THD *thd, TABLE_LIST *table_ref)
binlog_stmt= !error || error != HA_ERR_WRONG_COMMAND; binlog_stmt= !error || error != HA_ERR_WRONG_COMMAND;
} }
/*
If we tried to open a MERGE table and failed due to problems with the
children tables, the table will have been closed and table_ref->table
will be invalid. Reset the pointer here in any case as
query_cache_invalidate does not need a valid TABLE object.
*/
table_ref->table= NULL;
query_cache_invalidate3(thd, table_ref, FALSE); query_cache_invalidate3(thd, table_ref, FALSE);
} }

View File

@ -1464,7 +1464,7 @@ my_strnncoll_utf16_bin(CHARSET_INFO *cs,
} }
if (s_wc != t_wc) if (s_wc != t_wc)
{ {
return my_bincmp(s, s + s_res, t, t + t_res); return s_wc > t_wc ? 1 : -1;
} }
s+= s_res; s+= s_res;
@ -1504,7 +1504,7 @@ my_strnncollsp_utf16_bin(CHARSET_INFO *cs,
if (s_wc != t_wc) if (s_wc != t_wc)
{ {
return my_bincmp(s, s + s_res, t, t + t_res); return s_wc > t_wc ? 1 : -1;
} }
s+= s_res; s+= s_res;

View File

@ -1967,17 +1967,6 @@ my_strnxfrm_unicode_full_bin(CHARSET_INFO *cs,
if ((res= cs->cset->mb_wc(cs, &wc, src, se)) <= 0) if ((res= cs->cset->mb_wc(cs, &wc, src, se)) <= 0)
break; break;
src+= res; src+= res;
if (cs->mbminlen == 2) /* utf16_bin */
{
/*
Reorder code points to weights as follows:
U+0000..U+D7FF -> [00][00][00]..[00][D7][FF] BMP part #1
U+10000..U+10FFFF -> [01][00][00]..[10][FF][FF] Supplementary
U+E000..U+FFFF -> [20][E0][00]..[20][FF][FF] BMP part #2
*/
if (wc >= 0xE000 && wc <= 0xFFFF)
wc+= 0x200000;
}
*dst++= (uchar) (wc >> 16); *dst++= (uchar) (wc >> 16);
*dst++= (uchar) ((wc >> 8) & 0xFF); *dst++= (uchar) ((wc >> 8) & 0xFF);
*dst++= (uchar) (wc & 0xFF); *dst++= (uchar) (wc & 0xFF);

View File

@ -398,6 +398,7 @@ export CFLAGS=${MYSQL_BUILD_CFLAGS:-${CFLAGS:-$RPM_OPT_FLAGS}}
export CXXFLAGS=${MYSQL_BUILD_CXXFLAGS:-${CXXFLAGS:-$RPM_OPT_FLAGS -felide-constructors -fno-exceptions -fno-rtti}} export CXXFLAGS=${MYSQL_BUILD_CXXFLAGS:-${CXXFLAGS:-$RPM_OPT_FLAGS -felide-constructors -fno-exceptions -fno-rtti}}
export LDFLAGS=${MYSQL_BUILD_LDFLAGS:-${LDFLAGS:-}} export LDFLAGS=${MYSQL_BUILD_LDFLAGS:-${LDFLAGS:-}}
export CMAKE=${MYSQL_BUILD_CMAKE:-${CMAKE:-cmake}} export CMAKE=${MYSQL_BUILD_CMAKE:-${CMAKE:-cmake}}
export MAKE_JFLAG=${MYSQL_BUILD_MAKE_JFLAG:-}
# Build debug mysqld and libmysqld.a # Build debug mysqld and libmysqld.a
mkdir debug mkdir debug
@ -425,7 +426,7 @@ mkdir debug
-DCOMPILATION_COMMENT="%{compilation_comment_debug}" \ -DCOMPILATION_COMMENT="%{compilation_comment_debug}" \
-DMYSQL_SERVER_SUFFIX="%{server_suffix}" -DMYSQL_SERVER_SUFFIX="%{server_suffix}"
echo BEGIN_DEBUG_CONFIG ; egrep '^#define' include/config.h ; echo END_DEBUG_CONFIG echo BEGIN_DEBUG_CONFIG ; egrep '^#define' include/config.h ; echo END_DEBUG_CONFIG
make VERBOSE=1 make ${MAKE_JFLAG} VERBOSE=1
) )
# Build full release # Build full release
mkdir release mkdir release
@ -440,7 +441,7 @@ mkdir release
-DCOMPILATION_COMMENT="%{compilation_comment_release}" \ -DCOMPILATION_COMMENT="%{compilation_comment_release}" \
-DMYSQL_SERVER_SUFFIX="%{server_suffix}" -DMYSQL_SERVER_SUFFIX="%{server_suffix}"
echo BEGIN_NORMAL_CONFIG ; egrep '^#define' include/config.h ; echo END_NORMAL_CONFIG echo BEGIN_NORMAL_CONFIG ; egrep '^#define' include/config.h ; echo END_NORMAL_CONFIG
make VERBOSE=1 make ${MAKE_JFLAG} VERBOSE=1
) )
# Use the build root for temporary storage of the shared libraries. # Use the build root for temporary storage of the shared libraries.
@ -1084,6 +1085,16 @@ echo "=====" >> $STATUS_HISTORY
# merging BK trees) # merging BK trees)
############################################################################## ##############################################################################
%changelog %changelog
* Tue Nov 23 2010 Jonathan Perkin <jonathan.perkin@oracle.com>
- EXCEPTIONS-CLIENT has been deleted, remove it from here too
- Support MYSQL_BUILD_MAKE_JFLAG environment variable for passing
a '-j' argument to make.
* Mon Nov 1 2010 Georgi Kodinov <georgi.godinov@oracle.com>
- Added test authentication (WL#1054) plugin binaries
* Wed Oct 6 2010 Georgi Kodinov <georgi.godinov@oracle.com> * Wed Oct 6 2010 Georgi Kodinov <georgi.godinov@oracle.com>
- Added example external authentication (WL#1054) plugin binaries - Added example external authentication (WL#1054) plugin binaries
@ -1095,10 +1106,6 @@ echo "=====" >> $STATUS_HISTORY
- Add a "triggerpostun" to handle the uninstall of the "-community" server RPM. - Add a "triggerpostun" to handle the uninstall of the "-community" server RPM.
- This fixes bug#55015 "MySQL server is not restarted properly after RPM upgrade". - This fixes bug#55015 "MySQL server is not restarted properly after RPM upgrade".
* Wed Nov 24 2010 Alexander Nozdrin <alexander.nozdrin@oracle.com>
- EXCEPTIONS-CLIENT has been deleted, remove it from here too.
* Tue Jun 15 2010 Joerg Bruehe <joerg.bruehe@sun.com> * Tue Jun 15 2010 Joerg Bruehe <joerg.bruehe@sun.com>
- Change the behaviour on installation and upgrade: - Change the behaviour on installation and upgrade: