diff -Nru mysql-5.5-5.5.40/client/CMakeLists.txt mysql-5.5-5.5.41/client/CMakeLists.txt --- mysql-5.5-5.5.40/client/CMakeLists.txt 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/client/CMakeLists.txt 2014-11-04 07:49:50.000000000 +0000 @@ -35,6 +35,12 @@ MYSQL_ADD_EXECUTABLE(mysqltest mysqltest.cc COMPONENT Test) SET_SOURCE_FILES_PROPERTIES(mysqltest.cc PROPERTIES COMPILE_FLAGS "-DTHREADS") +# mysqltest has unused result errors, so we skip Werror +CHECK_C_COMPILER_FLAG("-Werror" HAVE_WERROR_FLAG) +IF(HAVE_WERROR_FLAG) + INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake) + ADD_COMPILE_FLAGS(mysqltest.cc COMPILE_FLAGS "-Wno-error") +ENDIF() TARGET_LINK_LIBRARIES(mysqltest mysqlclient regex) diff -Nru mysql-5.5-5.5.40/client/mysqlbinlog.cc mysql-5.5-5.5.41/client/mysqlbinlog.cc --- mysql-5.5-5.5.40/client/mysqlbinlog.cc 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/client/mysqlbinlog.cc 2014-11-04 07:49:50.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. 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 @@ -2102,6 +2102,7 @@ DBUG_PROCESS(argv[0]); my_init_time(); // for time functions + tzset(); // set tzname if (load_defaults("my", load_default_groups, &argc, &argv)) exit(1); diff -Nru mysql-5.5-5.5.40/cmake/build_configurations/mysql_release.cmake mysql-5.5-5.5.41/cmake/build_configurations/mysql_release.cmake --- mysql-5.5-5.5.40/cmake/build_configurations/mysql_release.cmake 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/cmake/build_configurations/mysql_release.cmake 2014-11-04 07:49:52.000000000 +0000 @@ -189,15 +189,16 @@ ENDIF() ENDIF() - # OSX flags - IF(APPLE) - SET(COMMON_C_FLAGS "-g -fno-common -fno-strict-aliasing") - # XXX: why are we using -felide-constructors on OSX? - SET(COMMON_CXX_FLAGS "-g -fno-common -felide-constructors -fno-strict-aliasing") - SET(CMAKE_C_FLAGS_DEBUG "-O ${COMMON_C_FLAGS}") - SET(CMAKE_CXX_FLAGS_DEBUG "-O ${COMMON_CXX_FLAGS}") - SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-Os ${COMMON_C_FLAGS}") - SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Os ${COMMON_CXX_FLAGS}") + # Default Clang flags + IF(CMAKE_C_COMPILER_ID MATCHES "Clang") + SET(COMMON_C_FLAGS "-g -fno-omit-frame-pointer -fno-strict-aliasing") + SET(CMAKE_C_FLAGS_DEBUG "${COMMON_C_FLAGS}") + SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_C_FLAGS}") + ENDIF() + IF(CMAKE_CXX_COMPILER_ID MATCHES "Clang") + SET(COMMON_CXX_FLAGS "-g -fno-omit-frame-pointer -fno-strict-aliasing") + SET(CMAKE_CXX_FLAGS_DEBUG "${COMMON_CXX_FLAGS}") + SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_CXX_FLAGS}") ENDIF() # Solaris flags diff -Nru mysql-5.5-5.5.40/cmake/compile_flags.cmake mysql-5.5-5.5.41/cmake/compile_flags.cmake --- mysql-5.5-5.5.40/cmake/compile_flags.cmake 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.5-5.5.41/cmake/compile_flags.cmake 2014-11-04 07:49:52.000000000 +0000 @@ -0,0 +1,44 @@ +# Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. +# +# 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 +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +## ADD_COMPILE_FLAGS( COMPILE_FLAGS ) +MACRO(ADD_COMPILE_FLAGS) + SET(FILES "") + SET(FLAGS "") + SET(COMPILE_FLAGS) + FOREACH(ARG ${ARGV}) + IF(ARG STREQUAL "COMPILE_FLAGS") + SET(COMPILE_FLAGS "COMPILE_FLAGS") + ELSEIF(COMPILE_FLAGS) + LIST(APPEND FLAGS ${ARG}) + ELSE() + LIST(APPEND FILES ${ARG}) + ENDIF() + ENDFOREACH() + FOREACH(FILE ${FILES}) + FOREACH(FLAG ${FLAGS}) + GET_SOURCE_FILE_PROPERTY(PROP ${FILE} COMPILE_FLAGS) + IF(NOT PROP) + SET(PROP ${FLAG}) + ELSE() + SET(PROP "${PROP} ${FLAG}") + ENDIF() + SET_SOURCE_FILES_PROPERTIES( + ${FILE} PROPERTIES COMPILE_FLAGS "${PROP}" + ) + ENDFOREACH() + ENDFOREACH() +ENDMACRO() diff -Nru mysql-5.5-5.5.40/cmake/maintainer.cmake mysql-5.5-5.5.41/cmake/maintainer.cmake --- mysql-5.5-5.5.40/cmake/maintainer.cmake 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/cmake/maintainer.cmake 2014-11-04 07:49:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved. # # 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 @@ -13,42 +13,39 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -INCLUDE(CheckCCompilerFlag) - -# Setup GCC (GNU C compiler) warning options. -MACRO(SET_MYSQL_MAINTAINER_GNU_C_OPTIONS) - SET(MY_MAINTAINER_WARNINGS - "-Wall -Wextra -Wunused -Wwrite-strings -Wno-strict-aliasing -Werror") - CHECK_C_COMPILER_FLAG("-Wdeclaration-after-statement" - HAVE_DECLARATION_AFTER_STATEMENT) - IF(HAVE_DECLARATION_AFTER_STATEMENT) - SET(MY_MAINTAINER_DECLARATION_AFTER_STATEMENT - "-Wdeclaration-after-statement") - ENDIF() - SET(MY_MAINTAINER_C_WARNINGS - "${MY_MAINTAINER_WARNINGS} ${MY_MAINTAINER_DECLARATION_AFTER_STATEMENT}" - CACHE STRING "C warning options used in maintainer builds.") - # Do not make warnings in checks into errors. - SET(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -Wno-error") -ENDMACRO() - -# Setup G++ (GNU C++ compiler) warning options. -MACRO(SET_MYSQL_MAINTAINER_GNU_CXX_OPTIONS) - SET(MY_MAINTAINER_CXX_WARNINGS - "${MY_MAINTAINER_WARNINGS} -Wno-unused-parameter -Woverloaded-virtual" - CACHE STRING "C++ warning options used in maintainer builds.") -ENDMACRO() - -# Setup ICC (Intel C Compiler) warning options. -MACRO(SET_MYSQL_MAINTAINER_INTEL_C_OPTIONS) - SET(MY_MAINTAINER_WARNINGS "-Wcheck") - SET(MY_MAINTAINER_C_WARNINGS "${MY_MAINTAINER_WARNINGS}" - CACHE STRING "C warning options used in maintainer builds.") -ENDMACRO() - -# Setup ICPC (Intel C++ Compiler) warning options. -MACRO(SET_MYSQL_MAINTAINER_INTEL_CXX_OPTIONS) - SET(MY_MAINTAINER_CXX_WARNINGS "${MY_MAINTAINER_WARNINGS}" - CACHE STRING "C++ warning options used in maintainer builds.") -ENDMACRO() - +# Common warning flags for GCC, G++, Clang and Clang++ +SET(MY_WARNING_FLAGS "-Wall -Wextra -Wformat-security") +MY_CHECK_C_COMPILER_FLAG("-Wvla" HAVE_WVLA) # Requires GCC 4.3+ or Clang +IF(HAVE_WVLA) + SET(MY_WARNING_FLAGS "${MY_WARNING_FLAGS} -Wvla") +ENDIF() + +# Common warning flags for GCC and Clang +SET(MY_C_WARNING_FLAGS + "${MY_WARNING_FLAGS} -Wwrite-strings -Wdeclaration-after-statement") + +# Common warning flags for G++ and Clang++ +SET(MY_CXX_WARNING_FLAGS + "${MY_WARNING_FLAGS} -Woverloaded-virtual -Wno-unused-parameter") + +# Extra warning flags for Clang++ +IF(CMAKE_CXX_COMPILER_ID MATCHES "Clang") + SET(MY_CXX_WARNING_FLAGS + "${MY_CXX_WARNING_FLAGS} -Wno-null-conversion -Wno-unused-private-field") +ENDIF() + +# Turn on Werror (warning => error) when using maintainer mode. +IF(MYSQL_MAINTAINER_MODE) + SET(MY_C_WARNING_FLAGS "${MY_C_WARNING_FLAGS} -Werror") + SET(MY_CXX_WARNING_FLAGS "${MY_CXX_WARNING_FLAGS} -Werror") + SET(COMPILE_FLAG_WERROR 1) +ENDIF() + +# Set warning flags for GCC/Clang +IF(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MY_C_WARNING_FLAGS}") +ENDIF() +# Set warning flags for G++/Clang++ +IF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MY_CXX_WARNING_FLAGS}") +ENDIF() diff -Nru mysql-5.5-5.5.40/cmake/os/Darwin.cmake mysql-5.5-5.5.41/cmake/os/Darwin.cmake --- mysql-5.5-5.5.40/cmake/os/Darwin.cmake 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/cmake/os/Darwin.cmake 2014-11-04 07:49:52.000000000 +0000 @@ -1,5 +1,4 @@ -# Copyright (c) 2010 Sun Microsystems, Inc. -# Use is subject to license terms. +# Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved. # # 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 @@ -15,21 +14,3 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # This file includes OSX specific options and quirks, related to system checks - -# Workaround for CMake bug#9051 -# (CMake does not pass CMAKE_OSX_SYSROOT and CMAKE_OSX_DEPLOYMENT_TARGET when -# running TRY_COMPILE) - -IF(CMAKE_OSX_SYSROOT) - SET(ENV{CMAKE_OSX_SYSROOT} ${CMAKE_OSX_SYSROOT}) -ENDIF() -IF(CMAKE_OSX_SYSROOT) - SET(ENV{MACOSX_DEPLOYMENT_TARGET} ${OSX_DEPLOYMENT_TARGET}) -ENDIF() - -IF(CMAKE_OSX_DEPLOYMENT_TARGET) - # Workaround linker problems on OSX 10.4 - IF(CMAKE_OSX_DEPLOYMENT_TARGET VERSION_LESS "10.5") - ADD_DEFINITIONS(-fno-common) - ENDIF() -ENDIF() diff -Nru mysql-5.5-5.5.40/cmake/os/WindowsCache.cmake mysql-5.5-5.5.41/cmake/os/WindowsCache.cmake --- mysql-5.5-5.5.40/cmake/os/WindowsCache.cmake 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/cmake/os/WindowsCache.cmake 2014-11-04 07:49:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved. # # 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 @@ -88,7 +88,7 @@ SET(HAVE_GETRUSAGE CACHE INTERNAL "") SET(HAVE_GETTIMEOFDAY CACHE INTERNAL "") SET(HAVE_GETWD CACHE INTERNAL "") -SET(HAVE_GMTIME_R CACHE INTERNAL "") +SET(HAVE_GMTIME_R 1 CACHE INTERNAL "") SET(HAVE_GRP_H CACHE INTERNAL "") SET(HAVE_IA64INTRIN_H CACHE INTERNAL "") SET(HAVE_IEEEFP_H CACHE INTERNAL "") @@ -109,7 +109,7 @@ SET(HAVE_LDIV 1 CACHE INTERNAL "") SET(HAVE_LIMITS_H 1 CACHE INTERNAL "") SET(HAVE_LOCALE_H 1 CACHE INTERNAL "") -SET(HAVE_LOCALTIME_R CACHE INTERNAL "") +SET(HAVE_LOCALTIME_R 1 CACHE INTERNAL "") SET(HAVE_LOG2 CACHE INTERNAL "") SET(HAVE_LONGJMP 1 CACHE INTERNAL "") SET(HAVE_LRAND48 CACHE INTERNAL "") diff -Nru mysql-5.5-5.5.40/CMakeLists.txt mysql-5.5-5.5.41/CMakeLists.txt --- mysql-5.5-5.5.40/CMakeLists.txt 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/CMakeLists.txt 2014-11-04 07:49:52.000000000 +0000 @@ -27,10 +27,12 @@ # We use the LOCATION target property (CMP0026) # and get_target_property() for non-existent targets (CMP0045) +# and INSTALL_NAME_DIR (CMP0042) IF(CMAKE_VERSION VERSION_EQUAL "3.0.0" OR CMAKE_VERSION VERSION_GREATER "3.0.0") CMAKE_POLICY(SET CMP0026 OLD) CMAKE_POLICY(SET CMP0045 OLD) + CMAKE_POLICY(SET CMP0042 OLD) ENDIF() MESSAGE(STATUS "Running cmake version ${CMAKE_VERSION}") @@ -73,11 +75,9 @@ SET(BUILDTYPE_DOCSTRING "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel") - + IF(WITH_DEBUG) SET(CMAKE_BUILD_TYPE "Debug" CACHE STRING ${BUILDTYPE_DOCSTRING} FORCE) - SET(MYSQL_MAINTAINER_MODE ON CACHE BOOL - "MySQL maintainer-specific development environment") IF(UNIX AND NOT APPLE) # Compiling with PIC speeds up embedded build, on PIC sensitive systems # Predefine it to ON, in case user chooses to build embedded. @@ -107,6 +107,15 @@ ENDIF() PROJECT(${MYSQL_PROJECT_NAME}) +# Maintainer mode is default on only for Linux debug builds using GCC/G++ +IF(CMAKE_BUILD_TYPE MATCHES "Debug" OR WITH_DEBUG) + IF(CMAKE_SYSTEM_NAME MATCHES "Linux" AND + CMAKE_COMPILER_IS_GNUCC AND CMAKE_COMPILER_IS_GNUCXX) + SET(MYSQL_MAINTAINER_MODE ON CACHE BOOL + "MySQL maintainer-specific development environment") + ENDIF() +ENDIF() + IF(BUILD_CONFIG) INCLUDE( ${CMAKE_SOURCE_DIR}/cmake/build_configurations/${BUILD_CONFIG}.cmake) @@ -130,38 +139,12 @@ ENDFOREACH() - # Following autotools tradition, add preprocessor definitions # specified in environment variable CPPFLAGS IF(DEFINED ENV{CPPFLAGS}) ADD_DEFINITIONS($ENV{CPPFLAGS}) ENDIF() -# -# Control aspects of the development environment which are -# specific to MySQL maintainers and developers. -# -INCLUDE(maintainer) - -OPTION(MYSQL_MAINTAINER_MODE - "MySQL maintainer-specific development environment" OFF) - -# Whether the maintainer mode compiler options should be enabled. -IF(MYSQL_MAINTAINER_MODE) - IF(CMAKE_C_COMPILER_ID MATCHES "GNU") - SET_MYSQL_MAINTAINER_GNU_C_OPTIONS() - ENDIF() - IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU") - SET_MYSQL_MAINTAINER_GNU_CXX_OPTIONS() - ENDIF() - IF(CMAKE_C_COMPILER_ID MATCHES "Intel") - SET_MYSQL_MAINTAINER_INTEL_C_OPTIONS() - ENDIF() - IF(CMAKE_CXX_COMPILER_ID MATCHES "Intel") - SET_MYSQL_MAINTAINER_INTEL_CXX_OPTIONS() - ENDIF() -ENDIF() - # Add macros INCLUDE(character_sets) INCLUDE(zlib) @@ -192,7 +175,6 @@ MARK_AS_ADVANCED(CYBOZU BACKUP_TEST WITHOUT_SERVER DISABLE_SHARED) - include(CheckCSourceCompiles) include(CheckCXXSourceCompiles) # We need some extra FAIL_REGEX patterns @@ -373,13 +355,13 @@ # not run with the warning options as to not perturb fragile checks # (i.e. do not make warnings into errors). # -IF(MYSQL_MAINTAINER_MODE) - # Set compiler flags required under maintainer mode. - MESSAGE(STATUS "C warning options: ${MY_MAINTAINER_C_WARNINGS}") - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MY_MAINTAINER_C_WARNINGS}") - MESSAGE(STATUS "C++ warning options: ${MY_MAINTAINER_CXX_WARNINGS}") - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MY_MAINTAINER_CXX_WARNINGS}") -ENDIF() +# Why doesn't these flags affect the entire build? +# Because things may already have been included with ADD_SUBDIRECTORY +# +OPTION(MYSQL_MAINTAINER_MODE + "MySQL maintainer-specific development environment" OFF) + +INCLUDE(maintainer) IF(NOT WITHOUT_SERVER) SET (MYSQLD_STATIC_PLUGIN_LIBS "" CACHE INTERNAL "") @@ -395,7 +377,6 @@ ADD_SUBDIRECTORY(mysys) ADD_SUBDIRECTORY(libmysql) - IF(WITH_UNIT_TESTS) ENABLE_TESTING() ENDIF() @@ -430,6 +411,7 @@ ADD_SUBDIRECTORY(internal) ENDIF() ADD_SUBDIRECTORY(packaging/rpm-oel) + ADD_SUBDIRECTORY(packaging/rpm-sles) ENDIF() INCLUDE(cmake/abi_check.cmake) @@ -487,7 +469,6 @@ ) INSTALL(FILES README DESTINATION ${INSTALL_DOCREADMEDIR} COMPONENT Readme) INSTALL(FILES ${CMAKE_BINARY_DIR}/Docs/INFO_SRC ${CMAKE_BINARY_DIR}/Docs/INFO_BIN DESTINATION ${INSTALL_DOCDIR}) - IF(UNIX) INSTALL(FILES Docs/INSTALL-BINARY DESTINATION ${INSTALL_DOCREADMEDIR} COMPONENT Readme) ENDIF() @@ -507,3 +488,37 @@ ENDIF() INCLUDE(CPack) + +# C compiler flags consist of: +# CPPFLAGS Taken from environment, see above. +# ADD_DEFINITIONS In each individual CMakeLists.txt +# CMAKE_C_FLAGS From command line. +# We extend these in maintainer.cmake +# ENV{CFLAGS} From environment, but environment is ignored if +# CMAKE_C_FLAGS is also given on command line +# CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE} +# We extend these in compiler_options.cmake +# +# Note that CMakeCache.txt contains cmake builtins for these variables, +# *not* the values that will actually be used: + +IF(CMAKE_GENERATOR MATCHES "Makefiles") + MESSAGE(STATUS "CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}") +ENDIF() +GET_PROPERTY(cwd_definitions DIRECTORY PROPERTY COMPILE_DEFINITIONS) +MESSAGE(STATUS "COMPILE_DEFINITIONS: ${cwd_definitions}") +MESSAGE(STATUS "CMAKE_C_FLAGS: ${CMAKE_C_FLAGS}") +MESSAGE(STATUS "CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}") +IF(CMAKE_BUILD_TYPE AND CMAKE_GENERATOR MATCHES "Makefiles") + STRING(TOUPPER "${CMAKE_BUILD_TYPE}" CMAKEBT) + MESSAGE(STATUS "CMAKE_C_FLAGS_${CMAKEBT}: ${CMAKE_C_FLAGS_${CMAKEBT}}") + MESSAGE(STATUS "CMAKE_CXX_FLAGS_${CMAKEBT}: ${CMAKE_CXX_FLAGS_${CMAKEBT}}") +ENDIF() +IF(NOT CMAKE_GENERATOR MATCHES "Makefiles") + MESSAGE(STATUS "CMAKE_C_FLAGS_DEBUG: ${CMAKE_C_FLAGS_DEBUG}") + MESSAGE(STATUS "CMAKE_CXX_FLAGS_DEBUG: ${CMAKE_CXX_FLAGS_DEBUG}") + MESSAGE(STATUS + "CMAKE_C_FLAGS_RELWITHDEBINFO: ${CMAKE_C_FLAGS_RELWITHDEBINFO}") + MESSAGE(STATUS + "CMAKE_CXX_FLAGS_RELWITHDEBINFO: ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") +ENDIF() diff -Nru mysql-5.5-5.5.40/configure.cmake mysql-5.5-5.5.41/configure.cmake --- mysql-5.5-5.5.40/configure.cmake 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/configure.cmake 2014-11-04 07:49:52.000000000 +0000 @@ -53,15 +53,6 @@ ENDIF() -# Always enable -Wall for gnu C/C++ -IF(CMAKE_COMPILER_IS_GNUCXX) - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-unused-parameter") -ENDIF() -IF(CMAKE_COMPILER_IS_GNUCC) - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") -ENDIF() - - IF(CMAKE_COMPILER_IS_GNUCXX) # MySQL "canonical" GCC flags. At least -fno-rtti flag affects # ABI and cannot be simply removed. diff -Nru mysql-5.5-5.5.40/debian/changelog mysql-5.5-5.5.41/debian/changelog --- mysql-5.5-5.5.40/debian/changelog 2014-10-07 18:40:04.000000000 +0000 +++ mysql-5.5-5.5.41/debian/changelog 2015-01-21 13:11:05.000000000 +0000 @@ -1,3 +1,17 @@ +mysql-5.5 (5.5.41-0ubuntu1) vivid; urgency=medium + + * SECURITY UPDATE: Update to 5.5.41 to fix security issues (LP: #1413188) + - http://www.oracle.com/technetwork/topics/security/cpujan2015-1972971.html + - CVE-2014-6568 + - CVE-2015-0374 + - CVE-2015-0381 + - CVE-2015-0382 + - CVE-2015-0411 + - CVE-2015-0432 + * d/p/fix-func_math-test-failure.patch: removed, upstream. + + -- Marc Deslauriers Wed, 21 Jan 2015 07:56:36 -0500 + mysql-5.5 (5.5.40-0ubuntu1) utopic; urgency=medium * New upstream point release, including fixes for: diff -Nru mysql-5.5-5.5.40/debian/patches/fix-func_math-test-failure.patch mysql-5.5-5.5.41/debian/patches/fix-func_math-test-failure.patch --- mysql-5.5-5.5.40/debian/patches/fix-func_math-test-failure.patch 2014-09-01 12:28:32.000000000 +0000 +++ mysql-5.5-5.5.41/debian/patches/fix-func_math-test-failure.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,34 +0,0 @@ -Description: Resolve test failure due to compiler optimization break -Author: norvald.ryeng@oracle.com -Forwarded: no -Bug: http://bugs.mysql.com/bug.php?id=72827 - ---- a/sql/item_func.cc -+++ b/sql/item_func.cc -@@ -1760,7 +1760,13 @@ longlong Item_func_neg::int_op() - if ((null_value= args[0]->null_value)) - return 0; - if (args[0]->unsigned_flag && -- (ulonglong) value > (ulonglong) LONGLONG_MAX + 1) -+ (ulonglong) value > (ulonglong) LONGLONG_MAX + 1ULL) -+ return raise_integer_overflow(); -+ // For some platforms we need special handling of LONGLONG_MIN to -+ // guarantee overflow. -+ if (value == LONGLONG_MIN && -+ !args[0]->unsigned_flag && -+ !unsigned_flag) - return raise_integer_overflow(); - return check_integer_overflow(-value, !args[0]->unsigned_flag && value < 0); - } ---- a/sql/item_func.h -+++ b/sql/item_func.h -@@ -251,7 +251,8 @@ public: - inline longlong check_integer_overflow(longlong value, bool val_unsigned) - { - if ((unsigned_flag && !val_unsigned && value < 0) || -- (!unsigned_flag && val_unsigned && (ulonglong) value > LONGLONG_MAX)) -+ (!unsigned_flag && val_unsigned && -+ (ulonglong) value > (ulonglong) LONGLONG_MAX)) - return raise_integer_overflow(); - return value; - } diff -Nru mysql-5.5-5.5.40/debian/patches/series mysql-5.5-5.5.41/debian/patches/series --- mysql-5.5-5.5.40/debian/patches/series 2014-09-05 10:13:17.000000000 +0000 +++ mysql-5.5-5.5.41/debian/patches/series 2015-01-21 13:11:11.000000000 +0000 @@ -12,5 +12,4 @@ 33_scripts__mysql_create_system_tables__no_test.patch 41_scripts__mysql_install_db.sh__no_test.patch 50_mysql-test__db_test.patch -fix-func_math-test-failure.patch fix-mysqlhotcopy-test-failure.patch diff -Nru mysql-5.5-5.5.40/Docs/ChangeLog mysql-5.5-5.5.41/Docs/ChangeLog --- mysql-5.5-5.5.40/Docs/ChangeLog 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/Docs/ChangeLog 2014-11-04 07:49:59.000000000 +0000 @@ -1,196 +1,322 @@ ------------------------------------------------------------ -revno: 4703 -committer: Murthy Narkedimilli -branch nick: mysql-5.5.40-release -timestamp: Mon 2014-09-08 11:33:55 +0200 +revno: 4736 +committer: Balasubramanian Kandasamy +branch nick: mysql-5.5.41-release +timestamp: Tue 2014-11-04 08:30:23 +0100 message: - Adding patch for security bug 19471516 + Added sles11 repo packages ------------------------------------------------------------ -revno: 4702 -committer: Murthy Narkedimilli -branch nick: mysql-5.5.40-release -timestamp: Fri 2014-09-05 08:37:21 +0200 +revno: 4735 +tags: clone-5.5.41-build +committer: mithun +branch nick: mysql-5.5 +timestamp: Mon 2014-11-03 18:10:28 +0530 message: - Applying the patch to remove WL#7219 which was by mistake included by the dev team. + Bug #19372926 : 5.5.38 FAILS FUNC_MATH MTR TEST. + + Issue : + ------- + This seems for some platform -(LONGLONG_MIN) is + not flagged as out of range. + + Fix: + ---- + Fix is backported from mysql-5.6 bug 14314156. + Fixed by adding an explicit test for this value in + Item_func_neg::int_op(). ------------------------------------------------------------ -revno: 4701 -committer: Murthy Narkedimilli -branch nick: mysql-5.5.40-release -timestamp: Tue 2014-08-26 14:01:38 +0200 +revno: 4734 +committer: Marko Makela +branch nick: mysql-5.5 +timestamp: Thu 2014-10-30 08:53:46 +0200 message: - Renaming the enterprise packages to commercial + Bug#19904003 INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG=1 CAUSES INFINITE PAGE SPLIT + + The debug configuration parameter innodb_optimistic_insert_debug + which was introduced for testing corner cases in B-tree handling + had a bug in it. The value 1 would trigger an infinite sequence + of page splits. + + Fix: When the value 1 is specified, disable this debug feature. + Approved by Yasufumi Kinoshita ------------------------------------------------------------ -revno: 4700 -tags: clone-5.5.40-build -committer: Harin Vadodaria -branch nick: 5.5 -timestamp: Sat 2014-08-23 08:59:03 +0530 +revno: 4733 +committer: Annamalai Gurusami +branch nick: mysql-5.5 +timestamp: Wed 2014-10-29 16:53:53 +0530 message: - Bug#19370676 : YASSL PRE-AUTH BUFFER OVERFLOW WHEN CLIENT - LIES ABOUT SUITE_LEN_ - and - Bug#19355577 : YASSL PRE-AUTH BUFFER OVERFLOW WHEN CLIENT - LIES ABOUT COMP_LEN_ + Bug #19908343 SERVER CRASHES WHEN EXECUTING ALTER TABLE + + Problem: + + In the function dict_foreign_remove_from_cache(), the rb tree was updated + without actually verifying whether the given foreign key object is there in the + rb tree or not. There can be an existing foreign key object with the same id + in the rb tree, which must not be removed. Such a scenario comes when an + attempt is made to add a foreign key object with a duplicate identifier. - Description : Updating yaSSL to version 2.3.4. + Solution: + + When the foreign key object is removed from the dictionary cache, ensure + that the foreign key object removed from the rbt is the correct one. + + rb#7168 approved by Jimmy and Marko. ------------------------------------------------------------ -revno: 4699 -committer: Tor Didriksen -branch nick: 5.5 -timestamp: Thu 2014-08-21 16:42:04 +0200 +revno: 4732 +committer: Marko Makela +branch nick: mysql-5.5 +timestamp: Mon 2014-10-27 14:27:08 +0200 message: - Bug#18928848 II. MALLOC OF UNINITIALIZED MEMORY SIZE + Bug#19584379 Reporting corruption may corrupt the innodb data dictionary - Several string functions have optimizations for constant - sub-expressions which lead to setting max_length == 0. + dict_set_corrupted(): Use the canonical way of searching for + less-than-equal (PAGE_CUR_LE) and then checking low_match. - For subqueries, where we need a temporary table to holde the result, - we need to ensure that we use a VARCHAR(0) column rather than a - CHAR(0) column when such expressions take part in grouping. - With CHAR(0) end_update() may write garbage into the next field. + The code that was introduced in MySQL 5.5.17 in + Bug#11830883 SUPPORT "CORRUPTED" BIT FOR INNODB TABLES AND INDEXES + could position the cursor on the page supremum, and then attempt + to overwrite non-existing 7th field of the 1-field supremum record. + + Approved by Jimmy Yang ------------------------------------------------------------ -revno: 4698 [merge] +revno: 4731 committer: Balasubramanian Kandasamy branch nick: mysql-5.5 -timestamp: Wed 2014-08-20 09:46:38 +0200 +timestamp: Thu 2014-10-23 06:56:47 +0200 message: - Add my.cnf.d to regular rpm for EL7 build - ------------------------------------------------------------ - revno: 4676.2.7 - committer: Balasubramanian Kandasamy - branch nick: mysql-5.5.39-ol7-release - timestamp: Tue 2014-08-12 19:37:49 +0200 - message: - Corrected typo - ------------------------------------------------------------ - revno: 4676.2.6 - committer: Balasubramanian Kandasamy - branch nick: mysql-5.5.39-ol7-release - timestamp: Tue 2014-08-12 18:55:05 +0200 - message: - Experimental testing - ------------------------------------------------------------ - revno: 4676.2.5 - committer: Balasubramanian Kandasamy - branch nick: mysql-5.5.39-ol7-release - timestamp: Tue 2014-08-12 18:26:46 +0200 - message: - Experimental testing for patch - ------------------------------------------------------------ - revno: 4676.2.4 - committer: Balasubramanian Kandasamy - branch nick: mysql-5.5.39-ol7-release - timestamp: Tue 2014-08-12 16:53:31 +0200 - message: - Added my.cnf.d directory, removed mysql-5.5-libmysqlclient-symbols.patch - ------------------------------------------------------------ - revno: 4676.2.3 - committer: Balasubramanian Kandasamy - branch nick: mysql-5.5.39-ol7-release - timestamp: Tue 2014-08-12 14:32:16 +0200 - message: - Add patch mysql-5.5-libmysqlclient-symbols.patch for el7 + Rpm 4.9 and newer is more strict regarding weekday in %changelog ------------------------------------------------------------ -revno: 4697 -committer: mithun +revno: 4730 +committer: Balasubramanian Kandasamy +branch nick: mysql-5.5 +timestamp: Tue 2014-10-21 16:19:47 +0200 +message: + Fix changelog entries build failure +------------------------------------------------------------ +revno: 4729 +committer: Balasubramanian Kandasamy branch nick: mysql-5.5 -timestamp: Tue 2014-08-12 17:16:51 +0530 +timestamp: Tue 2014-10-21 14:48:58 +0200 message: - Bug #11755818 : LIKE DOESN'T MATCH WHEN CP932_BIN/SJIS_BIN - COLLATIONS ARE USED. + Bug#19775856: When the socket option is relative, mysqld startup script fails on CentOS 6 +------------------------------------------------------------ +revno: 4728 +committer: Arun Kuruvila +branch nick: mysql-5.5 +timestamp: Tue 2014-10-21 16:25:35 +0530 +message: + Bug #16581605: REPLACE.EXE UTILITY IS BROKEN IN 5.5 - ISSUE : - ------- - Code points of HALF WIDTH KATAKANA in SJIS/CP932 range from - A1 to DF. In function my_wildcmp_mb_bin_impl while comparing - such single byte code points, there is a code which compares - signed character with unsigned character. Because of this, - comparisons of two same code points representing a HALF - WIDTH KATAKANA character always fails. + Description:- Replace, the string replacement utility fails + on the windows platform. - Solution: - --------- - A code point of HALF WIDTH KATAKANA at-least need 8 bits. - Promoting the variable from uchar to int will fix the issue. + Analysis:- The utility takes files and multiple string + pairs as input. In the windows platform, the utility maps + the standard input incorrectly (Considers 0 as the fd for + standard input instead of 2048 on windows). Hence when the + input file is supplied to the utility due to the incorrect + mapping, a bad file descriptor error is generated causing + the utility to exit with an error. + + Fix:- "my_fileno()" is used for getting the correct file + despscriptor for standard input. ------------------------------------------------------------ -revno: 4696 [merge] -committer: Balasubramanian Kandasamy +revno: 4727 +committer: Annamalai Gurusami branch nick: mysql-5.5 -timestamp: Wed 2014-08-06 09:56:37 +0200 +timestamp: Mon 2014-10-20 15:43:28 +0530 message: - - Merge from mysql-5.5.39-ol7-release branch - - Reverted version variable - ------------------------------------------------------------ - revno: 4676.2.2 - committer: Balasubramanian Kandasamy - branch nick: mysql-5.5.39-ol7-release - timestamp: Mon 2014-08-04 15:56:19 +0200 - message: - Updated for el7 regular rpms - ------------------------------------------------------------ - revno: 4676.2.1 - committer: Balasubramanian Kandasamy - branch nick: mysql-5.5.39-ol7-release - timestamp: Thu 2014-07-24 11:37:40 +0200 - message: - Bug#19223915 Provide mysql-compat-server dependencies + The test case innodb.foreign-keys is failing in pb2 5.5. This is because + some of the tables are created in InnoDB and some tables are created in MyISAM. + We need to create all tables on InnoDB. Fix is to add engine=innodb to the + CREATE TABLE statements. + + approved in IM by Marko and Vasil. ------------------------------------------------------------ -revno: 4695 -committer: bin.x.su@oracle.com +revno: 4726 +committer: Arun Kuruvila branch nick: mysql-5.5 -timestamp: Wed 2014-08-06 09:51:20 +0800 +timestamp: Fri 2014-10-17 11:14:26 +0530 message: - Remove unstable test case innodb_bug18942294, approved by Jimmy over IM. + Bug #14486004 MYSQL_SETPERMISSION DOES NOT QUOTE USER NAMES + + Description: Certain operations using the client tool + 'mysql\_setpermisson' which uses username of the format + "xxx-yyy" results in a syntax error. + + Analysis: The user name variable ( $user ) was not quoted + properly in the 'mysql\_setpermission' script. As a result, + while granting user privileges for a user with username of + the format 'xxx-yyy', results in a syntax error. + + Fix: The escape sequence has been applied for the user + variable in the script file. + + Note: Test case is not added for this fix. + 'mysql\_setpermission' executable resides in different + directories on pb2 machines and on local boxes. Hence the + test case cannot be made generic. ------------------------------------------------------------ -revno: 4694 -committer: Venkata Sidagam -branch nick: 5.5 -timestamp: Fri 2014-08-01 17:09:55 +0530 +revno: 4725 +committer: Jon Olav Hauglid +branch nick: mysql-5.5 +timestamp: Mon 2014-10-13 09:52:28 +0200 +message: + Bug#17633291: SET PROPER COMPILE OPTIONS FOR CLANG + Bug#17959689: MAKE GCC AND CLANG GIVE CONSISTENT COMPILATION WARNINGS + Bug#18313717: ENABLE -WERROR IN MAINTANER MODE WHEN COMPILING WITH CLANG + Bug#18510941: REMOVE CMAKE WORKAROUNDS FOR OLDER VERSIONS OF OS X/XCODE + + Backport from mysql-5.6 to mysql-5.5 +------------------------------------------------------------ +revno: 4724 +committer: Venkatesh Duggirala +branch nick: mysql-5.5 +timestamp: Wed 2014-10-08 21:54:35 +0530 message: - Bug #18415196 MYSQL_UPGRADE DUPLICATE KEY ERROR FOR MYSQL.USER FOR 5.5.35+, 5.6.15+, 5.7.3+ + Bug #18808072 MYSQLBINLOG USES LOCALTIME() TO PRINT EVENTS, CAUSES KERNEL MUTEX CONTENTION + + Problem: For every event read, mysqlbinlog calls localtime() which in turn + calls stat(/etc/localtime) which is causing kernel mutex contention. + + Analysis and Fix: + localtime() calls stat(/etc/localtime) for every instance of the call + where as localtime_r() the reentrant version was optimized to store + the read only tz internal structure. Hence it will not call + stat(/etc/localtime). It will call only once at the beginning. + The mysql server is calling localtime_r() and mysqlbinlog tool is + one place where we are still using localtime(). - Follow-up patch. Removed unwanted code. + Once the process (mysqlbinlog) is started if timezone is changed + it will be not picked up the the process and it will continue + with the same values as the beginning of the process. This + behavior is in-lined with mysql server. + + Also adding localtime_r() and gmtime_r() support for windows. ------------------------------------------------------------ -revno: 4693 -committer: Venkata Sidagam +revno: 4723 +committer: Sujatha Sivakumar +branch nick: Bug19145698_mysql-5.5 +timestamp: Wed 2014-10-08 10:50:02 +0530 +message: + Bug#19145698: READ OUT OF BOUNDS ISSUE + + Problem: + ======== + In a master slave replication if a slave receives a + Start_log_event_v3 the payload is expected to be of fixed + size. If a payload which is smaller than the fixed size is + received it causes a read out of bounds issue. + + Analysis: + ======== + According to documentation the fixed data part of + Start_log_event_v3 looks as shown below. + + 2 bytes: The binary log format version + 50 bytes: The MySQL server's version + 4 bytes: Timestamp in seconds when this event was created + + Since the payload is expected to be of fixed size, therefore + ST_SERVER_VER_LEN (50) bytes are memcpy'ed into + server_version. But if a malicious master sends a shorter + payload it causes a read out of bounds issue. + + Fix: + === + In Start_log_event_v3 event's constructor a check has been + added which expects the minimum payload length to be of size + common_header_len + ST_COMMON_HEADER_LEN_OFFSET bytes. If a + malicious packet of lesser length is received it will be + considered as an invalid event. +------------------------------------------------------------ +revno: 4722 +committer: Jon Olav Hauglid +branch nick: mysql-5.5 +timestamp: Mon 2014-10-06 12:54:53 +0200 +message: + Create .gitignore as a copy of .bzrignore +------------------------------------------------------------ +revno: 4721 +committer: magnus.blaudd@oracle.com branch nick: 5.5 -timestamp: Fri 2014-08-01 14:18:28 +0530 +timestamp: Thu 2014-10-02 15:58:02 +0200 +message: + Bug#19553099 EXPIRE_LOGS_DAYS=1 CRASH MYSQLD DURING RESTART, DBUG_SYNC(NULL, ...) + + - Restarting mysqld with --expire-log-days=1 triggers 'log_in_use()' to be called while current_thd is NULL. + - Check current_thd before calling DEBUG_SYNC() to avoid passing NULL pointer to DEBUG_SYNC() + - Wrap debug code construct inside #ifndef DBUG_OFF like in other parts of the file +------------------------------------------------------------ +revno: 4720 +committer: Kristofer Pettersson +branch nick: mysql-5.5 +timestamp: Mon 2014-09-29 10:17:38 +0200 +message: + Bug#19695101 UPGRADE YASSL TO 2.3.5 +------------------------------------------------------------ +revno: 4719 +committer: Sayantan Dutta +branch nick: mysql-5.5 +timestamp: Fri 2014-09-26 11:50:07 +0530 message: - Bug #18415196 MYSQL_UPGRADE DUPLICATE KEY ERROR FOR MYSQL.USER FOR 5.5.35+, 5.6.15+, 5.7.3+ + Bug #18964545 - ADD MTR SUPPORT FOR DEBUGGING WITH LLDB revert +------------------------------------------------------------ +revno: 4718 +committer: Bill Qu +branch nick: mysql-5.5 +timestamp: Wed 2014-09-24 09:44:48 +0800 +message: + Bug #15868071 USING SET GLOBAL SQL_LOG_BIN SHOULD NOT BE ALLOWED + + Normally, SET SESSION SQL_LOG_BIN is used by DBAs to run a + non-conflicting command locally only, ensuring it does not + get replicated. + Setting GLOBAL SQL_LOG_BIN would not require all sessions to + disconnect. When SQL_LOG_BIN is changed globally, it does not + immediately take effect for any sessions. It takes effect by + becoming the session-level default inherited at the start of + each new session, and this setting is kept and cached for the + duration of that session. Setting it intentionally is unlikely + to have a useful effect under any circumstance; setting it + unintentionally, such as while intending to use SET [SESSION] + is potentially disastrous. Accidentally using SET GLOBAL + SQL_LOG_BIN will not show an immediate effect to the user, + instead not having the desired session-level effect, and thus + causing other potential problems with local-only maintenance + being binlogged and executed on slaves; And transactions from + new sessions (after SQL_LOG_BIN is changed globally) are not + binlogged and replicated, which would result in irrecoverable + or difficult data loss. + This is the regular GLOBAL variables way to work, but in + replication context it does not look right on a working server + (with connected sessions) 'set global sql_log_bin' and none of + that connections is affected. Unexperienced DBA after noticing + that the command did "nothing" will change the session var and + most probably won't unset the global var, causing new sessions + to not be binlog. + Setting GLOBAL SQL_LOG_BIN allows DBA to stop binlogging on all + new sessions, which can be used to make a server "replication + read-only" without restarting the server. But this has such big + requirements, stop all existing connections, that it is more + likely to make a mess, it is too risky to allow the GLOBAL variable. - Description: mysql_upgrade fails with below error, - when there are duplicate entries(like 'root'@'LOCALHOST' - and 'root'@'localhost') in mysql.user table. - ERROR 1062 (23000) at line 1140: Duplicate entry 'localhost-root' for key 'PRIMARY' - FATAL ERROR: Upgrade failed - - Analysis: As part of the bug 12917151 fix we are - making all the hostnames as lower case hostnames. - So, this has been done by mysql_upgrade. - In case of above mentioned duplicate entries - mysql_upgrade tries to change hostname to lowercase. - Since there is already 'root'@'localhost' exists. - it is failing with "duplicate entry" error. - - Fix: Since its a valid error failure. We are - making the error more verbose. So, that user will - delete the duplicate errors manually. - Along with existing error we are printing below - error as well. - ERROR 1644 (45000) at line 1153: Multiple accounts exist for @user_name, @host_name that differ only in Host lettercase; remove all except one of them + The statement 'SET GLOBAL SQL_LOG_BIN=N' will produce an error + in 5.5, 5.6 and 5.7. Reading the GLOBAL SQL_LOG_BIN will produce + a deprecation warning in 5.7. ------------------------------------------------------------ -revno: 4692 [merge] -author: +revno: 4717 [merge] +author: murthy.narkedimilli@oracle.com committer: Murthy Narkedimilli branch nick: mysql-5.5 -timestamp: Thu 2014-07-31 12:30:05 +0200 +timestamp: Tue 2014-09-23 08:51:23 +0200 message: - Merge from mysql-5.5.39-release + Merge from mysql-5.5.40-release ------------------------------------------------------------ - revno: 4676.1.7 - tags: mysql-5.5.39 - committer: Ashish Agarwal - branch nick: revert_patch - timestamp: Sat 2014-07-19 11:24:21 +0530 + revno: 4700.1.3 + tags: mysql-5.5.40 + committer: Murthy Narkedimilli + branch nick: mysql-5.5.40-release + timestamp: Mon 2014-09-08 11:33:55 +0200 message: - WL#7219: Reverting the wl#7219 patch in mysql-5.5.39-release branch + Adding patch for security bug 19471516 diff -Nru mysql-5.5-5.5.40/Docs/INFO_SRC mysql-5.5-5.5.41/Docs/INFO_SRC --- mysql-5.5-5.5.40/Docs/INFO_SRC 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/Docs/INFO_SRC 2014-11-04 07:49:52.000000000 +0000 @@ -1,7 +1,7 @@ -revision-id: murthy.narkedimilli@oracle.com-20140908093355-wke5jqoo1gfo0j93 -date: 2014-09-08 11:33:55 +0200 -build-date: 2014-09-08 11:44:39 +0200 -revno: 4703 -branch-nick: mysql-5.5.40-release +revision-id: balasubramanian.kandasamy@oracle.com-20141104073023-i17n6rt219muswi6 +date: 2014-11-04 08:30:23 +0100 +build-date: 2014-11-04 08:37:24 +0100 +revno: 4736 +branch-nick: mysql-5.5.41-release -MySQL source 5.5.40 +MySQL source 5.5.41 diff -Nru mysql-5.5-5.5.40/Docs/INSTALL-BINARY mysql-5.5-5.5.41/Docs/INSTALL-BINARY --- mysql-5.5-5.5.40/Docs/INSTALL-BINARY 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/Docs/INSTALL-BINARY 2014-11-04 07:49:59.000000000 +0000 @@ -1,60 +1,63 @@ - 2.2 Installing MySQL on Unix/Linux Using Generic Binaries Oracle provides a set of binary distributions of MySQL. These - include binary distributions in the form of compressed tar files - (files with a .tar.gz extension) for a number of platforms, as - well as binaries in platform-specific package formats for selected - platforms. - - This section covers the installation of MySQL from a compressed - tar file binary distribution. For other platform-specific package - formats, see the other platform-specific sections. For example, - for Windows distributions, see Section 2.3, "Installing MySQL on + include binary distributions in the form of compressed tar + files (files with a .tar.gz extension) for a number of + platforms, as well as binaries in platform-specific package + formats for selected platforms. + + This section covers the installation of MySQL from a + compressed tar file binary distribution. For other + platform-specific package formats, see the other + platform-specific sections. For example, for Windows + distributions, see Section 2.3, "Installing MySQL on Microsoft Windows." To obtain MySQL, see Section 2.1.3, "How to Get MySQL." - MySQL compressed tar file binary distributions have names of the - form mysql-VERSION-OS.tar.gz, where VERSION is a number (for - example, 5.5.41), and OS indicates the type of operating system - for which the distribution is intended (for example, pc-linux-i686 - or winx64). - - To install MySQL from a compressed tar file binary distribution, - your system must have GNU gunzip to uncompress the distribution - and a reasonable tar to unpack it. If your tar program supports - the z option, it can both uncompress and unpack the file. + MySQL compressed tar file binary distributions have names of + the form mysql-VERSION-OS.tar.gz, where VERSION is a number + (for example, 5.5.42), and OS indicates the type of operating + system for which the distribution is intended (for example, + pc-linux-i686 or winx64). + + To install MySQL from a compressed tar file binary + distribution, your system must have GNU gunzip to uncompress + the distribution and a reasonable tar to unpack it. If your + tar program supports the z option, it can both uncompress and + unpack the file. GNU tar is known to work. The standard tar provided with some - operating systems is not able to unpack the long file names in the - MySQL distribution. You should download and install GNU tar, or if - available, use a preinstalled version of GNU tar. Usually this is - available as gnutar, gtar, or as tar within a GNU or Free Software - directory, such as /usr/sfw/bin or /usr/local/bin. GNU tar is - available from http://www.gnu.org/software/tar/. + operating systems is not able to unpack the long file names + in the MySQL distribution. You should download and install + GNU tar, or if available, use a preinstalled version of GNU + tar. Usually this is available as gnutar, gtar, or as tar + within a GNU or Free Software directory, such as /usr/sfw/bin + or /usr/local/bin. GNU tar is available from + http://www.gnu.org/software/tar/. Warning - If you have previously installed MySQL using your operating system - native package management system, such as yum or apt-get, you may - experience problems installing using a native binary. Make sure - your previous MySQL previous installation has been removed - entirely (using your package management system), and that any - additional files, such as old versions of your data files, have - also been removed. You should also check the existence of - configuration files such as /etc/my.cnf or the /etc/mysql - directory have been deleted. - - If you run into problems and need to file a bug report, please use - the instructions in Section 1.7, "How to Report Bugs or Problems." - - On Unix, to install a compressed tar file binary distribution, - unpack it at the installation location you choose (typically - /usr/local/mysql). This creates the directories shown in the - following table. + If you have previously installed MySQL using your operating + system native package management system, such as yum or + apt-get, you may experience problems installing using a + native binary. Make sure your previous MySQL previous + installation has been removed entirely (using your package + management system), and that any additional files, such as + old versions of your data files, have also been removed. You + should also check the existence of configuration files such + as /etc/my.cnf or the /etc/mysql directory have been deleted. + + If you run into problems and need to file a bug report, + please use the instructions in Section 1.7, "How to Report + Bugs or Problems." + + On Unix, to install a compressed tar file binary + distribution, unpack it at the installation location you + choose (typically /usr/local/mysql). This creates the + directories shown in the following table. - Table 2.3 MySQL Installation Layout for Generic Unix/Linux Binary - Package + Table 2.3 MySQL Installation Layout for Generic Unix/Linux + Binary Package Directory Contents of Directory bin Client programs and the mysqld server data Log files, databases @@ -67,14 +70,15 @@ sample configuration files, SQL for database installation sql-bench Benchmarks - Debug versions of the mysqld binary are available as mysqld-debug. - To compile your own debug version of MySQL from a source - distribution, use the appropriate configuration options to enable - debugging support. For more information on compiling from source, - see Section 2.9, "Installing MySQL from Source." + Debug versions of the mysqld binary are available as + mysqld-debug. To compile your own debug version of MySQL from + a source distribution, use the appropriate configuration + options to enable debugging support. For more information on + compiling from source, see Section 2.9, "Installing MySQL + from Source." - To install and use a MySQL binary distribution, the basic command - sequence looks like this: + To install and use a MySQL binary distribution, the basic + command sequence looks like this: shell> groupadd mysql shell> useradd -r -g mysql mysql shell> cd /usr/local @@ -96,43 +100,44 @@ installing a binary distribution follows. Note - This procedure assumes that you have root (administrator) access - to your system. Alternatively, you can prefix each command using - the sudo (Linux) or pfexec (OpenSolaris) command. - - The procedure does not set up any passwords for MySQL accounts. - After following the procedure, proceed to Section 2.10.2, - "Securing the Initial MySQL Accounts." + This procedure assumes that you have root (administrator) + access to your system. Alternatively, you can prefix each + command using the sudo (Linux) or pfexec (OpenSolaris) + command. + + The procedure does not set up any passwords for MySQL + accounts. After following the procedure, proceed to Section + 2.10.2, "Securing the Initial MySQL Accounts." Create a mysql User and Group - If your system does not already have a user and group for mysqld - to run as, you may need to create one. The following commands add - the mysql group and the mysql user. You might want to call the - user and group something else instead of mysql. If so, substitute - the appropriate name in the following instructions. The syntax for - useradd and groupadd may differ slightly on different versions of - Unix, or they may have different names such as adduser and - addgroup. + If your system does not already have a user and group for + mysqld to run as, you may need to create one. The following + commands add the mysql group and the mysql user. You might + want to call the user and group something else instead of + mysql. If so, substitute the appropriate name in the + following instructions. The syntax for useradd and groupadd + may differ slightly on different versions of Unix, or they + may have different names such as adduser and addgroup. shell> groupadd mysql shell> useradd -r -g mysql mysql Note Because the user is required only for ownership purposes, not - login purposes, the useradd command uses the -r option to create a - user that does not have login permissions to your server host. - Omit this option to permit logins for the user (or if your useradd - does not support the option). + login purposes, the useradd command uses the -r option to + create a user that does not have login permissions to your + server host. Omit this option to permit logins for the user + (or if your useradd does not support the option). Obtain and Unpack the Distribution - Pick the directory under which you want to unpack the distribution - and change location into it. The example here unpacks the - distribution under /usr/local. The instructions, therefore, assume - that you have permission to create files and directories in - /usr/local. If that directory is protected, you must perform the - installation as root. + Pick the directory under which you want to unpack the + distribution and change location into it. The example here + unpacks the distribution under /usr/local. The instructions, + therefore, assume that you have permission to create files + and directories in /usr/local. If that directory is + protected, you must perform the installation as root. shell> cd /usr/local Obtain a distribution file using the instructions in Section @@ -140,618 +145,1025 @@ distributions for all platforms are built from the same MySQL source distribution. - Unpack the distribution, which creates the installation directory. - Then create a symbolic link to that directory. tar can uncompress - and unpack the distribution if it has z option support: + Unpack the distribution, which creates the installation + directory. Then create a symbolic link to that directory. tar + can uncompress and unpack the distribution if it has z option + support: shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz shell> ln -s full-path-to-mysql-VERSION-OS mysql - The tar command creates a directory named mysql-VERSION-OS. The ln - command makes a symbolic link to that directory. This enables you - to refer more easily to the installation directory as - /usr/local/mysql. - - If your tar does not have z option support, use gunzip to unpack - the distribution and tar to unpack it. Replace the preceding tar - command with the following alternative command to uncompress and - extract the distribution: + The tar command creates a directory named mysql-VERSION-OS. + The ln command makes a symbolic link to that directory. This + enables you to refer more easily to the installation + directory as /usr/local/mysql. + + If your tar does not have z option support, use gunzip to + unpack the distribution and tar to unpack it. Replace the + preceding tar command with the following alternative command + to uncompress and extract the distribution: shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf - Perform Postinstallation Setup - The remainder of the installation process involves setting up the - configuration file, creating the core databases, and starting the - MySQL server. For next steps, see Section 2.10, "Postinstallation - Setup and Testing." + The remainder of the installation process involves setting up + the configuration file, creating the core databases, and + starting the MySQL server. For next steps, see Section 2.10, + "Postinstallation Setup and Testing." Note - The accounts that are listed in the MySQL grant tables initially - have no passwords. After starting the server, you should set up - passwords for them using the instructions in Section 2.10.2, - "Securing the Initial MySQL Accounts." - + The accounts that are listed in the MySQL grant tables + initially have no passwords. After starting the server, you + should set up passwords for them using the instructions in + Section 2.10.2, "Securing the Initial MySQL Accounts." 2.3 Installing MySQL on Microsoft Windows + There are several different methods to install MySQL on + Microsoft Windows. + +Simple Installation Method + + The simplest and recommended method is to download MySQL + Installer (for Windows) and let it install and configure all + of the MySQL products on your system. Here is how: + + * Download MySQL Installer from + http://dev.mysql.com/downloads/installer/ and execute it. + Note + Unlike the standard MySQL Installer, the smaller + "web-community" version does not bundle any MySQL + applications but it will download the MySQL products you + choose to install. + + * Choose the appropriate Setup Type for your system. + Typically you will choose Developer Default to install + MySQL server and other MySQL tools related to MySQL + development, helpful tools like MySQL Workbench. Or, + choose the Custom setup type to manually select your + desired MySQL products. + Note + Multiple versions of MySQL server can exist on a single + system. You can choose one or multiple versions. + + * Complete the installation process by following the MySQL + Installation wizard's instructions. This will install + several MySQL products and start the MySQL server. + + * MySQL is now installed. You probably configured MySQL as + a service that will automatically start MySQL server + every time you restart your system. + + Note + + You probably also installed other helpful MySQL products like + MySQL Workbench and MySQL Notifier on your system. Consider + loading Chapter 26, "MySQL Workbench" to check your new MySQL + server connection, and Section 2.3.4, "MySQL Notifier" to + view the connection's status. By default, these two programs + automatically start after installing MySQL. + + This process also installs the MySQL Installer application on + your system, and later you can use MySQL Installer to upgrade + or reconfigure your MySQL products. + +Additional Installation Information + MySQL is available for Microsoft Windows, for both 32-bit and - 64-bit versions. For supported Windows platform information, see - http://www.mysql.com/support/supportedplatforms/database.html. + 64-bit versions. For supported Windows platform information, + see + http://www.mysql.com/support/supportedplatforms/database.html + . It is possible to run MySQL as a standard application or as a - Windows service. By using a service, you can monitor and control - the operation of the server through the standard Windows service - management tools. For more information, see Section 2.3.7.7, - "Starting MySQL as a Windows Service." - - Generally, you should install MySQL on Windows using an account - that has administrator rights. Otherwise, you may encounter - problems with certain operations such as editing the PATH - environment variable or accessing the Service Control Manager. - Once installed, MySQL does not need to be executed using a user - with Administrator privileges. + Windows service. By using a service, you can monitor and + control the operation of the server through the standard + Windows service management tools. For more information, see + Section 2.3.7.7, "Starting MySQL as a Windows Service." + + Generally, you should install MySQL on Windows using an + account that has administrator rights. Otherwise, you may + encounter problems with certain operations such as editing + the PATH environment variable or accessing the Service + Control Manager. Once installed, MySQL does not need to be + executed using a user with Administrator privileges. For a list of limitations on the use of MySQL on the Windows platform, see Section D.10.6, "Windows Platform Limitations." In addition to the MySQL Server package, you may need or want additional components to use MySQL with your application or - development environment. These include, but are not limited to: + development environment. These include, but are not limited + to: - * To connect to the MySQL server using ODBC, you must have a - Connector/ODBC driver. For more information, including + * To connect to the MySQL server using ODBC, you must have + a Connector/ODBC driver. For more information, including installation and configuration instructions, see MySQL Connector/ODBC Developer Guide (http://dev.mysql.com/doc/connector-odbc/en/index.html). + Note + MySQL Installer will install and configure Connector/ODBC + for you. - * To use MySQL server with .NET applications, you must have the - Connector/Net driver. For more information, including + * To use MySQL server with .NET applications, you must have + the Connector/Net driver. For more information, including installation and configuration instructions, see MySQL Connector/Net Developer Guide (http://dev.mysql.com/doc/connector-net/en/index.html). + Note + MySQL Installer will install and configure Connector/NET + for you. MySQL distributions for Windows can be downloaded from - http://dev.mysql.com/downloads/. See Section 2.1.3, "How to Get - MySQL." + http://dev.mysql.com/downloads/. See Section 2.1.3, "How to + Get MySQL." - MySQL for Windows is available in several distribution formats, - detailed below. Generally speaking, you should use MySQL - Installer. It contains more features and MySQL products than the - older MSI, is simpler to use than the ZIP file, and you need no - additional tools to get MySQL up and running. MySQL Installer - automatically installs MySQL Server and additional MySQL products, - creates an options file, starts the server, and enables you to - create default user accounts. For more information on choosing a - package, see Section 2.3.2, "Choosing An Installation Package." + MySQL for Windows is available in several distribution + formats, detailed below. Generally speaking, you should use + MySQL Installer. It contains more features and MySQL products + than the older MSI, is simpler to use than the ZIP file, and + you need no additional tools to get MySQL up and running. + MySQL Installer automatically installs MySQL Server and + additional MySQL products, creates an options file, starts + the server, and enables you to create default user accounts. + For more information on choosing a package, see Section + 2.3.2, "Choosing An Installation Package." * Binary installer distributions. There are two different - installable distributions that come packaged as a Microsoft - Windows Installer (MSI) package that you can install manually - or automatically on your systems. The preferred MySQL - Installer package includes MySQL Server and additional MySQL - products including MySQL Workbench, MySQL Notifier, and MySQL - for Excel. MySQL Installer can also be used to upgrade these - product in the future. The older MSI package contains all the - files you need to install and configure MySQL server, but no - additional components. - For instructions on installing MySQL using MySQL Installer, - see Section 2.3.3, "Installing MySQL on Microsoft Windows - Using MySQL Installer." + installable distributions that come packaged as a + Microsoft Windows Installer (MSI) package that you can + install manually or automatically on your systems. The + preferred MySQL Installer package includes MySQL Server + and additional MySQL products including MySQL Workbench, + MySQL Notifier, and MySQL for Excel. MySQL Installer can + also be used to upgrade these product in the future. The + older MSI package contains all the files you need to + install and configure MySQL server, but no additional + components. + For instructions on installing MySQL using MySQL + Installer, see Section 2.3.3, "Installing MySQL on + Microsoft Windows Using MySQL Installer." * The standard binary distribution (packaged as a Zip file) - contains all of the necessary files that you unpack into your - chosen location. This package contains all of the files in the - full Windows MSI Installer package, but does not include an - installation program. - For instructions on installing MySQL using the Zip file, see - Section 2.3.7, "Installing MySQL on Microsoft Windows Using a - noinstall Zip Archive." + contains all of the necessary files that you unpack into + your chosen location. This package contains all of the + files in the full Windows MSI Installer package, but does + not include an installation program. + For instructions on installing MySQL using the Zip file, + see Section 2.3.7, "Installing MySQL on Microsoft Windows + Using a noinstall Zip Archive." * The source distribution format contains all the code and - support files for building the executables using the Visual - Studio compiler system. - For instructions on building MySQL from source on Windows, see - Section 2.9, "Installing MySQL from Source." + support files for building the executables using the + Visual Studio compiler system. + For instructions on building MySQL from source on + Windows, see Section 2.9, "Installing MySQL from Source." MySQL on Windows considerations: * Large Table Support - If you need tables with a size larger than 4GB, install MySQL - on an NTFS or newer file system. Do not forget to use MAX_ROWS - and AVG_ROW_LENGTH when you create tables. See Section - 13.1.17, "CREATE TABLE Syntax." + If you need tables with a size larger than 4GB, install + MySQL on an NTFS or newer file system. Do not forget to + use MAX_ROWS and AVG_ROW_LENGTH when you create tables. + See Section 13.1.17, "CREATE TABLE Syntax." * MySQL and Virus Checking Software - Virus-scanning software such as Norton/Symantec Anti-Virus on - directories containing MySQL data and temporary tables can - cause issues, both in terms of the performance of MySQL and - the virus-scanning software misidentifying the contents of the - files as containing spam. This is due to the fingerprinting - mechanism used by the virus-scanning software, and the way in - which MySQL rapidly updates different files, which may be - identified as a potential security risk. + Virus-scanning software such as Norton/Symantec + Anti-Virus on directories containing MySQL data and + temporary tables can cause issues, both in terms of the + performance of MySQL and the virus-scanning software + misidentifying the contents of the files as containing + spam. This is due to the fingerprinting mechanism used by + the virus-scanning software, and the way in which MySQL + rapidly updates different files, which may be identified + as a potential security risk. After installing MySQL Server, it is recommended that you - disable virus scanning on the main directory (datadir) used to - store your MySQL table data. There is usually a system built - into the virus-scanning software to enable specific - directories to be ignored. - In addition, by default, MySQL creates temporary files in the - standard Windows temporary directory. To prevent the temporary - files also being scanned, configure a separate temporary - directory for MySQL temporary files and add this directory to - the virus scanning exclusion list. To do this, add a - configuration option for the tmpdir parameter to your my.ini - configuration file. For more information, see Section 2.3.7.2, - "Creating an Option File." + disable virus scanning on the main directory (datadir) + used to store your MySQL table data. There is usually a + system built into the virus-scanning software to enable + specific directories to be ignored. + In addition, by default, MySQL creates temporary files in + the standard Windows temporary directory. To prevent the + temporary files also being scanned, configure a separate + temporary directory for MySQL temporary files and add + this directory to the virus scanning exclusion list. To + do this, add a configuration option for the tmpdir + parameter to your my.ini configuration file. For more + information, see Section 2.3.7.2, "Creating an Option + File." 2.3.1 MySQL Installation Layout on Microsoft Windows - For MySQL 5.5 on Windows, the default installation directory is - C:\Program Files\MySQL\MySQL Server 5.5. Some Windows users prefer - to install in C:\mysql, the directory that formerly was used as - the default. However, the layout of the subdirectories remains the - same. + For MySQL 5.5 on Windows, the default installation directory + is C:\Program Files\MySQL\MySQL Server 5.5. Some Windows + users prefer to install in C:\mysql, the directory that + formerly was used as the default. However, the layout of the + subdirectories remains the same. - All of the files are located within this parent directory, using - the structure shown in the following table. + All of the files are located within this parent directory, + using the structure shown in the following table. - Table 2.4 Default MySQL Installation Layout for Microsoft Windows + Table 2.4 Default MySQL Installation Layout for Microsoft + Windows Directory Contents of Directory Notes bin Client programs and the mysqld server - %ALLUSERSPROFILE%\MySQL\MySQL Server 5.5\ Log files, databases - (Windows XP, Windows Server 2003) The Windows system variable - %ALLUSERSPROFILE% defaults to C:\Documents and Settings\All - Users\Application Data - %PROGRAMDATA%\MySQL\MySQL Server 5.5\ Log files, databases (Vista, - Windows 7, Windows Server 2008, and newer) The Windows system - variable %PROGRAMDATA% defaults to C:\ProgramData + %ALLUSERSPROFILE%\MySQL\MySQL Server 5.5\ Log files, + databases (Windows XP, Windows Server 2003) The Windows + system variable %ALLUSERSPROFILE% defaults to C:\Documents + and Settings\All Users\Application Data + %PROGRAMDATA%\MySQL\MySQL Server 5.5\ Log files, databases + (Vista, Windows 7, Windows Server 2008, and newer) The + Windows system variable %PROGRAMDATA% defaults to + C:\ProgramData examples Example programs and scripts include Include (header) files lib Libraries scripts Utility scripts share Miscellaneous support files, including error messages, - character set files, sample configuration files, SQL for database - installation + character set files, sample configuration files, SQL for + database installation - If you install MySQL using a Windows MSI package, this package - creates and sets up the data directory that the installed server - will use, but as of MySQL 5.5.5, it also creates a pristine - "template" data directory named data under the installation - directory. This directory can be useful when the machine will be - used to run multiple instances of MySQL: After an installation has - been performed using an MSI package, the template data directory - can be copied to set up additional MySQL instances. See Section - 5.3, "Running Multiple MySQL Instances on One Machine." + If you install MySQL using a Windows MSI package, this + package creates and sets up the data directory that the + installed server will use, but as of MySQL 5.5.5, it also + creates a pristine "template" data directory named data under + the installation directory. This directory can be useful when + the machine will be used to run multiple instances of MySQL: + After an installation has been performed using an MSI + package, the template data directory can be copied to set up + additional MySQL instances. See Section 5.3, "Running + Multiple MySQL Instances on One Machine." 2.3.2 Choosing An Installation Package - For MySQL 5.5, there are installation package formats to choose - from when installing MySQL on Windows: + For MySQL 5.5, there are installation package formats to + choose from when installing MySQL on Windows: Note - MySQL Installer and the "Complete Package" methods for installing - MySQL are similar, but different. The MySQL Installer is the newer - and more advanced option, and it includes all functionality found - within the "Complete Package." + MySQL Installer and the "Complete Package" methods for + installing MySQL are similar, but different. The MySQL + Installer is the newer and more advanced option, and it + includes all functionality found within the "Complete + Package." * MySQL Installer: This package has a file name similar to - mysql-installer-community-5.5.41.0.msi or - mysql-installer-commercial-5.5.41.0.msi, and utilizes MSIs to - automatically install MySQL server and other products. It will - download and apply updates to itself, and for each of the - installed products. It also configures the additional - non-server products. - The installed products are configurable, and this includes: - documentation with samples and examples, connectors (such as - C, C++, J, NET, and ODBC), MySQL Workbench, MySQL Notifier, - MySQL for Excel, and the MySQL Server with its components. - MySQL Installer will run on all Windows platforms that are - supported by MySQL (see - http://www.mysql.com/support/supportedplatforms/database.html) - . + mysql-installer-community-5.5.42.0.msi or + mysql-installer-commercial-5.5.42.0.msi, and utilizes + MSIs to automatically install MySQL server and other + products. It will download and apply updates to itself, + and for each of the installed products. It also + configures the additional non-server products. + The installed products are configurable, and this + includes: documentation with samples and examples, + connectors (such as C, C++, J, NET, and ODBC), MySQL + Workbench, MySQL Notifier, MySQL for Excel, and the MySQL + Server with its components. + MySQL Installer will run on all Windows platforms that + are supported by MySQL (see + http://www.mysql.com/support/supportedplatforms/database. + html). Note - Because MySQL Installer is not a native component of Microsoft - Windows and depends on .NET, it will not work on minimal - installation options like the "Server Core" version of Windows - Server 2008. - For instructions on installing MySQL using MySQL Installer, - see Section 2.3.3, "Installing MySQL on Microsoft Windows - Using MySQL Installer." - - * The Complete Package: This package has a file name similar to - mysql-5.5.41-win32.msi and contains all files needed for a - complete Windows installation, including the Configuration - Wizard. This package includes optional components such as the - embedded server and benchmark suite. - - * The Noinstall Archive: This package has a file name similar to - mysql-5.5.41-win32.zip and contains all the files found in the - Complete install package, with the exception of the - Configuration Wizard. This package does not include an - automated installer, and must be manually installed and - configured. - - MySQL Installer is recommended for most users. Both MySQL - Installer and the alternative "Complete distribution" versions are - available as .msi files for use with installations on Windows. The - Noinstall distribution is packaged as a Zip archive. To use a Zip - archive, you must have a tool that can unpack .zip files. - - Your choice of install package affects the installation process - you must follow. If you choose to install using MySQL Installer, - see Section 2.3.3, "Installing MySQL on Microsoft Windows Using - MySQL Installer." If you choose to install a standard MSI package, - see Section 2.3.5, "Installing MySQL on Microsoft Windows Using an - MSI Package." If you choose to install a Noinstall archive, see - Section 2.3.7, "Installing MySQL on Microsoft Windows Using a - noinstall Zip Archive." + Because MySQL Installer is not a native component of + Microsoft Windows and depends on .NET, it will not work + on minimal installation options like the "Server Core" + version of Windows Server 2008. + For instructions on installing MySQL using MySQL + Installer, see Section 2.3.3, "Installing MySQL on + Microsoft Windows Using MySQL Installer." + + * The Complete Package: This package has a file name + similar to mysql-5.5.42-win32.msi or + mysql-5.5.42-winx64.zip, and contains all files needed + for a complete Windows installation, including the + Configuration Wizard. This package includes optional + components such as the embedded server and benchmark + suite. + + * The Noinstall Archive: This package has a file name + similar to mysql-5.5.42-win32.zip or + mysql-5.5.42-winx64.zip, and contains all the files found + in the Complete install package, with the exception of + the GUI. This package does not include an automated + installer, and must be manually installed and configured. + + MySQL Installer is recommended for most users. + + Your choice of install package affects the installation + process you must follow. If you choose to use MySQL + Installer, see Section 2.3.3, "Installing MySQL on Microsoft + Windows Using MySQL Installer." If you choose to install a + standard MSI package, see Section 2.3.5, "Installing MySQL on + Microsoft Windows Using an MSI Package." If you choose to + install a Noinstall archive, see Section 2.3.7, "Installing + MySQL on Microsoft Windows Using a noinstall Zip Archive." 2.3.3 Installing MySQL on Microsoft Windows Using MySQL Installer - MySQL Installer is an application that simplifies the installation - and updating process for a wide range of MySQL products, including - MySQL Notifier, MySQL Workbench, and MySQL for Excel - (http://dev.mysql.com/doc/mysql-for-excel/en/index.html). From - this central application, you can see which MySQL products are - already installed, configure them, and update or remove them if - necessary. The installer can also install plugins, documentation, - tutorials, and example databases. The MySQL Installer is only - available for Microsoft Windows, and includes both a GUI and - command-line interface. + MySQL Installer simplifies the installation and updating + process for your MySQL products on Microsoft Windows. From + this central application, you can view, remove, update, and + reconfigure the existing MySQL products on your system. MySQL + Installer can also install plugins, documentation, tutorials, + and example databases. The MySQL Installer is only available + for Microsoft Windows, and includes both GUI and command-line + interfaces. + + The supported products include: + + * MySQL server (http://dev.mysql.com/doc/) (one or multiple + versions) + + * MySQL Workbench + + * MySQL Connectors + (http://dev.mysql.com/doc/index-connectors.html) (.Net / + Python / ODBC / Java / C / C++) + + * MySQL Notifier + + * MySQL for Excel + (http://dev.mysql.com/doc/mysql-for-excel/en/index.html) + + * MySQL for Visual Studio + (http://dev.mysql.com/doc/connector-net/en/connector-net- + visual-studio.html) + + * MySQL Utilities and MySQL Fabric + (http://dev.mysql.com/doc/index-utils-fabric.html) + + * MySQL Samples and Examples + + * MySQL Documentation + + * MySQL Installer is also installed and remains on the + system as its own application Installer package types - * Full: Bundles all of the MySQL products (including MySQL - Server). The file' size is over 160MB, and its name has the - form mysql-installer-community-VERSION.N.msi where VERSION is - the MySQL Server version number such as 5.6 and N is the - package number, which begins at 0. - - * Web: Only contains the Installer and configuration files, and - it only downloads the MySQL products you choose to install. - The size of this file is about 2MB; the name of the file has - the form mysql-installer-community-web-VERSION.N.msi where - VERSION is the MySQL Server version number such as 5.6 and N - is the package number, which begins at 0. + * Full: Bundles all of the MySQL products (including the + MySQL server). The file' size is over 200MB, and its name + has the form mysql-installer-community-VERSION.N.msi + where VERSION is the MySQL Server version number such as + 5.6 and N is the package number, which begins at 0. + + * Web: Only contains the Installer and configuration files, + and it only downloads the MySQL products you choose to + install. The size of this file is about 2MB; the name of + the file has the form + mysql-installer-community-web-VERSION.N.msi where VERSION + is the MySQL Server version number such as 5.6 and N is + the package number, which begins at 0. Installer editions * Community edition: Downloadable at - http://dev.mysql.com/downloads/installer/. It installs the - community edition of all MySQL products. + http://dev.mysql.com/downloads/installer/. It installs + the community edition of all MySQL products. - * Commercial edition: Downloadable at either My Oracle Support - (https://support.oracle.com/) (MOS) or + * Commercial edition: Downloadable at either My Oracle + Support (https://support.oracle.com/) (MOS) or https://edelivery.oracle.com/. It installs the commercial - version of all MySQL products, including Workbench SE. It also - integrates with your MOS account, so enter in your MOS - credentials to automatically receive updates for your - commercial MySQL products. + version of all MySQL products, including Workbench SE/EE. + It also integrates with your MOS account. + Note + Entering your MOS credentials is optional when installing + bundled MySQL products, but your credentials are required + when choosing non-bundled MySQL products that MySQL + Installer must download. For notes detailing the changes in each release of MySQL Installer, see MySQL Installer Release Notes (http://dev.mysql.com/doc/relnotes/mysql-installer/en/). - MySQL Installer is compatible with pre-existing installations, and - adds them to its list of installed components. While the MySQL - Installer is bundled with a specific version of MySQL Server, a - single MySQL Installer instance can install and manage multiple - MySQL Server versions. For example, a single MySQL Installer - instance can install versions 5.1, 5.5, and 5.6. It can also - manage either commercial or community editions of the MySQL - Server. - Note - - A single host can not have both community and commercial editions - of MySQL Server installed. For example, if you want both MySQL - Server 5.5 and 5.6 installed on a single host, then both must be - the same commercial or community edition. - - MySQL Installer handles the initial configuration and setup of the - applications. For example: - - 1. It will create MySQL Server connections in MySQL Workbench. - - 2. It creates the configuration file (my.ini) that is used to - configure the MySQL Server. The values written to this file - are influenced by choices you make during the installation - process. - - 3. It imports example databases. - - 4. It creates MySQL Server user accounts with configurable - permissions based on general roles, such as DB Administrator, - DB Designer, and Backup Admin. It optionally creates a Windows - user named MysqlSys with limited privileges, which would then - run the MySQL Server. - This feature is only available during the initial installation - of the MySQL Server, and not during future updates. User - accounts may also be added with MySQL Workbench. - - 5. If the "Advanced Configuration" option is checked, then the - Logging Options are also configured. This includes defining - file paths for the error log, general log, slow query log - (including the configuration of seconds it requires to execute - a query), and the binary log. + MySQL Installer is compatible with pre-existing + installations, and adds them to its list of installed + components. While the standard MySQL Installer is bundled + with a specific version of MySQL Server, a single MySQL + Installer instance can install and manage multiple MySQL + Server versions. For example, a single MySQL Installer + instance can install (and update) versions 5.5, 5.6, and 5.7 + on the host. + Note + + A single host can not have both community and commercial + editions of MySQL Server installed. For example, if you want + both MySQL Server 5.5 and 5.6 installed on a single host, + then both must be the same edition. + + MySQL Installer handles the initial configuration and set up + of the applications. For example: + + 1. It creates initial MySQL Server connections in MySQL + Workbench. + + 2. It creates the configuration file (my.ini) that is used + to configure the MySQL Server. The values written to this + file are influenced by choices you make during the + installation process. + + 3. It can optionally import example databases. + + 4. It can optionally create MySQL Server user accounts with + configurable permissions based on general roles, such as + DB Administrator, DB Designer, and Backup Admin. It + optionally creates a Windows user named MysqlSys with + limited privileges, which would then run the MySQL + Server. + User accounts may also be added and configured in MySQL + Workbench. + + 5. If the "Advanced Configuration" option is checked, then + the Logging Options are also configured. This includes + defining file paths for the error log, general log, slow + query log (including the configuration of seconds it + requires to execute a query), and the binary log. - MySQL Installer can optionally check for updated components and - download them for you automatically. + MySQL Installer can optionally check for updated components + and download them for you. 2.3.3.1 MySQL Installer GUI - After installation of the GUI version, the installer will have add - its own Start Menu item under MySQL. + Installing MySQL Installer adds a link to the Start menu + under the MySQL group. Click Start, All Programs MySQL, MySQL + Installer to reload the MySQL Installer GUI. + Note + + Files that are generated by MySQL Installer grant full + permissions to the user that executes MySQL Installer, + including my.ini. This does not apply to files and + directories for specific products such as the MySQL Server + data directory in %ProgramData% that is owned by SYSTEM. + + The initial execution of MySQL Installer requires you to + accept the license agreement before installing MySQL + products. + + Figure 2.7 MySQL Installer - License Agreement + MySQL Installer - License Agreement + +Installing New Packages + + Choose the appropriate Setup Type for your system. The + selected type determines which MySQL products are installed + on your system, or select Custom to manually choose + individual products. + + * Developer: Install all products needed to develop + applications with MySQL. This is the default option. + + * Server only: Only install the MySQL server. + + * Client only: Only install the MySQL client products, + which does not include the MySQL server. + + * Full: Install all MySQL products. + + * Custom: Manually select the MySQL products to install. + Note + After the initial installation, you may use MySQL + Installer to manually select MySQL products to install or + remove. In other words, MySQL Installer becomes a MySQL + product management system. + + Figure 2.8 MySQL Installer - Choosing a Setup Type + MySQL Installer - Choosing a Setup Type + + After you select a setup type, the MySQL Installer will check + your system for the necessary external requirements for each + of the selected MySQL products. MySQL Installer will either + download and install the missing components onto your system, + or point you to the download location and set Status to + "Manual". + + The next window lists the MySQL products that are scheduled + to be installed: + + Figure 2.9 MySQL Installer - Installation Progress + MySQL Installer - Installation Progress + + As components are installed, their Status changes from a + progress percentage to "Complete". + + After all components are installed, the next step configures + some of the recently installed MySQL products. The + Configuration Overview window displays the progress and then + loads a configuration window, if required. Our example + configures MySQL Server 5.6.x. + +Configuring MySQL Server + + Configuring the MySQL server begins with defining several + Type and Networking options. + + Figure 2.10 MySQL Installer - Configuration Overview + MySQL Installer - Configuration Overview + + Server Configuration Type + + Choose the MySQL server configuration type that describes + your setup. This setting defines the amount of system + resources that will be assigned to your MySQL server + instance. + + * Developer: A machine that will host many other + applications, and typically this is your personal + workstation. This option configures MySQL to use the + least amount of memory. + + * Server: Several other applications will be running on + this machine, such as a web server. This option + configures MySQL to use a medium amount of memory. + + * Dedicated: A machine that is dedicated to running the + MySQL server. Because no other major applications are + running on the server, such as web servers, this option + configures MySQL to use all available memory. + + Connectivity + + Connectivity options control how you will connect to MySQL. + Options include: + + * TCP/IP: You may enable TCP/IP Networking here as + otherwise only localhost connections are allowed. Also + define the Port Number and whether to open the firewall + port for network access. + + * Named Pipe: Enable and define the pipe name, similar to + using the --enable-named-pipe option. + + * Shared Memory: Enable and then define the memory name, + similar to using the --shared-memory option. + + Advanced Configuration + + Checking the "Advanced Configuration" option provides + additional Logging Options to configure. This includes + defining file paths for the error log, general log, slow + query log (including the configuration of seconds it requires + to execute a query), and the binary log. + + Figure 2.11 MySQL Installer - MySQL Server Configuration: + Type and Networking + MySQL Installer- MySQL Server Configuration: Type and + Networking + +Accounts and Roles + + Next, define your MySQL account information. Assigning a root + password is required. + + Optionally, you can add additional MySQL user accounts with + predefined user roles. Each predefined role, such as "DB + Admin", are configured with their own set of privileges. For + example, the "DB Admin" role has more privileges than the "DB + Designer" role. Click the Role dropdown for a list of role + descriptions. Note - Files that are generated by MySQL Installer grant full permissions - to the user that executes MySQL Installer, including my.ini. This - does not apply to files and directories for specific products such - as the MySQL Server data directory in ProgramData, that is owned - by SYSTEM. + If the MySQL Server is already installed, then you must also + enter the Current Root Password. - After the installer itself has been installed and started, the - following screen is displayed: + Figure 2.12 MySQL Installer - MySQL Server Configuration: + User Accounts and Roles + MySQL Installer - MySQL Server Configuration: User Accounts + and Roles - Figure 2.7 MySQL Installer - Welcome Screen - MySQL Installer - Welcome Screen + Figure 2.13 MySQL Installer - MySQL Server Configuration: + User Accounts and Roles: Adding a User + MySQL Installer - MySQL Server Configuration: User Accounts + and Roles: Adding a User - There are three main options: +Windows Service - 1. Install MySQL Products - The Installation Wizard. + Next, configure the Windows Service details. This includes + the service name, whether the MySQL Server should be loaded + at startup, and how the Windows Service for MySQL Server is + executed. - 2. About MySQL - Learn about MySQL products and features. + Figure 2.14 MySQL Installer - MySQL Server Configuration: + Windows Service + MySQL Installer - MySQL Server Configuration: Windows Service + Note - 3. Resources - Information to help install and configure MySQL. + When configuring Run Windows Services as ... using a Custom + User, the custom user must have privileges to log on to + Microsoft Windows as a service. And the Next button will be + disabled until this user is configured with these user + rights. - To Install MySQL Products after executing MySQL Installer for the - first time, you must accept the license agreement before - proceeding with the installation process. + On Microsoft Windows 7, this is configured by loading the + Start Menu, Control Panel, Administrative Tools, Local + Security Policy, Local Policies, User Rights Assignment, then + Log On As A Service. Choose Add User or Group here to add the + custom user, and then OK, OK to save. - Figure 2.8 MySQL Installer - License Agreement - MySQL Installer - License Agreement +Advanced Options - If you are connected to the Internet, then the Installer will - search for the latest MySQL components and add them to the - installation bundle. Click Connect to the Internet to complete - this step, or otherwise check the Skip checkbox and then Continue. - - Figure 2.9 MySQL Installer - Find latest products - MySQL Installer - Find latest products - - If you chose "Connect to the Internet," the next page will show - the progress of MySQL Installer's search for available updates. - When the search is complete (or if you opted to skip the search), - you will be taken to the Choose Setup Type page: + The next configuration step is available if the Advanced + Configuration option was checked. This section includes + options that are related to the MySQL log files: - Figure 2.10 MySQL Installer - Choosing a Setup Type - MySQL Installer - Choosing a Setup Type + Figure 2.15 MySQL Installer - MySQL Server Configuration: + Logging Options + MySQL Installer - MySQL Server Configuration: Logging Options - Determine the option most compatible with your preferences by - reading the Setup Type Description descriptions. + Click Next to continue on to the final page before all of the + requested changes are applied. This Apply Server + Configuration page details the configuration steps that will + be performed. - The Installation and Data paths are also defined here, and a - caution flag will notify you if the data path you define already - exists. + Figure 2.16 MySQL Installer - MySQL Server Configuration: + Apply Server Configuration + MySQL Installer - MySQL Server Configuration: Apply Server + Configuration - After you select a setup type, the MySQL Installer will check your - system for the necessary external requirements and download then - install missing components onto your system. + Click Execute to execute the configuration steps. The icon + for each step toggles from white to green on success, or the + process stops on failure. Click the Log tab to view the log. - Figure 2.11 MySQL Installer - Check Requirements - MySQL Installer - Check Requirements + After the MySQL Installer configuration process is finished, + MySQL Installer reloads the opening page where you can + execute other installation and configuration related actions. - The next window lists the MySQL products that are scheduled to be - installed: + MySQL Installer is added to the Microsoft Windows Start menu + under the MySQL group. Opening MySQL Installer loads its + dashboard where installed MySQL products are listed, and + other MySQL Installer actions are available: - Figure 2.12 MySQL Installer - Installation Progress - MySQL Installer - Installation Progress + Figure 2.17 MySQL Installer - Main Dashboard + MySQL Installer - Main Dashboard - As components are installed, you'll see their status change from - "to be installed" to "install success." +Adding MySQL Products - Figure 2.13 MySQL Installer - Installation Progress status - MySQL Installer - Installation Progress status + Click Add to add new products. This loads the Select Products + and Features page: - After all components are installed, the next step involves - configuring the products. The Configuration Overview window - displays the progress and then loads a configuration window if it - is required. + Figure 2.18 MySQL Installer - Select Products and Features + MySQL Installer - Select Products and Features - Figure 2.14 MySQL Installer - Configuration Overview - MySQL Installer - Configuration Overview + From here, choose the MySQL products you want to install from + the left Available Products pane, and then click the green + right arrow to queue products for installation. + + Optionally, click Edit to open the product and features + search filter: - The ideal MySQL Server configuration depends on your intended use, - as explained in the next window. Choose the description that most - closely applies to your machine. + Figure 2.19 MySQL Installer - Select Products and Features + Filter + MySQL Installer - Select Products and Features Filter - You may enable TCP/IP Networking here as otherwise only localhost - connections are allowed. + For example, you might choose to include Pre-Release products + in your selections, such as a Beta product that has not yet + reached GA status. + Note - Checking the "Advanced Configuration" option provides additional - Logging Options to configure. This includes defining file paths - for the error log, general log, slow query log (including the - configuration of seconds it requires to execute a query), and the - binary log. + The ability to install Pre-Release versions of MySQL products + was added in MySQL Installer 1.4.0. - Figure 2.15 MySQL Installer - MySQL Server Configuration: Define - platform, networking, and logging options - MySQL Installer- MySQL Server Configuration: Define platform, - networking, and logging options + Select all of the MySQL products you want to install, then + click Next to continue, and then Execute to execute the + installation process to install all of the selected products. - Next, choose your account information. Defining a root password is - required, whereas it's optional to create additional users. There - are several different predefined user roles that each have - different permission levels. For example, a "DB Admin" will have - more privileges than a "DB Designer.". +2.3.3.1.1 MySQL Product Catalog - Figure 2.16 MySQL Installer - MySQL Server Configuration: User - accounts - MySQL Installer - MySQL Server Configuration: User accounts + MySQL Installer stores a MySQL product catalog. The catalog + can be updated either manually or automatically, and the + catalog change history is also available. Note - If the MySQL Server is already installed, then the Current Root - Password will also be needed. + The MySQL product catalog was added in MySQL Installer 1.4.0. + + Manual updates + + You can update the MySQL product catalog at any time by + clicking Catalog on the Installer dashboard. + + Figure 2.20 MySQL Installer - Open the MySQL Product Catalog + MySQL Installer - Open the MySQL Product Catalog + + From there, click Execute to update the product catalog. + + Automatic updates + + You can configure MySQL Installer to automatically update the + MySQL product catalog once per day. To enable this feature + and set the update time, click the wrench icon on the + Installer dashboard. - Next, configure the Windows Service Details. This includes the - service name, how the MySQL Server should be loaded at startup, - and how the Windows Service for MySQL Server will be run. + The next window configures the Automatic Catalog Update. + Enable or disable this feature, and also set the hour. - Figure 2.17 MySQL Installer - MySQL Server Configuration: Windows - service details - MySQL Installer - MySQL Server Configuration: Windows service - details + Figure 2.21 MySQL Installer - Configure the Catalog Scheduler + MySQL Installer - Configure the Catalog Scheduler + + This option uses the Windows Task Scheduler to schedule a + task named "ManifestUpdate". + + Change History + + MySQL Installer tracks the change history for all of the + MySQL products. Click Catalog from the dashboard, optionally + update the catalog (or, toggle the Do not update at this time + checkbox), click Next/Execute, and then view the change + history. + + Figure 2.22 MySQL Installer - Catalog Change History + MySQL Installer - Catalog Change History + +2.3.3.1.2 Remove MySQL Products + + MySQL Installer can also remove MySQL products from your + system. To remove a MySQL product, click Remove from the + Installer dashboard. This opens a window with a list of + installed MySQL products. Select the MySQL products you want + to remove (uninstall), and then click Execute to begin the + removal process. Note - When configuring Run Windows Services as ... using a Custom User, - the custom user must have privileges to log on to Windows as a - service. And the Next button will be disabled until this user is - given these user rights. + To select all MySQL products, click the [ ] checkbox to the + left of the Product label. - On Microsoft Windows 7, this is configured by loading the Start - Menu, Control Panel, Administrative Tools, Local Security Policy, - Local Policies, User Rights Assignment, then Log On As A Service. - Choose Add User or Group here to add the custom user, and then OK, - OK to save. + Figure 2.23 MySQL Installer - Removing Products: Select + MySQL Installer - Removing Products: Select - The final configuration step is available if the Advanced - Configuration option was checked, and it includes configuration - options related to log file names: + Figure 2.24 MySQL Installer - Removing Products: Executed + MySQL Installer - Removing Products: Executed - Figure 2.18 MySQL Installer - MySQL Server Configuration: Logging - options - MySQL Installer - MySQL Server Configuration: Logging options +2.3.3.1.3 Alter MySQL Products - After the MySQL Installer configuration process is completed, you - may save the installation log, and then load MySQL Workbench if - the Start MySQL Workbench after Setup option is checked: + MySQL Installer offers several options to alter your MySQL + product installations. - Figure 2.19 MySQL Installer - Installation Complete - MySQL Installer - Installation Complete +Upgrade - You can now open MySQL Installer from the Microsoft Windows Start - menu under the MySQL group, which will load the MySQL Installer - Maintenance Screen. This is used to add, update, and remove - features. + MySQL products with an available upgrade are highlighted on + the main dashboard. Products with available upgrades will + have an upgrade icon next to their version number. - Figure 2.20 MySQL Installer - Maintenance Screen - MySQL Installer - Maintenance Screen + Figure 2.25 MySQL Installer - Upgrade a MySQL Product + MySQL Installer - Upgrade a MySQL Product Note - An Update Screen screen is shown if MySQL Installer is used on a - machine with older products installed, as opposed to the - Maintenance Screen shown above. However, the functionality remains - the same. + Available upgrades are determined by having a current + catalog. For information about keeping your MySQL product + catalog current, see Section 2.3.3.1.1, "MySQL Product + Catalog." + + Click Upgrade to view a list upgradable products. Our example + indicates that MySQL server 5.6.19 can be upgraded to version + 5.6.20. + + Figure 2.26 MySQL Installer - Select Products To Upgrade + MySQL Installer - Select Products To Upgrade + + Select (check) the products to upgrade, and optionally click + the changes link to view the product's release notes in your + browser. Click Next to begin the upgrade process. + + Figure 2.27 MySQL Installer - Apply Updates + MySQL Installer - Apply Updates + + A MySQL server upgrade will also check and upgrade the + server's database. Although optional, this step is + recommended. - Add/Modify Products and Features will list all installed and - available MySQL products. + Figure 2.28 MySQL Installer - Check and Upgrade Database + MySQL Installer - Check and Upgrade Database - Figure 2.21 MySQL Installer - Add/Modify Products and Features - MySQL Installer - Add/Modify Products and Features + Upon completion, your upgraded products will be upgraded and + available to use. A MySQL server upgrade also restarts the + MySQL server. + +Reconfigure + + Some MySQL products, such as the MySQL server, include a + Reconfigure option. It opens the same configuration options + that were set when the MySQL product was installed, and is + pre-populated with the current values. + + To execute, click the Reconfigure link under the Quick Action + column on the main dashboard for the MySQL product that you + want to reconfigure. + + Figure 2.29 MySQL Installer - Reconfigure a MySQL Product + MySQL Installer - Reconfigure a MySQL Product + + In the case of the MySQL server, this opens the familiar + configuration wizard. + + Figure 2.30 MySQL Installer - Reconfiguration Wizard + MySQL Installer - Reconfiguration Wizard + +Modify - The installation is now complete. MySQL Server should be running, - and most MySQL products installed and available for use. + Many MySQL products contain feature components that can be + added or removed. For example, Debug binaries and Client + Programs are subcomponents of the MySQL server. - See also the MySQL Workbench documentation - (http://dev.mysql.com/doc/workbench/en/). + The modify the features of a product, click Modify on the + main dashboard. + + Figure 2.31 MySQL Installer - Modify Product Features + MySQL Installer - Modify Product Features + + Click Execute to execute the modification request. 2.3.3.2 MySQL Installer Console - MySQLInstallerConsole provides functionality similar to the GUI - version of MySQL Installer, but from the command-line. It is - installed when MySQL Installer is initially executed, and then - available within the MySQL Installer directory. Typically that is - in C:\Program Files (x86)\MySQL\MySQL Installer\, and the console - must be executed with administrative privileges. - - To use, invoke the Command Prompt with administrative privileges - by choosing Start, Accessories, then right-click on Command Prompt - and choose Run as administrator. And from the command-line, - optionally change the directory to where MySQLInstallerConsole is - located: + MySQLInstallerConsole provides functionality similar to the + GUI version of MySQL Installer, but from the command-line. It + is installed when MySQL Installer is initially executed, and + then available within the MySQL Installer directory. + Typically that is in C:\Program Files (x86)\MySQL\MySQL + Installer\, and the console must be executed with + administrative privileges. + + To use, invoke the Command Prompt with administrative + privileges by choosing Start, Accessories, then right-click + on Command Prompt and choose Run as administrator. And from + the command-line, optionally change the directory to where + MySQLInstallerConsole is located: C:\> cd "C:\Program Files (x86)\MySQL\MySQL Installer" +C:\> MySQLInstallerConsole.exe help - MySQLInstallerConsole supports the following options, which are - specified on the command line: +C:\Program Files (x86)\MySQL\MySQL Installer for Windows>MySQLInstalle +rConsole.exe help - * --help, -h, or -? - Displays a help message with usage examples, and then exits. -C:\> MySQLInstallerConsole --help - - * --updates (or -u) - Checks for new products before any further action is taken. - Disabled by default. - - * --nowait - Skips the final pause when the program finishes. Otherwise, a - "Press Enter to continue." dialogue is generated. It is used - in conjunction with other options. - - * --catalog=catalog_name (or -c) - Sets the default catalog. Use --list to view a list of - available catalogs. - - * --type=installation_type (or -t) - Sets the installation type. - The possible values for installation_type are: developer, - server, client, full, and custom. - - * --action=action_name - The action being performed. - The possible values are: install, remove, upgrade, list, and - status. - - + install: Installs a product or products, as defined by - --products - - + upgrade: Upgrades a product or products, as defined by - --products. - - + remove: Removes a product or products, as defined by - --products. - - + list: Lists the product manifest, both installed and - available products. - - + status: Shows the status after another action is - performed. - - * --product=product_name[:feature1],[feature2], [...] (or -p) - Set the feature list of a product. Use --list to view - available products, or pass in --product=* (an asterisk) to - install all available products. - - * --config=product_name:passwd=root_password[;parameter1=value], - [;parameter2=value], ... - The configuration parameters for the most recently listed - products. +The following commands are available: - * --user=product_name:name=username,host:hostname,role=rolename, - password=password or - --user=product_name:name=username,host:hostname,role=rolename, - tokens=tokens - Creates a new user. - Requires: name, host, role, and the password or tokens. Tokens - are separated by pipe ("|") characters. +Configure - Configures one or more of your installed programs. +Help - Provides list of available commands. +Install - Install and configure one or more available MySQL programs +. +List - Provides an interactive way to list all products available +. +Modify - Modifies the features of installed products. +Remove - Removes one or more products from your system. +Status - Shows the status of all installed products. +Update - Update the current product catalog. +Upgrade - Upgrades one or more of your installed programs. + + MySQLInstallerConsole supports the following options, which + are specified on the command line: + + * configure [product1]:[setting]=[value]; + [product2]:[setting]=[value]; [...] + Configure one or more MySQL products on your system. + Switches include: + + + -showsettings : Displays the available options for + the selected product, by passing in the product name + after -showsettings. + + + -silent : Disable confirmation prompts. +C:\> MySQLInstallerConsole configure -showsettings server +C:\> MySQLInstallerConsole configure server:port=3307 + + + * help [command] + Displays a help message with usage examples, and then + exits. Pass in an additional command to receive help + specific to that command. +C:\> MySQLInstallerConsole help +C:\> MySQLInstallerConsole help install + + + * install [product]:[features]:[config block]:[config + block]:[config block]; [...] + Install one or more MySQL products on your system. + Switches and syntax options include: + + + -type=[SetupType] : Installs a predefined set of + software. The "SetupType" can be one of the + following: + Note + Non-custom setup types can only be chosen if no + other MySQL products are installed. + o Developer: Installs a complete development + environment. + o Server: Installs a single MySQL server + o Client: Installs client programs and libraries + o Full: Installs everything + o Custom: Installs user selected products. This + is the default option. + + + -showsettings : Displays the available options for + the selected product, by passing in the product name + after -showsettings. + + + -silent : Disable confirmation prompts. + + + [config block]: One or more configuration blocks can + be specified. Each configuration block is a + semicolon separated list of key value pairs. A block + can include either a "config" or "user" type key, + where "config" is the default type if one is not + defined. + Only one "config" type block can be defined per + product. A "user" block should be defined for each + user that should be created during the product's + installation. + Note + Adding users is not supported when a product is + being reconfigured. + + + [feature]: The feature block is a semicolon + separated list of features, or '*' to select all + features. +C:\> MySQLInstallerConsole install server;5.6.20:*:port=3307;serverid= +2:type=user;username=foo;password=bar;role=DBManager + + + * list + Lists an interactive console where all of the available + MySQL products can be searched. Execute + MySQLInstallerConsole list to launch the console, and + enter in a substring to search. +C:\> MySQLInstallerConsole list + + + * modify [product1:-removelist|+addlist] + [product2:-removelist|+addlist] [...] + Modifies or displays features of a previously installed + MySQL product. + + + -silent : Disable confirmation prompts. +C:\> MySQLInstallerConsole modify server +C:\> MySQLInstallerConsole modify server:+documentation +C:\> MySQLInstallerConsole modify server:-debug + + + * remove [product1] [product2] [...] + Removes one ore more products from your system. + + + * : Pass in * to remove all of the MySQL products. + + + -continue : Continue the operation even if an error + occurs. + + + -silent : Disable confirmation prompts. +C:\> MySQLInstallerConsole remove * +C:\> MySQLInstallerConsole remove server + + + * status + Provides a quick overview of the MySQL products that are + installed on the system. Information includes product + name and version, architecture, date installed, and + install location. +C:\> MySQLInstallerConsole status + + + * upgrade [product1:version] [product2:version], [...] + Upgrades one or more products on your system. Syntax + options include: + + + * : Pass in * to upgrade all products to the latest + version, or pass in specific products. + + + ! : Pass in ! as a version number to upgrade the + MySQL product to its latest version. + + + -silent : Disable confirmation prompts. +C:\> MySQLInstallerConsole upgrade * +C:\> MySQLInstallerConsole upgrade workbench:6.2.2 +C:\> MySQLInstallerConsole upgrade workbench:! +C:\> MySQLInstallerConsole upgrade workbench:6.2.2 excel:1.3.2 + + + * update + Downloads the latest MySQL product catalog to your + system. On success, the download catalog will be applied + the next time either MySQLInstaller or + MySQLInstallerConsole is executed. +C:\> MySQLInstallerConsole update + + Note + The Automatic Catalog Update GUI option executes this + command from the Windows Task Scheduler. 2.3.4 MySQL Notifier The MySQL Notifier is a tool that enables you to monitor and - adjust the status of your local and remote MySQL Server instances - through an indicator that resides in the system tray. The MySQL - Notifier also gives quick access to several MySQL GUI tools (such - as MySQL Workbench) through its context menu. + adjust the status of your local and remote MySQL Server + instances through an indicator that resides in the system + tray. The MySQL Notifier also gives quick access to several + MySQL GUI tools (such as MySQL Workbench) through its context + menu. The MySQL Notifier is installed by MySQL Installer, and (by default) will start-up when Microsoft Windows is started. Note To install, download and execute the MySQL Installer - (http://dev.mysql.com/downloads/installer/), be sure the MySQL - Notifier product is selected, then proceed with the installation. - See the MySQL Installer manual for additional details. + (http://dev.mysql.com/downloads/installer/), be sure the + MySQL Notifier product is selected, then proceed with the + installation. See the MySQL Installer manual for additional + details. - For notes detailing the changes in each release of MySQL Notifier, - see the MySQL Notifier Release Notes + For notes detailing the changes in each release of MySQL + Notifier, see the MySQL Notifier Release Notes (http://dev.mysql.com/doc/relnotes/mysql-notifier/en/). Visit the MySQL Notifier forum @@ -762,15 +1174,16 @@ * Start, Stop, and Restart instances of the MySQL Server. - * Automatically detects (and adds) new MySQL Server services. - These are listed under Manage Monitored Items, and may also be - configured. - - * The Tray icon changes, depending on the status. It's green if - all monitored MySQL Server instances are running, or red if at - least one service is stopped. The Update MySQL Notifier tray - icon based on service status option, which dictates this - behavior, is enabled by default for each service. + * Automatically detects (and adds) new MySQL Server + services. These are listed under Manage Monitored Items, + and may also be configured. + + * The Tray icon changes, depending on the status. It's + green if all monitored MySQL Server instances are + running, or red if at least one service is stopped. The + Update MySQL Notifier tray icon based on service status + option, which dictates this behavior, is enabled by + default for each service. * Links to other applications like MySQL Workbench, MySQL Installer, and the MySQL Utilities. For example, choosing @@ -778,8 +1191,8 @@ Administration window for that particular instance. * If MySQL Workbench is also installed, then the Configure - Instance and SQL Editor options are available for local (but - not remote) MySQL instances. + Instance and SQL Editor options are available for local + (but not remote) MySQL instances. * Monitoring of both local and remote MySQL instances. @@ -787,108 +1200,112 @@ Remote monitoring is available since MySQL Notifier 1.1.0. - The MySQL Notifier resides in the system tray and provides visual - status information for your MySQL Server instances. A green icon - is displayed at the top left corner of the tray icon if the - current MySQL Server is running, or a red icon if the service is - stopped. - - The MySQL Notifier automatically adds discovered MySQL Services on - the local machine, and each service is saved and configurable. By - default, the Automatically add new services whose name contains - option is enabled and set to mysql. Related Notifications Options - include being notified when new services are either discovered or - experience status changes, and are also enabled by default. And - uninstalling a service will also remove the service from the MySQL - Notifier. + The MySQL Notifier resides in the system tray and provides + visual status information for your MySQL Server instances. A + green icon is displayed at the top left corner of the tray + icon if the current MySQL Server is running, or a red icon if + the service is stopped. + + The MySQL Notifier automatically adds discovered MySQL + Services on the local machine, and each service is saved and + configurable. By default, the Automatically add new services + whose name contains option is enabled and set to mysql. + Related Notifications Options include being notified when new + services are either discovered or experience status changes, + and are also enabled by default. And uninstalling a service + will also remove the service from the MySQL Notifier. Note The Automatically add new services whose name contains option - default changed from ".*mysqld.*" to "mysql" in Notifier 1.1.0. + default changed from ".*mysqld.*" to "mysql" in Notifier + 1.1.0. - Clicking the system tray icon will reveal several options, as seen - in the screenshots below: + Clicking the system tray icon will reveal several options, as + seen in the screenshots below: - The Service Instance menu is the main MySQL Notifier window, and - enables you to Stop, Start, and Restart the MySQL Server. + The Service Instance menu is the main MySQL Notifier window, + and enables you to Stop, Start, and Restart the MySQL Server. - Figure 2.22 MySQL Notifier Service Instance menu + Figure 2.32 MySQL Notifier Service Instance menu MySQL Notifier Service Instance menu - The Actions menu includes several links to external applications - (if they are installed), and a Refresh Status option to manually - refresh the status of all monitored services (in both local and - remote computers) and MySQL instances. + The Actions menu includes several links to external + applications (if they are installed), and a Refresh Status + option to manually refresh the status of all monitored + services (in both local and remote computers) and MySQL + instances. Note - The main menu will not show the Actions menu when there are no - services being monitored by MySQL Notifier. + The main menu will not show the Actions menu when there are + no services being monitored by MySQL Notifier. Note The Refresh Status feature is available since MySQL Notifier 1.1.0. - Figure 2.23 MySQL Notifier Actions menu + Figure 2.33 MySQL Notifier Actions menu MySQL Notifier Actions menu - The Actions, Options menu configures MySQL Notifier and includes - options to: + The Actions, Options menu configures MySQL Notifier and + includes options to: - * Use colorful status icons: Enables a colorful style of icons - for the tray of the MySQL Notifier. + * Use colorful status icons: Enables a colorful style of + icons for the tray of the MySQL Notifier. - * Run at Windows Startup: Allows the application to be loaded - when Microsoft Windows starts. + * Run at Windows Startup: Allows the application to be + loaded when Microsoft Windows starts. - * Automatically Check For Updates Every # Weeks: Checks for a - new version of MySQL Notifier, and runs this check every # - weeks. - - * Automatically add new services whose name contains: The text - used to filter services and add them automatically to the - monitored list of the local computer running MySQL Notifier, - and on remote computers already monitoring Windows services. - monitored services, and also filters the list of the Microsoft - Windows services for the Add New Service dialog. - Prior to version 1.1.0, this option was named "Automatically - add new services that match this pattern." - - * Notify me when a service is automatically added: Will display - a balloon notification from the taskbar when a newly - discovered service is added to the monitored services list. + * Automatically Check For Updates Every # Weeks: Checks for + a new version of MySQL Notifier, and runs this check + every # weeks. + + * Automatically add new services whose name contains: The + text used to filter services and add them automatically + to the monitored list of the local computer running MySQL + Notifier, and on remote computers already monitoring + Windows services. monitored services, and also filters + the list of the Microsoft Windows services for the Add + New Service dialog. + Prior to version 1.1.0, this option was named + "Automatically add new services that match this pattern." + + * Notify me when a service is automatically added: Will + display a balloon notification from the taskbar when a + newly discovered service is added to the monitored + services list. * Notify me when a service changes status: Will display a - balloon notification from the taskbar when a monitored service - changes its status. + balloon notification from the taskbar when a monitored + service changes its status. - Figure 2.24 MySQL Notifier Options menu + Figure 2.34 MySQL Notifier Options menu MySQL Notifier Options menu - The Actions, Manage Monitored Items menu enables you to configure - the monitored services and MySQL instances. First, with the - Services tab open: + The Actions, Manage Monitored Items menu enables you to + configure the monitored services and MySQL instances. First, + with the Services tab open: - Figure 2.25 MySQL Notifier Manage Services menu + Figure 2.35 MySQL Notifier Manage Services menu MySQL Notifier Manage Services menu The Instances tab is similar: - Figure 2.26 MySQL Notifier Manage Instances menu + Figure 2.36 MySQL Notifier Manage Instances menu MySQL Notifier Manage Instances menu - Adding a service or instance (after clicking Add in the Manage - Monitored Items window) enables you to select a running Microsoft - Windows service or instance connection, and configure MySQL - Notifier to monitor it. Add a new service or instance by clicking - service name from the list, then OK to accept. Multiple services - and instances may be selected. + Adding a service or instance (after clicking Add in the + Manage Monitored Items window) enables you to select a + running Microsoft Windows service or instance connection, and + configure MySQL Notifier to monitor it. Add a new service or + instance by clicking service name from the list, then OK to + accept. Multiple services and instances may be selected. - Figure 2.27 MySQL Notifier Adding new services + Figure 2.37 MySQL Notifier Adding new services MySQL Notifier Adding new services And instances: - Figure 2.28 MySQL Notifier Adding new instances + Figure 2.38 MySQL Notifier Adding new instances MySQL Notifier Adding new instances Note @@ -896,334 +1313,359 @@ 2.3.4.1 Remote monitoring set up and installation instructions - The MySQL Notifier uses Windows Management Instrumentation (WMI) - to manage and monitor services in remote computers running Windows - XP or later. This guide explains how it works, and how to set up - your system to monitor remote MySQL instances. + The MySQL Notifier uses Windows Management Instrumentation + (WMI) to manage and monitor services in remote computers + running Windows XP or later. This guide explains how it + works, and how to set up your system to monitor remote MySQL + instances. Note Remote monitoring is available since MySQL Notifier 1.1.0. - In order to configure WMI, it is important to understand that the - underlying Distributed Component Object Model (DCOM) architecture - is doing the WMI work. Specifically, MySQL Notifier is using - asynchronous notification queries on remote Microsoft Windows - hosts as .NET events. These events send an asynchronous callback - to the computer running the MySQL Notifier so it knows when a - service status has changed on the remote computer. Asynchronous - notifications offer the best performance compared to - semisynchronous notifications or synchronous notifications that - use timers. - - Asynchronous notifications requires the remote computer to send a - callback to the client computer (thus opening a reverse - connection), so the Windows Firewall and DCOM settings must be - properly configured for the communication to function properly. + In order to configure WMI, it is important to understand that + the underlying Distributed Component Object Model (DCOM) + architecture is doing the WMI work. Specifically, MySQL + Notifier is using asynchronous notification queries on remote + Microsoft Windows hosts as .NET events. These events send an + asynchronous callback to the computer running the MySQL + Notifier so it knows when a service status has changed on the + remote computer. Asynchronous notifications offer the best + performance compared to semisynchronous notifications or + synchronous notifications that use timers. + + Asynchronous notifications requires the remote computer to + send a callback to the client computer (thus opening a + reverse connection), so the Windows Firewall and DCOM + settings must be properly configured for the communication to + function properly. - Figure 2.29 MySQL Notifier Distributed Component Object Model + Figure 2.39 MySQL Notifier Distributed Component Object Model (DCOM) MySQL Notifier Distributed Component Object Model (DCOM) - Most of the common errors thrown by asynchronous WMI notifications - are related to Windows Firewall blocking the communication, or to - DCOM / WMI settings not being set up properly. For a list of - common errors with solutions, see Section 2.3.4.1, "." - - The following steps are required to make WMI function. These steps - are divided between two machines. A single host computer that runs - MySQL Notifier (Computer A), and multiple remote machines that are - being monitored (Computer B). + Most of the common errors thrown by asynchronous WMI + notifications are related to Windows Firewall blocking the + communication, or to DCOM / WMI settings not being set up + properly. For a list of common errors with solutions, see + Section 2.3.4.1, "." + + The following steps are required to make WMI function. These + steps are divided between two machines. A single host + computer that runs MySQL Notifier (Computer A), and multiple + remote machines that are being monitored (Computer B). Computer running MySQL Notifier (Computer A) - 1. Allow for remote administration by either editing the Group - Policy Editor, or using NETSH: + 1. Allow for remote administration by either editing the + Group Policy Editor, or using NETSH: Using the Group Policy Editor: - a. Click Start, click Run, type GPEDIT.MSC, and then click - OK. - b. Under the Local Computer Policy heading, double-click - Computer Configuration. + a. Click Start, click Run, type GPEDIT.MSC, and then + click OK. + b. Under the Local Computer Policy heading, + double-click Computer Configuration. c. Double-click Administrative Templates, then Network, Network Connections, and then Windows Firewall. d. If the computer is in the domain, then double-click - Domain Profile; otherwise, double-click Standard Profile. + Domain Profile; otherwise, double-click Standard + Profile. e. Click Windows Firewall: Allow inbound remote administration exception. - f. On the Action menu either select Edit, or double-click - the selection from the previous step. + f. On the Action menu either select Edit, or + double-click the selection from the previous step. g. Check the Enabled radio button, and then click OK. Using the NETSH command: - a. Open a command prompt window with Administrative rights - (you can right-click the Command Prompt icon and click - Run as Administrator). + a. Open a command prompt window with Administrative + rights (you can right-click the Command Prompt icon + and click Run as Administrator). b. Execute the following command: NETSH firewall set service RemoteAdmin enable + 2. Open the DCOM port TCP 135: - a. Open a command prompt window with Administrative rights - (you can right-click the Command Prompt icon and click - Run as Administrator) . + a. Open a command prompt window with Administrative + rights (you can right-click the Command Prompt icon + and click Run as Administrator) . b. Execute the following command: NETSH firewall add portopening protocol=tcp port=135 name=DCOM_TCP135 - 3. Add the client application which contains the sink for the - callback (MySqlNotifier.exe) to the Windows Firewall - Exceptions List (use either the Windows Firewall configuration - or NETSH): + + 3. Add the client application which contains the sink for + the callback (MySqlNotifier.exe) to the Windows Firewall + Exceptions List (use either the Windows Firewall + configuration or NETSH): Using the Windows Firewall configuration: a. In the Control Panel, double-click Windows Firewall. - b. In the Windows Firewall window's left panel, click Allow - a program or feature through Windows Firewall. - c. In the Allowed Programs window, click Change Settings. + b. In the Windows Firewall window's left panel, click + Allow a program or feature through Windows Firewall. + c. In the Allowed Programs window, click Change + Settings. d. If MySqlNotifier.exe is in the Allowed programs and - features list, make sure it is checked for the type of - networks the computer connects to (Private, Public or - both). + features list, make sure it is checked for the type + of networks the computer connects to (Private, + Public or both). e. If MySqlNotifier.exe is not in the list, click Allow another program.... - f. In the Add a Program window, select the MySqlNotifier.exe - if it exists in the Programs list, otherwise click - Browse... and go to the directory where MySqlNotifier.exe - was installed to select it, then click Add. - g. Make sure MySqlNotifier.exe is checked for the type of - networks the computer connects to (Private, Public or - both). + f. In the Add a Program window, select the + MySqlNotifier.exe if it exists in the Programs list, + otherwise click Browse... and go to the directory + where MySqlNotifier.exe was installed to select it, + then click Add. + g. Make sure MySqlNotifier.exe is checked for the type + of networks the computer connects to (Private, + Public or both). Using the NETSH command: - a. Open a command prompt window with Administrative rights - (you can right-click the Command Prompt icon and click - Run as Administrator). + a. Open a command prompt window with Administrative + rights (you can right-click the Command Prompt icon + and click Run as Administrator). b. Execute the following command, where you change "[YOUR_INSTALL_DIRECTORY]": -NETSH firewall add allowedprogram program=[YOUR_INSTALL_DIRECTORY]\My -SqlNotifier.exe name=MySqlNotifier +NETSH firewall add allowedprogram program=[YOUR_INSTALL_DIRECTORY]\MyS +qlNotifier.exe name=MySqlNotifier + 4. If Computer B is either a member of WORKGROUP or is in a - different domain that is untrusted by Computer A, then the - callback connection (Connection 2) is created as an Anonymous - connection. To grant Anonymous connections DCOM Remote Access - permissions: - a. Click Start, click Run, type DCOMCNFG, and then click OK. - b. In the Component Services dialog box, expand Component - Services, expand Computers, and then right-click My - Computer and click Properties. - c. In the My Computer Properties dialog box, click the COM - Security tab. + different domain that is untrusted by Computer A, then + the callback connection (Connection 2) is created as an + Anonymous connection. To grant Anonymous connections DCOM + Remote Access permissions: + a. Click Start, click Run, type DCOMCNFG, and then + click OK. + b. In the Component Services dialog box, expand + Component Services, expand Computers, and then + right-click My Computer and click Properties. + c. In the My Computer Properties dialog box, click the + COM Security tab. d. Under Access Permissions, click Edit Limits. - e. In the Access Permission dialog box, select ANONYMOUS - LOGON name in the Group or user names box. In the Allow - column under Permissions for User, select Remote Access, - and then click OK. + e. In the Access Permission dialog box, select + ANONYMOUS LOGON name in the Group or user names box. + In the Allow column under Permissions for User, + select Remote Access, and then click OK. Monitored Remote Computer (Computer B) - If the user account that is logged into the computer running the - MySQL Notifier (Computer A) is a local administrator on the remote - computer (Computer B), such that the same account is an - administrator on Computer B, you can skip to the "Allow for remote - administration" step. - - Setting DCOM security to allow a non-administrator user to access - a computer remotely: - - 1. Grant "DCOM remote launch" and activation permissions for a - user or group: - a. Click Start, click Run, type DCOMCNFG, and then click OK. - b. In the Component Services dialog box, expand Component - Services, expand Computers, and then right-click My - Computer and click Properties. - c. In the My Computer Properties dialog box, click the COM - Security tab. + If the user account that is logged into the computer running + the MySQL Notifier (Computer A) is a local administrator on + the remote computer (Computer B), such that the same account + is an administrator on Computer B, you can skip to the "Allow + for remote administration" step. + + Setting DCOM security to allow a non-administrator user to + access a computer remotely: + + 1. Grant "DCOM remote launch" and activation permissions for + a user or group: + a. Click Start, click Run, type DCOMCNFG, and then + click OK. + b. In the Component Services dialog box, expand + Component Services, expand Computers, and then + right-click My Computer and click Properties. + c. In the My Computer Properties dialog box, click the + COM Security tab. d. Under Access Permissions, click Edit Limits. - e. In the Launch Permission dialog box, follow these steps - if your name or your group does not appear in the Groups - or user names list: + e. In the Launch Permission dialog box, follow these + steps if your name or your group does not appear in + the Groups or user names list: i. In the Launch Permission dialog box, click Add. - ii. In the Select Users, Computers, or Groups dialog - box, add your name and the group in the "Enter the - object names to select" box, and then click OK. - f. In the Launch Permission dialog box, select your user and - group in the Group or user names box. In the Allow column - under Permissions for User, select Remote Launch, select - Remote Activation, and then click OK. + ii. In the Select Users, Computers, or Groups + dialog box, add your name and the group in the + "Enter the object names to select" box, and + then click OK. + f. In the Launch Permission dialog box, select your + user and group in the Group or user names box. In + the Allow column under Permissions for User, select + Remote Launch, select Remote Activation, and then + click OK. Grant DCOM remote access permissions: - a. Click Start, click Run, type DCOMCNFG, and then click OK. - b. In the Component Services dialog box, expand Component - Services, expand Computers, and then right-click My - Computer and click Properties. - c. In the My Computer Properties dialog box, click the COM - Security tab. + a. Click Start, click Run, type DCOMCNFG, and then + click OK. + b. In the Component Services dialog box, expand + Component Services, expand Computers, and then + right-click My Computer and click Properties. + c. In the My Computer Properties dialog box, click the + COM Security tab. d. Under Access Permissions, click Edit Limits. - e. In the Access Permission dialog box, select ANONYMOUS - LOGON name in the Group or user names box. In the Allow - column under Permissions for User, select Remote Access, - and then click OK. + e. In the Access Permission dialog box, select + ANONYMOUS LOGON name in the Group or user names box. + In the Allow column under Permissions for User, + select Remote Access, and then click OK. 2. Allowing non-administrator users access to a specific WMI namespace: - a. In the Control Panel, double-click Administrative Tools. - b. In the Administrative Tools window, double-click Computer - Management. - c. In the Computer Management window, expand the Services - and Applications tree and double-click the WMI Control. - d. Right-click the WMI Control icon and select Properties. - e. In the WMI Control Properties window, click the Security - tab. + a. In the Control Panel, double-click Administrative + Tools. + b. In the Administrative Tools window, double-click + Computer Management. + c. In the Computer Management window, expand the + Services and Applications tree and double-click the + WMI Control. + d. Right-click the WMI Control icon and select + Properties. + e. In the WMI Control Properties window, click the + Security tab. f. In the Security tab, select the namespace and click Security. - g. Locate the appropriate account and check Remote Enable in - the Permissions list. + g. Locate the appropriate account and check Remote + Enable in the Permissions list. - 3. Allow for remote administration by either editing the Group - Policy Editor or using NETSH: + 3. Allow for remote administration by either editing the + Group Policy Editor or using NETSH: Using the Group Policy Editor: - a. Click Start, click Run, type GPEDIT.MSC, and then click - OK. - b. Under the Local Computer Policy heading, double-click - Computer Configuration. + a. Click Start, click Run, type GPEDIT.MSC, and then + click OK. + b. Under the Local Computer Policy heading, + double-click Computer Configuration. c. Double-click Administrative Templates, then Network, Network Connections, and then Windows Firewall. d. If the computer is in the domain, then double-click - Domain Profile; otherwise, double-click Standard Profile. + Domain Profile; otherwise, double-click Standard + Profile. e. Click Windows Firewall: Allow inbound remote administration exception. - f. On the Action menu either select Edit, or double-click - the selection from the previous step. + f. On the Action menu either select Edit, or + double-click the selection from the previous step. g. Check the Enabled radio button, and then click OK. Using the NETSH command: - a. Open a command prompt window with Administrative rights - (you can right-click the Command Prompt icon and click - Run as Administrator). + a. Open a command prompt window with Administrative + rights (you can right-click the Command Prompt icon + and click Run as Administrator). b. Execute the following command: NETSH firewall set service RemoteAdmin enable - 4. Now, be sure the user you are logging in with uses the Name - value and not the Full Name value: - a. In the Control Panel, double-click Administrative Tools. - b. In the Administrative Tools window, double-click Computer - Management. + + 4. Now, be sure the user you are logging in with uses the + Name value and not the Full Name value: + a. In the Control Panel, double-click Administrative + Tools. + b. In the Administrative Tools window, double-click + Computer Management. c. In the Computer Management window, expand the System Tools then Local Users and Groups. - d. Click the Users node, and on the right side panel locate - your user and make sure it uses the Name value to - connect, and not the Full Name value. - - 5. If the remote computer is running on Windows XP Professional, - make sure that remote logins are not being forcefully changed - to the guest account user (also known as ForceGuest), which is - enabled by default on computers that are not attached to a - domain. - a. Click Start, click Run, type SECPOL.MSC, and then click - OK. + d. Click the Users node, and on the right side panel + locate your user and make sure it uses the Name + value to connect, and not the Full Name value. + + 5. If the remote computer is running on Windows XP + Professional, make sure that remote logins are not being + forcefully changed to the guest account user (also known + as ForceGuest), which is enabled by default on computers + that are not attached to a domain. + a. Click Start, click Run, type SECPOL.MSC, and then + click OK. b. Under the Local Policies node, double-click Security Options. - c. Select Network Access: Sharing and security model for - local accounts and save. + c. Select Network Access: Sharing and security model + for local accounts and save. Common Errors * 0x80070005 - + DCOM Security was not configured properly (see Computer - B, the Setting DCOM security... step). + + DCOM Security was not configured properly (see + Computer B, the Setting DCOM security... step). - + The remote computer (Computer B) is a member of WORKGROUP - or is in a domain that is untrusted by the client - computer (Computer A) (see Computer A, the Grant - Anonymous connections DCOM Remote Access permissions - step). + + The remote computer (Computer B) is a member of + WORKGROUP or is in a domain that is untrusted by the + client computer (Computer A) (see Computer A, the + Grant Anonymous connections DCOM Remote Access + permissions step). * 0x8007000E - + The remote computer (Computer B) is a member of WORKGROUP - or is in a domain that is untrusted by the client - computer (Computer A) (see Computer A, the Grant - Anonymous connections DCOM Remote Access permissions - step). + + The remote computer (Computer B) is a member of + WORKGROUP or is in a domain that is untrusted by the + client computer (Computer A) (see Computer A, the + Grant Anonymous connections DCOM Remote Access + permissions step). * 0x80041003 - + Access to the remote WMI namespace was not configured - properly (see Computer B, the Allowing non-administrator - users access to a specific WMI namespace step). + + Access to the remote WMI namespace was not + configured properly (see Computer B, the Allowing + non-administrator users access to a specific WMI + namespace step). * 0x800706BA + The DCOM port is not open on the client computers - (Computer A) firewall. See the Open the DCOM port TCP 135 - step for Computer A. + (Computer A) firewall. See the Open the DCOM port + TCP 135 step for Computer A. - + The remote computer (Computer B) is inaccessible because - its network location is set to Public. Make sure you can - access it through the Windows Explorer. + + The remote computer (Computer B) is inaccessible + because its network location is set to Public. Make + sure you can access it through the Windows Explorer. 2.3.5 Installing MySQL on Microsoft Windows Using an MSI Package - The MSI package is designed to install and configure MySQL in such - a way that you can immediately get started using MySQL. + The MSI package is designed to install and configure MySQL in + such a way that you can immediately get started using MySQL. - The MySQL Installation Wizard and MySQL Configuration Wizard are - available in the Complete install package, which is recommended - for most standard MySQL installations. Exceptions include users - who need to install multiple instances of MySQL on a single server - host and advanced users who want complete control of server - configuration. + The MySQL Installation Wizard and MySQL Configuration Wizard + are available in the Complete install package, which is + recommended for most standard MySQL installations. Exceptions + include users who need to install multiple instances of MySQL + on a single server host and advanced users who want complete + control of server configuration. * For information on installing using the GUI MSI installer - process, see Section 2.3.5.1, "Using the MySQL Installation - Wizard." + process, see Section 2.3.5.1, "Using the MySQL + Installation Wizard." - * For information on installing using the command line using the - MSI package, see Section 2.3.5.2, "Automating MySQL - Installation on Microsoft Windows Using the MSI Package." - - * If you have previously installed MySQL using the MSI package - and want to remove MySQL, see Section 2.3.5.3, "Removing MySQL - When Installed from the MSI Package." + * For information on installing using the command line + using the MSI package, see Section 2.3.5.2, "Automating + MySQL Installation on Microsoft Windows Using the MSI + Package." + + * If you have previously installed MySQL using the MSI + package and want to remove MySQL, see Section 2.3.5.3, + "Removing MySQL When Installed from the MSI Package." The workflow sequence for using the installer is shown in the figure below: - Figure 2.30 Installation Workflow for Windows Using MSI Installer + Figure 2.40 Installation Workflow for Windows Using MSI + Installer Installation Workflow for Windows using MSI Installer Note Microsoft Windows XP and later include a firewall which - specifically blocks ports. If you plan on using MySQL through a - network port then you should open and create an exception for this - port before performing the installation. To check and if necessary - add an exception to the firewall settings: + specifically blocks ports. If you plan on using MySQL through + a network port then you should open and create an exception + for this port before performing the installation. To check + and if necessary add an exception to the firewall settings: - 1. First ensure that you are logged in as an Administrator or a - user with Administrator privileges. + 1. First ensure that you are logged in as an Administrator + or a user with Administrator privileges. - 2. Go to the Control Panel, and double click the Windows Firewall - icon. + 2. Go to the Control Panel, and double click the Windows + Firewall icon. - 3. Choose the Allow a program through Windows Firewall option and - click the Add port button. + 3. Choose the Allow a program through Windows Firewall + option and click the Add port button. - 4. Enter MySQL into the Name text box and 3306 (or the port of - your choice) into the Port number text box. + 4. Enter MySQL into the Name text box and 3306 (or the port + of your choice) into the Port number text box. - 5. Also ensure that the TCP protocol radio button is selected. + 5. Also ensure that the TCP protocol radio button is + selected. - 6. If you wish, you can also limit access to the MySQL server by - choosing the Change scope button. + 6. If you wish, you can also limit access to the MySQL + server by choosing the Change scope button. 7. Confirm your choices by clicking the OK button. Additionally, when running the MySQL Installation Wizard on - Windows Vista or newer, ensure that you are logged in as a user - with administrative rights. + Windows Vista or newer, ensure that you are logged in as a + user with administrative rights. Note - When using Windows Vista or newer, you may want to disable User - Account Control (UAC) before performing the installation. If you - do not do so, then MySQL may be identified as a security risk, - which will mean that you need to enable MySQL. You can disable the - security checking by following these instructions: + When using Windows Vista or newer, you may want to disable + User Account Control (UAC) before performing the + installation. If you do not do so, then MySQL may be + identified as a security risk, which will mean that you need + to enable MySQL. You can disable the security checking by + following these instructions: 1. Open Control Panel. @@ -1233,199 +1675,213 @@ 3. Click the Got to the main User Accounts page link. 4. Click on Turn User Account Control on or off. You may be - prompted to provide permission to change this setting. Click - Continue. + prompted to provide permission to change this setting. + Click Continue. - 5. Deselect or uncheck the check box next to Use User Account - Control (UAC) to help protect your computer. Click OK to save - the setting. - - You will need to restart to complete the process. Click Restart - Now to reboot the machine and apply the changes. You can then - follow the instructions below for installing Windows. + 5. Deselect or uncheck the check box next to Use User + Account Control (UAC) to help protect your computer. + Click OK to save the setting. + + You will need to restart to complete the process. Click + Restart Now to reboot the machine and apply the changes. You + can then follow the instructions below for installing + Windows. 2.3.5.1 Using the MySQL Installation Wizard - MySQL Installation Wizard is an installer for the MySQL server - that uses the latest installer technologies for Microsoft Windows. - The MySQL Installation Wizard, in combination with the MySQL - Configuration Wizard, enables a user to install and configure a - MySQL server that is ready for use immediately after installation. - - The MySQL Installation Wizard is the standard installer for all - MySQL server distributions, version 4.1.5 and higher. Users of - previous versions of MySQL need to shut down and remove their - existing MySQL installations manually before installing MySQL with - the MySQL Installation Wizard. See Section 2.3.5.1.6, "Upgrading - MySQL with the Installation Wizard," for more information on - upgrading from a previous version. + MySQL Installation Wizard is an installer for the MySQL + server that uses the latest installer technologies for + Microsoft Windows. The MySQL Installation Wizard, in + combination with the MySQL Configuration Wizard, enables a + user to install and configure a MySQL server that is ready + for use immediately after installation. + + The MySQL Installation Wizard is the standard installer for + all MySQL server distributions, version 4.1.5 and higher. + Users of previous versions of MySQL need to shut down and + remove their existing MySQL installations manually before + installing MySQL with the MySQL Installation Wizard. See + Section 2.3.5.1.6, "Upgrading MySQL with the Installation + Wizard," for more information on upgrading from a previous + version. Microsoft has included an improved version of their Microsoft - Windows Installer (MSI) in the recent versions of Windows. MSI has - become the de-facto standard for application installations on - Windows 2000, Windows XP, and Windows Server 2003. The MySQL - Installation Wizard makes use of this technology to provide a - smoother and more flexible installation process. + Windows Installer (MSI) in the recent versions of Windows. + MSI has become the de-facto standard for application + installations on Windows 2000, Windows XP, and Windows Server + 2003. The MySQL Installation Wizard makes use of this + technology to provide a smoother and more flexible + installation process. The Microsoft Windows Installer Engine was updated with the - release of Windows XP; those using a previous version of Windows - can reference this Microsoft Knowledge Base article - (http://support.microsoft.com/default.aspx?scid=kb;EN-US;292539) - for information on upgrading to the latest version of the Windows - Installer Engine. - - In addition, Microsoft has introduced the WiX (Windows Installer - XML) toolkit recently. This is the first highly acknowledged Open - Source project from Microsoft. We have switched to WiX because it - is an Open Source project and it enables us to handle the complete - Windows installation process in a flexible manner using scripts. - - Improving the MySQL Installation Wizard depends on the support and - feedback of users like you. If you find that the MySQL - Installation Wizard is lacking some feature important to you, or - if you discover a bug, please report it in our bugs database using - the instructions given in Section 1.7, "How to Report Bugs or - Problems." + release of Windows XP; those using a previous version of + Windows can reference this Microsoft Knowledge Base article + (http://support.microsoft.com/default.aspx?scid=kb;EN-US;2925 + 39) for information on upgrading to the latest version of the + Windows Installer Engine. + + In addition, Microsoft has introduced the WiX (Windows + Installer XML) toolkit recently. This is the first highly + acknowledged Open Source project from Microsoft. We have + switched to WiX because it is an Open Source project and it + enables us to handle the complete Windows installation + process in a flexible manner using scripts. + + Improving the MySQL Installation Wizard depends on the + support and feedback of users like you. If you find that the + MySQL Installation Wizard is lacking some feature important + to you, or if you discover a bug, please report it in our + bugs database using the instructions given in Section 1.7, + "How to Report Bugs or Problems." 2.3.5.1.1 Downloading and Starting the MySQL Installation Wizard The MySQL installation packages can be downloaded from - http://dev.mysql.com/downloads/. If the package you download is - contained within a Zip archive, you need to extract the archive - first. - Note - - If you are installing on Windows Vista or newer, it is best to - open a network port before beginning the installation. To do this, - first ensure that you are logged in as an Administrator, go to the - Control Panel, and double-click the Windows Firewall icon. Choose - the Allow a program through Windows Firewall option and click the - Add port button. Enter MySQL into the Name text box and 3306 (or - the port of your choice) into the Port number text box. Also - ensure that the TCP protocol radio button is selected. If you - wish, you can also limit access to the MySQL server by choosing - the Change scope button. Confirm your choices by clicking the OK - button. If you do not open a port prior to installation, you - cannot configure the MySQL server immediately after installation. + http://dev.mysql.com/downloads/. If the package you download + is contained within a Zip archive, you need to extract the + archive first. + Note + + If you are installing on Windows Vista or newer, it is best + to open a network port before beginning the installation. To + do this, first ensure that you are logged in as an + Administrator, go to the Control Panel, and double-click the + Windows Firewall icon. Choose the Allow a program through + Windows Firewall option and click the Add port button. Enter + MySQL into the Name text box and 3306 (or the port of your + choice) into the Port number text box. Also ensure that the + TCP protocol radio button is selected. If you wish, you can + also limit access to the MySQL server by choosing the Change + scope button. Confirm your choices by clicking the OK button. + If you do not open a port prior to installation, you cannot + configure the MySQL server immediately after installation. Additionally, when running the MySQL Installation Wizard on - Windows Vista or newer, ensure that you are logged in as a user - with administrative rights. + Windows Vista or newer, ensure that you are logged in as a + user with administrative rights. - The process for starting the wizard depends on the contents of the - installation package you download. If there is a setup.exe file - present, double-click it to start the installation process. If - there is an .msi file present, double-click it to start the - installation process. + The process for starting the wizard depends on the contents + of the installation package you download. If there is a + setup.exe file present, double-click it to start the + installation process. If there is an .msi file present, + double-click it to start the installation process. 2.3.5.1.2 Choosing an Install Type - There are three installation types available: Typical, Complete, - and Custom. + There are three installation types available: Typical, + Complete, and Custom. - The Typical installation type installs the MySQL server, the mysql - command-line client, and the command-line utilities. The - command-line clients and utilities include mysqldump, myisamchk, - and several other tools to help you manage the MySQL server. - - The Complete installation type installs all components included in - the installation package. The full installation package includes - components such as the embedded server library, the benchmark - suite, support scripts, and documentation. - - The Custom installation type gives you complete control over which - packages you wish to install and the installation path that is - used. See Section 2.3.5.1.3, "The Custom Install Dialog," for more - information on performing a custom install. - - If you choose the Typical or Complete installation types and click - the Next button, you advance to the confirmation screen to verify - your choices and begin the installation. If you choose the Custom - installation type and click the Next button, you advance to the - custom installation dialog, described in Section 2.3.5.1.3, "The - Custom Install Dialog." + The Typical installation type installs the MySQL server, the + mysql command-line client, and the command-line utilities. + The command-line clients and utilities include mysqldump, + myisamchk, and several other tools to help you manage the + MySQL server. + + The Complete installation type installs all components + included in the installation package. The full installation + package includes components such as the embedded server + library, the benchmark suite, support scripts, and + documentation. + + The Custom installation type gives you complete control over + which packages you wish to install and the installation path + that is used. See Section 2.3.5.1.3, "The Custom Install + Dialog," for more information on performing a custom install. + + If you choose the Typical or Complete installation types and + click the Next button, you advance to the confirmation screen + to verify your choices and begin the installation. If you + choose the Custom installation type and click the Next + button, you advance to the custom installation dialog, + described in Section 2.3.5.1.3, "The Custom Install Dialog." 2.3.5.1.3 The Custom Install Dialog If you wish to change the installation path or the specific - components that are installed by the MySQL Installation Wizard, - choose the Custom installation type. + components that are installed by the MySQL Installation + Wizard, choose the Custom installation type. - A tree view on the left side of the custom install dialog lists - all available components. Components that are not installed have a - red X icon; components that are installed have a gray icon. To - change whether a component is installed, click that component's - icon and choose a new option from the drop-down list that appears. + A tree view on the left side of the custom install dialog + lists all available components. Components that are not + installed have a red X icon; components that are installed + have a gray icon. To change whether a component is installed, + click that component's icon and choose a new option from the + drop-down list that appears. You can change the default installation path by clicking the - Change... button to the right of the displayed installation path. + Change... button to the right of the displayed installation + path. - After choosing your installation components and installation path, - click the Next button to advance to the confirmation dialog. + After choosing your installation components and installation + path, click the Next button to advance to the confirmation + dialog. 2.3.5.1.4 The Confirmation Dialog - Once you choose an installation type and optionally choose your - installation components, you advance to the confirmation dialog. - Your installation type and installation path are displayed for you - to review. - - To install MySQL if you are satisfied with your settings, click - the Install button. To change your settings, click the Back - button. To exit the MySQL Installation Wizard without installing - MySQL, click the Cancel button. + Once you choose an installation type and optionally choose + your installation components, you advance to the confirmation + dialog. Your installation type and installation path are + displayed for you to review. + + To install MySQL if you are satisfied with your settings, + click the Install button. To change your settings, click the + Back button. To exit the MySQL Installation Wizard without + installing MySQL, click the Cancel button. The final screen of the installer provides a summary of the installation and gives you the option to launch the MySQL - Configuration Wizard, which you can use to create a configuration - file, install the MySQL service, and configure security settings. + Configuration Wizard, which you can use to create a + configuration file, install the MySQL service, and configure + security settings. 2.3.5.1.5 Changes Made by MySQL Installation Wizard - Once you click the Install button, the MySQL Installation Wizard - begins the installation process and makes certain changes to your - system which are described in the sections that follow. + Once you click the Install button, the MySQL Installation + Wizard begins the installation process and makes certain + changes to your system which are described in the sections + that follow. Changes to the Registry - The MySQL Installation Wizard creates one Windows registry key in - a typical install situation, located in + The MySQL Installation Wizard creates one Windows registry + key in a typical install situation, located in HKEY_LOCAL_MACHINE\SOFTWARE\MySQL AB. - The MySQL Installation Wizard creates a key named after the major - version of the server that is being installed, such as MySQL - Server 5.5. It contains two string values, Location and Version. - The Location string contains the path to the installation - directory. In a default installation it contains C:\Program - Files\MySQL\MySQL Server 5.5\. The Version string contains the - release number. For example, for an installation of MySQL Server - 5.5.41, the key contains a value of 5.5.41. - - These registry keys are used to help external tools identify the - installed location of the MySQL server, preventing a complete scan - of the hard-disk to determine the installation path of the MySQL - server. The registry keys are not required to run the server, and - if you install MySQL using the noinstall Zip archive, the registry - keys are not created. + The MySQL Installation Wizard creates a key named after the + major version of the server that is being installed, such as + MySQL Server 5.5. It contains two string values, Location and + Version. The Location string contains the path to the + installation directory. In a default installation it contains + C:\Program Files\MySQL\MySQL Server 5.5\. The Version string + contains the release number. For example, for an installation + of MySQL Server 5.5.42, the key contains a value of 5.5.42. + + These registry keys are used to help external tools identify + the installed location of the MySQL server, preventing a + complete scan of the hard-disk to determine the installation + path of the MySQL server. The registry keys are not required + to run the server, and if you install MySQL using the + noinstall Zip archive, the registry keys are not created. Changes to the Start Menu - The MySQL Installation Wizard creates a new entry in the Windows - Start menu under a common MySQL menu heading named after the major - version of MySQL that you have installed. For example, if you - install MySQL 5.5, the MySQL Installation Wizard creates a MySQL - Server 5.5 section in the Start menu. + The MySQL Installation Wizard creates a new entry in the + Windows Start menu under a common MySQL menu heading named + after the major version of MySQL that you have installed. For + example, if you install MySQL 5.5, the MySQL Installation + Wizard creates a MySQL Server 5.5 section in the Start menu. The following entries are created within the new Start menu section: - * MySQL Command-Line Client: This is a shortcut to the mysql - command-line client and is configured to connect as the root - user. The shortcut prompts for a root user password when you - connect. - - * MySQL Server Instance Config Wizard: This is a shortcut to the - MySQL Configuration Wizard. Use this shortcut to configure a - newly installed server, or to reconfigure an existing server. + * MySQL Command-Line Client: This is a shortcut to the + mysql command-line client and is configured to connect as + the root user. The shortcut prompts for a root user + password when you connect. + + * MySQL Server Instance Config Wizard: This is a shortcut + to the MySQL Configuration Wizard. Use this shortcut to + configure a newly installed server, or to reconfigure an + existing server. * MySQL Documentation: This is a link to the MySQL server documentation that is stored locally in the MySQL server @@ -1433,23 +1889,23 @@ Changes to the File System - The MySQL Installation Wizard by default installs the MySQL 5.5 - server to C:\Program Files\MySQL\MySQL Server 5.5, where Program - Files is the default location for applications in your system, and - 5.5 is the major version of your MySQL server. This is the - recommended location for the MySQL server, replacing the former - default location C:\mysql. + The MySQL Installation Wizard by default installs the MySQL + 5.5 server to C:\Program Files\MySQL\MySQL Server 5.5, where + Program Files is the default location for applications in + your system, and 5.5 is the major version of your MySQL + server. This is the recommended location for the MySQL + server, replacing the former default location C:\mysql. By default, all MySQL applications are stored in a common - directory at C:\Program Files\MySQL, where Program Files is the - default location for applications in your Windows installation. A - typical MySQL installation on a developer machine might look like - this: + directory at C:\Program Files\MySQL, where Program Files is + the default location for applications in your Windows + installation. A typical MySQL installation on a developer + machine might look like this: C:\Program Files\MySQL\MySQL Server 5.5 C:\Program Files\MySQL\MySQL Workbench 5.1 OSS - This approach makes it easier to manage and maintain all MySQL - applications installed on a particular system. + This approach makes it easier to manage and maintain all + MySQL applications installed on a particular system. The default location of the data directory is the AppData directory configured for the user that installed the MySQL @@ -1458,93 +1914,97 @@ 2.3.5.1.6 Upgrading MySQL with the Installation Wizard The MySQL Installation Wizard can perform server upgrades - automatically using the upgrade capabilities of MSI. That means - you do not need to remove a previous installation manually before - installing a new release. The installer automatically shuts down - and removes the previous MySQL service before installing the new - version. + automatically using the upgrade capabilities of MSI. That + means you do not need to remove a previous installation + manually before installing a new release. The installer + automatically shuts down and removes the previous MySQL + service before installing the new version. Automatic upgrades are available only when upgrading between - installations that have the same major and minor version numbers. - For example, you can upgrade automatically from MySQL 5.5.5 to - MySQL 5.5.6, but not from MySQL 5.1 to MySQL 5.5. + installations that have the same major and minor version + numbers. For example, you can upgrade automatically from + MySQL 5.5.5 to MySQL 5.5.6, but not from MySQL 5.1 to MySQL + 5.5. See Section 2.3.9, "Upgrading MySQL on Windows." -2.3.5.2 Automating MySQL Installation on Microsoft Windows Using the -MSI Package +2.3.5.2 Automating MySQL Installation on Microsoft Windows Using +the MSI Package The Microsoft Installer (MSI) supports a both a quiet and a passive mode that can be used to install MySQL automatically - without requiring intervention. You can use this either in scripts - to automatically install MySQL or through a terminal connection - such as Telnet where you do not have access to the standard - Windows user interface. The MSI packages can also be used in - combination with Microsoft's Group Policy system (part of Windows - Server 2003 and Windows Server 2008) to install MySQL across - multiple machines. - - To install MySQL from one of the MSI packages automatically from - the command line (or within a script), you need to use the - msiexec.exe tool. For example, to perform a quiet installation - (which shows no dialog boxes or progress): -shell> msiexec /i mysql-5.5.41.msi /quiet - - The /i indicates that you want to perform an installation. The - /quiet option indicates that you want no interactive elements. - - To provide a dialog box showing the progress during installation, - and the dialog boxes providing information on the installation and - registration of MySQL, use /passive mode instead of /quiet: -shell> msiexec /i mysql-5.5.41.msi /passive - - Regardless of the mode of the installation, installing the package - in this manner performs a 'Typical' installation, and installs the - default components into the standard location. + without requiring intervention. You can use this either in + scripts to automatically install MySQL or through a terminal + connection such as Telnet where you do not have access to the + standard Windows user interface. The MSI packages can also be + used in combination with Microsoft's Group Policy system + (part of Windows Server 2003 and Windows Server 2008) to + install MySQL across multiple machines. + + To install MySQL from one of the MSI packages automatically + from the command line (or within a script), you need to use + the msiexec.exe tool. For example, to perform a quiet + installation (which shows no dialog boxes or progress): +shell> msiexec /i mysql-5.5.42.msi /quiet + + The /i indicates that you want to perform an installation. + The /quiet option indicates that you want no interactive + elements. + + To provide a dialog box showing the progress during + installation, and the dialog boxes providing information on + the installation and registration of MySQL, use /passive mode + instead of /quiet: +shell> msiexec /i mysql-5.5.42.msi /passive + + Regardless of the mode of the installation, installing the + package in this manner performs a 'Typical' installation, and + installs the default components into the standard location. You can also use this method to uninstall MySQL by using the /uninstall or /x options: -shell> msiexec /x mysql-5.5.41.msi /uninstall +shell> msiexec /x mysql-5.5.42.msi /uninstall - To install MySQL and configure a MySQL instance from the command - line, see Section 2.3.6.13, "MySQL Server Instance Config Wizard: - Creating an Instance from the Command Line." + To install MySQL and configure a MySQL instance from the + command line, see Section 2.3.6.13, "MySQL Server Instance + Config Wizard: Creating an Instance from the Command Line." For information on using MSI packages to install software - automatically using Group Policy, see How to use Group Policy to - remotely install software in Windows Server 2003 + automatically using Group Policy, see How to use Group Policy + to remotely install software in Windows Server 2003 (http://support.microsoft.com/kb/816102). 2.3.5.3 Removing MySQL When Installed from the MSI Package - To uninstall a MySQL where you have used the MSI packages, you - must use the Add/Remove Programs tool within Control Panel. To do - this: + To uninstall a MySQL where you have used the MSI packages, + you must use the Add/Remove Programs tool within Control + Panel. To do this: 1. Right-click the start menu and choose Control Panel. - 2. If the Control Panel is set to category mode (you will see - Pick a category at the top of the Control Panel window), - double-click Add or Remove Programs. If the Control is set to - classic mode, double-click the Add or Remove Programs icon. - - 3. Find MySQL in the list of installed software. MySQL Server is - installed against major version numbers (MySQL 5.1, MySQL 5.5, - etc.). Select the version that you want to remove and click - Remove. + 2. If the Control Panel is set to category mode (you will + see Pick a category at the top of the Control Panel + window), double-click Add or Remove Programs. If the + Control is set to classic mode, double-click the Add or + Remove Programs icon. + + 3. Find MySQL in the list of installed software. MySQL + Server is installed against major version numbers (MySQL + 5.1, MySQL 5.5, etc.). Select the version that you want + to remove and click Remove. 4. You will be prompted to confirm the removal. Click Yes to remove MySQL. When MySQL is removed using this method, only the installed - components are removed. Any database information (including the - tables and data), import or export files, log files, and binary - logs produced during execution are kept in their configured - location. - - If you try to install MySQL again the information will be retained - and you will be prompted to enter the password configured with the - original installation. + components are removed. Any database information (including + the tables and data), import or export files, log files, and + binary logs produced during execution are kept in their + configured location. + + If you try to install MySQL again the information will be + retained and you will be prompted to enter the password + configured with the original installation. If you want to delete MySQL completely: @@ -1556,84 +2016,90 @@ * On Windows 7 and Windows Server 2008, the default data directory location is C:\ProgramData\Mysql. Note - The C:\ProgramData directory is hidden by default. You must - change your folder options to view the hidden file. Choose - Organize, Folder and search options, Show hidden folders. + The C:\ProgramData directory is hidden by default. You + must change your folder options to view the hidden file. + Choose Organize, Folder and search options, Show hidden + folders. 2.3.6 MySQL Server Instance Configuration Wizard - The MySQL Server Instance Configuration Wizard helps automate the - process of configuring your server. It creates a custom MySQL - configuration file (my.ini or my.cnf) by asking you a series of - questions and then applying your responses to a template to - generate the configuration file that is tuned to your - installation. - - The MySQL Server Instance Configuration Wizard is included with - the MySQL 5.5 server. The MySQL Server Instance Configuration - Wizard is only available for Windows. + The MySQL Server Instance Configuration Wizard helps automate + the process of configuring your server. It creates a custom + MySQL configuration file (my.ini or my.cnf) by asking you a + series of questions and then applying your responses to a + template to generate the configuration file that is tuned to + your installation. + + The MySQL Server Instance Configuration Wizard is included + with the MySQL 5.5 server. The MySQL Server Instance + Configuration Wizard is only available for Windows. 2.3.6.1 Starting the MySQL Server Instance Configuration Wizard - The MySQL Server Instance Configuration Wizard is normally started - as part of the installation process. You should only need to run - the MySQL Server Instance Configuration Wizard again when you need - to change the configuration parameters of your server. + The MySQL Server Instance Configuration Wizard is normally + started as part of the installation process. You should only + need to run the MySQL Server Instance Configuration Wizard + again when you need to change the configuration parameters of + your server. If you chose not to open a port prior to installing MySQL on - Windows Vista or newer, you can choose to use the MySQL Server - Configuration Wizard after installation. However, you must open a - port in the Windows Firewall. To do this see the instructions - given in Section 2.3.5.1.1, "Downloading and Starting the MySQL - Installation Wizard." Rather than opening a port, you also have - the option of adding MySQL as a program that bypasses the Windows - Firewall. One or the other option is sufficient---you need not do - both. Additionally, when running the MySQL Server Configuration - Wizard on Windows Vista or newer, ensure that you are logged in as - a user with administrative rights. + Windows Vista or newer, you can choose to use the MySQL + Server Configuration Wizard after installation. However, you + must open a port in the Windows Firewall. To do this see the + instructions given in Section 2.3.5.1.1, "Downloading and + Starting the MySQL Installation Wizard." Rather than opening + a port, you also have the option of adding MySQL as a program + that bypasses the Windows Firewall. One or the other option + is sufficient---you need not do both. Additionally, when + running the MySQL Server Configuration Wizard on Windows + Vista or newer, ensure that you are logged in as a user with + administrative rights. MySQL Server Instance Configuration Wizard You can launch the MySQL Configuration Wizard by clicking the - MySQL Server Instance Config Wizard entry in the MySQL section of - the Windows Start menu. - - Alternatively, you can navigate to the bin directory of your MySQL - installation and launch the MySQLInstanceConfig.exe file directly. + MySQL Server Instance Config Wizard entry in the MySQL + section of the Windows Start menu. - The MySQL Server Instance Configuration Wizard places the my.ini - file in the installation directory for the MySQL server. This - helps associate configuration files with particular server - instances. - - To ensure that the MySQL server knows where to look for the my.ini - file, an argument similar to this is passed to the MySQL server as - part of the service installation: + Alternatively, you can navigate to the bin directory of your + MySQL installation and launch the MySQLInstanceConfig.exe + file directly. + + The MySQL Server Instance Configuration Wizard places the + my.ini file in the installation directory for the MySQL + server. This helps associate configuration files with + particular server instances. + + To ensure that the MySQL server knows where to look for the + my.ini file, an argument similar to this is passed to the + MySQL server as part of the service installation: --defaults-file="C:\Program Files\MySQL\MySQL Server 5.5\my.ini" - Here, C:\Program Files\MySQL\MySQL Server 5.5 is replaced with the - installation path to the MySQL Server. The --defaults-file option - instructs the MySQL server to read the specified file for - configuration options when it starts. - - Apart from making changes to the my.ini file by running the MySQL - Server Instance Configuration Wizard again, you can modify it by - opening it with a text editor and making any necessary changes. - You can also modify the server configuration with the - http://www.mysql.com/products/administrator/ utility. For more - information about server configuration, see Section 5.1.3, "Server - Command Options." + Here, C:\Program Files\MySQL\MySQL Server 5.5 is replaced + with the installation path to the MySQL Server. The + --defaults-file option instructs the MySQL server to read the + specified file for configuration options when it starts. + + Apart from making changes to the my.ini file by running the + MySQL Server Instance Configuration Wizard again, you can + modify it by opening it with a text editor and making any + necessary changes. You can also modify the server + configuration with the + http://www.mysql.com/products/administrator/ utility. For + more information about server configuration, see Section + 5.1.3, "Server Command Options." MySQL clients and utilities such as the mysql and mysqldump command-line clients are not able to locate the my.ini file - located in the server installation directory. To configure the - client and utility applications, create a new my.ini file in the - Windows installation directory (for example, C:\WINDOWS). - - Under Windows Server 2003, Windows Server 2000, Windows XP, and - Windows Vista, MySQL Server Instance Configuration Wizard will - configure MySQL to work as a Windows service. To start and stop - MySQL you use the Services application that is supplied as part of - the Windows Administrator Tools. + located in the server installation directory. To configure + the client and utility applications, create a new my.ini file + in the Windows installation directory (for example, + C:\WINDOWS). + + Under Windows Server 2003, Windows Server 2000, Windows XP, + and Windows Vista, MySQL Server Instance Configuration Wizard + will configure MySQL to work as a Windows service. To start + and stop MySQL you use the Services application that is + supplied as part of the Windows Administrator Tools. 2.3.6.2 Choosing a Maintenance Option @@ -1645,118 +2111,119 @@ To reconfigure an existing server, choose the Re-configure Instance option and click the Next button. Any existing - configuration file is not overwritten, but renamed (within the - same directory) using a timestamp (Windows) or sequential number - (Linux). To remove the existing server instance, choose the Remove - Instance option and click the Next button. + configuration file is not overwritten, but renamed (within + the same directory) using a timestamp (Windows) or sequential + number (Linux). To remove the existing server instance, + choose the Remove Instance option and click the Next button. If you choose the Remove Instance option, you advance to a - confirmation window. Click the Execute button. The MySQL Server - Configuration Wizard stops and removes the MySQL service, and then - deletes the configuration file. The server installation and its - data folder are not removed. - - If you choose the Re-configure Instance option, you advance to the - Configuration Type dialog where you can choose the type of - installation that you wish to configure. + confirmation window. Click the Execute button. The MySQL + Server Configuration Wizard stops and removes the MySQL + service, and then deletes the configuration file. The server + installation and its data folder are not removed. + + If you choose the Re-configure Instance option, you advance + to the Configuration Type dialog where you can choose the + type of installation that you wish to configure. 2.3.6.3 Choosing a Configuration Type - When you start the MySQL Server Instance Configuration Wizard for - a new MySQL installation, or choose the Re-configure Instance - option for an existing installation, you advance to the - Configuration Type dialog. - MySQL Server Instance Configuration Wizard: Configuration Type + When you start the MySQL Server Instance Configuration Wizard + for a new MySQL installation, or choose the Re-configure + Instance option for an existing installation, you advance to + the Configuration Type dialog. + MySQL Server Instance Configuration Wizard: Configuration + Type There are two configuration types available: Detailed Configuration and Standard Configuration. The Standard - Configuration option is intended for new users who want to get - started with MySQL quickly without having to make many decisions - about server configuration. The Detailed Configuration option is - intended for advanced users who want more fine-grained control - over server configuration. + Configuration option is intended for new users who want to + get started with MySQL quickly without having to make many + decisions about server configuration. The Detailed + Configuration option is intended for advanced users who want + more fine-grained control over server configuration. If you are new to MySQL and need a server configured as a - single-user developer machine, the Standard Configuration should - suit your needs. Choosing the Standard Configuration option causes - the MySQL Configuration Wizard to set all configuration options - automatically with the exception of Service Options and Security - Options. - - The Standard Configuration sets options that may be incompatible - with systems where there are existing MySQL installations. If you - have an existing MySQL installation on your system in addition to - the installation you wish to configure, the Detailed Configuration - option is recommended. + single-user developer machine, the Standard Configuration + should suit your needs. Choosing the Standard Configuration + option causes the MySQL Configuration Wizard to set all + configuration options automatically with the exception of + Service Options and Security Options. + + The Standard Configuration sets options that may be + incompatible with systems where there are existing MySQL + installations. If you have an existing MySQL installation on + your system in addition to the installation you wish to + configure, the Detailed Configuration option is recommended. To complete the Standard Configuration, please refer to the sections on Service Options and Security Options in Section - 2.3.6.10, "The Service Options Dialog," and Section 2.3.6.11, "The - Security Options Dialog," respectively. + 2.3.6.10, "The Service Options Dialog," and Section 2.3.6.11, + "The Security Options Dialog," respectively. 2.3.6.4 The Server Type Dialog - There are three different server types available to choose from. - The server type that you choose affects the decisions that the - MySQL Server Instance Configuration Wizard makes with regard to - memory, disk, and processor usage. + There are three different server types available to choose + from. The server type that you choose affects the decisions + that the MySQL Server Instance Configuration Wizard makes + with regard to memory, disk, and processor usage. MySQL Server Instance Configuration Wizard: Server Type - * Developer Machine: Choose this option for a typical desktop - workstation where MySQL is intended only for personal use. It - is assumed that many other desktop applications are running. - The MySQL server is configured to use minimal system - resources. - - * Server Machine: Choose this option for a server machine where - the MySQL server is running alongside other server - applications such as FTP, email, and Web servers. The MySQL - server is configured to use a moderate portion of the system - resources. + * Developer Machine: Choose this option for a typical + desktop workstation where MySQL is intended only for + personal use. It is assumed that many other desktop + applications are running. The MySQL server is configured + to use minimal system resources. + + * Server Machine: Choose this option for a server machine + where the MySQL server is running alongside other server + applications such as FTP, email, and Web servers. The + MySQL server is configured to use a moderate portion of + the system resources. * Dedicated MySQL Server Machine: Choose this option for a - server machine that is intended to run only the MySQL server. - It is assumed that no other applications are running. The - MySQL server is configured to use all available system - resources. + server machine that is intended to run only the MySQL + server. It is assumed that no other applications are + running. The MySQL server is configured to use all + available system resources. Note - By selecting one of the preconfigured configurations, the values - and settings of various options in your my.cnf or my.ini will be - altered accordingly. The default values and options as described - in the reference manual may therefore be different to the options - and values that were created during the execution of the - configuration wizard. + By selecting one of the preconfigured configurations, the + values and settings of various options in your my.cnf or + my.ini will be altered accordingly. The default values and + options as described in the reference manual may therefore be + different to the options and values that were created during + the execution of the configuration wizard. 2.3.6.5 The Database Usage Dialog The Database Usage dialog enables you to indicate the storage - engines that you expect to use when creating MySQL tables. The - option you choose determines whether the InnoDB storage engine is - available and what percentage of the server resources are - available to InnoDB. + engines that you expect to use when creating MySQL tables. + The option you choose determines whether the InnoDB storage + engine is available and what percentage of the server + resources are available to InnoDB. MySQL Server Instance Configuration Wizard: Usage Dialog - * Multifunctional Database: This option enables both the InnoDB - and MyISAM storage engines and divides resources evenly - between the two. This option is recommended for users who use - both storage engines on a regular basis. + * Multifunctional Database: This option enables both the + InnoDB and MyISAM storage engines and divides resources + evenly between the two. This option is recommended for + users who use both storage engines on a regular basis. * Transactional Database Only: This option enables both the - InnoDB and MyISAM storage engines, but dedicates most server - resources to the InnoDB storage engine. This option is - recommended for users who use InnoDB almost exclusively and - make only minimal use of MyISAM. + InnoDB and MyISAM storage engines, but dedicates most + server resources to the InnoDB storage engine. This + option is recommended for users who use InnoDB almost + exclusively and make only minimal use of MyISAM. * Non-Transactional Database Only: This option disables the InnoDB storage engine completely and dedicates all server resources to the MyISAM storage engine. This option is recommended for users who do not use InnoDB. - The Configuration Wizard uses a template to generate the server - configuration file. The Database Usage dialog sets one of the - following option strings: + The Configuration Wizard uses a template to generate the + server configuration file. The Database Usage dialog sets one + of the following option strings: Multifunctional Database: MIXED Transactional Database Only: INNODB Non-Transactional Database Only: MYISAM @@ -1782,209 +2249,225 @@ 2.3.6.6 The InnoDB Tablespace Dialog - Some users may want to locate the InnoDB tablespace files in a - different location than the MySQL server data directory. Placing - the tablespace files in a separate location can be desirable if - your system has a higher capacity or higher performance storage - device available, such as a RAID storage system. - MySQL Server Instance Configuration Wizard: InnoDB Data Tablespace - - To change the default location for the InnoDB tablespace files, - choose a new drive from the drop-down list of drive letters and - choose a new path from the drop-down list of paths. To create a - custom path, click the ... button. - - If you are modifying the configuration of an existing server, you - must click the Modify button before you change the path. In this - situation you must move the existing tablespace files to the new - location manually before starting the server. + Some users may want to locate the InnoDB tablespace files in + a different location than the MySQL server data directory. + Placing the tablespace files in a separate location can be + desirable if your system has a higher capacity or higher + performance storage device available, such as a RAID storage + system. + MySQL Server Instance Configuration Wizard: InnoDB Data + Tablespace + + To change the default location for the InnoDB tablespace + files, choose a new drive from the drop-down list of drive + letters and choose a new path from the drop-down list of + paths. To create a custom path, click the ... button. + + If you are modifying the configuration of an existing server, + you must click the Modify button before you change the path. + In this situation you must move the existing tablespace files + to the new location manually before starting the server. 2.3.6.7 The Concurrent Connections Dialog To prevent the server from running out of resources, it is - important to limit the number of concurrent connections to the - MySQL server that can be established. The Concurrent Connections - dialog enables you to choose the expected usage of your server, - and sets the limit for concurrent connections accordingly. It is - also possible to set the concurrent connection limit manually. + important to limit the number of concurrent connections to + the MySQL server that can be established. The Concurrent + Connections dialog enables you to choose the expected usage + of your server, and sets the limit for concurrent connections + accordingly. It is also possible to set the concurrent + connection limit manually. MySQL Server Instance Configuration Wizard: Connections - * Decision Support (DSS)/OLAP: Choose this option if your server - does not require a large number of concurrent connections. The - maximum number of connections is set at 100, with an average - of 20 concurrent connections assumed. - - * Online Transaction Processing (OLTP): Choose this option if - your server requires a large number of concurrent connections. - The maximum number of connections is set at 500. - - * Manual Setting: Choose this option to set the maximum number - of concurrent connections to the server manually. Choose the - number of concurrent connections from the drop-down box - provided, or enter the maximum number of connections into the - drop-down box if the number you desire is not listed. + * Decision Support (DSS)/OLAP: Choose this option if your + server does not require a large number of concurrent + connections. The maximum number of connections is set at + 100, with an average of 20 concurrent connections + assumed. + + * Online Transaction Processing (OLTP): Choose this option + if your server requires a large number of concurrent + connections. The maximum number of connections is set at + 500. + + * Manual Setting: Choose this option to set the maximum + number of concurrent connections to the server manually. + Choose the number of concurrent connections from the + drop-down box provided, or enter the maximum number of + connections into the drop-down box if the number you + desire is not listed. 2.3.6.8 The Networking and Strict Mode Options Dialog Use the Networking Options dialog to enable or disable TCP/IP networking and to configure the port number that is used to connect to the MySQL server. - MySQL Server Instance Configuration Wizard: Network Configuration + MySQL Server Instance Configuration Wizard: Network + Configuration TCP/IP networking is enabled by default. To disable TCP/IP - networking, uncheck the box next to the Enable TCP/IP Networking - option. + networking, uncheck the box next to the Enable TCP/IP + Networking option. - Port 3306 is used by default. To change the port used to access - MySQL, choose a new port number from the drop-down box or type a - new port number directly into the drop-down box. If the port - number you choose is in use, you are prompted to confirm your - choice of port number. - - Set the Server SQL Mode to either enable or disable strict mode. - Enabling strict mode (default) makes MySQL behave more like other - database management systems. If you run applications that rely on - MySQL's old "forgiving" behavior, make sure to either adapt those - applications or to disable strict mode. For more information about - strict mode, see Section 5.1.7, "Server SQL Modes." + Port 3306 is used by default. To change the port used to + access MySQL, choose a new port number from the drop-down box + or type a new port number directly into the drop-down box. If + the port number you choose is in use, you are prompted to + confirm your choice of port number. + + Set the Server SQL Mode to either enable or disable strict + mode. Enabling strict mode (default) makes MySQL behave more + like other database management systems. If you run + applications that rely on MySQL's old "forgiving" behavior, + make sure to either adapt those applications or to disable + strict mode. For more information about strict mode, see + Section 5.1.7, "Server SQL Modes." 2.3.6.9 The Character Set Dialog The MySQL server supports multiple character sets and it is - possible to set a default server character set that is applied to - all tables, columns, and databases unless overridden. Use the - Character Set dialog to change the default character set of the - MySQL server. + possible to set a default server character set that is + applied to all tables, columns, and databases unless + overridden. Use the Character Set dialog to change the + default character set of the MySQL server. MySQL Server Instance Configuration Wizard: Character Set - * Standard Character Set: Choose this option if you want to use - latin1 as the default server character set. latin1 is used for - English and many Western European languages. - - * Best Support For Multilingualism: Choose this option if you - want to use utf8 as the default server character set. This is - a Unicode character set that can store characters from many - different languages. - - * Manual Selected Default Character Set / Collation: Choose this - option if you want to pick the server's default character set - manually. Choose the desired character set from the provided - drop-down list. + * Standard Character Set: Choose this option if you want to + use latin1 as the default server character set. latin1 is + used for English and many Western European languages. + + * Best Support For Multilingualism: Choose this option if + you want to use utf8 as the default server character set. + This is a Unicode character set that can store characters + from many different languages. + + * Manual Selected Default Character Set / Collation: Choose + this option if you want to pick the server's default + character set manually. Choose the desired character set + from the provided drop-down list. 2.3.6.10 The Service Options Dialog On Windows platforms, the MySQL server can be installed as a - Windows service. When installed this way, the MySQL server can be - started automatically during system startup, and even restarted - automatically by Windows in the event of a service failure. - - The MySQL Server Instance Configuration Wizard installs the MySQL - server as a service by default, using the service name MySQL. If - you do not wish to install the service, uncheck the box next to - the Install As Windows Service option. You can change the service - name by picking a new service name from the drop-down box provided - or by entering a new service name into the drop-down box. - Note - - Service names can include any legal character except forward (/) - or backward (\) slashes, and must be less than 256 characters - long. + Windows service. When installed this way, the MySQL server + can be started automatically during system startup, and even + restarted automatically by Windows in the event of a service + failure. + + The MySQL Server Instance Configuration Wizard installs the + MySQL server as a service by default, using the service name + MySQL. If you do not wish to install the service, uncheck the + box next to the Install As Windows Service option. You can + change the service name by picking a new service name from + the drop-down box provided or by entering a new service name + into the drop-down box. + Note + + Service names can include any legal character except forward + (/) or backward (\) slashes, and must be less than 256 + characters long. Warning - If you are installing multiple versions of MySQL onto the same - machine, you must choose a different service name for each version - that you install. If you do not choose a different service for - each installed version then the service manager information will - be inconsistent and this will cause problems when you try to - uninstall a previous version. - - If you have already installed multiple versions using the same - service name, you must manually edit the contents of the - HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services parameters - within the Windows registry to update the association of the - service name with the correct server version. - - Typically, when installing multiple versions you create a service - name based on the version information. For example, you might - install MySQL 5.x as mysql5, or specific versions such as MySQL - 5.5.0 as mysql50500. - - To install the MySQL server as a service but not have it started - automatically at startup, uncheck the box next to the Launch the - MySQL Server Automatically option. + If you are installing multiple versions of MySQL onto the + same machine, you must choose a different service name for + each version that you install. If you do not choose a + different service for each installed version then the service + manager information will be inconsistent and this will cause + problems when you try to uninstall a previous version. + + If you have already installed multiple versions using the + same service name, you must manually edit the contents of the + HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services + parameters within the Windows registry to update the + association of the service name with the correct server + version. + + Typically, when installing multiple versions you create a + service name based on the version information. For example, + you might install MySQL 5.x as mysql5, or specific versions + such as MySQL 5.5.0 as mysql50500. + + To install the MySQL server as a service but not have it + started automatically at startup, uncheck the box next to the + Launch the MySQL Server Automatically option. 2.3.6.11 The Security Options Dialog - The content of the security options portion of the MySQL Server - Instance Configuration Wizard will depend on whether this is a new - installation, or modifying an existing installation. + The content of the security options portion of the MySQL + Server Instance Configuration Wizard will depend on whether + this is a new installation, or modifying an existing + installation. * Setting the root password for a new installation - It is strongly recommended that you set a root password for - your MySQL server, and the MySQL Server Instance Config Wizard - requires by default that you do so. If you do not wish to set - a root password, uncheck the box next to the Modify Security - Settings option. + It is strongly recommended that you set a root password + for your MySQL server, and the MySQL Server Instance + Config Wizard requires by default that you do so. If you + do not wish to set a root password, uncheck the box next + to the Modify Security Settings option. MySQL Server Instance Config Wizard: Security - * To set the root password, enter the desired password into both - the New root password and Confirm boxes. + * To set the root password, enter the desired password into + both the New root password and Confirm boxes. Setting the root password for an existing installation If you are modifying the configuration of an existing - configuration, or you are installing an upgrade and the MySQL - Server Instance Configuration Wizard has detected an existing - MySQL system, then you must enter the existing password for - root before changing the configuration information. + configuration, or you are installing an upgrade and the + MySQL Server Instance Configuration Wizard has detected + an existing MySQL system, then you must enter the + existing password for root before changing the + configuration information. MySQL Server Instance Config Wizard: Security (Existing Installation) - If you want to change the current root password, enter the - desired new password into both the New root password and - Confirm boxes. - - To permit root logins from across the network, check the box next - to the Enable root access from remote machines option. This - decreases the security of your root account. - - To create an anonymous user account, check the box next to the - Create An Anonymous Account option. Creating an anonymous account - can decrease server security and cause login and permission - difficulties. For this reason, it is not recommended. + If you want to change the current root password, enter + the desired new password into both the New root password + and Confirm boxes. + + To permit root logins from across the network, check the box + next to the Enable root access from remote machines option. + This decreases the security of your root account. + + To create an anonymous user account, check the box next to + the Create An Anonymous Account option. Creating an anonymous + account can decrease server security and cause login and + permission difficulties. For this reason, it is not + recommended. 2.3.6.12 The Confirmation Dialog - The final dialog in the MySQL Server Instance Configuration Wizard - is the Confirmation Dialog. To start the configuration process, - click the Execute button. To return to a previous dialog, click - the Back button. To exit the MySQL Server Instance Configuration - Wizard without configuring the server, click the Cancel button. + The final dialog in the MySQL Server Instance Configuration + Wizard is the Confirmation Dialog. To start the configuration + process, click the Execute button. To return to a previous + dialog, click the Back button. To exit the MySQL Server + Instance Configuration Wizard without configuring the server, + click the Cancel button. MySQL Server Instance Configuration Wizard: Confirmation After you click the Execute button, the MySQL Server Instance - Configuration Wizard performs a series of tasks and displays the - progress onscreen as the tasks are performed. + Configuration Wizard performs a series of tasks and displays + the progress onscreen as the tasks are performed. - The MySQL Server Instance Configuration Wizard first determines - configuration file options based on your choices using a template - prepared by MySQL developers and engineers. This template is named - my-template.ini and is located in your server installation - directory. - - The MySQL Configuration Wizard then writes these options to the - corresponding configuration file. - - If you chose to create a service for the MySQL server, the MySQL - Server Instance Configuration Wizard creates and starts the - service. If you are reconfiguring an existing service, the MySQL - Server Instance Configuration Wizard restarts the service to apply - your configuration changes. + The MySQL Server Instance Configuration Wizard first + determines configuration file options based on your choices + using a template prepared by MySQL developers and engineers. + This template is named my-template.ini and is located in your + server installation directory. + + The MySQL Configuration Wizard then writes these options to + the corresponding configuration file. + + If you chose to create a service for the MySQL server, the + MySQL Server Instance Configuration Wizard creates and starts + the service. If you are reconfiguring an existing service, + the MySQL Server Instance Configuration Wizard restarts the + service to apply your configuration changes. If you chose to set a root password, the MySQL Configuration - Wizard connects to the server, sets your new root password, and - applies any other security settings you may have selected. - - After the MySQL Server Instance Configuration Wizard has completed - its tasks, it displays a summary. Click the Finish button to exit - the MySQL Server Configuration Wizard. + Wizard connects to the server, sets your new root password, + and applies any other security settings you may have + selected. + + After the MySQL Server Instance Configuration Wizard has + completed its tasks, it displays a summary. Click the Finish + button to exit the MySQL Server Configuration Wizard. 2.3.6.13 MySQL Server Instance Config Wizard: Creating an Instance from the Command Line @@ -1994,24 +2477,27 @@ automatically from the command line. To use the MySQL Server Instance Config Wizard on the command - line, you need to use the MySQLInstanceConfig.exe command that is - installed with MySQL in the bin directory within the installation - directory. MySQLInstanceConfig.exe takes a number of command-line - arguments the set the properties that would normally be selected - through the GUI interface, and then creates a new configuration - file (my.ini) by combining these selections with a template - configuration file to produce the working configuration file. + line, you need to use the MySQLInstanceConfig.exe command + that is installed with MySQL in the bin directory within the + installation directory. MySQLInstanceConfig.exe takes a + number of command-line arguments the set the properties that + would normally be selected through the GUI interface, and + then creates a new configuration file (my.ini) by combining + these selections with a template configuration file to + produce the working configuration file. + + The main command line options are provided in the table + below. Some of the options are required, while some options + are optional. - The main command line options are provided in the table below. - Some of the options are required, while some options are optional. - - Table 2.5 MySQL Server Instance Config Wizard Command Line Options + Table 2.5 MySQL Server Instance Config Wizard Command Line + Options Option Description Required Parameters -nPRODUCTNAME The name of the instance when installed -pPATH Path of the base directory for installation. This is - equivalent to the directory when using the basedir configuration - parameter + equivalent to the directory when using the basedir + configuration parameter -vVERSION The version tag to use for this installation Action to Perform -i Install an instance @@ -2020,95 +2506,97 @@ -q Perform the operation quietly -lFILENAME Sae the installation progress in a logfile Config File to Use - -tFILENAME Path to the template config file that will be used to - generate the installed configuration file + -tFILENAME Path to the template config file that will be used + to generate the installed configuration file -cFILENAME Path to a config file to be generated The -t and -c options work together to set the configuration parameters for a new instance. The -t option specifies the - template configuration file to use as the basic configuration, - which are then merged with the configuration parameters generated - by the MySQL Server Instance Config Wizard into the configuration - file specified by the -c option. + template configuration file to use as the basic + configuration, which are then merged with the configuration + parameters generated by the MySQL Server Instance Config + Wizard into the configuration file specified by the -c + option. A sample template file, my-template.ini is provided in the - toplevel MySQL installation directory. The file contains elements - are replaced automatically by the MySQL Server Instance Config - Wizard during configuration. + toplevel MySQL installation directory. The file contains + elements are replaced automatically by the MySQL Server + Instance Config Wizard during configuration. If you specify a configuration file that already exists, the - existing configuration file will be saved in the file with the - original, with the date and time added. For example, the mysql.ini - will be copied to mysql 2009-10-27 1646.ini.bak. + existing configuration file will be saved in the file with + the original, with the date and time added. For example, the + mysql.ini will be copied to mysql 2009-10-27 1646.ini.bak. - The parameters that you can specify on the command line are listed - in the table below. + The parameters that you can specify on the command line are + listed in the table below. Table 2.6 MySQL Server Instance Config Wizard Parameters Parameter Description ServiceName=$ Specify the name of the service to be created AddBinToPath={yes | no} Specifies whether to add the binary directory of MySQL to the standard PATH environment variable - ServerType={DEVELOPMENT | SERVER | DEDICATED} Specify the server - type. For more information, see Section 2.3.6.4, "The Server Type - Dialog" + ServerType={DEVELOPMENT | SERVER | DEDICATED} Specify the + server type. For more information, see Section 2.3.6.4, "The + Server Type Dialog" DatabaseType={MIXED | INNODB | MYISAM} Specify the default - database type. For more information, see Section 2.3.6.5, "The - Database Usage Dialog" + database type. For more information, see Section 2.3.6.5, + "The Database Usage Dialog" ConnectionUsage={DSS | OLTP} Specify the type of connection - support, this automates the setting for the number of concurrent - connections (see the ConnectionCount parameter). For more - information, see Section 2.3.6.7, "The Concurrent Connections - Dialog" - ConnectionCount=# Specify the number of concurrent connections to - support. For more information, see Section 2.3.6.4, "The Server - Type Dialog" - SkipNetworking={yes | no} Specify whether network support should - be supported. Specifying yes disables network access altogether + support, this automates the setting for the number of + concurrent connections (see the ConnectionCount parameter). + For more information, see Section 2.3.6.7, "The Concurrent + Connections Dialog" + ConnectionCount=# Specify the number of concurrent + connections to support. For more information, see Section + 2.3.6.4, "The Server Type Dialog" + SkipNetworking={yes | no} Specify whether network support + should be supported. Specifying yes disables network access + altogether Port=# Specify the network port number to use for network connections. For more information, see Section 2.3.6.8, "The Networking and Strict Mode Options Dialog" - StrictMode={yes | no} Specify whether to use the strict SQL mode. - For more information, see Section 2.3.6.8, "The Networking and - Strict Mode Options Dialog" - Charset=$ Specify the default character set. For more information, - see Section 2.3.6.9, "The Character Set Dialog" + StrictMode={yes | no} Specify whether to use the strict SQL + mode. For more information, see Section 2.3.6.8, "The + Networking and Strict Mode Options Dialog" + Charset=$ Specify the default character set. For more + information, see Section 2.3.6.9, "The Character Set Dialog" RootPassword=$ Specify the root password RootCurrentPassword=$ Specify the current root password then stopping or reconfiguring an existing service Note - When specifying options on the command line, you can enclose the - entire command-line option and the value you are specifying using - double quotation marks. This enables you to use spaces in the - options. For example, "-cC:\mysql.ini". - - The following command installs a MySQL Server 5.5 instance from - the directory C:\Program Files\MySQL\MySQL Server 5.5 using the - service name MySQL55 and setting the root password to 1234. + When specifying options on the command line, you can enclose + the entire command-line option and the value you are + specifying using double quotation marks. This enables you to + use spaces in the options. For example, "-cC:\mysql.ini". + + The following command installs a MySQL Server 5.5 instance + from the directory C:\Program Files\MySQL\MySQL Server 5.5 + using the service name MySQL55 and setting the root password + to 1234. shell> MySQLInstanceConfig.exe -i -q "-lC:\mysql_install_log.txt" » - "-nMySQL Server 5.5" "-pC:\Program Files\MySQL\MySQL Server 5.5" - -v5.5.41 » - "-tmy-template.ini" "-cC:\mytest.ini" ServerType=DEVELOPMENT Datab -aseType=MIXED » - ConnectionUsage=DSS Port=3311 ServiceName=MySQL55 RootPassword=123 -4 + "-nMySQL Server 5.5" "-pC:\Program Files\MySQL\MySQL Server 5.5" -v +5.5.42 » + "-tmy-template.ini" "-cC:\mytest.ini" ServerType=DEVELOPMENT Databa +seType=MIXED » + ConnectionUsage=DSS Port=3311 ServiceName=MySQL55 RootPassword=1234 In the above example, a log file will be generated in mysql_install_log.txt containing the information about the - instance creation process. The log file generated by the above - example is shown below: + instance creation process. The log file generated by the + above example is shown below: Welcome to the MySQL Server Instance Configuration Wizard 1.0.16.0 Date: 2009-10-27 17:07:21 Installing service ... Product Name: MySQL Server 5.5 -Version: 5.5.41 +Version: 5.5.42 Installation Path: C:\Program Files\MySQL\MySQL Server 5.5\ -Creating configuration file C:\mytest.ini using template my-template. -ini. +Creating configuration file C:\mytest.ini using template my-template.i +ni. Options: DEVELOPMENT MIXED @@ -2124,14 +2612,16 @@ Creating Windows service entry. Service name: "MySQL55" -Parameters: "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" -- -defaults-file="C:\mytest.ini" MySQL55. +Parameters: "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --d +efaults-file="C:\mytest.ini" MySQL55. Windows service MySQL55 installed. - When using the command line, the return values in the following - table indicate an error performing the specified option. + When using the command line, the return values in the + following table indicate an error performing the specified + option. - Table 2.7 Return Value from MySQL Server Instance Config Wizard + Table 2.7 Return Value from MySQL Server Instance Config + Wizard Value Description 2 Configuration template file cannot be found 3 The Windows service entry cannot be created @@ -2142,17 +2632,18 @@ 8 The configuration file cannot be written 9 The Windows service entry cannot be removed - You can perform an installation of MySQL automatically using the - MSI package. For more information, see Section 2.3.5.2, - "Automating MySQL Installation on Microsoft Windows Using the MSI - Package." + You can perform an installation of MySQL automatically using + the MSI package. For more information, see Section 2.3.5.2, + "Automating MySQL Installation on Microsoft Windows Using the + MSI Package." 2.3.7 Installing MySQL on Microsoft Windows Using a noinstall Zip Archive - Users who are installing from the noinstall package can use the - instructions in this section to manually install MySQL. The - process for installing MySQL from a Zip archive is as follows: + Users who are installing from the noinstall package can use + the instructions in this section to manually install MySQL. + The process for installing MySQL from a Zip archive is as + follows: 1. Extract the archive to the desired install directory @@ -2170,188 +2661,204 @@ To install MySQL manually, do the following: - 1. If you are upgrading from a previous version please refer to - Section 2.3.9, "Upgrading MySQL on Windows," before beginning - the upgrade process. + 1. If you are upgrading from a previous version please refer + to Section 2.3.9, "Upgrading MySQL on Windows," before + beginning the upgrade process. - 2. Make sure that you are logged in as a user with administrator - privileges. + 2. Make sure that you are logged in as a user with + administrator privileges. 3. Choose an installation location. Traditionally, the MySQL - server is installed in C:\mysql. The MySQL Installation Wizard - installs MySQL under C:\Program Files\MySQL. If you do not - install MySQL at C:\mysql, you must specify the path to the - install directory during startup or in an option file. See - Section 2.3.7.2, "Creating an Option File." + server is installed in C:\mysql. The MySQL Installation + Wizard installs MySQL under C:\Program Files\MySQL. If + you do not install MySQL at C:\mysql, you must specify + the path to the install directory during startup or in an + option file. See Section 2.3.7.2, "Creating an Option + File." + Note + The MySQL Installer installs MySQL under C:\Program + Files\MySQL. 4. Extract the install archive to the chosen installation - location using your preferred Zip archive tool. Some tools may - extract the archive to a folder within your chosen - installation location. If this occurs, you can move the - contents of the subfolder into the chosen installation - location. + location using your preferred Zip archive tool. Some + tools may extract the archive to a folder within your + chosen installation location. If this occurs, you can + move the contents of the subfolder into the chosen + installation location. 2.3.7.2 Creating an Option File - If you need to specify startup options when you run the server, - you can indicate them on the command line or place them in an - option file. For options that are used every time the server - starts, you may find it most convenient to use an option file to - specify your MySQL configuration. This is particularly true under - the following circumstances: - - * The installation or data directory locations are different - from the default locations (C:\Program Files\MySQL\MySQL - Server 5.5 and C:\Program Files\MySQL\MySQL Server 5.5\data). - - * You need to tune the server settings, such as memory, cache, - or InnoDB configuration information. - - When the MySQL server starts on Windows, it looks for option files - in several locations, such as the Windows directory, C:\, and the - MySQL installation directory (for the full list of locations, see - Section 4.2.6, "Using Option Files"). The Windows directory - typically is named something like C:\WINDOWS. You can determine - its exact location from the value of the WINDIR environment - variable using the following command: + If you need to specify startup options when you run the + server, you can indicate them on the command line or place + them in an option file. For options that are used every time + the server starts, you may find it most convenient to use an + option file to specify your MySQL configuration. This is + particularly true under the following circumstances: + + * The installation or data directory locations are + different from the default locations (C:\Program + Files\MySQL\MySQL Server 5.5 and C:\Program + Files\MySQL\MySQL Server 5.5\data). + + * You need to tune the server settings, such as memory, + cache, or InnoDB configuration information. + + When the MySQL server starts on Windows, it looks for option + files in several locations, such as the Windows directory, + C:\, and the MySQL installation directory (for the full list + of locations, see Section 4.2.6, "Using Option Files"). The + Windows directory typically is named something like + C:\WINDOWS. You can determine its exact location from the + value of the WINDIR environment variable using the following + command: C:\> echo %WINDIR% - MySQL looks for options in each location first in the my.ini file, - and then in the my.cnf file. However, to avoid confusion, it is - best if you use only one file. If your PC uses a boot loader where - C: is not the boot drive, your only option is to use the my.ini - file. Whichever option file you use, it must be a plain text file. - Note - - When using the MySQL Installer to install MySQL Server, it will - create the my.ini at the default location. And as of MySQL Server - 5.5.27, the user running MySQL Installer is granted full - permissions to this new my.ini. - - In other words, be sure that the MySQL Server user has permission - to read the my.ini file. - - You can also make use of the example option files included with - your MySQL distribution; see Section 5.1.2, "Server Configuration - Defaults." - - An option file can be created and modified with any text editor, - such as Notepad. For example, if MySQL is installed in E:\mysql - and the data directory is in E:\mydata\data, you can create an - option file containing a [mysqld] section to specify values for - the basedir and datadir options: + MySQL looks for options in each location first in the my.ini + file, and then in the my.cnf file. However, to avoid + confusion, it is best if you use only one file. If your PC + uses a boot loader where C: is not the boot drive, your only + option is to use the my.ini file. Whichever option file you + use, it must be a plain text file. + Note + + When using the MySQL Installer to install MySQL Server, it + will create the my.ini at the default location. And as of + MySQL Server 5.5.27, the user running MySQL Installer is + granted full permissions to this new my.ini. + + In other words, be sure that the MySQL Server user has + permission to read the my.ini file. + + You can also make use of the example option files included + with your MySQL distribution; see Section 5.1.2, "Server + Configuration Defaults." + + An option file can be created and modified with any text + editor, such as Notepad. For example, if MySQL is installed + in E:\mysql and the data directory is in E:\mydata\data, you + can create an option file containing a [mysqld] section to + specify values for the basedir and datadir options: [mysqld] # set basedir to your installation path basedir=E:/mysql # set datadir to the location of your data directory datadir=E:/mydata/data - Note that Windows path names are specified in option files using - (forward) slashes rather than backslashes. If you do use - backslashes, double them: + Microsoft Windows path names are specified in option files + using (forward) slashes rather than backslashes. If you do + use backslashes, double them: [mysqld] # set basedir to your installation path basedir=E:\\mysql # set datadir to the location of your data directory datadir=E:\\mydata\\data - The rules for use of backslash in option file values are given in - Section 4.2.6, "Using Option Files." + The rules for use of backslash in option file values are + given in Section 4.2.6, "Using Option Files." - The data directory is located within the AppData directory for the - user running MySQL. + The data directory is located within the AppData directory + for the user running MySQL. - If you would like to use a data directory in a different location, - you should copy the entire contents of the data directory to the - new location. For example, if you want to use E:\mydata as the - data directory instead, you must do two things: - - 1. Move the entire data directory and all of its contents from - the default location (for example C:\Program Files\MySQL\MySQL - Server 5.5\data) to E:\mydata. + If you would like to use a data directory in a different + location, you should copy the entire contents of the data + directory to the new location. For example, if you want to + use E:\mydata as the data directory instead, you must do two + things: + + 1. Move the entire data directory and all of its contents + from the default location (for example C:\Program + Files\MySQL\MySQL Server 5.5\data) to E:\mydata. 2. Use a --datadir option to specify the new data directory location each time you start the server. 2.3.7.3 Selecting a MySQL Server Type - The following table shows the available servers for Windows in - MySQL 5.5. + The following table shows the available servers for Windows + in MySQL 5.5. Binary Description mysqld Optimized binary with named-pipe support - mysqld-debug Like mysqld, but compiled with full debugging and - automatic memory allocation checking + mysqld-debug Like mysqld, but compiled with full debugging + and automatic memory allocation checking All of the preceding binaries are optimized for modern Intel processors, but should work on any Intel i386-class or higher processor. Each of the servers in a distribution support the same set of - storage engines. The SHOW ENGINES statement displays which engines - a given server supports. + storage engines. The SHOW ENGINES statement displays which + engines a given server supports. - All Windows MySQL 5.5 servers have support for symbolic linking of - database directories. + All Windows MySQL 5.5 servers have support for symbolic + linking of database directories. - MySQL supports TCP/IP on all Windows platforms. MySQL servers on - Windows also support named pipes, if you start the server with the - --enable-named-pipe option. It is necessary to use this option - explicitly because some users have experienced problems with - shutting down the MySQL server when named pipes were used. The - default is to use TCP/IP regardless of platform because named - pipes are slower than TCP/IP in many Windows configurations. + MySQL supports TCP/IP on all Windows platforms. MySQL servers + on Windows also support named pipes, if you start the server + with the --enable-named-pipe option. It is necessary to use + this option explicitly because some users have experienced + problems with shutting down the MySQL server when named pipes + were used. The default is to use TCP/IP regardless of + platform because named pipes are slower than TCP/IP in many + Windows configurations. 2.3.7.4 Starting the Server for the First Time This section gives a general overview of starting the MySQL - server. The following sections provide more specific information - for starting the MySQL server from the command line or as a - Windows service. + server. The following sections provide more specific + information for starting the MySQL server from the command + line or as a Windows service. The information here applies primarily if you installed MySQL - using the Noinstall version, or if you wish to configure and test - MySQL manually rather than with the GUI tools. + using the Noinstall version, or if you wish to configure and + test MySQL manually rather than with the GUI tools. + Note + + The MySQL server will automatically start after using the + MySQL Installer, and the MySQL Notifier GUI can be used to + start/stop/restart at any time. The examples in these sections assume that MySQL is installed - under the default location of C:\Program Files\MySQL\MySQL Server - 5.5. Adjust the path names shown in the examples if you have MySQL - installed in a different location. - - Clients have two options. They can use TCP/IP, or they can use a - named pipe if the server supports named-pipe connections. - - MySQL for Windows also supports shared-memory connections if the - server is started with the --shared-memory option. Clients can - connect through shared memory by using the --protocol=MEMORY - option. + under the default location of C:\Program Files\MySQL\MySQL + Server 5.5. Adjust the path names shown in the examples if + you have MySQL installed in a different location. + + Clients have two options. They can use TCP/IP, or they can + use a named pipe if the server supports named-pipe + connections. + + MySQL for Windows also supports shared-memory connections if + the server is started with the --shared-memory option. + Clients can connect through shared memory by using the + --protocol=MEMORY option. For information about which server binary to run, see Section 2.3.7.3, "Selecting a MySQL Server Type." - Testing is best done from a command prompt in a console window (or - "DOS window"). In this way you can have the server display status - messages in the window where they are easy to see. If something is - wrong with your configuration, these messages make it easier for - you to identify and fix any problems. + Testing is best done from a command prompt in a console + window (or "DOS window"). In this way you can have the server + display status messages in the window where they are easy to + see. If something is wrong with your configuration, these + messages make it easier for you to identify and fix any + problems. To start the server, enter this command: C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --console For a server that includes InnoDB support, you should see the - messages similar to those following as it starts (the path names - and sizes may differ): + messages similar to those following as it starts (the path + names and sizes may differ): InnoDB: The first specified datafile c:\ibdata\ibdata1 did not exist: InnoDB: a new database to be created! InnoDB: Setting file c:\ibdata\ibdata1 size to 209715200 InnoDB: Database physically writes the file full: wait... -InnoDB: Log file c:\iblogs\ib_logfile0 did not exist: new to be creat -ed +InnoDB: Log file c:\iblogs\ib_logfile0 did not exist: new to be create +d InnoDB: Setting log file c:\iblogs\ib_logfile0 size to 31457280 -InnoDB: Log file c:\iblogs\ib_logfile1 did not exist: new to be creat -ed +InnoDB: Log file c:\iblogs\ib_logfile1 did not exist: new to be create +d InnoDB: Setting log file c:\iblogs\ib_logfile1 size to 31457280 -InnoDB: Log file c:\iblogs\ib_logfile2 did not exist: new to be creat -ed +InnoDB: Log file c:\iblogs\ib_logfile2 did not exist: new to be create +d InnoDB: Setting log file c:\iblogs\ib_logfile2 size to 31457280 InnoDB: Doublewrite buffer not found: creating new InnoDB: Doublewrite buffer created @@ -2360,151 +2867,170 @@ 011024 10:58:25 InnoDB: Started When the server finishes its startup sequence, you should see - something like this, which indicates that the server is ready to - service client connections: + something like this, which indicates that the server is ready + to service client connections: mysqld: ready for connections -Version: '5.5.41' socket: '' port: 3306 +Version: '5.5.42' socket: '' port: 3306 The server continues to write to the console any further - diagnostic output it produces. You can open a new console window - in which to run client programs. + diagnostic output it produces. You can open a new console + window in which to run client programs. - If you omit the --console option, the server writes diagnostic - output to the error log in the data directory (C:\Program - Files\MySQL\MySQL Server 5.5\data by default). The error log is - the file with the .err extension, or may be specified by passing - in the --log-error option. + If you omit the --console option, the server writes + diagnostic output to the error log in the data directory + (C:\Program Files\MySQL\MySQL Server 5.5\data by default). + The error log is the file with the .err extension, and may be + set using the --log-error option. Note - The accounts that are listed in the MySQL grant tables initially - have no passwords. After starting the server, you should set up - passwords for them using the instructions in Section 2.10.2, - "Securing the Initial MySQL Accounts." + The accounts that are listed in the MySQL grant tables + initially have no passwords. After starting the server, you + should set up passwords for them using the instructions in + Section 2.10.2, "Securing the Initial MySQL Accounts." 2.3.7.5 Starting MySQL from the Windows Command Line - The MySQL server can be started manually from the command line. - This can be done on any version of Windows. + The MySQL server can be started manually from the command + line. This can be done on any version of Windows. + Note + + The MySQL Notifier GUI can also be used to start/stop/restart + the MySQL server. - To start the mysqld server from the command line, you should start - a console window (or "DOS window") and enter this command: + To start the mysqld server from the command line, you should + start a console window (or "DOS window") and enter this + command: C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" - The path to mysqld may vary depending on the install location of - MySQL on your system. + The path to mysqld may vary depending on the install location + of MySQL on your system. You can stop the MySQL server by executing this command: C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqladmin" -u root - shutdown +shutdown Note - If the MySQL root user account has a password, you need to invoke - mysqladmin with the -p option and supply the password when - prompted. - - This command invokes the MySQL administrative utility mysqladmin - to connect to the server and tell it to shut down. The command - connects as the MySQL root user, which is the default - administrative account in the MySQL grant system. Note that users - in the MySQL grant system are wholly independent from any login - users under Windows. - - If mysqld doesn't start, check the error log to see whether the - server wrote any messages there to indicate the cause of the - problem. By default, the error log is located in the C:\Program - Files\MySQL\MySQL Server 5.5\data directory. It is the file with a - suffix of .err, or may be specified by passing in the --log-error - option. Alternatively, you can try to start the server as mysqld - --console; in this case, you may get some useful information on - the screen that may help solve the problem. + If the MySQL root user account has a password, you need to + invoke mysqladmin with the -p option and supply the password + when prompted. - The last option is to start mysqld with the --standalone and - --debug options. In this case, mysqld writes a log file - C:\mysqld.trace that should contain the reason why mysqld doesn't - start. See Section 24.4.3, "The DBUG Package." + This command invokes the MySQL administrative utility + mysqladmin to connect to the server and tell it to shut down. + The command connects as the MySQL root user, which is the + default administrative account in the MySQL grant system. + Note - Use mysqld --verbose --help to display all the options that mysqld - supports. + Users in the MySQL grant system are wholly independent from + any login users under Microsoft Windows. -2.3.7.6 Customizing the PATH for MySQL Tools + If mysqld doesn't start, check the error log to see whether + the server wrote any messages there to indicate the cause of + the problem. By default, the error log is located in the + C:\Program Files\MySQL\MySQL Server 5.5\data directory. It is + the file with a suffix of .err, or may be specified by + passing in the --log-error option. Alternatively, you can try + to start the server as mysqld --console; in this case, you + may get some useful information on the screen that may help + solve the problem. - To make it easier to invoke MySQL programs, you can add the path - name of the MySQL bin directory to your Windows system PATH - environment variable: + The last option is to start mysqld with the --standalone and + --debug options. In this case, mysqld writes a log file + C:\mysqld.trace that should contain the reason why mysqld + doesn't start. See Section 24.4.3, "The DBUG Package." - * On the Windows desktop, right-click the My Computer icon, and - select Properties. + Use mysqld --verbose --help to display all the options that + mysqld supports. - * Next select the Advanced tab from the System Properties menu - that appears, and click the Environment Variables button. +2.3.7.6 Customizing the PATH for MySQL Tools - * Under System Variables, select Path, and then click the Edit - button. The Edit System Variable dialogue should appear. + To make it easier to invoke MySQL programs, you can add the + path name of the MySQL bin directory to your Windows system + PATH environment variable: + + * On the Windows desktop, right-click the My Computer icon, + and select Properties. + + * Next select the Advanced tab from the System Properties + menu that appears, and click the Environment Variables + button. + + * Under System Variables, select Path, and then click the + Edit button. The Edit System Variable dialogue should + appear. * Place your cursor at the end of the text appearing in the - space marked Variable Value. (Use the End key to ensure that - your cursor is positioned at the very end of the text in this - space.) Then enter the complete path name of your MySQL bin - directory (for example, C:\Program Files\MySQL\MySQL Server - 5.5\bin) + space marked Variable Value. (Use the End key to ensure + that your cursor is positioned at the very end of the + text in this space.) Then enter the complete path name of + your MySQL bin directory (for example, C:\Program + Files\MySQL\MySQL Server 5.5\bin) Note - There must be a semicolon separating this path from any values - present in this field. - Dismiss this dialogue, and each dialogue in turn, by clicking - OK until all of the dialogues that were opened have been - dismissed. You should now be able to invoke any MySQL - executable program by typing its name at the DOS prompt from - any directory on the system, without having to supply the - path. This includes the servers, the mysql client, and all - MySQL command-line utilities such as mysqladmin and mysqldump. - You should not add the MySQL bin directory to your Windows - PATH if you are running multiple MySQL servers on the same - machine. + There must be a semicolon separating this path from any + values present in this field. + Dismiss this dialogue, and each dialogue in turn, by + clicking OK until all of the dialogues that were opened + have been dismissed. You should now be able to invoke any + MySQL executable program by typing its name at the DOS + prompt from any directory on the system, without having + to supply the path. This includes the servers, the mysql + client, and all MySQL command-line utilities such as + mysqladmin and mysqldump. + You should not add the MySQL bin directory to your + Windows PATH if you are running multiple MySQL servers on + the same machine. Warning You must exercise great care when editing your system PATH by - hand; accidental deletion or modification of any portion of the - existing PATH value can leave you with a malfunctioning or even - unusable system. + hand; accidental deletion or modification of any portion of + the existing PATH value can leave you with a malfunctioning + or even unusable system. 2.3.7.7 Starting MySQL as a Windows Service - On Windows, the recommended way to run MySQL is to install it as a - Windows service, so that MySQL starts and stops automatically when - Windows starts and stops. A MySQL server installed as a service - can also be controlled from the command line using NET commands, - or with the graphical Services utility. Generally, to install - MySQL as a Windows service you should be logged in using an - account that has administrator rights. - - The Services utility (the Windows Service Control Manager) can be - found in the Windows Control Panel (under Administrative Tools on - Windows 2000, XP, Vista, and Server 2003). To avoid conflicts, it - is advisable to close the Services utility while performing server - installation or removal operations from the command line. + On Windows, the recommended way to run MySQL is to install it + as a Windows service, so that MySQL starts and stops + automatically when Windows starts and stops. A MySQL server + installed as a service can also be controlled from the + command line using NET commands, or with the graphical + Services utility. Generally, to install MySQL as a Windows + service you should be logged in using an account that has + administrator rights. + Note + + The MySQL Notifier GUI can also be used to monitor the status + of the MySQL service. + + The Services utility (the Windows Service Control Manager) + can be found in the Windows Control Panel (under + Administrative Tools on Windows 2000, XP, Vista, and Server + 2003). To avoid conflicts, it is advisable to close the + Services utility while performing server installation or + removal operations from the command line. Installing the service - Before installing MySQL as a Windows service, you should first - stop the current server if it is running by using the following - command: + Before installing MySQL as a Windows service, you should + first stop the current server if it is running by using the + following command: C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqladmin" -u root shutdown Note - If the MySQL root user account has a password, you need to invoke - mysqladmin with the -p option and supply the password when - prompted. - - This command invokes the MySQL administrative utility mysqladmin - to connect to the server and tell it to shut down. The command - connects as the MySQL root user, which is the default - administrative account in the MySQL grant system. Note that users - in the MySQL grant system are wholly independent from any login - users under Windows. + If the MySQL root user account has a password, you need to + invoke mysqladmin with the -p option and supply the password + when prompted. + + This command invokes the MySQL administrative utility + mysqladmin to connect to the server and tell it to shut down. + The command connects as the MySQL root user, which is the + default administrative account in the MySQL grant system. + Note + + Users in the MySQL grant system are wholly independent from + any login users under Windows. Install the server as a service using this command: C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --install @@ -2512,284 +3038,308 @@ The service-installation command does not start the server. Instructions for that are given later in this section. - To make it easier to invoke MySQL programs, you can add the path - name of the MySQL bin directory to your Windows system PATH - environment variable: - - * On the Windows desktop, right-click the My Computer icon, and - select Properties. - - * Next select the Advanced tab from the System Properties menu - that appears, and click the Environment Variables button. - - * Under System Variables, select Path, and then click the Edit - button. The Edit System Variable dialogue should appear. + To make it easier to invoke MySQL programs, you can add the + path name of the MySQL bin directory to your Windows system + PATH environment variable: + + * On the Windows desktop, right-click the My Computer icon, + and select Properties. + + * Next select the Advanced tab from the System Properties + menu that appears, and click the Environment Variables + button. + + * Under System Variables, select Path, and then click the + Edit button. The Edit System Variable dialogue should + appear. * Place your cursor at the end of the text appearing in the - space marked Variable Value. (Use the End key to ensure that - your cursor is positioned at the very end of the text in this - space.) Then enter the complete path name of your MySQL bin - directory (for example, C:\Program Files\MySQL\MySQL Server - 5.5\bin), Note that there should be a semicolon separating - this path from any values present in this field. Dismiss this - dialogue, and each dialogue in turn, by clicking OK until all - of the dialogues that were opened have been dismissed. You - should now be able to invoke any MySQL executable program by - typing its name at the DOS prompt from any directory on the - system, without having to supply the path. This includes the - servers, the mysql client, and all MySQL command-line - utilities such as mysqladmin and mysqldump. - You should not add the MySQL bin directory to your Windows - PATH if you are running multiple MySQL servers on the same - machine. + space marked Variable Value. (Use the End key to ensure + that your cursor is positioned at the very end of the + text in this space.) Then enter the complete path name of + your MySQL bin directory (for example, C:\Program + Files\MySQL\MySQL Server 5.5\bin), and there should be a + semicolon separating this path from any values present in + this field. Dismiss this dialogue, and each dialogue in + turn, by clicking OK until all of the dialogues that were + opened have been dismissed. You should now be able to + invoke any MySQL executable program by typing its name at + the DOS prompt from any directory on the system, without + having to supply the path. This includes the servers, the + mysql client, and all MySQL command-line utilities such + as mysqladmin and mysqldump. + You should not add the MySQL bin directory to your + Windows PATH if you are running multiple MySQL servers on + the same machine. Warning You must exercise great care when editing your system PATH by - hand; accidental deletion or modification of any portion of the - existing PATH value can leave you with a malfunctioning or even - unusable system. + hand; accidental deletion or modification of any portion of + the existing PATH value can leave you with a malfunctioning + or even unusable system. - The following additional arguments can be used when installing the - service: + The following additional arguments can be used when + installing the service: * You can specify a service name immediately following the --install option. The default service name is MySQL. - * If a service name is given, it can be followed by a single - option. By convention, this should be - --defaults-file=file_name to specify the name of an option - file from which the server should read options when it starts. + * If a service name is given, it can be followed by a + single option. By convention, this should be + --defaults-file=file_name to specify the name of an + option file from which the server should read options + when it starts. The use of a single option other than --defaults-file is - possible but discouraged. --defaults-file is more flexible - because it enables you to specify multiple startup options for - the server by placing them in the named option file. + possible but discouraged. --defaults-file is more + flexible because it enables you to specify multiple + startup options for the server by placing them in the + named option file. - * You can also specify a --local-service option following the - service name. This causes the server to run using the + * You can also specify a --local-service option following + the service name. This causes the server to run using the LocalService Windows account that has limited system - privileges. This account is available only for Windows XP or - newer. If both --defaults-file and --local-service are given - following the service name, they can be in any order. - - For a MySQL server that is installed as a Windows service, the - following rules determine the service name and option files that - the server uses: - - * If the service-installation command specifies no service name - or the default service name (MySQL) following the --install - option, the server uses the a service name of MySQL and reads - options from the [mysqld] group in the standard option files. - - * If the service-installation command specifies a service name - other than MySQL following the --install option, the server - uses that service name. It reads options from the [mysqld] - group and the group that has the same name as the service in - the standard option files. This enables you to use the - [mysqld] group for options that should be used by all MySQL - services, and an option group with the service name for use by - the server installed with that service name. + privileges. This account is available only for Windows XP + or newer. If both --defaults-file and --local-service are + given following the service name, they can be in any + order. + + For a MySQL server that is installed as a Windows service, + the following rules determine the service name and option + files that the server uses: + + * If the service-installation command specifies no service + name or the default service name (MySQL) following the + --install option, the server uses the a service name of + MySQL and reads options from the [mysqld] group in the + standard option files. + + * If the service-installation command specifies a service + name other than MySQL following the --install option, the + server uses that service name. It reads options from the + [mysqld] group and the group that has the same name as + the service in the standard option files. This enables + you to use the [mysqld] group for options that should be + used by all MySQL services, and an option group with the + service name for use by the server installed with that + service name. * If the service-installation command specifies a --defaults-file option after the service name, the server - reads options the same way as described in the previous item, - except that it reads options only from the named file and - ignores the standard option files. + reads options the same way as described in the previous + item, except that it reads options only from the named + file and ignores the standard option files. As a more complex example, consider the following command: C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --install MySQL --defaults-file=C:\my-opts.cnf Here, the default service name (MySQL) is given after the - --install option. If no --defaults-file option had been given, - this command would have the effect of causing the server to read - the [mysqld] group from the standard option files. However, - because the --defaults-file option is present, the server reads - options from the [mysqld] option group, and only from the named - file. + --install option. If no --defaults-file option had been + given, this command would have the effect of causing the + server to read the [mysqld] group from the standard option + files. However, because the --defaults-file option is + present, the server reads options from the [mysqld] option + group, and only from the named file. Note - On Windows, if the server is started with the --defaults-file and - --install options, --install must be first. Otherwise, mysqld.exe - will attempt to start the MySQL server. + On Windows, if the server is started with the --defaults-file + and --install options, --install must be first. Otherwise, + mysqld.exe will attempt to start the MySQL server. - You can also specify options as Start parameters in the Windows - Services utility before you start the MySQL service. + You can also specify options as Start parameters in the + Windows Services utility before you start the MySQL service. Starting the service Once a MySQL server has been installed as a service, Windows starts the service automatically whenever Windows starts. The - service also can be started immediately from the Services utility, - or by using a NET START MySQL command. The NET command is not case - sensitive. - - When run as a service, mysqld has no access to a console window, - so no messages can be seen there. If mysqld does not start, check - the error log to see whether the server wrote any messages there - to indicate the cause of the problem. The error log is located in - the MySQL data directory (for example, C:\Program - Files\MySQL\MySQL Server 5.5\data). It is the file with a suffix - of .err. + service also can be started immediately from the Services + utility, or by using a NET START MySQL command. The NET + command is not case sensitive. + + When run as a service, mysqld has no access to a console + window, so no messages can be seen there. If mysqld does not + start, check the error log to see whether the server wrote + any messages there to indicate the cause of the problem. The + error log is located in the MySQL data directory (for + example, C:\Program Files\MySQL\MySQL Server 5.5\data). It is + the file with a suffix of .err. When a MySQL server has been installed as a service, and the - service is running, Windows stops the service automatically when - Windows shuts down. The server also can be stopped manually by - using the Services utility, the NET STOP MySQL command, or the - mysqladmin shutdown command. + service is running, Windows stops the service automatically + when Windows shuts down. The server also can be stopped + manually by using the Services utility, the NET STOP MySQL + command, or the mysqladmin shutdown command. You also have the choice of installing the server as a manual service if you do not wish for the service to be started automatically during the boot process. To do this, use the --install-manual option rather than the --install option: -C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --install-m -anual +C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --install-ma +nual Removing the service - To remove a server that is installed as a service, first stop it - if it is running by executing NET STOP MySQL. Then use the + To remove a server that is installed as a service, first stop + it if it is running by executing NET STOP MySQL. Then use the --remove option to remove it: C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --remove - If mysqld is not running as a service, you can start it from the - command line. For instructions, see Section 2.3.7.5, "Starting - MySQL from the Windows Command Line." - - Please see Section 2.3.8, "Troubleshooting a Microsoft Windows - MySQL Server Installation," if you encounter difficulties during - installation. + If mysqld is not running as a service, you can start it from + the command line. For instructions, see Section 2.3.7.5, + "Starting MySQL from the Windows Command Line." + + If you encounter difficulties during installation. see + Section 2.3.8, "Troubleshooting a Microsoft Windows MySQL + Server Installation." 2.3.7.8 Testing The MySQL Installation - You can test whether the MySQL server is working by executing any - of the following commands: + You can test whether the MySQL server is working by executing + any of the following commands: C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqlshow" -C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqlshow" -u root -mysql +C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqlshow" -u root m +ysql C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqladmin" version - status proc +status proc C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql" test - If mysqld is slow to respond to TCP/IP connections from client - programs, there is probably a problem with your DNS. In this case, - start mysqld with the --skip-name-resolve option and use only - localhost and IP addresses in the Host column of the MySQL grant - tables. - - You can force a MySQL client to use a named-pipe connection rather - than TCP/IP by specifying the --pipe or --protocol=PIPE option, or - by specifying . (period) as the host name. Use the --socket option - to specify the name of the pipe if you do not want to use the - default pipe name. - - Note that if you have set a password for the root account, deleted - the anonymous account, or created a new user account, then to - connect to the MySQL server you must use the appropriate -u and -p - options with the commands shown previously. See Section 4.2.2, - "Connecting to the MySQL Server." + If mysqld is slow to respond to TCP/IP connections from + client programs, there is probably a problem with your DNS. + In this case, start mysqld with the --skip-name-resolve + option and use only localhost and IP addresses in the Host + column of the MySQL grant tables. + + You can force a MySQL client to use a named-pipe connection + rather than TCP/IP by specifying the --pipe or + --protocol=PIPE option, or by specifying . (period) as the + host name. Use the --socket option to specify the name of the + pipe if you do not want to use the default pipe name. + + If you have set a password for the root account, deleted the + anonymous account, or created a new user account, then to + connect to the MySQL server you must use the appropriate -u + and -p options with the commands shown previously. See + Section 4.2.2, "Connecting to the MySQL Server." For more information about mysqlshow, see Section 4.5.6, - "mysqlshow --- Display Database, Table, and Column Information." + "mysqlshow --- Display Database, Table, and Column + Information." 2.3.8 Troubleshooting a Microsoft Windows MySQL Server Installation When installing and running MySQL for the first time, you may encounter certain errors that prevent the MySQL server from - starting. The purpose of this section is to help you diagnose and - correct some of these errors. + starting. This section helps you diagnose and correct some of + these errors. Your first resource when troubleshooting server issues is the error log. The MySQL server uses the error log to record - information relevant to the error that prevents the server from - starting. The error log is located in the data directory specified - in your my.ini file. The default data directory location is - C:\Program Files\MySQL\MySQL Server 5.5\data, or - C:\ProgramData\Mysql on Windows 7 and Windows Server 2008. The - C:\ProgramData directory is hidden by default. You need to change - your folder options to see the directory and contents. For more - information on the error log and understanding the content, see - Section 5.2.2, "The Error Log." - - Another source of information regarding possible errors is the - console messages displayed when the MySQL service is starting. Use - the NET START MySQL command from the command line after installing - mysqld as a service to see any error messages regarding the - starting of the MySQL server as a service. See Section 2.3.7.7, - "Starting MySQL as a Windows Service." - - The following examples show other common error messages you may - encounter when installing MySQL and starting the server for the - first time: + information relevant to the error that prevents the server + from starting. The error log is located in the data directory + specified in your my.ini file. The default data directory + location is C:\Program Files\MySQL\MySQL Server 5.5\data, or + C:\ProgramData\Mysql on Windows 7 and Windows Server 2008. + The C:\ProgramData directory is hidden by default. You need + to change your folder options to see the directory and + contents. For more information on the error log and + understanding the content, see Section 5.2.2, "The Error + Log." + + For information regarding possible errors, also consult the + console messages displayed when the MySQL service is + starting. Use the NET START MySQL command from the command + line after installing mysqld as a service to see any error + messages regarding the starting of the MySQL server as a + service. See Section 2.3.7.7, "Starting MySQL as a Windows + Service." - * If the MySQL server cannot find the mysql privileges database - or other critical files, you may see these messages: + The following examples show other common error messages you + might encounter when installing MySQL and starting the server + for the first time: + + * If the MySQL server cannot find the mysql privileges + database or other critical files, it displays these + messages: System error 1067 has occurred. -Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't -exist +Fatal error: Can't open and lock privilege tables: +Table 'mysql.user' doesn't exist + These messages often occur when the MySQL base or data directories are installed in different locations than the - default locations (C:\Program Files\MySQL\MySQL Server 5.5 and - C:\Program Files\MySQL\MySQL Server 5.5\data, respectively). - This situation may occur when MySQL is upgraded and installed - to a new location, but the configuration file is not updated - to reflect the new location. In addition, there may be old and - new configuration files that conflict. Be sure to delete or - rename any old configuration files when upgrading MySQL. + default locations (C:\Program Files\MySQL\MySQL Server + 5.5 and C:\Program Files\MySQL\MySQL Server 5.5\data, + respectively). + This situation can occur when MySQL is upgraded and + installed to a new location, but the configuration file + is not updated to reflect the new location. In addition, + old and new configuration files might conflict. Be sure + to delete or rename any old configuration files when + upgrading MySQL. If you have installed MySQL to a directory other than - C:\Program Files\MySQL\MySQL Server 5.5, you need to ensure - that the MySQL server is aware of this through the use of a - configuration (my.ini) file. The my.ini file needs to be - located in your Windows directory, typically C:\WINDOWS. You - can determine its exact location from the value of the WINDIR - environment variable by issuing the following command from the - command prompt: + C:\Program Files\MySQL\MySQL Server 5.5, ensure that the + MySQL server is aware of this through the use of a + configuration (my.ini) file. Put the my.ini file in your + Windows directory, typically C:\WINDOWS. To determine its + exact location from the value of the WINDIR environment + variable, issue the following command from the command + prompt: C:\> echo %WINDIR% - An option file can be created and modified with any text - editor, such as Notepad. For example, if MySQL is installed in - E:\mysql and the data directory is D:\MySQLdata, you can - create the option file and set up a [mysqld] section to - specify values for the basedir and datadir options: + + You can create or modify an option file with any text + editor, such as Notepad. For example, if MySQL is + installed in E:\mysql and the data directory is + D:\MySQLdata, you can create the option file and set up a + [mysqld] section to specify values for the basedir and + datadir options: [mysqld] # set basedir to your installation path basedir=E:/mysql # set datadir to the location of your data directory datadir=D:/MySQLdata - Note that Windows path names are specified in option files - using (forward) slashes rather than backslashes. If you do use - backslashes, double them: + + Microsoft Windows path names are specified in option + files using (forward) slashes rather than backslashes. If + you do use backslashes, double them: [mysqld] # set basedir to your installation path basedir=C:\\Program Files\\MySQL\\MySQL Server 5.5 # set datadir to the location of your data directory datadir=D:\\MySQLdata - The rules for use of backslash in option file values are given - in Section 4.2.6, "Using Option Files." - If you change the datadir value in your MySQL configuration - file, you must move the contents of the existing MySQL data - directory before restarting the MySQL server. + + The rules for use of backslash in option file values are + given in Section 4.2.6, "Using Option Files." + If you change the datadir value in your MySQL + configuration file, you must move the contents of the + existing MySQL data directory before restarting the MySQL + server. See Section 2.3.7.2, "Creating an Option File." - * If you reinstall or upgrade MySQL without first stopping and - removing the existing MySQL service and install MySQL using - the MySQL Configuration Wizard, you may see this error: + * If you reinstall or upgrade MySQL without first stopping + and removing the existing MySQL service and install MySQL + using the MySQL Installer, you might see this error: Error: Cannot create Windows service for MySql. Error: 0 - This occurs when the Configuration Wizard tries to install the - service and finds an existing service with the same name. - One solution to this problem is to choose a service name other - than mysql when using the configuration wizard. This enables - the new service to be installed correctly, but leaves the - outdated service in place. Although this is harmless, it is - best to remove old services that are no longer in use. + + This occurs when the Configuration Wizard tries to + install the service and finds an existing service with + the same name. + One solution to this problem is to choose a service name + other than mysql when using the configuration wizard. + This enables the new service to be installed correctly, + but leaves the outdated service in place. Although this + is harmless, it is best to remove old services that are + no longer in use. To permanently remove the old mysql service, execute the - following command as a user with administrative privileges, on - the command-line: + following command as a user with administrative + privileges, on the command line: C:\> sc delete mysql [SC] DeleteService SUCCESS + If the sc utility is not available for your version of Windows, download the delsrv utility from - http://www.microsoft.com/windows2000/techinfo/reskit/tools/exi - sting/delsrv-o.asp and use the delsrv mysql syntax. + http://www.microsoft.com/windows2000/techinfo/reskit/tool + s/existing/delsrv-o.asp and use the delsrv mysql syntax. 2.3.9 Upgrading MySQL on Windows @@ -2799,93 +3349,135 @@ information on upgrading MySQL that is not specific to Windows. - 2. You should always back up your current MySQL installation - before performing an upgrade. See Section 7.2, "Database - Backup Methods." + 2. Always back up your current MySQL installation before + performing an upgrade. See Section 7.2, "Database Backup + Methods." 3. Download the latest Windows distribution of MySQL from http://dev.mysql.com/downloads/. - 4. Before upgrading MySQL, you must stop the server. If the - server is installed as a service, stop the service with the + 4. Before upgrading MySQL, stop the server. If the server is + installed as a service, stop the service with the following command from the command prompt: C:\> NET STOP MySQL + If you are not running the MySQL server as a service, use mysqladmin to stop it. For example, before upgrading from - MySQL 5.1 to 5.5, use mysqladmin from MySQL 5.1 as follows: + MySQL 5.1 to 5.5, use mysqladmin from MySQL 5.1 as + follows: C:\> "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqladmin" -u root - shutdown +shutdown + Note - If the MySQL root user account has a password, you need to - invoke mysqladmin with the -p option and enter the password - when prompted. - - 5. Before upgrading a MySQL service from MySQL 5.1 to 5.5, you - should stop the 5.1 server and remove the instance. Run the - MySQL Instance Configuration Wizard, choose the Remove - Instance option and in the next screen, confirm removal. After - that it is safe to uninstall MySQL Server 5.1. - - 6. Before upgrading to MySQL 5.5 from a version previous to - 4.1.5, or from a version of MySQL installed from a Zip archive - to a version of MySQL installed with the MySQL Installation - Wizard, you must first manually remove the previous - installation and MySQL service (if the server is installed as - a service). + If the MySQL root user account has a password, invoke + mysqladmin with the -p option and enter the password when + prompted. + + 5. Before upgrading to MySQL 5.5 from a version previous to + 4.1.5, or from a version of MySQL installed from a Zip + archive to a version of MySQL installed with the MySQL + Installation Wizard, you must first manually remove the + previous installation and MySQL service (if the server is + installed as a service). To remove the MySQL service, use the following command: C:\> C:\mysql\bin\mysqld --remove + If you do not remove the existing service, the MySQL - Installation Wizard may fail to properly install the new MySQL - service. + Installation Wizard may fail to properly install the new + MySQL service. - 7. If you are using the MySQL Installation Wizard, start the + 6. If you are using the MySQL Installer, start it as + described in Section 2.3.3, "Installing MySQL on + Microsoft Windows Using MySQL Installer." + If you are using the MySQL Installation Wizard, start the wizard as described in Section 2.3.5.1, "Using the MySQL Installation Wizard." - 8. If you are installing MySQL from a Zip archive, extract the - archive. You may either overwrite your existing MySQL - installation (usually located at C:\mysql), or install it into - a different directory, such as C:\mysql5. Overwriting the - existing installation is recommended. - - 9. If you were running MySQL as a Windows service and you had to - remove the service earlier in this procedure, reinstall the - service. (See Section 2.3.7.7, "Starting MySQL as a Windows - Service.") - 10. Restart the server. For example, use NET START MySQL if you - run MySQL as a service, or invoke mysqld directly otherwise. - 11. As Administrator, run mysql_upgrade to check your tables, - attempt to repair them if necessary, and update your grant - tables if they have changed so that you can take advantage of - any new capabilities. See Section 4.4.7, "mysql_upgrade --- - Check and Upgrade MySQL Tables." - 12. If you encounter errors, see Section 2.3.8, "Troubleshooting a - Microsoft Windows MySQL Server Installation." + 7. If you are upgrading MySQL from a Zip archive, extract + the archive. You may either overwrite your existing MySQL + installation (usually located at C:\mysql), or install it + into a different directory, such as C:\mysql5. + Overwriting the existing installation is recommended. + However, for upgrades (as opposed to installing for the + first time), you must remove the data directory from your + existing MySQL installation to avoid replacing your + current data files. To do so, follow these steps: + a. Unzip the Zip archive in some location other than + your current MySQL installation + b. Remove the data directory + c. Rezip the Zip archive + d. Unzip the modified Zip archive on top of your + existing installation + Alternatively: + a. Unzip the Zip archive in some location other than + your current MySQL installation + b. Remove the data directory + c. Move the data directory from the current MySQL + installation to the location of the just-removed + data directory + d. Remove the current MySQL installation + e. Move the unzipped installation to the location of + the just-removed installation + + 8. If you were running MySQL as a Windows service and you + had to remove the service earlier in this procedure, + reinstall the service. (See Section 2.3.7.7, "Starting + MySQL as a Windows Service.") + + 9. Restart the server. For example, use NET START MySQL if + you run MySQL as a service, or invoke mysqld directly + otherwise. + 10. As Administrator, run mysql_upgrade to check your tables, + attempt to repair them if necessary, and update your + grant tables if they have changed so that you can take + advantage of any new capabilities. See Section 4.4.7, + "mysql_upgrade --- Check and Upgrade MySQL Tables." + 11. If you encounter errors, see Section 2.3.8, + "Troubleshooting a Microsoft Windows MySQL Server + Installation." 2.3.10 Windows Postinstallation Procedures - On Windows, you need not create the data directory and the grant - tables. MySQL Windows distributions include the grant tables with - a set of preinitialized accounts in the mysql database under the - data directory. Regarding passwords, if you installed MySQL using - the Windows Installation Wizard, you may have already assigned - passwords to the accounts. (See Section 2.3.5.1, "Using the MySQL - Installation Wizard.") Otherwise, use the password-assignment - procedure given in Section 2.10.2, "Securing the Initial MySQL + GUI tools exist that perform most of the tasks described + below, including: + + * MySQL Installer: Used to install and upgrade MySQL + products. + + * MySQL Workbench: Manages the MySQL server and edits SQL + queries. + + * MySQL Notifier: Starts, stops, or restarts the MySQL + server, and monitors its status. + + * MySQL for Excel + (http://dev.mysql.com/doc/mysql-for-excel/en/index.html): + Edits MySQL data with Microsoft Excel. + + On Windows, you need not create the data directory and the + grant tables. MySQL Windows distributions include the grant + tables with a set of preinitialized accounts in the mysql + database under the data directory. Regarding passwords, if + you installed MySQL using the MySQL Installer, you may have + already assigned passwords to the accounts. (See Section + 2.3.3, "Installing MySQL on Microsoft Windows Using MySQL + Installer.") Otherwise, use the password-assignment procedure + given in Section 2.10.2, "Securing the Initial MySQL Accounts." - Before setting up passwords, you might want to try running some - client programs to make sure that you can connect to the server - and that it is operating properly. Make sure that the server is - running (see Section 2.3.7.4, "Starting the Server for the First - Time"), and then issue the following commands to verify that you - can retrieve information from the server. You may need to specify - directory different from C:\mysql\bin on the command line. If you - used the Windows Installation Wizard, the default directory is - C:\Program Files\MySQL\MySQL Server 5.5, and the mysql and - mysqlshow client programs are in C:\Program Files\MySQL\MySQL - Server 5.5\bin. See Section 2.3.5.1, "Using the MySQL Installation - Wizard," for more information. + Before setting up passwords, you might want to try running + some client programs to make sure that you can connect to the + server and that it is operating properly. Make sure that the + server is running (see Section 2.3.7.4, "Starting the Server + for the First Time"), and then issue the following commands + to verify that you can retrieve information from the server. + You may need to specify directory different from C:\mysql\bin + on the command line. If you installed MySQL using MySQL + Installer, the default directory is C:\Program + Files\MySQL\MySQL Server 5.5, and the mysql and mysqlshow + client programs are in C:\Program Files\MySQL\MySQL Server + 5.5\bin. See Section 2.3.3, "Installing MySQL on Microsoft + Windows Using MySQL Installer," for more information. Use mysqlshow to see what databases exist: C:\> C:\mysql\bin\mysqlshow @@ -2897,20 +3489,22 @@ | test | +--------------------+ - The list of installed databases may vary, but will always include - the minimum of mysql and information_schema. In most cases, the - test database will also be installed automatically. - - The preceding command (and commands for other MySQL programs such - as mysql) may not work if the correct MySQL account does not - exist. For example, the program may fail with an error, or you may - not be able to view all databases. If you installed using the MSI - packages and used the MySQL Server Instance Config Wizard, then - the root user will have been created automatically with the - password you supplied. In this case, you should use the -u root - and -p options. (You will also need to use the -u root and -p - options if you have already secured the initial MySQL accounts.) - With -p, you will be prompted for the root password. For example: + The list of installed databases may vary, but will always + include the minimum of mysql and information_schema. In most + cases, the test database will also be installed + automatically. + + The preceding command (and commands for other MySQL programs + such as mysql) may not work if the correct MySQL account does + not exist. For example, the program may fail with an error, + or you may not be able to view all databases. If you + installed MySQL using MySQL Installer, then the root user + will have been created automatically with the password you + supplied. In this case, you should use the -u root and -p + options. (You will also need to use the -u root and -p + options if you have already secured the initial MySQL + accounts.) With -p, you will be prompted for the root + password. For example: C:\> C:\mysql\bin\mysqlshow -u root -p Enter password: (enter root password here) +--------------------+ @@ -2921,8 +3515,8 @@ | test | +--------------------+ - If you specify a database name, mysqlshow displays a list of the - tables within the database: + If you specify a database name, mysqlshow displays a list of + the tables within the database: C:\> C:\mysql\bin\mysqlshow mysql Database: mysql +---------------------------+ @@ -2950,8 +3544,8 @@ | user | +---------------------------+ - Use the mysql program to select information from a table in the - mysql database: + Use the mysql program to select information from a table in + the mysql database: C:\> C:\mysql\bin\mysql -e "SELECT Host,Db,User FROM mysql.db" +------+--------+------+ | host | db | user | @@ -2960,11 +3554,12 @@ | % | test_% | | +------+--------+------+ - For more information about mysqlshow and mysql, see Section 4.5.6, - "mysqlshow --- Display Database, Table, and Column Information," - and Section 4.5.1, "mysql --- The MySQL Command-Line Tool." - - If you are running a version of Windows that supports services, - you can set up the MySQL server to run automatically when Windows - starts. See Section 2.3.7.7, "Starting MySQL as a Windows - Service." + For more information about mysqlshow and mysql, see Section + 4.5.6, "mysqlshow --- Display Database, Table, and Column + Information," and Section 4.5.1, "mysql --- The MySQL + Command-Line Tool." + + If you are running a version of Windows that supports + services, you can set up the MySQL server to run + automatically when Windows starts. See Section 2.3.7.7, + "Starting MySQL as a Windows Service." diff -Nru mysql-5.5-5.5.40/extra/replace.c mysql-5.5-5.5.41/extra/replace.c --- mysql-5.5-5.5.40/extra/replace.c 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/extra/replace.c 2014-11-04 07:49:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License @@ -1020,7 +1020,7 @@ updated=retain=0; reset_buffer(); - while ((error=fill_buffer_retaining(fileno(in),retain)) > 0) + while ((error=fill_buffer_retaining(my_fileno(in),retain)) > 0) { end_of_line=buffer ; buffer[bufbytes]=0; /* Sentinel */ diff -Nru mysql-5.5-5.5.40/extra/yassl/include/openssl/ssl.h mysql-5.5-5.5.41/extra/yassl/include/openssl/ssl.h --- mysql-5.5-5.5.40/extra/yassl/include/openssl/ssl.h 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/extra/yassl/include/openssl/ssl.h 2014-11-04 07:49:52.000000000 +0000 @@ -35,7 +35,7 @@ #include "rsa.h" -#define YASSL_VERSION "2.3.4" +#define YASSL_VERSION "2.3.5" #if defined(__cplusplus) diff -Nru mysql-5.5-5.5.40/extra/yassl/README mysql-5.5-5.5.41/extra/yassl/README --- mysql-5.5-5.5.40/extra/yassl/README 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/extra/yassl/README 2014-11-04 07:49:52.000000000 +0000 @@ -12,6 +12,15 @@ *** end Note *** +yaSSL Release notes, version 2.3.5 (9/29/2014) + + This release of yaSSL fixes an RSA Padding check vulnerability reported by + Intel Security Advanced Threat Research team + +See normal build instructions below under 1.0.6. +See libcurl build instructions below under 1.3.0 and note in 1.5.8. + + yaSSL Release notes, version 2.3.4 (8/15/2014) This release of yaSSL adds checking to the input_buffer class itself. diff -Nru mysql-5.5-5.5.40/extra/yassl/taocrypt/src/rsa.cpp mysql-5.5-5.5.41/extra/yassl/taocrypt/src/rsa.cpp --- mysql-5.5-5.5.40/extra/yassl/taocrypt/src/rsa.cpp 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/extra/yassl/taocrypt/src/rsa.cpp 2014-11-04 07:49:52.000000000 +0000 @@ -177,7 +177,7 @@ // skip past the padding until we find the separator unsigned i=1; - while (i md5sum mysql-standard-5.5.41-linux-i686.tar.gz -aaab65abbec64d5e907dcd41b8699945 mysql-standard-5.5.41-linux-i686.ta -r.gz -shell> md5.exe mysql-installer-community-5.5.41.msi -aaab65abbec64d5e907dcd41b8699945 mysql-installer-community-5.5.41.ms -i +shell> md5sum mysql-standard-5.5.42-linux-i686.tar.gz +aaab65abbec64d5e907dcd41b8699945 mysql-standard-5.5.42-linux-i686.tar +.gz + +shell> md5.exe mysql-installer-community-5.5.42.msi +aaab65abbec64d5e907dcd41b8699945 mysql-installer-community-5.5.42.msi You should verify that the resulting checksum (the string of - hexadecimal digits) matches the one displayed on the download page - immediately below the respective package. + hexadecimal digits) matches the one displayed on the download + page immediately below the respective package. Note - Make sure to verify the checksum of the archive file (for example, - the .zip, .tar.gz, or .msi file) and not of the files that are - contained inside of the archive. In other words, verify the file - before extracting its contents. + Make sure to verify the checksum of the archive file (for + example, the .zip, .tar.gz, or .msi file) and not of the + files that are contained inside of the archive. In other + words, verify the file before extracting its contents. 2.1.4.2 Signature Checking Using GnuPG - Another method of verifying the integrity and authenticity of a - package is to use cryptographic signatures. This is more reliable - than using MD5 checksums, but requires more work. + Another method of verifying the integrity and authenticity of + a package is to use cryptographic signatures. This is more + reliable than using MD5 checksums, but requires more work. We sign MySQL downloadable packages with GnuPG (GNU Privacy Guard). GnuPG is an Open Source alternative to the well-known Pretty Good Privacy (PGP) by Phil Zimmermann. See - http://www.gnupg.org/ for more information about GnuPG and how to - obtain and install it on your system. Most Linux distributions - ship with GnuPG installed by default. For more information about - GnuPG, see http://www.openpgp.org/. - - To verify the signature for a specific package, you first need to - obtain a copy of our public GPG build key, which you can download - from http://pgp.mit.edu/. The key that you want to obtain is named - mysql-build@oss.oracle.com. Alternatively, you can cut and paste - the key directly from the following text: + http://www.gnupg.org/ for more information about GnuPG and + how to obtain and install it on your system. Most Linux + distributions ship with GnuPG installed by default. For more + information about GnuPG, see http://www.openpgp.org/. + + To verify the signature for a specific package, you first + need to obtain a copy of our public GPG build key, which you + can download from http://pgp.mit.edu/. The key that you want + to obtain is named mysql-build@oss.oracle.com. Alternatively, + you can cut and paste the key directly from the following + text: -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.4.9 (SunOS) @@ -572,9 +604,10 @@ =443I -----END PGP PUBLIC KEY BLOCK----- - To import the build key into your personal public GPG keyring, use - gpg --import. For example, if you have saved the key in a file - named mysql_pubkey.asc, the import command looks like this: + To import the build key into your personal public GPG + keyring, use gpg --import. For example, if you have saved the + key in a file named mysql_pubkey.asc, the import command + looks like this: shell> gpg --import mysql_pubkey.asc gpg: key 5072E1F5: public key "MySQL Release Engineering " imported @@ -582,15 +615,15 @@ gpg: imported: 1 gpg: no ultimately trusted keys found - You can also download the key from the public keyserver using the - public key id, 5072E1F5: + You can also download the key from the public keyserver using + the public key id, 5072E1F5: shell> gpg --recv-keys 5072E1F5 gpg: requesting key 5072E1F5 from hkp server keys.gnupg.net -gpg: key 5072E1F5: "MySQL Release Engineering " +gpg: key 5072E1F5: "MySQL Release Engineering " 1 new user ID -gpg: key 5072E1F5: "MySQL Release Engineering " +gpg: key 5072E1F5: "MySQL Release Engineering " 53 new signatures gpg: no ultimately trusted keys found gpg: Total number processed: 1 @@ -598,138 +631,143 @@ gpg: new signatures: 53 If you want to import the key into your RPM configuration to - validate RPM install packages, you should be able to import the - key directly: + validate RPM install packages, you should be able to import + the key directly: shell> rpm --import mysql_pubkey.asc - If you experience problems or require RPM specific information, - see Section 2.1.4.4, "Signature Checking Using RPM." + If you experience problems or require RPM specific + information, see Section 2.1.4.4, "Signature Checking Using + RPM." After you have downloaded and imported the public build key, download your desired MySQL package and the corresponding - signature, which also is available from the download page. The - signature file has the same name as the distribution file with an - .asc extension, as shown by the examples in the following table. + signature, which also is available from the download page. + The signature file has the same name as the distribution file + with an .asc extension, as shown by the examples in the + following table. Table 2.1 MySQL Package and Signature Files for Source files File Type File Name - Distribution file mysql-standard-5.5.41-linux-i686.tar.gz - Signature file mysql-standard-5.5.41-linux-i686.tar.gz.asc + Distribution file mysql-standard-5.5.42-linux-i686.tar.gz + Signature file mysql-standard-5.5.42-linux-i686.tar.gz.asc - Make sure that both files are stored in the same directory and - then run the following command to verify the signature for the - distribution file: + Make sure that both files are stored in the same directory + and then run the following command to verify the signature + for the distribution file: shell> gpg --verify package_name.asc If the downloaded package is valid, you will see a "Good signature" similar to: -shell> gpg --verify mysql-standard-5.5.41-linux-i686.tar.gz.asc -gpg: Signature made Tue 01 Feb 2011 02:38:30 AM CST using DSA key ID -5072E1F5 -gpg: Good signature from "MySQL Release Engineering " - - The Good signature message indicates that the file signature is - valid, when compared to the signature listed on our site. But you - might also see warnings, like so: -shell> gpg --verify mysql-standard-5.5.41-linux-i686.tar.gz.asc -gpg: Signature made Wed 23 Jan 2013 02:25:45 AM PST using DSA key ID -5072E1F5 +shell> gpg --verify mysql-standard-5.5.42-linux-i686.tar.gz.asc +gpg: Signature made Tue 01 Feb 2011 02:38:30 AM CST using DSA key ID 5 +072E1F5 +gpg: Good signature from "MySQL Release Engineering " + + The Good signature message indicates that the file signature + is valid, when compared to the signature listed on our site. + But you might also see warnings, like so: +shell> gpg --verify mysql-standard-5.5.42-linux-i686.tar.gz.asc +gpg: Signature made Wed 23 Jan 2013 02:25:45 AM PST using DSA key ID 5 +072E1F5 gpg: checking the trustdb gpg: no ultimately trusted keys found -gpg: Good signature from "MySQL Release Engineering " +gpg: Good signature from "MySQL Release Engineering " gpg: WARNING: This key is not certified with a trusted signature! -gpg: There is no indication that the signature belongs to th -e owner. -Primary key fingerprint: A4A9 4068 76FC BD3C 4567 70C8 8C71 8D3B 507 -2 E1F5 - - That is normal, as they depend on your setup and configuration. - Here are explanations for these warnings: - - * gpg: no ultimately trusted keys found: This means that the - specific key is not "ultimately trusted" by you or your web of - trust, which is okay for the purposes of verifying file - signatures. - - * WARNING: This key is not certified with a trusted signature! - There is no indication that the signature belongs to the - owner.: This refers to your level of trust in your belief that - you possess our real public key. This is a personal decision. - Ideally, a MySQL developer would hand you the key in person, - but more commonly, you downloaded it. Was the download - tampered with? Probably not, but this decision is up to you. - Setting up a web of trust is one method for trusting them. +gpg: There is no indication that the signature belongs to the + owner. +Primary key fingerprint: A4A9 4068 76FC BD3C 4567 70C8 8C71 8D3B 5072 + E1F5 + + That is normal, as they depend on your setup and + configuration. Here are explanations for these warnings: + + * gpg: no ultimately trusted keys found: This means that + the specific key is not "ultimately trusted" by you or + your web of trust, which is okay for the purposes of + verifying file signatures. + + * WARNING: This key is not certified with a trusted + signature! There is no indication that the signature + belongs to the owner.: This refers to your level of trust + in your belief that you possess our real public key. This + is a personal decision. Ideally, a MySQL developer would + hand you the key in person, but more commonly, you + downloaded it. Was the download tampered with? Probably + not, but this decision is up to you. Setting up a web of + trust is one method for trusting them. - See the GPG documentation for more information on how to work with - public keys. + See the GPG documentation for more information on how to work + with public keys. 2.1.4.3 Signature Checking Using Gpg4win for Windows The Section 2.1.4.2, "Signature Checking Using GnuPG" section - describes how to verify MySQL downloads using GPG. That guide also - applies to Microsoft Windows, but another option is to use a GUI - tool like Gpg4win (http://www.gpg4win.org/). You may use a - different tool but our examples are based on Gpg4win, and utilize - its bundled Kleopatra GUI. + describes how to verify MySQL downloads using GPG. That guide + also applies to Microsoft Windows, but another option is to + use a GUI tool like Gpg4win (http://www.gpg4win.org/). You + may use a different tool but our examples are based on + Gpg4win, and utilize its bundled Kleopatra GUI. - Download and install Gpg4win, and then load Kleopatra. The dialog - should look similar to: + Download and install Gpg4win, and then load Kleopatra. The + dialog should look similar to: Figure 2.1 Initial screen after loading Kleopatra Initial screen after loading Kleopatra - Next, add the MySQL Release Engineering certificate. Do this by - clicking File, Lookup Certificates on Server. Type "Mysql Release - Engineering" into the search box and press Search. + Next, add the MySQL Release Engineering certificate. Do this + by clicking File, Lookup Certificates on Server. Type "Mysql + Release Engineering" into the search box and press Search. Figure 2.2 Finding the MySQL Release Engineering certificate Finding the MySQL Release Engineering certificate Select the "MySQL Release Engineering" certificate. The - Fingerprint and Key-ID must be "5072E1F5", or choose Details... to - confirm the certificate is valid. Now, import it by clicking - Import. An import dialog will be displayed, choose Okay, and this - certificate will now be listed under the Imported Certificates - tab. - - Next, configure the trust level for our certificate. Select our - certificate, then from the main menu select Certificates, Change - Owner Trust.... We suggest choosing I believe checks are very - accurate for our certificate, as otherwise you might not be able - to verify our signature. Select I believe checks are very accurate - and then press OK. + Fingerprint and Key-ID must be "5072E1F5", or choose + Details... to confirm the certificate is valid. Now, import + it by clicking Import. An import dialog will be displayed, + choose Okay, and this certificate will now be listed under + the Imported Certificates tab. + + Next, configure the trust level for our certificate. Select + our certificate, then from the main menu select Certificates, + Change Owner Trust.... We suggest choosing I believe checks + are very accurate for our certificate, as otherwise you might + not be able to verify our signature. Select I believe checks + are very accurate and then press OK. Figure 2.3 Changing the Trust level Changing the Trust level Next, verify the downloaded MySQL package file. This requires - files for both the packaged file, and the signature. The signature - file must have the same name as the packaged file but with an - appended .asc extension, as shown by the example in the following - table. The signature is linked to on the downloads page for each - MySQL product. You must create the .asc file with this signature. + files for both the packaged file, and the signature. The + signature file must have the same name as the packaged file + but with an appended .asc extension, as shown by the example + in the following table. The signature is linked to on the + downloads page for each MySQL product. You must create the + .asc file with this signature. - Table 2.2 MySQL Package and Signature Files for MySQL Installer - for Microsoft Windows + Table 2.2 MySQL Package and Signature Files for MySQL + Installer for Microsoft Windows File Type File Name - Distribution file mysql-installer-community-5.5.41.msi - Signature file mysql-installer-community-5.5.41.msi.asc + Distribution file mysql-installer-community-5.5.42.msi + Signature file mysql-installer-community-5.5.42.msi.asc - Make sure that both files are stored in the same directory and - then run the following command to verify the signature for the - distribution file. Either drag and drop the signature (.asc) file - into Kleopatra, or load the dialog from File, Decrypt/Verify - Files..., and then choose either the .msi or .asc file. + Make sure that both files are stored in the same directory + and then run the following command to verify the signature + for the distribution file. Either drag and drop the signature + (.asc) file into Kleopatra, or load the dialog from File, + Decrypt/Verify Files..., and then choose either the .msi or + .asc file. Figure 2.4 The Decrypt/Verify Files dialog The Decrypt/Verify Files dialog Click Decrypt/Verify to check the file. The two most common results will look like the following, and although the yellow - warning looks problematic, the following means that the file check - passed with success. You may now run this installer. + warning looks problematic, the following means that the file + check passed with success. You may now run this installer. Figure 2.5 The Decrypt/Verify Results: Good The Decrypt/Verify Results: Good @@ -741,59 +779,61 @@ The Decrypt/Verify Results: Bad The Section 2.1.4.2, "Signature Checking Using GnuPG" section - explains why you probably don't see a green Good signature result. + explains why you probably don't see a green Good signature + result. 2.1.4.4 Signature Checking Using RPM - For RPM packages, there is no separate signature. RPM packages - have a built-in GPG signature and MD5 checksum. You can verify a - package by running the following command: + For RPM packages, there is no separate signature. RPM + packages have a built-in GPG signature and MD5 checksum. You + can verify a package by running the following command: shell> rpm --checksig package_name.rpm Example: -shell> rpm --checksig MySQL-server-5.5.41-0.glibc23.i386.rpm -MySQL-server-5.5.41-0.glibc23.i386.rpm: md5 gpg OK +shell> rpm --checksig MySQL-server-5.5.42-0.glibc23.i386.rpm +MySQL-server-5.5.42-0.glibc23.i386.rpm: md5 gpg OK Note If you are using RPM 4.1 and it complains about (GPG) NOT OK - (MISSING KEYS: GPG#5072e1f5), even though you have imported the - MySQL public build key into your own GPG keyring, you need to - import the key into the RPM keyring first. RPM 4.1 no longer uses - your personal GPG keyring (or GPG itself). Rather, RPM maintains a - separate keyring because it is a system-wide application and a - user's GPG public keyring is a user-specific file. To import the - MySQL public key into the RPM keyring, first obtain the key, then - use rpm --import to import the key. For example: + (MISSING KEYS: GPG#5072e1f5), even though you have imported + the MySQL public build key into your own GPG keyring, you + need to import the key into the RPM keyring first. RPM 4.1 no + longer uses your personal GPG keyring (or GPG itself). + Rather, RPM maintains a separate keyring because it is a + system-wide application and a user's GPG public keyring is a + user-specific file. To import the MySQL public key into the + RPM keyring, first obtain the key, then use rpm --import to + import the key. For example: shell> gpg --export -a 5072e1f5 > 5072e1f5.asc shell> rpm --import 5072e1f5.asc - Alternatively, rpm also supports loading the key directly from a - URL, and you can use this manual page: -shell> rpm --import http://dev.mysql.com/doc/refman/5.5/en/checking-g -pg-signature.html + Alternatively, rpm also supports loading the key directly + from a URL, and you can use this manual page: +shell> rpm --import http://dev.mysql.com/doc/refman/5.5/en/checking-gp +g-signature.html - If you need to obtain the MySQL public key, see Section 2.1.4.2, - "Signature Checking Using GnuPG." + If you need to obtain the MySQL public key, see Section + 2.1.4.2, "Signature Checking Using GnuPG." 2.1.5 Installation Layouts - The installation layout differs for different installation types - (for example, native packages, binary tarballs, and source - tarballs), which can lead to confusion when managing different - systems or using different installation sources. The individual - layouts are given in the corresponding installation type or - platform chapter, as described following. Note that the layout of - installations from vendors other than Oracle may differ from these - layouts. + The installation layout differs for different installation + types (for example, native packages, binary tarballs, and + source tarballs), which can lead to confusion when managing + different systems or using different installation sources. + The individual layouts are given in the corresponding + installation type or platform chapter, as described + following. Note that the layout of installations from vendors + other than Oracle may differ from these layouts. * Section 2.3.1, "MySQL Installation Layout on Microsoft Windows" * Section 2.9.1, "MySQL Layout for Source Installation" - * Section 2.2, "MySQL Installation Layout for Generic Unix/Linux - Binary Package" + * Section 2.2, "MySQL Installation Layout for Generic + Unix/Linux Binary Package" * Section 2.5.1, "MySQL Installation Layout for Linux RPM Packages" @@ -803,9 +843,9 @@ 2.1.6 Compiler-Specific Build Characteristics In some cases, the compiler used to build MySQL affects the - features available for use. The notes in this section apply for - binary distributions provided by Oracle Corporation or that you - compile yourself from source. + features available for use. The notes in this section apply + for binary distributions provided by Oracle Corporation or + that you compile yourself from source. icc (Intel C++ Compiler) Builds @@ -816,59 +856,63 @@ 2.2 Installing MySQL on Unix/Linux Using Generic Binaries Oracle provides a set of binary distributions of MySQL. These - include binary distributions in the form of compressed tar files - (files with a .tar.gz extension) for a number of platforms, as - well as binaries in platform-specific package formats for selected - platforms. - - This section covers the installation of MySQL from a compressed - tar file binary distribution. For other platform-specific package - formats, see the other platform-specific sections. For example, - for Windows distributions, see Section 2.3, "Installing MySQL on + include binary distributions in the form of compressed tar + files (files with a .tar.gz extension) for a number of + platforms, as well as binaries in platform-specific package + formats for selected platforms. + + This section covers the installation of MySQL from a + compressed tar file binary distribution. For other + platform-specific package formats, see the other + platform-specific sections. For example, for Windows + distributions, see Section 2.3, "Installing MySQL on Microsoft Windows." To obtain MySQL, see Section 2.1.3, "How to Get MySQL." - MySQL compressed tar file binary distributions have names of the - form mysql-VERSION-OS.tar.gz, where VERSION is a number (for - example, 5.5.41), and OS indicates the type of operating system - for which the distribution is intended (for example, pc-linux-i686 - or winx64). - - To install MySQL from a compressed tar file binary distribution, - your system must have GNU gunzip to uncompress the distribution - and a reasonable tar to unpack it. If your tar program supports - the z option, it can both uncompress and unpack the file. + MySQL compressed tar file binary distributions have names of + the form mysql-VERSION-OS.tar.gz, where VERSION is a number + (for example, 5.5.42), and OS indicates the type of operating + system for which the distribution is intended (for example, + pc-linux-i686 or winx64). + + To install MySQL from a compressed tar file binary + distribution, your system must have GNU gunzip to uncompress + the distribution and a reasonable tar to unpack it. If your + tar program supports the z option, it can both uncompress and + unpack the file. GNU tar is known to work. The standard tar provided with some - operating systems is not able to unpack the long file names in the - MySQL distribution. You should download and install GNU tar, or if - available, use a preinstalled version of GNU tar. Usually this is - available as gnutar, gtar, or as tar within a GNU or Free Software - directory, such as /usr/sfw/bin or /usr/local/bin. GNU tar is - available from http://www.gnu.org/software/tar/. + operating systems is not able to unpack the long file names + in the MySQL distribution. You should download and install + GNU tar, or if available, use a preinstalled version of GNU + tar. Usually this is available as gnutar, gtar, or as tar + within a GNU or Free Software directory, such as /usr/sfw/bin + or /usr/local/bin. GNU tar is available from + http://www.gnu.org/software/tar/. Warning - If you have previously installed MySQL using your operating system - native package management system, such as yum or apt-get, you may - experience problems installing using a native binary. Make sure - your previous MySQL previous installation has been removed - entirely (using your package management system), and that any - additional files, such as old versions of your data files, have - also been removed. You should also check the existence of - configuration files such as /etc/my.cnf or the /etc/mysql - directory have been deleted. - - If you run into problems and need to file a bug report, please use - the instructions in Section 1.7, "How to Report Bugs or Problems." - - On Unix, to install a compressed tar file binary distribution, - unpack it at the installation location you choose (typically - /usr/local/mysql). This creates the directories shown in the - following table. + If you have previously installed MySQL using your operating + system native package management system, such as yum or + apt-get, you may experience problems installing using a + native binary. Make sure your previous MySQL previous + installation has been removed entirely (using your package + management system), and that any additional files, such as + old versions of your data files, have also been removed. You + should also check the existence of configuration files such + as /etc/my.cnf or the /etc/mysql directory have been deleted. + + If you run into problems and need to file a bug report, + please use the instructions in Section 1.7, "How to Report + Bugs or Problems." + + On Unix, to install a compressed tar file binary + distribution, unpack it at the installation location you + choose (typically /usr/local/mysql). This creates the + directories shown in the following table. - Table 2.3 MySQL Installation Layout for Generic Unix/Linux Binary - Package + Table 2.3 MySQL Installation Layout for Generic Unix/Linux + Binary Package Directory Contents of Directory bin Client programs and the mysqld server data Log files, databases @@ -881,14 +925,15 @@ sample configuration files, SQL for database installation sql-bench Benchmarks - Debug versions of the mysqld binary are available as mysqld-debug. - To compile your own debug version of MySQL from a source - distribution, use the appropriate configuration options to enable - debugging support. For more information on compiling from source, - see Section 2.9, "Installing MySQL from Source." + Debug versions of the mysqld binary are available as + mysqld-debug. To compile your own debug version of MySQL from + a source distribution, use the appropriate configuration + options to enable debugging support. For more information on + compiling from source, see Section 2.9, "Installing MySQL + from Source." - To install and use a MySQL binary distribution, the basic command - sequence looks like this: + To install and use a MySQL binary distribution, the basic + command sequence looks like this: shell> groupadd mysql shell> useradd -r -g mysql mysql shell> cd /usr/local @@ -910,43 +955,44 @@ installing a binary distribution follows. Note - This procedure assumes that you have root (administrator) access - to your system. Alternatively, you can prefix each command using - the sudo (Linux) or pfexec (OpenSolaris) command. - - The procedure does not set up any passwords for MySQL accounts. - After following the procedure, proceed to Section 2.10.2, - "Securing the Initial MySQL Accounts." + This procedure assumes that you have root (administrator) + access to your system. Alternatively, you can prefix each + command using the sudo (Linux) or pfexec (OpenSolaris) + command. + + The procedure does not set up any passwords for MySQL + accounts. After following the procedure, proceed to Section + 2.10.2, "Securing the Initial MySQL Accounts." Create a mysql User and Group - If your system does not already have a user and group for mysqld - to run as, you may need to create one. The following commands add - the mysql group and the mysql user. You might want to call the - user and group something else instead of mysql. If so, substitute - the appropriate name in the following instructions. The syntax for - useradd and groupadd may differ slightly on different versions of - Unix, or they may have different names such as adduser and - addgroup. + If your system does not already have a user and group for + mysqld to run as, you may need to create one. The following + commands add the mysql group and the mysql user. You might + want to call the user and group something else instead of + mysql. If so, substitute the appropriate name in the + following instructions. The syntax for useradd and groupadd + may differ slightly on different versions of Unix, or they + may have different names such as adduser and addgroup. shell> groupadd mysql shell> useradd -r -g mysql mysql Note Because the user is required only for ownership purposes, not - login purposes, the useradd command uses the -r option to create a - user that does not have login permissions to your server host. - Omit this option to permit logins for the user (or if your useradd - does not support the option). + login purposes, the useradd command uses the -r option to + create a user that does not have login permissions to your + server host. Omit this option to permit logins for the user + (or if your useradd does not support the option). Obtain and Unpack the Distribution - Pick the directory under which you want to unpack the distribution - and change location into it. The example here unpacks the - distribution under /usr/local. The instructions, therefore, assume - that you have permission to create files and directories in - /usr/local. If that directory is protected, you must perform the - installation as root. + Pick the directory under which you want to unpack the + distribution and change location into it. The example here + unpacks the distribution under /usr/local. The instructions, + therefore, assume that you have permission to create files + and directories in /usr/local. If that directory is + protected, you must perform the installation as root. shell> cd /usr/local Obtain a distribution file using the instructions in Section @@ -954,618 +1000,1026 @@ distributions for all platforms are built from the same MySQL source distribution. - Unpack the distribution, which creates the installation directory. - Then create a symbolic link to that directory. tar can uncompress - and unpack the distribution if it has z option support: + Unpack the distribution, which creates the installation + directory. Then create a symbolic link to that directory. tar + can uncompress and unpack the distribution if it has z option + support: shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz shell> ln -s full-path-to-mysql-VERSION-OS mysql - The tar command creates a directory named mysql-VERSION-OS. The ln - command makes a symbolic link to that directory. This enables you - to refer more easily to the installation directory as - /usr/local/mysql. - - If your tar does not have z option support, use gunzip to unpack - the distribution and tar to unpack it. Replace the preceding tar - command with the following alternative command to uncompress and - extract the distribution: + The tar command creates a directory named mysql-VERSION-OS. + The ln command makes a symbolic link to that directory. This + enables you to refer more easily to the installation + directory as /usr/local/mysql. + + If your tar does not have z option support, use gunzip to + unpack the distribution and tar to unpack it. Replace the + preceding tar command with the following alternative command + to uncompress and extract the distribution: shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf - Perform Postinstallation Setup - The remainder of the installation process involves setting up the - configuration file, creating the core databases, and starting the - MySQL server. For next steps, see Section 2.10, "Postinstallation - Setup and Testing." + The remainder of the installation process involves setting up + the configuration file, creating the core databases, and + starting the MySQL server. For next steps, see Section 2.10, + "Postinstallation Setup and Testing." Note - The accounts that are listed in the MySQL grant tables initially - have no passwords. After starting the server, you should set up - passwords for them using the instructions in Section 2.10.2, - "Securing the Initial MySQL Accounts." + The accounts that are listed in the MySQL grant tables + initially have no passwords. After starting the server, you + should set up passwords for them using the instructions in + Section 2.10.2, "Securing the Initial MySQL Accounts." 2.3 Installing MySQL on Microsoft Windows + There are several different methods to install MySQL on + Microsoft Windows. + +Simple Installation Method + + The simplest and recommended method is to download MySQL + Installer (for Windows) and let it install and configure all + of the MySQL products on your system. Here is how: + + * Download MySQL Installer from + http://dev.mysql.com/downloads/installer/ and execute it. + Note + Unlike the standard MySQL Installer, the smaller + "web-community" version does not bundle any MySQL + applications but it will download the MySQL products you + choose to install. + + * Choose the appropriate Setup Type for your system. + Typically you will choose Developer Default to install + MySQL server and other MySQL tools related to MySQL + development, helpful tools like MySQL Workbench. Or, + choose the Custom setup type to manually select your + desired MySQL products. + Note + Multiple versions of MySQL server can exist on a single + system. You can choose one or multiple versions. + + * Complete the installation process by following the MySQL + Installation wizard's instructions. This will install + several MySQL products and start the MySQL server. + + * MySQL is now installed. You probably configured MySQL as + a service that will automatically start MySQL server + every time you restart your system. + + Note + + You probably also installed other helpful MySQL products like + MySQL Workbench and MySQL Notifier on your system. Consider + loading Chapter 26, "MySQL Workbench" to check your new MySQL + server connection, and Section 2.3.4, "MySQL Notifier" to + view the connection's status. By default, these two programs + automatically start after installing MySQL. + + This process also installs the MySQL Installer application on + your system, and later you can use MySQL Installer to upgrade + or reconfigure your MySQL products. + +Additional Installation Information + MySQL is available for Microsoft Windows, for both 32-bit and - 64-bit versions. For supported Windows platform information, see - http://www.mysql.com/support/supportedplatforms/database.html. + 64-bit versions. For supported Windows platform information, + see + http://www.mysql.com/support/supportedplatforms/database.html + . It is possible to run MySQL as a standard application or as a - Windows service. By using a service, you can monitor and control - the operation of the server through the standard Windows service - management tools. For more information, see Section 2.3.7.7, - "Starting MySQL as a Windows Service." - - Generally, you should install MySQL on Windows using an account - that has administrator rights. Otherwise, you may encounter - problems with certain operations such as editing the PATH - environment variable or accessing the Service Control Manager. - Once installed, MySQL does not need to be executed using a user - with Administrator privileges. + Windows service. By using a service, you can monitor and + control the operation of the server through the standard + Windows service management tools. For more information, see + Section 2.3.7.7, "Starting MySQL as a Windows Service." + + Generally, you should install MySQL on Windows using an + account that has administrator rights. Otherwise, you may + encounter problems with certain operations such as editing + the PATH environment variable or accessing the Service + Control Manager. Once installed, MySQL does not need to be + executed using a user with Administrator privileges. For a list of limitations on the use of MySQL on the Windows platform, see Section D.10.6, "Windows Platform Limitations." In addition to the MySQL Server package, you may need or want additional components to use MySQL with your application or - development environment. These include, but are not limited to: + development environment. These include, but are not limited + to: - * To connect to the MySQL server using ODBC, you must have a - Connector/ODBC driver. For more information, including + * To connect to the MySQL server using ODBC, you must have + a Connector/ODBC driver. For more information, including installation and configuration instructions, see MySQL Connector/ODBC Developer Guide (http://dev.mysql.com/doc/connector-odbc/en/index.html). + Note + MySQL Installer will install and configure Connector/ODBC + for you. - * To use MySQL server with .NET applications, you must have the - Connector/Net driver. For more information, including + * To use MySQL server with .NET applications, you must have + the Connector/Net driver. For more information, including installation and configuration instructions, see MySQL Connector/Net Developer Guide (http://dev.mysql.com/doc/connector-net/en/index.html). + Note + MySQL Installer will install and configure Connector/NET + for you. MySQL distributions for Windows can be downloaded from - http://dev.mysql.com/downloads/. See Section 2.1.3, "How to Get - MySQL." + http://dev.mysql.com/downloads/. See Section 2.1.3, "How to + Get MySQL." - MySQL for Windows is available in several distribution formats, - detailed below. Generally speaking, you should use MySQL - Installer. It contains more features and MySQL products than the - older MSI, is simpler to use than the ZIP file, and you need no - additional tools to get MySQL up and running. MySQL Installer - automatically installs MySQL Server and additional MySQL products, - creates an options file, starts the server, and enables you to - create default user accounts. For more information on choosing a - package, see Section 2.3.2, "Choosing An Installation Package." + MySQL for Windows is available in several distribution + formats, detailed below. Generally speaking, you should use + MySQL Installer. It contains more features and MySQL products + than the older MSI, is simpler to use than the ZIP file, and + you need no additional tools to get MySQL up and running. + MySQL Installer automatically installs MySQL Server and + additional MySQL products, creates an options file, starts + the server, and enables you to create default user accounts. + For more information on choosing a package, see Section + 2.3.2, "Choosing An Installation Package." * Binary installer distributions. There are two different - installable distributions that come packaged as a Microsoft - Windows Installer (MSI) package that you can install manually - or automatically on your systems. The preferred MySQL - Installer package includes MySQL Server and additional MySQL - products including MySQL Workbench, MySQL Notifier, and MySQL - for Excel. MySQL Installer can also be used to upgrade these - product in the future. The older MSI package contains all the - files you need to install and configure MySQL server, but no - additional components. - For instructions on installing MySQL using MySQL Installer, - see Section 2.3.3, "Installing MySQL on Microsoft Windows - Using MySQL Installer." + installable distributions that come packaged as a + Microsoft Windows Installer (MSI) package that you can + install manually or automatically on your systems. The + preferred MySQL Installer package includes MySQL Server + and additional MySQL products including MySQL Workbench, + MySQL Notifier, and MySQL for Excel. MySQL Installer can + also be used to upgrade these product in the future. The + older MSI package contains all the files you need to + install and configure MySQL server, but no additional + components. + For instructions on installing MySQL using MySQL + Installer, see Section 2.3.3, "Installing MySQL on + Microsoft Windows Using MySQL Installer." * The standard binary distribution (packaged as a Zip file) - contains all of the necessary files that you unpack into your - chosen location. This package contains all of the files in the - full Windows MSI Installer package, but does not include an - installation program. - For instructions on installing MySQL using the Zip file, see - Section 2.3.7, "Installing MySQL on Microsoft Windows Using a - noinstall Zip Archive." + contains all of the necessary files that you unpack into + your chosen location. This package contains all of the + files in the full Windows MSI Installer package, but does + not include an installation program. + For instructions on installing MySQL using the Zip file, + see Section 2.3.7, "Installing MySQL on Microsoft Windows + Using a noinstall Zip Archive." * The source distribution format contains all the code and - support files for building the executables using the Visual - Studio compiler system. - For instructions on building MySQL from source on Windows, see - Section 2.9, "Installing MySQL from Source." + support files for building the executables using the + Visual Studio compiler system. + For instructions on building MySQL from source on + Windows, see Section 2.9, "Installing MySQL from Source." MySQL on Windows considerations: * Large Table Support - If you need tables with a size larger than 4GB, install MySQL - on an NTFS or newer file system. Do not forget to use MAX_ROWS - and AVG_ROW_LENGTH when you create tables. See Section - 13.1.17, "CREATE TABLE Syntax." + If you need tables with a size larger than 4GB, install + MySQL on an NTFS or newer file system. Do not forget to + use MAX_ROWS and AVG_ROW_LENGTH when you create tables. + See Section 13.1.17, "CREATE TABLE Syntax." * MySQL and Virus Checking Software - Virus-scanning software such as Norton/Symantec Anti-Virus on - directories containing MySQL data and temporary tables can - cause issues, both in terms of the performance of MySQL and - the virus-scanning software misidentifying the contents of the - files as containing spam. This is due to the fingerprinting - mechanism used by the virus-scanning software, and the way in - which MySQL rapidly updates different files, which may be - identified as a potential security risk. + Virus-scanning software such as Norton/Symantec + Anti-Virus on directories containing MySQL data and + temporary tables can cause issues, both in terms of the + performance of MySQL and the virus-scanning software + misidentifying the contents of the files as containing + spam. This is due to the fingerprinting mechanism used by + the virus-scanning software, and the way in which MySQL + rapidly updates different files, which may be identified + as a potential security risk. After installing MySQL Server, it is recommended that you - disable virus scanning on the main directory (datadir) used to - store your MySQL table data. There is usually a system built - into the virus-scanning software to enable specific - directories to be ignored. - In addition, by default, MySQL creates temporary files in the - standard Windows temporary directory. To prevent the temporary - files also being scanned, configure a separate temporary - directory for MySQL temporary files and add this directory to - the virus scanning exclusion list. To do this, add a - configuration option for the tmpdir parameter to your my.ini - configuration file. For more information, see Section 2.3.7.2, - "Creating an Option File." + disable virus scanning on the main directory (datadir) + used to store your MySQL table data. There is usually a + system built into the virus-scanning software to enable + specific directories to be ignored. + In addition, by default, MySQL creates temporary files in + the standard Windows temporary directory. To prevent the + temporary files also being scanned, configure a separate + temporary directory for MySQL temporary files and add + this directory to the virus scanning exclusion list. To + do this, add a configuration option for the tmpdir + parameter to your my.ini configuration file. For more + information, see Section 2.3.7.2, "Creating an Option + File." 2.3.1 MySQL Installation Layout on Microsoft Windows - For MySQL 5.5 on Windows, the default installation directory is - C:\Program Files\MySQL\MySQL Server 5.5. Some Windows users prefer - to install in C:\mysql, the directory that formerly was used as - the default. However, the layout of the subdirectories remains the - same. + For MySQL 5.5 on Windows, the default installation directory + is C:\Program Files\MySQL\MySQL Server 5.5. Some Windows + users prefer to install in C:\mysql, the directory that + formerly was used as the default. However, the layout of the + subdirectories remains the same. - All of the files are located within this parent directory, using - the structure shown in the following table. + All of the files are located within this parent directory, + using the structure shown in the following table. - Table 2.4 Default MySQL Installation Layout for Microsoft Windows + Table 2.4 Default MySQL Installation Layout for Microsoft + Windows Directory Contents of Directory Notes bin Client programs and the mysqld server - %ALLUSERSPROFILE%\MySQL\MySQL Server 5.5\ Log files, databases - (Windows XP, Windows Server 2003) The Windows system variable - %ALLUSERSPROFILE% defaults to C:\Documents and Settings\All - Users\Application Data - %PROGRAMDATA%\MySQL\MySQL Server 5.5\ Log files, databases (Vista, - Windows 7, Windows Server 2008, and newer) The Windows system - variable %PROGRAMDATA% defaults to C:\ProgramData + %ALLUSERSPROFILE%\MySQL\MySQL Server 5.5\ Log files, + databases (Windows XP, Windows Server 2003) The Windows + system variable %ALLUSERSPROFILE% defaults to C:\Documents + and Settings\All Users\Application Data + %PROGRAMDATA%\MySQL\MySQL Server 5.5\ Log files, databases + (Vista, Windows 7, Windows Server 2008, and newer) The + Windows system variable %PROGRAMDATA% defaults to + C:\ProgramData examples Example programs and scripts include Include (header) files lib Libraries scripts Utility scripts share Miscellaneous support files, including error messages, - character set files, sample configuration files, SQL for database - installation + character set files, sample configuration files, SQL for + database installation - If you install MySQL using a Windows MSI package, this package - creates and sets up the data directory that the installed server - will use, but as of MySQL 5.5.5, it also creates a pristine - "template" data directory named data under the installation - directory. This directory can be useful when the machine will be - used to run multiple instances of MySQL: After an installation has - been performed using an MSI package, the template data directory - can be copied to set up additional MySQL instances. See Section - 5.3, "Running Multiple MySQL Instances on One Machine." + If you install MySQL using a Windows MSI package, this + package creates and sets up the data directory that the + installed server will use, but as of MySQL 5.5.5, it also + creates a pristine "template" data directory named data under + the installation directory. This directory can be useful when + the machine will be used to run multiple instances of MySQL: + After an installation has been performed using an MSI + package, the template data directory can be copied to set up + additional MySQL instances. See Section 5.3, "Running + Multiple MySQL Instances on One Machine." 2.3.2 Choosing An Installation Package - For MySQL 5.5, there are installation package formats to choose - from when installing MySQL on Windows: + For MySQL 5.5, there are installation package formats to + choose from when installing MySQL on Windows: Note - MySQL Installer and the "Complete Package" methods for installing - MySQL are similar, but different. The MySQL Installer is the newer - and more advanced option, and it includes all functionality found - within the "Complete Package." + MySQL Installer and the "Complete Package" methods for + installing MySQL are similar, but different. The MySQL + Installer is the newer and more advanced option, and it + includes all functionality found within the "Complete + Package." * MySQL Installer: This package has a file name similar to - mysql-installer-community-5.5.41.0.msi or - mysql-installer-commercial-5.5.41.0.msi, and utilizes MSIs to - automatically install MySQL server and other products. It will - download and apply updates to itself, and for each of the - installed products. It also configures the additional - non-server products. - The installed products are configurable, and this includes: - documentation with samples and examples, connectors (such as - C, C++, J, NET, and ODBC), MySQL Workbench, MySQL Notifier, - MySQL for Excel, and the MySQL Server with its components. - MySQL Installer will run on all Windows platforms that are - supported by MySQL (see - http://www.mysql.com/support/supportedplatforms/database.html) - . + mysql-installer-community-5.5.42.0.msi or + mysql-installer-commercial-5.5.42.0.msi, and utilizes + MSIs to automatically install MySQL server and other + products. It will download and apply updates to itself, + and for each of the installed products. It also + configures the additional non-server products. + The installed products are configurable, and this + includes: documentation with samples and examples, + connectors (such as C, C++, J, NET, and ODBC), MySQL + Workbench, MySQL Notifier, MySQL for Excel, and the MySQL + Server with its components. + MySQL Installer will run on all Windows platforms that + are supported by MySQL (see + http://www.mysql.com/support/supportedplatforms/database. + html). Note - Because MySQL Installer is not a native component of Microsoft - Windows and depends on .NET, it will not work on minimal - installation options like the "Server Core" version of Windows - Server 2008. - For instructions on installing MySQL using MySQL Installer, - see Section 2.3.3, "Installing MySQL on Microsoft Windows - Using MySQL Installer." - - * The Complete Package: This package has a file name similar to - mysql-5.5.41-win32.msi and contains all files needed for a - complete Windows installation, including the Configuration - Wizard. This package includes optional components such as the - embedded server and benchmark suite. - - * The Noinstall Archive: This package has a file name similar to - mysql-5.5.41-win32.zip and contains all the files found in the - Complete install package, with the exception of the - Configuration Wizard. This package does not include an - automated installer, and must be manually installed and - configured. - - MySQL Installer is recommended for most users. Both MySQL - Installer and the alternative "Complete distribution" versions are - available as .msi files for use with installations on Windows. The - Noinstall distribution is packaged as a Zip archive. To use a Zip - archive, you must have a tool that can unpack .zip files. - - Your choice of install package affects the installation process - you must follow. If you choose to install using MySQL Installer, - see Section 2.3.3, "Installing MySQL on Microsoft Windows Using - MySQL Installer." If you choose to install a standard MSI package, - see Section 2.3.5, "Installing MySQL on Microsoft Windows Using an - MSI Package." If you choose to install a Noinstall archive, see - Section 2.3.7, "Installing MySQL on Microsoft Windows Using a - noinstall Zip Archive." + Because MySQL Installer is not a native component of + Microsoft Windows and depends on .NET, it will not work + on minimal installation options like the "Server Core" + version of Windows Server 2008. + For instructions on installing MySQL using MySQL + Installer, see Section 2.3.3, "Installing MySQL on + Microsoft Windows Using MySQL Installer." + + * The Complete Package: This package has a file name + similar to mysql-5.5.42-win32.msi or + mysql-5.5.42-winx64.zip, and contains all files needed + for a complete Windows installation, including the + Configuration Wizard. This package includes optional + components such as the embedded server and benchmark + suite. + + * The Noinstall Archive: This package has a file name + similar to mysql-5.5.42-win32.zip or + mysql-5.5.42-winx64.zip, and contains all the files found + in the Complete install package, with the exception of + the GUI. This package does not include an automated + installer, and must be manually installed and configured. + + MySQL Installer is recommended for most users. + + Your choice of install package affects the installation + process you must follow. If you choose to use MySQL + Installer, see Section 2.3.3, "Installing MySQL on Microsoft + Windows Using MySQL Installer." If you choose to install a + standard MSI package, see Section 2.3.5, "Installing MySQL on + Microsoft Windows Using an MSI Package." If you choose to + install a Noinstall archive, see Section 2.3.7, "Installing + MySQL on Microsoft Windows Using a noinstall Zip Archive." 2.3.3 Installing MySQL on Microsoft Windows Using MySQL Installer - MySQL Installer is an application that simplifies the installation - and updating process for a wide range of MySQL products, including - MySQL Notifier, MySQL Workbench, and MySQL for Excel - (http://dev.mysql.com/doc/mysql-for-excel/en/index.html). From - this central application, you can see which MySQL products are - already installed, configure them, and update or remove them if - necessary. The installer can also install plugins, documentation, - tutorials, and example databases. The MySQL Installer is only - available for Microsoft Windows, and includes both a GUI and - command-line interface. + MySQL Installer simplifies the installation and updating + process for your MySQL products on Microsoft Windows. From + this central application, you can view, remove, update, and + reconfigure the existing MySQL products on your system. MySQL + Installer can also install plugins, documentation, tutorials, + and example databases. The MySQL Installer is only available + for Microsoft Windows, and includes both GUI and command-line + interfaces. + + The supported products include: + + * MySQL server (http://dev.mysql.com/doc/) (one or multiple + versions) + + * MySQL Workbench + + * MySQL Connectors + (http://dev.mysql.com/doc/index-connectors.html) (.Net / + Python / ODBC / Java / C / C++) + + * MySQL Notifier + + * MySQL for Excel + (http://dev.mysql.com/doc/mysql-for-excel/en/index.html) + + * MySQL for Visual Studio + (http://dev.mysql.com/doc/connector-net/en/connector-net- + visual-studio.html) + + * MySQL Utilities and MySQL Fabric + (http://dev.mysql.com/doc/index-utils-fabric.html) + + * MySQL Samples and Examples + + * MySQL Documentation + + * MySQL Installer is also installed and remains on the + system as its own application Installer package types - * Full: Bundles all of the MySQL products (including MySQL - Server). The file' size is over 160MB, and its name has the - form mysql-installer-community-VERSION.N.msi where VERSION is - the MySQL Server version number such as 5.6 and N is the - package number, which begins at 0. - - * Web: Only contains the Installer and configuration files, and - it only downloads the MySQL products you choose to install. - The size of this file is about 2MB; the name of the file has - the form mysql-installer-community-web-VERSION.N.msi where - VERSION is the MySQL Server version number such as 5.6 and N - is the package number, which begins at 0. + * Full: Bundles all of the MySQL products (including the + MySQL server). The file' size is over 200MB, and its name + has the form mysql-installer-community-VERSION.N.msi + where VERSION is the MySQL Server version number such as + 5.6 and N is the package number, which begins at 0. + + * Web: Only contains the Installer and configuration files, + and it only downloads the MySQL products you choose to + install. The size of this file is about 2MB; the name of + the file has the form + mysql-installer-community-web-VERSION.N.msi where VERSION + is the MySQL Server version number such as 5.6 and N is + the package number, which begins at 0. Installer editions * Community edition: Downloadable at - http://dev.mysql.com/downloads/installer/. It installs the - community edition of all MySQL products. + http://dev.mysql.com/downloads/installer/. It installs + the community edition of all MySQL products. - * Commercial edition: Downloadable at either My Oracle Support - (https://support.oracle.com/) (MOS) or + * Commercial edition: Downloadable at either My Oracle + Support (https://support.oracle.com/) (MOS) or https://edelivery.oracle.com/. It installs the commercial - version of all MySQL products, including Workbench SE. It also - integrates with your MOS account, so enter in your MOS - credentials to automatically receive updates for your - commercial MySQL products. + version of all MySQL products, including Workbench SE/EE. + It also integrates with your MOS account. + Note + Entering your MOS credentials is optional when installing + bundled MySQL products, but your credentials are required + when choosing non-bundled MySQL products that MySQL + Installer must download. For notes detailing the changes in each release of MySQL Installer, see MySQL Installer Release Notes (http://dev.mysql.com/doc/relnotes/mysql-installer/en/). - MySQL Installer is compatible with pre-existing installations, and - adds them to its list of installed components. While the MySQL - Installer is bundled with a specific version of MySQL Server, a - single MySQL Installer instance can install and manage multiple - MySQL Server versions. For example, a single MySQL Installer - instance can install versions 5.1, 5.5, and 5.6. It can also - manage either commercial or community editions of the MySQL - Server. - Note - - A single host can not have both community and commercial editions - of MySQL Server installed. For example, if you want both MySQL - Server 5.5 and 5.6 installed on a single host, then both must be - the same commercial or community edition. - - MySQL Installer handles the initial configuration and setup of the - applications. For example: - - 1. It will create MySQL Server connections in MySQL Workbench. - - 2. It creates the configuration file (my.ini) that is used to - configure the MySQL Server. The values written to this file - are influenced by choices you make during the installation - process. - - 3. It imports example databases. - - 4. It creates MySQL Server user accounts with configurable - permissions based on general roles, such as DB Administrator, - DB Designer, and Backup Admin. It optionally creates a Windows - user named MysqlSys with limited privileges, which would then - run the MySQL Server. - This feature is only available during the initial installation - of the MySQL Server, and not during future updates. User - accounts may also be added with MySQL Workbench. - - 5. If the "Advanced Configuration" option is checked, then the - Logging Options are also configured. This includes defining - file paths for the error log, general log, slow query log - (including the configuration of seconds it requires to execute - a query), and the binary log. + MySQL Installer is compatible with pre-existing + installations, and adds them to its list of installed + components. While the standard MySQL Installer is bundled + with a specific version of MySQL Server, a single MySQL + Installer instance can install and manage multiple MySQL + Server versions. For example, a single MySQL Installer + instance can install (and update) versions 5.5, 5.6, and 5.7 + on the host. + Note + + A single host can not have both community and commercial + editions of MySQL Server installed. For example, if you want + both MySQL Server 5.5 and 5.6 installed on a single host, + then both must be the same edition. + + MySQL Installer handles the initial configuration and set up + of the applications. For example: + + 1. It creates initial MySQL Server connections in MySQL + Workbench. + + 2. It creates the configuration file (my.ini) that is used + to configure the MySQL Server. The values written to this + file are influenced by choices you make during the + installation process. + + 3. It can optionally import example databases. + + 4. It can optionally create MySQL Server user accounts with + configurable permissions based on general roles, such as + DB Administrator, DB Designer, and Backup Admin. It + optionally creates a Windows user named MysqlSys with + limited privileges, which would then run the MySQL + Server. + User accounts may also be added and configured in MySQL + Workbench. + + 5. If the "Advanced Configuration" option is checked, then + the Logging Options are also configured. This includes + defining file paths for the error log, general log, slow + query log (including the configuration of seconds it + requires to execute a query), and the binary log. - MySQL Installer can optionally check for updated components and - download them for you automatically. + MySQL Installer can optionally check for updated components + and download them for you. 2.3.3.1 MySQL Installer GUI - After installation of the GUI version, the installer will have add - its own Start Menu item under MySQL. + Installing MySQL Installer adds a link to the Start menu + under the MySQL group. Click Start, All Programs MySQL, MySQL + Installer to reload the MySQL Installer GUI. + Note + + Files that are generated by MySQL Installer grant full + permissions to the user that executes MySQL Installer, + including my.ini. This does not apply to files and + directories for specific products such as the MySQL Server + data directory in %ProgramData% that is owned by SYSTEM. + + The initial execution of MySQL Installer requires you to + accept the license agreement before installing MySQL + products. + + Figure 2.7 MySQL Installer - License Agreement + MySQL Installer - License Agreement + +Installing New Packages + + Choose the appropriate Setup Type for your system. The + selected type determines which MySQL products are installed + on your system, or select Custom to manually choose + individual products. + + * Developer: Install all products needed to develop + applications with MySQL. This is the default option. + + * Server only: Only install the MySQL server. + + * Client only: Only install the MySQL client products, + which does not include the MySQL server. + + * Full: Install all MySQL products. + + * Custom: Manually select the MySQL products to install. + Note + After the initial installation, you may use MySQL + Installer to manually select MySQL products to install or + remove. In other words, MySQL Installer becomes a MySQL + product management system. + + Figure 2.8 MySQL Installer - Choosing a Setup Type + MySQL Installer - Choosing a Setup Type + + After you select a setup type, the MySQL Installer will check + your system for the necessary external requirements for each + of the selected MySQL products. MySQL Installer will either + download and install the missing components onto your system, + or point you to the download location and set Status to + "Manual". + + The next window lists the MySQL products that are scheduled + to be installed: + + Figure 2.9 MySQL Installer - Installation Progress + MySQL Installer - Installation Progress + + As components are installed, their Status changes from a + progress percentage to "Complete". + + After all components are installed, the next step configures + some of the recently installed MySQL products. The + Configuration Overview window displays the progress and then + loads a configuration window, if required. Our example + configures MySQL Server 5.6.x. + +Configuring MySQL Server + + Configuring the MySQL server begins with defining several + Type and Networking options. + + Figure 2.10 MySQL Installer - Configuration Overview + MySQL Installer - Configuration Overview + + Server Configuration Type + + Choose the MySQL server configuration type that describes + your setup. This setting defines the amount of system + resources that will be assigned to your MySQL server + instance. + + * Developer: A machine that will host many other + applications, and typically this is your personal + workstation. This option configures MySQL to use the + least amount of memory. + + * Server: Several other applications will be running on + this machine, such as a web server. This option + configures MySQL to use a medium amount of memory. + + * Dedicated: A machine that is dedicated to running the + MySQL server. Because no other major applications are + running on the server, such as web servers, this option + configures MySQL to use all available memory. + + Connectivity + + Connectivity options control how you will connect to MySQL. + Options include: + + * TCP/IP: You may enable TCP/IP Networking here as + otherwise only localhost connections are allowed. Also + define the Port Number and whether to open the firewall + port for network access. + + * Named Pipe: Enable and define the pipe name, similar to + using the --enable-named-pipe option. + + * Shared Memory: Enable and then define the memory name, + similar to using the --shared-memory option. + + Advanced Configuration + + Checking the "Advanced Configuration" option provides + additional Logging Options to configure. This includes + defining file paths for the error log, general log, slow + query log (including the configuration of seconds it requires + to execute a query), and the binary log. + + Figure 2.11 MySQL Installer - MySQL Server Configuration: + Type and Networking + MySQL Installer- MySQL Server Configuration: Type and + Networking + +Accounts and Roles + + Next, define your MySQL account information. Assigning a root + password is required. + + Optionally, you can add additional MySQL user accounts with + predefined user roles. Each predefined role, such as "DB + Admin", are configured with their own set of privileges. For + example, the "DB Admin" role has more privileges than the "DB + Designer" role. Click the Role dropdown for a list of role + descriptions. Note - Files that are generated by MySQL Installer grant full permissions - to the user that executes MySQL Installer, including my.ini. This - does not apply to files and directories for specific products such - as the MySQL Server data directory in ProgramData, that is owned - by SYSTEM. + If the MySQL Server is already installed, then you must also + enter the Current Root Password. - After the installer itself has been installed and started, the - following screen is displayed: + Figure 2.12 MySQL Installer - MySQL Server Configuration: + User Accounts and Roles + MySQL Installer - MySQL Server Configuration: User Accounts + and Roles - Figure 2.7 MySQL Installer - Welcome Screen - MySQL Installer - Welcome Screen + Figure 2.13 MySQL Installer - MySQL Server Configuration: + User Accounts and Roles: Adding a User + MySQL Installer - MySQL Server Configuration: User Accounts + and Roles: Adding a User - There are three main options: +Windows Service - 1. Install MySQL Products - The Installation Wizard. + Next, configure the Windows Service details. This includes + the service name, whether the MySQL Server should be loaded + at startup, and how the Windows Service for MySQL Server is + executed. - 2. About MySQL - Learn about MySQL products and features. + Figure 2.14 MySQL Installer - MySQL Server Configuration: + Windows Service + MySQL Installer - MySQL Server Configuration: Windows Service + Note - 3. Resources - Information to help install and configure MySQL. + When configuring Run Windows Services as ... using a Custom + User, the custom user must have privileges to log on to + Microsoft Windows as a service. And the Next button will be + disabled until this user is configured with these user + rights. - To Install MySQL Products after executing MySQL Installer for the - first time, you must accept the license agreement before - proceeding with the installation process. + On Microsoft Windows 7, this is configured by loading the + Start Menu, Control Panel, Administrative Tools, Local + Security Policy, Local Policies, User Rights Assignment, then + Log On As A Service. Choose Add User or Group here to add the + custom user, and then OK, OK to save. - Figure 2.8 MySQL Installer - License Agreement - MySQL Installer - License Agreement +Advanced Options - If you are connected to the Internet, then the Installer will - search for the latest MySQL components and add them to the - installation bundle. Click Connect to the Internet to complete - this step, or otherwise check the Skip checkbox and then Continue. - - Figure 2.9 MySQL Installer - Find latest products - MySQL Installer - Find latest products - - If you chose "Connect to the Internet," the next page will show - the progress of MySQL Installer's search for available updates. - When the search is complete (or if you opted to skip the search), - you will be taken to the Choose Setup Type page: + The next configuration step is available if the Advanced + Configuration option was checked. This section includes + options that are related to the MySQL log files: - Figure 2.10 MySQL Installer - Choosing a Setup Type - MySQL Installer - Choosing a Setup Type + Figure 2.15 MySQL Installer - MySQL Server Configuration: + Logging Options + MySQL Installer - MySQL Server Configuration: Logging Options - Determine the option most compatible with your preferences by - reading the Setup Type Description descriptions. + Click Next to continue on to the final page before all of the + requested changes are applied. This Apply Server + Configuration page details the configuration steps that will + be performed. - The Installation and Data paths are also defined here, and a - caution flag will notify you if the data path you define already - exists. + Figure 2.16 MySQL Installer - MySQL Server Configuration: + Apply Server Configuration + MySQL Installer - MySQL Server Configuration: Apply Server + Configuration - After you select a setup type, the MySQL Installer will check your - system for the necessary external requirements and download then - install missing components onto your system. + Click Execute to execute the configuration steps. The icon + for each step toggles from white to green on success, or the + process stops on failure. Click the Log tab to view the log. - Figure 2.11 MySQL Installer - Check Requirements - MySQL Installer - Check Requirements + After the MySQL Installer configuration process is finished, + MySQL Installer reloads the opening page where you can + execute other installation and configuration related actions. - The next window lists the MySQL products that are scheduled to be - installed: + MySQL Installer is added to the Microsoft Windows Start menu + under the MySQL group. Opening MySQL Installer loads its + dashboard where installed MySQL products are listed, and + other MySQL Installer actions are available: - Figure 2.12 MySQL Installer - Installation Progress - MySQL Installer - Installation Progress + Figure 2.17 MySQL Installer - Main Dashboard + MySQL Installer - Main Dashboard - As components are installed, you'll see their status change from - "to be installed" to "install success." +Adding MySQL Products - Figure 2.13 MySQL Installer - Installation Progress status - MySQL Installer - Installation Progress status + Click Add to add new products. This loads the Select Products + and Features page: - After all components are installed, the next step involves - configuring the products. The Configuration Overview window - displays the progress and then loads a configuration window if it - is required. + Figure 2.18 MySQL Installer - Select Products and Features + MySQL Installer - Select Products and Features - Figure 2.14 MySQL Installer - Configuration Overview - MySQL Installer - Configuration Overview + From here, choose the MySQL products you want to install from + the left Available Products pane, and then click the green + right arrow to queue products for installation. - The ideal MySQL Server configuration depends on your intended use, - as explained in the next window. Choose the description that most - closely applies to your machine. + Optionally, click Edit to open the product and features + search filter: - You may enable TCP/IP Networking here as otherwise only localhost - connections are allowed. + Figure 2.19 MySQL Installer - Select Products and Features + Filter + MySQL Installer - Select Products and Features Filter - Checking the "Advanced Configuration" option provides additional - Logging Options to configure. This includes defining file paths - for the error log, general log, slow query log (including the - configuration of seconds it requires to execute a query), and the - binary log. + For example, you might choose to include Pre-Release products + in your selections, such as a Beta product that has not yet + reached GA status. + Note - Figure 2.15 MySQL Installer - MySQL Server Configuration: Define - platform, networking, and logging options - MySQL Installer- MySQL Server Configuration: Define platform, - networking, and logging options + The ability to install Pre-Release versions of MySQL products + was added in MySQL Installer 1.4.0. - Next, choose your account information. Defining a root password is - required, whereas it's optional to create additional users. There - are several different predefined user roles that each have - different permission levels. For example, a "DB Admin" will have - more privileges than a "DB Designer.". + Select all of the MySQL products you want to install, then + click Next to continue, and then Execute to execute the + installation process to install all of the selected products. - Figure 2.16 MySQL Installer - MySQL Server Configuration: User - accounts - MySQL Installer - MySQL Server Configuration: User accounts +2.3.3.1.1 MySQL Product Catalog + + MySQL Installer stores a MySQL product catalog. The catalog + can be updated either manually or automatically, and the + catalog change history is also available. Note - If the MySQL Server is already installed, then the Current Root - Password will also be needed. + The MySQL product catalog was added in MySQL Installer 1.4.0. + + Manual updates + + You can update the MySQL product catalog at any time by + clicking Catalog on the Installer dashboard. - Next, configure the Windows Service Details. This includes the - service name, how the MySQL Server should be loaded at startup, - and how the Windows Service for MySQL Server will be run. + Figure 2.20 MySQL Installer - Open the MySQL Product Catalog + MySQL Installer - Open the MySQL Product Catalog - Figure 2.17 MySQL Installer - MySQL Server Configuration: Windows - service details - MySQL Installer - MySQL Server Configuration: Windows service - details + From there, click Execute to update the product catalog. + + Automatic updates + + You can configure MySQL Installer to automatically update the + MySQL product catalog once per day. To enable this feature + and set the update time, click the wrench icon on the + Installer dashboard. + + The next window configures the Automatic Catalog Update. + Enable or disable this feature, and also set the hour. + + Figure 2.21 MySQL Installer - Configure the Catalog Scheduler + MySQL Installer - Configure the Catalog Scheduler + + This option uses the Windows Task Scheduler to schedule a + task named "ManifestUpdate". + + Change History + + MySQL Installer tracks the change history for all of the + MySQL products. Click Catalog from the dashboard, optionally + update the catalog (or, toggle the Do not update at this time + checkbox), click Next/Execute, and then view the change + history. + + Figure 2.22 MySQL Installer - Catalog Change History + MySQL Installer - Catalog Change History + +2.3.3.1.2 Remove MySQL Products + + MySQL Installer can also remove MySQL products from your + system. To remove a MySQL product, click Remove from the + Installer dashboard. This opens a window with a list of + installed MySQL products. Select the MySQL products you want + to remove (uninstall), and then click Execute to begin the + removal process. Note - When configuring Run Windows Services as ... using a Custom User, - the custom user must have privileges to log on to Windows as a - service. And the Next button will be disabled until this user is - given these user rights. + To select all MySQL products, click the [ ] checkbox to the + left of the Product label. - On Microsoft Windows 7, this is configured by loading the Start - Menu, Control Panel, Administrative Tools, Local Security Policy, - Local Policies, User Rights Assignment, then Log On As A Service. - Choose Add User or Group here to add the custom user, and then OK, - OK to save. + Figure 2.23 MySQL Installer - Removing Products: Select + MySQL Installer - Removing Products: Select - The final configuration step is available if the Advanced - Configuration option was checked, and it includes configuration - options related to log file names: + Figure 2.24 MySQL Installer - Removing Products: Executed + MySQL Installer - Removing Products: Executed - Figure 2.18 MySQL Installer - MySQL Server Configuration: Logging - options - MySQL Installer - MySQL Server Configuration: Logging options +2.3.3.1.3 Alter MySQL Products - After the MySQL Installer configuration process is completed, you - may save the installation log, and then load MySQL Workbench if - the Start MySQL Workbench after Setup option is checked: + MySQL Installer offers several options to alter your MySQL + product installations. - Figure 2.19 MySQL Installer - Installation Complete - MySQL Installer - Installation Complete +Upgrade - You can now open MySQL Installer from the Microsoft Windows Start - menu under the MySQL group, which will load the MySQL Installer - Maintenance Screen. This is used to add, update, and remove - features. + MySQL products with an available upgrade are highlighted on + the main dashboard. Products with available upgrades will + have an upgrade icon next to their version number. - Figure 2.20 MySQL Installer - Maintenance Screen - MySQL Installer - Maintenance Screen + Figure 2.25 MySQL Installer - Upgrade a MySQL Product + MySQL Installer - Upgrade a MySQL Product Note - An Update Screen screen is shown if MySQL Installer is used on a - machine with older products installed, as opposed to the - Maintenance Screen shown above. However, the functionality remains - the same. + Available upgrades are determined by having a current + catalog. For information about keeping your MySQL product + catalog current, see Section 2.3.3.1.1, "MySQL Product + Catalog." - Add/Modify Products and Features will list all installed and - available MySQL products. + Click Upgrade to view a list upgradable products. Our example + indicates that MySQL server 5.6.19 can be upgraded to version + 5.6.20. - Figure 2.21 MySQL Installer - Add/Modify Products and Features - MySQL Installer - Add/Modify Products and Features + Figure 2.26 MySQL Installer - Select Products To Upgrade + MySQL Installer - Select Products To Upgrade - The installation is now complete. MySQL Server should be running, - and most MySQL products installed and available for use. + Select (check) the products to upgrade, and optionally click + the changes link to view the product's release notes in your + browser. Click Next to begin the upgrade process. - See also the MySQL Workbench documentation - (http://dev.mysql.com/doc/workbench/en/). + Figure 2.27 MySQL Installer - Apply Updates + MySQL Installer - Apply Updates + + A MySQL server upgrade will also check and upgrade the + server's database. Although optional, this step is + recommended. + + Figure 2.28 MySQL Installer - Check and Upgrade Database + MySQL Installer - Check and Upgrade Database + + Upon completion, your upgraded products will be upgraded and + available to use. A MySQL server upgrade also restarts the + MySQL server. + +Reconfigure + + Some MySQL products, such as the MySQL server, include a + Reconfigure option. It opens the same configuration options + that were set when the MySQL product was installed, and is + pre-populated with the current values. + + To execute, click the Reconfigure link under the Quick Action + column on the main dashboard for the MySQL product that you + want to reconfigure. + + Figure 2.29 MySQL Installer - Reconfigure a MySQL Product + MySQL Installer - Reconfigure a MySQL Product + + In the case of the MySQL server, this opens the familiar + configuration wizard. + + Figure 2.30 MySQL Installer - Reconfiguration Wizard + MySQL Installer - Reconfiguration Wizard + +Modify + + Many MySQL products contain feature components that can be + added or removed. For example, Debug binaries and Client + Programs are subcomponents of the MySQL server. + + The modify the features of a product, click Modify on the + main dashboard. + + Figure 2.31 MySQL Installer - Modify Product Features + MySQL Installer - Modify Product Features + + Click Execute to execute the modification request. 2.3.3.2 MySQL Installer Console - MySQLInstallerConsole provides functionality similar to the GUI - version of MySQL Installer, but from the command-line. It is - installed when MySQL Installer is initially executed, and then - available within the MySQL Installer directory. Typically that is - in C:\Program Files (x86)\MySQL\MySQL Installer\, and the console - must be executed with administrative privileges. - - To use, invoke the Command Prompt with administrative privileges - by choosing Start, Accessories, then right-click on Command Prompt - and choose Run as administrator. And from the command-line, - optionally change the directory to where MySQLInstallerConsole is - located: + MySQLInstallerConsole provides functionality similar to the + GUI version of MySQL Installer, but from the command-line. It + is installed when MySQL Installer is initially executed, and + then available within the MySQL Installer directory. + Typically that is in C:\Program Files (x86)\MySQL\MySQL + Installer\, and the console must be executed with + administrative privileges. + + To use, invoke the Command Prompt with administrative + privileges by choosing Start, Accessories, then right-click + on Command Prompt and choose Run as administrator. And from + the command-line, optionally change the directory to where + MySQLInstallerConsole is located: C:\> cd "C:\Program Files (x86)\MySQL\MySQL Installer" +C:\> MySQLInstallerConsole.exe help - MySQLInstallerConsole supports the following options, which are - specified on the command line: +C:\Program Files (x86)\MySQL\MySQL Installer for Windows>MySQLInstalle +rConsole.exe help - * --help, -h, or -? - Displays a help message with usage examples, and then exits. -C:\> MySQLInstallerConsole --help - - * --updates (or -u) - Checks for new products before any further action is taken. - Disabled by default. - - * --nowait - Skips the final pause when the program finishes. Otherwise, a - "Press Enter to continue." dialogue is generated. It is used - in conjunction with other options. - - * --catalog=catalog_name (or -c) - Sets the default catalog. Use --list to view a list of - available catalogs. - - * --type=installation_type (or -t) - Sets the installation type. - The possible values for installation_type are: developer, - server, client, full, and custom. - - * --action=action_name - The action being performed. - The possible values are: install, remove, upgrade, list, and - status. - - + install: Installs a product or products, as defined by - --products - - + upgrade: Upgrades a product or products, as defined by - --products. - - + remove: Removes a product or products, as defined by - --products. - - + list: Lists the product manifest, both installed and - available products. - - + status: Shows the status after another action is - performed. - - * --product=product_name[:feature1],[feature2], [...] (or -p) - Set the feature list of a product. Use --list to view - available products, or pass in --product=* (an asterisk) to - install all available products. - - * --config=product_name:passwd=root_password[;parameter1=value], - [;parameter2=value], ... - The configuration parameters for the most recently listed - products. +The following commands are available: - * --user=product_name:name=username,host:hostname,role=rolename, - password=password or - --user=product_name:name=username,host:hostname,role=rolename, - tokens=tokens - Creates a new user. - Requires: name, host, role, and the password or tokens. Tokens - are separated by pipe ("|") characters. +Configure - Configures one or more of your installed programs. +Help - Provides list of available commands. +Install - Install and configure one or more available MySQL programs +. +List - Provides an interactive way to list all products available +. +Modify - Modifies the features of installed products. +Remove - Removes one or more products from your system. +Status - Shows the status of all installed products. +Update - Update the current product catalog. +Upgrade - Upgrades one or more of your installed programs. + + MySQLInstallerConsole supports the following options, which + are specified on the command line: + + * configure [product1]:[setting]=[value]; + [product2]:[setting]=[value]; [...] + Configure one or more MySQL products on your system. + Switches include: + + + -showsettings : Displays the available options for + the selected product, by passing in the product name + after -showsettings. + + + -silent : Disable confirmation prompts. +C:\> MySQLInstallerConsole configure -showsettings server +C:\> MySQLInstallerConsole configure server:port=3307 + + + * help [command] + Displays a help message with usage examples, and then + exits. Pass in an additional command to receive help + specific to that command. +C:\> MySQLInstallerConsole help +C:\> MySQLInstallerConsole help install + + + * install [product]:[features]:[config block]:[config + block]:[config block]; [...] + Install one or more MySQL products on your system. + Switches and syntax options include: + + + -type=[SetupType] : Installs a predefined set of + software. The "SetupType" can be one of the + following: + Note + Non-custom setup types can only be chosen if no + other MySQL products are installed. + o Developer: Installs a complete development + environment. + o Server: Installs a single MySQL server + o Client: Installs client programs and libraries + o Full: Installs everything + o Custom: Installs user selected products. This + is the default option. + + + -showsettings : Displays the available options for + the selected product, by passing in the product name + after -showsettings. + + + -silent : Disable confirmation prompts. + + + [config block]: One or more configuration blocks can + be specified. Each configuration block is a + semicolon separated list of key value pairs. A block + can include either a "config" or "user" type key, + where "config" is the default type if one is not + defined. + Only one "config" type block can be defined per + product. A "user" block should be defined for each + user that should be created during the product's + installation. + Note + Adding users is not supported when a product is + being reconfigured. + + + [feature]: The feature block is a semicolon + separated list of features, or '*' to select all + features. +C:\> MySQLInstallerConsole install server;5.6.20:*:port=3307;serverid= +2:type=user;username=foo;password=bar;role=DBManager + + + * list + Lists an interactive console where all of the available + MySQL products can be searched. Execute + MySQLInstallerConsole list to launch the console, and + enter in a substring to search. +C:\> MySQLInstallerConsole list + + + * modify [product1:-removelist|+addlist] + [product2:-removelist|+addlist] [...] + Modifies or displays features of a previously installed + MySQL product. + + + -silent : Disable confirmation prompts. +C:\> MySQLInstallerConsole modify server +C:\> MySQLInstallerConsole modify server:+documentation +C:\> MySQLInstallerConsole modify server:-debug + + + * remove [product1] [product2] [...] + Removes one ore more products from your system. + + + * : Pass in * to remove all of the MySQL products. + + + -continue : Continue the operation even if an error + occurs. + + + -silent : Disable confirmation prompts. +C:\> MySQLInstallerConsole remove * +C:\> MySQLInstallerConsole remove server + + + * status + Provides a quick overview of the MySQL products that are + installed on the system. Information includes product + name and version, architecture, date installed, and + install location. +C:\> MySQLInstallerConsole status + + + * upgrade [product1:version] [product2:version], [...] + Upgrades one or more products on your system. Syntax + options include: + + + * : Pass in * to upgrade all products to the latest + version, or pass in specific products. + + + ! : Pass in ! as a version number to upgrade the + MySQL product to its latest version. + + + -silent : Disable confirmation prompts. +C:\> MySQLInstallerConsole upgrade * +C:\> MySQLInstallerConsole upgrade workbench:6.2.2 +C:\> MySQLInstallerConsole upgrade workbench:! +C:\> MySQLInstallerConsole upgrade workbench:6.2.2 excel:1.3.2 + + + * update + Downloads the latest MySQL product catalog to your + system. On success, the download catalog will be applied + the next time either MySQLInstaller or + MySQLInstallerConsole is executed. +C:\> MySQLInstallerConsole update + + Note + The Automatic Catalog Update GUI option executes this + command from the Windows Task Scheduler. 2.3.4 MySQL Notifier The MySQL Notifier is a tool that enables you to monitor and - adjust the status of your local and remote MySQL Server instances - through an indicator that resides in the system tray. The MySQL - Notifier also gives quick access to several MySQL GUI tools (such - as MySQL Workbench) through its context menu. + adjust the status of your local and remote MySQL Server + instances through an indicator that resides in the system + tray. The MySQL Notifier also gives quick access to several + MySQL GUI tools (such as MySQL Workbench) through its context + menu. The MySQL Notifier is installed by MySQL Installer, and (by default) will start-up when Microsoft Windows is started. Note To install, download and execute the MySQL Installer - (http://dev.mysql.com/downloads/installer/), be sure the MySQL - Notifier product is selected, then proceed with the installation. - See the MySQL Installer manual for additional details. + (http://dev.mysql.com/downloads/installer/), be sure the + MySQL Notifier product is selected, then proceed with the + installation. See the MySQL Installer manual for additional + details. - For notes detailing the changes in each release of MySQL Notifier, - see the MySQL Notifier Release Notes + For notes detailing the changes in each release of MySQL + Notifier, see the MySQL Notifier Release Notes (http://dev.mysql.com/doc/relnotes/mysql-notifier/en/). Visit the MySQL Notifier forum @@ -1576,15 +2030,16 @@ * Start, Stop, and Restart instances of the MySQL Server. - * Automatically detects (and adds) new MySQL Server services. - These are listed under Manage Monitored Items, and may also be - configured. - - * The Tray icon changes, depending on the status. It's green if - all monitored MySQL Server instances are running, or red if at - least one service is stopped. The Update MySQL Notifier tray - icon based on service status option, which dictates this - behavior, is enabled by default for each service. + * Automatically detects (and adds) new MySQL Server + services. These are listed under Manage Monitored Items, + and may also be configured. + + * The Tray icon changes, depending on the status. It's + green if all monitored MySQL Server instances are + running, or red if at least one service is stopped. The + Update MySQL Notifier tray icon based on service status + option, which dictates this behavior, is enabled by + default for each service. * Links to other applications like MySQL Workbench, MySQL Installer, and the MySQL Utilities. For example, choosing @@ -1592,8 +2047,8 @@ Administration window for that particular instance. * If MySQL Workbench is also installed, then the Configure - Instance and SQL Editor options are available for local (but - not remote) MySQL instances. + Instance and SQL Editor options are available for local + (but not remote) MySQL instances. * Monitoring of both local and remote MySQL instances. @@ -1601,108 +2056,112 @@ Remote monitoring is available since MySQL Notifier 1.1.0. - The MySQL Notifier resides in the system tray and provides visual - status information for your MySQL Server instances. A green icon - is displayed at the top left corner of the tray icon if the - current MySQL Server is running, or a red icon if the service is - stopped. - - The MySQL Notifier automatically adds discovered MySQL Services on - the local machine, and each service is saved and configurable. By - default, the Automatically add new services whose name contains - option is enabled and set to mysql. Related Notifications Options - include being notified when new services are either discovered or - experience status changes, and are also enabled by default. And - uninstalling a service will also remove the service from the MySQL - Notifier. + The MySQL Notifier resides in the system tray and provides + visual status information for your MySQL Server instances. A + green icon is displayed at the top left corner of the tray + icon if the current MySQL Server is running, or a red icon if + the service is stopped. + + The MySQL Notifier automatically adds discovered MySQL + Services on the local machine, and each service is saved and + configurable. By default, the Automatically add new services + whose name contains option is enabled and set to mysql. + Related Notifications Options include being notified when new + services are either discovered or experience status changes, + and are also enabled by default. And uninstalling a service + will also remove the service from the MySQL Notifier. Note The Automatically add new services whose name contains option - default changed from ".*mysqld.*" to "mysql" in Notifier 1.1.0. + default changed from ".*mysqld.*" to "mysql" in Notifier + 1.1.0. - Clicking the system tray icon will reveal several options, as seen - in the screenshots below: + Clicking the system tray icon will reveal several options, as + seen in the screenshots below: - The Service Instance menu is the main MySQL Notifier window, and - enables you to Stop, Start, and Restart the MySQL Server. + The Service Instance menu is the main MySQL Notifier window, + and enables you to Stop, Start, and Restart the MySQL Server. - Figure 2.22 MySQL Notifier Service Instance menu + Figure 2.32 MySQL Notifier Service Instance menu MySQL Notifier Service Instance menu - The Actions menu includes several links to external applications - (if they are installed), and a Refresh Status option to manually - refresh the status of all monitored services (in both local and - remote computers) and MySQL instances. + The Actions menu includes several links to external + applications (if they are installed), and a Refresh Status + option to manually refresh the status of all monitored + services (in both local and remote computers) and MySQL + instances. Note - The main menu will not show the Actions menu when there are no - services being monitored by MySQL Notifier. + The main menu will not show the Actions menu when there are + no services being monitored by MySQL Notifier. Note The Refresh Status feature is available since MySQL Notifier 1.1.0. - Figure 2.23 MySQL Notifier Actions menu + Figure 2.33 MySQL Notifier Actions menu MySQL Notifier Actions menu - The Actions, Options menu configures MySQL Notifier and includes - options to: + The Actions, Options menu configures MySQL Notifier and + includes options to: - * Use colorful status icons: Enables a colorful style of icons - for the tray of the MySQL Notifier. + * Use colorful status icons: Enables a colorful style of + icons for the tray of the MySQL Notifier. - * Run at Windows Startup: Allows the application to be loaded - when Microsoft Windows starts. + * Run at Windows Startup: Allows the application to be + loaded when Microsoft Windows starts. - * Automatically Check For Updates Every # Weeks: Checks for a - new version of MySQL Notifier, and runs this check every # - weeks. - - * Automatically add new services whose name contains: The text - used to filter services and add them automatically to the - monitored list of the local computer running MySQL Notifier, - and on remote computers already monitoring Windows services. - monitored services, and also filters the list of the Microsoft - Windows services for the Add New Service dialog. - Prior to version 1.1.0, this option was named "Automatically - add new services that match this pattern." - - * Notify me when a service is automatically added: Will display - a balloon notification from the taskbar when a newly - discovered service is added to the monitored services list. + * Automatically Check For Updates Every # Weeks: Checks for + a new version of MySQL Notifier, and runs this check + every # weeks. + + * Automatically add new services whose name contains: The + text used to filter services and add them automatically + to the monitored list of the local computer running MySQL + Notifier, and on remote computers already monitoring + Windows services. monitored services, and also filters + the list of the Microsoft Windows services for the Add + New Service dialog. + Prior to version 1.1.0, this option was named + "Automatically add new services that match this pattern." + + * Notify me when a service is automatically added: Will + display a balloon notification from the taskbar when a + newly discovered service is added to the monitored + services list. * Notify me when a service changes status: Will display a - balloon notification from the taskbar when a monitored service - changes its status. + balloon notification from the taskbar when a monitored + service changes its status. - Figure 2.24 MySQL Notifier Options menu + Figure 2.34 MySQL Notifier Options menu MySQL Notifier Options menu - The Actions, Manage Monitored Items menu enables you to configure - the monitored services and MySQL instances. First, with the - Services tab open: + The Actions, Manage Monitored Items menu enables you to + configure the monitored services and MySQL instances. First, + with the Services tab open: - Figure 2.25 MySQL Notifier Manage Services menu + Figure 2.35 MySQL Notifier Manage Services menu MySQL Notifier Manage Services menu The Instances tab is similar: - Figure 2.26 MySQL Notifier Manage Instances menu + Figure 2.36 MySQL Notifier Manage Instances menu MySQL Notifier Manage Instances menu - Adding a service or instance (after clicking Add in the Manage - Monitored Items window) enables you to select a running Microsoft - Windows service or instance connection, and configure MySQL - Notifier to monitor it. Add a new service or instance by clicking - service name from the list, then OK to accept. Multiple services - and instances may be selected. + Adding a service or instance (after clicking Add in the + Manage Monitored Items window) enables you to select a + running Microsoft Windows service or instance connection, and + configure MySQL Notifier to monitor it. Add a new service or + instance by clicking service name from the list, then OK to + accept. Multiple services and instances may be selected. - Figure 2.27 MySQL Notifier Adding new services + Figure 2.37 MySQL Notifier Adding new services MySQL Notifier Adding new services And instances: - Figure 2.28 MySQL Notifier Adding new instances + Figure 2.38 MySQL Notifier Adding new instances MySQL Notifier Adding new instances Note @@ -1710,334 +2169,359 @@ 2.3.4.1 Remote monitoring set up and installation instructions - The MySQL Notifier uses Windows Management Instrumentation (WMI) - to manage and monitor services in remote computers running Windows - XP or later. This guide explains how it works, and how to set up - your system to monitor remote MySQL instances. + The MySQL Notifier uses Windows Management Instrumentation + (WMI) to manage and monitor services in remote computers + running Windows XP or later. This guide explains how it + works, and how to set up your system to monitor remote MySQL + instances. Note Remote monitoring is available since MySQL Notifier 1.1.0. - In order to configure WMI, it is important to understand that the - underlying Distributed Component Object Model (DCOM) architecture - is doing the WMI work. Specifically, MySQL Notifier is using - asynchronous notification queries on remote Microsoft Windows - hosts as .NET events. These events send an asynchronous callback - to the computer running the MySQL Notifier so it knows when a - service status has changed on the remote computer. Asynchronous - notifications offer the best performance compared to - semisynchronous notifications or synchronous notifications that - use timers. - - Asynchronous notifications requires the remote computer to send a - callback to the client computer (thus opening a reverse - connection), so the Windows Firewall and DCOM settings must be - properly configured for the communication to function properly. + In order to configure WMI, it is important to understand that + the underlying Distributed Component Object Model (DCOM) + architecture is doing the WMI work. Specifically, MySQL + Notifier is using asynchronous notification queries on remote + Microsoft Windows hosts as .NET events. These events send an + asynchronous callback to the computer running the MySQL + Notifier so it knows when a service status has changed on the + remote computer. Asynchronous notifications offer the best + performance compared to semisynchronous notifications or + synchronous notifications that use timers. + + Asynchronous notifications requires the remote computer to + send a callback to the client computer (thus opening a + reverse connection), so the Windows Firewall and DCOM + settings must be properly configured for the communication to + function properly. - Figure 2.29 MySQL Notifier Distributed Component Object Model + Figure 2.39 MySQL Notifier Distributed Component Object Model (DCOM) MySQL Notifier Distributed Component Object Model (DCOM) - Most of the common errors thrown by asynchronous WMI notifications - are related to Windows Firewall blocking the communication, or to - DCOM / WMI settings not being set up properly. For a list of - common errors with solutions, see Section 2.3.4.1, "." - - The following steps are required to make WMI function. These steps - are divided between two machines. A single host computer that runs - MySQL Notifier (Computer A), and multiple remote machines that are - being monitored (Computer B). + Most of the common errors thrown by asynchronous WMI + notifications are related to Windows Firewall blocking the + communication, or to DCOM / WMI settings not being set up + properly. For a list of common errors with solutions, see + Section 2.3.4.1, "." + + The following steps are required to make WMI function. These + steps are divided between two machines. A single host + computer that runs MySQL Notifier (Computer A), and multiple + remote machines that are being monitored (Computer B). Computer running MySQL Notifier (Computer A) - 1. Allow for remote administration by either editing the Group - Policy Editor, or using NETSH: + 1. Allow for remote administration by either editing the + Group Policy Editor, or using NETSH: Using the Group Policy Editor: - a. Click Start, click Run, type GPEDIT.MSC, and then click - OK. - b. Under the Local Computer Policy heading, double-click - Computer Configuration. + a. Click Start, click Run, type GPEDIT.MSC, and then + click OK. + b. Under the Local Computer Policy heading, + double-click Computer Configuration. c. Double-click Administrative Templates, then Network, Network Connections, and then Windows Firewall. d. If the computer is in the domain, then double-click - Domain Profile; otherwise, double-click Standard Profile. + Domain Profile; otherwise, double-click Standard + Profile. e. Click Windows Firewall: Allow inbound remote administration exception. - f. On the Action menu either select Edit, or double-click - the selection from the previous step. + f. On the Action menu either select Edit, or + double-click the selection from the previous step. g. Check the Enabled radio button, and then click OK. Using the NETSH command: - a. Open a command prompt window with Administrative rights - (you can right-click the Command Prompt icon and click - Run as Administrator). + a. Open a command prompt window with Administrative + rights (you can right-click the Command Prompt icon + and click Run as Administrator). b. Execute the following command: NETSH firewall set service RemoteAdmin enable + 2. Open the DCOM port TCP 135: - a. Open a command prompt window with Administrative rights - (you can right-click the Command Prompt icon and click - Run as Administrator) . + a. Open a command prompt window with Administrative + rights (you can right-click the Command Prompt icon + and click Run as Administrator) . b. Execute the following command: NETSH firewall add portopening protocol=tcp port=135 name=DCOM_TCP135 - 3. Add the client application which contains the sink for the - callback (MySqlNotifier.exe) to the Windows Firewall - Exceptions List (use either the Windows Firewall configuration - or NETSH): + + 3. Add the client application which contains the sink for + the callback (MySqlNotifier.exe) to the Windows Firewall + Exceptions List (use either the Windows Firewall + configuration or NETSH): Using the Windows Firewall configuration: a. In the Control Panel, double-click Windows Firewall. - b. In the Windows Firewall window's left panel, click Allow - a program or feature through Windows Firewall. - c. In the Allowed Programs window, click Change Settings. + b. In the Windows Firewall window's left panel, click + Allow a program or feature through Windows Firewall. + c. In the Allowed Programs window, click Change + Settings. d. If MySqlNotifier.exe is in the Allowed programs and - features list, make sure it is checked for the type of - networks the computer connects to (Private, Public or - both). + features list, make sure it is checked for the type + of networks the computer connects to (Private, + Public or both). e. If MySqlNotifier.exe is not in the list, click Allow another program.... - f. In the Add a Program window, select the MySqlNotifier.exe - if it exists in the Programs list, otherwise click - Browse... and go to the directory where MySqlNotifier.exe - was installed to select it, then click Add. - g. Make sure MySqlNotifier.exe is checked for the type of - networks the computer connects to (Private, Public or - both). + f. In the Add a Program window, select the + MySqlNotifier.exe if it exists in the Programs list, + otherwise click Browse... and go to the directory + where MySqlNotifier.exe was installed to select it, + then click Add. + g. Make sure MySqlNotifier.exe is checked for the type + of networks the computer connects to (Private, + Public or both). Using the NETSH command: - a. Open a command prompt window with Administrative rights - (you can right-click the Command Prompt icon and click - Run as Administrator). + a. Open a command prompt window with Administrative + rights (you can right-click the Command Prompt icon + and click Run as Administrator). b. Execute the following command, where you change "[YOUR_INSTALL_DIRECTORY]": -NETSH firewall add allowedprogram program=[YOUR_INSTALL_DIRECTORY]\My -SqlNotifier.exe name=MySqlNotifier +NETSH firewall add allowedprogram program=[YOUR_INSTALL_DIRECTORY]\MyS +qlNotifier.exe name=MySqlNotifier + 4. If Computer B is either a member of WORKGROUP or is in a - different domain that is untrusted by Computer A, then the - callback connection (Connection 2) is created as an Anonymous - connection. To grant Anonymous connections DCOM Remote Access - permissions: - a. Click Start, click Run, type DCOMCNFG, and then click OK. - b. In the Component Services dialog box, expand Component - Services, expand Computers, and then right-click My - Computer and click Properties. - c. In the My Computer Properties dialog box, click the COM - Security tab. + different domain that is untrusted by Computer A, then + the callback connection (Connection 2) is created as an + Anonymous connection. To grant Anonymous connections DCOM + Remote Access permissions: + a. Click Start, click Run, type DCOMCNFG, and then + click OK. + b. In the Component Services dialog box, expand + Component Services, expand Computers, and then + right-click My Computer and click Properties. + c. In the My Computer Properties dialog box, click the + COM Security tab. d. Under Access Permissions, click Edit Limits. - e. In the Access Permission dialog box, select ANONYMOUS - LOGON name in the Group or user names box. In the Allow - column under Permissions for User, select Remote Access, - and then click OK. + e. In the Access Permission dialog box, select + ANONYMOUS LOGON name in the Group or user names box. + In the Allow column under Permissions for User, + select Remote Access, and then click OK. Monitored Remote Computer (Computer B) - If the user account that is logged into the computer running the - MySQL Notifier (Computer A) is a local administrator on the remote - computer (Computer B), such that the same account is an - administrator on Computer B, you can skip to the "Allow for remote - administration" step. - - Setting DCOM security to allow a non-administrator user to access - a computer remotely: - - 1. Grant "DCOM remote launch" and activation permissions for a - user or group: - a. Click Start, click Run, type DCOMCNFG, and then click OK. - b. In the Component Services dialog box, expand Component - Services, expand Computers, and then right-click My - Computer and click Properties. - c. In the My Computer Properties dialog box, click the COM - Security tab. + If the user account that is logged into the computer running + the MySQL Notifier (Computer A) is a local administrator on + the remote computer (Computer B), such that the same account + is an administrator on Computer B, you can skip to the "Allow + for remote administration" step. + + Setting DCOM security to allow a non-administrator user to + access a computer remotely: + + 1. Grant "DCOM remote launch" and activation permissions for + a user or group: + a. Click Start, click Run, type DCOMCNFG, and then + click OK. + b. In the Component Services dialog box, expand + Component Services, expand Computers, and then + right-click My Computer and click Properties. + c. In the My Computer Properties dialog box, click the + COM Security tab. d. Under Access Permissions, click Edit Limits. - e. In the Launch Permission dialog box, follow these steps - if your name or your group does not appear in the Groups - or user names list: + e. In the Launch Permission dialog box, follow these + steps if your name or your group does not appear in + the Groups or user names list: i. In the Launch Permission dialog box, click Add. - ii. In the Select Users, Computers, or Groups dialog - box, add your name and the group in the "Enter the - object names to select" box, and then click OK. - f. In the Launch Permission dialog box, select your user and - group in the Group or user names box. In the Allow column - under Permissions for User, select Remote Launch, select - Remote Activation, and then click OK. + ii. In the Select Users, Computers, or Groups + dialog box, add your name and the group in the + "Enter the object names to select" box, and + then click OK. + f. In the Launch Permission dialog box, select your + user and group in the Group or user names box. In + the Allow column under Permissions for User, select + Remote Launch, select Remote Activation, and then + click OK. Grant DCOM remote access permissions: - a. Click Start, click Run, type DCOMCNFG, and then click OK. - b. In the Component Services dialog box, expand Component - Services, expand Computers, and then right-click My - Computer and click Properties. - c. In the My Computer Properties dialog box, click the COM - Security tab. + a. Click Start, click Run, type DCOMCNFG, and then + click OK. + b. In the Component Services dialog box, expand + Component Services, expand Computers, and then + right-click My Computer and click Properties. + c. In the My Computer Properties dialog box, click the + COM Security tab. d. Under Access Permissions, click Edit Limits. - e. In the Access Permission dialog box, select ANONYMOUS - LOGON name in the Group or user names box. In the Allow - column under Permissions for User, select Remote Access, - and then click OK. + e. In the Access Permission dialog box, select + ANONYMOUS LOGON name in the Group or user names box. + In the Allow column under Permissions for User, + select Remote Access, and then click OK. 2. Allowing non-administrator users access to a specific WMI namespace: - a. In the Control Panel, double-click Administrative Tools. - b. In the Administrative Tools window, double-click Computer - Management. - c. In the Computer Management window, expand the Services - and Applications tree and double-click the WMI Control. - d. Right-click the WMI Control icon and select Properties. - e. In the WMI Control Properties window, click the Security - tab. + a. In the Control Panel, double-click Administrative + Tools. + b. In the Administrative Tools window, double-click + Computer Management. + c. In the Computer Management window, expand the + Services and Applications tree and double-click the + WMI Control. + d. Right-click the WMI Control icon and select + Properties. + e. In the WMI Control Properties window, click the + Security tab. f. In the Security tab, select the namespace and click Security. - g. Locate the appropriate account and check Remote Enable in - the Permissions list. + g. Locate the appropriate account and check Remote + Enable in the Permissions list. - 3. Allow for remote administration by either editing the Group - Policy Editor or using NETSH: + 3. Allow for remote administration by either editing the + Group Policy Editor or using NETSH: Using the Group Policy Editor: - a. Click Start, click Run, type GPEDIT.MSC, and then click - OK. - b. Under the Local Computer Policy heading, double-click - Computer Configuration. + a. Click Start, click Run, type GPEDIT.MSC, and then + click OK. + b. Under the Local Computer Policy heading, + double-click Computer Configuration. c. Double-click Administrative Templates, then Network, Network Connections, and then Windows Firewall. d. If the computer is in the domain, then double-click - Domain Profile; otherwise, double-click Standard Profile. + Domain Profile; otherwise, double-click Standard + Profile. e. Click Windows Firewall: Allow inbound remote administration exception. - f. On the Action menu either select Edit, or double-click - the selection from the previous step. + f. On the Action menu either select Edit, or + double-click the selection from the previous step. g. Check the Enabled radio button, and then click OK. Using the NETSH command: - a. Open a command prompt window with Administrative rights - (you can right-click the Command Prompt icon and click - Run as Administrator). + a. Open a command prompt window with Administrative + rights (you can right-click the Command Prompt icon + and click Run as Administrator). b. Execute the following command: NETSH firewall set service RemoteAdmin enable - 4. Now, be sure the user you are logging in with uses the Name - value and not the Full Name value: - a. In the Control Panel, double-click Administrative Tools. - b. In the Administrative Tools window, double-click Computer - Management. + + 4. Now, be sure the user you are logging in with uses the + Name value and not the Full Name value: + a. In the Control Panel, double-click Administrative + Tools. + b. In the Administrative Tools window, double-click + Computer Management. c. In the Computer Management window, expand the System Tools then Local Users and Groups. - d. Click the Users node, and on the right side panel locate - your user and make sure it uses the Name value to - connect, and not the Full Name value. - - 5. If the remote computer is running on Windows XP Professional, - make sure that remote logins are not being forcefully changed - to the guest account user (also known as ForceGuest), which is - enabled by default on computers that are not attached to a - domain. - a. Click Start, click Run, type SECPOL.MSC, and then click - OK. + d. Click the Users node, and on the right side panel + locate your user and make sure it uses the Name + value to connect, and not the Full Name value. + + 5. If the remote computer is running on Windows XP + Professional, make sure that remote logins are not being + forcefully changed to the guest account user (also known + as ForceGuest), which is enabled by default on computers + that are not attached to a domain. + a. Click Start, click Run, type SECPOL.MSC, and then + click OK. b. Under the Local Policies node, double-click Security Options. - c. Select Network Access: Sharing and security model for - local accounts and save. + c. Select Network Access: Sharing and security model + for local accounts and save. Common Errors * 0x80070005 - + DCOM Security was not configured properly (see Computer - B, the Setting DCOM security... step). + + DCOM Security was not configured properly (see + Computer B, the Setting DCOM security... step). - + The remote computer (Computer B) is a member of WORKGROUP - or is in a domain that is untrusted by the client - computer (Computer A) (see Computer A, the Grant - Anonymous connections DCOM Remote Access permissions - step). + + The remote computer (Computer B) is a member of + WORKGROUP or is in a domain that is untrusted by the + client computer (Computer A) (see Computer A, the + Grant Anonymous connections DCOM Remote Access + permissions step). * 0x8007000E - + The remote computer (Computer B) is a member of WORKGROUP - or is in a domain that is untrusted by the client - computer (Computer A) (see Computer A, the Grant - Anonymous connections DCOM Remote Access permissions - step). + + The remote computer (Computer B) is a member of + WORKGROUP or is in a domain that is untrusted by the + client computer (Computer A) (see Computer A, the + Grant Anonymous connections DCOM Remote Access + permissions step). * 0x80041003 - + Access to the remote WMI namespace was not configured - properly (see Computer B, the Allowing non-administrator - users access to a specific WMI namespace step). + + Access to the remote WMI namespace was not + configured properly (see Computer B, the Allowing + non-administrator users access to a specific WMI + namespace step). * 0x800706BA + The DCOM port is not open on the client computers - (Computer A) firewall. See the Open the DCOM port TCP 135 - step for Computer A. + (Computer A) firewall. See the Open the DCOM port + TCP 135 step for Computer A. - + The remote computer (Computer B) is inaccessible because - its network location is set to Public. Make sure you can - access it through the Windows Explorer. + + The remote computer (Computer B) is inaccessible + because its network location is set to Public. Make + sure you can access it through the Windows Explorer. 2.3.5 Installing MySQL on Microsoft Windows Using an MSI Package - The MSI package is designed to install and configure MySQL in such - a way that you can immediately get started using MySQL. + The MSI package is designed to install and configure MySQL in + such a way that you can immediately get started using MySQL. - The MySQL Installation Wizard and MySQL Configuration Wizard are - available in the Complete install package, which is recommended - for most standard MySQL installations. Exceptions include users - who need to install multiple instances of MySQL on a single server - host and advanced users who want complete control of server - configuration. + The MySQL Installation Wizard and MySQL Configuration Wizard + are available in the Complete install package, which is + recommended for most standard MySQL installations. Exceptions + include users who need to install multiple instances of MySQL + on a single server host and advanced users who want complete + control of server configuration. * For information on installing using the GUI MSI installer - process, see Section 2.3.5.1, "Using the MySQL Installation - Wizard." + process, see Section 2.3.5.1, "Using the MySQL + Installation Wizard." - * For information on installing using the command line using the - MSI package, see Section 2.3.5.2, "Automating MySQL - Installation on Microsoft Windows Using the MSI Package." - - * If you have previously installed MySQL using the MSI package - and want to remove MySQL, see Section 2.3.5.3, "Removing MySQL - When Installed from the MSI Package." + * For information on installing using the command line + using the MSI package, see Section 2.3.5.2, "Automating + MySQL Installation on Microsoft Windows Using the MSI + Package." + + * If you have previously installed MySQL using the MSI + package and want to remove MySQL, see Section 2.3.5.3, + "Removing MySQL When Installed from the MSI Package." The workflow sequence for using the installer is shown in the figure below: - Figure 2.30 Installation Workflow for Windows Using MSI Installer + Figure 2.40 Installation Workflow for Windows Using MSI + Installer Installation Workflow for Windows using MSI Installer Note Microsoft Windows XP and later include a firewall which - specifically blocks ports. If you plan on using MySQL through a - network port then you should open and create an exception for this - port before performing the installation. To check and if necessary - add an exception to the firewall settings: + specifically blocks ports. If you plan on using MySQL through + a network port then you should open and create an exception + for this port before performing the installation. To check + and if necessary add an exception to the firewall settings: - 1. First ensure that you are logged in as an Administrator or a - user with Administrator privileges. + 1. First ensure that you are logged in as an Administrator + or a user with Administrator privileges. - 2. Go to the Control Panel, and double click the Windows Firewall - icon. + 2. Go to the Control Panel, and double click the Windows + Firewall icon. - 3. Choose the Allow a program through Windows Firewall option and - click the Add port button. + 3. Choose the Allow a program through Windows Firewall + option and click the Add port button. - 4. Enter MySQL into the Name text box and 3306 (or the port of - your choice) into the Port number text box. + 4. Enter MySQL into the Name text box and 3306 (or the port + of your choice) into the Port number text box. - 5. Also ensure that the TCP protocol radio button is selected. + 5. Also ensure that the TCP protocol radio button is + selected. - 6. If you wish, you can also limit access to the MySQL server by - choosing the Change scope button. + 6. If you wish, you can also limit access to the MySQL + server by choosing the Change scope button. 7. Confirm your choices by clicking the OK button. Additionally, when running the MySQL Installation Wizard on - Windows Vista or newer, ensure that you are logged in as a user - with administrative rights. + Windows Vista or newer, ensure that you are logged in as a + user with administrative rights. Note - When using Windows Vista or newer, you may want to disable User - Account Control (UAC) before performing the installation. If you - do not do so, then MySQL may be identified as a security risk, - which will mean that you need to enable MySQL. You can disable the - security checking by following these instructions: + When using Windows Vista or newer, you may want to disable + User Account Control (UAC) before performing the + installation. If you do not do so, then MySQL may be + identified as a security risk, which will mean that you need + to enable MySQL. You can disable the security checking by + following these instructions: 1. Open Control Panel. @@ -2047,199 +2531,213 @@ 3. Click the Got to the main User Accounts page link. 4. Click on Turn User Account Control on or off. You may be - prompted to provide permission to change this setting. Click - Continue. + prompted to provide permission to change this setting. + Click Continue. - 5. Deselect or uncheck the check box next to Use User Account - Control (UAC) to help protect your computer. Click OK to save - the setting. - - You will need to restart to complete the process. Click Restart - Now to reboot the machine and apply the changes. You can then - follow the instructions below for installing Windows. + 5. Deselect or uncheck the check box next to Use User + Account Control (UAC) to help protect your computer. + Click OK to save the setting. + + You will need to restart to complete the process. Click + Restart Now to reboot the machine and apply the changes. You + can then follow the instructions below for installing + Windows. 2.3.5.1 Using the MySQL Installation Wizard - MySQL Installation Wizard is an installer for the MySQL server - that uses the latest installer technologies for Microsoft Windows. - The MySQL Installation Wizard, in combination with the MySQL - Configuration Wizard, enables a user to install and configure a - MySQL server that is ready for use immediately after installation. - - The MySQL Installation Wizard is the standard installer for all - MySQL server distributions, version 4.1.5 and higher. Users of - previous versions of MySQL need to shut down and remove their - existing MySQL installations manually before installing MySQL with - the MySQL Installation Wizard. See Section 2.3.5.1.6, "Upgrading - MySQL with the Installation Wizard," for more information on - upgrading from a previous version. + MySQL Installation Wizard is an installer for the MySQL + server that uses the latest installer technologies for + Microsoft Windows. The MySQL Installation Wizard, in + combination with the MySQL Configuration Wizard, enables a + user to install and configure a MySQL server that is ready + for use immediately after installation. + + The MySQL Installation Wizard is the standard installer for + all MySQL server distributions, version 4.1.5 and higher. + Users of previous versions of MySQL need to shut down and + remove their existing MySQL installations manually before + installing MySQL with the MySQL Installation Wizard. See + Section 2.3.5.1.6, "Upgrading MySQL with the Installation + Wizard," for more information on upgrading from a previous + version. Microsoft has included an improved version of their Microsoft - Windows Installer (MSI) in the recent versions of Windows. MSI has - become the de-facto standard for application installations on - Windows 2000, Windows XP, and Windows Server 2003. The MySQL - Installation Wizard makes use of this technology to provide a - smoother and more flexible installation process. + Windows Installer (MSI) in the recent versions of Windows. + MSI has become the de-facto standard for application + installations on Windows 2000, Windows XP, and Windows Server + 2003. The MySQL Installation Wizard makes use of this + technology to provide a smoother and more flexible + installation process. The Microsoft Windows Installer Engine was updated with the - release of Windows XP; those using a previous version of Windows - can reference this Microsoft Knowledge Base article - (http://support.microsoft.com/default.aspx?scid=kb;EN-US;292539) - for information on upgrading to the latest version of the Windows - Installer Engine. - - In addition, Microsoft has introduced the WiX (Windows Installer - XML) toolkit recently. This is the first highly acknowledged Open - Source project from Microsoft. We have switched to WiX because it - is an Open Source project and it enables us to handle the complete - Windows installation process in a flexible manner using scripts. - - Improving the MySQL Installation Wizard depends on the support and - feedback of users like you. If you find that the MySQL - Installation Wizard is lacking some feature important to you, or - if you discover a bug, please report it in our bugs database using - the instructions given in Section 1.7, "How to Report Bugs or - Problems." + release of Windows XP; those using a previous version of + Windows can reference this Microsoft Knowledge Base article + (http://support.microsoft.com/default.aspx?scid=kb;EN-US;2925 + 39) for information on upgrading to the latest version of the + Windows Installer Engine. + + In addition, Microsoft has introduced the WiX (Windows + Installer XML) toolkit recently. This is the first highly + acknowledged Open Source project from Microsoft. We have + switched to WiX because it is an Open Source project and it + enables us to handle the complete Windows installation + process in a flexible manner using scripts. + + Improving the MySQL Installation Wizard depends on the + support and feedback of users like you. If you find that the + MySQL Installation Wizard is lacking some feature important + to you, or if you discover a bug, please report it in our + bugs database using the instructions given in Section 1.7, + "How to Report Bugs or Problems." 2.3.5.1.1 Downloading and Starting the MySQL Installation Wizard The MySQL installation packages can be downloaded from - http://dev.mysql.com/downloads/. If the package you download is - contained within a Zip archive, you need to extract the archive - first. - Note - - If you are installing on Windows Vista or newer, it is best to - open a network port before beginning the installation. To do this, - first ensure that you are logged in as an Administrator, go to the - Control Panel, and double-click the Windows Firewall icon. Choose - the Allow a program through Windows Firewall option and click the - Add port button. Enter MySQL into the Name text box and 3306 (or - the port of your choice) into the Port number text box. Also - ensure that the TCP protocol radio button is selected. If you - wish, you can also limit access to the MySQL server by choosing - the Change scope button. Confirm your choices by clicking the OK - button. If you do not open a port prior to installation, you - cannot configure the MySQL server immediately after installation. + http://dev.mysql.com/downloads/. If the package you download + is contained within a Zip archive, you need to extract the + archive first. + Note + + If you are installing on Windows Vista or newer, it is best + to open a network port before beginning the installation. To + do this, first ensure that you are logged in as an + Administrator, go to the Control Panel, and double-click the + Windows Firewall icon. Choose the Allow a program through + Windows Firewall option and click the Add port button. Enter + MySQL into the Name text box and 3306 (or the port of your + choice) into the Port number text box. Also ensure that the + TCP protocol radio button is selected. If you wish, you can + also limit access to the MySQL server by choosing the Change + scope button. Confirm your choices by clicking the OK button. + If you do not open a port prior to installation, you cannot + configure the MySQL server immediately after installation. Additionally, when running the MySQL Installation Wizard on - Windows Vista or newer, ensure that you are logged in as a user - with administrative rights. + Windows Vista or newer, ensure that you are logged in as a + user with administrative rights. - The process for starting the wizard depends on the contents of the - installation package you download. If there is a setup.exe file - present, double-click it to start the installation process. If - there is an .msi file present, double-click it to start the - installation process. + The process for starting the wizard depends on the contents + of the installation package you download. If there is a + setup.exe file present, double-click it to start the + installation process. If there is an .msi file present, + double-click it to start the installation process. 2.3.5.1.2 Choosing an Install Type - There are three installation types available: Typical, Complete, - and Custom. + There are three installation types available: Typical, + Complete, and Custom. + + The Typical installation type installs the MySQL server, the + mysql command-line client, and the command-line utilities. + The command-line clients and utilities include mysqldump, + myisamchk, and several other tools to help you manage the + MySQL server. - The Typical installation type installs the MySQL server, the mysql - command-line client, and the command-line utilities. The - command-line clients and utilities include mysqldump, myisamchk, - and several other tools to help you manage the MySQL server. - - The Complete installation type installs all components included in - the installation package. The full installation package includes - components such as the embedded server library, the benchmark - suite, support scripts, and documentation. - - The Custom installation type gives you complete control over which - packages you wish to install and the installation path that is - used. See Section 2.3.5.1.3, "The Custom Install Dialog," for more - information on performing a custom install. - - If you choose the Typical or Complete installation types and click - the Next button, you advance to the confirmation screen to verify - your choices and begin the installation. If you choose the Custom - installation type and click the Next button, you advance to the - custom installation dialog, described in Section 2.3.5.1.3, "The - Custom Install Dialog." + The Complete installation type installs all components + included in the installation package. The full installation + package includes components such as the embedded server + library, the benchmark suite, support scripts, and + documentation. + + The Custom installation type gives you complete control over + which packages you wish to install and the installation path + that is used. See Section 2.3.5.1.3, "The Custom Install + Dialog," for more information on performing a custom install. + + If you choose the Typical or Complete installation types and + click the Next button, you advance to the confirmation screen + to verify your choices and begin the installation. If you + choose the Custom installation type and click the Next + button, you advance to the custom installation dialog, + described in Section 2.3.5.1.3, "The Custom Install Dialog." 2.3.5.1.3 The Custom Install Dialog If you wish to change the installation path or the specific - components that are installed by the MySQL Installation Wizard, - choose the Custom installation type. + components that are installed by the MySQL Installation + Wizard, choose the Custom installation type. - A tree view on the left side of the custom install dialog lists - all available components. Components that are not installed have a - red X icon; components that are installed have a gray icon. To - change whether a component is installed, click that component's - icon and choose a new option from the drop-down list that appears. + A tree view on the left side of the custom install dialog + lists all available components. Components that are not + installed have a red X icon; components that are installed + have a gray icon. To change whether a component is installed, + click that component's icon and choose a new option from the + drop-down list that appears. You can change the default installation path by clicking the - Change... button to the right of the displayed installation path. + Change... button to the right of the displayed installation + path. - After choosing your installation components and installation path, - click the Next button to advance to the confirmation dialog. + After choosing your installation components and installation + path, click the Next button to advance to the confirmation + dialog. 2.3.5.1.4 The Confirmation Dialog - Once you choose an installation type and optionally choose your - installation components, you advance to the confirmation dialog. - Your installation type and installation path are displayed for you - to review. - - To install MySQL if you are satisfied with your settings, click - the Install button. To change your settings, click the Back - button. To exit the MySQL Installation Wizard without installing - MySQL, click the Cancel button. + Once you choose an installation type and optionally choose + your installation components, you advance to the confirmation + dialog. Your installation type and installation path are + displayed for you to review. + + To install MySQL if you are satisfied with your settings, + click the Install button. To change your settings, click the + Back button. To exit the MySQL Installation Wizard without + installing MySQL, click the Cancel button. The final screen of the installer provides a summary of the installation and gives you the option to launch the MySQL - Configuration Wizard, which you can use to create a configuration - file, install the MySQL service, and configure security settings. + Configuration Wizard, which you can use to create a + configuration file, install the MySQL service, and configure + security settings. 2.3.5.1.5 Changes Made by MySQL Installation Wizard - Once you click the Install button, the MySQL Installation Wizard - begins the installation process and makes certain changes to your - system which are described in the sections that follow. + Once you click the Install button, the MySQL Installation + Wizard begins the installation process and makes certain + changes to your system which are described in the sections + that follow. Changes to the Registry - The MySQL Installation Wizard creates one Windows registry key in - a typical install situation, located in + The MySQL Installation Wizard creates one Windows registry + key in a typical install situation, located in HKEY_LOCAL_MACHINE\SOFTWARE\MySQL AB. - The MySQL Installation Wizard creates a key named after the major - version of the server that is being installed, such as MySQL - Server 5.5. It contains two string values, Location and Version. - The Location string contains the path to the installation - directory. In a default installation it contains C:\Program - Files\MySQL\MySQL Server 5.5\. The Version string contains the - release number. For example, for an installation of MySQL Server - 5.5.41, the key contains a value of 5.5.41. - - These registry keys are used to help external tools identify the - installed location of the MySQL server, preventing a complete scan - of the hard-disk to determine the installation path of the MySQL - server. The registry keys are not required to run the server, and - if you install MySQL using the noinstall Zip archive, the registry - keys are not created. + The MySQL Installation Wizard creates a key named after the + major version of the server that is being installed, such as + MySQL Server 5.5. It contains two string values, Location and + Version. The Location string contains the path to the + installation directory. In a default installation it contains + C:\Program Files\MySQL\MySQL Server 5.5\. The Version string + contains the release number. For example, for an installation + of MySQL Server 5.5.42, the key contains a value of 5.5.42. + + These registry keys are used to help external tools identify + the installed location of the MySQL server, preventing a + complete scan of the hard-disk to determine the installation + path of the MySQL server. The registry keys are not required + to run the server, and if you install MySQL using the + noinstall Zip archive, the registry keys are not created. Changes to the Start Menu - The MySQL Installation Wizard creates a new entry in the Windows - Start menu under a common MySQL menu heading named after the major - version of MySQL that you have installed. For example, if you - install MySQL 5.5, the MySQL Installation Wizard creates a MySQL - Server 5.5 section in the Start menu. + The MySQL Installation Wizard creates a new entry in the + Windows Start menu under a common MySQL menu heading named + after the major version of MySQL that you have installed. For + example, if you install MySQL 5.5, the MySQL Installation + Wizard creates a MySQL Server 5.5 section in the Start menu. The following entries are created within the new Start menu section: - * MySQL Command-Line Client: This is a shortcut to the mysql - command-line client and is configured to connect as the root - user. The shortcut prompts for a root user password when you - connect. - - * MySQL Server Instance Config Wizard: This is a shortcut to the - MySQL Configuration Wizard. Use this shortcut to configure a - newly installed server, or to reconfigure an existing server. + * MySQL Command-Line Client: This is a shortcut to the + mysql command-line client and is configured to connect as + the root user. The shortcut prompts for a root user + password when you connect. + + * MySQL Server Instance Config Wizard: This is a shortcut + to the MySQL Configuration Wizard. Use this shortcut to + configure a newly installed server, or to reconfigure an + existing server. * MySQL Documentation: This is a link to the MySQL server documentation that is stored locally in the MySQL server @@ -2247,23 +2745,23 @@ Changes to the File System - The MySQL Installation Wizard by default installs the MySQL 5.5 - server to C:\Program Files\MySQL\MySQL Server 5.5, where Program - Files is the default location for applications in your system, and - 5.5 is the major version of your MySQL server. This is the - recommended location for the MySQL server, replacing the former - default location C:\mysql. + The MySQL Installation Wizard by default installs the MySQL + 5.5 server to C:\Program Files\MySQL\MySQL Server 5.5, where + Program Files is the default location for applications in + your system, and 5.5 is the major version of your MySQL + server. This is the recommended location for the MySQL + server, replacing the former default location C:\mysql. By default, all MySQL applications are stored in a common - directory at C:\Program Files\MySQL, where Program Files is the - default location for applications in your Windows installation. A - typical MySQL installation on a developer machine might look like - this: + directory at C:\Program Files\MySQL, where Program Files is + the default location for applications in your Windows + installation. A typical MySQL installation on a developer + machine might look like this: C:\Program Files\MySQL\MySQL Server 5.5 C:\Program Files\MySQL\MySQL Workbench 5.1 OSS - This approach makes it easier to manage and maintain all MySQL - applications installed on a particular system. + This approach makes it easier to manage and maintain all + MySQL applications installed on a particular system. The default location of the data directory is the AppData directory configured for the user that installed the MySQL @@ -2272,93 +2770,97 @@ 2.3.5.1.6 Upgrading MySQL with the Installation Wizard The MySQL Installation Wizard can perform server upgrades - automatically using the upgrade capabilities of MSI. That means - you do not need to remove a previous installation manually before - installing a new release. The installer automatically shuts down - and removes the previous MySQL service before installing the new - version. + automatically using the upgrade capabilities of MSI. That + means you do not need to remove a previous installation + manually before installing a new release. The installer + automatically shuts down and removes the previous MySQL + service before installing the new version. Automatic upgrades are available only when upgrading between - installations that have the same major and minor version numbers. - For example, you can upgrade automatically from MySQL 5.5.5 to - MySQL 5.5.6, but not from MySQL 5.1 to MySQL 5.5. + installations that have the same major and minor version + numbers. For example, you can upgrade automatically from + MySQL 5.5.5 to MySQL 5.5.6, but not from MySQL 5.1 to MySQL + 5.5. See Section 2.3.9, "Upgrading MySQL on Windows." -2.3.5.2 Automating MySQL Installation on Microsoft Windows Using the -MSI Package +2.3.5.2 Automating MySQL Installation on Microsoft Windows Using +the MSI Package The Microsoft Installer (MSI) supports a both a quiet and a passive mode that can be used to install MySQL automatically - without requiring intervention. You can use this either in scripts - to automatically install MySQL or through a terminal connection - such as Telnet where you do not have access to the standard - Windows user interface. The MSI packages can also be used in - combination with Microsoft's Group Policy system (part of Windows - Server 2003 and Windows Server 2008) to install MySQL across - multiple machines. - - To install MySQL from one of the MSI packages automatically from - the command line (or within a script), you need to use the - msiexec.exe tool. For example, to perform a quiet installation - (which shows no dialog boxes or progress): -shell> msiexec /i mysql-5.5.41.msi /quiet - - The /i indicates that you want to perform an installation. The - /quiet option indicates that you want no interactive elements. - - To provide a dialog box showing the progress during installation, - and the dialog boxes providing information on the installation and - registration of MySQL, use /passive mode instead of /quiet: -shell> msiexec /i mysql-5.5.41.msi /passive - - Regardless of the mode of the installation, installing the package - in this manner performs a 'Typical' installation, and installs the - default components into the standard location. + without requiring intervention. You can use this either in + scripts to automatically install MySQL or through a terminal + connection such as Telnet where you do not have access to the + standard Windows user interface. The MSI packages can also be + used in combination with Microsoft's Group Policy system + (part of Windows Server 2003 and Windows Server 2008) to + install MySQL across multiple machines. + + To install MySQL from one of the MSI packages automatically + from the command line (or within a script), you need to use + the msiexec.exe tool. For example, to perform a quiet + installation (which shows no dialog boxes or progress): +shell> msiexec /i mysql-5.5.42.msi /quiet + + The /i indicates that you want to perform an installation. + The /quiet option indicates that you want no interactive + elements. + + To provide a dialog box showing the progress during + installation, and the dialog boxes providing information on + the installation and registration of MySQL, use /passive mode + instead of /quiet: +shell> msiexec /i mysql-5.5.42.msi /passive + + Regardless of the mode of the installation, installing the + package in this manner performs a 'Typical' installation, and + installs the default components into the standard location. You can also use this method to uninstall MySQL by using the /uninstall or /x options: -shell> msiexec /x mysql-5.5.41.msi /uninstall +shell> msiexec /x mysql-5.5.42.msi /uninstall - To install MySQL and configure a MySQL instance from the command - line, see Section 2.3.6.13, "MySQL Server Instance Config Wizard: - Creating an Instance from the Command Line." + To install MySQL and configure a MySQL instance from the + command line, see Section 2.3.6.13, "MySQL Server Instance + Config Wizard: Creating an Instance from the Command Line." For information on using MSI packages to install software - automatically using Group Policy, see How to use Group Policy to - remotely install software in Windows Server 2003 + automatically using Group Policy, see How to use Group Policy + to remotely install software in Windows Server 2003 (http://support.microsoft.com/kb/816102). 2.3.5.3 Removing MySQL When Installed from the MSI Package - To uninstall a MySQL where you have used the MSI packages, you - must use the Add/Remove Programs tool within Control Panel. To do - this: + To uninstall a MySQL where you have used the MSI packages, + you must use the Add/Remove Programs tool within Control + Panel. To do this: 1. Right-click the start menu and choose Control Panel. - 2. If the Control Panel is set to category mode (you will see - Pick a category at the top of the Control Panel window), - double-click Add or Remove Programs. If the Control is set to - classic mode, double-click the Add or Remove Programs icon. - - 3. Find MySQL in the list of installed software. MySQL Server is - installed against major version numbers (MySQL 5.1, MySQL 5.5, - etc.). Select the version that you want to remove and click - Remove. + 2. If the Control Panel is set to category mode (you will + see Pick a category at the top of the Control Panel + window), double-click Add or Remove Programs. If the + Control is set to classic mode, double-click the Add or + Remove Programs icon. + + 3. Find MySQL in the list of installed software. MySQL + Server is installed against major version numbers (MySQL + 5.1, MySQL 5.5, etc.). Select the version that you want + to remove and click Remove. 4. You will be prompted to confirm the removal. Click Yes to remove MySQL. When MySQL is removed using this method, only the installed - components are removed. Any database information (including the - tables and data), import or export files, log files, and binary - logs produced during execution are kept in their configured - location. - - If you try to install MySQL again the information will be retained - and you will be prompted to enter the password configured with the - original installation. + components are removed. Any database information (including + the tables and data), import or export files, log files, and + binary logs produced during execution are kept in their + configured location. + + If you try to install MySQL again the information will be + retained and you will be prompted to enter the password + configured with the original installation. If you want to delete MySQL completely: @@ -2370,84 +2872,90 @@ * On Windows 7 and Windows Server 2008, the default data directory location is C:\ProgramData\Mysql. Note - The C:\ProgramData directory is hidden by default. You must - change your folder options to view the hidden file. Choose - Organize, Folder and search options, Show hidden folders. + The C:\ProgramData directory is hidden by default. You + must change your folder options to view the hidden file. + Choose Organize, Folder and search options, Show hidden + folders. 2.3.6 MySQL Server Instance Configuration Wizard - The MySQL Server Instance Configuration Wizard helps automate the - process of configuring your server. It creates a custom MySQL - configuration file (my.ini or my.cnf) by asking you a series of - questions and then applying your responses to a template to - generate the configuration file that is tuned to your - installation. - - The MySQL Server Instance Configuration Wizard is included with - the MySQL 5.5 server. The MySQL Server Instance Configuration - Wizard is only available for Windows. + The MySQL Server Instance Configuration Wizard helps automate + the process of configuring your server. It creates a custom + MySQL configuration file (my.ini or my.cnf) by asking you a + series of questions and then applying your responses to a + template to generate the configuration file that is tuned to + your installation. + + The MySQL Server Instance Configuration Wizard is included + with the MySQL 5.5 server. The MySQL Server Instance + Configuration Wizard is only available for Windows. 2.3.6.1 Starting the MySQL Server Instance Configuration Wizard - The MySQL Server Instance Configuration Wizard is normally started - as part of the installation process. You should only need to run - the MySQL Server Instance Configuration Wizard again when you need - to change the configuration parameters of your server. + The MySQL Server Instance Configuration Wizard is normally + started as part of the installation process. You should only + need to run the MySQL Server Instance Configuration Wizard + again when you need to change the configuration parameters of + your server. If you chose not to open a port prior to installing MySQL on - Windows Vista or newer, you can choose to use the MySQL Server - Configuration Wizard after installation. However, you must open a - port in the Windows Firewall. To do this see the instructions - given in Section 2.3.5.1.1, "Downloading and Starting the MySQL - Installation Wizard." Rather than opening a port, you also have - the option of adding MySQL as a program that bypasses the Windows - Firewall. One or the other option is sufficient---you need not do - both. Additionally, when running the MySQL Server Configuration - Wizard on Windows Vista or newer, ensure that you are logged in as - a user with administrative rights. + Windows Vista or newer, you can choose to use the MySQL + Server Configuration Wizard after installation. However, you + must open a port in the Windows Firewall. To do this see the + instructions given in Section 2.3.5.1.1, "Downloading and + Starting the MySQL Installation Wizard." Rather than opening + a port, you also have the option of adding MySQL as a program + that bypasses the Windows Firewall. One or the other option + is sufficient---you need not do both. Additionally, when + running the MySQL Server Configuration Wizard on Windows + Vista or newer, ensure that you are logged in as a user with + administrative rights. MySQL Server Instance Configuration Wizard You can launch the MySQL Configuration Wizard by clicking the - MySQL Server Instance Config Wizard entry in the MySQL section of - the Windows Start menu. - - Alternatively, you can navigate to the bin directory of your MySQL - installation and launch the MySQLInstanceConfig.exe file directly. + MySQL Server Instance Config Wizard entry in the MySQL + section of the Windows Start menu. - The MySQL Server Instance Configuration Wizard places the my.ini - file in the installation directory for the MySQL server. This - helps associate configuration files with particular server - instances. - - To ensure that the MySQL server knows where to look for the my.ini - file, an argument similar to this is passed to the MySQL server as - part of the service installation: + Alternatively, you can navigate to the bin directory of your + MySQL installation and launch the MySQLInstanceConfig.exe + file directly. + + The MySQL Server Instance Configuration Wizard places the + my.ini file in the installation directory for the MySQL + server. This helps associate configuration files with + particular server instances. + + To ensure that the MySQL server knows where to look for the + my.ini file, an argument similar to this is passed to the + MySQL server as part of the service installation: --defaults-file="C:\Program Files\MySQL\MySQL Server 5.5\my.ini" - Here, C:\Program Files\MySQL\MySQL Server 5.5 is replaced with the - installation path to the MySQL Server. The --defaults-file option - instructs the MySQL server to read the specified file for - configuration options when it starts. - - Apart from making changes to the my.ini file by running the MySQL - Server Instance Configuration Wizard again, you can modify it by - opening it with a text editor and making any necessary changes. - You can also modify the server configuration with the - http://www.mysql.com/products/administrator/ utility. For more - information about server configuration, see Section 5.1.3, "Server - Command Options." + Here, C:\Program Files\MySQL\MySQL Server 5.5 is replaced + with the installation path to the MySQL Server. The + --defaults-file option instructs the MySQL server to read the + specified file for configuration options when it starts. + + Apart from making changes to the my.ini file by running the + MySQL Server Instance Configuration Wizard again, you can + modify it by opening it with a text editor and making any + necessary changes. You can also modify the server + configuration with the + http://www.mysql.com/products/administrator/ utility. For + more information about server configuration, see Section + 5.1.3, "Server Command Options." MySQL clients and utilities such as the mysql and mysqldump command-line clients are not able to locate the my.ini file - located in the server installation directory. To configure the - client and utility applications, create a new my.ini file in the - Windows installation directory (for example, C:\WINDOWS). - - Under Windows Server 2003, Windows Server 2000, Windows XP, and - Windows Vista, MySQL Server Instance Configuration Wizard will - configure MySQL to work as a Windows service. To start and stop - MySQL you use the Services application that is supplied as part of - the Windows Administrator Tools. + located in the server installation directory. To configure + the client and utility applications, create a new my.ini file + in the Windows installation directory (for example, + C:\WINDOWS). + + Under Windows Server 2003, Windows Server 2000, Windows XP, + and Windows Vista, MySQL Server Instance Configuration Wizard + will configure MySQL to work as a Windows service. To start + and stop MySQL you use the Services application that is + supplied as part of the Windows Administrator Tools. 2.3.6.2 Choosing a Maintenance Option @@ -2459,118 +2967,119 @@ To reconfigure an existing server, choose the Re-configure Instance option and click the Next button. Any existing - configuration file is not overwritten, but renamed (within the - same directory) using a timestamp (Windows) or sequential number - (Linux). To remove the existing server instance, choose the Remove - Instance option and click the Next button. + configuration file is not overwritten, but renamed (within + the same directory) using a timestamp (Windows) or sequential + number (Linux). To remove the existing server instance, + choose the Remove Instance option and click the Next button. If you choose the Remove Instance option, you advance to a - confirmation window. Click the Execute button. The MySQL Server - Configuration Wizard stops and removes the MySQL service, and then - deletes the configuration file. The server installation and its - data folder are not removed. - - If you choose the Re-configure Instance option, you advance to the - Configuration Type dialog where you can choose the type of - installation that you wish to configure. + confirmation window. Click the Execute button. The MySQL + Server Configuration Wizard stops and removes the MySQL + service, and then deletes the configuration file. The server + installation and its data folder are not removed. + + If you choose the Re-configure Instance option, you advance + to the Configuration Type dialog where you can choose the + type of installation that you wish to configure. 2.3.6.3 Choosing a Configuration Type - When you start the MySQL Server Instance Configuration Wizard for - a new MySQL installation, or choose the Re-configure Instance - option for an existing installation, you advance to the - Configuration Type dialog. - MySQL Server Instance Configuration Wizard: Configuration Type + When you start the MySQL Server Instance Configuration Wizard + for a new MySQL installation, or choose the Re-configure + Instance option for an existing installation, you advance to + the Configuration Type dialog. + MySQL Server Instance Configuration Wizard: Configuration + Type There are two configuration types available: Detailed Configuration and Standard Configuration. The Standard - Configuration option is intended for new users who want to get - started with MySQL quickly without having to make many decisions - about server configuration. The Detailed Configuration option is - intended for advanced users who want more fine-grained control - over server configuration. + Configuration option is intended for new users who want to + get started with MySQL quickly without having to make many + decisions about server configuration. The Detailed + Configuration option is intended for advanced users who want + more fine-grained control over server configuration. If you are new to MySQL and need a server configured as a - single-user developer machine, the Standard Configuration should - suit your needs. Choosing the Standard Configuration option causes - the MySQL Configuration Wizard to set all configuration options - automatically with the exception of Service Options and Security - Options. - - The Standard Configuration sets options that may be incompatible - with systems where there are existing MySQL installations. If you - have an existing MySQL installation on your system in addition to - the installation you wish to configure, the Detailed Configuration - option is recommended. + single-user developer machine, the Standard Configuration + should suit your needs. Choosing the Standard Configuration + option causes the MySQL Configuration Wizard to set all + configuration options automatically with the exception of + Service Options and Security Options. + + The Standard Configuration sets options that may be + incompatible with systems where there are existing MySQL + installations. If you have an existing MySQL installation on + your system in addition to the installation you wish to + configure, the Detailed Configuration option is recommended. To complete the Standard Configuration, please refer to the sections on Service Options and Security Options in Section - 2.3.6.10, "The Service Options Dialog," and Section 2.3.6.11, "The - Security Options Dialog," respectively. + 2.3.6.10, "The Service Options Dialog," and Section 2.3.6.11, + "The Security Options Dialog," respectively. 2.3.6.4 The Server Type Dialog - There are three different server types available to choose from. - The server type that you choose affects the decisions that the - MySQL Server Instance Configuration Wizard makes with regard to - memory, disk, and processor usage. + There are three different server types available to choose + from. The server type that you choose affects the decisions + that the MySQL Server Instance Configuration Wizard makes + with regard to memory, disk, and processor usage. MySQL Server Instance Configuration Wizard: Server Type - * Developer Machine: Choose this option for a typical desktop - workstation where MySQL is intended only for personal use. It - is assumed that many other desktop applications are running. - The MySQL server is configured to use minimal system - resources. - - * Server Machine: Choose this option for a server machine where - the MySQL server is running alongside other server - applications such as FTP, email, and Web servers. The MySQL - server is configured to use a moderate portion of the system - resources. + * Developer Machine: Choose this option for a typical + desktop workstation where MySQL is intended only for + personal use. It is assumed that many other desktop + applications are running. The MySQL server is configured + to use minimal system resources. + + * Server Machine: Choose this option for a server machine + where the MySQL server is running alongside other server + applications such as FTP, email, and Web servers. The + MySQL server is configured to use a moderate portion of + the system resources. * Dedicated MySQL Server Machine: Choose this option for a - server machine that is intended to run only the MySQL server. - It is assumed that no other applications are running. The - MySQL server is configured to use all available system - resources. + server machine that is intended to run only the MySQL + server. It is assumed that no other applications are + running. The MySQL server is configured to use all + available system resources. Note - By selecting one of the preconfigured configurations, the values - and settings of various options in your my.cnf or my.ini will be - altered accordingly. The default values and options as described - in the reference manual may therefore be different to the options - and values that were created during the execution of the - configuration wizard. + By selecting one of the preconfigured configurations, the + values and settings of various options in your my.cnf or + my.ini will be altered accordingly. The default values and + options as described in the reference manual may therefore be + different to the options and values that were created during + the execution of the configuration wizard. 2.3.6.5 The Database Usage Dialog The Database Usage dialog enables you to indicate the storage - engines that you expect to use when creating MySQL tables. The - option you choose determines whether the InnoDB storage engine is - available and what percentage of the server resources are - available to InnoDB. + engines that you expect to use when creating MySQL tables. + The option you choose determines whether the InnoDB storage + engine is available and what percentage of the server + resources are available to InnoDB. MySQL Server Instance Configuration Wizard: Usage Dialog - * Multifunctional Database: This option enables both the InnoDB - and MyISAM storage engines and divides resources evenly - between the two. This option is recommended for users who use - both storage engines on a regular basis. + * Multifunctional Database: This option enables both the + InnoDB and MyISAM storage engines and divides resources + evenly between the two. This option is recommended for + users who use both storage engines on a regular basis. * Transactional Database Only: This option enables both the - InnoDB and MyISAM storage engines, but dedicates most server - resources to the InnoDB storage engine. This option is - recommended for users who use InnoDB almost exclusively and - make only minimal use of MyISAM. + InnoDB and MyISAM storage engines, but dedicates most + server resources to the InnoDB storage engine. This + option is recommended for users who use InnoDB almost + exclusively and make only minimal use of MyISAM. * Non-Transactional Database Only: This option disables the InnoDB storage engine completely and dedicates all server resources to the MyISAM storage engine. This option is recommended for users who do not use InnoDB. - The Configuration Wizard uses a template to generate the server - configuration file. The Database Usage dialog sets one of the - following option strings: + The Configuration Wizard uses a template to generate the + server configuration file. The Database Usage dialog sets one + of the following option strings: Multifunctional Database: MIXED Transactional Database Only: INNODB Non-Transactional Database Only: MYISAM @@ -2596,209 +3105,225 @@ 2.3.6.6 The InnoDB Tablespace Dialog - Some users may want to locate the InnoDB tablespace files in a - different location than the MySQL server data directory. Placing - the tablespace files in a separate location can be desirable if - your system has a higher capacity or higher performance storage - device available, such as a RAID storage system. - MySQL Server Instance Configuration Wizard: InnoDB Data Tablespace - - To change the default location for the InnoDB tablespace files, - choose a new drive from the drop-down list of drive letters and - choose a new path from the drop-down list of paths. To create a - custom path, click the ... button. - - If you are modifying the configuration of an existing server, you - must click the Modify button before you change the path. In this - situation you must move the existing tablespace files to the new - location manually before starting the server. + Some users may want to locate the InnoDB tablespace files in + a different location than the MySQL server data directory. + Placing the tablespace files in a separate location can be + desirable if your system has a higher capacity or higher + performance storage device available, such as a RAID storage + system. + MySQL Server Instance Configuration Wizard: InnoDB Data + Tablespace + + To change the default location for the InnoDB tablespace + files, choose a new drive from the drop-down list of drive + letters and choose a new path from the drop-down list of + paths. To create a custom path, click the ... button. + + If you are modifying the configuration of an existing server, + you must click the Modify button before you change the path. + In this situation you must move the existing tablespace files + to the new location manually before starting the server. 2.3.6.7 The Concurrent Connections Dialog To prevent the server from running out of resources, it is - important to limit the number of concurrent connections to the - MySQL server that can be established. The Concurrent Connections - dialog enables you to choose the expected usage of your server, - and sets the limit for concurrent connections accordingly. It is - also possible to set the concurrent connection limit manually. + important to limit the number of concurrent connections to + the MySQL server that can be established. The Concurrent + Connections dialog enables you to choose the expected usage + of your server, and sets the limit for concurrent connections + accordingly. It is also possible to set the concurrent + connection limit manually. MySQL Server Instance Configuration Wizard: Connections - * Decision Support (DSS)/OLAP: Choose this option if your server - does not require a large number of concurrent connections. The - maximum number of connections is set at 100, with an average - of 20 concurrent connections assumed. - - * Online Transaction Processing (OLTP): Choose this option if - your server requires a large number of concurrent connections. - The maximum number of connections is set at 500. - - * Manual Setting: Choose this option to set the maximum number - of concurrent connections to the server manually. Choose the - number of concurrent connections from the drop-down box - provided, or enter the maximum number of connections into the - drop-down box if the number you desire is not listed. + * Decision Support (DSS)/OLAP: Choose this option if your + server does not require a large number of concurrent + connections. The maximum number of connections is set at + 100, with an average of 20 concurrent connections + assumed. + + * Online Transaction Processing (OLTP): Choose this option + if your server requires a large number of concurrent + connections. The maximum number of connections is set at + 500. + + * Manual Setting: Choose this option to set the maximum + number of concurrent connections to the server manually. + Choose the number of concurrent connections from the + drop-down box provided, or enter the maximum number of + connections into the drop-down box if the number you + desire is not listed. 2.3.6.8 The Networking and Strict Mode Options Dialog Use the Networking Options dialog to enable or disable TCP/IP networking and to configure the port number that is used to connect to the MySQL server. - MySQL Server Instance Configuration Wizard: Network Configuration + MySQL Server Instance Configuration Wizard: Network + Configuration TCP/IP networking is enabled by default. To disable TCP/IP - networking, uncheck the box next to the Enable TCP/IP Networking - option. + networking, uncheck the box next to the Enable TCP/IP + Networking option. - Port 3306 is used by default. To change the port used to access - MySQL, choose a new port number from the drop-down box or type a - new port number directly into the drop-down box. If the port - number you choose is in use, you are prompted to confirm your - choice of port number. - - Set the Server SQL Mode to either enable or disable strict mode. - Enabling strict mode (default) makes MySQL behave more like other - database management systems. If you run applications that rely on - MySQL's old "forgiving" behavior, make sure to either adapt those - applications or to disable strict mode. For more information about - strict mode, see Section 5.1.7, "Server SQL Modes." + Port 3306 is used by default. To change the port used to + access MySQL, choose a new port number from the drop-down box + or type a new port number directly into the drop-down box. If + the port number you choose is in use, you are prompted to + confirm your choice of port number. + + Set the Server SQL Mode to either enable or disable strict + mode. Enabling strict mode (default) makes MySQL behave more + like other database management systems. If you run + applications that rely on MySQL's old "forgiving" behavior, + make sure to either adapt those applications or to disable + strict mode. For more information about strict mode, see + Section 5.1.7, "Server SQL Modes." 2.3.6.9 The Character Set Dialog The MySQL server supports multiple character sets and it is - possible to set a default server character set that is applied to - all tables, columns, and databases unless overridden. Use the - Character Set dialog to change the default character set of the - MySQL server. + possible to set a default server character set that is + applied to all tables, columns, and databases unless + overridden. Use the Character Set dialog to change the + default character set of the MySQL server. MySQL Server Instance Configuration Wizard: Character Set - * Standard Character Set: Choose this option if you want to use - latin1 as the default server character set. latin1 is used for - English and many Western European languages. - - * Best Support For Multilingualism: Choose this option if you - want to use utf8 as the default server character set. This is - a Unicode character set that can store characters from many - different languages. - - * Manual Selected Default Character Set / Collation: Choose this - option if you want to pick the server's default character set - manually. Choose the desired character set from the provided - drop-down list. + * Standard Character Set: Choose this option if you want to + use latin1 as the default server character set. latin1 is + used for English and many Western European languages. + + * Best Support For Multilingualism: Choose this option if + you want to use utf8 as the default server character set. + This is a Unicode character set that can store characters + from many different languages. + + * Manual Selected Default Character Set / Collation: Choose + this option if you want to pick the server's default + character set manually. Choose the desired character set + from the provided drop-down list. 2.3.6.10 The Service Options Dialog On Windows platforms, the MySQL server can be installed as a - Windows service. When installed this way, the MySQL server can be - started automatically during system startup, and even restarted - automatically by Windows in the event of a service failure. - - The MySQL Server Instance Configuration Wizard installs the MySQL - server as a service by default, using the service name MySQL. If - you do not wish to install the service, uncheck the box next to - the Install As Windows Service option. You can change the service - name by picking a new service name from the drop-down box provided - or by entering a new service name into the drop-down box. - Note - - Service names can include any legal character except forward (/) - or backward (\) slashes, and must be less than 256 characters - long. + Windows service. When installed this way, the MySQL server + can be started automatically during system startup, and even + restarted automatically by Windows in the event of a service + failure. + + The MySQL Server Instance Configuration Wizard installs the + MySQL server as a service by default, using the service name + MySQL. If you do not wish to install the service, uncheck the + box next to the Install As Windows Service option. You can + change the service name by picking a new service name from + the drop-down box provided or by entering a new service name + into the drop-down box. + Note + + Service names can include any legal character except forward + (/) or backward (\) slashes, and must be less than 256 + characters long. Warning - If you are installing multiple versions of MySQL onto the same - machine, you must choose a different service name for each version - that you install. If you do not choose a different service for - each installed version then the service manager information will - be inconsistent and this will cause problems when you try to - uninstall a previous version. - - If you have already installed multiple versions using the same - service name, you must manually edit the contents of the - HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services parameters - within the Windows registry to update the association of the - service name with the correct server version. - - Typically, when installing multiple versions you create a service - name based on the version information. For example, you might - install MySQL 5.x as mysql5, or specific versions such as MySQL - 5.5.0 as mysql50500. - - To install the MySQL server as a service but not have it started - automatically at startup, uncheck the box next to the Launch the - MySQL Server Automatically option. + If you are installing multiple versions of MySQL onto the + same machine, you must choose a different service name for + each version that you install. If you do not choose a + different service for each installed version then the service + manager information will be inconsistent and this will cause + problems when you try to uninstall a previous version. + + If you have already installed multiple versions using the + same service name, you must manually edit the contents of the + HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services + parameters within the Windows registry to update the + association of the service name with the correct server + version. + + Typically, when installing multiple versions you create a + service name based on the version information. For example, + you might install MySQL 5.x as mysql5, or specific versions + such as MySQL 5.5.0 as mysql50500. + + To install the MySQL server as a service but not have it + started automatically at startup, uncheck the box next to the + Launch the MySQL Server Automatically option. 2.3.6.11 The Security Options Dialog - The content of the security options portion of the MySQL Server - Instance Configuration Wizard will depend on whether this is a new - installation, or modifying an existing installation. + The content of the security options portion of the MySQL + Server Instance Configuration Wizard will depend on whether + this is a new installation, or modifying an existing + installation. * Setting the root password for a new installation - It is strongly recommended that you set a root password for - your MySQL server, and the MySQL Server Instance Config Wizard - requires by default that you do so. If you do not wish to set - a root password, uncheck the box next to the Modify Security - Settings option. + It is strongly recommended that you set a root password + for your MySQL server, and the MySQL Server Instance + Config Wizard requires by default that you do so. If you + do not wish to set a root password, uncheck the box next + to the Modify Security Settings option. MySQL Server Instance Config Wizard: Security - * To set the root password, enter the desired password into both - the New root password and Confirm boxes. + * To set the root password, enter the desired password into + both the New root password and Confirm boxes. Setting the root password for an existing installation If you are modifying the configuration of an existing - configuration, or you are installing an upgrade and the MySQL - Server Instance Configuration Wizard has detected an existing - MySQL system, then you must enter the existing password for - root before changing the configuration information. + configuration, or you are installing an upgrade and the + MySQL Server Instance Configuration Wizard has detected + an existing MySQL system, then you must enter the + existing password for root before changing the + configuration information. MySQL Server Instance Config Wizard: Security (Existing Installation) - If you want to change the current root password, enter the - desired new password into both the New root password and - Confirm boxes. - - To permit root logins from across the network, check the box next - to the Enable root access from remote machines option. This - decreases the security of your root account. - - To create an anonymous user account, check the box next to the - Create An Anonymous Account option. Creating an anonymous account - can decrease server security and cause login and permission - difficulties. For this reason, it is not recommended. + If you want to change the current root password, enter + the desired new password into both the New root password + and Confirm boxes. + + To permit root logins from across the network, check the box + next to the Enable root access from remote machines option. + This decreases the security of your root account. + + To create an anonymous user account, check the box next to + the Create An Anonymous Account option. Creating an anonymous + account can decrease server security and cause login and + permission difficulties. For this reason, it is not + recommended. 2.3.6.12 The Confirmation Dialog - The final dialog in the MySQL Server Instance Configuration Wizard - is the Confirmation Dialog. To start the configuration process, - click the Execute button. To return to a previous dialog, click - the Back button. To exit the MySQL Server Instance Configuration - Wizard without configuring the server, click the Cancel button. + The final dialog in the MySQL Server Instance Configuration + Wizard is the Confirmation Dialog. To start the configuration + process, click the Execute button. To return to a previous + dialog, click the Back button. To exit the MySQL Server + Instance Configuration Wizard without configuring the server, + click the Cancel button. MySQL Server Instance Configuration Wizard: Confirmation After you click the Execute button, the MySQL Server Instance - Configuration Wizard performs a series of tasks and displays the - progress onscreen as the tasks are performed. - - The MySQL Server Instance Configuration Wizard first determines - configuration file options based on your choices using a template - prepared by MySQL developers and engineers. This template is named - my-template.ini and is located in your server installation - directory. - - The MySQL Configuration Wizard then writes these options to the - corresponding configuration file. + Configuration Wizard performs a series of tasks and displays + the progress onscreen as the tasks are performed. - If you chose to create a service for the MySQL server, the MySQL - Server Instance Configuration Wizard creates and starts the - service. If you are reconfiguring an existing service, the MySQL - Server Instance Configuration Wizard restarts the service to apply - your configuration changes. + The MySQL Server Instance Configuration Wizard first + determines configuration file options based on your choices + using a template prepared by MySQL developers and engineers. + This template is named my-template.ini and is located in your + server installation directory. + + The MySQL Configuration Wizard then writes these options to + the corresponding configuration file. + + If you chose to create a service for the MySQL server, the + MySQL Server Instance Configuration Wizard creates and starts + the service. If you are reconfiguring an existing service, + the MySQL Server Instance Configuration Wizard restarts the + service to apply your configuration changes. If you chose to set a root password, the MySQL Configuration - Wizard connects to the server, sets your new root password, and - applies any other security settings you may have selected. - - After the MySQL Server Instance Configuration Wizard has completed - its tasks, it displays a summary. Click the Finish button to exit - the MySQL Server Configuration Wizard. + Wizard connects to the server, sets your new root password, + and applies any other security settings you may have + selected. + + After the MySQL Server Instance Configuration Wizard has + completed its tasks, it displays a summary. Click the Finish + button to exit the MySQL Server Configuration Wizard. 2.3.6.13 MySQL Server Instance Config Wizard: Creating an Instance from the Command Line @@ -2808,24 +3333,27 @@ automatically from the command line. To use the MySQL Server Instance Config Wizard on the command - line, you need to use the MySQLInstanceConfig.exe command that is - installed with MySQL in the bin directory within the installation - directory. MySQLInstanceConfig.exe takes a number of command-line - arguments the set the properties that would normally be selected - through the GUI interface, and then creates a new configuration - file (my.ini) by combining these selections with a template - configuration file to produce the working configuration file. - - The main command line options are provided in the table below. - Some of the options are required, while some options are optional. + line, you need to use the MySQLInstanceConfig.exe command + that is installed with MySQL in the bin directory within the + installation directory. MySQLInstanceConfig.exe takes a + number of command-line arguments the set the properties that + would normally be selected through the GUI interface, and + then creates a new configuration file (my.ini) by combining + these selections with a template configuration file to + produce the working configuration file. + + The main command line options are provided in the table + below. Some of the options are required, while some options + are optional. - Table 2.5 MySQL Server Instance Config Wizard Command Line Options + Table 2.5 MySQL Server Instance Config Wizard Command Line + Options Option Description Required Parameters -nPRODUCTNAME The name of the instance when installed -pPATH Path of the base directory for installation. This is - equivalent to the directory when using the basedir configuration - parameter + equivalent to the directory when using the basedir + configuration parameter -vVERSION The version tag to use for this installation Action to Perform -i Install an instance @@ -2834,95 +3362,97 @@ -q Perform the operation quietly -lFILENAME Sae the installation progress in a logfile Config File to Use - -tFILENAME Path to the template config file that will be used to - generate the installed configuration file + -tFILENAME Path to the template config file that will be used + to generate the installed configuration file -cFILENAME Path to a config file to be generated The -t and -c options work together to set the configuration parameters for a new instance. The -t option specifies the - template configuration file to use as the basic configuration, - which are then merged with the configuration parameters generated - by the MySQL Server Instance Config Wizard into the configuration - file specified by the -c option. + template configuration file to use as the basic + configuration, which are then merged with the configuration + parameters generated by the MySQL Server Instance Config + Wizard into the configuration file specified by the -c + option. A sample template file, my-template.ini is provided in the - toplevel MySQL installation directory. The file contains elements - are replaced automatically by the MySQL Server Instance Config - Wizard during configuration. + toplevel MySQL installation directory. The file contains + elements are replaced automatically by the MySQL Server + Instance Config Wizard during configuration. If you specify a configuration file that already exists, the - existing configuration file will be saved in the file with the - original, with the date and time added. For example, the mysql.ini - will be copied to mysql 2009-10-27 1646.ini.bak. + existing configuration file will be saved in the file with + the original, with the date and time added. For example, the + mysql.ini will be copied to mysql 2009-10-27 1646.ini.bak. - The parameters that you can specify on the command line are listed - in the table below. + The parameters that you can specify on the command line are + listed in the table below. Table 2.6 MySQL Server Instance Config Wizard Parameters Parameter Description ServiceName=$ Specify the name of the service to be created AddBinToPath={yes | no} Specifies whether to add the binary directory of MySQL to the standard PATH environment variable - ServerType={DEVELOPMENT | SERVER | DEDICATED} Specify the server - type. For more information, see Section 2.3.6.4, "The Server Type - Dialog" + ServerType={DEVELOPMENT | SERVER | DEDICATED} Specify the + server type. For more information, see Section 2.3.6.4, "The + Server Type Dialog" DatabaseType={MIXED | INNODB | MYISAM} Specify the default - database type. For more information, see Section 2.3.6.5, "The - Database Usage Dialog" + database type. For more information, see Section 2.3.6.5, + "The Database Usage Dialog" ConnectionUsage={DSS | OLTP} Specify the type of connection - support, this automates the setting for the number of concurrent - connections (see the ConnectionCount parameter). For more - information, see Section 2.3.6.7, "The Concurrent Connections - Dialog" - ConnectionCount=# Specify the number of concurrent connections to - support. For more information, see Section 2.3.6.4, "The Server - Type Dialog" - SkipNetworking={yes | no} Specify whether network support should - be supported. Specifying yes disables network access altogether + support, this automates the setting for the number of + concurrent connections (see the ConnectionCount parameter). + For more information, see Section 2.3.6.7, "The Concurrent + Connections Dialog" + ConnectionCount=# Specify the number of concurrent + connections to support. For more information, see Section + 2.3.6.4, "The Server Type Dialog" + SkipNetworking={yes | no} Specify whether network support + should be supported. Specifying yes disables network access + altogether Port=# Specify the network port number to use for network connections. For more information, see Section 2.3.6.8, "The Networking and Strict Mode Options Dialog" - StrictMode={yes | no} Specify whether to use the strict SQL mode. - For more information, see Section 2.3.6.8, "The Networking and - Strict Mode Options Dialog" - Charset=$ Specify the default character set. For more information, - see Section 2.3.6.9, "The Character Set Dialog" + StrictMode={yes | no} Specify whether to use the strict SQL + mode. For more information, see Section 2.3.6.8, "The + Networking and Strict Mode Options Dialog" + Charset=$ Specify the default character set. For more + information, see Section 2.3.6.9, "The Character Set Dialog" RootPassword=$ Specify the root password RootCurrentPassword=$ Specify the current root password then stopping or reconfiguring an existing service Note - When specifying options on the command line, you can enclose the - entire command-line option and the value you are specifying using - double quotation marks. This enables you to use spaces in the - options. For example, "-cC:\mysql.ini". - - The following command installs a MySQL Server 5.5 instance from - the directory C:\Program Files\MySQL\MySQL Server 5.5 using the - service name MySQL55 and setting the root password to 1234. + When specifying options on the command line, you can enclose + the entire command-line option and the value you are + specifying using double quotation marks. This enables you to + use spaces in the options. For example, "-cC:\mysql.ini". + + The following command installs a MySQL Server 5.5 instance + from the directory C:\Program Files\MySQL\MySQL Server 5.5 + using the service name MySQL55 and setting the root password + to 1234. shell> MySQLInstanceConfig.exe -i -q "-lC:\mysql_install_log.txt" » - "-nMySQL Server 5.5" "-pC:\Program Files\MySQL\MySQL Server 5.5" - -v5.5.41 » - "-tmy-template.ini" "-cC:\mytest.ini" ServerType=DEVELOPMENT Datab -aseType=MIXED » - ConnectionUsage=DSS Port=3311 ServiceName=MySQL55 RootPassword=123 -4 + "-nMySQL Server 5.5" "-pC:\Program Files\MySQL\MySQL Server 5.5" -v +5.5.42 » + "-tmy-template.ini" "-cC:\mytest.ini" ServerType=DEVELOPMENT Databa +seType=MIXED » + ConnectionUsage=DSS Port=3311 ServiceName=MySQL55 RootPassword=1234 In the above example, a log file will be generated in mysql_install_log.txt containing the information about the - instance creation process. The log file generated by the above - example is shown below: + instance creation process. The log file generated by the + above example is shown below: Welcome to the MySQL Server Instance Configuration Wizard 1.0.16.0 Date: 2009-10-27 17:07:21 Installing service ... Product Name: MySQL Server 5.5 -Version: 5.5.41 +Version: 5.5.42 Installation Path: C:\Program Files\MySQL\MySQL Server 5.5\ -Creating configuration file C:\mytest.ini using template my-template. -ini. +Creating configuration file C:\mytest.ini using template my-template.i +ni. Options: DEVELOPMENT MIXED @@ -2938,14 +3468,16 @@ Creating Windows service entry. Service name: "MySQL55" -Parameters: "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" -- -defaults-file="C:\mytest.ini" MySQL55. +Parameters: "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --d +efaults-file="C:\mytest.ini" MySQL55. Windows service MySQL55 installed. - When using the command line, the return values in the following - table indicate an error performing the specified option. + When using the command line, the return values in the + following table indicate an error performing the specified + option. - Table 2.7 Return Value from MySQL Server Instance Config Wizard + Table 2.7 Return Value from MySQL Server Instance Config + Wizard Value Description 2 Configuration template file cannot be found 3 The Windows service entry cannot be created @@ -2956,17 +3488,18 @@ 8 The configuration file cannot be written 9 The Windows service entry cannot be removed - You can perform an installation of MySQL automatically using the - MSI package. For more information, see Section 2.3.5.2, - "Automating MySQL Installation on Microsoft Windows Using the MSI - Package." + You can perform an installation of MySQL automatically using + the MSI package. For more information, see Section 2.3.5.2, + "Automating MySQL Installation on Microsoft Windows Using the + MSI Package." 2.3.7 Installing MySQL on Microsoft Windows Using a noinstall Zip Archive - Users who are installing from the noinstall package can use the - instructions in this section to manually install MySQL. The - process for installing MySQL from a Zip archive is as follows: + Users who are installing from the noinstall package can use + the instructions in this section to manually install MySQL. + The process for installing MySQL from a Zip archive is as + follows: 1. Extract the archive to the desired install directory @@ -2984,188 +3517,204 @@ To install MySQL manually, do the following: - 1. If you are upgrading from a previous version please refer to - Section 2.3.9, "Upgrading MySQL on Windows," before beginning - the upgrade process. + 1. If you are upgrading from a previous version please refer + to Section 2.3.9, "Upgrading MySQL on Windows," before + beginning the upgrade process. - 2. Make sure that you are logged in as a user with administrator - privileges. + 2. Make sure that you are logged in as a user with + administrator privileges. 3. Choose an installation location. Traditionally, the MySQL - server is installed in C:\mysql. The MySQL Installation Wizard - installs MySQL under C:\Program Files\MySQL. If you do not - install MySQL at C:\mysql, you must specify the path to the - install directory during startup or in an option file. See - Section 2.3.7.2, "Creating an Option File." + server is installed in C:\mysql. The MySQL Installation + Wizard installs MySQL under C:\Program Files\MySQL. If + you do not install MySQL at C:\mysql, you must specify + the path to the install directory during startup or in an + option file. See Section 2.3.7.2, "Creating an Option + File." + Note + The MySQL Installer installs MySQL under C:\Program + Files\MySQL. 4. Extract the install archive to the chosen installation - location using your preferred Zip archive tool. Some tools may - extract the archive to a folder within your chosen - installation location. If this occurs, you can move the - contents of the subfolder into the chosen installation - location. + location using your preferred Zip archive tool. Some + tools may extract the archive to a folder within your + chosen installation location. If this occurs, you can + move the contents of the subfolder into the chosen + installation location. 2.3.7.2 Creating an Option File - If you need to specify startup options when you run the server, - you can indicate them on the command line or place them in an - option file. For options that are used every time the server - starts, you may find it most convenient to use an option file to - specify your MySQL configuration. This is particularly true under - the following circumstances: - - * The installation or data directory locations are different - from the default locations (C:\Program Files\MySQL\MySQL - Server 5.5 and C:\Program Files\MySQL\MySQL Server 5.5\data). - - * You need to tune the server settings, such as memory, cache, - or InnoDB configuration information. - - When the MySQL server starts on Windows, it looks for option files - in several locations, such as the Windows directory, C:\, and the - MySQL installation directory (for the full list of locations, see - Section 4.2.6, "Using Option Files"). The Windows directory - typically is named something like C:\WINDOWS. You can determine - its exact location from the value of the WINDIR environment - variable using the following command: + If you need to specify startup options when you run the + server, you can indicate them on the command line or place + them in an option file. For options that are used every time + the server starts, you may find it most convenient to use an + option file to specify your MySQL configuration. This is + particularly true under the following circumstances: + + * The installation or data directory locations are + different from the default locations (C:\Program + Files\MySQL\MySQL Server 5.5 and C:\Program + Files\MySQL\MySQL Server 5.5\data). + + * You need to tune the server settings, such as memory, + cache, or InnoDB configuration information. + + When the MySQL server starts on Windows, it looks for option + files in several locations, such as the Windows directory, + C:\, and the MySQL installation directory (for the full list + of locations, see Section 4.2.6, "Using Option Files"). The + Windows directory typically is named something like + C:\WINDOWS. You can determine its exact location from the + value of the WINDIR environment variable using the following + command: C:\> echo %WINDIR% - MySQL looks for options in each location first in the my.ini file, - and then in the my.cnf file. However, to avoid confusion, it is - best if you use only one file. If your PC uses a boot loader where - C: is not the boot drive, your only option is to use the my.ini - file. Whichever option file you use, it must be a plain text file. - Note - - When using the MySQL Installer to install MySQL Server, it will - create the my.ini at the default location. And as of MySQL Server - 5.5.27, the user running MySQL Installer is granted full - permissions to this new my.ini. - - In other words, be sure that the MySQL Server user has permission - to read the my.ini file. - - You can also make use of the example option files included with - your MySQL distribution; see Section 5.1.2, "Server Configuration - Defaults." - - An option file can be created and modified with any text editor, - such as Notepad. For example, if MySQL is installed in E:\mysql - and the data directory is in E:\mydata\data, you can create an - option file containing a [mysqld] section to specify values for - the basedir and datadir options: + MySQL looks for options in each location first in the my.ini + file, and then in the my.cnf file. However, to avoid + confusion, it is best if you use only one file. If your PC + uses a boot loader where C: is not the boot drive, your only + option is to use the my.ini file. Whichever option file you + use, it must be a plain text file. + Note + + When using the MySQL Installer to install MySQL Server, it + will create the my.ini at the default location. And as of + MySQL Server 5.5.27, the user running MySQL Installer is + granted full permissions to this new my.ini. + + In other words, be sure that the MySQL Server user has + permission to read the my.ini file. + + You can also make use of the example option files included + with your MySQL distribution; see Section 5.1.2, "Server + Configuration Defaults." + + An option file can be created and modified with any text + editor, such as Notepad. For example, if MySQL is installed + in E:\mysql and the data directory is in E:\mydata\data, you + can create an option file containing a [mysqld] section to + specify values for the basedir and datadir options: [mysqld] # set basedir to your installation path basedir=E:/mysql # set datadir to the location of your data directory datadir=E:/mydata/data - Note that Windows path names are specified in option files using - (forward) slashes rather than backslashes. If you do use - backslashes, double them: + Microsoft Windows path names are specified in option files + using (forward) slashes rather than backslashes. If you do + use backslashes, double them: [mysqld] # set basedir to your installation path basedir=E:\\mysql # set datadir to the location of your data directory datadir=E:\\mydata\\data - The rules for use of backslash in option file values are given in - Section 4.2.6, "Using Option Files." + The rules for use of backslash in option file values are + given in Section 4.2.6, "Using Option Files." - The data directory is located within the AppData directory for the - user running MySQL. + The data directory is located within the AppData directory + for the user running MySQL. - If you would like to use a data directory in a different location, - you should copy the entire contents of the data directory to the - new location. For example, if you want to use E:\mydata as the - data directory instead, you must do two things: - - 1. Move the entire data directory and all of its contents from - the default location (for example C:\Program Files\MySQL\MySQL - Server 5.5\data) to E:\mydata. + If you would like to use a data directory in a different + location, you should copy the entire contents of the data + directory to the new location. For example, if you want to + use E:\mydata as the data directory instead, you must do two + things: + + 1. Move the entire data directory and all of its contents + from the default location (for example C:\Program + Files\MySQL\MySQL Server 5.5\data) to E:\mydata. 2. Use a --datadir option to specify the new data directory location each time you start the server. 2.3.7.3 Selecting a MySQL Server Type - The following table shows the available servers for Windows in - MySQL 5.5. + The following table shows the available servers for Windows + in MySQL 5.5. Binary Description mysqld Optimized binary with named-pipe support - mysqld-debug Like mysqld, but compiled with full debugging and - automatic memory allocation checking + mysqld-debug Like mysqld, but compiled with full debugging + and automatic memory allocation checking All of the preceding binaries are optimized for modern Intel processors, but should work on any Intel i386-class or higher processor. Each of the servers in a distribution support the same set of - storage engines. The SHOW ENGINES statement displays which engines - a given server supports. + storage engines. The SHOW ENGINES statement displays which + engines a given server supports. - All Windows MySQL 5.5 servers have support for symbolic linking of - database directories. + All Windows MySQL 5.5 servers have support for symbolic + linking of database directories. - MySQL supports TCP/IP on all Windows platforms. MySQL servers on - Windows also support named pipes, if you start the server with the - --enable-named-pipe option. It is necessary to use this option - explicitly because some users have experienced problems with - shutting down the MySQL server when named pipes were used. The - default is to use TCP/IP regardless of platform because named - pipes are slower than TCP/IP in many Windows configurations. + MySQL supports TCP/IP on all Windows platforms. MySQL servers + on Windows also support named pipes, if you start the server + with the --enable-named-pipe option. It is necessary to use + this option explicitly because some users have experienced + problems with shutting down the MySQL server when named pipes + were used. The default is to use TCP/IP regardless of + platform because named pipes are slower than TCP/IP in many + Windows configurations. 2.3.7.4 Starting the Server for the First Time This section gives a general overview of starting the MySQL - server. The following sections provide more specific information - for starting the MySQL server from the command line or as a - Windows service. + server. The following sections provide more specific + information for starting the MySQL server from the command + line or as a Windows service. The information here applies primarily if you installed MySQL - using the Noinstall version, or if you wish to configure and test - MySQL manually rather than with the GUI tools. + using the Noinstall version, or if you wish to configure and + test MySQL manually rather than with the GUI tools. + Note + + The MySQL server will automatically start after using the + MySQL Installer, and the MySQL Notifier GUI can be used to + start/stop/restart at any time. The examples in these sections assume that MySQL is installed - under the default location of C:\Program Files\MySQL\MySQL Server - 5.5. Adjust the path names shown in the examples if you have MySQL - installed in a different location. - - Clients have two options. They can use TCP/IP, or they can use a - named pipe if the server supports named-pipe connections. - - MySQL for Windows also supports shared-memory connections if the - server is started with the --shared-memory option. Clients can - connect through shared memory by using the --protocol=MEMORY - option. + under the default location of C:\Program Files\MySQL\MySQL + Server 5.5. Adjust the path names shown in the examples if + you have MySQL installed in a different location. + + Clients have two options. They can use TCP/IP, or they can + use a named pipe if the server supports named-pipe + connections. + + MySQL for Windows also supports shared-memory connections if + the server is started with the --shared-memory option. + Clients can connect through shared memory by using the + --protocol=MEMORY option. For information about which server binary to run, see Section 2.3.7.3, "Selecting a MySQL Server Type." - Testing is best done from a command prompt in a console window (or - "DOS window"). In this way you can have the server display status - messages in the window where they are easy to see. If something is - wrong with your configuration, these messages make it easier for - you to identify and fix any problems. + Testing is best done from a command prompt in a console + window (or "DOS window"). In this way you can have the server + display status messages in the window where they are easy to + see. If something is wrong with your configuration, these + messages make it easier for you to identify and fix any + problems. To start the server, enter this command: C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --console For a server that includes InnoDB support, you should see the - messages similar to those following as it starts (the path names - and sizes may differ): + messages similar to those following as it starts (the path + names and sizes may differ): InnoDB: The first specified datafile c:\ibdata\ibdata1 did not exist: InnoDB: a new database to be created! InnoDB: Setting file c:\ibdata\ibdata1 size to 209715200 InnoDB: Database physically writes the file full: wait... -InnoDB: Log file c:\iblogs\ib_logfile0 did not exist: new to be creat -ed +InnoDB: Log file c:\iblogs\ib_logfile0 did not exist: new to be create +d InnoDB: Setting log file c:\iblogs\ib_logfile0 size to 31457280 -InnoDB: Log file c:\iblogs\ib_logfile1 did not exist: new to be creat -ed +InnoDB: Log file c:\iblogs\ib_logfile1 did not exist: new to be create +d InnoDB: Setting log file c:\iblogs\ib_logfile1 size to 31457280 -InnoDB: Log file c:\iblogs\ib_logfile2 did not exist: new to be creat -ed +InnoDB: Log file c:\iblogs\ib_logfile2 did not exist: new to be create +d InnoDB: Setting log file c:\iblogs\ib_logfile2 size to 31457280 InnoDB: Doublewrite buffer not found: creating new InnoDB: Doublewrite buffer created @@ -3174,151 +3723,170 @@ 011024 10:58:25 InnoDB: Started When the server finishes its startup sequence, you should see - something like this, which indicates that the server is ready to - service client connections: + something like this, which indicates that the server is ready + to service client connections: mysqld: ready for connections -Version: '5.5.41' socket: '' port: 3306 +Version: '5.5.42' socket: '' port: 3306 The server continues to write to the console any further - diagnostic output it produces. You can open a new console window - in which to run client programs. + diagnostic output it produces. You can open a new console + window in which to run client programs. - If you omit the --console option, the server writes diagnostic - output to the error log in the data directory (C:\Program - Files\MySQL\MySQL Server 5.5\data by default). The error log is - the file with the .err extension, or may be specified by passing - in the --log-error option. + If you omit the --console option, the server writes + diagnostic output to the error log in the data directory + (C:\Program Files\MySQL\MySQL Server 5.5\data by default). + The error log is the file with the .err extension, and may be + set using the --log-error option. Note - The accounts that are listed in the MySQL grant tables initially - have no passwords. After starting the server, you should set up - passwords for them using the instructions in Section 2.10.2, - "Securing the Initial MySQL Accounts." + The accounts that are listed in the MySQL grant tables + initially have no passwords. After starting the server, you + should set up passwords for them using the instructions in + Section 2.10.2, "Securing the Initial MySQL Accounts." 2.3.7.5 Starting MySQL from the Windows Command Line - The MySQL server can be started manually from the command line. - This can be done on any version of Windows. + The MySQL server can be started manually from the command + line. This can be done on any version of Windows. + Note + + The MySQL Notifier GUI can also be used to start/stop/restart + the MySQL server. - To start the mysqld server from the command line, you should start - a console window (or "DOS window") and enter this command: + To start the mysqld server from the command line, you should + start a console window (or "DOS window") and enter this + command: C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" - The path to mysqld may vary depending on the install location of - MySQL on your system. + The path to mysqld may vary depending on the install location + of MySQL on your system. You can stop the MySQL server by executing this command: C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqladmin" -u root - shutdown +shutdown Note - If the MySQL root user account has a password, you need to invoke - mysqladmin with the -p option and supply the password when - prompted. - - This command invokes the MySQL administrative utility mysqladmin - to connect to the server and tell it to shut down. The command - connects as the MySQL root user, which is the default - administrative account in the MySQL grant system. Note that users - in the MySQL grant system are wholly independent from any login - users under Windows. - - If mysqld doesn't start, check the error log to see whether the - server wrote any messages there to indicate the cause of the - problem. By default, the error log is located in the C:\Program - Files\MySQL\MySQL Server 5.5\data directory. It is the file with a - suffix of .err, or may be specified by passing in the --log-error - option. Alternatively, you can try to start the server as mysqld - --console; in this case, you may get some useful information on - the screen that may help solve the problem. + If the MySQL root user account has a password, you need to + invoke mysqladmin with the -p option and supply the password + when prompted. - The last option is to start mysqld with the --standalone and - --debug options. In this case, mysqld writes a log file - C:\mysqld.trace that should contain the reason why mysqld doesn't - start. See Section 24.4.3, "The DBUG Package." + This command invokes the MySQL administrative utility + mysqladmin to connect to the server and tell it to shut down. + The command connects as the MySQL root user, which is the + default administrative account in the MySQL grant system. + Note - Use mysqld --verbose --help to display all the options that mysqld - supports. + Users in the MySQL grant system are wholly independent from + any login users under Microsoft Windows. -2.3.7.6 Customizing the PATH for MySQL Tools + If mysqld doesn't start, check the error log to see whether + the server wrote any messages there to indicate the cause of + the problem. By default, the error log is located in the + C:\Program Files\MySQL\MySQL Server 5.5\data directory. It is + the file with a suffix of .err, or may be specified by + passing in the --log-error option. Alternatively, you can try + to start the server as mysqld --console; in this case, you + may get some useful information on the screen that may help + solve the problem. - To make it easier to invoke MySQL programs, you can add the path - name of the MySQL bin directory to your Windows system PATH - environment variable: + The last option is to start mysqld with the --standalone and + --debug options. In this case, mysqld writes a log file + C:\mysqld.trace that should contain the reason why mysqld + doesn't start. See Section 24.4.3, "The DBUG Package." - * On the Windows desktop, right-click the My Computer icon, and - select Properties. + Use mysqld --verbose --help to display all the options that + mysqld supports. - * Next select the Advanced tab from the System Properties menu - that appears, and click the Environment Variables button. +2.3.7.6 Customizing the PATH for MySQL Tools - * Under System Variables, select Path, and then click the Edit - button. The Edit System Variable dialogue should appear. + To make it easier to invoke MySQL programs, you can add the + path name of the MySQL bin directory to your Windows system + PATH environment variable: + + * On the Windows desktop, right-click the My Computer icon, + and select Properties. + + * Next select the Advanced tab from the System Properties + menu that appears, and click the Environment Variables + button. + + * Under System Variables, select Path, and then click the + Edit button. The Edit System Variable dialogue should + appear. * Place your cursor at the end of the text appearing in the - space marked Variable Value. (Use the End key to ensure that - your cursor is positioned at the very end of the text in this - space.) Then enter the complete path name of your MySQL bin - directory (for example, C:\Program Files\MySQL\MySQL Server - 5.5\bin) + space marked Variable Value. (Use the End key to ensure + that your cursor is positioned at the very end of the + text in this space.) Then enter the complete path name of + your MySQL bin directory (for example, C:\Program + Files\MySQL\MySQL Server 5.5\bin) Note - There must be a semicolon separating this path from any values - present in this field. - Dismiss this dialogue, and each dialogue in turn, by clicking - OK until all of the dialogues that were opened have been - dismissed. You should now be able to invoke any MySQL - executable program by typing its name at the DOS prompt from - any directory on the system, without having to supply the - path. This includes the servers, the mysql client, and all - MySQL command-line utilities such as mysqladmin and mysqldump. - You should not add the MySQL bin directory to your Windows - PATH if you are running multiple MySQL servers on the same - machine. + There must be a semicolon separating this path from any + values present in this field. + Dismiss this dialogue, and each dialogue in turn, by + clicking OK until all of the dialogues that were opened + have been dismissed. You should now be able to invoke any + MySQL executable program by typing its name at the DOS + prompt from any directory on the system, without having + to supply the path. This includes the servers, the mysql + client, and all MySQL command-line utilities such as + mysqladmin and mysqldump. + You should not add the MySQL bin directory to your + Windows PATH if you are running multiple MySQL servers on + the same machine. Warning You must exercise great care when editing your system PATH by - hand; accidental deletion or modification of any portion of the - existing PATH value can leave you with a malfunctioning or even - unusable system. + hand; accidental deletion or modification of any portion of + the existing PATH value can leave you with a malfunctioning + or even unusable system. 2.3.7.7 Starting MySQL as a Windows Service - On Windows, the recommended way to run MySQL is to install it as a - Windows service, so that MySQL starts and stops automatically when - Windows starts and stops. A MySQL server installed as a service - can also be controlled from the command line using NET commands, - or with the graphical Services utility. Generally, to install - MySQL as a Windows service you should be logged in using an - account that has administrator rights. - - The Services utility (the Windows Service Control Manager) can be - found in the Windows Control Panel (under Administrative Tools on - Windows 2000, XP, Vista, and Server 2003). To avoid conflicts, it - is advisable to close the Services utility while performing server - installation or removal operations from the command line. + On Windows, the recommended way to run MySQL is to install it + as a Windows service, so that MySQL starts and stops + automatically when Windows starts and stops. A MySQL server + installed as a service can also be controlled from the + command line using NET commands, or with the graphical + Services utility. Generally, to install MySQL as a Windows + service you should be logged in using an account that has + administrator rights. + Note + + The MySQL Notifier GUI can also be used to monitor the status + of the MySQL service. + + The Services utility (the Windows Service Control Manager) + can be found in the Windows Control Panel (under + Administrative Tools on Windows 2000, XP, Vista, and Server + 2003). To avoid conflicts, it is advisable to close the + Services utility while performing server installation or + removal operations from the command line. Installing the service - Before installing MySQL as a Windows service, you should first - stop the current server if it is running by using the following - command: + Before installing MySQL as a Windows service, you should + first stop the current server if it is running by using the + following command: C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqladmin" -u root shutdown Note - If the MySQL root user account has a password, you need to invoke - mysqladmin with the -p option and supply the password when - prompted. - - This command invokes the MySQL administrative utility mysqladmin - to connect to the server and tell it to shut down. The command - connects as the MySQL root user, which is the default - administrative account in the MySQL grant system. Note that users - in the MySQL grant system are wholly independent from any login - users under Windows. + If the MySQL root user account has a password, you need to + invoke mysqladmin with the -p option and supply the password + when prompted. + + This command invokes the MySQL administrative utility + mysqladmin to connect to the server and tell it to shut down. + The command connects as the MySQL root user, which is the + default administrative account in the MySQL grant system. + Note + + Users in the MySQL grant system are wholly independent from + any login users under Windows. Install the server as a service using this command: C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --install @@ -3326,284 +3894,308 @@ The service-installation command does not start the server. Instructions for that are given later in this section. - To make it easier to invoke MySQL programs, you can add the path - name of the MySQL bin directory to your Windows system PATH - environment variable: - - * On the Windows desktop, right-click the My Computer icon, and - select Properties. - - * Next select the Advanced tab from the System Properties menu - that appears, and click the Environment Variables button. - - * Under System Variables, select Path, and then click the Edit - button. The Edit System Variable dialogue should appear. + To make it easier to invoke MySQL programs, you can add the + path name of the MySQL bin directory to your Windows system + PATH environment variable: + + * On the Windows desktop, right-click the My Computer icon, + and select Properties. + + * Next select the Advanced tab from the System Properties + menu that appears, and click the Environment Variables + button. + + * Under System Variables, select Path, and then click the + Edit button. The Edit System Variable dialogue should + appear. * Place your cursor at the end of the text appearing in the - space marked Variable Value. (Use the End key to ensure that - your cursor is positioned at the very end of the text in this - space.) Then enter the complete path name of your MySQL bin - directory (for example, C:\Program Files\MySQL\MySQL Server - 5.5\bin), Note that there should be a semicolon separating - this path from any values present in this field. Dismiss this - dialogue, and each dialogue in turn, by clicking OK until all - of the dialogues that were opened have been dismissed. You - should now be able to invoke any MySQL executable program by - typing its name at the DOS prompt from any directory on the - system, without having to supply the path. This includes the - servers, the mysql client, and all MySQL command-line - utilities such as mysqladmin and mysqldump. - You should not add the MySQL bin directory to your Windows - PATH if you are running multiple MySQL servers on the same - machine. + space marked Variable Value. (Use the End key to ensure + that your cursor is positioned at the very end of the + text in this space.) Then enter the complete path name of + your MySQL bin directory (for example, C:\Program + Files\MySQL\MySQL Server 5.5\bin), and there should be a + semicolon separating this path from any values present in + this field. Dismiss this dialogue, and each dialogue in + turn, by clicking OK until all of the dialogues that were + opened have been dismissed. You should now be able to + invoke any MySQL executable program by typing its name at + the DOS prompt from any directory on the system, without + having to supply the path. This includes the servers, the + mysql client, and all MySQL command-line utilities such + as mysqladmin and mysqldump. + You should not add the MySQL bin directory to your + Windows PATH if you are running multiple MySQL servers on + the same machine. Warning You must exercise great care when editing your system PATH by - hand; accidental deletion or modification of any portion of the - existing PATH value can leave you with a malfunctioning or even - unusable system. + hand; accidental deletion or modification of any portion of + the existing PATH value can leave you with a malfunctioning + or even unusable system. - The following additional arguments can be used when installing the - service: + The following additional arguments can be used when + installing the service: * You can specify a service name immediately following the --install option. The default service name is MySQL. - * If a service name is given, it can be followed by a single - option. By convention, this should be - --defaults-file=file_name to specify the name of an option - file from which the server should read options when it starts. + * If a service name is given, it can be followed by a + single option. By convention, this should be + --defaults-file=file_name to specify the name of an + option file from which the server should read options + when it starts. The use of a single option other than --defaults-file is - possible but discouraged. --defaults-file is more flexible - because it enables you to specify multiple startup options for - the server by placing them in the named option file. + possible but discouraged. --defaults-file is more + flexible because it enables you to specify multiple + startup options for the server by placing them in the + named option file. - * You can also specify a --local-service option following the - service name. This causes the server to run using the + * You can also specify a --local-service option following + the service name. This causes the server to run using the LocalService Windows account that has limited system - privileges. This account is available only for Windows XP or - newer. If both --defaults-file and --local-service are given - following the service name, they can be in any order. - - For a MySQL server that is installed as a Windows service, the - following rules determine the service name and option files that - the server uses: - - * If the service-installation command specifies no service name - or the default service name (MySQL) following the --install - option, the server uses the a service name of MySQL and reads - options from the [mysqld] group in the standard option files. - - * If the service-installation command specifies a service name - other than MySQL following the --install option, the server - uses that service name. It reads options from the [mysqld] - group and the group that has the same name as the service in - the standard option files. This enables you to use the - [mysqld] group for options that should be used by all MySQL - services, and an option group with the service name for use by - the server installed with that service name. + privileges. This account is available only for Windows XP + or newer. If both --defaults-file and --local-service are + given following the service name, they can be in any + order. + + For a MySQL server that is installed as a Windows service, + the following rules determine the service name and option + files that the server uses: + + * If the service-installation command specifies no service + name or the default service name (MySQL) following the + --install option, the server uses the a service name of + MySQL and reads options from the [mysqld] group in the + standard option files. + + * If the service-installation command specifies a service + name other than MySQL following the --install option, the + server uses that service name. It reads options from the + [mysqld] group and the group that has the same name as + the service in the standard option files. This enables + you to use the [mysqld] group for options that should be + used by all MySQL services, and an option group with the + service name for use by the server installed with that + service name. * If the service-installation command specifies a --defaults-file option after the service name, the server - reads options the same way as described in the previous item, - except that it reads options only from the named file and - ignores the standard option files. + reads options the same way as described in the previous + item, except that it reads options only from the named + file and ignores the standard option files. As a more complex example, consider the following command: C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --install MySQL --defaults-file=C:\my-opts.cnf Here, the default service name (MySQL) is given after the - --install option. If no --defaults-file option had been given, - this command would have the effect of causing the server to read - the [mysqld] group from the standard option files. However, - because the --defaults-file option is present, the server reads - options from the [mysqld] option group, and only from the named - file. + --install option. If no --defaults-file option had been + given, this command would have the effect of causing the + server to read the [mysqld] group from the standard option + files. However, because the --defaults-file option is + present, the server reads options from the [mysqld] option + group, and only from the named file. Note - On Windows, if the server is started with the --defaults-file and - --install options, --install must be first. Otherwise, mysqld.exe - will attempt to start the MySQL server. + On Windows, if the server is started with the --defaults-file + and --install options, --install must be first. Otherwise, + mysqld.exe will attempt to start the MySQL server. - You can also specify options as Start parameters in the Windows - Services utility before you start the MySQL service. + You can also specify options as Start parameters in the + Windows Services utility before you start the MySQL service. Starting the service Once a MySQL server has been installed as a service, Windows starts the service automatically whenever Windows starts. The - service also can be started immediately from the Services utility, - or by using a NET START MySQL command. The NET command is not case - sensitive. - - When run as a service, mysqld has no access to a console window, - so no messages can be seen there. If mysqld does not start, check - the error log to see whether the server wrote any messages there - to indicate the cause of the problem. The error log is located in - the MySQL data directory (for example, C:\Program - Files\MySQL\MySQL Server 5.5\data). It is the file with a suffix - of .err. + service also can be started immediately from the Services + utility, or by using a NET START MySQL command. The NET + command is not case sensitive. + + When run as a service, mysqld has no access to a console + window, so no messages can be seen there. If mysqld does not + start, check the error log to see whether the server wrote + any messages there to indicate the cause of the problem. The + error log is located in the MySQL data directory (for + example, C:\Program Files\MySQL\MySQL Server 5.5\data). It is + the file with a suffix of .err. When a MySQL server has been installed as a service, and the - service is running, Windows stops the service automatically when - Windows shuts down. The server also can be stopped manually by - using the Services utility, the NET STOP MySQL command, or the - mysqladmin shutdown command. + service is running, Windows stops the service automatically + when Windows shuts down. The server also can be stopped + manually by using the Services utility, the NET STOP MySQL + command, or the mysqladmin shutdown command. You also have the choice of installing the server as a manual service if you do not wish for the service to be started automatically during the boot process. To do this, use the --install-manual option rather than the --install option: -C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --install-m -anual +C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --install-ma +nual Removing the service - To remove a server that is installed as a service, first stop it - if it is running by executing NET STOP MySQL. Then use the + To remove a server that is installed as a service, first stop + it if it is running by executing NET STOP MySQL. Then use the --remove option to remove it: C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --remove - If mysqld is not running as a service, you can start it from the - command line. For instructions, see Section 2.3.7.5, "Starting - MySQL from the Windows Command Line." - - Please see Section 2.3.8, "Troubleshooting a Microsoft Windows - MySQL Server Installation," if you encounter difficulties during - installation. + If mysqld is not running as a service, you can start it from + the command line. For instructions, see Section 2.3.7.5, + "Starting MySQL from the Windows Command Line." + + If you encounter difficulties during installation. see + Section 2.3.8, "Troubleshooting a Microsoft Windows MySQL + Server Installation." 2.3.7.8 Testing The MySQL Installation - You can test whether the MySQL server is working by executing any - of the following commands: + You can test whether the MySQL server is working by executing + any of the following commands: C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqlshow" -C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqlshow" -u root -mysql +C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqlshow" -u root m +ysql C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqladmin" version - status proc +status proc C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql" test - If mysqld is slow to respond to TCP/IP connections from client - programs, there is probably a problem with your DNS. In this case, - start mysqld with the --skip-name-resolve option and use only - localhost and IP addresses in the Host column of the MySQL grant - tables. - - You can force a MySQL client to use a named-pipe connection rather - than TCP/IP by specifying the --pipe or --protocol=PIPE option, or - by specifying . (period) as the host name. Use the --socket option - to specify the name of the pipe if you do not want to use the - default pipe name. - - Note that if you have set a password for the root account, deleted - the anonymous account, or created a new user account, then to - connect to the MySQL server you must use the appropriate -u and -p - options with the commands shown previously. See Section 4.2.2, - "Connecting to the MySQL Server." + If mysqld is slow to respond to TCP/IP connections from + client programs, there is probably a problem with your DNS. + In this case, start mysqld with the --skip-name-resolve + option and use only localhost and IP addresses in the Host + column of the MySQL grant tables. + + You can force a MySQL client to use a named-pipe connection + rather than TCP/IP by specifying the --pipe or + --protocol=PIPE option, or by specifying . (period) as the + host name. Use the --socket option to specify the name of the + pipe if you do not want to use the default pipe name. + + If you have set a password for the root account, deleted the + anonymous account, or created a new user account, then to + connect to the MySQL server you must use the appropriate -u + and -p options with the commands shown previously. See + Section 4.2.2, "Connecting to the MySQL Server." For more information about mysqlshow, see Section 4.5.6, - "mysqlshow --- Display Database, Table, and Column Information." + "mysqlshow --- Display Database, Table, and Column + Information." 2.3.8 Troubleshooting a Microsoft Windows MySQL Server Installation When installing and running MySQL for the first time, you may encounter certain errors that prevent the MySQL server from - starting. The purpose of this section is to help you diagnose and - correct some of these errors. + starting. This section helps you diagnose and correct some of + these errors. Your first resource when troubleshooting server issues is the error log. The MySQL server uses the error log to record - information relevant to the error that prevents the server from - starting. The error log is located in the data directory specified - in your my.ini file. The default data directory location is - C:\Program Files\MySQL\MySQL Server 5.5\data, or - C:\ProgramData\Mysql on Windows 7 and Windows Server 2008. The - C:\ProgramData directory is hidden by default. You need to change - your folder options to see the directory and contents. For more - information on the error log and understanding the content, see - Section 5.2.2, "The Error Log." - - Another source of information regarding possible errors is the - console messages displayed when the MySQL service is starting. Use - the NET START MySQL command from the command line after installing - mysqld as a service to see any error messages regarding the - starting of the MySQL server as a service. See Section 2.3.7.7, - "Starting MySQL as a Windows Service." - - The following examples show other common error messages you may - encounter when installing MySQL and starting the server for the - first time: + information relevant to the error that prevents the server + from starting. The error log is located in the data directory + specified in your my.ini file. The default data directory + location is C:\Program Files\MySQL\MySQL Server 5.5\data, or + C:\ProgramData\Mysql on Windows 7 and Windows Server 2008. + The C:\ProgramData directory is hidden by default. You need + to change your folder options to see the directory and + contents. For more information on the error log and + understanding the content, see Section 5.2.2, "The Error + Log." + + For information regarding possible errors, also consult the + console messages displayed when the MySQL service is + starting. Use the NET START MySQL command from the command + line after installing mysqld as a service to see any error + messages regarding the starting of the MySQL server as a + service. See Section 2.3.7.7, "Starting MySQL as a Windows + Service." - * If the MySQL server cannot find the mysql privileges database - or other critical files, you may see these messages: + The following examples show other common error messages you + might encounter when installing MySQL and starting the server + for the first time: + + * If the MySQL server cannot find the mysql privileges + database or other critical files, it displays these + messages: System error 1067 has occurred. -Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't -exist +Fatal error: Can't open and lock privilege tables: +Table 'mysql.user' doesn't exist + These messages often occur when the MySQL base or data directories are installed in different locations than the - default locations (C:\Program Files\MySQL\MySQL Server 5.5 and - C:\Program Files\MySQL\MySQL Server 5.5\data, respectively). - This situation may occur when MySQL is upgraded and installed - to a new location, but the configuration file is not updated - to reflect the new location. In addition, there may be old and - new configuration files that conflict. Be sure to delete or - rename any old configuration files when upgrading MySQL. + default locations (C:\Program Files\MySQL\MySQL Server + 5.5 and C:\Program Files\MySQL\MySQL Server 5.5\data, + respectively). + This situation can occur when MySQL is upgraded and + installed to a new location, but the configuration file + is not updated to reflect the new location. In addition, + old and new configuration files might conflict. Be sure + to delete or rename any old configuration files when + upgrading MySQL. If you have installed MySQL to a directory other than - C:\Program Files\MySQL\MySQL Server 5.5, you need to ensure - that the MySQL server is aware of this through the use of a - configuration (my.ini) file. The my.ini file needs to be - located in your Windows directory, typically C:\WINDOWS. You - can determine its exact location from the value of the WINDIR - environment variable by issuing the following command from the - command prompt: + C:\Program Files\MySQL\MySQL Server 5.5, ensure that the + MySQL server is aware of this through the use of a + configuration (my.ini) file. Put the my.ini file in your + Windows directory, typically C:\WINDOWS. To determine its + exact location from the value of the WINDIR environment + variable, issue the following command from the command + prompt: C:\> echo %WINDIR% - An option file can be created and modified with any text - editor, such as Notepad. For example, if MySQL is installed in - E:\mysql and the data directory is D:\MySQLdata, you can - create the option file and set up a [mysqld] section to - specify values for the basedir and datadir options: + + You can create or modify an option file with any text + editor, such as Notepad. For example, if MySQL is + installed in E:\mysql and the data directory is + D:\MySQLdata, you can create the option file and set up a + [mysqld] section to specify values for the basedir and + datadir options: [mysqld] # set basedir to your installation path basedir=E:/mysql # set datadir to the location of your data directory datadir=D:/MySQLdata - Note that Windows path names are specified in option files - using (forward) slashes rather than backslashes. If you do use - backslashes, double them: + + Microsoft Windows path names are specified in option + files using (forward) slashes rather than backslashes. If + you do use backslashes, double them: [mysqld] # set basedir to your installation path basedir=C:\\Program Files\\MySQL\\MySQL Server 5.5 # set datadir to the location of your data directory datadir=D:\\MySQLdata - The rules for use of backslash in option file values are given - in Section 4.2.6, "Using Option Files." - If you change the datadir value in your MySQL configuration - file, you must move the contents of the existing MySQL data - directory before restarting the MySQL server. + + The rules for use of backslash in option file values are + given in Section 4.2.6, "Using Option Files." + If you change the datadir value in your MySQL + configuration file, you must move the contents of the + existing MySQL data directory before restarting the MySQL + server. See Section 2.3.7.2, "Creating an Option File." - * If you reinstall or upgrade MySQL without first stopping and - removing the existing MySQL service and install MySQL using - the MySQL Configuration Wizard, you may see this error: + * If you reinstall or upgrade MySQL without first stopping + and removing the existing MySQL service and install MySQL + using the MySQL Installer, you might see this error: Error: Cannot create Windows service for MySql. Error: 0 - This occurs when the Configuration Wizard tries to install the - service and finds an existing service with the same name. - One solution to this problem is to choose a service name other - than mysql when using the configuration wizard. This enables - the new service to be installed correctly, but leaves the - outdated service in place. Although this is harmless, it is - best to remove old services that are no longer in use. + + This occurs when the Configuration Wizard tries to + install the service and finds an existing service with + the same name. + One solution to this problem is to choose a service name + other than mysql when using the configuration wizard. + This enables the new service to be installed correctly, + but leaves the outdated service in place. Although this + is harmless, it is best to remove old services that are + no longer in use. To permanently remove the old mysql service, execute the - following command as a user with administrative privileges, on - the command-line: + following command as a user with administrative + privileges, on the command line: C:\> sc delete mysql [SC] DeleteService SUCCESS + If the sc utility is not available for your version of Windows, download the delsrv utility from - http://www.microsoft.com/windows2000/techinfo/reskit/tools/exi - sting/delsrv-o.asp and use the delsrv mysql syntax. + http://www.microsoft.com/windows2000/techinfo/reskit/tool + s/existing/delsrv-o.asp and use the delsrv mysql syntax. 2.3.9 Upgrading MySQL on Windows @@ -3613,93 +4205,135 @@ information on upgrading MySQL that is not specific to Windows. - 2. You should always back up your current MySQL installation - before performing an upgrade. See Section 7.2, "Database - Backup Methods." + 2. Always back up your current MySQL installation before + performing an upgrade. See Section 7.2, "Database Backup + Methods." 3. Download the latest Windows distribution of MySQL from http://dev.mysql.com/downloads/. - 4. Before upgrading MySQL, you must stop the server. If the - server is installed as a service, stop the service with the + 4. Before upgrading MySQL, stop the server. If the server is + installed as a service, stop the service with the following command from the command prompt: C:\> NET STOP MySQL + If you are not running the MySQL server as a service, use mysqladmin to stop it. For example, before upgrading from - MySQL 5.1 to 5.5, use mysqladmin from MySQL 5.1 as follows: + MySQL 5.1 to 5.5, use mysqladmin from MySQL 5.1 as + follows: C:\> "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqladmin" -u root - shutdown +shutdown + Note - If the MySQL root user account has a password, you need to - invoke mysqladmin with the -p option and enter the password - when prompted. - - 5. Before upgrading a MySQL service from MySQL 5.1 to 5.5, you - should stop the 5.1 server and remove the instance. Run the - MySQL Instance Configuration Wizard, choose the Remove - Instance option and in the next screen, confirm removal. After - that it is safe to uninstall MySQL Server 5.1. - - 6. Before upgrading to MySQL 5.5 from a version previous to - 4.1.5, or from a version of MySQL installed from a Zip archive - to a version of MySQL installed with the MySQL Installation - Wizard, you must first manually remove the previous - installation and MySQL service (if the server is installed as - a service). + If the MySQL root user account has a password, invoke + mysqladmin with the -p option and enter the password when + prompted. + + 5. Before upgrading to MySQL 5.5 from a version previous to + 4.1.5, or from a version of MySQL installed from a Zip + archive to a version of MySQL installed with the MySQL + Installation Wizard, you must first manually remove the + previous installation and MySQL service (if the server is + installed as a service). To remove the MySQL service, use the following command: C:\> C:\mysql\bin\mysqld --remove + If you do not remove the existing service, the MySQL - Installation Wizard may fail to properly install the new MySQL - service. + Installation Wizard may fail to properly install the new + MySQL service. - 7. If you are using the MySQL Installation Wizard, start the + 6. If you are using the MySQL Installer, start it as + described in Section 2.3.3, "Installing MySQL on + Microsoft Windows Using MySQL Installer." + If you are using the MySQL Installation Wizard, start the wizard as described in Section 2.3.5.1, "Using the MySQL Installation Wizard." - 8. If you are installing MySQL from a Zip archive, extract the - archive. You may either overwrite your existing MySQL - installation (usually located at C:\mysql), or install it into - a different directory, such as C:\mysql5. Overwriting the - existing installation is recommended. - - 9. If you were running MySQL as a Windows service and you had to - remove the service earlier in this procedure, reinstall the - service. (See Section 2.3.7.7, "Starting MySQL as a Windows - Service.") - 10. Restart the server. For example, use NET START MySQL if you - run MySQL as a service, or invoke mysqld directly otherwise. - 11. As Administrator, run mysql_upgrade to check your tables, - attempt to repair them if necessary, and update your grant - tables if they have changed so that you can take advantage of - any new capabilities. See Section 4.4.7, "mysql_upgrade --- - Check and Upgrade MySQL Tables." - 12. If you encounter errors, see Section 2.3.8, "Troubleshooting a - Microsoft Windows MySQL Server Installation." + 7. If you are upgrading MySQL from a Zip archive, extract + the archive. You may either overwrite your existing MySQL + installation (usually located at C:\mysql), or install it + into a different directory, such as C:\mysql5. + Overwriting the existing installation is recommended. + However, for upgrades (as opposed to installing for the + first time), you must remove the data directory from your + existing MySQL installation to avoid replacing your + current data files. To do so, follow these steps: + a. Unzip the Zip archive in some location other than + your current MySQL installation + b. Remove the data directory + c. Rezip the Zip archive + d. Unzip the modified Zip archive on top of your + existing installation + Alternatively: + a. Unzip the Zip archive in some location other than + your current MySQL installation + b. Remove the data directory + c. Move the data directory from the current MySQL + installation to the location of the just-removed + data directory + d. Remove the current MySQL installation + e. Move the unzipped installation to the location of + the just-removed installation + + 8. If you were running MySQL as a Windows service and you + had to remove the service earlier in this procedure, + reinstall the service. (See Section 2.3.7.7, "Starting + MySQL as a Windows Service.") + + 9. Restart the server. For example, use NET START MySQL if + you run MySQL as a service, or invoke mysqld directly + otherwise. + 10. As Administrator, run mysql_upgrade to check your tables, + attempt to repair them if necessary, and update your + grant tables if they have changed so that you can take + advantage of any new capabilities. See Section 4.4.7, + "mysql_upgrade --- Check and Upgrade MySQL Tables." + 11. If you encounter errors, see Section 2.3.8, + "Troubleshooting a Microsoft Windows MySQL Server + Installation." 2.3.10 Windows Postinstallation Procedures - On Windows, you need not create the data directory and the grant - tables. MySQL Windows distributions include the grant tables with - a set of preinitialized accounts in the mysql database under the - data directory. Regarding passwords, if you installed MySQL using - the Windows Installation Wizard, you may have already assigned - passwords to the accounts. (See Section 2.3.5.1, "Using the MySQL - Installation Wizard.") Otherwise, use the password-assignment - procedure given in Section 2.10.2, "Securing the Initial MySQL + GUI tools exist that perform most of the tasks described + below, including: + + * MySQL Installer: Used to install and upgrade MySQL + products. + + * MySQL Workbench: Manages the MySQL server and edits SQL + queries. + + * MySQL Notifier: Starts, stops, or restarts the MySQL + server, and monitors its status. + + * MySQL for Excel + (http://dev.mysql.com/doc/mysql-for-excel/en/index.html): + Edits MySQL data with Microsoft Excel. + + On Windows, you need not create the data directory and the + grant tables. MySQL Windows distributions include the grant + tables with a set of preinitialized accounts in the mysql + database under the data directory. Regarding passwords, if + you installed MySQL using the MySQL Installer, you may have + already assigned passwords to the accounts. (See Section + 2.3.3, "Installing MySQL on Microsoft Windows Using MySQL + Installer.") Otherwise, use the password-assignment procedure + given in Section 2.10.2, "Securing the Initial MySQL Accounts." - Before setting up passwords, you might want to try running some - client programs to make sure that you can connect to the server - and that it is operating properly. Make sure that the server is - running (see Section 2.3.7.4, "Starting the Server for the First - Time"), and then issue the following commands to verify that you - can retrieve information from the server. You may need to specify - directory different from C:\mysql\bin on the command line. If you - used the Windows Installation Wizard, the default directory is - C:\Program Files\MySQL\MySQL Server 5.5, and the mysql and - mysqlshow client programs are in C:\Program Files\MySQL\MySQL - Server 5.5\bin. See Section 2.3.5.1, "Using the MySQL Installation - Wizard," for more information. + Before setting up passwords, you might want to try running + some client programs to make sure that you can connect to the + server and that it is operating properly. Make sure that the + server is running (see Section 2.3.7.4, "Starting the Server + for the First Time"), and then issue the following commands + to verify that you can retrieve information from the server. + You may need to specify directory different from C:\mysql\bin + on the command line. If you installed MySQL using MySQL + Installer, the default directory is C:\Program + Files\MySQL\MySQL Server 5.5, and the mysql and mysqlshow + client programs are in C:\Program Files\MySQL\MySQL Server + 5.5\bin. See Section 2.3.3, "Installing MySQL on Microsoft + Windows Using MySQL Installer," for more information. Use mysqlshow to see what databases exist: C:\> C:\mysql\bin\mysqlshow @@ -3711,20 +4345,22 @@ | test | +--------------------+ - The list of installed databases may vary, but will always include - the minimum of mysql and information_schema. In most cases, the - test database will also be installed automatically. - - The preceding command (and commands for other MySQL programs such - as mysql) may not work if the correct MySQL account does not - exist. For example, the program may fail with an error, or you may - not be able to view all databases. If you installed using the MSI - packages and used the MySQL Server Instance Config Wizard, then - the root user will have been created automatically with the - password you supplied. In this case, you should use the -u root - and -p options. (You will also need to use the -u root and -p - options if you have already secured the initial MySQL accounts.) - With -p, you will be prompted for the root password. For example: + The list of installed databases may vary, but will always + include the minimum of mysql and information_schema. In most + cases, the test database will also be installed + automatically. + + The preceding command (and commands for other MySQL programs + such as mysql) may not work if the correct MySQL account does + not exist. For example, the program may fail with an error, + or you may not be able to view all databases. If you + installed MySQL using MySQL Installer, then the root user + will have been created automatically with the password you + supplied. In this case, you should use the -u root and -p + options. (You will also need to use the -u root and -p + options if you have already secured the initial MySQL + accounts.) With -p, you will be prompted for the root + password. For example: C:\> C:\mysql\bin\mysqlshow -u root -p Enter password: (enter root password here) +--------------------+ @@ -3735,8 +4371,8 @@ | test | +--------------------+ - If you specify a database name, mysqlshow displays a list of the - tables within the database: + If you specify a database name, mysqlshow displays a list of + the tables within the database: C:\> C:\mysql\bin\mysqlshow mysql Database: mysql +---------------------------+ @@ -3764,8 +4400,8 @@ | user | +---------------------------+ - Use the mysql program to select information from a table in the - mysql database: + Use the mysql program to select information from a table in + the mysql database: C:\> C:\mysql\bin\mysql -e "SELECT Host,Db,User FROM mysql.db" +------+--------+------+ | host | db | user | @@ -3774,66 +4410,72 @@ | % | test_% | | +------+--------+------+ - For more information about mysqlshow and mysql, see Section 4.5.6, - "mysqlshow --- Display Database, Table, and Column Information," - and Section 4.5.1, "mysql --- The MySQL Command-Line Tool." - - If you are running a version of Windows that supports services, - you can set up the MySQL server to run automatically when Windows - starts. See Section 2.3.7.7, "Starting MySQL as a Windows - Service." + For more information about mysqlshow and mysql, see Section + 4.5.6, "mysqlshow --- Display Database, Table, and Column + Information," and Section 4.5.1, "mysql --- The MySQL + Command-Line Tool." + + If you are running a version of Windows that supports + services, you can set up the MySQL server to run + automatically when Windows starts. See Section 2.3.7.7, + "Starting MySQL as a Windows Service." 2.4 Installing MySQL on Mac OS X - For a list of supported Mac OS X versions that the MySQL server - supports, see - http://www.mysql.com/support/supportedplatforms/database.html. - - MySQL for Mac OS X is available in a number of different forms: - - * Native Package Installer format, which uses the native Mac OS - X installer (DMG) to walk you through the installation of - MySQL. For more information, see Section 2.4.2, "Installing - MySQL on Mac OS X Using Native Packages." You can use the - package installer with Mac OS X 10.6 and later, and the - package is available for both 32-bit and 64-bit architectures. - The user you use to perform the installation must have - administrator privileges. - - * Tar package format, which uses a file packaged using the Unix - tar and gzip commands. To use this method, you will need to - open a Terminal window. You do not need administrator - privileges using this method, as you can install the MySQL - server anywhere using this method. For more information on - using this method, you can use the generic instructions for - using a tarball, Section 2.2, "Installing MySQL on Unix/Linux - Using Generic Binaries."You can use the package installer with - Mac OS X 10.6 and later, and available for both 32-bit and - 64-bit architectures. - In addition to the core installation, the Package Installer - also includes Section 2.4.3, "Installing the MySQL Startup - Item" and Section 2.4.4, "Installing and Using the MySQL - Preference Pane," both of which simplify the management of - your installation. - - * Mac OS X server includes a version of MySQL as standard. If - you want to use a more recent version than that supplied with - the Mac OS X server release, you can make use of the package - or tar formats. For more information on using the MySQL - bundled with Mac OS X, see Section 2.4.5, "Using the Bundled - MySQL on Mac OS X Server." + For a list of supported Mac OS X versions that the MySQL + server supports, see + http://www.mysql.com/support/supportedplatforms/database.html + . + + MySQL for Mac OS X is available in a number of different + forms: + + * Native Package Installer format, which uses the native + Mac OS X installer (DMG) to walk you through the + installation of MySQL. For more information, see Section + 2.4.2, "Installing MySQL on Mac OS X Using Native + Packages." You can use the package installer with Mac OS + X 10.6 and later, and the package is available for both + 32-bit and 64-bit architectures. The user you use to + perform the installation must have administrator + privileges. - For additional information on using MySQL on Mac OS X, see Section - 2.4.1, "General Notes on Installing MySQL on Mac OS X." + * Tar package format, which uses a file packaged using the + Unix tar and gzip commands. To use this method, you will + need to open a Terminal window. You do not need + administrator privileges using this method, as you can + install the MySQL server anywhere using this method. For + more information on using this method, you can use the + generic instructions for using a tarball, Section 2.2, + "Installing MySQL on Unix/Linux Using Generic + Binaries."You can use the package installer with Mac OS X + 10.6 and later, and available for both 32-bit and 64-bit + architectures. + In addition to the core installation, the Package + Installer also includes Section 2.4.3, "Installing the + MySQL Startup Item" and Section 2.4.4, "Installing and + Using the MySQL Preference Pane," both of which simplify + the management of your installation. + + * Mac OS X server includes a version of MySQL as standard. + If you want to use a more recent version than that + supplied with the Mac OS X server release, you can make + use of the package or tar formats. For more information + on using the MySQL bundled with Mac OS X, see Section + 2.4.5, "Using the Bundled MySQL on Mac OS X Server." + + For additional information on using MySQL on Mac OS X, see + Section 2.4.1, "General Notes on Installing MySQL on Mac OS + X." 2.4.1 General Notes on Installing MySQL on Mac OS X You should keep the following issues and notes in mind: - * The default location for the MySQL Unix socket is different on - Mac OS X and Mac OS X Server depending on the installation - type you chose. The following table shows the default - locations by installation type. + * The default location for the MySQL Unix socket is + different on Mac OS X and Mac OS X Server depending on + the installation type you chose. The following table + shows the default locations by installation type. Table 2.8 MySQL Unix Socket Locations on Mac OS X by Installation Type @@ -3841,90 +4483,103 @@ Package Installer from MySQL /tmp/mysql.sock Tarball from MySQL /tmp/mysql.sock MySQL Bundled with Mac OS X Server /var/mysql/mysql.sock - To prevent issues, you should either change the configuration - of the socket used within your application (for example, - changing php.ini), or you should configure the socket location - using a MySQL configuration file and the socket option. For - more information, see Section 5.1.3, "Server Command Options." - - * You may need (or want) to create a specific mysql user to own - the MySQL directory and data. You can do this through the - Directory Utility, and the mysql user should already exist. - For use in single user mode, an entry for _mysql (note the - underscore prefix) should already exist within the system - /etc/passwd file. + To prevent issues, you should either change the + configuration of the socket used within your application + (for example, changing php.ini), or you should configure + the socket location using a MySQL configuration file and + the socket option. For more information, see Section + 5.1.3, "Server Command Options." + + * You may need (or want) to create a specific mysql user to + own the MySQL directory and data. You can do this through + the Directory Utility, and the mysql user should already + exist. For use in single user mode, an entry for _mysql + (note the underscore prefix) should already exist within + the system /etc/passwd file. * If you get an "insecure startup item disabled" error when MySQL launches, use the following procedure. Adjust the pathnames appropriately for your system. - 1. Modify the mysql.script using this command (enter it on a - single line): + 1. Modify the mysql.script using this command (enter it + on a single line): shell> sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit /usr/local/mysql/support-files/mysql.server - 2. Locate the option file that defines the basedir value and - modify it to contain these lines: + + 2. Locate the option file that defines the basedir + value and modify it to contain these lines: basedir=/usr/local/mysql datadir=/usr/local/mysql/data - In the /Library/StartupItems/MySQLCOM/ directory, make - the following group ID changes from staff to wheel: + + In the /Library/StartupItems/MySQLCOM/ directory, + make the following group ID changes from staff to + wheel: shell> sudo chgrp wheel MySQLCOM StartupParameters.plist - 3. Start the server from System Preferences or Terminal.app. - * Because the MySQL package installer installs the MySQL - contents into a version and platform specific directory, you - can use this to upgrade and migrate your database between - versions. You will need to either copy the data directory from - the old version to the new version, or alternatively specify - an alternative datadir value to set location of the data - directory. + 3. Start the server from System Preferences or + Terminal.app. - * You might want to add aliases to your shell's resource file to - make it easier to access commonly used programs such as mysql - and mysqladmin from the command line. The syntax for bash is: + * Because the MySQL package installer installs the MySQL + contents into a version and platform specific directory, + you can use this to upgrade and migrate your database + between versions. You will need to either copy the data + directory from the old version to the new version, or + alternatively specify an alternative datadir value to set + location of the data directory. + + * You might want to add aliases to your shell's resource + file to make it easier to access commonly used programs + such as mysql and mysqladmin from the command line. The + syntax for bash is: alias mysql=/usr/local/mysql/bin/mysql alias mysqladmin=/usr/local/mysql/bin/mysqladmin + For tcsh, use: alias mysql /usr/local/mysql/bin/mysql alias mysqladmin /usr/local/mysql/bin/mysqladmin - Even better, add /usr/local/mysql/bin to your PATH environment - variable. You can do this by modifying the appropriate startup - file for your shell. For more information, see Section 4.2.1, - "Invoking MySQL Programs." - - * After you have copied over the MySQL database files from the - previous installation and have successfully started the new - server, you should consider removing the old installation - files to save disk space. Additionally, you should also remove - older versions of the Package Receipt directories located in + + Even better, add /usr/local/mysql/bin to your PATH + environment variable. You can do this by modifying the + appropriate startup file for your shell. For more + information, see Section 4.2.1, "Invoking MySQL + Programs." + + * After you have copied over the MySQL database files from + the previous installation and have successfully started + the new server, you should consider removing the old + installation files to save disk space. Additionally, you + should also remove older versions of the Package Receipt + directories located in /Library/Receipts/mysql-VERSION.pkg. 2.4.2 Installing MySQL on Mac OS X Using Native Packages - The package is located inside a disk image (.dmg) file that you - first need to mount by double-clicking its icon in the Finder. It - should then mount the image and display its contents. + The package is located inside a disk image (.dmg) file that + you first need to mount by double-clicking its icon in the + Finder. It should then mount the image and display its + contents. Note Before proceeding with the installation, be sure to stop all - running MySQL server instances by using either the MySQL Manager - Application (on Mac OS X Server) or mysqladmin shutdown on the - command line. - - When installing from the package version, you should also install - the MySQL Preference Pane, which will enable you to control the - startup and execution of your MySQL server from System - Preferences. For more information, see Section 2.4.4, "Installing - and Using the MySQL Preference Pane." + running MySQL server instances by using either the MySQL + Manager Application (on Mac OS X Server) or mysqladmin + shutdown on the command line. + + When installing from the package version, you should also + install the MySQL Preference Pane, which will enable you to + control the startup and execution of your MySQL server from + System Preferences. For more information, see Section 2.4.4, + "Installing and Using the MySQL Preference Pane." When installing using the package installer, the files are - installed into a directory within /usr/local matching the name of - the installation version and platform. For example, the installer - file mysql-5.5-osx10.7-x86_64.dmg installs MySQL into - /usr/local/mysql-5.5-osx10.7-x86_64/ . The following table shows - the layout of the installation directory. + installed into a directory within /usr/local matching the + name of the installation version and platform. For example, + the installer file mysql-5.5-osx10.7-x86_64.dmg installs + MySQL into /usr/local/mysql-5.5-osx10.7-x86_64/ . The + following table shows the layout of the installation + directory. Table 2.9 MySQL Installation Layout on Mac OS X Directory Contents of Directory @@ -3948,64 +4603,67 @@ created during installation will be created automatically. 1. Download and open the MySQL package installer, which is - provided on a disk image (.dmg) that includes the main MySQL - installation package, the MySQLStartupItem.pkg installation - package, and the MySQL.prefPane. Double-click the disk image - to open it. - Figure 2.31 MySQL Package Installer: DMG Contents + provided on a disk image (.dmg) that includes the main + MySQL installation package, the MySQLStartupItem.pkg + installation package, and the MySQL.prefPane. + Double-click the disk image to open it. + Figure 2.41 MySQL Package Installer: DMG Contents MySQL Package Installer: DMG Contents - 2. Double-click the MySQL installer package. It will be named - according to the version of MySQL you have downloaded. For - example, if you have downloaded MySQL server 5.5.41, - double-click mysql-5.5.41-osx-10.7-x86_64.pkg. - - 3. You will be presented with the opening installer dialog. Click - Continue to begin installation. - Figure 2.32 MySQL Package Installer: Introduction + 2. Double-click the MySQL installer package. It will be + named according to the version of MySQL you have + downloaded. For example, if you have downloaded MySQL + server 5.5.42, double-click + mysql-5.5.42-osx-10.7-x86_64.pkg. + + 3. You will be presented with the opening installer dialog. + Click Continue to begin installation. + Figure 2.42 MySQL Package Installer: Introduction MySQL Package Installer: Introduction - 4. A copy of the installation instructions and other important - information relevant to this installation are displayed. Click - Continue . - - 5. If you have downloaded the community version of MySQL, you - will be shown a copy of the relevant GNU General Public - License. Click Continue . - - 6. Select the drive you want to use to install the MySQL Startup - Item. The drive must have a valid, bootable, Mac OS X - operating system installed. Click Continue. - Figure 2.33 MySQL Package Installer: Choose your Hard drive + 4. A copy of the installation instructions and other + important information relevant to this installation are + displayed. Click Continue . + + 5. If you have downloaded the community version of MySQL, + you will be shown a copy of the relevant GNU General + Public License. Click Continue . + + 6. Select the drive you want to use to install the MySQL + Startup Item. The drive must have a valid, bootable, Mac + OS X operating system installed. Click Continue. + Figure 2.43 MySQL Package Installer: Choose your Hard + drive MySQL Package Installer: Choose your Hard drive - 7. You will be asked to confirm the details of the installation, - including the space required for the installation. To change - the drive on which the MySQL server is installed, click either - Go Back or Change Install Location.... To install the MySQL - server, click Install. - - 8. Once the installation has been completed successfully, you - will be shown an Install Succeeded message. - - For convenience, you may also want to install the startup item and - preference pane. See Section 2.4.3, "Installing the MySQL Startup - Item," and Section 2.4.4, "Installing and Using the MySQL - Preference Pane." + 7. You will be asked to confirm the details of the + installation, including the space required for the + installation. To change the drive on which the MySQL + server is installed, click either Go Back or Change + Install Location.... To install the MySQL server, click + Install. + + 8. Once the installation has been completed successfully, + you will be shown an Install Succeeded message. + + For convenience, you may also want to install the startup + item and preference pane. See Section 2.4.3, "Installing the + MySQL Startup Item," and Section 2.4.4, "Installing and Using + the MySQL Preference Pane." 2.4.3 Installing the MySQL Startup Item - The MySQL Installation Package includes a startup item that can be - used to automatically start and stop MySQL. + The MySQL Installation Package includes a startup item that + can be used to automatically start and stop MySQL. To install the MySQL Startup Item: 1. Download and open the MySQL package installer, which is - provided on a disk image (.dmg) that includes the main MySQL - installation package, the MySQLStartupItem.pkg installation - package, and the MySQL.prefPane. Double-click the disk image - to open it. - Figure 2.34 MySQL Package Installer: DMG Contents + provided on a disk image (.dmg) that includes the main + MySQL installation package, the MySQLStartupItem.pkg + installation package, and the MySQL.prefPane. + Double-click the disk image to open it. + Figure 2.44 MySQL Package Installer: DMG Contents MySQL Package Installer: DMG Contents 2. Double-click the MySQLStartItem.pkg file to start the @@ -4013,125 +4671,130 @@ 3. You will be presented with the Install MySQL Startup Item dialog. - Figure 2.35 MySQL Startup Item Installer: Introduction + Figure 2.45 MySQL Startup Item Installer: Introduction MySQL Startup Item Installer: Introduction Click Continue to continue the installation process. - 4. A copy of the installation instructions and other important - information relevant to this installation are displayed. Click - Continue . - - 5. Select the drive you want to use to install the MySQL Startup - Item. The drive must have a valid, bootable, Mac OS X - operating system installed. Click Continue. - Figure 2.36 MySQL Startup Item Installer: Choose Your Hard - drive + 4. A copy of the installation instructions and other + important information relevant to this installation are + displayed. Click Continue . + + 5. Select the drive you want to use to install the MySQL + Startup Item. The drive must have a valid, bootable, Mac + OS X operating system installed. Click Continue. + Figure 2.46 MySQL Startup Item Installer: Choose Your + Hard drive MySQL Startup Item Installer: Choose Your Hard drive - 6. You will be asked to confirm the details of the installation. - To change the drive on which the startup item is installed, - click either Go Back or Change Install Location.... To install - the startup item, click Install. - - 7. Once the installation has been completed successfully, you - will be shown an Install Succeeded message. - Figure 2.37 MySQL Startup Item Installer: Summary + 6. You will be asked to confirm the details of the + installation. To change the drive on which the startup + item is installed, click either Go Back or Change Install + Location.... To install the startup item, click Install. + + 7. Once the installation has been completed successfully, + you will be shown an Install Succeeded message. + Figure 2.47 MySQL Startup Item Installer: Summary MySQL Startup Item Installer: Summary The Startup Item for MySQL is installed into - /Library/StartupItems/MySQLCOM. The Startup Item installation adds - a variable MYSQLCOM=-YES- to the system configuration file - /etc/hostconfig. If you want to disable the automatic startup of - MySQL, change this variable to MYSQLCOM=-NO-. - Note - - Deselecting Automatically Start MySQL Server on Startup from the - MySQL Preference Pane sets the MYSQLCOM variable to -NO-. - - After the installation, you can start and stop the MySQL server - from the MySQL Preference Pane (preferred), or by running the - following commands in a terminal window. You must have - administrator privileges to perform these tasks, and you may be - prompted for your password. + /Library/StartupItems/MySQLCOM. The Startup Item installation + adds a variable MYSQLCOM=-YES- to the system configuration + file /etc/hostconfig. If you want to disable the automatic + startup of MySQL, change this variable to MYSQLCOM=-NO-. + Note + + Deselecting Automatically Start MySQL Server on Startup from + the MySQL Preference Pane sets the MYSQLCOM variable to -NO-. + + After the installation, you can start and stop the MySQL + server from the MySQL Preference Pane (preferred), or by + running the following commands in a terminal window. You must + have administrator privileges to perform these tasks, and you + may be prompted for your password. - If you have installed the Startup Item, use this command to start - the server: + If you have installed the Startup Item, use this command to + start the server: shell> sudo /Library/StartupItems/MySQLCOM/MySQLCOM start - If you have installed the Startup Item, use this command to stop - the server: + If you have installed the Startup Item, use this command to + stop the server: shell> sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop 2.4.4 Installing and Using the MySQL Preference Pane The MySQL Package installer disk image also includes a custom - MySQL Preference Pane that enables you to start, stop, and control - automated startup during boot of your MySQL installation. + MySQL Preference Pane that enables you to start, stop, and + control automated startup during boot of your MySQL + installation. To install the MySQL Preference Pane: - 1. Download and open the MySQL package installer package, which - is provided on a disk image (.dmg) that includes the main - MySQL installation package, the MySQLStartupItem.pkg - installation package, and the MySQL.prefPane. Double-click the - disk image to open it. - Figure 2.38 MySQL Package Installer: DMG Contents + 1. Download and open the MySQL package installer package, + which is provided on a disk image (.dmg) that includes + the main MySQL installation package, the + MySQLStartupItem.pkg installation package, and the + MySQL.prefPane. Double-click the disk image to open it. + Figure 2.48 MySQL Package Installer: DMG Contents MySQL Package Installer: DMG Contents - 2. Double-click the MySQL.prefPane. The MySQL System Preferences - will open. + 2. Double-click the MySQL.prefPane. The MySQL System + Preferences will open. - 3. If this is the first time you have installed the preference - pane, you will be asked to confirm installation and whether - you want to install the preference pane for all users, or only - the current user. To install the preference pane for all users - you will need administrator privileges. If necessary, you will - be prompted for the username and password for a user with + 3. If this is the first time you have installed the + preference pane, you will be asked to confirm + installation and whether you want to install the + preference pane for all users, or only the current user. + To install the preference pane for all users you will + need administrator privileges. If necessary, you will be + prompted for the username and password for a user with administrator privileges. - 4. If you already have the MySQL Preference Pane installed, you - will be asked to confirm whether you want to overwrite the - existing MySQL Preference Pane. + 4. If you already have the MySQL Preference Pane installed, + you will be asked to confirm whether you want to + overwrite the existing MySQL Preference Pane. Note - The MySQL Preference Pane only starts and stops MySQL installation - installed from the MySQL package installation that have been - installed in the default location. + The MySQL Preference Pane only starts and stops MySQL + installation installed from the MySQL package installation + that have been installed in the default location. - Once the MySQL Preference Pane has been installed, you can control - your MySQL server instance using the preference pane. To use the - preference pane, open the System Preferences... from the Apple - menu. Select the MySQL preference pane by clicking the MySQL logo - within the Other section of the preference panes list. + Once the MySQL Preference Pane has been installed, you can + control your MySQL server instance using the preference pane. + To use the preference pane, open the System Preferences... + from the Apple menu. Select the MySQL preference pane by + clicking the MySQL logo within the Other section of the + preference panes list. - Figure 2.39 MySQL Preference Pane: Location + Figure 2.49 MySQL Preference Pane: Location MySQL Preference Pane: Location - The MySQL Preference Pane shows the current status of the MySQL - server, showing stopped (in red) if the server is not running and - running (in green) if the server has already been started. The - preference pane also shows the current setting for whether the - MySQL server has been set to start automatically. - - * To start the MySQL server using the preference pane: - Click Start MySQL Server. You may be prompted for the username - and password of a user with administrator privileges to start - the MySQL server. - - * To stop the MySQL server using the preference pane: - Click Stop MySQL Server. You may be prompted for the username - and password of a user with administrator privileges to stop - the MySQL server. - - * To automatically start the MySQL server when the system boots: - Check the check box next to Automatically Start MySQL Server - on Startup. + The MySQL Preference Pane shows the current status of the + MySQL server, showing stopped (in red) if the server is not + running and running (in green) if the server has already been + started. The preference pane also shows the current setting + for whether the MySQL server has been set to start + automatically. + + * To start the MySQL server using the preference pane: + Click Start MySQL Server. You may be prompted for the + username and password of a user with administrator + privileges to start the MySQL server. + + * To stop the MySQL server using the preference pane: + Click Stop MySQL Server. You may be prompted for the + username and password of a user with administrator + privileges to stop the MySQL server. + + * To automatically start the MySQL server when the system + boots: + Check the check box next to Automatically Start MySQL + Server on Startup. * To disable automatic MySQL server startup when the system boots: - Uncheck the check box next to Automatically Start MySQL Server - on Startup. + Uncheck the check box next to Automatically Start MySQL + Server on Startup. You can close the System Preferences... window once you have completed your settings. @@ -4139,8 +4802,8 @@ 2.4.5 Using the Bundled MySQL on Mac OS X Server If you are running Mac OS X Server, a version of MySQL should - already be installed. The following table shows the versions of - MySQL that ship with Mac OS X Server versions. + already be installed. The following table shows the versions + of MySQL that ship with Mac OS X Server versions. Table 2.10 MySQL Versions Preinstalled with Mac OS X Server Mac OS X Server Version MySQL Version @@ -4152,8 +4815,8 @@ 10.5.0 5.0.45 10.6.0 5.0.82 - The following table shows the installation layout of MySQL on Mac - OS X Server. + The following table shows the installation layout of MySQL on + Mac OS X Server. Table 2.11 MySQL Directory Layout for Preinstalled MySQL Installations on Mac OS X Server @@ -4164,101 +4827,105 @@ /usr/share/man Unix manual pages /usr/share/mysql/mysql-test MySQL test suite /usr/share/mysql Miscellaneous support files, including error - messages, character set files, sample configuration files, SQL for - database installation + messages, character set files, sample configuration files, + SQL for database installation /var/mysql/mysql.sock Location of the MySQL Unix socket Additional Resources - * For more information on managing the bundled MySQL instance in - Mac OS X Server 10.5, see Mac OS X Server: Web Technologies - Administration For Version 10.5 Leopard - (http://images.apple.com/server/macosx/docs/Web_Technologies_A - dmin_v10.5.pdf). - - * For more information on managing the bundled MySQL instance in - Mac OS X Server 10.6, see Mac OS X Server: Web Technologies - Administration Version 10.6 Snow Leopard + * For more information on managing the bundled MySQL + instance in Mac OS X Server 10.5, see Mac OS X Server: + Web Technologies Administration For Version 10.5 Leopard + (http://images.apple.com/server/macosx/docs/Web_Technolog + ies_Admin_v10.5.pdf). + + * For more information on managing the bundled MySQL + instance in Mac OS X Server 10.6, see Mac OS X Server: + Web Technologies Administration Version 10.6 Snow Leopard (http://manuals.info.apple.com/en_US/WebTech_v10.6.pdf). - * The MySQL server bundled with Mac OS X Server does not include - the MySQL client libraries and header files required to access - and use MySQL from a third-party driver, such as Perl DBI or - PHP. For more information on obtaining and installing MySQL - libraries, see Mac OS X Server version 10.5: MySQL libraries - available for download (http://support.apple.com/kb/TA25017). - Alternatively, you can ignore the bundled MySQL server and - install MySQL from the package or tarball installation. + * The MySQL server bundled with Mac OS X Server does not + include the MySQL client libraries and header files + required to access and use MySQL from a third-party + driver, such as Perl DBI or PHP. For more information on + obtaining and installing MySQL libraries, see Mac OS X + Server version 10.5: MySQL libraries available for + download (http://support.apple.com/kb/TA25017). + Alternatively, you can ignore the bundled MySQL server + and install MySQL from the package or tarball + installation. 2.5 Installing MySQL on Linux Linux supports a number of different solutions for installing - MySQL. The recommended method is to use one of the distributions - from Oracle. If you choose this method, there are several options - available: - - * Installing from a generic binary package in .tar.gz format. - See Section 2.2, "Installing MySQL on Unix/Linux Using Generic - Binaries" for more information. - - * Extracting and compiling MySQL from a source distribution. For - detailed instructions, see Section 2.9, "Installing MySQL from - Source." + MySQL. The recommended method is to use one of the + distributions from Oracle. If you choose this method, there + are several options available: + + * Installing from a generic binary package in .tar.gz + format. See Section 2.2, "Installing MySQL on Unix/Linux + Using Generic Binaries" for more information. + + * Extracting and compiling MySQL from a source + distribution. For detailed instructions, see Section 2.9, + "Installing MySQL from Source." * Installing using a precompiled RPM package. For more - information, see Section 2.5.1, "Installing MySQL on Linux - Using RPM Packages." + information, see Section 2.5.1, "Installing MySQL on + Linux Using RPM Packages." * Installing using a precompiled Debian package. For more - information, see Section 2.5.2, "Installing MySQL on Linux - Using Debian Packages." + information, see Section 2.5.2, "Installing MySQL on + Linux Using Debian Packages." - * Installing using Oracle's Unbreakable Linux Network (ULN). For - more information, see Section 2.6, "Installing MySQL Using - Unbreakable Linux Network (ULN)." - - As an alternative, you can use the native package manager within - your Linux distribution to automatically download and install - MySQL for you. Native package installations can take care of the - download and dependencies required to run MySQL, but the MySQL - version will often be some versions behind the currently available - release. You will also normally be unable to install development - releases, as these are not usually made available in the native - repository. For more information on using the native package - installers, see Section 2.5.3, "Installing MySQL on Linux Using - Native Package Managers." - Note - - For many Linux installations, you will want to set up MySQL to be - started automatically when your machine starts. Many of the native - package installations perform this operation for you, but for - source, binary and RPM solutions you may need to set this up - separately. The required script, mysql.server, can be found in the - support-files directory under the MySQL installation directory or - in a MySQL source tree. You can install it as /etc/init.d/mysql - for automatic MySQL startup and shutdown. See Section 2.10.1.2, - "Starting and Stopping MySQL Automatically." + * Installing using Oracle's Unbreakable Linux Network + (ULN). For more information, see Section 2.6, "Installing + MySQL Using Unbreakable Linux Network (ULN)." + + As an alternative, you can use the native package manager + within your Linux distribution to automatically download and + install MySQL for you. Native package installations can take + care of the download and dependencies required to run MySQL, + but the MySQL version will often be some versions behind the + currently available release. You will also normally be unable + to install development releases, as these are not usually + made available in the native repository. For more information + on using the native package installers, see Section 2.5.3, + "Installing MySQL on Linux Using Native Package Managers." + Note + + For many Linux installations, you will want to set up MySQL + to be started automatically when your machine starts. Many of + the native package installations perform this operation for + you, but for source, binary and RPM solutions you may need to + set this up separately. The required script, mysql.server, + can be found in the support-files directory under the MySQL + installation directory or in a MySQL source tree. You can + install it as /etc/init.d/mysql for automatic MySQL startup + and shutdown. See Section 2.10.1.2, "Starting and Stopping + MySQL Automatically." 2.5.1 Installing MySQL on Linux Using RPM Packages Note - To install or upgrade to MySQL 5.5.31, be sure to read the special - instructions at the end of this section. + To install or upgrade to MySQL 5.5.31, be sure to read the + special instructions at the end of this section. The recommended way to install MySQL on RPM-based Linux distributions is by using the RPM packages. The RPMs that we - provide to the community should work on all versions of Linux that - support RPM packages and use glibc 2.3. To obtain RPM packages, - see Section 2.1.3, "How to Get MySQL." + provide to the community should work on all versions of Linux + that support RPM packages and use glibc 2.3. To obtain RPM + packages, see Section 2.1.3, "How to Get MySQL." - For non-RPM Linux distributions, you can install MySQL using a - .tar.gz package. See Section 2.2, "Installing MySQL on Unix/Linux - Using Generic Binaries." + For non-RPM Linux distributions, you can install MySQL using + a .tar.gz package. See Section 2.2, "Installing MySQL on + Unix/Linux Using Generic Binaries." - Installations created from our Linux RPM distributions result in - files under the system directories shown in the following table. + Installations created from our Linux RPM distributions result + in files under the system directories shown in the following + table. Table 2.12 MySQL Installation Layout for Linux RPM Packages Directory Contents of Directory @@ -4270,128 +4937,141 @@ /usr/include/mysql Include (header) files /usr/lib/mysql Libraries /usr/share/mysql Miscellaneous support files, including error - messages, character set files, sample configuration files, SQL for - database installation + messages, character set files, sample configuration files, + SQL for database installation /usr/share/sql-bench Benchmarks Note - RPM distributions of MySQL are also provided by other vendors. Be - aware that they may differ from those built by us in features, - capabilities, and conventions (including communication setup), and - that the instructions in this manual do not necessarily apply to - installing them. The vendor's instructions should be consulted - instead. Because of these differences, RPM packages built by us - check whether such RPMs built by other vendors are installed. If - so, the RPM does not install and produces a message explaining - this. - - Conflicts can arise when an RPM from another vendor is already - installed, such as when a vendor's convention about which files - belong with the server and which belong with the client library - differ from the breakdown used for Oracle packages. In such cases, - attempts to install an Oracle RPM with rpm -i may result in - messages that files in the RPM to be installed conflict with files - from an installed package (denoted mysql-libs in the following - paragraphs). - - We provide a MySQL-shared-compat package with each MySQL release. - This package is meant to replace mysql-libs and provides a - replacement-compatible client library for older MySQL series. - MySQL-shared-compat is set up to make mysql-libs obsolete, but rpm - explicitly refuses to replace obsoleted packages when invoked with - -i (unlike -U), which is why installation with rpm -i produces a - conflict. - - MySQL-shared-compat can safely be installed alongside mysql-libs - because libraries are installed to different locations. Therefore, - it is possible to install shared-compat first, then manually - remove mysql-libs before continuing with the installation. After - mysql-libs is removed, the dynamic linker stops looking for the - client library in the location where mysql-libs puts it, and the - library provided by the MySQL-shared-compat package takes over. + RPM distributions of MySQL are also provided by other + vendors. Be aware that they may differ from those built by us + in features, capabilities, and conventions (including + communication setup), and that the instructions in this + manual do not necessarily apply to installing them. The + vendor's instructions should be consulted instead. Because of + these differences, RPM packages built by us check whether + such RPMs built by other vendors are installed. If so, the + RPM does not install and produces a message explaining this. + + Conflicts can arise when an RPM from another vendor is + already installed, such as when a vendor's convention about + which files belong with the server and which belong with the + client library differ from the breakdown used for Oracle + packages. In such cases, attempts to install an Oracle RPM + with rpm -i may result in messages that files in the RPM to + be installed conflict with files from an installed package + (denoted mysql-libs in the following paragraphs). + + We provide a MySQL-shared-compat package with each MySQL + release. This package is meant to replace mysql-libs and + provides a replacement-compatible client library for older + MySQL series. MySQL-shared-compat is set up to make + mysql-libs obsolete, but rpm explicitly refuses to replace + obsoleted packages when invoked with -i (unlike -U), which is + why installation with rpm -i produces a conflict. + + MySQL-shared-compat can safely be installed alongside + mysql-libs because libraries are installed to different + locations. Therefore, it is possible to install shared-compat + first, then manually remove mysql-libs before continuing with + the installation. After mysql-libs is removed, the dynamic + linker stops looking for the client library in the location + where mysql-libs puts it, and the library provided by the + MySQL-shared-compat package takes over. Another alternative is to install packages using yum. In a - directory containing all RPM packages for a MySQL release, yum - install MySQL*rpm installs them in the correct order and removes - mysql-libs in one step without conflicts. + directory containing all RPM packages for a MySQL release, + yum install MySQL*rpm installs them in the correct order and + removes mysql-libs in one step without conflicts. In most cases, you need to install only the MySQL-server and - MySQL-client packages to get a functional MySQL installation. The - other packages are not required for a standard installation. + MySQL-client packages to get a functional MySQL installation. + The other packages are not required for a standard + installation. - RPMs for MySQL Cluster. Standard MySQL server RPMs built by MySQL - do not provide support for the NDBCLUSTER storage engine. + RPMs for MySQL Cluster. Standard MySQL server RPMs built by + MySQL do not provide support for the NDBCLUSTER storage + engine. Important - When upgrading a MySQL Cluster RPM installation, you must upgrade - all installed RPMs, including the Server and Client RPMs. - - For more information about installing MySQL Cluster from RPMs, see - Section 18.2, "MySQL Cluster Installation and Upgrades." + When upgrading a MySQL Cluster RPM installation, you must + upgrade all installed RPMs, including the Server and Client + RPMs. + + For more information about installing MySQL Cluster from + RPMs, see Section 18.2, "MySQL Cluster Installation and + Upgrades." For upgrades, if your installation was originally produced by - installing multiple RPM packages, it is best to upgrade all the - packages, not just some. For example, if you previously installed - the server and client RPMs, do not upgrade just the server RPM. + installing multiple RPM packages, it is best to upgrade all + the packages, not just some. For example, if you previously + installed the server and client RPMs, do not upgrade just the + server RPM. If the data directory exists at RPM installation time, the - installation process does not modify existing data. This has the - effect, for example, that accounts in the grant tables are not - initialized to the default set of accounts. + installation process does not modify existing data. This has + the effect, for example, that accounts in the grant tables + are not initialized to the default set of accounts. If you get a dependency failure when trying to install MySQL - packages (for example, error: removing these packages would break - dependencies: libmysqlclient.so.10 is needed by ...), you should - also install the MySQL-shared-compat package, which includes the - shared libraries for older releases for backward compatibility. - - The RPM packages shown in the following list are available. The - names shown here use a suffix of .glibc23.i386.rpm, but particular - packages can have different suffixes, described later. + packages (for example, error: removing these packages would + break dependencies: libmysqlclient.so.10 is needed by ...), + you should also install the MySQL-shared-compat package, + which includes the shared libraries for older releases for + backward compatibility. + + The RPM packages shown in the following list are available. + The names shown here use a suffix of .glibc23.i386.rpm, but + particular packages can have different suffixes, described + later. If you plan to install multiple RPM packages, you may + wish to download the RPM Bundle tar file instead, which + contains multiple RPM packages to that you need not download + them separately. * MySQL-server-VERSION.glibc23.i386.rpm The MySQL server. You need this unless you only want to connect to a MySQL server running on another machine. * MySQL-client-VERSION.glibc23.i386.rpm - The standard MySQL client programs. You probably always want - to install this package. + The standard MySQL client programs. You probably always + want to install this package. * MySQL-devel-VERSION.glibc23.i386.rpm - The libraries and include files that are needed if to compile - other MySQL clients, such as the Perl modules. Install this - RPM if you intend to compile C API applications. + The libraries and include files that are needed if to + compile other MySQL clients, such as the Perl modules. + Install this RPM if you intend to compile C API + applications. * MySQL-shared-VERSION.glibc23.i386.rpm This package contains the shared libraries - (libmysqlclient.so*) that certain languages and applications - need to dynamically load and use MySQL. It contains - single-threaded and thread-safe libraries. Install this RPM if - you intend to compile or run C API applications that depend on - the shared client library. Prior to MySQL 5.5.6, if you - install this package, do not install the MySQL-shared-compat - package. + (libmysqlclient.so*) that certain languages and + applications need to dynamically load and use MySQL. It + contains single-threaded and thread-safe libraries. + Install this RPM if you intend to compile or run C API + applications that depend on the shared client library. + Prior to MySQL 5.5.6, if you install this package, do not + install the MySQL-shared-compat package. * MySQL-shared-compat-VERSION.glibc23.i386.rpm - This package includes the shared libraries for older releases. - It contains single-threaded and thread-safe libraries. Install - this package if you have applications installed that are - dynamically linked against older versions of MySQL but you - want to upgrade to the current version without breaking the - library dependencies. Before MySQL 5.5.6, MySQL-shared-compat - also includes the libraries for the current release, so if you - install it, you should not also install MySQL-shared. As of - 5.5.6, MySQL-shared-compat does not include the current - library version, so there is no conflict. + This package includes the shared libraries for older + releases. It contains single-threaded and thread-safe + libraries. Install this package if you have applications + installed that are dynamically linked against older + versions of MySQL but you want to upgrade to the current + version without breaking the library dependencies. Before + MySQL 5.5.6, MySQL-shared-compat also includes the + libraries for the current release, so if you install it, + you should not also install MySQL-shared. As of 5.5.6, + MySQL-shared-compat does not include the current library + version, so there is no conflict. As of MySQL 5.5.23, the MySQL-shared-compat RPM package - enables users of Red Hat-provided mysql-*-5.1 RPM packages to - migrate to Oracle-provided MySQL-*-5.5 packages. - MySQL-shared-compat replaces the Red Hat mysql-libs package by - replacing libmysqlclient.so files of the latter package, thus - satisfying dependencies of other packages on mysql-libs. This - change affects only users of Red Hat (or Red Hat-compatible) - RPM packages. Nothing is different for users of Oracle RPM - packages. + enables users of Red Hat-provided mysql-*-5.1 RPM + packages to migrate to Oracle-provided MySQL-*-5.5 + packages. MySQL-shared-compat replaces the Red Hat + mysql-libs package by replacing libmysqlclient.so files + of the latter package, thus satisfying dependencies of + other packages on mysql-libs. This change affects only + users of Red Hat (or Red Hat-compatible) RPM packages. + Nothing is different for users of Oracle RPM packages. * MySQL-embedded-VERSION.glibc23.i386.rpm The embedded MySQL server library. @@ -4401,179 +5081,192 @@ * MySQL-VERSION.src.rpm This contains the source code for all of the previous - packages. It can also be used to rebuild the RPMs on other - architectures (for example, Alpha or SPARC). + packages. It can also be used to rebuild the RPMs on + other architectures (for example, Alpha or SPARC). - The suffix of RPM package names (following the VERSION value) has - the following syntax: + The suffix of RPM package names (following the VERSION value) + has the following syntax: .PLATFORM.CPU.rpm - The PLATFORM and CPU values indicate the type of system for which - the package is built. PLATFORM indicates the platform and CPU - indicates the processor type or family. + The PLATFORM and CPU values indicate the type of system for + which the package is built. PLATFORM indicates the platform + and CPU indicates the processor type or family. All packages are dynamically linked against glibc 2.3. The PLATFORM value indicates whether the package is platform - independent or intended for a specific platform, as shown in the - following table. + independent or intended for a specific platform, as shown in + the following table. Table 2.13 MySQL Linux Installation Packages PLATFORM Value Intended Use - glibc23 Platform independent, should run on any Linux distribution - that supports glibc 2.3 + glibc23 Platform independent, should run on any Linux + distribution that supports glibc 2.3 rhel4, rhel5 Red Hat Enterprise Linux 4 or 5 el6 Enterprise Linux 6 sles10, sles11 SuSE Linux Enterprise Server 10 or 11 In MySQL 5.5, only glibc23 packages are available currently. - The CPU value indicates the processor type or family for which the - package is built. + The CPU value indicates the processor type or family for + which the package is built. - Table 2.14 MySQL Installation Packages for Linux CPU Identifiers + Table 2.14 MySQL Installation Packages for Linux CPU + Identifiers CPU Value Intended Processor Type or Family i386, i586, i686 Pentium processor or better, 32 bit x86_64 64-bit x86 processor ia64 Itanium (IA-64) processor - To see all files in an RPM package (for example, a MySQL-server - RPM), run a command like this: + To see all files in an RPM package (for example, a + MySQL-server RPM), run a command like this: shell> rpm -qpl MySQL-server-VERSION.glibc23.i386.rpm - To perform a standard minimal installation, install the server and - client RPMs: + To perform a standard minimal installation, install the + server and client RPMs: shell> rpm -i MySQL-server-VERSION.glibc23.i386.rpm shell> rpm -i MySQL-client-VERSION.glibc23.i386.rpm - To install only the client programs, install just the client RPM: + To install only the client programs, install just the client + RPM: shell> rpm -i MySQL-client-VERSION.glibc23.i386.rpm - RPM provides a feature to verify the integrity and authenticity of - packages before installing them. To learn more about this feature, - see Section 2.1.4, "Verifying Package Integrity Using MD5 - Checksums or GnuPG." - - The server RPM places data under the /var/lib/mysql directory. The - RPM also creates a login account for a user named mysql (if one - does not exist) to use for running the MySQL server, and creates - the appropriate entries in /etc/init.d/ to start the server - automatically at boot time. (This means that if you have performed - a previous installation and have made changes to its startup - script, you may want to make a copy of the script so that you do - not lose it when you install a newer RPM.) See Section 2.10.1.2, - "Starting and Stopping MySQL Automatically," for more information - on how MySQL can be started automatically on system startup. - - In MySQL 5.5.5 and later, during a new installation, the server - boot scripts are installed, but the MySQL server is not started at - the end of the installation, since the status of the server during - an unattended installation is not known. - - In MySQL 5.5.5 and later, during an upgrade installation using the - RPM packages, if the MySQL server is running when the upgrade - occurs, the MySQL server is stopped, the upgrade occurs, and the - MySQL server is restarted. If the MySQL server is not already - running when the RPM upgrade occurs, the MySQL server is not - started at the end of the installation. + RPM provides a feature to verify the integrity and + authenticity of packages before installing them. To learn + more about this feature, see Section 2.1.4, "Verifying + Package Integrity Using MD5 Checksums or GnuPG." + + The server RPM places data under the /var/lib/mysql + directory. The RPM also creates a login account for a user + named mysql (if one does not exist) to use for running the + MySQL server, and creates the appropriate entries in + /etc/init.d/ to start the server automatically at boot time. + (This means that if you have performed a previous + installation and have made changes to its startup script, you + may want to make a copy of the script so that you do not lose + it when you install a newer RPM.) See Section 2.10.1.2, + "Starting and Stopping MySQL Automatically," for more + information on how MySQL can be started automatically on + system startup. + + In MySQL 5.5.5 and later, during a new installation, the + server boot scripts are installed, but the MySQL server is + not started at the end of the installation, since the status + of the server during an unattended installation is not known. + + In MySQL 5.5.5 and later, during an upgrade installation + using the RPM packages, if the MySQL server is running when + the upgrade occurs, the MySQL server is stopped, the upgrade + occurs, and the MySQL server is restarted. If the MySQL + server is not already running when the RPM upgrade occurs, + the MySQL server is not started at the end of the + installation. If something goes wrong, you can find more information in the - binary installation section. See Section 2.2, "Installing MySQL on - Unix/Linux Using Generic Binaries." + binary installation section. See Section 2.2, "Installing + MySQL on Unix/Linux Using Generic Binaries." Note - The accounts that are listed in the MySQL grant tables initially - have no passwords. After starting the server, you should set up - passwords for them using the instructions in Section 2.10, - "Postinstallation Setup and Testing." + The accounts that are listed in the MySQL grant tables + initially have no passwords. After starting the server, you + should set up passwords for them using the instructions in + Section 2.10, "Postinstallation Setup and Testing." During RPM installation, a user named mysql and a group named - mysql are created on the system. This is done using the useradd, - groupadd, and usermod commands. Those commands require appropriate - administrative privileges, which is required for locally managed - users and groups (as listed in the /etc/passwd and /etc/group - files) by the RPM installation process being run by root. - - If you log in as the mysql user, you may find that MySQL displays - "Invalid (old?) table or database name" errors that mention - .mysqlgui, lost+found, .mysqlgui, .bash_history, .fonts.cache-1, - .lesshst, .mysql_history, .profile, .viminfo, and similar files - created by MySQL or operating system utilities. You can safely - ignore these error messages or remove the files or directories - that cause them if you do not need them. + mysql are created on the system. This is done using the + useradd, groupadd, and usermod commands. Those commands + require appropriate administrative privileges, which is + required for locally managed users and groups (as listed in + the /etc/passwd and /etc/group files) by the RPM installation + process being run by root. + + If you log in as the mysql user, you may find that MySQL + displays "Invalid (old?) table or database name" errors that + mention .mysqlgui, lost+found, .mysqlgui, .bash_history, + .fonts.cache-1, .lesshst, .mysql_history, .profile, .viminfo, + and similar files created by MySQL or operating system + utilities. You can safely ignore these error messages or + remove the files or directories that cause them if you do not + need them. For nonlocal user management (LDAP, NIS, and so forth), the - administrative tools may require additional authentication (such - as a password), and will fail if the installing user does not - provide this authentication. Even if they fail, the RPM - installation will not abort but succeed, and this is intentional. - If they failed, some of the intended transfer of ownership may be - missing, and it is recommended that the system administrator then - manually ensures some appropriate user and group exists and - manually transfers ownership following the actions in the RPM spec - file. + administrative tools may require additional authentication + (such as a password), and will fail if the installing user + does not provide this authentication. Even if they fail, the + RPM installation will not abort but succeed, and this is + intentional. If they failed, some of the intended transfer of + ownership may be missing, and it is recommended that the + system administrator then manually ensures some appropriate + user and group exists and manually transfers ownership + following the actions in the RPM spec file. - In MySQL 5.5.31, the RPM spec file has been updated, which has the - following consequences: + In MySQL 5.5.31, the RPM spec file has been updated, which + has the following consequences: * For a non-upgrade installation (no existing MySQL version installed), it possible to install MySQL using yum. - * For upgrades, it is necessary to clean up any earlier MySQL - installations. In effect, the update is performed by removing - the old installations and installing the new one. + * For upgrades, it is necessary to clean up any earlier + MySQL installations. In effect, the update is performed + by removing the old installations and installing the new + one. Additional details follow. - For a non-upgrade installation of MySQL 5.5.31, it is possible to - install using yum: + For a non-upgrade installation of MySQL 5.5.31, it is + possible to install using yum: shell> yum install MySQL-server-NEWVERSION.glibc23.i386.rpm - For upgrades to MySQL 5.5.31, the upgrade is performed by removing - the old installation and installing the new one. To do this, use - the following procedure: + For upgrades to MySQL 5.5.31, the upgrade is performed by + removing the old installation and installing the new one. To + do this, use the following procedure: 1. Remove the existing 5.5.X installation. OLDVERSION is the version to remove. shell> rpm -e MySQL-server-OLDVERSION.glibc23.i386.rpm + Repeat this step for all installed MySQL RPMs. - 2. Install the new version. NEWVERSION is the version to install. + 2. Install the new version. NEWVERSION is the version to + install. shell> rpm -ivh MySQL-server-NEWVERSION.glibc23.i386.rpm - Alternatively, the removal and installation can be done using yum: + Alternatively, the removal and installation can be done using + yum: shell> yum remove MySQL-server-OLDVERSION.glibc23.i386.rpm shell> yum install MySQL-server-NEWVERSION.glibc23.i386.rpm 2.5.2 Installing MySQL on Linux Using Debian Packages Oracle provides Debian packages for installation on Debian or - Debian-like Linux systems. To obtain a package, see Section 2.1.3, - "How to Get MySQL." + Debian-like Linux systems. To obtain a package, see Section + 2.1.3, "How to Get MySQL." Note - Debian distributions of MySQL are also provided by other vendors. - Be aware that they may differ from those built by us in features, - capabilities, and conventions (including communication setup), and - that the instructions in this manual do not necessarily apply to - installing them. The vendor's instructions should be consulted - instead. - - Debian package files have names in mysql-MVER-DVER-CPU.deb format. - MVER is the MySQL version and DVER is the Debian version. The CPU - value indicates the processor type or family for which the package - is built, as shown in the following table. + Debian distributions of MySQL are also provided by other + vendors. Be aware that they may differ from those built by us + in features, capabilities, and conventions (including + communication setup), and that the instructions in this + manual do not necessarily apply to installing them. The + vendor's instructions should be consulted instead. + + Debian package files have names in mysql-MVER-DVER-CPU.deb + format. MVER is the MySQL version and DVER is the Debian + version. The CPU value indicates the processor type or family + for which the package is built, as shown in the following + table. - Table 2.15 MySQL Installation Packages for Linux CPU Identifiers + Table 2.15 MySQL Installation Packages for Linux CPU + Identifiers CPU Value Intended Processor Type or Family i686 Pentium processor or better, 32 bit x86_64 64-bit x86 processor - After downloading a Debian package, use the following command to - install it; + After downloading a Debian package, use the following command + to install it; shell> dpkg -i mysql-MVER-DVER-CPU.deb - The Debian package installs files in the /opt/mysql/server-5.5 - directory. + The Debian package installs files in the + /opt/mysql/server-5.5 directory. You may also need to install the libaio library if it is not already present on your system: @@ -4581,30 +5274,33 @@ 2.5.3 Installing MySQL on Linux Using Native Package Managers - Many Linux distributions include a version of the MySQL server, - client tools, and development components into the standard package - management system built into distributions such as Fedora, Debian, - Ubuntu, and Gentoo. This section provides basic instructions for - installing MySQL using these systems. + Many Linux distributions include a version of the MySQL + server, client tools, and development components into the + standard package management system built into distributions + such as Fedora, Debian, Ubuntu, and Gentoo. This section + provides basic instructions for installing MySQL using these + systems. Important - Native package installations can take care of the download and - dependencies required to run MySQL, but the MySQL version will - often be some way behind the currently available release. You will - also normally be unable to install development releases, as these - are not usually made available in the native repository. + Native package installations can take care of the download + and dependencies required to run MySQL, but the MySQL version + will often be some way behind the currently available + release. You will also normally be unable to install + development releases, as these are not usually made available + in the native repository. Distribution specific instructions are shown below: * Red Hat Linux, Fedora, CentOS - For Red Hat and similar distributions, the MySQL distribution - is divided into a number of separate packages, mysql for the - client tools, mysql-server for the server and associated - tools, and mysql-libs for the libraries. The libraries are - required if you want to provide connectivity from different - languages and environments such as Perl, Python and others. - To install, use the yum command to specify the packages that - you want to install. For example: + For Red Hat and similar distributions, the MySQL + distribution is divided into a number of separate + packages, mysql for the client tools, mysql-server for + the server and associated tools, and mysql-libs for the + libraries. The libraries are required if you want to + provide connectivity from different languages and + environments such as Perl, Python and others. + To install, use the yum command to specify the packages + that you want to install. For example: root-shell> yum install mysql mysql-server mysql-libs mysql-server Loaded plugins: presto, refresh-packagekit Setting up Install Process @@ -4613,34 +5309,34 @@ ---> Package mysql.x86_64 0:5.1.48-2.fc13 set to be updated ---> Package mysql-libs.x86_64 0:5.1.48-2.fc13 set to be updated ---> Package mysql-server.x86_64 0:5.1.48-2.fc13 set to be updated ---> Processing Dependency: perl-DBD-MySQL for package: mysql-server-5 -.1.48-2.fc13.x86_64 +--> Processing Dependency: perl-DBD-MySQL for package: mysql-server-5. +1.48-2.fc13.x86_64 --> Running transaction check ---> Package perl-DBD-MySQL.x86_64 0:4.017-1.fc13 set to be updated --> Finished Dependency Resolution Dependencies Resolved -===================================================================== -=========== +====================================================================== +========== Package Arch Version Repository - Size -===================================================================== -=========== + Size +====================================================================== +========== Installing: mysql x86_64 5.1.48-2.fc13 updates - 889 k + 889 k mysql-libs x86_64 5.1.48-2.fc13 updates - 1.2 M + 1.2 M mysql-server x86_64 5.1.48-2.fc13 updates - 8.1 M + 8.1 M Installing for dependencies: perl-DBD-MySQL x86_64 4.017-1.fc13 updates - 136 k + 136 k Transaction Summary -===================================================================== -=========== +====================================================================== +========== Install 4 Package(s) Upgrade 0 Package(s) @@ -4652,33 +5348,33 @@ Processing delta metadata Package(s) data still to download: 10 M (1/4): mysql-5.1.48-2.fc13.x86_64.rpm | 889 kB - 00:04 +00:04 (2/4): mysql-libs-5.1.48-2.fc13.x86_64.rpm | 1.2 MB - 00:06 +00:06 (3/4): mysql-server-5.1.48-2.fc13.x86_64.rpm | 8.1 MB - 00:40 +00:40 (4/4): perl-DBD-MySQL-4.017-1.fc13.x86_64.rpm | 136 kB - 00:00 ---------------------------------------------------------------------- ------------ +00:00 +---------------------------------------------------------------------- +---------- Total 201 kB/s | 10 MB - 00:52 +00:52 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : mysql-libs-5.1.48-2.fc13.x86_64 - 1/4 + 1/4 Installing : mysql-5.1.48-2.fc13.x86_64 - 2/4 + 2/4 Installing : perl-DBD-MySQL-4.017-1.fc13.x86_64 - 3/4 + 3/4 Installing : mysql-server-5.1.48-2.fc13.x86_64 - 4/4 + 4/4 Installed: - mysql.x86_64 0:5.1.48-2.fc13 mysql-libs.x86_64 0:5.1.48- -2.fc13 + mysql.x86_64 0:5.1.48-2.fc13 mysql-libs.x86_64 0:5.1.48-2 +.fc13 mysql-server.x86_64 0:5.1.48-2.fc13 Dependency Installed: @@ -4686,73 +5382,76 @@ Complete! - MySQL and the MySQL server should now be installed. A sample - configuration file is installed into /etc/my.cnf. An init - script, to start and stop the server, will have been installed - into /etc/init.d/mysqld. To start the MySQL server use - service: + + MySQL and the MySQL server should now be installed. A + sample configuration file is installed into /etc/my.cnf. + An init script, to start and stop the server, will have + been installed into /etc/init.d/mysqld. To start the + MySQL server use service: root-shell> service mysqld start - To enable the server to be started and stopped automatically - during boot, use chkconfig: + + To enable the server to be started and stopped + automatically during boot, use chkconfig: root-shell> chkconfig --levels 235 mysqld on - Which enables the MySQL server to be started (and stopped) - automatically at the specified the run levels. - The database tables will have been automatically created for - you, if they do not already exist. You should, however, run - mysql_secure_installation to set the root passwords on your - server. + + Which enables the MySQL server to be started (and + stopped) automatically at the specified the run levels. + The database tables will have been automatically created + for you, if they do not already exist. You should, + however, run mysql_secure_installation to set the root + passwords on your server. * Debian, Ubuntu, Kubuntu - On Debian and related distributions, there are two packages, - mysql-client and mysql-server, for the client and server - components respectively. You should specify an explicit - version, for example mysql-client-5.1, to ensure that you - install the version of MySQL that you want. - To download and install, including any dependencies, use the - apt-get command, specifying the packages that you want to - install. + On Debian and related distributions, there are two + packages, mysql-client and mysql-server, for the client + and server components respectively. You should specify an + explicit version, for example mysql-client-5.1, to ensure + that you install the version of MySQL that you want. + To download and install, including any dependencies, use + the apt-get command, specifying the packages that you + want to install. Note Before installing, make sure that you update your apt-get - index files to ensure you are downloading the latest available - version. - A sample installation of the MySQL packages might look like - this (some sections trimmed for clarity): + index files to ensure you are downloading the latest + available version. + A sample installation of the MySQL packages might look + like this (some sections trimmed for clarity): root-shell> apt-get install mysql-client-5.1 mysql-server-5.1 Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer - required: +required: linux-headers-2.6.28-11 linux-headers-2.6.28-11-generic Use 'apt-get autoremove' to remove them. The following extra packages will be installed: bsd-mailx libdbd-mysql-perl libdbi-perl libhtml-template-perl - libmysqlclient15off libmysqlclient16 libnet-daemon-perl libplrpc-pe -rl mailx + libmysqlclient15off libmysqlclient16 libnet-daemon-perl libplrpc-per +l mailx mysql-common postfix Suggested packages: - dbishell libipc-sharedcache-perl tinyca procmail postfix-mysql post -fix-pgsql + dbishell libipc-sharedcache-perl tinyca procmail postfix-mysql postf +ix-pgsql postfix-ldap postfix-pcre sasl2-bin resolvconf postfix-cdb The following NEW packages will be installed bsd-mailx libdbd-mysql-perl libdbi-perl libhtml-template-perl - libmysqlclient15off libmysqlclient16 libnet-daemon-perl libplrpc-pe -rl mailx + libmysqlclient15off libmysqlclient16 libnet-daemon-perl libplrpc-per +l mailx mysql-client-5.1 mysql-common mysql-server-5.1 postfix 0 upgraded, 13 newly installed, 0 to remove and 182 not upgraded. Need to get 1907kB/25.3MB of archives. After this operation, 59.5MB of additional disk space will be used. Do you want to continue [Y/n]? Y -Get: 1 http://gb.archive.ubuntu.com jaunty-updates/main mysql-common -5.1.30really5.0.75-0ubuntu10.5 [63.6kB] -Get: 2 http://gb.archive.ubuntu.com jaunty-updates/main libmysqlclien -t15off 5.1.30really5.0.75-0ubuntu10.5 [1843kB] +Get: 1 http://gb.archive.ubuntu.com jaunty-updates/main mysql-common 5 +.1.30really5.0.75-0ubuntu10.5 [63.6kB] +Get: 2 http://gb.archive.ubuntu.com jaunty-updates/main libmysqlclient +15off 5.1.30really5.0.75-0ubuntu10.5 [1843kB] Fetched 1907kB in 9s (205kB/s) Preconfiguring packages ... Selecting previously deselected package mysql-common. -(Reading database ... 121260 files and directories currently installe -d.) +(Reading database ... 121260 files and directories currently installed +.) ... Processing 1 added doc-base file(s)... Registering documents with scrollkeeper... @@ -4772,48 +5471,50 @@ ...done. 100825 11:46:15 InnoDB: Started; log sequence number 0 46409 100825 11:46:15 InnoDB: Starting shutdown... -100825 11:46:17 InnoDB: Shutdown completed; log sequence number 0 46 -409 +100825 11:46:17 InnoDB: Shutdown completed; log sequence number 0 464 +09 100825 11:46:17 [Warning] Forcing shutdown of 1 plugins * Starting MySQL database server mysqld ...done. - * Checking for corrupt, not cleanly closed and upgrade needing table -s. + * Checking for corrupt, not cleanly closed and upgrade needing tables +. ... Processing triggers for libc6 ... ldconfig deferred processing now taking place + Note The apt-get command will install a number of packages, - including the MySQL server, in order to provide the typical - tools and application environment. This can mean that you - install a large number of packages in addition to the main - MySQL package. - During installation, the initial database will be created, and - you will be prompted for the MySQL root password (and - confirmation). A configuration file will have been created in - /etc/mysql/my.cnf. An init script will have been created in - /etc/init.d/mysql. - The server will already be started. You can manually start and - stop the server using: + including the MySQL server, in order to provide the + typical tools and application environment. This can mean + that you install a large number of packages in addition + to the main MySQL package. + During installation, the initial database will be + created, and you will be prompted for the MySQL root + password (and confirmation). A configuration file will + have been created in /etc/mysql/my.cnf. An init script + will have been created in /etc/init.d/mysql. + The server will already be started. You can manually + start and stop the server using: root-shell> service mysql [start|stop] - The service will automatically be added to the 2, 3 and 4 run - levels, with stop scripts in the single, shutdown and restart - levels. + + The service will automatically be added to the 2, 3 and 4 + run levels, with stop scripts in the single, shutdown and + restart levels. * Gentoo Linux - As a source-based distribution, installing MySQL on Gentoo - involves downloading the source, patching the Gentoo - specifics, and then compiling the MySQL server and installing - it. This process is handled automatically by the emerge - command. Depending on the version of MySQL that you want to - install, you may need to unmask the specific version that you - want for your chosen platform. - The MySQL server and client tools are provided within a single - package, dev-db/mysql. You can obtain a list of the versions - available to install by looking at the portage directory for - the package: + As a source-based distribution, installing MySQL on + Gentoo involves downloading the source, patching the + Gentoo specifics, and then compiling the MySQL server and + installing it. This process is handled automatically by + the emerge command. Depending on the version of MySQL + that you want to install, you may need to unmask the + specific version that you want for your chosen platform. + The MySQL server and client tools are provided within a + single package, dev-db/mysql. You can obtain a list of + the versions available to install by looking at the + portage directory for the package: root-shell> ls /usr/portage/dev-db/mysql/mysql-5.1* mysql-5.1.39-r1.ebuild mysql-5.1.44-r1.ebuild @@ -4823,187 +5524,200 @@ mysql-5.1.45-r1.ebuild mysql-5.1.45.ebuild mysql-5.1.46.ebuild + To install a specific MySQL version, you must specify the entire atom. For example: root-shell> emerge =dev-db/mysql-5.1.46 - A simpler alternative is to use the virtual/mysql-5.1 package, - which will install the latest version: + + A simpler alternative is to use the virtual/mysql-5.1 + package, which will install the latest version: root-shell> emerge =virtual/mysql-5.1 + If the package is masked (because it is not tested or - certified for the current platform), use the ACCEPT_KEYWORDS - environment variable. For example: + certified for the current platform), use the + ACCEPT_KEYWORDS environment variable. For example: root-shell> ACCEPT_KEYWORDS="~x86" emerge =virtual/mysql-5.1 - After installation, you should create a new database using - mysql_install_db, and set the password for the root user on - MySQL. You can use the configuration interface to set the - password and create the initial database: + + After installation, you should create a new database + using mysql_install_db, and set the password for the root + user on MySQL. You can use the configuration interface to + set the password and create the initial database: root-shell> emerge --config =dev-db/mysql-5.1.46 - A sample configuration file will have been created for you in - /etc/mysql/my.cnf, and an init script will have been created - in /etc/init.d/mysql. - To enable MySQL to start automatically at the normal (default) - run levels, you can use: + + A sample configuration file will have been created for + you in /etc/mysql/my.cnf, and an init script will have + been created in /etc/init.d/mysql. + To enable MySQL to start automatically at the normal + (default) run levels, you can use: root-shell> rc-update add mysql default 2.6 Installing MySQL Using Unbreakable Linux Network (ULN) Linux supports a number of different solutions for installing - MySQL, covered in Section 2.5, "Installing MySQL on Linux." One of - the methods, covered in this section, is installing from Oracles's - Unbreakable Linux Network (ULN). You can find information about - Oracle Linux and ULN under http://linux.oracle.com/. + MySQL, covered in Section 2.5, "Installing MySQL on Linux." + One of the methods, covered in this section, is installing + from Oracles's Unbreakable Linux Network (ULN). You can find + information about Oracle Linux and ULN under + http://linux.oracle.com/. To use ULN, you need to obtain a ULN login and register the machine used for installation with ULN. This is described in - detail in the ULN FAQ (https://linux.oracle.com/uln_faq.html). The - page also describes how to install and update packages.The MySQL - packages are in the "MySQL for Oracle Linux 6" channel for your - system architecture on ULN. + detail in the ULN FAQ + (https://linux.oracle.com/uln_faq.html). The page also + describes how to install and update packages.The MySQL + packages are in the "MySQL for Oracle Linux 6" channel for + your system architecture on ULN. Note - At the time of this writing, ULN provides MySQL 5.5 for Oracle - Linux 6. - - Once MySQL has been installed using ULN, you can find information - on starting and stopping the server, and more, in this section, - particularly under Section 2.5.1, "Installing MySQL on Linux Using - RPM Packages." + At the time of this writing, ULN provides MySQL 5.5 for + Oracle Linux 6. + + Once MySQL has been installed using ULN, you can find + information on starting and stopping the server, and more, in + this section, particularly under Section 2.5.1, "Installing + MySQL on Linux Using RPM Packages." If you're updating an existing MySQL installation to an - installation using ULN, the recommended procedure is to export - your data using mysqldump, remove the existing installation, - install MySQL from ULN, and load the exported data into your - freshly installed MySQL. - - If the existing MySQL installation you're upgrading from is from a - previous release series (prior to MySQL 5.5), make sure to read - the section on upgrading MySQL, Section 2.11.1, "Upgrading MySQL." + installation using ULN, the recommended procedure is to + export your data using mysqldump, remove the existing + installation, install MySQL from ULN, and load the exported + data into your freshly installed MySQL. + + If the existing MySQL installation you're upgrading from is + from a previous release series (prior to MySQL 5.5), make + sure to read the section on upgrading MySQL, Section 2.11.1, + "Upgrading MySQL." 2.7 Installing MySQL on Solaris and OpenSolaris MySQL on Solaris and OpenSolaris is available in a number of different formats. - * For information on installing using the native Solaris PKG - format, see Section 2.7.1, "Installing MySQL on Solaris Using - a Solaris PKG." + * For information on installing using the native Solaris + PKG format, see Section 2.7.1, "Installing MySQL on + Solaris Using a Solaris PKG." * On OpenSolaris, the standard package repositories include - MySQL packages specially built for OpenSolaris that include - entries for the Service Management Framework (SMF) to enable - control of the installation using the SMF administration - commands. For more information, see Section 2.7.2, "Installing - MySQL on OpenSolaris Using IPS." + MySQL packages specially built for OpenSolaris that + include entries for the Service Management Framework + (SMF) to enable control of the installation using the SMF + administration commands. For more information, see + Section 2.7.2, "Installing MySQL on OpenSolaris Using + IPS." * To use a standard tar binary installation, use the notes - provided in Section 2.2, "Installing MySQL on Unix/Linux Using - Generic Binaries." Check the notes and hints at the end of - this section for Solaris specific notes that you may need - before or after installation. + provided in Section 2.2, "Installing MySQL on Unix/Linux + Using Generic Binaries." Check the notes and hints at the + end of this section for Solaris specific notes that you + may need before or after installation. - To obtain a binary MySQL distribution for Solaris in tarball or - PKG format, http://dev.mysql.com/downloads/mysql/5.5.html. + To obtain a binary MySQL distribution for Solaris in tarball + or PKG format, http://dev.mysql.com/downloads/mysql/5.5.html. - Additional notes to be aware of when installing and using MySQL on - Solaris: + Additional notes to be aware of when installing and using + MySQL on Solaris: - * If you want to use MySQL with the mysql user and group, use - the groupadd and useradd commands: + * If you want to use MySQL with the mysql user and group, + use the groupadd and useradd commands: groupadd mysql useradd -g mysql mysql - * If you install MySQL using a binary tarball distribution on - Solaris, you may run into trouble even before you get the - MySQL distribution unpacked, as the Solaris tar cannot handle - long file names. This means that you may see errors when you - try to unpack MySQL. - If this occurs, you must use GNU tar (gtar) to unpack the - distribution. In Solaris 10 and OpenSolaris gtar is normally - located in /usr/sfw/bin/gtar, but may not be included in the - default path definition. - - * When using Solaris 10 for x86_64, you should mount any file - systems on which you intend to store InnoDB files with the - forcedirectio option. (By default mounting is done without - this option.) Failing to do so will cause a significant drop - in performance when using the InnoDB storage engine on this - platform. - * If you would like MySQL to start automatically, you can copy - support-files/mysql.server to /etc/init.d and create a - symbolic link to it named /etc/rc3.d/S99mysql.server. + * If you install MySQL using a binary tarball distribution + on Solaris, you may run into trouble even before you get + the MySQL distribution unpacked, as the Solaris tar + cannot handle long file names. This means that you may + see errors when you try to unpack MySQL. + If this occurs, you must use GNU tar (gtar) to unpack the + distribution. In Solaris 10 and OpenSolaris gtar is + normally located in /usr/sfw/bin/gtar, but may not be + included in the default path definition. + + * When using Solaris 10 for x86_64, you should mount any + file systems on which you intend to store InnoDB files + with the forcedirectio option. (By default mounting is + done without this option.) Failing to do so will cause a + significant drop in performance when using the InnoDB + storage engine on this platform. + + * If you would like MySQL to start automatically, you can + copy support-files/mysql.server to /etc/init.d and create + a symbolic link to it named /etc/rc3.d/S99mysql.server. - * If too many processes try to connect very rapidly to mysqld, - you should see this error in the MySQL log: + * If too many processes try to connect very rapidly to + mysqld, you should see this error in the MySQL log: Error in accept: Protocol error + You might try starting the server with the --back_log=50 option as a workaround for this. * To configure the generation of core files on Solaris you should use the coreadm command. Because of the security - implications of generating a core on a setuid() application, - by default, Solaris does not support core files on setuid() - programs. However, you can modify this behavior using coreadm. - If you enable setuid() core files for the current user, they - will be generated using the mode 600 and owned by the - superuser. + implications of generating a core on a setuid() + application, by default, Solaris does not support core + files on setuid() programs. However, you can modify this + behavior using coreadm. If you enable setuid() core files + for the current user, they will be generated using the + mode 600 and owned by the superuser. 2.7.1 Installing MySQL on Solaris Using a Solaris PKG - You can install MySQL on Solaris and OpenSolaris using a binary - package using the native Solaris PKG format instead of the binary - tarball distribution. + You can install MySQL on Solaris and OpenSolaris using a + binary package using the native Solaris PKG format instead of + the binary tarball distribution. To use this package, download the corresponding - mysql-VERSION-solaris10-PLATFORM.pkg.gz file, then uncompress it. - For example: -shell> gunzip mysql-5.5.41-solaris10-x86_64.pkg.gz + mysql-VERSION-solaris10-PLATFORM.pkg.gz file, then uncompress + it. For example: +shell> gunzip mysql-5.5.42-solaris10-x86_64.pkg.gz To install a new package, use pkgadd and follow the onscreen - prompts. You must have root privileges to perform this operation: -shell> pkgadd -d mysql-5.5.41-solaris10-x86_64.pkg + prompts. You must have root privileges to perform this + operation: +shell> pkgadd -d mysql-5.5.42-solaris10-x86_64.pkg The following packages are available: 1 mysql MySQL Community Server (GPL) - (i86pc) 5.5.41 + (i86pc) 5.5.42 Select package(s) you wish to process (or 'all' to process all packages). (default: all) [?,??,q]: - The PKG installer installs all of the files and tools needed, and - then initializes your database if one does not exist. To complete - the installation, you should set the root password for MySQL as - provided in the instructions at the end of the installation. - Alternatively, you can run the mysql_secure_installation script - that comes with the installation. - - By default, the PKG package installs MySQL under the root path - /opt/mysql. You can change only the installation root path when - using pkgadd, which can be used to install MySQL in a different - Solaris zone. If you need to install in a specific directory, use - a binary tar file distribution. - - The pkg installer copies a suitable startup script for MySQL into - /etc/init.d/mysql. To enable MySQL to startup and shutdown - automatically, you should create a link between this file and the - init script directories. For example, to ensure safe startup and - shutdown of MySQL you could use the following commands to add the - right links: + The PKG installer installs all of the files and tools needed, + and then initializes your database if one does not exist. To + complete the installation, you should set the root password + for MySQL as provided in the instructions at the end of the + installation. Alternatively, you can run the + mysql_secure_installation script that comes with the + installation. + + By default, the PKG package installs MySQL under the root + path /opt/mysql. You can change only the installation root + path when using pkgadd, which can be used to install MySQL in + a different Solaris zone. If you need to install in a + specific directory, use a binary tar file distribution. + + The pkg installer copies a suitable startup script for MySQL + into /etc/init.d/mysql. To enable MySQL to startup and + shutdown automatically, you should create a link between this + file and the init script directories. For example, to ensure + safe startup and shutdown of MySQL you could use the + following commands to add the right links: shell> ln /etc/init.d/mysql /etc/rc3.d/S91mysql shell> ln /etc/init.d/mysql /etc/rc0.d/K02mysql - To remove MySQL, the installed package name is mysql. You can use - this in combination with the pkgrm command to remove the + To remove MySQL, the installed package name is mysql. You can + use this in combination with the pkgrm command to remove the installation. - To upgrade when using the Solaris package file format, you must - remove the existing installation before installing the updated - package. Removal of the package does not delete the existing - database information, only the server, binaries and support files. - The typical upgrade sequence is therefore: + To upgrade when using the Solaris package file format, you + must remove the existing installation before installing the + updated package. Removal of the package does not delete the + existing database information, only the server, binaries and + support files. The typical upgrade sequence is therefore: shell> mysqladmin shutdown shell> pkgrm mysql -shell> pkgadd -d mysql-5.5.41-solaris10-x86_64.pkg +shell> pkgadd -d mysql-5.5.42-solaris10-x86_64.pkg shell> mysqld_safe & shell> mysql_upgrade @@ -5013,68 +5727,70 @@ 2.7.2 Installing MySQL on OpenSolaris Using IPS OpenSolaris includes standard packages for MySQL in the core - repository. The MySQL packages are based on a specific release of - MySQL and updated periodically. For the latest release you must - use either the native Solaris PKG, tar, or source installations. - The native OpenSolaris packages include SMF files so that you can - easily control your MySQL installation, including automatic - startup and recovery, using the native service management tools. - - To install MySQL on OpenSolaris, use the pkg command. You will - need to be logged in as root, or use the pfexec tool, as shown in - the example below: + repository. The MySQL packages are based on a specific + release of MySQL and updated periodically. For the latest + release you must use either the native Solaris PKG, tar, or + source installations. The native OpenSolaris packages include + SMF files so that you can easily control your MySQL + installation, including automatic startup and recovery, using + the native service management tools. + + To install MySQL on OpenSolaris, use the pkg command. You + will need to be logged in as root, or use the pfexec tool, as + shown in the example below: shell> pfexec pkg install SUNWmysql55 The package set installs three individual packages, SUNWmysql55lib, which contains the MySQL client libraries; - SUNWmysql55r which contains the root components, including SMF and - configuration files; and SUNWmysql55u which contains the scripts, - binary tools and other files. You can install these packages - individually if you only need the corresponding components. - - The MySQL files are installed into /usr/mysql which symbolic links - for the sub directories (bin, lib, etc.) to a version specific - directory. For MySQL 5.5, the full installation is located in - /usr/mysql/5.5. The default data directory is /var/mysql/5.5/data. - The configuration file is installed in /etc/mysql/5.5/my.cnf. This - layout permits multiple versions of MySQL to be installed, without - overwriting the data and binaries from other versions. - - Once installed, you must run mysql_install_db to initialize the - database, and use the mysql_secure_installation to secure your - installation. + SUNWmysql55r which contains the root components, including + SMF and configuration files; and SUNWmysql55u which contains + the scripts, binary tools and other files. You can install + these packages individually if you only need the + corresponding components. + + The MySQL files are installed into /usr/mysql which symbolic + links for the sub directories (bin, lib, etc.) to a version + specific directory. For MySQL 5.5, the full installation is + located in /usr/mysql/5.5. The default data directory is + /var/mysql/5.5/data. The configuration file is installed in + /etc/mysql/5.5/my.cnf. This layout permits multiple versions + of MySQL to be installed, without overwriting the data and + binaries from other versions. + + Once installed, you must run mysql_install_db to initialize + the database, and use the mysql_secure_installation to secure + your installation. Using SMF to manage your MySQL installation - Once installed, you can start and stop your MySQL server using the - installed SMF configuration. The service name is mysql, or if you - have multiple versions installed, you should use the full version - name, for example mysql:version_55. To start and enable MySQL to - be started at boot time: + Once installed, you can start and stop your MySQL server + using the installed SMF configuration. The service name is + mysql, or if you have multiple versions installed, you should + use the full version name, for example mysql:version_55. To + start and enable MySQL to be started at boot time: shell> svcadm enable mysql To disable MySQL from starting during boot time, and shut the MySQL server down if it is running, use: shell> svcadm disable mysql - To restart MySQL, for example after a configuration file changes, - use the restart option: + To restart MySQL, for example after a configuration file + changes, use the restart option: shell> svcadm restart mysql - You can also use SMF to configure the data directory and enable - full 64-bit mode. For example, to set the data directory used by - MySQL: -shell> svccfg -svc:> select mysql:version_55 -svc:/application/database/mysql:version_55> setprop mysql/data=/data0 -/mysql - + You can also use SMF to configure the data directory and + enable full 64-bit mode. For example, to set the data + directory used by MySQL: +shell> svccfg +svc:> select mysql:version_55 +svc:/application/database/mysql:version_55> setprop mysql/data=/data0/ +mysql - By default, the 32-bit binaries are used. To enable the 64-bit - server on 64-bit platforms, set the enable_64bit parameter. For - example: -svc:/application/database/mysql:version_55> setprop mysql/enable_64bi -t=1 + By default, the 32-bit binaries are used. To enable the + 64-bit server on 64-bit platforms, set the enable_64bit + parameter. For example: +svc:/application/database/mysql:version_55> setprop mysql/enable_64bit +=1 You need to refresh the SMF after settings these options: shell> svcadm refresh mysql @@ -5084,17 +5800,18 @@ This section provides information about installing MySQL on variants of FreeBSD Unix. - You can install MySQL on FreeBSD by using the binary distribution - provided by Oracle. For more information, see Section 2.2, - "Installing MySQL on Unix/Linux Using Generic Binaries." - - The easiest (and preferred) way to install MySQL is to use the - mysql-server and mysql-client ports available at - http://www.freebsd.org/. Using these ports gives you the following - benefits: + You can install MySQL on FreeBSD by using the binary + distribution provided by Oracle. For more information, see + Section 2.2, "Installing MySQL on Unix/Linux Using Generic + Binaries." + + The easiest (and preferred) way to install MySQL is to use + the mysql-server and mysql-client ports available at + http://www.freebsd.org/. Using these ports gives you the + following benefits: - * A working MySQL with all optimizations enabled that are known - to work on your version of FreeBSD. + * A working MySQL with all optimizations enabled that are + known to work on your version of FreeBSD. * Automatic configuration and build. @@ -5103,12 +5820,12 @@ * The ability to use pkg_info -L to see which files are installed. - * The ability to use pkg_delete to remove MySQL if you no longer - want it on your machine. + * The ability to use pkg_delete to remove MySQL if you no + longer want it on your machine. - The MySQL build process requires GNU make (gmake) to work. If GNU - make is not available, you must install it first before compiling - MySQL. + The MySQL build process requires GNU make (gmake) to work. If + GNU make is not available, you must install it first before + compiling MySQL. To install using the ports system: # cd /usr/ports/databases/mysql51-server @@ -5119,12 +5836,13 @@ ... The standard port installation places the server into - /usr/local/libexec/mysqld, with the startup script for the MySQL - server placed in /usr/local/etc/rc.d/mysql-server. + /usr/local/libexec/mysqld, with the startup script for the + MySQL server placed in /usr/local/etc/rc.d/mysql-server. Some additional notes on the BSD implementation: - * To remove MySQL after installation using the ports system: + * To remove MySQL after installation using the ports + system: # cd /usr/ports/databases/mysql51-server # make deinstall ... @@ -5132,205 +5850,223 @@ # make deinstall ... - * If you get problems with the current date in MySQL, setting - the TZ variable should help. See Section 2.12, "Environment - Variables." + + * If you get problems with the current date in MySQL, + setting the TZ variable should help. See Section 2.12, + "Environment Variables." 2.9 Installing MySQL from Source - Building MySQL from the source code enables you to customize build - parameters, compiler optimizations, and installation location. For - a list of systems on which MySQL is known to run, see - http://www.mysql.com/support/supportedplatforms/database.html. - - Before you proceed with an installation from source, check whether - Oracle produces a precompiled binary distribution for your - platform and whether it works for you. We put a great deal of - effort into ensuring that our binaries are built with the best - possible options for optimal performance. Instructions for - installing binary distributions are available in Section 2.2, - "Installing MySQL on Unix/Linux Using Generic Binaries." - Note - - This section describes how to build MySQL from source using CMake. - Before MySQL 5.5, source builds used the GNU autotools on - Unix-like systems. Source builds on Windows used CMake, but the - process was different from that described here. For + Building MySQL from the source code enables you to customize + build parameters, compiler optimizations, and installation + location. For a list of systems on which MySQL is known to + run, see + http://www.mysql.com/support/supportedplatforms/database.html + . + + Before you proceed with an installation from source, check + whether Oracle produces a precompiled binary distribution for + your platform and whether it works for you. We put a great + deal of effort into ensuring that our binaries are built with + the best possible options for optimal performance. + Instructions for installing binary distributions are + available in Section 2.2, "Installing MySQL on Unix/Linux + Using Generic Binaries." + Note + + This section describes how to build MySQL from source using + CMake. Before MySQL 5.5, source builds used the GNU autotools + on Unix-like systems. Source builds on Windows used CMake, + but the process was different from that described here. For source-building instructions for older versions of MySQL, see Installing MySQL from Source - (http://dev.mysql.com/doc/refman/5.1/en/source-installation.html), - in the MySQL 5.1 Reference Manual. If you are familiar with - autotools but not CMake, you might find these transition + (http://dev.mysql.com/doc/refman/5.1/en/source-installation.h + tml), in the MySQL 5.1 Reference Manual. If you are familiar + with autotools but not CMake, you might find these transition instructions helpful: Autotools to CMake Transition Guide - (http://dev.mysql.com/doc/internals/en/autotools-to-cmake.html) + (http://dev.mysql.com/doc/internals/en/autotools-to-cmake.htm + l) Source Installation Methods There are two methods for installing MySQL from source: - * Use a standard MySQL source distribution. To obtain a standard - distribution, see Section 2.1.3, "How to Get MySQL." For - instructions on building from a standard distribution, see - Section 2.9.2, "Installing MySQL Using a Standard Source - Distribution." - Standard distributions are available as compressed tar files, - Zip archives, or RPM packages. Distribution files have names - of the form mysql-VERSION.tar.gz, mysql-VERSION.zip, or - mysql-VERSION.rpm, where VERSION is a number like 5.5.41. File - names for source distributions can be distinguished from those - for precompiled binary distributions in that source - distribution names are generic and include no platform name, - whereas binary distribution names include a platform name - indicating the type of system for which the distribution is - intended (for example, pc-linux-i686 or winx64). + * Use a standard MySQL source distribution. To obtain a + standard distribution, see Section 2.1.3, "How to Get + MySQL." For instructions on building from a standard + distribution, see Section 2.9.2, "Installing MySQL Using + a Standard Source Distribution." + Standard distributions are available as compressed tar + files, Zip archives, or RPM packages. Distribution files + have names of the form mysql-VERSION.tar.gz, + mysql-VERSION.zip, or mysql-VERSION.rpm, where VERSION is + a number like 5.5.42. File names for source distributions + can be distinguished from those for precompiled binary + distributions in that source distribution names are + generic and include no platform name, whereas binary + distribution names include a platform name indicating the + type of system for which the distribution is intended + (for example, pc-linux-i686 or winx64). * Use a MySQL development tree. Development trees have not - necessarily received the same level of testing as standard - release distributions, so this installation method is usually - required only if you need the most recent code changes. For - information on building from one of the development trees, see - Section 2.9.3, "Installing MySQL Using a Development Source - Tree." + necessarily received the same level of testing as + standard release distributions, so this installation + method is usually required only if you need the most + recent code changes. For information on building from one + of the development trees, see Section 2.9.3, "Installing + MySQL Using a Development Source Tree." Source Installation System Requirements - Installation of MySQL from source requires several development - tools. Some of these tools are needed no matter whether you use a - standard source distribution or a development source tree. Other - tool requirements depend on which installation method you use. - - To install MySQL from source, your system must have the following - tools, regardless of installation method: - - * CMake, which is used as the build framework on all platforms. - CMake can be downloaded from http://www.cmake.org. - - * A good make program. Although some platforms come with their - own make implementations, it is highly recommended that you - use GNU make 3.75 or newer. It may already be available on - your system as gmake. GNU make is available from - http://www.gnu.org/software/make/. - - * A working ANSI C++ compiler. GCC 4.2.1 or later, Sun Studio 12 - or later, Visual Studio 2008 or later, and many current - vendor-supplied compilers are known to work. + Installation of MySQL from source requires several + development tools. Some of these tools are needed no matter + whether you use a standard source distribution or a + development source tree. Other tool requirements depend on + which installation method you use. + + To install MySQL from source, your system must have the + following tools, regardless of installation method: + + * CMake, which is used as the build framework on all + platforms. CMake can be downloaded from + http://www.cmake.org. + + * A good make program. Although some platforms come with + their own make implementations, it is highly recommended + that you use GNU make 3.75 or newer. It may already be + available on your system as gmake. GNU make is available + from http://www.gnu.org/software/make/. + + * A working ANSI C++ compiler. GCC 4.2.1 or later, Sun + Studio 12 or later, Visual Studio 2008 or later, and many + current vendor-supplied compilers are known to work. * Perl is needed if you intend to run test scripts. Most Unix-like systems include Perl. On Windows, you can use a version such as ActiveState Perl. - To install MySQL from a standard source distribution, one of the - following tools is required to unpack the distribution file: + To install MySQL from a standard source distribution, one of + the following tools is required to unpack the distribution + file: + + * For a .tar.gz compressed tar file: GNU gunzip to + uncompress the distribution and a reasonable tar to + unpack it. If your tar program supports the z option, it + can both uncompress and unpack the file. + GNU tar is known to work. The standard tar provided with + some operating systems is not able to unpack the long + file names in the MySQL distribution. You should download + and install GNU tar, or if available, use a preinstalled + version of GNU tar. Usually this is available as gnutar, + gtar, or as tar within a GNU or Free Software directory, + such as /usr/sfw/bin or /usr/local/bin. GNU tar is + available from http://www.gnu.org/software/tar/. + + * For a .zip Zip archive: WinZip or another tool that can + read .zip files. - * For a .tar.gz compressed tar file: GNU gunzip to uncompress - the distribution and a reasonable tar to unpack it. If your - tar program supports the z option, it can both uncompress and - unpack the file. - GNU tar is known to work. The standard tar provided with some - operating systems is not able to unpack the long file names in - the MySQL distribution. You should download and install GNU - tar, or if available, use a preinstalled version of GNU tar. - Usually this is available as gnutar, gtar, or as tar within a - GNU or Free Software directory, such as /usr/sfw/bin or - /usr/local/bin. GNU tar is available from - http://www.gnu.org/software/tar/. - - * For a .zip Zip archive: WinZip or another tool that can read - .zip files. - - * For an .rpm RPM package: The rpmbuild program used to build - the distribution unpacks it. - - To install MySQL from a development source tree, the following - additional tools are required: - - * To obtain the source tree, you must have Bazaar installed. The - Bazaar VCS Web site (http://bazaar-vcs.org) has instructions - for downloading and installing Bazaar on different platforms. - Bazaar is supported on any platform that supports Python, and - is therefore compatible with any Linux, Unix, Windows, or Mac - OS X host. - - * bison is needed to generate sql_yacc.cc from sql_yacc.yy You - should use the latest version of bison where possible. - Versions 1.75 and 2.1 are known to work. There have been - reported problems with bison 1.875. If you experience - problems, upgrade to a later, rather than earlier, version. - bison is available from http://www.gnu.org/software/bison/. - bison for Windows can be downloaded from - http://gnuwin32.sourceforge.net/packages/bison.htm. Download - the package labeled "Complete package, excluding sources". On - Windows, the default location for bison is the C:\Program - Files\GnuWin32 directory. Some utilities may fail to find - bison because of the space in the directory name. Also, Visual - Studio may simply hang if there are spaces in the path. You - can resolve these problems by installing into a directory that - does not contain a space; for example C:\GnuWin32. + * For an .rpm RPM package: The rpmbuild program used to + build the distribution unpacks it. - * On OpenSolaris and Solaris Express, m4 must be installed in - addition to bison. m4 is available from + To install MySQL from a development source tree, the + following additional tools are required: + + * To obtain the source tree, you must have Bazaar + installed. The Bazaar VCS Web site + (http://bazaar-vcs.org) has instructions for downloading + and installing Bazaar on different platforms. Bazaar is + supported on any platform that supports Python, and is + therefore compatible with any Linux, Unix, Windows, or + Mac OS X host. + + * bison 2.1 or newer, available from + http://www.gnu.org/software/bison/. (Version 1 is no + longer supported.) Use the latest version of bison where + possible; if you experience problems, upgrade to a later + version, rather than revert to an earlier one. + bison is available from + http://www.gnu.org/software/bison/. bison for Windows can + be downloaded from + http://gnuwin32.sourceforge.net/packages/bison.htm. + Download the package labeled "Complete package, excluding + sources". On Windows, the default location for bison is + the C:\Program Files\GnuWin32 directory. Some utilities + may fail to find bison because of the space in the + directory name. Also, Visual Studio may simply hang if + there are spaces in the path. You can resolve these + problems by installing into a directory that does not + contain a space; for example C:\GnuWin32. + + * On OpenSolaris and Solaris Express, m4 must be installed + in addition to bison. m4 is available from http://www.gnu.org/software/m4/. Note - If you have to install any programs, modify your PATH environment - variable to include any directories in which the programs are - located. See Section 4.2.10, "Setting Environment Variables." + If you have to install any programs, modify your PATH + environment variable to include any directories in which the + programs are located. See Section 4.2.10, "Setting + Environment Variables." - If you run into problems and need to file a bug report, please use - the instructions in Section 1.7, "How to Report Bugs or Problems." + If you run into problems and need to file a bug report, + please use the instructions in Section 1.7, "How to Report + Bugs or Problems." 2.9.1 MySQL Layout for Source Installation - By default, when you install MySQL after compiling it from source, - the installation step installs files under /usr/local/mysql. The - component locations under the installation directory are the same - as for binary distributions. See Section 2.2, "MySQL Installation - Layout for Generic Unix/Linux Binary Package," and Section 2.3.1, - "MySQL Installation Layout on Microsoft Windows." To configure - installation locations different from the defaults, use the - options described at Section 2.9.4, "MySQL Source-Configuration - Options." + By default, when you install MySQL after compiling it from + source, the installation step installs files under + /usr/local/mysql. The component locations under the + installation directory are the same as for binary + distributions. See Section 2.2, "MySQL Installation Layout + for Generic Unix/Linux Binary Package," and Section 2.3.1, + "MySQL Installation Layout on Microsoft Windows." To + configure installation locations different from the defaults, + use the options described at Section 2.9.4, "MySQL + Source-Configuration Options." 2.9.2 Installing MySQL Using a Standard Source Distribution To install MySQL from a standard source distribution: - 1. Verify that your system satisfies the tool requirements listed - at Section 2.9, "Installing MySQL from Source." + 1. Verify that your system satisfies the tool requirements + listed at Section 2.9, "Installing MySQL from Source." - 2. Obtain a distribution file using the instructions in Section - 2.1.3, "How to Get MySQL." + 2. Obtain a distribution file using the instructions in + Section 2.1.3, "How to Get MySQL." 3. Configure, build, and install the distribution using the instructions in this section. - 4. Perform postinstallation procedures using the instructions in - Section 2.10, "Postinstallation Setup and Testing." + 4. Perform postinstallation procedures using the + instructions in Section 2.10, "Postinstallation Setup and + Testing." In MySQL 5.5, CMake is used as the build framework on all platforms. The instructions given here should enable you to produce a working installation. For additional information on - using CMake to build MySQL, see How to Build MySQL Server with - CMake (http://dev.mysql.com/doc/internals/en/cmake.html). - - If you start from a source RPM, use the following command to make - a binary RPM that you can install. If you do not have rpmbuild, - use rpm instead. + using CMake to build MySQL, see How to Build MySQL Server + with CMake + (http://dev.mysql.com/doc/internals/en/cmake.html). + + If you start from a source RPM, use the following command to + make a binary RPM that you can install. If you do not have + rpmbuild, use rpm instead. shell> rpmbuild --rebuild --clean MySQL-VERSION.src.rpm - The result is one or more binary RPM packages that you install as - indicated in Section 2.5.1, "Installing MySQL on Linux Using RPM - Packages." - - The sequence for installation from a compressed tar file or Zip - archive source distribution is similar to the process for - installing from a generic binary distribution (see Section 2.2, - "Installing MySQL on Unix/Linux Using Generic Binaries"), except - that it is used on all platforms and includes steps to configure - and compile the distribution. For example, with a compressed tar - file source distribution on Unix, the basic installation command - sequence looks like this: + The result is one or more binary RPM packages that you + install as indicated in Section 2.5.1, "Installing MySQL on + Linux Using RPM Packages." + + The sequence for installation from a compressed tar file or + Zip archive source distribution is similar to the process for + installing from a generic binary distribution (see Section + 2.2, "Installing MySQL on Unix/Linux Using Generic + Binaries"), except that it is used on all platforms and + includes steps to configure and compile the distribution. For + example, with a compressed tar file source distribution on + Unix, the basic installation command sequence looks like + this: # Preconfiguration setup shell> groupadd mysql shell> useradd -r -g mysql mysql @@ -5354,45 +6090,49 @@ # Next command is optional shell> cp support-files/mysql.server /etc/init.d/mysql.server - A more detailed version of the source-build specific instructions - is shown following. + A more detailed version of the source-build specific + instructions is shown following. Note - The procedure shown here does not set up any passwords for MySQL - accounts. After following the procedure, proceed to Section 2.10, - "Postinstallation Setup and Testing," for postinstallation setup - and testing. + The procedure shown here does not set up any passwords for + MySQL accounts. After following the procedure, proceed to + Section 2.10, "Postinstallation Setup and Testing," for + postinstallation setup and testing. Perform Preconfiguration Setup - On Unix, set up the mysql user and group that will be used to run - and execute the MySQL server and own the database directory. For - details, see Creating a mysql System User and Group, in Section - 2.2, "Installing MySQL on Unix/Linux Using Generic Binaries." Then - perform the following steps as the mysql user, except as noted. + On Unix, set up the mysql user and group that will be used to + run and execute the MySQL server and own the database + directory. For details, see Creating a mysql System User and + Group, in Section 2.2, "Installing MySQL on Unix/Linux Using + Generic Binaries." Then perform the following steps as the + mysql user, except as noted. Obtain and Unpack the Distribution - Pick the directory under which you want to unpack the distribution - and change location into it. + Pick the directory under which you want to unpack the + distribution and change location into it. Obtain a distribution file using the instructions in Section 2.1.3, "How to Get MySQL." Unpack the distribution into the current directory: - * To unpack a compressed tar file, tar can uncompress and unpack - the distribution if it has z option support: + * To unpack a compressed tar file, tar can uncompress and + unpack the distribution if it has z option support: shell> tar zxvf mysql-VERSION.tar.gz + If your tar does not have z option support, use gunzip to unpack the distribution and tar to unpack it: shell> gunzip < mysql-VERSION.tar.gz | tar xvf - + Alternatively, CMake can uncompress and unpack the distribution: shell> cmake -E tar zxvf mysql-VERSION.tar.gz - * To unpack a Zip archive, use WinZip or another tool that can - read .zip files. + + * To unpack a Zip archive, use WinZip or another tool that + can read .zip files. Unpacking the distribution file creates a directory named mysql-VERSION. @@ -5403,36 +6143,40 @@ distribution: shell> cd mysql-VERSION - Configure the source directory. The minimum configuration command - includes no options to override configuration defaults: + Configure the source directory. The minimum configuration + command includes no options to override configuration + defaults: shell> cmake . - On Windows, specify the development environment. For example, the - following commands configure MySQL for 32-bit or 64-bit builds, - respectively: + On Windows, specify the development environment. For example, + the following commands configure MySQL for 32-bit or 64-bit + builds, respectively: shell> cmake . -G "Visual Studio 9 2008" shell> cmake . -G "Visual Studio 9 2008 Win64" On Mac OS X, to use the Xcode IDE: shell> cmake . -G Xcode - When you run cmake, you might want to add options to the command - line. Here are some examples: + When you run cmake, you might want to add options to the + command line. Here are some examples: - * -DBUILD_CONFIG=mysql_release: Configure the source with the - same build options used by Oracle to produce binary + * -DBUILD_CONFIG=mysql_release: Configure the source with + the same build options used by Oracle to produce binary distributions for official MySQL releases. - * -DCMAKE_INSTALL_PREFIX=dir_name: Configure the distribution - for installation under a particular location. + * -DCMAKE_INSTALL_PREFIX=dir_name: Configure the + distribution for installation under a particular + location. - * -DCPACK_MONOLITHIC_INSTALL=1: Cause make package to generate a - single installation file rather than multiple files. + * -DCPACK_MONOLITHIC_INSTALL=1: Cause make package to + generate a single installation file rather than multiple + files. - * -DWITH_DEBUG=1: Build the distribution with debugging support. + * -DWITH_DEBUG=1: Build the distribution with debugging + support. - For a more extensive list of options, see Section 2.9.4, "MySQL - Source-Configuration Options." + For a more extensive list of options, see Section 2.9.4, + "MySQL Source-Configuration Options." To list the configuration options, use one of the following commands: @@ -5441,24 +6185,26 @@ shell> cmake . -LAH # all params with help text shell> ccmake . # interactive display - If CMake fails, you might need to reconfigure by running it again - with different options. If you do reconfigure, take note of the - following: - - * If CMake is run after it has previously been run, it may use - information that was gathered during its previous invocation. - This information is stored in CMakeCache.txt. When CMake - starts up, it looks for that file and reads its contents if it - exists, on the assumption that the information is still - correct. That assumption is invalid when you reconfigure. - - * Each time you run CMake, you must run make again to recompile. - However, you may want to remove old object files from previous - builds first because they were compiled using different - configuration options. + If CMake fails, you might need to reconfigure by running it + again with different options. If you do reconfigure, take + note of the following: + + * If CMake is run after it has previously been run, it may + use information that was gathered during its previous + invocation. This information is stored in CMakeCache.txt. + When CMake starts up, it looks for that file and reads + its contents if it exists, on the assumption that the + information is still correct. That assumption is invalid + when you reconfigure. + + * Each time you run CMake, you must run make again to + recompile. However, you may want to remove old object + files from previous builds first because they were + compiled using different configuration options. To prevent old object files or configuration information from - being used, run these commands on Unix before re-running CMake: + being used, run these commands on Unix before re-running + CMake: shell> make clean shell> rm CMakeCache.txt @@ -5468,14 +6214,14 @@ If you build out of the source tree (as described later), the CMakeCache.txt file and all built files are in the build - directory, so you can remove that directory to object files and - cached configuration information. + directory, so you can remove that directory to object files + and cached configuration information. - If you are going to send mail to a MySQL mailing list to ask for - configuration assistance, first check the files in the CMakeFiles - directory for useful information about the failure. To file a bug - report, please use the instructions in Section 1.7, "How to Report - Bugs or Problems." + If you are going to send mail to a MySQL mailing list to ask + for configuration assistance, first check the files in the + CMakeFiles directory for useful information about the + failure. To file a bug report, please use the instructions in + Section 1.7, "How to Report Bugs or Problems." Build the Distribution @@ -5486,46 +6232,49 @@ The second command sets VERBOSE to show the commands for each compiled source. - Use gmake instead on systems where you are using GNU make and it - has been installed as gmake. + Use gmake instead on systems where you are using GNU make and + it has been installed as gmake. On Windows: shell> devenv MySQL.sln /build RelWithDebInfo - It is possible to build out of the source tree to keep the tree - clean. If the top-level source directory is named mysql-src under - your current working directory, you can build in a directory named - bld at the same level like this: + It is possible to build out of the source tree to keep the + tree clean. If the top-level source directory is named + mysql-src under your current working directory, you can build + in a directory named bld at the same level like this: shell> mkdir bld shell> cd bld shell> cmake ../mysql-src - The build directory need not actually be outside the source tree. - For example, to build in a directory, you can build in a directory - named bld under the top-level source tree, do this, starting with - mysql-src as your current working directory: + The build directory need not actually be outside the source + tree. For example, to build in a directory, you can build in + a directory named bld under the top-level source tree, do + this, starting with mysql-src as your current working + directory: shell> mkdir bld shell> cd bld shell> cmake .. - If you have multiple source trees at the same level (for example, - to build multiple versions of MySQL), the second strategy can be - advantageous. The first strategy places all build directories at - the same level, which requires that you choose a unique name for - each. With the second strategy, you can use the same name for the - build directory within each source tree. - - If you have gotten to the compilation stage, but the distribution - does not build, see Section 2.9.5, "Dealing with Problems - Compiling MySQL," for help. If that does not solve the problem, - please enter it into our bugs database using the instructions - given in Section 1.7, "How to Report Bugs or Problems." If you - have installed the latest versions of the required tools, and they - crash trying to process our configuration files, please report - that also. However, if you get a command not found error or a - similar problem for required tools, do not report it. Instead, - make sure that all the required tools are installed and that your - PATH variable is set correctly so that your shell can find them. + If you have multiple source trees at the same level (for + example, to build multiple versions of MySQL), the second + strategy can be advantageous. The first strategy places all + build directories at the same level, which requires that you + choose a unique name for each. With the second strategy, you + can use the same name for the build directory within each + source tree. + + If you have gotten to the compilation stage, but the + distribution does not build, see Section 2.9.5, "Dealing with + Problems Compiling MySQL," for help. If that does not solve + the problem, please enter it into our bugs database using the + instructions given in Section 1.7, "How to Report Bugs or + Problems." If you have installed the latest versions of the + required tools, and they crash trying to process our + configuration files, please report that also. However, if you + get a command not found error or a similar problem for + required tools, do not report it. Instead, make sure that all + the required tools are installed and that your PATH variable + is set correctly so that your shell can find them. Install the Distribution @@ -5533,195 +6282,217 @@ shell> make install This installs the files under the configured installation - directory (by default, /usr/local/mysql). You might need to run - the command as root. + directory (by default, /usr/local/mysql). You might need to + run the command as root. - To install in a specific directory, add a DESTDIR parameter to the - command line: + To install in a specific directory, add a DESTDIR parameter + to the command line: shell> make install DESTDIR="/opt/mysql" - Alternatively, generate installation package files that you can - install where you like: + Alternatively, generate installation package files that you + can install where you like: shell> make package This operation produces one or more .tar.gz files that can be - installed like generic binary distribution packages. See Section - 2.2, "Installing MySQL on Unix/Linux Using Generic Binaries." If - you run CMake with -DCPACK_MONOLITHIC_INSTALL=1, the operation - produces a single file. Otherwise, it produces multiple files. + installed like generic binary distribution packages. See + Section 2.2, "Installing MySQL on Unix/Linux Using Generic + Binaries." If you run CMake with + -DCPACK_MONOLITHIC_INSTALL=1, the operation produces a single + file. Otherwise, it produces multiple files. On Windows, generate the data directory, then create a .zip archive installation package: -shell> devenv MySQL.sln /build RelWithDebInfo /project initial_databa -se +shell> devenv MySQL.sln /build RelWithDebInfo /project initial_databas +e shell> devenv MySQL.sln /build RelWithDebInfo /project package - You can install the resulting .zip archive where you like. See - Section 2.3.7, "Installing MySQL on Microsoft Windows Using a - noinstall Zip Archive." + You can install the resulting .zip archive where you like. + See Section 2.3.7, "Installing MySQL on Microsoft Windows + Using a noinstall Zip Archive." Perform Postinstallation Setup - The remainder of the installation process involves setting up the - configuration file, creating the core databases, and starting the - MySQL server. For instructions, see Section 2.10, - "Postinstallation Setup and Testing." + The remainder of the installation process involves setting up + the configuration file, creating the core databases, and + starting the MySQL server. For instructions, see Section + 2.10, "Postinstallation Setup and Testing." Note - The accounts that are listed in the MySQL grant tables initially - have no passwords. After starting the server, you should set up - passwords for them using the instructions in Section 2.10, - "Postinstallation Setup and Testing." + The accounts that are listed in the MySQL grant tables + initially have no passwords. After starting the server, you + should set up passwords for them using the instructions in + Section 2.10, "Postinstallation Setup and Testing." 2.9.3 Installing MySQL Using a Development Source Tree This section discusses how to install MySQL from the latest - development source code. Development trees have not necessarily - received the same level of testing as standard release - distributions, so this installation method is usually required - only if you need the most recent code changes. Do not use a - development tree for production systems. If your goal is simply to - get MySQL up and running on your system, you should use a standard - release distribution (either a binary or source distribution). See - Section 2.1.3, "How to Get MySQL." + development source code. Development trees have not + necessarily received the same level of testing as standard + release distributions, so this installation method is usually + required only if you need the most recent code changes. Do + not use a development tree for production systems. If your + goal is simply to get MySQL up and running on your system, + you should use a standard release distribution (either a + binary or source distribution). See Section 2.1.3, "How to + Get MySQL." MySQL development projects are hosted on Launchpad - (http://launchpad.net/). MySQL projects, including MySQL Server, - MySQL Workbench, and others are available from the Oracle/MySQL - Engineering (http://launchpad.net/~mysql) page. For the - repositories related only to MySQL Server, see the MySQL Server - (http://launchpad.net/mysql-server) page. - - To install MySQL from a development source tree, your system must - satisfy the tool requirements listed at Section 2.9, "Installing - MySQL from Source," including the requirements for Bazaar and - bison. - - To create a local branch of the MySQL development tree on your - machine, use this procedure: - - 1. To obtain a copy of the MySQL source code, you must create a - new Bazaar branch. If you do not already have a Bazaar - repository directory set up, you must initialize a new - directory: + (http://launchpad.net/). MySQL projects, including MySQL + Server, MySQL Workbench, and others are available from the + Oracle/MySQL Engineering (http://launchpad.net/~mysql) page. + For the repositories related only to MySQL Server, see the + MySQL Server (http://launchpad.net/mysql-server) page. + + To install MySQL from a development source tree, your system + must satisfy the tool requirements listed at Section 2.9, + "Installing MySQL from Source," including the requirements + for Bazaar and bison. + + To create a local branch of the MySQL development tree on + your machine, use this procedure: + + 1. To obtain a copy of the MySQL source code, you must + create a new Bazaar branch. If you do not already have a + Bazaar repository directory set up, you must initialize a + new directory: shell> mkdir mysql-server shell> bzr init-repo --trees mysql-server + This is a one-time operation. - 2. Assuming that you have an initialized repository directory, - you can branch from the public MySQL server repositories to - create a local source tree. To create a branch of a specific - version: + 2. Assuming that you have an initialized repository + directory, you can branch from the public MySQL server + repositories to create a local source tree. To create a + branch of a specific version: shell> cd mysql-server shell> bzr branch lp:mysql-server/5.5 mysql-5.5 - This is a one-time operation per source tree. You can branch - the source trees for several versions of MySQL under the - mysql-server directory. + + This is a one-time operation per source tree. You can + branch the source trees for several versions of MySQL + under the mysql-server directory. 3. The initial download will take some time to complete, - depending on the speed of your connection. Please be patient. - Once you have downloaded the first tree, additional trees - should take significantly less time to download. - - 4. When building from the Bazaar branch, you may want to create a - copy of your active branch so that you can make configuration - and other changes without affecting the original branch - contents. You can achieve this by branching from the original - branch: + depending on the speed of your connection. Please be + patient. Once you have downloaded the first tree, + additional trees should take significantly less time to + download. + + 4. When building from the Bazaar branch, you may want to + create a copy of your active branch so that you can make + configuration and other changes without affecting the + original branch contents. You can achieve this by + branching from the original branch: shell> bzr branch mysql-5.5 mysql-5.5-build + 5. To obtain changes made after you have set up the branch - initially, update it using the pull option periodically. Use - this command in the top-level directory of the local copy: + initially, update it using the pull option periodically. + Use this command in the top-level directory of the local + copy: shell> bzr pull - To examine the changeset comments for the tree, use the log - option to bzr: + + To examine the changeset comments for the tree, use the + log option to bzr: shell> bzr log + You can also browse changesets, comments, and source code online at the Launchpad MySQL Server (http://launchpad.net/mysql-server) page. - If you see diffs (changes) or code that you have a question - about, do not hesitate to send email to the MySQL internals - mailing list. See Section 1.6.1, "MySQL Mailing Lists." If you - think you have a better idea on how to do something, send an - email message to the list with a patch. - - After you have the local branch, you can build MySQL server from - the source code. For information, see Section 2.9.2, "Installing - MySQL Using a Standard Source Distribution," except that you skip - the part about obtaining and unpacking the distribution. - - Be careful about installing a build from a distribution source - tree on a production machine. The installation command may - overwrite your live release installation. If you already have - MySQL installed and do not want to overwrite it, run CMake with - values for the CMAKE_INSTALL_PREFIX, MYSQL_TCP_PORT, and - MYSQL_UNIX_ADDR options different from those used by your - production server. For additional information about preventing - multiple servers from interfering with each other, see Section - 5.3, "Running Multiple MySQL Instances on One Machine." - - Play hard with your new installation. For example, try to make new - features crash. Start by running make test. See Section 24.1.2, - "The MySQL Test Suite." + If you see diffs (changes) or code that you have a + question about, do not hesitate to send email to the + MySQL internals mailing list. See Section 1.6.1, "MySQL + Mailing Lists." If you think you have a better idea on + how to do something, send an email message to the list + with a patch. + + After you have the local branch, you can build MySQL server + from the source code. For information, see Section 2.9.2, + "Installing MySQL Using a Standard Source Distribution," + except that you skip the part about obtaining and unpacking + the distribution. + + Be careful about installing a build from a distribution + source tree on a production machine. The installation command + may overwrite your live release installation. If you already + have MySQL installed and do not want to overwrite it, run + CMake with values for the CMAKE_INSTALL_PREFIX, + MYSQL_TCP_PORT, and MYSQL_UNIX_ADDR options different from + those used by your production server. For additional + information about preventing multiple servers from + interfering with each other, see Section 5.3, "Running + Multiple MySQL Instances on One Machine." + + Play hard with your new installation. For example, try to + make new features crash. Start by running make test. See + Section 24.1.2, "The MySQL Test Suite." 2.9.4 MySQL Source-Configuration Options - The CMake program provides a great deal of control over how you - configure a MySQL source distribution. Typically, you do this - using options on the CMake command line. For information about - options supported by CMake, run either of these commands in the - top-level source directory: + The CMake program provides a great deal of control over how + you configure a MySQL source distribution. Typically, you do + this using options on the CMake command line. For information + about options supported by CMake, run either of these + commands in the top-level source directory: shell> cmake . -LH shell> ccmake . - You can also affect CMake using certain environment variables. See - Section 2.12, "Environment Variables." + You can also affect CMake using certain environment + variables. See Section 2.12, "Environment Variables." The following table shows the available CMake options. In the Default column, PREFIX stands for the value of the - CMAKE_INSTALL_PREFIX option, which specifies the installation base - directory. This value is used as the parent location for several - of the installation subdirectories. + CMAKE_INSTALL_PREFIX option, which specifies the installation + base directory. This value is used as the parent location for + several of the installation subdirectories. - Table 2.16 MySQL Source-Configuration Option Reference (CMake) + Table 2.16 MySQL Source-Configuration Option Reference + (CMake) Formats Description Default Introduced Removed - BUILD_CONFIG Use same build options as official releases 5.5.7 - CMAKE_BUILD_TYPE Type of build to produce RelWithDebInfo 5.5.7 + BUILD_CONFIG Use same build options as official releases + 5.5.7 + CMAKE_BUILD_TYPE Type of build to produce RelWithDebInfo + 5.5.7 CMAKE_C_FLAGS Flags for C Compiler CMAKE_CXX_FLAGS Flags for C++ Compiler - CMAKE_INSTALL_PREFIX Installation base directory /usr/local/mysql - 5.5.8 - COMPILATION_COMMENT Comment about compilation environment 5.5.7 - CPACK_MONOLITHIC_INSTALL Whether package build produces single - file OFF 5.5.7 + CMAKE_INSTALL_PREFIX Installation base directory + /usr/local/mysql 5.5.8 + COMPILATION_COMMENT Comment about compilation environment + 5.5.7 + CPACK_MONOLITHIC_INSTALL Whether package build produces + single file OFF 5.5.7 DEFAULT_CHARSET The default server character set latin1 5.5.7 - DEFAULT_COLLATION The default server collation latin1_swedish_ci + + DEFAULT_COLLATION The default server collation + latin1_swedish_ci 5.5.7 + ENABLE_DEBUG_SYNC Whether to enable Debug Sync support ON 5.5.7 - ENABLE_DEBUG_SYNC Whether to enable Debug Sync support ON 5.5.7 ENABLE_DOWNLOADS Whether to download optional files OFF 5.5.7 + ENABLE_DTRACE Whether to include DTrace support 5.5.7 ENABLE_GCOV Whether to include gcov support 5.5.14 - ENABLED_LOCAL_INFILE Whether to enable LOCAL for LOAD DATA INFILE - OFF 5.5.7 - ENABLED_PROFILING Whether to enable query profiling code ON 5.5.7 - - IGNORE_AIO_CHECK With -DBUILD_CONFIG=mysql_release, ignore libaio - check OFF 5.5.9 + ENABLED_LOCAL_INFILE Whether to enable LOCAL for LOAD DATA + INFILE OFF 5.5.7 + ENABLED_PROFILING Whether to enable query profiling code ON + 5.5.7 + IGNORE_AIO_CHECK With -DBUILD_CONFIG=mysql_release, ignore + libaio check OFF 5.5.9 INSTALL_BINDIR User executables directory PREFIX/bin 5.5.7 INSTALL_DOCDIR Documentation directory PREFIX/docs 5.5.7 INSTALL_DOCREADMEDIR README file directory PREFIX 5.5.7 INSTALL_INCLUDEDIR Header file directory PREFIX/include 5.5.7 + INSTALL_INFODIR Info file directory PREFIX/docs 5.5.7 - INSTALL_LAYOUT Select predefined installation layout STANDALONE - 5.5.7 + INSTALL_LAYOUT Select predefined installation layout + STANDALONE 5.5.7 INSTALL_LIBDIR Library file directory PREFIX/lib 5.5.7 INSTALL_MANDIR Manual page directory PREFIX/man 5.5.7 - INSTALL_MYSQLSHAREDIR Shared data directory PREFIX/share 5.5.7 - INSTALL_MYSQLTESTDIR mysql-test directory PREFIX/mysql-test 5.5.7 - + INSTALL_MYSQLSHAREDIR Shared data directory PREFIX/share + 5.5.7 + INSTALL_MYSQLTESTDIR mysql-test directory PREFIX/mysql-test + 5.5.7 INSTALL_PLUGINDIR Plugin directory PREFIX/lib/plugin 5.5.7 INSTALL_SBINDIR Server executable directory PREFIX/bin 5.5.7 + INSTALL_SCRIPTDIR Scripts directory PREFIX/scripts 5.5.7 INSTALL_SHAREDIR aclocal/mysql.m4 installation directory PREFIX/share 5.5.7 @@ -5730,9 +6501,10 @@ PREFIX/support-files 5.5.7 MEMCACHED_HOME Path to memcached [none] 5.5.16-ndb-7.2.2 MYSQL_DATADIR Data directory 5.5.7 - MYSQL_MAINTAINER_MODE Whether to enable MySQL maintainer-specific - development environment OFF 5.5.7 + MYSQL_MAINTAINER_MODE Whether to enable MySQL + maintainer-specific development environment OFF 5.5.7 MYSQL_PROJECT_NAME Windows/Mac OS X project name 3306 5.5.21 + MYSQL_TCP_PORT TCP/IP port number 3306 5.5.7 MYSQL_UNIX_ADDR Unix socket file /tmp/mysql.sock 5.5.7 ODBC_INCLUDES ODBC includes directory @@ -5747,30 +6519,33 @@ WITH_CLASSPATH Classpath to use when building MySQL Cluster Connector for Java. Default is an empty string. WITH_DEBUG Whether to include debugging support OFF 5.5.7 - WITH_EMBEDDED_SERVER Whether to build embedded server OFF 5.5.7 - WITH_EMBEDDED_SHARED_LIBRARY Whether to build a shared embedded - server library OFF 5.5.37 - WITH_xxx_STORAGE_ENGINE Compile storage engine xxx statically into - server 5.5.7 + WITH_EMBEDDED_SERVER Whether to build embedded server OFF + 5.5.7 + WITH_EMBEDDED_SHARED_LIBRARY Whether to build a shared + embedded server library OFF 5.5.37 + WITH_xxx_STORAGE_ENGINE Compile storage engine xxx statically + into server 5.5.7 WITH_ERROR_INSERT Enable error injection in the NDB storage engine. Should not be used for building binaries intended for production. OFF WITH_EXTRA_CHARSETS Which extra character sets to include all 5.5.7 WITH_LIBEDIT Use bundled libedit library ON 5.5.7 - WITH_LIBWRAP Whether to include libwrap (TCP wrappers) support OFF - 5.5.7 - WITH_NDB_BINLOG Enable binary logging by default by mysqld. ON + WITH_LIBWRAP Whether to include libwrap (TCP wrappers) + support OFF 5.5.7 + WITH_NDB_BINLOG Enable binary logging by default by mysqld. + ON WITH_NDB_DEBUG Produce a debug build for testing or troubleshooting. OFF WITH_NDB_JAVA Enable building of Java and ClusterJ support. Enabled by default. Supported in MySQL Cluster only. ON 5.5.27-ndb-7.2.9 - WITH_NDB_PORT Default port used by a management server built with - this option. If this option was not used to build it, the - management server's default port is 1186. [none] + WITH_NDB_PORT Default port used by a management server built + with this option. If this option was not used to build it, + the management server's default port is 1186. [none] WITH_NDB_TEST Include NDB API test programs. OFF - WITH_NDBCLUSTER_STORAGE_ENGINE Build the NDB storage engine ON + WITH_NDBCLUSTER_STORAGE_ENGINE Build the NDB storage engine + ON WITH_NDBMTD Build multi-threaded data node. ON WITH_READLINE Use bundled readline library OFF 5.5.7 WITH_SSL Type of SSL support no 5.5.7 @@ -5778,8 +6553,8 @@ WITH_VALGRIND Whether to compile in Valgrind header files OFF 5.5.6 WITH_ZLIB Type of zlib support system 5.5.7 - WITHOUT_xxx_STORAGE_ENGINE Exclude storage engine xxx from build - 5.5.7 + WITHOUT_xxx_STORAGE_ENGINE Exclude storage engine xxx from + build 5.5.7 WITHOUT_SERVER Do not build the server OFF The following sections provide more information about CMake @@ -5800,53 +6575,56 @@ Many options configure compile-time defaults that can be overridden at server startup. For example, the - CMAKE_INSTALL_PREFIX, MYSQL_TCP_PORT, and MYSQL_UNIX_ADDR options - that configure the default installation base directory location, - TCP/IP port number, and Unix socket file can be changed at server - startup with the --basedir, --port, and --socket options for - mysqld. Where applicable, configuration option descriptions - indicate the corresponding mysqld startup option. + CMAKE_INSTALL_PREFIX, MYSQL_TCP_PORT, and MYSQL_UNIX_ADDR + options that configure the default installation base + directory location, TCP/IP port number, and Unix socket file + can be changed at server startup with the --basedir, --port, + and --socket options for mysqld. Where applicable, + configuration option descriptions indicate the corresponding + mysqld startup option. General Options * -DBUILD_CONFIG=mysql_release - This option configures a source distribution with the same - build options used by Oracle to produce binary distributions - for official MySQL releases. + This option configures a source distribution with the + same build options used by Oracle to produce binary + distributions for official MySQL releases. * -DCMAKE_BUILD_TYPE=type The type of build to produce: + RelWithDebInfo: Enable optimizations and generate - debugging information. This is the default MySQL build - type. + debugging information. This is the default MySQL + build type. + Debug: Disable optimizations and generate debugging information. This build type is also used if the - WITH_DEBUG option is enabled. That is, -DWITH_DEBUG=1 has - the same effect as -DCMAKE_BUILD_TYPE=Debug. + WITH_DEBUG option is enabled. That is, + -DWITH_DEBUG=1 has the same effect as + -DCMAKE_BUILD_TYPE=Debug. * -DCPACK_MONOLITHIC_INSTALL=bool This option affects whether the make package operation - produces multiple installation package files or a single file. - If disabled, the operation produces multiple installation - package files, which may be useful if you want to install only - a subset of a full MySQL installation. If enabled, it produces - a single file for installing everything. + produces multiple installation package files or a single + file. If disabled, the operation produces multiple + installation package files, which may be useful if you + want to install only a subset of a full MySQL + installation. If enabled, it produces a single file for + installing everything. Installation Layout Options - The CMAKE_INSTALL_PREFIX option indicates the base installation - directory. Other options with names of the form INSTALL_xxx that - indicate component locations are interpreted relative to the - prefix and their values are relative pathnames. Their values - should not include the prefix. + The CMAKE_INSTALL_PREFIX option indicates the base + installation directory. Other options with names of the form + INSTALL_xxx that indicate component locations are interpreted + relative to the prefix and their values are relative + pathnames. Their values should not include the prefix. * -DCMAKE_INSTALL_PREFIX=dir_name The installation base directory. - This value can be set at server startup with the --basedir - option. + This value can be set at server startup with the + --basedir option. * -DINSTALL_BINDIR=dir_name Where to install user programs. @@ -5875,10 +6653,11 @@ + DEB: DEB package layout (experimental). You can select a predefined layout but modify individual - component installation locations by specifying other options. - For example: + component installation locations by specifying other + options. For example: shell> cmake . -DINSTALL_LAYOUT=SVR4 -DMYSQL_DATADIR=/var/mysql/data + * -DINSTALL_LIBDIR=dir_name Where to install library files. @@ -5889,14 +6668,15 @@ Where to install shared data files. * -DINSTALL_MYSQLTESTDIR=dir_name - Where to install the mysql-test directory. As of MySQL 5.5.32, - to suppress installation of this directory, explicitly set the - option to the empty value (-DINSTALL_MYSQLTESTDIR=). + Where to install the mysql-test directory. As of MySQL + 5.5.32, to suppress installation of this directory, + explicitly set the option to the empty value + (-DINSTALL_MYSQLTESTDIR=). * -DINSTALL_PLUGINDIR=dir_name The location of the plugin directory. - This value can be set at server startup with the --plugin_dir - option. + This value can be set at server startup with the + --plugin_dir option. * -DINSTALL_SBINDIR=dir_name Where to install the mysqld server. @@ -5909,54 +6689,55 @@ * -DINSTALL_SQLBENCHDIR=dir_name Where to install the sql-bench directory. To suppress - installation of this directory, explicitly set the option to - the empty value (-DINSTALL_SQLBENCHDIR=). + installation of this directory, explicitly set the option + to the empty value (-DINSTALL_SQLBENCHDIR=). * -DINSTALL_SUPPORTFILESDIR=dir_name Where to install extra support files. * -DMYSQL_DATADIR=dir_name The location of the MySQL data directory. - This value can be set at server startup with the --datadir - option. + This value can be set at server startup with the + --datadir option. * -DODBC_INCLUDES=dir_name - The location of the ODBC includes directory, and may be used - while configuring Connector/ODBC. + The location of the ODBC includes directory, and may be + used while configuring Connector/ODBC. * -DODBC_LIB_DIR=dir_name - The location of the ODBC library directory, and may be used - while configuring Connector/ODBC. + The location of the ODBC library directory, and may be + used while configuring Connector/ODBC. * -DSYSCONFDIR=dir_name The default my.cnf option file directory. - This location cannot be set at server startup, but you can - start the server with a given option file using the - --defaults-file=file_name option, where file_name is the full - path name to the file. + This location cannot be set at server startup, but you + can start the server with a given option file using the + --defaults-file=file_name option, where file_name is the + full path name to the file. * -DTMPDIR=dir_name - The default location to use for the tmpdir system variable. If - unspecified, the value defaults to P_tmpdir in . This - option was added in MySQL 5.6.16. + The default location to use for the tmpdir system + variable. If unspecified, the value defaults to P_tmpdir + in . This option was added in MySQL 5.6.16. Storage Engine Options - Storage engines are built as plugins. You can build a plugin as a - static module (compiled into the server) or a dynamic module - (built as a dynamic library that must be installed into the server - using the INSTALL PLUGIN statement or the --plugin-load option - before it can be used). Some plugins might not support static or - dynamic building. - - The MyISAM, MERGE, MEMORY, and CSV engines are mandatory (always - compiled into the server) and need not be installed explicitly. + Storage engines are built as plugins. You can build a plugin + as a static module (compiled into the server) or a dynamic + module (built as a dynamic library that must be installed + into the server using the INSTALL PLUGIN statement or the + --plugin-load option before it can be used). Some plugins + might not support static or dynamic building. + + The MyISAM, MERGE, MEMORY, and CSV engines are mandatory + (always compiled into the server) and need not be installed + explicitly. To compile a storage engine statically into the server, use - -DWITH_engine_STORAGE_ENGINE=1. Some permissible engine values are - ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), - NDBCLUSTER (NDB), PARTITION (partitioning support), and PERFSCHEMA - (Performance Schema). Examples: + -DWITH_engine_STORAGE_ENGINE=1. Some permissible engine + values are ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE + (InnoDB), NDBCLUSTER (NDB), PARTITION (partitioning support), + and PERFSCHEMA (Performance Schema). Examples: -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 @@ -5964,14 +6745,14 @@ Note - WITH_NDBCLUSTER_STORAGE_ENGINE is supported only when building - MySQL Cluster using the MySQL Cluster sources. It cannot be used - to enable clustering support in other MySQL source trees or - distributions. In MySQL Cluster NDB 7.2 source distributions, it - is enabled by default. See Section 18.2.1.3, "Building MySQL - Cluster from Source on Linux," and Section 18.2.2.2, "Compiling - and Installing MySQL Cluster from Source on Windows," for more - information. + WITH_NDBCLUSTER_STORAGE_ENGINE is supported only when + building MySQL Cluster using the MySQL Cluster sources. It + cannot be used to enable clustering support in other MySQL + source trees or distributions. In MySQL Cluster NDB 7.2 + source distributions, it is enabled by default. See Section + 18.2.1.3, "Building MySQL Cluster from Source on Linux," and + Section 18.2.2.2, "Compiling and Installing MySQL Cluster + from Source on Windows," for more information. To exclude a storage engine from the build, use -DWITHOUT_engine_STORAGE_ENGINE=1. Examples: @@ -5980,9 +6761,9 @@ -DWITHOUT_PARTITION_STORAGE_ENGINE=1 If neither -DWITH_engine_STORAGE_ENGINE nor - -DWITHOUT_engine_STORAGE_ENGINE are specified for a given storage - engine, the engine is built as a shared module, or excluded if it - cannot be built as a shared module. + -DWITHOUT_engine_STORAGE_ENGINE are specified for a given + storage engine, the engine is built as a shared module, or + excluded if it cannot be built as a shared module. Feature Options @@ -5991,15 +6772,16 @@ A descriptive comment about the compilation environment. * -DDEFAULT_CHARSET=charset_name - The server character set. By default, MySQL uses the latin1 - (cp1252 West European) character set. + The server character set. By default, MySQL uses the + latin1 (cp1252 West European) character set. charset_name may be one of binary, armscii8, ascii, big5, - cp1250, cp1251, cp1256, cp1257, cp850, cp852, cp866, cp932, - dec8, eucjpms, euckr, gb2312, gbk, geostd8, greek, hebrew, - hp8, keybcs2, koi8r, koi8u, latin1, latin2, latin5, latin7, - macce, macroman, sjis, swe7, tis620, ucs2, ujis, utf8, - utf8mb4, utf16, utf32. The permissible character sets are - listed in the cmake/character_sets.cmake file as the value of + cp1250, cp1251, cp1256, cp1257, cp850, cp852, cp866, + cp932, dec8, eucjpms, euckr, gb2312, gbk, geostd8, greek, + hebrew, hp8, keybcs2, koi8r, koi8u, latin1, latin2, + latin5, latin7, macce, macroman, sjis, swe7, tis620, + ucs2, ujis, utf8, utf8mb4, utf16, utf32. The permissible + character sets are listed in the + cmake/character_sets.cmake file as the value of CHARSETS_AVAILABLE. This value can be set at server startup with the --character_set_server option. @@ -6007,68 +6789,73 @@ * -DDEFAULT_COLLATION=collation_name The server collation. By default, MySQL uses latin1_swedish_ci. Use the SHOW COLLATION statement to - determine which collations are available for each character - set. + determine which collations are available for each + character set. This value can be set at server startup with the --collation_server option. * -DENABLE_DEBUG_SYNC=bool - Whether to compile the Debug Sync facility into the server. - This facility is used for testing and debugging. This option - is enabled by default, but has no effect unless MySQL is - configured with debugging enabled. If debugging is enabled and - you want to disable Debug Sync, use -DENABLE_DEBUG_SYNC=0. + Whether to compile the Debug Sync facility into the + server. This facility is used for testing and debugging. + This option is enabled by default, but has no effect + unless MySQL is configured with debugging enabled. If + debugging is enabled and you want to disable Debug Sync, + use -DENABLE_DEBUG_SYNC=0. When compiled in, Debug Sync is disabled by default at runtime. To enable it, start mysqld with the --debug-sync-timeout=N option, where N is a timeout value - greater than 0. (The default value is 0, which disables Debug - Sync.) N becomes the default timeout for individual + greater than 0. (The default value is 0, which disables + Debug Sync.) N becomes the default timeout for individual synchronization points. - For a description of the Debug Sync facility and how to use - synchronization points, see MySQL Internals: Test + For a description of the Debug Sync facility and how to + use synchronization points, see MySQL Internals: Test Synchronization - (http://dev.mysql.com/doc/internals/en/test-synchronization.ht - ml). + (http://dev.mysql.com/doc/internals/en/test-synchronizati + on.html). * -DENABLE_DOWNLOADS=bool - Whether to download optional files. For example, with this - option enabled, CMake downloads the Google Test distribution - that is used by the test suite to run unit tests. + Whether to download optional files. For example, with + this option enabled, CMake downloads the Google Test + distribution that is used by the test suite to run unit + tests. * -DENABLE_DTRACE=bool - Whether to include support for DTrace probes. For information - about DTrace, wee Section 5.4, "Tracing mysqld Using DTrace" + Whether to include support for DTrace probes. For + information about DTrace, wee Section 5.4, "Tracing + mysqld Using DTrace" * -DENABLE_GCOV=bool Whether to include gcov support (Linux only). * -DENABLED_LOCAL_INFILE=bool - Whether to enable LOCAL capability in the client library for - LOAD DATA INFILE. - This option controls client-side LOCAL capability, but the - capability can be set on the server side at server startup - with the --local-infile option. See Section 6.1.6, "Security - Issues with LOAD DATA LOCAL." + Whether to enable LOCAL capability in the client library + for LOAD DATA INFILE. + This option controls client-side LOCAL capability, but + the capability can be set on the server side at server + startup with the --local-infile option. See Section + 6.1.6, "Security Issues with LOAD DATA LOCAL." * -DENABLED_PROFILING=bool - Whether to enable query profiling code (for the SHOW PROFILE - and SHOW PROFILES statements). + Whether to enable query profiling code (for the SHOW + PROFILE and SHOW PROFILES statements). * -DIGNORE_AIO_CHECK=bool - If the -DBUILD_CONFIG=mysql_release option is given on Linux, - the libaio library must be linked in by default. If you do not - have libaio or do not want to install it, you can suppress the - check for it by specifying -DIGNORE_AIO_CHECK=1. This option - was added in MySQL 5.5.9. + If the -DBUILD_CONFIG=mysql_release option is given on + Linux, the libaio library must be linked in by default. + If you do not have libaio or do not want to install it, + you can suppress the check for it by specifying + -DIGNORE_AIO_CHECK=1. This option was added in MySQL + 5.5.9. * -DMYSQL_MAINTAINER_MODE=bool Whether to enable a MySQL maintainer-specific development - environment. If enabled, this option causes compiler warnings - to become errors. + environment. If enabled, this option causes compiler + warnings to become errors. * -DMYSQL_PROJECT_NAME=name - For Windows or Mac OS X, the project name to incorporate into - the project file name. This option was added in MySQL 5.5.21. + For Windows or Mac OS X, the project name to incorporate + into the project file name. This option was added in + MySQL 5.5.21. * -DMYSQL_TCP_PORT=port_num The port number on which the server listens for TCP/IP @@ -6078,30 +6865,31 @@ * -DMYSQL_UNIX_ADDR=file_name The Unix socket file path on which the server listens for - socket connections. This must be an absolute path name. The - default is /tmp/mysql.sock. + socket connections. This must be an absolute path name. + The default is /tmp/mysql.sock. This value can be set at server startup with the --socket option. * -DWITH_ASAN=bool - Whether to enable AddressSanitizer, for compilers that support - it. The default is off. This option was added in MySQL 5.5.35. + Whether to enable AddressSanitizer, for compilers that + support it. The default is off. This option was added in + MySQL 5.5.35. * -DWITH_DEBUG=bool Whether to include debugging support. - Configuring MySQL with debugging support enables you to use - the --debug="d,parser_debug" option when you start the server. - This causes the Bison parser that is used to process SQL - statements to dump a parser trace to the server's standard - error output. Typically, this output is written to the error - log. + Configuring MySQL with debugging support enables you to + use the --debug="d,parser_debug" option when you start + the server. This causes the Bison parser that is used to + process SQL statements to dump a parser trace to the + server's standard error output. Typically, this output is + written to the error log. * -DWITH_EMBEDDED_SERVER=bool Whether to build the libmysqld embedded server library. * -DWITH_EMBEDDED_SHARED_LIBRARY=bool - Whether to build a shared libmysqld embedded server library. - This option was added in MySQL 5.5.37. + Whether to build a shared libmysqld embedded server + library. This option was added in MySQL 5.5.37. * -DWITH_EXTRA_CHARSETS=name Which extra character sets to include: @@ -6135,35 +6923,38 @@ distribution. + system: Use the system SSL library. - For information about using SSL support, see Section 6.3.9, - "Using SSL for Secure Connections." + For information about using SSL support, see Section + 6.3.9, "Using SSL for Secure Connections." * -DWITH_UNIXODBC=1 Enables unixODBC support, for Connector/ODBC. * -DWITH_VALGRIND=bool - Whether to compile in the Valgrind header files, which exposes - the Valgrind API to MySQL code. The default is OFF. - To generate a Valgrind-aware debug build, -DWITH_VALGRIND=1 - normally is combined with -DWITH_DEBUG=1. See Building Debug - Configurations - (http://dev.mysql.com/doc/internals/en/debug-configurations.ht - ml). + Whether to compile in the Valgrind header files, which + exposes the Valgrind API to MySQL code. The default is + OFF. + To generate a Valgrind-aware debug build, + -DWITH_VALGRIND=1 normally is combined with + -DWITH_DEBUG=1. See Building Debug Configurations + (http://dev.mysql.com/doc/internals/en/debug-configuratio + ns.html). * -DWITH_ZLIB=zlib_type Some features require that the server be built with compression library support, such as the COMPRESS() and - UNCOMPRESS() functions, and compression of the client/server - protocol. The WITH_ZLIB indicates the source of zlib support: + UNCOMPRESS() functions, and compression of the + client/server protocol. The WITH_ZLIB indicates the + source of zlib support: + bundled: Use the zlib library bundled with the distribution. - + system: Use the system zlib library. This is the default. + + system: Use the system zlib library. This is the + default. * -DWITHOUT_SERVER=bool - Whether to build without the MySQL server. The default is OFF, - which does build the server. + Whether to build without the MySQL server. The default is + OFF, which does build the server. Compiler Flags @@ -6174,85 +6965,88 @@ * -DCMAKE_CXX_FLAGS="flags" Flags for the C++ Compiler. - To specify your own C and C++ compiler flags, for flags that do - not affect optimization, use the CMAKE_C_FLAGS and CMAKE_CXX_FLAGS - CMake options. + To specify your own C and C++ compiler flags, for flags that + do not affect optimization, use the CMAKE_C_FLAGS and + CMAKE_CXX_FLAGS CMake options. - When providing your own compiler flags, you might want to specify - CMAKE_BUILD_TYPE as well. + When providing your own compiler flags, you might want to + specify CMAKE_BUILD_TYPE as well. - For example, to create a 32-bit release build on a 64-bit Linux - machine, do this: + For example, to create a 32-bit release build on a 64-bit + Linux machine, do this: shell> mkdir bld shell> cd bld shell> cmake .. -DCMAKE_C_FLAGS=-m32 \ -DCMAKE_CXX_FLAGS=-m32 \ -DCMAKE_BUILD_TYPE=RelWithDebInfo - If you set flags that affect optimization (-Onumber), you must set - the CMAKE_C_FLAGS_build_type and/or CMAKE_CXX_FLAGS_build_type - options, where build_type corresponds to the CMAKE_BUILD_TYPE - value. To specify a different optimization for the default build - type (RelWithDebInfo) set the CMAKE_C_FLAGS_RELWITHDEBINFO and - CMAKE_CXX_FLAGS_RELWITHDEBINFO options. For example, to compile on - Linux with -O3 and with debug symbols, do this: + If you set flags that affect optimization (-Onumber), you + must set the CMAKE_C_FLAGS_build_type and/or + CMAKE_CXX_FLAGS_build_type options, where build_type + corresponds to the CMAKE_BUILD_TYPE value. To specify a + different optimization for the default build type + (RelWithDebInfo) set the CMAKE_C_FLAGS_RELWITHDEBINFO and + CMAKE_CXX_FLAGS_RELWITHDEBINFO options. For example, to + compile on Linux with -O3 and with debug symbols, do this: shell> cmake .. -DCMAKE_C_FLAGS_RELWITHDEBINFO="-O3 -g" \ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-O3 -g" CMake Options for Compiling MySQL Cluster - The following options are for use when building MySQL Cluster NDB - 7.2 or later. These options are supported only with the MySQL - Cluster NDB 7.2 and later MySQL Cluster sources; they are not - supported when using sources from the MySQL 5.5 Server tree. + The following options are for use when building MySQL Cluster + NDB 7.2 or later. These options are supported only with the + MySQL Cluster NDB 7.2 and later MySQL Cluster sources; they + are not supported when using sources from the MySQL 5.5 + Server tree. * -DMEMCACHED_HOME=path - Perform the build using the memcached (version 1.6 or later) - installed in the system directory indicated by path. Files - from this installation that are used in the build include the - memcached binary, header files, and libraries, as well as the - memcached_utilities library and the header file - engine_testapp.h. - You must leave this option unset when building ndbmemcache - using the bundled memcached sources (WITH_BUNDLED_MEMCACHED - option); in other words, the bundled sources are used by - default). + Perform the build using the memcached (version 1.6 or + later) installed in the system directory indicated by + path. Files from this installation that are used in the + build include the memcached binary, header files, and + libraries, as well as the memcached_utilities library and + the header file engine_testapp.h. + You must leave this option unset when building + ndbmemcache using the bundled memcached sources + (WITH_BUNDLED_MEMCACHED option); in other words, the + bundled sources are used by default). This option was added in MySQL Cluster NDB 7.2.2. While additional CMake options---such as for SASL - authorization and for providing dtrace support---are available - for use when compiling memcached from external sources, these - options are currently not enabled for the memcached sources - bundled with MySQL Cluster. + authorization and for providing dtrace support---are + available for use when compiling memcached from external + sources, these options are currently not enabled for the + memcached sources bundled with MySQL Cluster. * -DWITH_BUNDLED_LIBEVENT={ON|OFF} - Use the libevent included in the MySQL Cluster sources when - building MySQL Cluster with ndbmemcached support (MySQL - Cluster NDB 7.2.2 and later). Enabled by default. OFF causes - the system's libevent to be used instead. + Use the libevent included in the MySQL Cluster sources + when building MySQL Cluster with ndbmemcached support + (MySQL Cluster NDB 7.2.2 and later). Enabled by default. + OFF causes the system's libevent to be used instead. * -DWITH_BUNDLED_MEMCACHED={ON|OFF} Build the memcached sources included in the MySQL Cluster - source tree (MySQL Cluster NDB 7.2.3 and later), then use the - resulting memcached server when building the ndbmemcache - engine. In this case, make install places the memcached binary - in the installation bin directory, and the ndbmemcache engine - shared object file ndb_engine.so in the installation lib - directory. + source tree (MySQL Cluster NDB 7.2.3 and later), then use + the resulting memcached server when building the + ndbmemcache engine. In this case, make install places the + memcached binary in the installation bin directory, and + the ndbmemcache engine shared object file ndb_engine.so + in the installation lib directory. This option is ON by default. * -DWITH_CLASSPATH=path - Sets the classpath for building MySQL Cluster Connector for - Java. The default is empty. In MySQL Cluster NDB 7.2.9 and - later, this option is ignored if -DWITH_NDB_JAVA=OFF is used. + Sets the classpath for building MySQL Cluster Connector + for Java. The default is empty. In MySQL Cluster NDB + 7.2.9 and later, this option is ignored if + -DWITH_NDB_JAVA=OFF is used. * -DWITH_ERROR_INSERT={ON|OFF} - Enables error injection in the NDB kernel. For testing only; - not intended for use in building production binaries. The - default is OFF. + Enables error injection in the NDB kernel. For testing + only; not intended for use in building production + binaries. The default is OFF. * -DWITH_NDBCLUSTER_STORAGE_ENGINE={ON|OFF} - Build and link in support for the NDB (NDBCLUSTER) storage - engine in mysqld. The default is ON. + Build and link in support for the NDB (NDBCLUSTER) + storage engine in mysqld. The default is ON. * -DWITH_NDBCLUSTER={ON|OFF} This is an alias for WITH_NDBCLUSTER_STORAGE_ENGINE. @@ -6262,27 +7056,28 @@ default is ON. * -DWITH_NDB_BINLOG={ON|OFF} - Enable binary logging by default in the mysqld built using - this option. ON by default. + Enable binary logging by default in the mysqld built + using this option. ON by default. * -DWITH_NDB_DEBUG={ON|OFF} Enable building the debug versions of the MySQL Cluster binaries. OFF by default. * -DWITH_NDB_JAVA={ON|OFF} - Enable building MySQL Cluster with Java support, including - ClusterJ. - This option was added in MySQL Cluster NDB 7.2.9, and is ON by - default. If you do not wish to compile MySQL Cluster with Java - support, you must disable it explicitly by specifying - -DWITH_NDB_JAVA=OFF when running CMake. Otherwise, if Java - cannot be found, configuration of the build fails. + Enable building MySQL Cluster with Java support, + including ClusterJ. + This option was added in MySQL Cluster NDB 7.2.9, and is + ON by default. If you do not wish to compile MySQL + Cluster with Java support, you must disable it explicitly + by specifying -DWITH_NDB_JAVA=OFF when running CMake. + Otherwise, if Java cannot be found, configuration of the + build fails. * -DWITH_NDB_PORT=port - Causes the MySQL Cluster management server (ndb_mgmd) that is - built to use this port by default. If this option is unset, - the resulting management server tries to use port 1186 by - default. + Causes the MySQL Cluster management server (ndb_mgmd) + that is built to use this port by default. If this option + is unset, the resulting management server tries to use + port 1186 by default. * -DWITH_NDB_TEST={ON|OFF} If enabled, include a set of NDB API test programs. The @@ -6290,23 +7085,25 @@ 2.9.5 Dealing with Problems Compiling MySQL - The solution to many problems involves reconfiguring. If you do - reconfigure, take note of the following: + The solution to many problems involves reconfiguring. If you + do reconfigure, take note of the following: - * If CMake is run after it has previously been run, it may use - information that was gathered during its previous invocation. - This information is stored in CMakeCache.txt. When CMake - starts up, it looks for that file and reads its contents if it - exists, on the assumption that the information is still - correct. That assumption is invalid when you reconfigure. - - * Each time you run CMake, you must run make again to recompile. - However, you may want to remove old object files from previous - builds first because they were compiled using different - configuration options. + * If CMake is run after it has previously been run, it may + use information that was gathered during its previous + invocation. This information is stored in CMakeCache.txt. + When CMake starts up, it looks for that file and reads + its contents if it exists, on the assumption that the + information is still correct. That assumption is invalid + when you reconfigure. + + * Each time you run CMake, you must run make again to + recompile. However, you may want to remove old object + files from previous builds first because they were + compiled using different configuration options. To prevent old object files or configuration information from - being used, run the following commands before re-running CMake: + being used, run the following commands before re-running + CMake: On Unix: shell> make clean @@ -6316,316 +7113,349 @@ shell> devenv MySQL.sln /clean shell> del CMakeCache.txt - If you build outside of the source tree, remove and recreate your - build directory before re-running CMake. For instructions on - building outside of the source tree, see How to Build MySQL Server - with CMake (http://dev.mysql.com/doc/internals/en/cmake.html). - - On some systems, warnings may occur due to differences in system - include files. The following list describes other problems that - have been found to occur most often when compiling MySQL: + If you build outside of the source tree, remove and recreate + your build directory before re-running CMake. For + instructions on building outside of the source tree, see How + to Build MySQL Server with CMake + (http://dev.mysql.com/doc/internals/en/cmake.html). + + On some systems, warnings may occur due to differences in + system include files. The following list describes other + problems that have been found to occur most often when + compiling MySQL: - * To define which C and C++ compilers to use, you can define the - CC and CXX environment variables. For example: + * To define which C and C++ compilers to use, you can + define the CC and CXX environment variables. For example: shell> CC=gcc shell> CXX=g++ shell> export CC CXX + To specify your own C and C++ compiler flags, use the - CMAKE_C_FLAGS and CMAKE_CXX_FLAGS CMake options. See Section - 2.9.4, "." + CMAKE_C_FLAGS and CMAKE_CXX_FLAGS CMake options. See + Section 2.9.4, "." To see what flags you might need to specify, invoke mysql_config with the --cflags option. - * To see what commands are executed during the compile stage, - after using CMake to configure MySQL, run make VERBOSE=1 - rather than just make. - - * If compilation fails, check whether the MYSQL_MAINTAINER_MODE - option is enabled. This mode causes compiler warnings to - become errors, so disabling it may enable compilation to - proceed. + * To see what commands are executed during the compile + stage, after using CMake to configure MySQL, run make + VERBOSE=1 rather than just make. + + * If compilation fails, check whether the + MYSQL_MAINTAINER_MODE option is enabled. This mode causes + compiler warnings to become errors, so disabling it may + enable compilation to proceed. * If your compile fails with errors such as any of the - following, you must upgrade your version of make to GNU make: + following, you must upgrade your version of make to GNU + make: make: Fatal error in reader: Makefile, line 18: Badly formed macro assignment + Or: make: file `Makefile' line 18: Must be a separator (: + Or: pthread.h: No such file or directory + Solaris and FreeBSD are known to have troublesome make programs. GNU make 3.75 is known to work. - * The sql_yacc.cc file is generated from sql_yacc.yy. Normally, - the build process does not need to create sql_yacc.cc because - MySQL comes with a pregenerated copy. However, if you do need - to re-create it, you might encounter this error: + * The sql_yacc.cc file is generated from sql_yacc.yy. + Normally, the build process does not need to create + sql_yacc.cc because MySQL comes with a pregenerated copy. + However, if you do need to re-create it, you might + encounter this error: "sql_yacc.yy", line xxx fatal: default action causes potential... - This is a sign that your version of yacc is deficient. You - probably need to install a recent version of bison (the GNU - version of yacc) and use that instead. + + This is a sign that your version of yacc is deficient. + You probably need to install a recent version of bison + (the GNU version of yacc) and use that instead. Versions of bison older than 1.75 may report this error: sql_yacc.yy:#####: fatal error: maximum table size (32767) exceeded - The maximum table size is not actually exceeded; the error is - caused by bugs in older versions of bison. - For information about acquiring or updating tools, see the system - requirements in Section 2.9, "Installing MySQL from Source." + The maximum table size is not actually exceeded; the + error is caused by bugs in older versions of bison. + + For information about acquiring or updating tools, see the + system requirements in Section 2.9, "Installing MySQL from + Source." 2.9.6 MySQL Configuration and Third-Party Tools - Third-party tools that need to determine the MySQL version from - the MySQL source can read the VERSION file in the top-level source - directory. The file lists the pieces of the version separately. - For example, if the version is MySQL 5.7.4-m14, the file looks - like this: + Third-party tools that need to determine the MySQL version + from the MySQL source can read the VERSION file in the + top-level source directory. The file lists the pieces of the + version separately. For example, if the version is MySQL + 5.7.4-m14, the file looks like this: MYSQL_VERSION_MAJOR=5 MYSQL_VERSION_MINOR=7 MYSQL_VERSION_PATCH=4 MYSQL_VERSION_EXTRA=-m14 - If the source is not for a General Availablility (GA) release, the - MYSQL_VERSION_EXTRA value will be nonempty. For the example, the - value corresponds to Milestone 14. - - To construct a five-digit number from the version components, use - this formula: -MYSQL_VERSION_MAJOR*10000 + MYSQL_VERSION_MINOR*100 + MYSQL_VERSION_P -ATCH + If the source is not for a General Availablility (GA) + release, the MYSQL_VERSION_EXTRA value will be nonempty. For + the example, the value corresponds to Milestone 14. + + To construct a five-digit number from the version components, + use this formula: +MYSQL_VERSION_MAJOR*10000 + MYSQL_VERSION_MINOR*100 + MYSQL_VERSION_PA +TCH 2.10 Postinstallation Setup and Testing This section discusses post-installation items for Unix-like - systems. If you are using Windows, see Section 2.3.10, "Windows - Postinstallation Procedures." + systems. If you are using Windows, see Section 2.3.10, + "Windows Postinstallation Procedures." After installing MySQL, there are some items that you should address. For example: - * You should initialize the data directory and create the MySQL - grant tables, as describe in Section 2.10.1, "Postinstallation - Procedures for Unix-like Systems." - - * An important security concern is that the initial accounts in - the grant tables have no passwords. You should assign - passwords to prevent unauthorized access to the MySQL server. - For instructions, see Section 2.10.2, "Securing the Initial - MySQL Accounts." + * You should initialize the data directory and create the + MySQL grant tables, as describe in Section 2.10.1, + "Postinstallation Procedures for Unix-like Systems." + + * An important security concern is that the initial + accounts in the grant tables have no passwords. You + should assign passwords to prevent unauthorized access to + the MySQL server. For instructions, see Section 2.10.2, + "Securing the Initial MySQL Accounts." * Optionally, you can create time zone tables to enable - recognition of named time zones. For instructions, see Section - 4.4.6, "mysql_tzinfo_to_sql --- Load the Time Zone Tables." - - * If you have trouble getting the server to start, see Section - 2.10.1.3, "Starting and Troubleshooting the MySQL Server." - - * When you are ready to create additional user accounts, you can - find information on the MySQL access control system and - account management in Section 6.2, "The MySQL Access Privilege - System," and Section 6.3, "MySQL User Account Management." + recognition of named time zones. For instructions, see + Section 4.4.6, "mysql_tzinfo_to_sql --- Load the Time + Zone Tables." + + * If you have trouble getting the server to start, see + Section 2.10.1.3, "Starting and Troubleshooting the MySQL + Server." + + * When you are ready to create additional user accounts, + you can find information on the MySQL access control + system and account management in Section 6.2, "The MySQL + Access Privilege System," and Section 6.3, "MySQL User + Account Management." 2.10.1 Postinstallation Procedures for Unix-like Systems - After installing MySQL on a Unix-like system, you must initialize - the grant tables, start the server, and make sure that the server - works satisfactorily. You may also wish to arrange for the server - to be started and stopped automatically when your system starts - and stops. You should also assign passwords to the accounts in the - grant tables. + After installing MySQL on a Unix-like system, you must + initialize the grant tables, start the server, and make sure + that the server works satisfactorily. You may also wish to + arrange for the server to be started and stopped + automatically when your system starts and stops. You should + also assign passwords to the accounts in the grant tables. On a Unix-like system, the grant tables are set up by the mysql_install_db program. For some installation methods, this program is run for you automatically if an existing database cannot be found. - * If you install MySQL on Linux using RPM distributions, the - server RPM runs mysql_install_db. + * If you install MySQL on Linux using RPM distributions, + the server RPM runs mysql_install_db. - * Using the native packaging system on many platforms, including - Debian Linux, Ubuntu Linux, Gentoo Linux and others, the - mysql_install_db command is run for you. + * Using the native packaging system on many platforms, + including Debian Linux, Ubuntu Linux, Gentoo Linux and + others, the mysql_install_db command is run for you. - * If you install MySQL on Mac OS X using a DMG distribution, the - installer runs mysql_install_db. + * If you install MySQL on Mac OS X using a DMG + distribution, the installer runs mysql_install_db. For other platforms and installation types, including generic - binary and source installs, you will need to run mysql_install_db - yourself. + binary and source installs, you will need to run + mysql_install_db yourself. The following procedure describes how to initialize the grant tables (if that has not previously been done) and start the - server. It also suggests some commands that you can use to test - whether the server is accessible and working properly. For - information about starting and stopping the server automatically, - see Section 2.10.1.2, "Starting and Stopping MySQL Automatically." - - After you complete the procedure and have the server running, you - should assign passwords to the accounts created by - mysql_install_db and perhaps restrict access to test databases. - For instructions, see Section 2.10.2, "Securing the Initial MySQL - Accounts." - - In the examples shown here, the server runs under the user ID of - the mysql login account. This assumes that such an account exists. - Either create the account if it does not exist, or substitute the - name of a different existing login account that you plan to use - for running the server. For information about creating the - account, see Creating a mysql System User and Group, in Section - 2.2, "Installing MySQL on Unix/Linux Using Generic Binaries." + server. It also suggests some commands that you can use to + test whether the server is accessible and working properly. + For information about starting and stopping the server + automatically, see Section 2.10.1.2, "Starting and Stopping + MySQL Automatically." + + After you complete the procedure and have the server running, + you should assign passwords to the accounts created by + mysql_install_db and perhaps restrict access to test + databases. For instructions, see Section 2.10.2, "Securing + the Initial MySQL Accounts." + + In the examples shown here, the server runs under the user ID + of the mysql login account. This assumes that such an account + exists. Either create the account if it does not exist, or + substitute the name of a different existing login account + that you plan to use for running the server. For information + about creating the account, see Creating a mysql System User + and Group, in Section 2.2, "Installing MySQL on Unix/Linux + Using Generic Binaries." - 1. Change location into the top-level directory of your MySQL - installation, represented here by BASEDIR: + 1. Change location into the top-level directory of your + MySQL installation, represented here by BASEDIR: shell> cd BASEDIR - BASEDIR is the installation directory for your MySQL instance. - It is likely to be something like /usr/local/mysql or - /usr/local. The following steps assume that you have changed - location to this directory. - You will find several files and subdirectories in the BASEDIR - directory. The most important for installation purposes are - the bin and scripts subdirectories: + + BASEDIR is the installation directory for your MySQL + instance. It is likely to be something like + /usr/local/mysql or /usr/local. The following steps + assume that you have changed location to this directory. + You will find several files and subdirectories in the + BASEDIR directory. The most important for installation + purposes are the bin and scripts subdirectories: + The bin directory contains client programs and the server. You should add the full path name of this - directory to your PATH environment variable so that your - shell finds the MySQL programs properly. See Section - 2.12, "Environment Variables." + directory to your PATH environment variable so that + your shell finds the MySQL programs properly. See + Section 2.12, "Environment Variables." + The scripts directory contains the mysql_install_db - script used to initialize the mysql database containing - the grant tables that store the server access - permissions. + program used to initialize the mysql database + containing the grant tables that store the server + access permissions. 2. If necessary, ensure that the distribution contents are accessible to mysql. If you installed the distribution as - mysql, no further action is required. If you installed the - distribution as root, its contents will be owned by root. - Change its ownership to mysql by executing the following - commands as root in the installation directory. The first - command changes the owner attribute of the files to the mysql - user. The second changes the group attribute to the mysql - group. + mysql, no further action is required. If you installed + the distribution as root, its contents will be owned by + root. Change its ownership to mysql by executing the + following commands as root in the installation directory. + The first command changes the owner attribute of the + files to the mysql user. The second changes the group + attribute to the mysql group. shell> chown -R mysql . shell> chgrp -R mysql . - 3. If necessary, run the mysql_install_db program to set up the - initial MySQL grant tables containing the privileges that - determine how users are permitted to connect to the server. - You will need to do this if you used a distribution type for - which the installation procedure does not run the program for - you. + + 3. If necessary, run the mysql_install_db program to set up + the initial MySQL grant tables containing the privileges + that determine how users are permitted to connect to the + server. You will need to do this if you used a + distribution type for which the installation procedure + does not run the program for you. shell> scripts/mysql_install_db --user=mysql - Typically, mysql_install_db needs to be run only the first - time you install MySQL, so you can skip this step if you are - upgrading an existing installation, However, mysql_install_db - does not overwrite any existing privilege tables, so it should - be safe to run in any circumstances. + + Typically, mysql_install_db needs to be run only the + first time you install MySQL, so you can skip this step + if you are upgrading an existing installation, However, + mysql_install_db does not overwrite any existing + privilege tables, so it should be safe to run in any + circumstances. It might be necessary to specify other options such as - --basedir or --datadir if mysql_install_db does not identify - the correct locations for the installation directory or data - directory. For example: + --basedir or --datadir if mysql_install_db does not + identify the correct locations for the installation + directory or data directory. For example: shell> scripts/mysql_install_db --user=mysql \ --basedir=/opt/mysql/mysql \ --datadir=/opt/mysql/mysql/data - The mysql_install_db script creates the server's data - directory with mysql as the owner. Under the data directory, - it creates directories for the mysql database that holds the - grant tables and the test database that you can use to test - MySQL. The script also creates privilege table entries for - root and anonymous-user accounts. The accounts have no - passwords initially. Section 2.10.2, "Securing the Initial - MySQL Accounts," describes the initial privileges. Briefly, - these privileges permit the MySQL root user to do anything, - and permit anybody to create or use databases with a name of + + The mysql_install_db program creates the server's data + directory with mysql as the owner. Under the data + directory, it creates directories for the mysql database + that holds the grant tables and the test database that + you can use to test MySQL. The script also creates + privilege table entries for root and anonymous-user + accounts. The accounts have no passwords initially. + Section 2.10.2, "Securing the Initial MySQL Accounts," + describes the initial privileges. Briefly, these + privileges permit the MySQL root user to do anything, and + permit anybody to create or use databases with a name of test or starting with test_. See Section 6.2, "The MySQL Access Privilege System," for a complete listing and description of the grant tables. - It is important to make sure that the database directories and - files are owned by the mysql login account so that the server - has read and write access to them when you run it later. To - ensure this if you run mysql_install_db as root, include the - --user option as shown. Otherwise, you should execute the - script while logged in as mysql, in which case you can omit - the --user option from the command. - If you do not want to have the test database, you can remove - it after starting the server, using the instructions in - Section 2.10.2, "Securing the Initial MySQL Accounts." - If you have trouble with mysql_install_db at this point, see - Section 2.10.1.1, "Problems Running mysql_install_db." - - 4. Most of the MySQL installation can be owned by root if you - like. The exception is that the data directory must be owned - by mysql. To accomplish this, run the following commands as - root in the installation directory: + It is important to make sure that the database + directories and files are owned by the mysql login + account so that the server has read and write access to + them when you run it later. To ensure this if you run + mysql_install_db as root, include the --user option as + shown. Otherwise, you should execute the program while + logged in as mysql, in which case you can omit the --user + option from the command. + If you do not want to have the test database, you can + remove it after starting the server, using the + instructions in Section 2.10.2, "Securing the Initial + MySQL Accounts." + If you have trouble with mysql_install_db at this point, + see Section 2.10.1.1, "Problems Running + mysql_install_db." + + 4. Most of the MySQL installation can be owned by root if + you like. The exception is that the data directory must + be owned by mysql. To accomplish this, run the following + commands as root in the installation directory: shell> chown -R root . shell> chown -R mysql data - 5. If the plugin directory (the directory named by the plugin_dir - system variable) is writable by the server, it may be possible - for a user to write executable code to a file in the directory - using SELECT ... INTO DUMPFILE. This can be prevented by - making plugin_dir read only to the server or by setting - --secure-file-priv to a directory where SELECT writes can be - made safely. - - 6. If you installed MySQL using a source distribution, you may - want to optionally copy one of the provided configuration - files from the support-files directory into your /etc - directory. There are different sample configuration files for - different use cases, server types, and CPU and RAM - configurations. If you want to use one of these standard - files, you should copy it to /etc/my.cnf, or /etc/mysql/my.cnf - and edit and check the configuration before starting your - MySQL server for the first time. - If you do not copy one of the standard configuration files, - the MySQL server will be started with the default settings. - If you want MySQL to start automatically when you boot your - machine, you can copy support-files/mysql.server to the - location where your system has its startup files. More - information can be found in the mysql.server script itself, - and in Section 2.10.1.2, "Starting and Stopping MySQL - Automatically." + + 5. If the plugin directory (the directory named by the + plugin_dir system variable) is writable by the server, it + may be possible for a user to write executable code to a + file in the directory using SELECT ... INTO DUMPFILE. + This can be prevented by making plugin_dir read only to + the server or by setting --secure-file-priv to a + directory where SELECT writes can be made safely. + + 6. If you installed MySQL using a source distribution, you + may want to optionally copy one of the provided + configuration files from the support-files directory into + your /etc directory. There are different sample + configuration files for different use cases, server + types, and CPU and RAM configurations. If you want to use + one of these standard files, you should copy it to + /etc/my.cnf, or /etc/mysql/my.cnf and edit and check the + configuration before starting your MySQL server for the + first time. + If you do not copy one of the standard configuration + files, the MySQL server will be started with the default + settings. + If you want MySQL to start automatically when you boot + your machine, you can copy support-files/mysql.server to + the location where your system has its startup files. + More information can be found in the mysql.server script + itself, and in Section 2.10.1.2, "Starting and Stopping + MySQL Automatically." 7. Start the MySQL server: shell> bin/mysqld_safe --user=mysql & + It is important that the MySQL server be run using an - unprivileged (non-root) login account. To ensure this if you - run mysqld_safe as root, include the --user option as shown. - Otherwise, you should execute the script while logged in as - mysql, in which case you can omit the --user option from the - command. - For further instructions for running MySQL as an unprivileged - user, see Section 6.1.5, "How to Run MySQL as a Normal User." - If the command fails immediately and prints mysqld ended, look - for information in the error log (which by default is the - host_name.err file in the data directory). + unprivileged (non-root) login account. To ensure this if + you run mysqld_safe as root, include the --user option as + shown. Otherwise, you should execute the program while + logged in as mysql, in which case you can omit the --user + option from the command. + For further instructions for running MySQL as an + unprivileged user, see Section 6.1.5, "How to Run MySQL + as a Normal User." + If the command fails immediately and prints mysqld ended, + look for information in the error log (which by default + is the host_name.err file in the data directory). If you neglected to create the grant tables by running - mysql_install_db before proceeding to this step, the following - message appears in the error log file when you start the - server: + mysql_install_db before proceeding to this step, the + following message appears in the error log file when you + start the server: mysqld: Can't find file: 'host.frm' - This error also occurs if you run mysql_install_db as root - without the --user option. Remove the data directory and run - mysql_install_db with the --user option as described - previously. - If you have other problems starting the server, see Section - 2.10.1.3, "Starting and Troubleshooting the MySQL Server." For - more information about mysqld_safe, see Section 4.3.2, - "mysqld_safe --- MySQL Server Startup Script." + + This error also occurs if you run mysql_install_db as + root without the --user option. Remove the data directory + and run mysql_install_db with the --user option as + described previously. + If you have other problems starting the server, see + Section 2.10.1.3, "Starting and Troubleshooting the MySQL + Server." For more information about mysqld_safe, see + Section 4.3.2, "mysqld_safe --- MySQL Server Startup + Script." 8. Use mysqladmin to verify that the server is running. The - following commands provide simple tests to check whether the - server is up and responding to connections: + following commands provide simple tests to check whether + the server is up and responding to connections: shell> bin/mysqladmin version shell> bin/mysqladmin variables - The output from mysqladmin version varies slightly depending - on your platform and version of MySQL, but should be similar - to that shown here: + + The output from mysqladmin version varies slightly + depending on your platform and version of MySQL, but + should be similar to that shown here: shell> bin/mysqladmin version -mysqladmin Ver 14.12 Distrib 5.5.41, for pc-linux-gnu on i686 +mysqladmin Ver 14.12 Distrib 5.5.42, for pc-linux-gnu on i686 ... -Server version 5.5.41 +Server version 5.5.42 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock @@ -6634,19 +7464,23 @@ Threads: 1 Questions: 366 Slow queries: 0 Opens: 0 Flush tables: 1 Open tables: 19 Queries per second avg: 0.000 - To see what else you can do with mysqladmin, invoke it with - the --help option. + + To see what else you can do with mysqladmin, invoke it + with the --help option. 9. Verify that you can shut down the server: shell> bin/mysqladmin -u root shutdown - 10. Verify that you can start the server again. Do this by using - mysqld_safe or by invoking mysqld directly. For example: + + 10. Verify that you can start the server again. Do this by + using mysqld_safe or by invoking mysqld directly. For + example: shell> bin/mysqld_safe --user=mysql & + If mysqld_safe fails, see Section 2.10.1.3, "Starting and Troubleshooting the MySQL Server." 11. Run some simple tests to verify that you can retrieve - information from the server. The output should be similar to - what is shown here: + information from the server. The output should be similar + to what is shown here: shell> bin/mysqlshow +--------------------+ | Databases | @@ -6690,187 +7524,211 @@ | % | test | | | % | test_% | | +------+--------+------+ - 12. There is a benchmark suite in the sql-bench directory (under - the MySQL installation directory) that you can use to compare - how MySQL performs on different platforms. The benchmark suite - is written in Perl. It requires the Perl DBI module that - provides a database-independent interface to the various - databases, and some other additional Perl modules: + + 12. There is a benchmark suite in the sql-bench directory + (under the MySQL installation directory) that you can use + to compare how MySQL performs on different platforms. The + benchmark suite is written in Perl. It requires the Perl + DBI module that provides a database-independent interface + to the various databases, and some other additional Perl + modules: DBI DBD::mysql Data::Dumper Data::ShowTable + These modules can be obtained from CPAN - (http://www.cpan.org/). See also Section 2.13.1, "Installing - Perl on Unix." - The sql-bench/Results directory contains the results from many - runs against different databases and platforms. To run all - tests, execute these commands: + (http://www.cpan.org/). See also Section 2.13.1, + "Installing Perl on Unix." + The sql-bench/Results directory contains the results from + many runs against different databases and platforms. To + run all tests, execute these commands: shell> cd sql-bench shell> perl run-all-tests + If you do not have the sql-bench directory, you probably - installed MySQL using RPM files other than the source RPM. - (The source RPM includes the sql-bench benchmark directory.) - In this case, you must first install the benchmark suite - before you can use it. There are separate benchmark RPM files - named mysql-bench-VERSION.i386.rpm that contain benchmark code - and data. - If you have a source distribution, there are also tests in its - tests subdirectory that you can run. For example, to run - auto_increment.tst, execute this command from the top-level - directory of your source distribution: + installed MySQL using RPM files other than the source + RPM. (The source RPM includes the sql-bench benchmark + directory.) In this case, you must first install the + benchmark suite before you can use it. There are separate + benchmark RPM files named mysql-bench-VERSION.i386.rpm + that contain benchmark code and data. + If you have a source distribution, there are also tests + in its tests subdirectory that you can run. For example, + to run auto_increment.tst, execute this command from the + top-level directory of your source distribution: shell> mysql -vvf test < ./tests/auto_increment.tst + The expected result of the test can be found in the ./tests/auto_increment.res file. - 13. At this point, you should have the server running. However, - none of the initial MySQL accounts have a password, and the - server permits permissive access to test databases. To tighten - security, follow the instructions in Section 2.10.2, "Securing - the Initial MySQL Accounts." - - The MySQL 5.5 installation procedure creates time zone tables in - the mysql database but does not populate them. To do so, use the - instructions in Section 10.6, "MySQL Server Time Zone Support." - - To make it more convenient to invoke programs installed in the bin - directory under the installation directory, you can add that - directory to your PATH environment variable setting. That enables - you to run a program by typing only its name, not its entire path - name. See Section 4.2.10, "Setting Environment Variables." + 13. At this point, you should have the server running. + However, none of the initial MySQL accounts have a + password, and the server permits permissive access to + test databases. To tighten security, follow the + instructions in Section 2.10.2, "Securing the Initial + MySQL Accounts." + + The MySQL 5.5 installation procedure creates time zone tables + in the mysql database but does not populate them. To do so, + use the instructions in Section 10.6, "MySQL Server Time Zone + Support." + + To make it more convenient to invoke programs installed in + the bin directory under the installation directory, you can + add that directory to your PATH environment variable setting. + That enables you to run a program by typing only its name, + not its entire path name. See Section 4.2.10, "Setting + Environment Variables." You can set up new accounts using the bin/mysql_setpermission - script if you install the DBI and DBD::mysql Perl modules. See - Section 4.6.13, "mysql_setpermission --- Interactively Set - Permissions in Grant Tables." For Perl module installation - instructions, see Section 2.13, "Perl Installation Notes." + script if you install the DBI and DBD::mysql Perl modules. + See Section 4.6.13, "mysql_setpermission --- Interactively + Set Permissions in Grant Tables." For Perl module + installation instructions, see Section 2.13, "Perl + Installation Notes." If you would like to use mysqlaccess and have the MySQL - distribution in some nonstandard location, you must change the - location where mysqlaccess expects to find the mysql client. Edit - the bin/mysqlaccess script at approximately line 18. Search for a - line that looks like this: + distribution in some nonstandard location, you must change + the location where mysqlaccess expects to find the mysql + client. Edit the bin/mysqlaccess script at approximately line + 18. Search for a line that looks like this: $MYSQL = '/usr/local/bin/mysql'; # path to mysql executable - Change the path to reflect the location where mysql actually is - stored on your system. If you do not do this, a Broken pipe error - will occur when you run mysqlaccess. + Change the path to reflect the location where mysql actually + is stored on your system. If you do not do this, a Broken + pipe error will occur when you run mysqlaccess. 2.10.1.1 Problems Running mysql_install_db - The purpose of the mysql_install_db script is to generate new - MySQL privilege tables. It does not overwrite existing MySQL - privilege tables, and it does not affect any other data. - - If you want to re-create your privilege tables, first stop the - mysqld server if it is running. Then rename the mysql directory - under the data directory to save it, and then run - mysql_install_db. Suppose that your current directory is the MySQL - installation directory and that mysql_install_db is located in the - bin directory and the data directory is named data. To rename the - mysql database and re-run mysql_install_db, use these commands. + The purpose of the mysql_install_db program is to generate + new MySQL privilege tables. It does not overwrite existing + MySQL privilege tables, and it does not affect any other + data. + + If you want to re-create your privilege tables, first stop + the mysqld server if it is running. Then rename the mysql + directory under the data directory to save it, and then run + mysql_install_db. Suppose that your current directory is the + MySQL installation directory and that mysql_install_db is + located in the bin directory and the data directory is named + data. To rename the mysql database and re-run + mysql_install_db, use these commands. shell> mv data/mysql data/mysql.old shell> scripts/mysql_install_db --user=mysql - When you run mysql_install_db, you might encounter the following - problems: + When you run mysql_install_db, you might encounter the + following problems: * mysql_install_db fails to install the grant tables - You may find that mysql_install_db fails to install the grant - tables and terminates after displaying the following messages: + You may find that mysql_install_db fails to install the + grant tables and terminates after displaying the + following messages: Starting mysqld daemon with databases from XXXXXX mysqld ended + In this case, you should examine the error log file very - carefully. The log should be located in the directory XXXXXX - named by the error message and should indicate why mysqld did - not start. If you do not understand what happened, include the - log when you post a bug report. See Section 1.7, "How to - Report Bugs or Problems." + carefully. The log should be located in the directory + XXXXXX named by the error message and should indicate why + mysqld did not start. If you do not understand what + happened, include the log when you post a bug report. See + Section 1.7, "How to Report Bugs or Problems." * There is a mysqld process running - This indicates that the server is running, in which case the - grant tables have probably been created already. If so, there - is no need to run mysql_install_db at all because it needs to - be run only once (when you install MySQL the first time). + This indicates that the server is running, in which case + the grant tables have probably been created already. If + so, there is no need to run mysql_install_db at all + because it needs to be run only once (when you install + MySQL the first time). * Installing a second mysqld server does not work when one server is running - This can happen when you have an existing MySQL installation, - but want to put a new installation in a different location. - For example, you might have a production installation, but you - want to create a second installation for testing purposes. - Generally the problem that occurs when you try to run a second - server is that it tries to use a network interface that is in - use by the first server. In this case, you should see one of - the following error messages: + This can happen when you have an existing MySQL + installation, but want to put a new installation in a + different location. For example, you might have a + production installation, but you want to create a second + installation for testing purposes. Generally the problem + that occurs when you try to run a second server is that + it tries to use a network interface that is in use by the + first server. In this case, you should see one of the + following error messages: Can't start server: Bind on TCP/IP port: Address already in use Can't start server: Bind on unix socket... - For instructions on setting up multiple servers, see Section - 5.3, "Running Multiple MySQL Instances on One Machine." + + For instructions on setting up multiple servers, see + Section 5.3, "Running Multiple MySQL Instances on One + Machine." * You do not have write access to the /tmp directory - If you do not have write access to create temporary files or a - Unix socket file in the default location (the /tmp directory) - or the TMP_DIR environment variable, if it has been set, an - error occurs when you run mysql_install_db or the mysqld - server. + If you do not have write access to create temporary files + or a Unix socket file in the default location (the /tmp + directory) or the TMP_DIR environment variable, if it has + been set, an error occurs when you run mysql_install_db + or the mysqld server. You can specify different locations for the temporary - directory and Unix socket file by executing these commands - prior to starting mysql_install_db or mysqld, where - some_tmp_dir is the full path name to some directory for which - you have write permission: + directory and Unix socket file by executing these + commands prior to starting mysql_install_db or mysqld, + where some_tmp_dir is the full path name to some + directory for which you have write permission: shell> TMPDIR=/some_tmp_dir/ shell> MYSQL_UNIX_PORT=/some_tmp_dir/mysql.sock shell> export TMPDIR MYSQL_UNIX_PORT - Then you should be able to run mysql_install_db and start the - server with these commands: + + Then you should be able to run mysql_install_db and start + the server with these commands: shell> scripts/mysql_install_db --user=mysql shell> bin/mysqld_safe --user=mysql & + If mysql_install_db is located in the scripts directory, modify the first command to scripts/mysql_install_db. - See Section B.5.4.5, "How to Protect or Change the MySQL Unix - Socket File," and Section 2.12, "Environment Variables." + See Section B.5.4.5, "How to Protect or Change the MySQL + Unix Socket File," and Section 2.12, "Environment + Variables." - There are some alternatives to running the mysql_install_db script - provided in the MySQL distribution: + There are some alternatives to running the mysql_install_db + program provided in the MySQL distribution: - * If you want the initial privileges to be different from the - standard defaults, you can modify mysql_install_db before you - run it. However, it is preferable to use GRANT and REVOKE to - change the privileges after the grant tables have been set up. - In other words, you can run mysql_install_db, and then use - mysql -u root mysql to connect to the server as the MySQL root - user so that you can issue the necessary GRANT and REVOKE - statements. - If you want to install MySQL on several machines with the same - privileges, you can put the GRANT and REVOKE statements in a - file and execute the file as a script using mysql after - running mysql_install_db. For example: + * If you want the initial privileges to be different from + the standard defaults, you can modify mysql_install_db + before you run it. However, it is preferable to use GRANT + and REVOKE to change the privileges after the grant + tables have been set up. In other words, you can run + mysql_install_db, and then use mysql -u root mysql to + connect to the server as the MySQL root user so that you + can issue the necessary GRANT and REVOKE statements. + If you want to install MySQL on several machines with the + same privileges, you can put the GRANT and REVOKE + statements in a file and execute the file as a script + using mysql after running mysql_install_db. For example: shell> scripts/mysql_install_db --user=mysql shell> bin/mysql -u root < your_script_file - By doing this, you can avoid having to issue the statements - manually on each machine. - * It is possible to re-create the grant tables completely after - they have previously been created. You might want to do this - if you are just learning how to use GRANT and REVOKE and have - made so many modifications after running mysql_install_db that - you want to wipe out the tables and start over. - To re-create the grant tables, remove all the .frm, .MYI, and - .MYD files in the mysql database directory. Then run the - mysql_install_db script again. + By doing this, you can avoid having to issue the + statements manually on each machine. - * You can start mysqld manually using the --skip-grant-tables - option and add the privilege information yourself using mysql: + * It is possible to re-create the grant tables completely + after they have previously been created. You might want + to do this if you are just learning how to use GRANT and + REVOKE and have made so many modifications after running + mysql_install_db that you want to wipe out the tables and + start over. + To re-create the grant tables, remove all the .frm, .MYI, + and .MYD files in the mysql database directory. Then run + the mysql_install_db program again. + + * You can start mysqld manually using the + --skip-grant-tables option and add the privilege + information yourself using mysql: shell> bin/mysqld_safe --user=mysql --skip-grant-tables & shell> bin/mysql mysql - From mysql, manually execute the SQL commands contained in - mysql_install_db. Make sure that you run mysqladmin - flush-privileges or mysqladmin reload afterward to tell the - server to reload the grant tables. - Note that by not using mysql_install_db, you not only have to - populate the grant tables manually, you also have to create - them first. + + From mysql, manually execute the SQL commands contained + in mysql_install_db. Make sure that you run mysqladmin + flush-privileges or mysqladmin reload afterward to tell + the server to reload the grant tables. + Note that by not using mysql_install_db, you not only + have to populate the grant tables manually, you also have + to create them first. 2.10.1.2 Starting and Stopping MySQL Automatically @@ -6879,62 +7737,64 @@ * Invoke mysqld directly. This works on any platform. * Invoke mysqld_safe, which tries to determine the proper - options for mysqld and then runs it with those options. This - script is used on Unix and Unix-like systems. See Section - 4.3.2, "mysqld_safe --- MySQL Server Startup Script." - - * Invoke mysql.server. This script is used primarily at system - startup and shutdown on systems that use System V-style run - directories (that is, /etc/init.d and run-level specific - directories), where it usually is installed under the name - mysql. The mysql.server script starts the server by invoking - mysqld_safe. See Section 4.3.3, "mysql.server --- MySQL Server - Startup Script." - - * On Mac OS X, install a separate MySQL Startup Item package to - enable the automatic startup of MySQL on system startup. The - Startup Item starts the server by invoking mysql.server. See - Section 2.4.3, "Installing the MySQL Startup Item," for - details. A MySQL Preference Pane also provides control for - starting and stopping MySQL through the System Preferences, - see Section 2.4.4, "Installing and Using the MySQL Preference - Pane." - - * Use the Solaris/OpenSolaris service management framework (SMF) - system to initiate and control MySQL startup. For more - information, see Section 2.7.2, "Installing MySQL on + options for mysqld and then runs it with those options. + This script is used on Unix and Unix-like systems. See + Section 4.3.2, "mysqld_safe --- MySQL Server Startup + Script." + + * Invoke mysql.server. This script is used primarily at + system startup and shutdown on systems that use System + V-style run directories (that is, /etc/init.d and + run-level specific directories), where it usually is + installed under the name mysql. The mysql.server script + starts the server by invoking mysqld_safe. See Section + 4.3.3, "mysql.server --- MySQL Server Startup Script." + + * On Mac OS X, install a separate MySQL Startup Item + package to enable the automatic startup of MySQL on + system startup. The Startup Item starts the server by + invoking mysql.server. See Section 2.4.3, "Installing the + MySQL Startup Item," for details. A MySQL Preference Pane + also provides control for starting and stopping MySQL + through the System Preferences, see Section 2.4.4, + "Installing and Using the MySQL Preference Pane." + + * Use the Solaris/OpenSolaris service management framework + (SMF) system to initiate and control MySQL startup. For + more information, see Section 2.7.2, "Installing MySQL on OpenSolaris Using IPS." - The mysqld_safe and mysql.server scripts, Solaris/OpenSolaris SMF, - and the Mac OS X Startup Item (or MySQL Preference Pane) can be - used to start the server manually, or automatically at system - startup time. mysql.server and the Startup Item also can be used - to stop the server. + The mysqld_safe and mysql.server scripts, Solaris/OpenSolaris + SMF, and the Mac OS X Startup Item (or MySQL Preference Pane) + can be used to start the server manually, or automatically at + system startup time. mysql.server and the Startup Item also + can be used to stop the server. To start or stop the server manually using the mysql.server script, invoke it with start or stop arguments: shell> mysql.server start shell> mysql.server stop - Before mysql.server starts the server, it changes location to the - MySQL installation directory, and then invokes mysqld_safe. If you - want the server to run as some specific user, add an appropriate - user option to the [mysqld] group of the /etc/my.cnf option file, - as shown later in this section. (It is possible that you will need - to edit mysql.server if you've installed a binary distribution of - MySQL in a nonstandard location. Modify it to change location into - the proper directory before it runs mysqld_safe. If you do this, - your modified version of mysql.server may be overwritten if you - upgrade MySQL in the future, so you should make a copy of your - edited version that you can reinstall.) + Before mysql.server starts the server, it changes location to + the MySQL installation directory, and then invokes + mysqld_safe. If you want the server to run as some specific + user, add an appropriate user option to the [mysqld] group of + the /etc/my.cnf option file, as shown later in this section. + (It is possible that you will need to edit mysql.server if + you've installed a binary distribution of MySQL in a + nonstandard location. Modify it to change location into the + proper directory before it runs mysqld_safe. If you do this, + your modified version of mysql.server may be overwritten if + you upgrade MySQL in the future, so you should make a copy of + your edited version that you can reinstall.) - mysql.server stop stops the server by sending a signal to it. You - can also stop the server manually by executing mysqladmin + mysql.server stop stops the server by sending a signal to it. + You can also stop the server manually by executing mysqladmin shutdown. - To start and stop MySQL automatically on your server, you need to - add start and stop commands to the appropriate places in your - /etc/rc* files. + To start and stop MySQL automatically on your server, you + need to add start and stop commands to the appropriate places + in your /etc/rc* files. If you use the Linux server RPM package (MySQL-server-VERSION.rpm), or a native Linux package @@ -6943,34 +7803,34 @@ "Installing MySQL on Linux Using RPM Packages," for more information on the Linux RPM packages. - Some vendors provide RPM packages that install a startup script - under a different name such as mysqld. + Some vendors provide RPM packages that install a startup + script under a different name such as mysqld. - If you install MySQL from a source distribution or using a binary - distribution format that does not install mysql.server + If you install MySQL from a source distribution or using a + binary distribution format that does not install mysql.server automatically, you can install it manually. The script can be - found in the support-files directory under the MySQL installation - directory or in a MySQL source tree. + found in the support-files directory under the MySQL + installation directory or in a MySQL source tree. To install mysql.server manually, copy it to the /etc/init.d - directory with the name mysql, and then make it executable. Do - this by changing location into the appropriate directory where - mysql.server is located and executing these commands: + directory with the name mysql, and then make it executable. + Do this by changing location into the appropriate directory + where mysql.server is located and executing these commands: shell> cp mysql.server /etc/init.d/mysql shell> chmod +x /etc/init.d/mysql Note - Older Red Hat systems use the /etc/rc.d/init.d directory rather - than /etc/init.d. Adjust the preceding commands accordingly. - Alternatively, first create /etc/init.d as a symbolic link that - points to /etc/rc.d/init.d: + Older Red Hat systems use the /etc/rc.d/init.d directory + rather than /etc/init.d. Adjust the preceding commands + accordingly. Alternatively, first create /etc/init.d as a + symbolic link that points to /etc/rc.d/init.d: shell> cd /etc shell> ln -s rc.d/init.d . - After installing the script, the commands needed to activate it to - run at system startup depend on your operating system. On Linux, - you can use chkconfig: + After installing the script, the commands needed to activate + it to run at system startup depend on your operating system. + On Linux, you can use chkconfig: shell> chkconfig --add mysql On some Linux systems, the following command also seems to be @@ -6978,25 +7838,26 @@ shell> chkconfig --level 345 mysql on On FreeBSD, startup scripts generally should go in - /usr/local/etc/rc.d/. The rc(8) manual page states that scripts in - this directory are executed only if their basename matches the - *.sh shell file name pattern. Any other files or directories - present within the directory are silently ignored. In other words, - on FreeBSD, you should install the mysql.server script as - /usr/local/etc/rc.d/mysql.server.sh to enable automatic startup. - - As an alternative to the preceding setup, some operating systems - also use /etc/rc.local or /etc/init.d/boot.local to start - additional services on startup. To start up MySQL using this - method, you could append a command like the one following to the - appropriate startup file: + /usr/local/etc/rc.d/. The rc(8) manual page states that + scripts in this directory are executed only if their basename + matches the *.sh shell file name pattern. Any other files or + directories present within the directory are silently + ignored. In other words, on FreeBSD, you should install the + mysql.server script as /usr/local/etc/rc.d/mysql.server.sh to + enable automatic startup. + + As an alternative to the preceding setup, some operating + systems also use /etc/rc.local or /etc/init.d/boot.local to + start additional services on startup. To start up MySQL using + this method, you could append a command like the one + following to the appropriate startup file: /bin/sh -c 'cd /usr/local/mysql; ./bin/mysqld_safe --user=mysql &' - For other systems, consult your operating system documentation to - see how to install startup scripts. + For other systems, consult your operating system + documentation to see how to install startup scripts. - You can add options for mysql.server in a global /etc/my.cnf file. - A typical /etc/my.cnf file might look like this: + You can add options for mysql.server in a global /etc/my.cnf + file. A typical /etc/my.cnf file might look like this: [mysqld] datadir=/usr/local/mysql/var socket=/var/tmp/mysql.sock @@ -7006,13 +7867,14 @@ [mysql.server] basedir=/usr/local/mysql - The mysql.server script supports the following options: basedir, - datadir, and pid-file. If specified, they must be placed in an - option file, not on the command line. mysql.server supports only - start and stop as command-line arguments. + The mysql.server script supports the following options: + basedir, datadir, and pid-file. If specified, they must be + placed in an option file, not on the command line. + mysql.server supports only start and stop as command-line + arguments. - The following table shows which option groups the server and each - startup script read from option files. + The following table shows which option groups the server and + each startup script read from option files. Table 2.17 MySQL Startup scripts and supported server option groups @@ -7022,95 +7884,98 @@ mysql.server [mysqld], [mysql.server], [server] [mysqld-major_version] means that groups with names like - [mysqld-5.1] and [mysqld-5.5] are read by servers having versions - 5.1.x, 5.5.x, and so forth. This feature can be used to specify - options that can be read only by servers within a given release - series. + [mysqld-5.1] and [mysqld-5.5] are read by servers having + versions 5.1.x, 5.5.x, and so forth. This feature can be used + to specify options that can be read only by servers within a + given release series. For backward compatibility, mysql.server also reads the - [mysql_server] group and mysqld_safe also reads the [safe_mysqld] - group. However, you should update your option files to use the - [mysql.server] and [mysqld_safe] groups instead when using MySQL - 5.5. + [mysql_server] group and mysqld_safe also reads the + [safe_mysqld] group. However, you should update your option + files to use the [mysql.server] and [mysqld_safe] groups + instead when using MySQL 5.5. For more information on MySQL configuration files and their - structure and contents, see Section 4.2.6, "Using Option Files." + structure and contents, see Section 4.2.6, "Using Option + Files." 2.10.1.3 Starting and Troubleshooting the MySQL Server - This section provides troubleshooting suggestions for problems - starting the server on a Unix-like system. If you are using - Windows, see Section 2.3.8, "Troubleshooting a Microsoft Windows - MySQL Server Installation." + This section provides troubleshooting suggestions for + problems starting the server on a Unix-like system. If you + are using Windows, see Section 2.3.8, "Troubleshooting a + Microsoft Windows MySQL Server Installation." - If you have problems starting the server, here are some things to - try: + If you have problems starting the server, here are some + things to try: * Check the error log to see why the server does not start. - * Specify any special options needed by the storage engines you - are using. + * Specify any special options needed by the storage engines + you are using. * Make sure that the server knows where to find the data directory. - * Make sure that the server can access the data directory. The - ownership and permissions of the data directory and its - contents must be set such that the server can read and modify - them. - - * Verify that the network interfaces the server wants to use are - available. - - Some storage engines have options that control their behavior. You - can create a my.cnf file and specify startup options for the - engines that you plan to use. If you are going to use storage - engines that support transactional tables (InnoDB, NDB), be sure - that you have them configured the way you want before starting the - server: + * Make sure that the server can access the data directory. + The ownership and permissions of the data directory and + its contents must be set such that the server can read + and modify them. + + * Verify that the network interfaces the server wants to + use are available. + + Some storage engines have options that control their + behavior. You can create a my.cnf file and specify startup + options for the engines that you plan to use. If you are + going to use storage engines that support transactional + tables (InnoDB, NDB), be sure that you have them configured + the way you want before starting the server: If you are using InnoDB tables, see Section 14.6, "InnoDB Configuration." Storage engines will use default option values if you specify - none, but it is recommended that you review the available options - and specify explicit values for those for which the defaults are - not appropriate for your installation. - - When the mysqld server starts, it changes location to the data - directory. This is where it expects to find databases and where it - expects to write log files. The server also writes the pid - (process ID) file in the data directory. - - The data directory location is hardwired in when the server is - compiled. This is where the server looks for the data directory by - default. If the data directory is located somewhere else on your - system, the server will not work properly. You can determine what - the default path settings are by invoking mysqld with the - --verbose and --help options. + none, but it is recommended that you review the available + options and specify explicit values for those for which the + defaults are not appropriate for your installation. + + When the mysqld server starts, it changes location to the + data directory. This is where it expects to find databases + and where it expects to write log files. The server also + writes the pid (process ID) file in the data directory. + + The data directory location is hardwired in when the server + is compiled. This is where the server looks for the data + directory by default. If the data directory is located + somewhere else on your system, the server will not work + properly. You can determine what the default path settings + are by invoking mysqld with the --verbose and --help options. If the default locations do not match the MySQL installation - layout on your system, you can override them by specifying options - to mysqld or mysqld_safe on the command line or in an option file. - - To specify the location of the data directory explicitly, use the - --datadir option. However, normally you can tell mysqld the - location of the base directory under which MySQL is installed and - it looks for the data directory there. You can do this with the - --basedir option. - - To check the effect of specifying path options, invoke mysqld with - those options followed by the --verbose and --help options. For - example, if you change location into the directory where mysqld is - installed and then run the following command, it shows the effect - of starting the server with a base directory of /usr/local: + layout on your system, you can override them by specifying + options to mysqld or mysqld_safe on the command line or in an + option file. + + To specify the location of the data directory explicitly, use + the --datadir option. However, normally you can tell mysqld + the location of the base directory under which MySQL is + installed and it looks for the data directory there. You can + do this with the --basedir option. + + To check the effect of specifying path options, invoke mysqld + with those options followed by the --verbose and --help + options. For example, if you change location into the + directory where mysqld is installed and then run the + following command, it shows the effect of starting the server + with a base directory of /usr/local: shell> ./mysqld --basedir=/usr/local --verbose --help You can specify other options such as --datadir as well, but --verbose and --help must be the last options. - Once you determine the path settings you want, start the server - without --verbose and --help. + Once you determine the path settings you want, start the + server without --verbose and --help. If mysqld is currently running, you can find out what path settings it is using by executing this command: @@ -7123,138 +7988,145 @@ If you get Errcode 13 (which means Permission denied) when starting mysqld, this means that the privileges of the data - directory or its contents do not permit server access. In this - case, you change the permissions for the involved files and - directories so that the server has the right to use them. You can - also start the server as root, but this raises security issues and - should be avoided. - - Change location into the data directory and check the ownership of - the data directory and its contents to make sure the server has - access. For example, if the data directory is + directory or its contents do not permit server access. In + this case, you change the permissions for the involved files + and directories so that the server has the right to use them. + You can also start the server as root, but this raises + security issues and should be avoided. + + Change location into the data directory and check the + ownership of the data directory and its contents to make sure + the server has access. For example, if the data directory is /usr/local/mysql/var, use this command: shell> ls -la /usr/local/mysql/var - If the data directory or its files or subdirectories are not owned - by the login account that you use for running the server, change - their ownership to that account. If the account is named mysql, - use these commands: + If the data directory or its files or subdirectories are not + owned by the login account that you use for running the + server, change their ownership to that account. If the + account is named mysql, use these commands: shell> chown -R mysql /usr/local/mysql/var shell> chgrp -R mysql /usr/local/mysql/var - If it possible that even with correct ownership, MySQL may fail to - start up if there is other security software running on your - system that manages application access to various parts of the - file system. In this case, you may need to reconfigure that - software to enable mysqld to access the directories it uses during - normal operation. - - If the server fails to start up correctly, check the error log. - Log files are located in the data directory (typically C:\Program - Files\MySQL\MySQL Server 5.5\data on Windows, - /usr/local/mysql/data for a Unix/Linux binary distribution, and - /usr/local/var for a Unix/Linux source distribution). Look in the - data directory for files with names of the form host_name.err and - host_name.log, where host_name is the name of your server host. - Then examine the last few lines of these files. You can use tail - to display them: + If it possible that even with correct ownership, MySQL may + fail to start up if there is other security software running + on your system that manages application access to various + parts of the file system. In this case, you may need to + reconfigure that software to enable mysqld to access the + directories it uses during normal operation. + + If the server fails to start up correctly, check the error + log. Log files are located in the data directory (typically + C:\Program Files\MySQL\MySQL Server 5.5\data on Windows, + /usr/local/mysql/data for a Unix/Linux binary distribution, + and /usr/local/var for a Unix/Linux source distribution). + Look in the data directory for files with names of the form + host_name.err and host_name.log, where host_name is the name + of your server host. Then examine the last few lines of these + files. You can use tail to display them: shell> tail host_name.err shell> tail host_name.log - The error log should contain information that indicates why the - server could not start. + The error log should contain information that indicates why + the server could not start. - If either of the following errors occur, it means that some other - program (perhaps another mysqld server) is using the TCP/IP port - or Unix socket file that mysqld is trying to use: + If either of the following errors occur, it means that some + other program (perhaps another mysqld server) is using the + TCP/IP port or Unix socket file that mysqld is trying to use: Can't start server: Bind on TCP/IP port: Address already in use Can't start server: Bind on unix socket... Use ps to determine whether you have another mysqld server - running. If so, shut down the server before starting mysqld again. - (If another server is running, and you really want to run multiple - servers, you can find information about how to do so in Section - 5.3, "Running Multiple MySQL Instances on One Machine.") - - If no other server is running, try to execute the command telnet - your_host_name tcp_ip_port_number. (The default MySQL port number - is 3306.) Then press Enter a couple of times. If you do not get an - error message like telnet: Unable to connect to remote host: - Connection refused, some other program is using the TCP/IP port - that mysqld is trying to use. You will need to track down what - program this is and disable it, or else tell mysqld to listen to a - different port with the --port option. In this case, you will also - need to specify the port number for client programs when - connecting to the server using TCP/IP. - - Another reason the port might be inaccessible is that you have a - firewall running that blocks connections to it. If so, modify the - firewall settings to permit access to the port. + running. If so, shut down the server before starting mysqld + again. (If another server is running, and you really want to + run multiple servers, you can find information about how to + do so in Section 5.3, "Running Multiple MySQL Instances on + One Machine.") + + If no other server is running, try to execute the command + telnet your_host_name tcp_ip_port_number. (The default MySQL + port number is 3306.) Then press Enter a couple of times. If + you do not get an error message like telnet: Unable to + connect to remote host: Connection refused, some other + program is using the TCP/IP port that mysqld is trying to + use. You will need to track down what program this is and + disable it, or else tell mysqld to listen to a different port + with the --port option. In this case, you will also need to + specify the port number for client programs when connecting + to the server using TCP/IP. + + Another reason the port might be inaccessible is that you + have a firewall running that blocks connections to it. If so, + modify the firewall settings to permit access to the port. - If the server starts but you cannot connect to it, you should make - sure that you have an entry in /etc/hosts that looks like this: + If the server starts but you cannot connect to it, you should + make sure that you have an entry in /etc/hosts that looks + like this: 127.0.0.1 localhost - If you cannot get mysqld to start, you can try to make a trace - file to find the problem by using the --debug option. See Section - 24.4.3, "The DBUG Package." + If you cannot get mysqld to start, you can try to make a + trace file to find the problem by using the --debug option. + See Section 24.4.3, "The DBUG Package." 2.10.2 Securing the Initial MySQL Accounts Part of the MySQL installation process is to set up the mysql database that contains the grant tables: - * Windows distributions contain preinitialized grant tables. + * Windows distributions contain preinitialized grant + tables. * On Unix, the mysql_install_db program populates the grant - tables. Some installation methods run this program for you. - Others require that you execute it manually. For details, see - Section 2.10.1, "Postinstallation Procedures for Unix-like - Systems." - - The mysql.user grant table defines the initial MySQL user accounts - and their access privileges: - - * Some accounts have the user name root. These are superuser - accounts that have all privileges and can do anything. The - initial root account passwords are empty, so anyone can - connect to the MySQL server as root without a password and be - granted all privileges. + tables. Some installation methods run this program for + you. Others require that you execute it manually. For + details, see Section 2.10.1, "Postinstallation Procedures + for Unix-like Systems." + + The mysql.user grant table defines the initial MySQL user + accounts and their access privileges: + + * Some accounts have the user name root. These are + superuser accounts that have all privileges and can do + anything. The initial root account passwords are empty, + so anyone can connect to the MySQL server as root without + a password and be granted all privileges. + On Windows, root accounts are created that permit - connections from the local host only. Connections can be - made by specifying the host name localhost, the IP - address 127.0.0.1, or the IPv6 address ::1. If the user - selects the Enable root access from remote machines - option during installation, the Windows installer creates - another root account that permits connections from any - host. - - + On Unix, each root account permits connections from the - local host. Connections can be made by specifying the - host name localhost, the IP address 127.0.0.1, the IPv6 - address ::1, or the actual host name or IP address. - An attempt to connect to the host 127.0.0.1 normally resolves - to the localhost account. However, this fails if the server is - run with the --skip-name-resolve option, so the 127.0.0.1 - account is useful in that case. The ::1 account is used for - IPv6 connections. - - * Some accounts are for anonymous users. These have an empty - user name. The anonymous accounts have no password, so anyone - can use them to connect to the MySQL server. - - + On Windows, there is one anonymous account that permits - connections from the local host. Connections can be made - by specifying a host name of localhost. - - + On Unix, each anonymous account permits connections from - the local host. Connections can be made by specifying a - host name of localhost for one of the accounts, or the - actual host name or IP address for the other. - - To display which accounts exist in the mysql.user table and check - whether their passwords are empty, use the following statement: + connections from the local host only. Connections + can be made by specifying the host name localhost, + the IP address 127.0.0.1, or the IPv6 address ::1. + If the user selects the Enable root access from + remote machines option during installation, the + Windows installer creates another root account that + permits connections from any host. + + + On Unix, each root account permits connections from + the local host. Connections can be made by + specifying the host name localhost, the IP address + 127.0.0.1, the IPv6 address ::1, or the actual host + name or IP address. + An attempt to connect to the host 127.0.0.1 normally + resolves to the localhost account. However, this fails if + the server is run with the --skip-name-resolve option, so + the 127.0.0.1 account is useful in that case. The ::1 + account is used for IPv6 connections. + + * Some accounts are for anonymous users. These have an + empty user name. The anonymous accounts have no password, + so anyone can use them to connect to the MySQL server. + + + On Windows, there is one anonymous account that + permits connections from the local host. Connections + can be made by specifying a host name of localhost. + + + On Unix, each anonymous account permits connections + from the local host. Connections can be made by + specifying a host name of localhost for one of the + accounts, or the actual host name or IP address for + the other. + + To display which accounts exist in the mysql.user table and + check whether their passwords are empty, use the following + statement: mysql> SELECT User, Host, Password FROM mysql.user; +------+--------------------+----------+ | User | Host | Password | @@ -7268,56 +8140,57 @@ +------+--------------------+----------+ This output indicates that there are several root and - anonymous-user accounts, none of which have passwords. The output - might differ on your system, but the presence of accounts with - empty passwords means that your MySQL installation is unprotected - until you do something about it: + anonymous-user accounts, none of which have passwords. The + output might differ on your system, but the presence of + accounts with empty passwords means that your MySQL + installation is unprotected until you do something about it: * You should assign a password to each MySQL root account. - * If you want to prevent clients from connecting as anonymous - users without a password, you should either assign a password - to each anonymous account or else remove the accounts. + * If you want to prevent clients from connecting as + anonymous users without a password, you should either + assign a password to each anonymous account or else + remove the accounts. In addition, the mysql.db table contains rows that permit all accounts to access the test database and other databases with - names that start with test_. This is true even for accounts that - otherwise have no special privileges such as the default anonymous - accounts. This is convenient for testing but inadvisable on - production servers. Administrators who want database access - restricted only to accounts that have permissions granted - explicitly for that purpose should remove these mysql.db table - rows. - - The following instructions describe how to set up passwords for - the initial MySQL accounts, first for the root accounts, then for - the anonymous accounts. The instructions also cover how to remove - the anonymous accounts, should you prefer not to permit anonymous - access at all, and describe how to remove permissive access to - test databases. Replace newpwd in the examples with the password - that you want to use. Replace host_name with the name of the - server host. You can determine this name from the output of the - preceding SELECT statement. For the output shown, host_name is - myhost.example.com. - Note - - For additional information about setting passwords, see Section - 6.3.5, "Assigning Account Passwords." If you forget your root - password after setting it, see Section B.5.4.1, "How to Reset the - Root Password." + names that start with test_. This is true even for accounts + that otherwise have no special privileges such as the default + anonymous accounts. This is convenient for testing but + inadvisable on production servers. Administrators who want + database access restricted only to accounts that have + permissions granted explicitly for that purpose should remove + these mysql.db table rows. + + The following instructions describe how to set up passwords + for the initial MySQL accounts, first for the root accounts, + then for the anonymous accounts. The instructions also cover + how to remove the anonymous accounts, should you prefer not + to permit anonymous access at all, and describe how to remove + permissive access to test databases. Replace newpwd in the + examples with the password that you want to use. Replace + host_name with the name of the server host. You can determine + this name from the output of the preceding SELECT statement. + For the output shown, host_name is myhost.example.com. + Note + + For additional information about setting passwords, see + Section 6.3.5, "Assigning Account Passwords." If you forget + your root password after setting it, see Section B.5.4.1, + "How to Reset the Root Password." You might want to defer setting the passwords until later, to - avoid the need to specify them while you perform additional setup - or testing. However, be sure to set them before using your - installation for production purposes. + avoid the need to specify them while you perform additional + setup or testing. However, be sure to set them before using + your installation for production purposes. - To set up additional accounts, see Section 6.3.2, "Adding User - Accounts." + To set up additional accounts, see Section 6.3.2, "Adding + User Accounts." Assigning root Account Passwords - The root account passwords can be set several ways. The following - discussion demonstrates three methods: + The root account passwords can be set several ways. The + following discussion demonstrates three methods: * Use the SET PASSWORD statement @@ -7325,10 +8198,10 @@ * Use the mysqladmin command-line client program - To assign passwords using SET PASSWORD, connect to the server as - root and issue a SET PASSWORD statement for each root account - listed in the mysql.user table. Be sure to encrypt the password - using the PASSWORD() function. + To assign passwords using SET PASSWORD, connect to the server + as root and issue a SET PASSWORD statement for each root + account listed in the mysql.user table. Be sure to encrypt + the password using the PASSWORD() function. For Windows, do this: shell> mysql -u root @@ -7337,8 +8210,8 @@ mysql> SET PASSWORD FOR 'root'@'::1' = PASSWORD('newpwd'); mysql> SET PASSWORD FOR 'root'@'%' = PASSWORD('newpwd'); - The last statement is unnecessary if the mysql.user table has no - root account with a host value of %. + The last statement is unnecessary if the mysql.user table has + no root account with a host value of %. For Unix, do this: shell> mysql -u root @@ -7347,49 +8220,50 @@ mysql> SET PASSWORD FOR 'root'@'::1' = PASSWORD('newpwd'); mysql> SET PASSWORD FOR 'root'@'host_name' = PASSWORD('newpwd'); - You can also use a single statement that assigns a password to all - root accounts by using UPDATE to modify the mysql.user table - directly. This method works on any platform: + You can also use a single statement that assigns a password + to all root accounts by using UPDATE to modify the mysql.user + table directly. This method works on any platform: shell> mysql -u root mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd') -> WHERE User = 'root'; mysql> FLUSH PRIVILEGES; - The FLUSH statement causes the server to reread the grant tables. - Without it, the password change remains unnoticed by the server - until you restart it. + The FLUSH statement causes the server to reread the grant + tables. Without it, the password change remains unnoticed by + the server until you restart it. - To assign passwords to the root accounts using mysqladmin, execute - the following commands: + To assign passwords to the root accounts using mysqladmin, + execute the following commands: shell> mysqladmin -u root password "newpwd" shell> mysqladmin -u root -h host_name password "newpwd" Those commands apply both to Windows and to Unix. The double - quotation marks around the password are not always necessary, but - you should use them if the password contains spaces or other - characters that are special to your command interpreter. - - The mysqladmin method of setting the root account passwords does - not work for the 'root'@'127.0.0.1' or 'root'@'::1' account. Use - the SET PASSWORD method shown earlier. + quotation marks around the password are not always necessary, + but you should use them if the password contains spaces or + other characters that are special to your command + interpreter. + + The mysqladmin method of setting the root account passwords + does not work for the 'root'@'127.0.0.1' or 'root'@'::1' + account. Use the SET PASSWORD method shown earlier. After the root passwords have been set, you must supply the - appropriate password whenever you connect as root to the server. - For example, to shut down the server with mysqladmin, use this - command: + appropriate password whenever you connect as root to the + server. For example, to shut down the server with mysqladmin, + use this command: shell> mysqladmin -u root -p shutdown Enter password: (enter root password here) Assigning Anonymous Account Passwords The mysql commands in the following instructions include a -p - option based on the assumption that you have set the root account - passwords using the preceding instructions and must specify that - password when connecting to the server. + option based on the assumption that you have set the root + account passwords using the preceding instructions and must + specify that password when connecting to the server. To assign passwords to the anonymous accounts, connect to the - server as root, then use either SET PASSWORD or UPDATE. Be sure to - encrypt the password using the PASSWORD() function. + server as root, then use either SET PASSWORD or UPDATE. Be + sure to encrypt the password using the PASSWORD() function. To use SET PASSWORD on Windows, do this: shell> mysql -u root -p @@ -7402,17 +8276,17 @@ mysql> SET PASSWORD FOR ''@'localhost' = PASSWORD('newpwd'); mysql> SET PASSWORD FOR ''@'host_name' = PASSWORD('newpwd'); - To set the anonymous-user account passwords with a single UPDATE - statement, do this (on any platform): + To set the anonymous-user account passwords with a single + UPDATE statement, do this (on any platform): shell> mysql -u root -p Enter password: (enter root password here) mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd') -> WHERE User = ''; mysql> FLUSH PRIVILEGES; - The FLUSH statement causes the server to reread the grant tables. - Without it, the password change remains unnoticed by the server - until you restart it. + The FLUSH statement causes the server to reread the grant + tables. Without it, the password change remains unnoticed by + the server until you restart it. Removing Anonymous Accounts @@ -7430,86 +8304,91 @@ Securing Test Databases - By default, the mysql.db table contains rows that permit access by - any user to the test database and other databases with names that - start with test_. (These rows have an empty User column value, - which for access-checking purposes matches any user name.) This - means that such databases can be used even by accounts that - otherwise possess no privileges. If you want to remove any-user - access to test databases, do so as follows: + By default, the mysql.db table contains rows that permit + access by any user to the test database and other databases + with names that start with test_. (These rows have an empty + User column value, which for access-checking purposes matches + any user name.) This means that such databases can be used + even by accounts that otherwise possess no privileges. If you + want to remove any-user access to test databases, do so as + follows: shell> mysql -u root -p Enter password: (enter root password here) mysql> DELETE FROM mysql.db WHERE Db LIKE 'test%'; mysql> FLUSH PRIVILEGES; - The FLUSH statement causes the server to reread the grant tables. - Without it, the privilege change remains unnoticed by the server - until you restart it. - - With the preceding change, only users who have global database - privileges or privileges granted explicitly for the test database - can use it. However, if you do not want the database to exist at - all, drop it: + The FLUSH statement causes the server to reread the grant + tables. Without it, the privilege change remains unnoticed by + the server until you restart it. + + With the preceding change, only users who have global + database privileges or privileges granted explicitly for the + test database can use it. However, if you do not want the + database to exist at all, drop it: mysql> DROP DATABASE test; Note - On Windows, you can also perform the process described in this - section using the Configuration Wizard (see Section 2.3.6.11, "The - Security Options Dialog"). On all platforms, the MySQL - distribution includes mysql_secure_installation, a command-line - utility that automates much of the process of securing a MySQL - installation. + On Windows, you can also perform the process described in + this section using the Configuration Wizard (see Section + 2.3.6.11, "The Security Options Dialog"). On all platforms, + the MySQL distribution includes mysql_secure_installation, a + command-line utility that automates much of the process of + securing a MySQL installation. 2.11 Upgrading or Downgrading MySQL 2.11.1 Upgrading MySQL - As a general rule, to upgrade from one release series to another, - go to the next series rather than skipping a series. To upgrade - from a release series previous to MySQL 5.1, upgrade to each - successive release series in turn until you have reached MySQL - 5.1, and then proceed with the upgrade to MySQL 5.5. For example, - if you currently are running MySQL 5.0 and wish to upgrade to a - newer series, upgrade to MySQL 5.1 first before upgrading to 5.5, - and so forth. For information on upgrading to MySQL 5.1, see the - MySQL 5.1 Reference Manual. - - There is a special case for upgrading to MySQL 5.5, which is that - there was a short-lived MySQL 5.4 development series. This series - is no longer being worked on, but to accommodate users of both - series, this section includes one subsection for users upgrading - from MySQL 5.1 to 5.5 and another for users upgrading from MySQL - 5.4 to 5.5. + As a general rule, to upgrade from one release series to + another, go to the next series rather than skipping a series. + To upgrade from a release series previous to MySQL 5.1, + upgrade to each successive release series in turn until you + have reached MySQL 5.1, and then proceed with the upgrade to + MySQL 5.5. For example, if you currently are running MySQL + 5.0 and wish to upgrade to a newer series, upgrade to MySQL + 5.1 first before upgrading to 5.5, and so forth. For + information on upgrading to MySQL 5.1, see the MySQL 5.1 + Reference Manual. + + There is a special case for upgrading to MySQL 5.5, which is + that there was a short-lived MySQL 5.4 development series. + This series is no longer being worked on, but to accommodate + users of both series, this section includes one subsection + for users upgrading from MySQL 5.1 to 5.5 and another for + users upgrading from MySQL 5.4 to 5.5. - To upgrade to MySQL 5.5, use the items in the following checklist - as a guide: + To upgrade to MySQL 5.5, use the items in the following + checklist as a guide: * Before any upgrade, back up your databases, including the - mysql database that contains the grant tables. See Section - 7.2, "Database Backup Methods." + mysql database that contains the grant tables. See + Section 7.2, "Database Backup Methods." - * Read all the notes in Section 2.11.1.1, "Upgrading from MySQL - 5.1 to 5.5," or Section 2.11.1.2, "Upgrading from MySQL 5.4 to - 5.5," depending on whether you currently use MySQL 5.1 or 5.4. - These notes enable you to identify upgrade issues that apply - to your current MySQL installation. Some incompatibilities - discussed in that section require your attention before - upgrading. Others should be dealt with after upgrading. + * Read all the notes in Section 2.11.1.1, "Upgrading from + MySQL 5.1 to 5.5," or Section 2.11.1.2, "Upgrading from + MySQL 5.4 to 5.5," depending on whether you currently use + MySQL 5.1 or 5.4. These notes enable you to identify + upgrade issues that apply to your current MySQL + installation. Some incompatibilities discussed in that + section require your attention before upgrading. Others + should be dealt with after upgrading. * Read the Release Notes - (http://dev.mysql.com/doc/relnotes/mysql/5.5/en/) as well, - which provide information about features that are new in MySQL - 5.5 or differ from those found in earlier MySQL releases. - - * After upgrading to a new version of MySQL, run mysql_upgrade - (see Section 4.4.7, "mysql_upgrade --- Check and Upgrade MySQL - Tables"). This program checks your tables, and attempts to - repair them if necessary. It also updates your grant tables to - make sure that they have the current structure so that you can - take advantage of any new capabilities. (Some releases of - MySQL introduce changes to the structure of the grant tables - to add new privileges or features.) + (http://dev.mysql.com/doc/relnotes/mysql/5.5/en/) as + well, which provide information about features that are + new in MySQL 5.5 or differ from those found in earlier + MySQL releases. + + * After upgrading to a new version of MySQL, run + mysql_upgrade (see Section 4.4.7, "mysql_upgrade --- + Check and Upgrade MySQL Tables"). This program checks + your tables, and attempts to repair them if necessary. It + also updates your grant tables to make sure that they + have the current structure so that you can take advantage + of any new capabilities. (Some releases of MySQL + introduce changes to the structure of the grant tables to + add new privileges or features.) mysql_upgrade does not upgrade the contents of the help tables. For upgrade instructions, see Section 5.1.10, "Server-Side Help." @@ -7521,153 +8400,166 @@ Replication Setup," for information on upgrading your replication setup. - * If you use InnoDB, consider setting innodb_fast_shutdown to 0 - before shutting down and upgrading your server. When you set - innodb_fast_shutdown to 0, InnoDB does a slow shutdown, a full - purge and an insert buffer merge before shutting down, which - ensures that all data files are fully prepared in case the - upgrade process modifies the file format. + * If you use InnoDB, consider setting innodb_fast_shutdown + to 0 before shutting down and upgrading your server. When + you set innodb_fast_shutdown to 0, InnoDB does a slow + shutdown, a full purge and an insert buffer merge before + shutting down, which ensures that all data files are + fully prepared in case the upgrade process modifies the + file format. * If you upgrade an installation originally produced by - installing multiple RPM packages, it is best to upgrade all - the packages, not just some. For example, if you previously - installed the server and client RPMs, do not upgrade just the - server RPM. - - * If you have created a user-defined function (UDF) with a given - name and upgrade MySQL to a version that implements a new - built-in function with the same name, the UDF becomes - inaccessible. To correct this, use DROP FUNCTION to drop the - UDF, and then use CREATE FUNCTION to re-create the UDF with a - different nonconflicting name. The same is true if the new - version of MySQL implements a built-in function with the same - name as an existing stored function. See Section 9.2.4, - "Function Name Parsing and Resolution," for the rules - describing how the server interprets references to different - kinds of functions. - - For upgrades between versions of a MySQL release series that has - reached General Availability status, you can move the MySQL format - files and data files between different versions on systems with - the same architecture. For upgrades to a version of a MySQL - release series that is in development status, that is not - necessarily true. Use of development releases is at your own risk. + installing multiple RPM packages, it is best to upgrade + all the packages, not just some. For example, if you + previously installed the server and client RPMs, do not + upgrade just the server RPM. + + * If you have created a user-defined function (UDF) with a + given name and upgrade MySQL to a version that implements + a new built-in function with the same name, the UDF + becomes inaccessible. To correct this, use DROP FUNCTION + to drop the UDF, and then use CREATE FUNCTION to + re-create the UDF with a different nonconflicting name. + The same is true if the new version of MySQL implements a + built-in function with the same name as an existing + stored function. See Section 9.2.4, "Function Name + Parsing and Resolution," for the rules describing how the + server interprets references to different kinds of + functions. + + For upgrades between versions of a MySQL release series that + has reached General Availability status, you can move the + MySQL format files and data files between different versions + on systems with the same architecture. For upgrades to a + version of a MySQL release series that is in development + status, that is not necessarily true. Use of development + releases is at your own risk. If you are cautious about using new versions, you can always - rename your old mysqld before installing a newer one. For example, - if you are using a version of MySQL 5.1 and want to upgrade to - 5.5, rename your current server from mysqld to mysqld-5.1. If your - new mysqld then does something unexpected, you can simply shut it - down and restart with your old mysqld. - - If problems occur, such as that the new mysqld server does not - start or that you cannot connect without a password, verify that - you do not have an old my.cnf file from your previous - installation. You can check this with the --print-defaults option - (for example, mysqld --print-defaults). If this command displays - anything other than the program name, you have an active my.cnf - file that affects server or client operation. - - If, after an upgrade, you experience problems with compiled client - programs, such as Commands out of sync or unexpected core dumps, - you probably have used old header or library files when compiling - your programs. In this case, you should check the date for your - mysql.h file and libmysqlclient.a library to verify that they are - from the new MySQL distribution. If not, recompile your programs - with the new headers and libraries. Recompilation might also be - necessary for programs compiled against the shared client library - if the library major version number has changed (for example from - libmysqlclient.so.15 to libmysqlclient.so.16. - - If your MySQL installation contains a large amount of data that - might take a long time to convert after an in-place upgrade, you - might find it useful to create a "dummy" database instance for - assessing what conversions might be needed and the work involved - to perform them. Make a copy of your MySQL instance that contains - a full copy of the mysql database, plus all other databases - without data. Run your upgrade procedure on this dummy instance to - see what actions might be needed so that you can better evaluate - the work involved when performing actual data conversion on your + rename your old mysqld before installing a newer one. For + example, if you are using a version of MySQL 5.1 and want to + upgrade to 5.5, rename your current server from mysqld to + mysqld-5.1. If your new mysqld then does something + unexpected, you can simply shut it down and restart with your + old mysqld. + + If problems occur, such as that the new mysqld server does + not start or that you cannot connect without a password, + verify that you do not have an old my.cnf file from your + previous installation. You can check this with the + --print-defaults option (for example, mysqld + --print-defaults). If this command displays anything other + than the program name, you have an active my.cnf file that + affects server or client operation. + + If, after an upgrade, you experience problems with compiled + client programs, such as Commands out of sync or unexpected + core dumps, you probably have used old header or library + files when compiling your programs. In this case, you should + check the date for your mysql.h file and libmysqlclient.a + library to verify that they are from the new MySQL + distribution. If not, recompile your programs with the new + headers and libraries. Recompilation might also be necessary + for programs compiled against the shared client library if + the library major version number has changed (for example + from libmysqlclient.so.15 to libmysqlclient.so.16. + + If your MySQL installation contains a large amount of data + that might take a long time to convert after an in-place + upgrade, you might find it useful to create a "dummy" + database instance for assessing what conversions might be + needed and the work involved to perform them. Make a copy of + your MySQL instance that contains a full copy of the mysql + database, plus all other databases without data. Run your + upgrade procedure on this dummy instance to see what actions + might be needed so that you can better evaluate the work + involved when performing actual data conversion on your original database instance. - It is a good idea to rebuild and reinstall the Perl DBD::mysql - module whenever you install a new release of MySQL. The same - applies to other MySQL interfaces as well, such as PHP mysql - extensions and the Python MySQLdb module. + It is a good idea to rebuild and reinstall the Perl + DBD::mysql module whenever you install a new release of + MySQL. The same applies to other MySQL interfaces as well, + such as PHP mysql extensions and the Python MySQLdb module. 2.11.1.1 Upgrading from MySQL 5.1 to 5.5 Note - It is good practice to back up your data before installing any new - version of software. Although MySQL works very hard to ensure a - high level of quality, you should protect your data by making a - backup. - - To upgrade to 5.5 from any previous version, MySQL recommends that - you dump your tables with mysqldump before upgrading and reload - the dump file after upgrading. Use the --all-databases option to - include all databases in the dump. If your databases include - stored programs, use the --routines and --events options as well. + It is good practice to back up your data before installing + any new version of software. Although MySQL works very hard + to ensure a high level of quality, you should protect your + data by making a backup. + + To upgrade to 5.5 from any previous version, MySQL recommends + that you dump your tables with mysqldump before upgrading and + reload the dump file after upgrading. Use the --all-databases + option to include all databases in the dump. If your + databases include stored programs, use the --routines and + --events options as well. - In general, you should do the following when upgrading from MySQL - 5.1 to 5.5: + In general, you should do the following when upgrading from + MySQL 5.1 to 5.5: - * Read all the items in these sections to see whether any of - them might affect your applications: + * Read all the items in these sections to see whether any + of them might affect your applications: - + Section 2.11.1, "Upgrading MySQL," has general update - information. + + Section 2.11.1, "Upgrading MySQL," has general + update information. + The items in the change lists provided later in this - section enable you to identify upgrade issues that apply - to your current MySQL installation. Some - incompatibilities discussed there require your attention - before upgrading. Others should be dealt with after - upgrading. + section enable you to identify upgrade issues that + apply to your current MySQL installation. Some + incompatibilities discussed there require your + attention before upgrading. Others should be dealt + with after upgrading. + The MySQL 5.5 Release Notes (http://dev.mysql.com/doc/relnotes/mysql/5.5/en/) - describe significant new features you can use in 5.5 or - that differ from those found in earlier MySQL releases. - Some of these changes may result in incompatibilities. - Note particularly any changes that are marked Known issue or - Incompatible change. These incompatibilities with earlier - versions of MySQL may require your attention before you - upgrade. Our aim is to avoid these changes, but occasionally - they are necessary to correct problems that would be worse - than an incompatibility between releases. If any upgrade issue - applicable to your installation involves an incompatibility - that requires special handling, follow the instructions given - in the incompatibility description. Sometimes this involves - dumping and reloading tables, or use of a statement such as - CHECK TABLE or REPAIR TABLE. + describe significant new features you can use in 5.5 + or that differ from those found in earlier MySQL + releases. Some of these changes may result in + incompatibilities. + Note particularly any changes that are marked Known issue + or Incompatible change. These incompatibilities with + earlier versions of MySQL may require your attention + before you upgrade. Our aim is to avoid these changes, + but occasionally they are necessary to correct problems + that would be worse than an incompatibility between + releases. If any upgrade issue applicable to your + installation involves an incompatibility that requires + special handling, follow the instructions given in the + incompatibility description. Sometimes this involves + dumping and reloading tables, or use of a statement such + as CHECK TABLE or REPAIR TABLE. For dump and reload instructions, see Section 2.11.4, - "Rebuilding or Repairing Tables or Indexes." Any procedure - that involves REPAIR TABLE with the USE_FRM option must be - done before upgrading. Use of this statement with a version of - MySQL different from the one used to create the table (that - is, using it after upgrading) may damage the table. See - Section 13.7.2.5, "REPAIR TABLE Syntax." - - * Before upgrading to a new version of MySQL, Section 2.11.3, - "Checking Whether Tables or Indexes Must Be Rebuilt," to see - whether changes to table formats or to character sets or - collations were made between your current version of MySQL and - the version to which you are upgrading. If so and these - changes result in an incompatibility between MySQL versions, - you will need to upgrade the affected tables using the - instructions in Section 2.11.4, "Rebuilding or Repairing - Tables or Indexes." - - * After upgrading to a new version of MySQL, run mysql_upgrade - (see Section 4.4.7, "mysql_upgrade --- Check and Upgrade MySQL - Tables"). This program checks your tables, and attempts to - repair them if necessary. It also updates your grant tables to - make sure that they have the current structure so that you can - take advantage of any new capabilities. (Some releases of - MySQL introduce changes to the structure of the grant tables - to add new privileges or features.) + "Rebuilding or Repairing Tables or Indexes." Any + procedure that involves REPAIR TABLE with the USE_FRM + option must be done before upgrading. Use of this + statement with a version of MySQL different from the one + used to create the table (that is, using it after + upgrading) may damage the table. See Section 13.7.2.5, + "REPAIR TABLE Syntax." + + * Before upgrading to a new version of MySQL, Section + 2.11.3, "Checking Whether Tables or Indexes Must Be + Rebuilt," to see whether changes to table formats or to + character sets or collations were made between your + current version of MySQL and the version to which you are + upgrading. If so and these changes result in an + incompatibility between MySQL versions, you will need to + upgrade the affected tables using the instructions in + Section 2.11.4, "Rebuilding or Repairing Tables or + Indexes." + + * After upgrading to a new version of MySQL, run + mysql_upgrade (see Section 4.4.7, "mysql_upgrade --- + Check and Upgrade MySQL Tables"). This program checks + your tables, and attempts to repair them if necessary. It + also updates your grant tables to make sure that they + have the current structure so that you can take advantage + of any new capabilities. (Some releases of MySQL + introduce changes to the structure of the grant tables to + add new privileges or features.) mysql_upgrade does not upgrade the contents of the help tables. For upgrade instructions, see Section 5.1.10, "Server-Side Help." @@ -7679,401 +8571,446 @@ Replication Setup," for information on upgrading your replication setup. - If your MySQL installation contains a large amount of data that - might take a long time to convert after an in-place upgrade, you - might find it useful to create a "dummy" database instance for - assessing what conversions might be needed and the work involved - to perform them. Make a copy of your MySQL instance that contains - a full copy of the mysql database, plus all other databases - without data. Run your upgrade procedure on this dummy instance to - see what actions might be needed so that you can better evaluate - the work involved when performing actual data conversion on your + If your MySQL installation contains a large amount of data + that might take a long time to convert after an in-place + upgrade, you might find it useful to create a "dummy" + database instance for assessing what conversions might be + needed and the work involved to perform them. Make a copy of + your MySQL instance that contains a full copy of the mysql + database, plus all other databases without data. Run your + upgrade procedure on this dummy instance to see what actions + might be needed so that you can better evaluate the work + involved when performing actual data conversion on your original database instance. - The following lists describe changes that may affect applications - and that you should watch out for when upgrading from MySQL 5.1 to - 5.5. + The following lists describe changes that may affect + applications and that you should watch out for when upgrading + from MySQL 5.1 to 5.5. Configuration Changes - * Incompatible change: The InnoDB Plugin is included in MySQL - 5.5 releases. It becomes the built-in version of InnoDB in - MySQL Server, replacing the version previously included as the - built-in InnoDB engine. InnoDB Plugin is also available in - MySQL 5.1 as of 5.1.38, but it is an optional storage engine - that must be enabled explicitly using two server options: + * Incompatible change: The InnoDB Plugin is included in + MySQL 5.5 releases. It becomes the built-in version of + InnoDB in MySQL Server, replacing the version previously + included as the built-in InnoDB engine. InnoDB Plugin is + also available in MySQL 5.1 as of 5.1.38, but it is an + optional storage engine that must be enabled explicitly + using two server options: [mysqld] ignore-builtin-innodb plugin-load=innodb=ha_innodb_plugin.so - If you were using InnoDB Plugin in MySQL 5.1 by means of those - options, you must remove them after an upgrade to 5.5 or the - server will fail to start. + + If you were using InnoDB Plugin in MySQL 5.1 by means of + those options, you must remove them after an upgrade to + 5.5 or the server will fail to start. In addition, in InnoDB Plugin, the innodb_file_io_threads system variable has been removed and replaced with - innodb_read_io_threads and innodb_write_io_threads. If you - upgrade from MySQL 5.1 to MySQL 5.5 and previously explicitly - set innodb_file_io_threads at server startup, you must change - your configuration. Either remove any reference to - innodb_file_io_threads or replace it with references to - innodb_read_io_threads and innodb_write_io_threads. + innodb_read_io_threads and innodb_write_io_threads. If + you upgrade from MySQL 5.1 to MySQL 5.5 and previously + explicitly set innodb_file_io_threads at server startup, + you must change your configuration. Either remove any + reference to innodb_file_io_threads or replace it with + references to innodb_read_io_threads and + innodb_write_io_threads. * Incompatible change: In MySQL 5.5, the server includes a - plugin services interface that complements the plugin API. The - services interface enables server functionality to be exposed - as a "service" that plugins can access through a function-call - interface. The libmysqlservices library provides access to the - available services and dynamic plugins now must be linked - against this library (use the -lmysqlservices flag). For an - example showing how to configure for CMake, see Section - 24.2.5, "MySQL Services for Plugins." + plugin services interface that complements the plugin + API. The services interface enables server functionality + to be exposed as a "service" that plugins can access + through a function-call interface. The libmysqlservices + library provides access to the available services and + dynamic plugins now must be linked against this library + (use the -lmysqlservices flag). For an example showing + how to configure for CMake, see Section 24.2.5, "MySQL + Services for Plugins." Server Changes - * Known issue: As of MySQL 5.5.32, for new installations, the - url columns in the mysql database help tables are now created - as type TEXT to accommodate longer URLs. For upgrades, - mysql_upgrade does not update the columns. Modify them - manually using these statements: + * On Linux systems, the libaio library may be needed. + Install it first, if it is not already present on your + system. + + * Known issue: As of MySQL 5.5.32, for new installations, + the url columns in the mysql database help tables are now + created as type TEXT to accommodate longer URLs. For + upgrades, mysql_upgrade does not update the columns. + Modify them manually using these statements: ALTER TABLE mysql.help_category MODIFY url TEXT NOT NULL; ALTER TABLE mysql.help_topic MODIFY url TEXT NOT NULL; - * Incompatible change: As of MySQL 5.5.3, due to work done for - Bug #989, FLUSH TABLES is not permitted when there is an - active LOCK TABLES ... READ. To provide a workaround for this - restriction, FLUSH TABLES has a new variant, FLUSH TABLES - tbl_list WITH READ LOCK, that enables tables to be flushed and - locked in a single operation. As a result of this change, - applications that previously used this statement sequence to - lock and flush tables will fail: + + * Incompatible change: As of MySQL 5.5.3, due to work done + for Bug #989, FLUSH TABLES is not permitted when there is + an active LOCK TABLES ... READ. To provide a workaround + for this restriction, FLUSH TABLES has a new variant, + FLUSH TABLES tbl_list WITH READ LOCK, that enables tables + to be flushed and locked in a single operation. As a + result of this change, applications that previously used + this statement sequence to lock and flush tables will + fail: LOCK TABLES tbl_list READ; FLUSH TABLES tbl_list; + Such applications should now use this statement instead: FLUSH TABLES tbl_list WITH READ LOCK; - * Incompatible change: As of MySQL 5.5.7, the server requires - that a new grant table, proxies_priv, be present in the mysql - database. If you are upgrading to 5.5.7 from a previous MySQL - release rather than performing a new installation, the server - will find that this table is missing and exit during startup - with the following message: + + * Incompatible change: As of MySQL 5.5.7, the server + requires that a new grant table, proxies_priv, be present + in the mysql database. If you are upgrading to 5.5.7 from + a previous MySQL release rather than performing a new + installation, the server will find that this table is + missing and exit during startup with the following + message: Table 'mysql.proxies_priv' doesn't exist - To create the proxies_priv table, start the server with the - --skip-grant-tables option to cause it to skip the normal - grant table checks, then run mysql_upgrade. For example: + + To create the proxies_priv table, start the server with + the --skip-grant-tables option to cause it to skip the + normal grant table checks, then run mysql_upgrade. For + example: shell> mysqld --skip-grant-tables & shell> mysql_upgrade + Then stop the server and restart it normally. - You can specify other options on the mysqld command line if - necessary. Alternatively, if your installation is configured - so that the server normally reads options from an option file, - use the --defaults-file option to specify the file (enter each - command on a single line): + You can specify other options on the mysqld command line + if necessary. Alternatively, if your installation is + configured so that the server normally reads options from + an option file, use the --defaults-file option to specify + the file (enter each command on a single line): shell> mysqld --defaults-file=/usr/local/mysql/etc/my.cnf --skip-grant-tables & shell> mysql_upgrade + With the --skip-grant-tables option, the server does no - password or privilege checking, so any client can connect and - effectively have all privileges. For additional security, use - the --skip-networking option as well to prevent remote clients - from connecting. + password or privilege checking, so any client can connect + and effectively have all privileges. For additional + security, use the --skip-networking option as well to + prevent remote clients from connecting. Note This problem is fixed in MySQL 5.5.8; the server treats a - missing proxies_priv table as equivalent to an empty table. - However, after starting the server, you should still run - mysql_upgrade to create the table. - - * Incompatible change: As of MySQL 5.5.7, InnoDB always uses the - fast truncation technique, equivalent to DROP TABLE and CREATE - TABLE. It no longer performs a row-by-row delete for tables - with parent-child foreign key relationships. TRUNCATE TABLE - returns an error for such tables. Modify your SQL to issue - DELETE FROM table_name for such tables instead. - - * Incompatible change: Prior to MySQL 5.5.7, if you flushed the - logs using FLUSH LOGS or mysqladmin flush-logs and mysqld was - writing the error log to a file (for example, if it was - started with the --log-error option), it renames the current - log file with the suffix -old, then created a new empty log - file. This had the problem that a second log-flushing - operation thus caused the original error log file to be lost - unless you saved it under a different name. For example, you - could use the following commands to save the file: + missing proxies_priv table as equivalent to an empty + table. However, after starting the server, you should + still run mysql_upgrade to create the table. + + * Incompatible change: As of MySQL 5.5.7, InnoDB always + uses the fast truncation technique, equivalent to DROP + TABLE and CREATE TABLE. It no longer performs a + row-by-row delete for tables with parent-child foreign + key relationships. TRUNCATE TABLE returns an error for + such tables. Modify your SQL to issue DELETE FROM + table_name for such tables instead. + + * Incompatible change: Prior to MySQL 5.5.7, if you flushed + the logs using FLUSH LOGS or mysqladmin flush-logs and + mysqld was writing the error log to a file (for example, + if it was started with the --log-error option), it + renames the current log file with the suffix -old, then + created a new empty log file. This had the problem that a + second log-flushing operation thus caused the original + error log file to be lost unless you saved it under a + different name. For example, you could use the following + commands to save the file: shell> mysqladmin flush-logs shell> mv host_name.err-old backup-directory - To avoid the preceding file-loss problem, no renaming occurs - as of MySQL 5.5.7; the server merely closes and reopens the - log file. To rename the file, you can do so manually before - flushing. Then flushing the logs reopens a new file with the - original file name. For example, you can rename the file and - create a new one using the following commands: + + To avoid the preceding file-loss problem, no renaming + occurs as of MySQL 5.5.7; the server merely closes and + reopens the log file. To rename the file, you can do so + manually before flushing. Then flushing the logs reopens + a new file with the original file name. For example, you + can rename the file and create a new one using the + following commands: shell> mv host_name.err host_name.err-old shell> mysqladmin flush-logs shell> mv host_name.err-old backup-directory - * Incompatible change: As of MySQL 5.5.6, handling of CREATE - TABLE IF NOT EXISTS ... SELECT statements has been changed for - the case that the destination table already exists: - - + Previously, for CREATE TABLE IF NOT EXISTS ... SELECT, - MySQL produced a warning that the table exists, but - inserted the rows and wrote the statement to the binary - log anyway. By contrast, CREATE TABLE ... SELECT (without - IF NOT EXISTS) failed with an error, but MySQL inserted - no rows and did not write the statement to the binary - log. - - + MySQL now handles both statements the same way when the - destination table exists, in that neither statement - inserts rows or is written to the binary log. The - difference between them is that MySQL produces a warning - when IF NOT EXISTS is present and an error when it is - not. + + * Incompatible change: As of MySQL 5.5.6, handling of + CREATE TABLE IF NOT EXISTS ... SELECT statements has been + changed for the case that the destination table already + exists: + + + Previously, for CREATE TABLE IF NOT EXISTS ... + SELECT, MySQL produced a warning that the table + exists, but inserted the rows and wrote the + statement to the binary log anyway. By contrast, + CREATE TABLE ... SELECT (without IF NOT EXISTS) + failed with an error, but MySQL inserted no rows and + did not write the statement to the binary log. + + + MySQL now handles both statements the same way when + the destination table exists, in that neither + statement inserts rows or is written to the binary + log. The difference between them is that MySQL + produces a warning when IF NOT EXISTS is present and + an error when it is not. This change in handling of IF NOT EXISTS results in an - incompatibility for statement-based replication from a MySQL - 5.1 master with the original behavior and a MySQL 5.5 slave - with the new behavior. Suppose that CREATE TABLE IF NOT EXISTS - ... SELECT is executed on the master and the destination table - exists. The result is that rows are inserted on the master but - not on the slave. (Row-based replication does not have this - problem.) + incompatibility for statement-based replication from a + MySQL 5.1 master with the original behavior and a MySQL + 5.5 slave with the new behavior. Suppose that CREATE + TABLE IF NOT EXISTS ... SELECT is executed on the master + and the destination table exists. The result is that rows + are inserted on the master but not on the slave. + (Row-based replication does not have this problem.) To address this issue, statement-based binary logging for - CREATE TABLE IF NOT EXISTS ... SELECT is changed in MySQL 5.1 - as of 5.1.51: + CREATE TABLE IF NOT EXISTS ... SELECT is changed in MySQL + 5.1 as of 5.1.51: + If the destination table does not exist, there is no change: The statement is logged as is. - + If the destination table does exist, the statement is - logged as the equivalent pair of CREATE TABLE IF NOT - EXISTS and INSERT ... SELECT statements. (If the SELECT - in the original statement is preceded by IGNORE or - REPLACE, the INSERT becomes INSERT IGNORE or REPLACE, - respectively.) - This change provides forward compatibility for statement-based - replication from MySQL 5.1 to 5.5 because when the destination - table exists, the rows will be inserted on both the master and - slave. To take advantage of this compatibility measure, the - 5.1 server must be at least 5.1.51 and the 5.5 server must be - at least 5.5.6. + + If the destination table does exist, the statement + is logged as the equivalent pair of CREATE TABLE IF + NOT EXISTS and INSERT ... SELECT statements. (If the + SELECT in the original statement is preceded by + IGNORE or REPLACE, the INSERT becomes INSERT IGNORE + or REPLACE, respectively.) + This change provides forward compatibility for + statement-based replication from MySQL 5.1 to 5.5 because + when the destination table exists, the rows will be + inserted on both the master and slave. To take advantage + of this compatibility measure, the 5.1 server must be at + least 5.1.51 and the 5.5 server must be at least 5.5.6. To upgrade an existing 5.1-to-5.5 replication scenario, - upgrade the master first to 5.1.51 or higher. Note that this - differs from the usual replication upgrade advice of upgrading - the slave first. + upgrade the master first to 5.1.51 or higher. Note that + this differs from the usual replication upgrade advice of + upgrading the slave first. A workaround for applications that wish to achieve the original effect (rows inserted regardless of whether the - destination table exists) is to use CREATE TABLE IF NOT EXISTS - and INSERT ... SELECT statements rather than CREATE TABLE IF - NOT EXISTS ... SELECT statements. - Along with the change just described, the following related - change was made: Previously, if an existing view was named as - the destination table for CREATE TABLE IF NOT EXISTS ... - SELECT, rows were inserted into the underlying base table and - the statement was written to the binary log. As of MySQL - 5.1.51 and 5.5.6, nothing is inserted or logged. - - * Incompatible change: Prior to MySQL 5.5.6, if the server was - started with character_set_server set to utf16, it crashed - during full-text stopword initialization. Now the stopword - file is loaded and searched using latin1 if - character_set_server is ucs2, utf16, or utf32. If any table - was created with FULLTEXT indexes while the server character - set was ucs2, utf16, or utf32, it should be repaired using - this statement: + destination table exists) is to use CREATE TABLE IF NOT + EXISTS and INSERT ... SELECT statements rather than + CREATE TABLE IF NOT EXISTS ... SELECT statements. + Along with the change just described, the following + related change was made: Previously, if an existing view + was named as the destination table for CREATE TABLE IF + NOT EXISTS ... SELECT, rows were inserted into the + underlying base table and the statement was written to + the binary log. As of MySQL 5.1.51 and 5.5.6, nothing is + inserted or logged. + + * Incompatible change: Prior to MySQL 5.5.6, if the server + was started with character_set_server set to utf16, it + crashed during full-text stopword initialization. Now the + stopword file is loaded and searched using latin1 if + character_set_server is ucs2, utf16, or utf32. If any + table was created with FULLTEXT indexes while the server + character set was ucs2, utf16, or utf32, it should be + repaired using this statement: REPAIR TABLE tbl_name QUICK; - * Incompatible change: As of MySQL 5.5.5, all numeric operators - and functions on integer, floating-point and DECIMAL values - throw an "out of range" error (ER_DATA_OUT_OF_RANGE) rather - than returning an incorrect value or NULL, when the result is - out of the supported range for the corresponding data type. - See Section 11.2.6, "Out-of-Range and Overflow Handling." - - * Incompatible change: In very old versions of MySQL (prior to - 4.1), the TIMESTAMP data type supported a display width, which - was silently ignored beginning with MySQL 4.1. This is - deprecated in MySQL 5.1, and removed altogether in MySQL 5.5. - These changes in behavior can lead to two problem scenarios - when trying to use TIMESTAMP(N) columns with a MySQL 5.5 or - later server: + + * Incompatible change: As of MySQL 5.5.5, all numeric + operators and functions on integer, floating-point and + DECIMAL values throw an "out of range" error + (ER_DATA_OUT_OF_RANGE) rather than returning an incorrect + value or NULL, when the result is out of the supported + range for the corresponding data type. See Section + 11.2.6, "Out-of-Range and Overflow Handling." + + * Incompatible change: In very old versions of MySQL (prior + to 4.1), the TIMESTAMP data type supported a display + width, which was silently ignored beginning with MySQL + 4.1. This is deprecated in MySQL 5.1, and removed + altogether in MySQL 5.5. These changes in behavior can + lead to two problem scenarios when trying to use + TIMESTAMP(N) columns with a MySQL 5.5 or later server: + When importing a dump file (for example, one created - using mysqldump) created in a MySQL 5.0 or earlier server - into a server from a newer release series, a CREATE TABLE - or ALTER TABLE statement containing TIMESTAMP(N) causes - the import to fail with a syntax error. - To fix this problem, edit the dump file in a text editor - to replace any instances of TIMESTAMP(N) with TIMESTAMP - prior to importing the file. Be sure to use a plain text - editor for this, and not a word processor; otherwise, the - result is almost certain to be unusable for importing - into the MySQL server. - - + When trying replicate any CREATE TABLE or ALTER TABLE - statement containing TIMESTAMP(N) from a master MySQL - server that supports the TIMESTAMP(N) syntax to a MySQL - 5.5.3 or newer slave, the statement causes replication to - fail. Similarly, when you try to restore from a binary - log written by a server that supports TIMESTAMP(N) to a - MySQL 5.5.3 or newer server, any CREATE TABLE or ALTER - TABLE statement containing TIMESTAMP(N) causes the backup + using mysqldump) created in a MySQL 5.0 or earlier + server into a server from a newer release series, a + CREATE TABLE or ALTER TABLE statement containing + TIMESTAMP(N) causes the import to fail with a syntax + error. + To fix this problem, edit the dump file in a text + editor to replace any instances of TIMESTAMP(N) with + TIMESTAMP prior to importing the file. Be sure to + use a plain text editor for this, and not a word + processor; otherwise, the result is almost certain + to be unusable for importing into the MySQL server. + + + When trying replicate any CREATE TABLE or ALTER + TABLE statement containing TIMESTAMP(N) from a + master MySQL server that supports the TIMESTAMP(N) + syntax to a MySQL 5.5.3 or newer slave, the + statement causes replication to fail. Similarly, + when you try to restore from a binary log written by + a server that supports TIMESTAMP(N) to a MySQL 5.5.3 + or newer server, any CREATE TABLE or ALTER TABLE + statement containing TIMESTAMP(N) causes the backup to fail. This holds true regardless of the logging format. - It may be possible to fix such issues using a hex editor, - by replacing any width arguments used with TIMESTAMP, and - the parentheses containing them, with space characters - (hexadecimal 20). Be sure to use a programmer's binary - hex editor and not a regular text editor or word - processor for this; otherwise, the result is almost - certain to be a corrupted binary log file. To guard - against accidental corruption of the binary log, you - should always work on a copy of the file rather than the - original. + It may be possible to fix such issues using a hex + editor, by replacing any width arguments used with + TIMESTAMP, and the parentheses containing them, with + space characters (hexadecimal 20). Be sure to use a + programmer's binary hex editor and not a regular + text editor or word processor for this; otherwise, + the result is almost certain to be a corrupted + binary log file. To guard against accidental + corruption of the binary log, you should always work + on a copy of the file rather than the original. You should try to handle potential issues of these types proactively by updating with ALTER TABLE any TIMESTAMP(N) - columns in your databases so that they use TIMESTAMP instead, - before performing any upgrades. + columns in your databases so that they use TIMESTAMP + instead, before performing any upgrades. * Incompatible change: As of MySQL 5.5.3, the Unicode implementation has been extended to provide support for supplementary characters that lie outside the Basic Multilingual Plane (BMP). Noteworthy features: - + utf16 and utf32 character sets have been added. These - correspond to the UTF-16 and UTF-32 encodings of the - Unicode character set, and they both support + + utf16 and utf32 character sets have been added. + These correspond to the UTF-16 and UTF-32 encodings + of the Unicode character set, and they both support + supplementary characters. + + + The utf8mb4 character set has been added. This is + similar to utf8, but its encoding allows up to four + bytes per character to enable support for supplementary characters. - + The utf8mb4 character set has been added. This is similar - to utf8, but its encoding allows up to four bytes per - character to enable support for supplementary characters. - - + The ucs2 character set is essentially unchanged except - for the inclusion of some newer BMP characters. - In most respects, upgrading to MySQL 5.5 should present few - problems with regard to Unicode usage, although there are some - potential areas of incompatibility. These are the primary - areas of concern: - - + For the variable-length character data types (VARCHAR and - the TEXT types), the maximum length in characters is less - for utf8mb4 columns than for utf8 columns. - - + For all character data types (CHAR, VARCHAR, and the TEXT - types), the maximum number of characters that can be - indexed is less for utf8mb4 columns than for utf8 + + The ucs2 character set is essentially unchanged + except for the inclusion of some newer BMP + characters. + In most respects, upgrading to MySQL 5.5 should present + few problems with regard to Unicode usage, although there + are some potential areas of incompatibility. These are + the primary areas of concern: + + + For the variable-length character data types + (VARCHAR and the TEXT types), the maximum length in + characters is less for utf8mb4 columns than for utf8 columns. + + + For all character data types (CHAR, VARCHAR, and the + TEXT types), the maximum number of characters that + can be indexed is less for utf8mb4 columns than for + utf8 columns. Consequently, if you want to upgrade tables from utf8 to - utf8mb4 to take advantage of supplementary-character support, - it may be necessary to change some column or index - definitions. - For additional details about the new Unicode character sets - and potential incompatibilities, see Section 10.1.10, "Unicode - Support," and Section 10.1.11, "Upgrading from Previous to - Current Unicode Support." - - * Incompatible change: As of MySQL 5.5.3, the server includes - dtoa, a library for conversion between strings and numbers by - David M. Gay. In MySQL, this library provides the basis for - improved conversion between string or DECIMAL values and - approximate-value (FLOAT or DOUBLE) numbers. - Because the conversions produced by this library differ in - some cases from previous results, the potential exists for - incompatibilities in applications that rely on previous - results. For example, applications that depend on a specific - exact result from previous conversions might need adjustment - to accommodate additional precision. + utf8mb4 to take advantage of supplementary-character + support, it may be necessary to change some column or + index definitions. + For additional details about the new Unicode character + sets and potential incompatibilities, see Section + 10.1.10, "Unicode Support," and Section 10.1.11, + "Upgrading from Previous to Current Unicode Support." + + * Incompatible change: As of MySQL 5.5.3, the server + includes dtoa, a library for conversion between strings + and numbers by David M. Gay. In MySQL, this library + provides the basis for improved conversion between string + or DECIMAL values and approximate-value (FLOAT or DOUBLE) + numbers. + Because the conversions produced by this library differ + in some cases from previous results, the potential exists + for incompatibilities in applications that rely on + previous results. For example, applications that depend + on a specific exact result from previous conversions + might need adjustment to accommodate additional + precision. For additional information about the properties of dtoa - conversions, see Section 12.2, "Type Conversion in Expression - Evaluation." - - * Incompatible change: In MySQL 5.5, several changes were made - regarding the language and character set of error messages: + conversions, see Section 12.2, "Type Conversion in + Expression Evaluation." - + The --language option for specifying the directory for - the error message file is now deprecated. The new - lc_messages_dir and lc_messages system variables should - be used instead, and the server treats --language as an - alias for lc_messages_dir. + * Incompatible change: In MySQL 5.5, several changes were + made regarding the language and character set of error + messages: + + + The --language option for specifying the directory + for the error message file is now deprecated. The + new lc_messages_dir and lc_messages system variables + should be used instead, and the server treats + --language as an alias for lc_messages_dir. + The language system variable has been removed and - replaced with the new lc_messages_dir and lc_messages - system variables. lc_messages_dir has only a global value - and is read only. lc_messages has global and session - values and can be modified at runtime, so the error - message language can be changed while the server is - running, and individual clients each can have a different - error message language by changing their session - lc_messages value to a different locale name. - - + Error messages previously were constructed in a mix of - character sets. This issue is resolved by constructing - error messages internally within the server using UTF-8 - and returning them to the client in the character set - specified by the character_set_results system variable. - The content of error messages therefore may in some cases - differ from the messages returned previously. - For more information, see Section 10.2, "Setting the Error - Message Language," and Section 10.1.6, "Character Set for - Error Messages." - - * Incompatible change: MySQL 5.5 implements new functions used - to calculate row placement for tables partitioned by KEY and - LINEAR KEY. Tables that were created using KEY or LINEAR KEY - partitioning in MySQL 5.1 can be upgraded in MySQL 5.5.31 and - later using ALTER TABLE ... PARTITION BY ALGORITHM=2 [LINEAR] - KEY (...). (Bug #14521864, Bug #66462) + replaced with the new lc_messages_dir and + lc_messages system variables. lc_messages_dir has + only a global value and is read only. lc_messages + has global and session values and can be modified at + runtime, so the error message language can be + changed while the server is running, and individual + clients each can have a different error message + language by changing their session lc_messages value + to a different locale name. + + + Error messages previously were constructed in a mix + of character sets. This issue is resolved by + constructing error messages internally within the + server using UTF-8 and returning them to the client + in the character set specified by the + character_set_results system variable. The content + of error messages therefore may in some cases differ + from the messages returned previously. + For more information, see Section 10.2, "Setting the + Error Message Language," and Section 10.1.6, "Character + Set for Error Messages." + + * Incompatible change: MySQL 5.5 implements new functions + used to calculate row placement for tables partitioned by + KEY and LINEAR KEY. Tables that were created using KEY or + LINEAR KEY partitioning in MySQL 5.1 can be upgraded in + MySQL 5.5.31 and later using ALTER TABLE ... PARTITION BY + ALGORITHM=2 [LINEAR] KEY (...). (Bug #14521864, Bug + #66462) SQL Changes - * Incompatible change: Previously, the parser accepted an INTO - clause in nested SELECT statements, which is invalid because - such statements must return their results to the outer - context. As of MySQL 5.5.3, this syntax is no longer permitted - and statements that use it must be changed. - - * Incompatible change: In MySQL 5.5.3, several changes were made - to alias resolution in multiple-table DELETE statements so - that it is no longer possible to have inconsistent or - ambiguous table aliases. + * Incompatible change: Previously, the parser accepted an + INTO clause in nested SELECT statements, which is invalid + because such statements must return their results to the + outer context. As of MySQL 5.5.3, this syntax is no + longer permitted and statements that use it must be + changed. + + * Incompatible change: In MySQL 5.5.3, several changes were + made to alias resolution in multiple-table DELETE + statements so that it is no longer possible to have + inconsistent or ambiguous table aliases. + In MySQL 5.1.23, alias declarations outside the - table_references part of the statement were disallowed - for the USING variant of multiple-table DELETE syntax, to - reduce the possibility of ambiguous aliases that could - lead to ambiguous statements that have unexpected results - such as deleting rows from the wrong table. + table_references part of the statement were + disallowed for the USING variant of multiple-table + DELETE syntax, to reduce the possibility of + ambiguous aliases that could lead to ambiguous + statements that have unexpected results such as + deleting rows from the wrong table. As of MySQL 5.5.3, alias declarations outside - table_references are disallowed for all multiple-table - DELETE statements. Alias declarations are permitted only - in the table_references part. + table_references are disallowed for all + multiple-table DELETE statements. Alias declarations + are permitted only in the table_references part. Incorrect: DELETE FROM t1 AS a2 USING t1 AS a1 INNER JOIN t2 AS a2; DELETE t1 AS a2 FROM t1 AS a1 INNER JOIN t2 AS a2; + Correct: DELETE FROM t1 USING t1 AS a1 INNER JOIN t2 AS a2; DELETE t1 FROM t1 AS a1 INNER JOIN t2 AS a2; - + Previously, for alias references in the list of tables - from which to delete rows in a multiple-table delete, the - default database is used unless one is specified - explicitly. For example, if the default database is db1, - the following statement does not work because the - unqualified alias reference a2 is interpreted as having a - database of db1: + + + Previously, for alias references in the list of + tables from which to delete rows in a multiple-table + delete, the default database is used unless one is + specified explicitly. For example, if the default + database is db1, the following statement does not + work because the unqualified alias reference a2 is + interpreted as having a database of db1: DELETE a1, a2 FROM db1.t1 AS a1 INNER JOIN db2.t2 AS a2 WHERE a1.id=a2.id; + To correctly match an alias that refers to a table - outside the default database, you must explicitly qualify - the reference with the name of the proper database: + outside the default database, you must explicitly + qualify the reference with the name of the proper + database: DELETE a1, db2.a2 FROM db1.t1 AS a1 INNER JOIN db2.t2 AS a2 WHERE a1.id=a2.id; + As of MySQL 5.5.3, alias resolution does not require qualification and alias references should not be - qualified with the database name. Qualified names are - interpreted as referring to tables, not aliases. + qualified with the database name. Qualified names + are interpreted as referring to tables, not aliases. Statements containing alias constructs that are no longer permitted must be rewritten. @@ -8082,80 +9019,86 @@ 2.11.1.2 Upgrading from MySQL 5.4 to 5.5 - This section is for the special case of upgrading to MySQL 5.5 - from the short-lived MySQL 5.4 development series, which is no - longer being worked on. - Note - - It is good practice to back up your data before installing any new - version of software. Although MySQL works very hard to ensure a - high level of quality, you should protect your data by making a - backup. - - To upgrade to 5.5 from any previous version, MySQL recommends that - you dump your tables with mysqldump before upgrading and reload - the dump file after upgrading. Use the --all-databases option to - include all databases in the dump. If your databases include - stored programs, use the --routines and --events options as well. + This section is for the special case of upgrading to MySQL + 5.5 from the short-lived MySQL 5.4 development series, which + is no longer being worked on. + Note + + It is good practice to back up your data before installing + any new version of software. Although MySQL works very hard + to ensure a high level of quality, you should protect your + data by making a backup. + + To upgrade to 5.5 from any previous version, MySQL recommends + that you dump your tables with mysqldump before upgrading and + reload the dump file after upgrading. Use the --all-databases + option to include all databases in the dump. If your + databases include stored programs, use the --routines and + --events options as well. - In general, you should do the following when upgrading from MySQL - 5.4 to 5.5: + In general, you should do the following when upgrading from + MySQL 5.4 to 5.5: - * Read all the items in these sections to see whether any of - them might affect your applications: + * Read all the items in these sections to see whether any + of them might affect your applications: - + Section 2.11.1, "Upgrading MySQL," has general update - information. + + Section 2.11.1, "Upgrading MySQL," has general + update information. + The items in the change lists provided later in this - section enable you to identify upgrade issues that apply - to your current MySQL installation. Some - incompatibilities discussed there require your attention - before upgrading. Others should be dealt with after - upgrading. + section enable you to identify upgrade issues that + apply to your current MySQL installation. Some + incompatibilities discussed there require your + attention before upgrading. Others should be dealt + with after upgrading. + The MySQL 5.5 Release Notes (http://dev.mysql.com/doc/relnotes/mysql/5.5/en/) - describe significant new features you can use in 5.5 or - that differ from those found in earlier MySQL releases. - Some of these changes may result in incompatibilities. - Note particularly any changes that are marked Known issue or - Incompatible change. These incompatibilities with earlier - versions of MySQL may require your attention before you - upgrade. Our aim is to avoid these changes, but occasionally - they are necessary to correct problems that would be worse - than an incompatibility between releases. If any upgrade issue - applicable to your installation involves an incompatibility - that requires special handling, follow the instructions given - in the incompatibility description. Sometimes this involves - dumping and reloading tables, or use of a statement such as - CHECK TABLE or REPAIR TABLE. + describe significant new features you can use in 5.5 + or that differ from those found in earlier MySQL + releases. Some of these changes may result in + incompatibilities. + Note particularly any changes that are marked Known issue + or Incompatible change. These incompatibilities with + earlier versions of MySQL may require your attention + before you upgrade. Our aim is to avoid these changes, + but occasionally they are necessary to correct problems + that would be worse than an incompatibility between + releases. If any upgrade issue applicable to your + installation involves an incompatibility that requires + special handling, follow the instructions given in the + incompatibility description. Sometimes this involves + dumping and reloading tables, or use of a statement such + as CHECK TABLE or REPAIR TABLE. For dump and reload instructions, see Section 2.11.4, - "Rebuilding or Repairing Tables or Indexes." Any procedure - that involves REPAIR TABLE with the USE_FRM option must be - done before upgrading. Use of this statement with a version of - MySQL different from the one used to create the table (that - is, using it after upgrading) may damage the table. See - Section 13.7.2.5, "REPAIR TABLE Syntax." - - * Before upgrading to a new version of MySQL, Section 2.11.3, - "Checking Whether Tables or Indexes Must Be Rebuilt," to see - whether changes to table formats or to character sets or - collations were made between your current version of MySQL and - the version to which you are upgrading. If so and these - changes result in an incompatibility between MySQL versions, - you will need to upgrade the affected tables using the - instructions in Section 2.11.4, "Rebuilding or Repairing - Tables or Indexes." - - * After upgrading to a new version of MySQL, run mysql_upgrade - (see Section 4.4.7, "mysql_upgrade --- Check and Upgrade MySQL - Tables"). This program checks your tables, and attempts to - repair them if necessary. It also updates your grant tables to - make sure that they have the current structure so that you can - take advantage of any new capabilities. (Some releases of - MySQL introduce changes to the structure of the grant tables - to add new privileges or features.) + "Rebuilding or Repairing Tables or Indexes." Any + procedure that involves REPAIR TABLE with the USE_FRM + option must be done before upgrading. Use of this + statement with a version of MySQL different from the one + used to create the table (that is, using it after + upgrading) may damage the table. See Section 13.7.2.5, + "REPAIR TABLE Syntax." + + * Before upgrading to a new version of MySQL, Section + 2.11.3, "Checking Whether Tables or Indexes Must Be + Rebuilt," to see whether changes to table formats or to + character sets or collations were made between your + current version of MySQL and the version to which you are + upgrading. If so and these changes result in an + incompatibility between MySQL versions, you will need to + upgrade the affected tables using the instructions in + Section 2.11.4, "Rebuilding or Repairing Tables or + Indexes." + + * After upgrading to a new version of MySQL, run + mysql_upgrade (see Section 4.4.7, "mysql_upgrade --- + Check and Upgrade MySQL Tables"). This program checks + your tables, and attempts to repair them if necessary. It + also updates your grant tables to make sure that they + have the current structure so that you can take advantage + of any new capabilities. (Some releases of MySQL + introduce changes to the structure of the grant tables to + add new privileges or features.) mysql_upgrade does not upgrade the contents of the help tables. For upgrade instructions, see Section 5.1.10, "Server-Side Help." @@ -8167,521 +9110,565 @@ Replication Setup," for information on upgrading your replication setup. - If your MySQL installation contains a large amount of data that - might take a long time to convert after an in-place upgrade, you - might find it useful to create a "dummy" database instance for - assessing what conversions might be needed and the work involved - to perform them. Make a copy of your MySQL instance that contains - a full copy of the mysql database, plus all other databases - without data. Run your upgrade procedure on this dummy instance to - see what actions might be needed so that you can better evaluate - the work involved when performing actual data conversion on your + If your MySQL installation contains a large amount of data + that might take a long time to convert after an in-place + upgrade, you might find it useful to create a "dummy" + database instance for assessing what conversions might be + needed and the work involved to perform them. Make a copy of + your MySQL instance that contains a full copy of the mysql + database, plus all other databases without data. Run your + upgrade procedure on this dummy instance to see what actions + might be needed so that you can better evaluate the work + involved when performing actual data conversion on your original database instance. - The following lists describe changes that may affect applications - and that you should watch out for when upgrading from MySQL 5.4 to - 5.5. + The following lists describe changes that may affect + applications and that you should watch out for when upgrading + from MySQL 5.4 to 5.5. Configuration Changes * Incompatible change: In MySQL 5.5, the server includes a - plugin services interface that complements the plugin API. The - services interface enables server functionality to be exposed - as a "service" that plugins can access through a function-call - interface. The libmysqlservices library provides access to the - available services and dynamic plugins now must be linked - against this library (use the -lmysqlservices flag). For an - example showing how to configure for CMake, see Section - 24.2.5, "MySQL Services for Plugins." + plugin services interface that complements the plugin + API. The services interface enables server functionality + to be exposed as a "service" that plugins can access + through a function-call interface. The libmysqlservices + library provides access to the available services and + dynamic plugins now must be linked against this library + (use the -lmysqlservices flag). For an example showing + how to configure for CMake, see Section 24.2.5, "MySQL + Services for Plugins." Server Changes - * Incompatible change: As of MySQL 5.5.7, the server requires - that a new grant table, proxies_priv, be present in the mysql - database. If you are upgrading from a previous MySQL release - rather than performing a new installation, the server will - find that this table is missing and exit during startup with - the following message: + * On Linux systems, the libaio library may be needed. + Install it first, if it is not already present on your + system. + + * Incompatible change: As of MySQL 5.5.7, the server + requires that a new grant table, proxies_priv, be present + in the mysql database. If you are upgrading from a + previous MySQL release rather than performing a new + installation, the server will find that this table is + missing and exit during startup with the following + message: Table 'mysql.proxies_priv' doesn't exist - To create the proxies_priv table, start the server with the - --skip-grant-tables option to cause it to skip the normal - grant table checks, then run mysql_upgrade. For example: + + To create the proxies_priv table, start the server with + the --skip-grant-tables option to cause it to skip the + normal grant table checks, then run mysql_upgrade. For + example: shell> mysqld --skip-grant-tables & shell> mysql_upgrade + Then stop the server and restart it normally. - You can specify other options on the mysqld command line if - necessary. Alternatively, if your installation is configured - so that the server normally reads options from an option file, - use the --defaults-file option to specify the file (enter each - command on a single line): + You can specify other options on the mysqld command line + if necessary. Alternatively, if your installation is + configured so that the server normally reads options from + an option file, use the --defaults-file option to specify + the file (enter each command on a single line): shell> mysqld --defaults-file=/usr/local/mysql/etc/my.cnf --skip-grant-tables & shell> mysql_upgrade + With the --skip-grant-tables option, the server does no - password or privilege checking, so any client can connect and - effectively have all privileges. For additional security, use - the --skip-networking option as well to prevent remote clients - from connecting. + password or privilege checking, so any client can connect + and effectively have all privileges. For additional + security, use the --skip-networking option as well to + prevent remote clients from connecting. * Incompatible change: As of MySQL 5.5.3, the Unicode implementation has been extended to provide support for supplementary characters that lie outside the Basic Multilingual Plane (BMP). Noteworthy features: - + utf16 and utf32 character sets have been added. These - correspond to the UTF-16 and UTF-32 encodings of the - Unicode character set, and they both support + + utf16 and utf32 character sets have been added. + These correspond to the UTF-16 and UTF-32 encodings + of the Unicode character set, and they both support supplementary characters. - + The utf8mb4 character set has been added. This is similar - to utf8, but its encoding allows up to four bytes per - character to enable support for supplementary characters. - - + The ucs2 character set is essentially unchanged except - for the inclusion of some newer BMP characters. - In most respects, upgrading to MySQL 5.5 should present few - problems with regard to Unicode usage, although there are some - potential areas of incompatibility. These are the primary - areas of concern: - - + For the variable-length character data types (VARCHAR and - the TEXT types), the maximum length in characters is less - for utf8mb4 columns than for utf8 columns. - - + For all character data types (CHAR, VARCHAR, and the TEXT - types), the maximum number of characters that can be - indexed is less for utf8mb4 columns than for utf8 + + The utf8mb4 character set has been added. This is + similar to utf8, but its encoding allows up to four + bytes per character to enable support for + supplementary characters. + + + The ucs2 character set is essentially unchanged + except for the inclusion of some newer BMP + characters. + In most respects, upgrading to MySQL 5.5 should present + few problems with regard to Unicode usage, although there + are some potential areas of incompatibility. These are + the primary areas of concern: + + + For the variable-length character data types + (VARCHAR and the TEXT types), the maximum length in + characters is less for utf8mb4 columns than for utf8 columns. + + + For all character data types (CHAR, VARCHAR, and the + TEXT types), the maximum number of characters that + can be indexed is less for utf8mb4 columns than for + utf8 columns. Consequently, if you want to upgrade tables from utf8 to - utf8mb4 to take advantage of supplementary-character support, - it may be necessary to change some column or index - definitions. - For additional details about the new Unicode character sets - and potential incompatibilities, see Section 10.1.10, "Unicode - Support," and Section 10.1.11, "Upgrading from Previous to - Current Unicode Support." - - * Incompatible change: As of MySQL 5.5.3, the server includes - dtoa, a library for conversion between strings and numbers by - David M. Gay. In MySQL, this library provides the basis for - improved conversion between string or DECIMAL values and - approximate-value (FLOAT/DOUBLE) numbers. - Because the conversions produced by this library differ in - some cases from previous results, the potential exists for - incompatibilities in applications that rely on previous - results. For example, applications that depend on a specific - exact result from previous conversions might need adjustment - to accommodate additional precision. + utf8mb4 to take advantage of supplementary-character + support, it may be necessary to change some column or + index definitions. + For additional details about the new Unicode character + sets and potential incompatibilities, see Section + 10.1.10, "Unicode Support," and Section 10.1.11, + "Upgrading from Previous to Current Unicode Support." + + * Incompatible change: As of MySQL 5.5.3, the server + includes dtoa, a library for conversion between strings + and numbers by David M. Gay. In MySQL, this library + provides the basis for improved conversion between string + or DECIMAL values and approximate-value (FLOAT/DOUBLE) + numbers. + Because the conversions produced by this library differ + in some cases from previous results, the potential exists + for incompatibilities in applications that rely on + previous results. For example, applications that depend + on a specific exact result from previous conversions + might need adjustment to accommodate additional + precision. For additional information about the properties of dtoa - conversions, see Section 12.2, "Type Conversion in Expression - Evaluation." + conversions, see Section 12.2, "Type Conversion in + Expression Evaluation." - * Incompatible change: In MySQL 5.5, several changes were made - regarding the language and character set of error messages: - - + The --language option for specifying the directory for - the error message file is now deprecated. The new - lc_messages_dir and lc_messages system variables should - be used instead, and the server treats --language as an - alias for lc_messages_dir. + * Incompatible change: In MySQL 5.5, several changes were + made regarding the language and character set of error + messages: + + + The --language option for specifying the directory + for the error message file is now deprecated. The + new lc_messages_dir and lc_messages system variables + should be used instead, and the server treats + --language as an alias for lc_messages_dir. + The language system variable has been removed and - replaced with the new lc_messages_dir and lc_messages - system variables. lc_messages_dir has only a global value - and is read only. lc_messages has global and session - values and can be modified at runtime, so the error - message language can be changed while the server is - running, and individual clients each can have a different - error message language by changing their session - lc_messages value to a different locale name. - - + Error messages previously were constructed in a mix of - character sets. This issue is resolved by constructing - error messages internally within the server using UTF-8 - and returning them to the client in the character set - specified by the character_set_results system variable. - The content of error messages therefore may in some cases - differ from the messages returned previously. - For more information, see Section 10.2, "Setting the Error - Message Language," and Section 10.1.6, "Character Set for - Error Messages." - - * Before MySQL 5.1.36, plugin options were boolean options (see - Section 4.2.5, "Program Option Modifiers"). If you upgrade to - MySQL 5.5 from a version older than 5.1.36 and previously used - options of the form --plugin_name=0 or --plugin_name=1, the - equivalent options are now --plugin_name=OFF and - --plugin_name=ON, respectively. You also have the choice of - requiring plugins to start successfully by using - --plugin_name=FORCE or --plugin_name=FORCE_PLUS_PERMANENT. + replaced with the new lc_messages_dir and + lc_messages system variables. lc_messages_dir has + only a global value and is read only. lc_messages + has global and session values and can be modified at + runtime, so the error message language can be + changed while the server is running, and individual + clients each can have a different error message + language by changing their session lc_messages value + to a different locale name. + + + Error messages previously were constructed in a mix + of character sets. This issue is resolved by + constructing error messages internally within the + server using UTF-8 and returning them to the client + in the character set specified by the + character_set_results system variable. The content + of error messages therefore may in some cases differ + from the messages returned previously. + For more information, see Section 10.2, "Setting the + Error Message Language," and Section 10.1.6, "Character + Set for Error Messages." + + * Before MySQL 5.1.36, plugin options were boolean options + (see Section 4.2.5, "Program Option Modifiers"). If you + upgrade to MySQL 5.5 from a version older than 5.1.36 and + previously used options of the form --plugin_name=0 or + --plugin_name=1, the equivalent options are now + --plugin_name=OFF and --plugin_name=ON, respectively. You + also have the choice of requiring plugins to start + successfully by using --plugin_name=FORCE or + --plugin_name=FORCE_PLUS_PERMANENT. SQL Changes - * Incompatible change: Previously, the parser accepted an INTO - clause in nested SELECT statements, which is invalid because - such statements must return their results to the outer - context. As of MySQL 5.5.3, this syntax is no longer permitted - and statements that use it must be changed. + * Incompatible change: Previously, the parser accepted an + INTO clause in nested SELECT statements, which is invalid + because such statements must return their results to the + outer context. As of MySQL 5.5.3, this syntax is no + longer permitted and statements that use it must be + changed. * Some keywords may be reserved in MySQL 5.5 that were not reserved in MySQL 5.4. See Section 9.3, "Reserved Words." 2.11.2 Downgrading MySQL - This section describes what you should do to downgrade to an older - MySQL version in the unlikely case that the previous version - worked better than the new one. - - It is always a good idea to make a backup beforehand, in case a - downgrade fails and leaves the instance in an unusable state. - - To downgrade between General Availability (GA) status versions - within the same release series, typically you just install the new - binaries on top of the old ones and do not make any changes to the - databases. - - Downgrades between milestone releases (or from a GA release to a - milestone release) within the same release series are not - supported and you may encounter issues. + This section describes what you should do to downgrade to an + older MySQL version in the unlikely case that the previous + version worked better than the new one. + + It is always a good idea to make a backup beforehand, in case + a downgrade fails and leaves the instance in an unusable + state. + + To downgrade between General Availability (GA) status + versions within the same release series, typically you just + install the new binaries on top of the old ones and do not + make any changes to the databases. + + Downgrades between milestone releases (or from a GA release + to a milestone release) within the same release series are + not supported and you may encounter issues. The following items form a checklist of things you should do whenever you perform a downgrade: - * Read the upgrading section for the release series from which - you are downgrading to be sure that it does not have any - features you really need. See Section 2.11.1, "Upgrading - MySQL." - - * If there is a downgrading section for that version, you should - read that as well. - - * To see which new features were added between the version to - which you are downgrading and your current version, see the - Release Notes + * Read the upgrading section for the release series from + which you are downgrading to be sure that it does not + have any features you really need. See Section 2.11.1, + "Upgrading MySQL." + + * If there is a downgrading section for that version, you + should read that as well. + + * To see which new features were added between the version + to which you are downgrading and your current version, + see the Release Notes (http://dev.mysql.com/doc/relnotes/mysql/5.5/en/). - * Check Section 2.11.3, "Checking Whether Tables or Indexes Must - Be Rebuilt," to see whether changes to table formats or to - character sets or collations were made between your current - version of MySQL and the version to which you are downgrading. - If so and these changes result in an incompatibility between - MySQL versions, you will need to downgrade the affected tables - using the instructions in Section 2.11.4, "Rebuilding or - Repairing Tables or Indexes." - - In most cases, you can move the MySQL format files and data files - between different GA versions on the same architecture as long as - you stay within versions for the same release series of MySQL. - - If you downgrade from one release series to another, there may be - incompatibilities in table storage formats. In this case, use - mysqldump to dump your tables before downgrading. After - downgrading, reload the dump file using mysql or mysqlimport to - re-create your tables. For examples, see Section 2.11.5, "Copying - MySQL Databases to Another Machine." - - A typical symptom of a downward-incompatible table format change - when you downgrade is that you cannot open tables. In that case, - use the following procedure: + * Check Section 2.11.3, "Checking Whether Tables or Indexes + Must Be Rebuilt," to see whether changes to table formats + or to character sets or collations were made between your + current version of MySQL and the version to which you are + downgrading. If so and these changes result in an + incompatibility between MySQL versions, you will need to + downgrade the affected tables using the instructions in + Section 2.11.4, "Rebuilding or Repairing Tables or + Indexes." + + In most cases, you can move the MySQL format files and data + files between different GA versions on the same architecture + as long as you stay within versions for the same release + series of MySQL. + + If you downgrade from one release series to another, there + may be incompatibilities in table storage formats. In this + case, use mysqldump to dump your tables before downgrading. + After downgrading, reload the dump file using mysql or + mysqlimport to re-create your tables. For examples, see + Section 2.11.5, "Copying MySQL Databases to Another Machine." + + A typical symptom of a downward-incompatible table format + change when you downgrade is that you cannot open tables. In + that case, use the following procedure: 1. Stop the older MySQL server that you are downgrading to. 2. Restart the newer MySQL server you are downgrading from. - 3. Dump any tables that were inaccessible to the older server by - using mysqldump to create a dump file. + 3. Dump any tables that were inaccessible to the older + server by using mysqldump to create a dump file. 4. Stop the newer MySQL server and restart the older one. - 5. Reload the dump file into the older server. Your tables should - be accessible. + 5. Reload the dump file into the older server. Your tables + should be accessible. - It might also be the case that system tables in the mysql database - have changed and that downgrading introduces some loss of - functionality or requires some adjustments. Here are some - examples: - - * Trigger creation requires the TRIGGER privilege as of MySQL - 5.1. In MySQL 5.0, there is no TRIGGER privilege and SUPER is - required instead. If you downgrade from MySQL 5.1 to 5.0, you - will need to give the SUPER privilege to those accounts that - had the TRIGGER privilege in 5.1. - - * Triggers were added in MySQL 5.0, so if you downgrade from 5.0 - to 4.1, you cannot use triggers at all. - - * The mysql.proc.comment column definition changed between MySQL - 5.1 and 5.5. After a downgrade from 5.5 to 5.1, this table is - seen as corrupt and in need of repair. To workaround this - problem, execute mysql_upgrade from the version of MySQL to - which you downgraded. + It might also be the case that system tables in the mysql + database have changed and that downgrading introduces some + loss of functionality or requires some adjustments. Here are + some examples: + + * Trigger creation requires the TRIGGER privilege as of + MySQL 5.1. In MySQL 5.0, there is no TRIGGER privilege + and SUPER is required instead. If you downgrade from + MySQL 5.1 to 5.0, you will need to give the SUPER + privilege to those accounts that had the TRIGGER + privilege in 5.1. + + * Triggers were added in MySQL 5.0, so if you downgrade + from 5.0 to 4.1, you cannot use triggers at all. + + * The mysql.proc.comment column definition changed between + MySQL 5.1 and 5.5. After a downgrade from 5.5 to 5.1, + this table is seen as corrupt and in need of repair. To + workaround this problem, execute mysql_upgrade from the + version of MySQL to which you downgraded. 2.11.2.1 Downgrading to MySQL 5.1 - When downgrading to MySQL 5.1 from MySQL 5.5, you should keep in - mind the following issues relating to features found in MySQL 5.5, - but not in MySQL 5.1: - - * InnoDB. MySQL 5.5 uses InnoDB Plugin as the built-in version - of InnoDB. MySQL 5.1 includes InnoDB Plugin as of 5.1.38, but - as an option that must be enabled explicitly. See the Release - Notes (http://dev.mysql.com/doc/relnotes/mysql/5.5/en/) for + When downgrading to MySQL 5.1 from MySQL 5.5, you should keep + in mind the following issues relating to features found in + MySQL 5.5, but not in MySQL 5.1: + + * InnoDB. MySQL 5.5 uses InnoDB Plugin as the built-in + version of InnoDB. MySQL 5.1 includes InnoDB Plugin as of + 5.1.38, but as an option that must be enabled explicitly. + See the Release Notes + (http://dev.mysql.com/doc/relnotes/mysql/5.5/en/) for MySQL 5.1.38. - * Tables partitioned by [LINEAR] KEY. MySQL 5.5 implements new - functions used to calculate row placement for tables - partitioned by KEY and LINEAR KEY. Tables that were created - using KEY or LINEAR KEY partitioning in MySQL 5.5 cannot be - used by a MySQL 5.1 server. In MySQL 5.5.31 and later, you can - downgrade such tables with ALTER TABLE ... PARTITION BY - ALGORITHM=1 [LINEAR] KEY (...) to make them compatible with - MySQL 5.1. - -2.11.2.2 Downgrading from MySQL Enterprise Edition to MySQL Community -Server - - This section describes the steps required to downgrade from MySQL - Enterprise Edition to MySQL Community Edition. This can be done at - any time, and is required at the expiration of a MySQL Enterprise - Edition subscription if you wish to continue using MySQL Server. + * Tables partitioned by [LINEAR] KEY. MySQL 5.5 implements + new functions used to calculate row placement for tables + partitioned by KEY and LINEAR KEY. Tables that were + created using KEY or LINEAR KEY partitioning in MySQL 5.5 + cannot be used by a MySQL 5.1 server. In MySQL 5.5.31 and + later, you can downgrade such tables with ALTER TABLE ... + PARTITION BY ALGORITHM=1 [LINEAR] KEY (...) to make them + compatible with MySQL 5.1. + +2.11.2.2 Downgrading from MySQL Enterprise Edition to MySQL +Community Server + + This section describes the steps required to downgrade from + MySQL Enterprise Edition to MySQL Community Edition. This can + be done at any time, and is required at the expiration of a + MySQL Enterprise Edition subscription if you wish to continue + using MySQL Server. When you perform such a downgrade, all commercially licensed - components of the MySQL Enterprise Edition subscription must be - uninstalled. These components and related considerations are - described in the rest of this section. + components of the MySQL Enterprise Edition subscription must + be uninstalled. These components and related considerations + are described in the rest of this section. Note - The issues described in this section are in addition to any that - may be encountered as a result of any upgrade or downgrade of the - MySQL Server version (such as between MySQL 5.5 and 5.1). - Information about upgrading and downgrading between MySQL release - series can be found elsewhere in this chapter; see Section 2.11.1, - "Upgrading MySQL," and Section 2.11.2, "Downgrading MySQL." + The issues described in this section are in addition to any + that may be encountered as a result of any upgrade or + downgrade of the MySQL Server version (such as between MySQL + 5.5 and 5.1). Information about upgrading and downgrading + between MySQL release series can be found elsewhere in this + chapter; see Section 2.11.1, "Upgrading MySQL," and Section + 2.11.2, "Downgrading MySQL." MySQL Enterprise Database Server. All commercial versions of MySQL Database Server must be uninstalled. - Commercially licensed extensions. All commercially licensed MySQL - Enterprise Database Server extensions must be uninstalled. This - includes the following commercial extensions: + Commercially licensed extensions. All commercially licensed + MySQL Enterprise Database Server extensions must be + uninstalled. This includes the following commercial + extensions: * MySQL External Authentication for Windows: Following - uninstallation of this plugin, existing MySQL user accounts - must be re-created using local authentication. See Section - 6.3, "MySQL User Account Management," for more information. + uninstallation of this plugin, existing MySQL user + accounts must be re-created using local authentication. + See Section 6.3, "MySQL User Account Management," for + more information. * MySQL External Authentication for PAM: Following - uninstallation of this plugin, existing MySQL user accounts - must be re-created using local authentication. See Section - 6.3, "MySQL User Account Management," for more information. + uninstallation of this plugin, existing MySQL user + accounts must be re-created using local authentication. + See Section 6.3, "MySQL User Account Management," for + more information. * MySQL Enterprise Scalability (Thread Pool): Following - uninstallation of this plugin, existing MySQL servers revert - to default thread and connection handling. + uninstallation of this plugin, existing MySQL servers + revert to default thread and connection handling. * MySQL Enterprise Audit: Following uninstallation of this - plugin, no logging of user logins or query activity occurs. + plugin, no logging of user logins or query activity + occurs. * MySQL High Availability: Following uninstallation of this plugin, automated failover is no longer available. MySQL Enterprise Backup. MySQL Enterprise Backup must be - uninstalled. Uninstalling this application has the effects listed - here: + uninstalled. Uninstalling this application has the effects + listed here: * Automated backup scripts no longer work. - * Existing backup images taken with MySQL Enterprise Backup can - no longer be used for recovery. + * Existing backup images taken with MySQL Enterprise Backup + can no longer be used for recovery. * Third-party integration with multimedia systems such as - NetBackup, Tivoli, and Oracle Secure Backup no longer works. + NetBackup, Tivoli, and Oracle Secure Backup no longer + works. - MySQL Enterprise Monitor, MySQL Query Analyzer, agents. MySQL - Enterprise Monitor, MySQL Query Analyzer, and all server-side - agents must be uninstalled. Uninstalling these applications and - agents has the following effects: + MySQL Enterprise Monitor, MySQL Query Analyzer, agents. + MySQL Enterprise Monitor, MySQL Query Analyzer, and all + server-side agents must be uninstalled. Uninstalling these + applications and agents has the following effects: * Automated SNMP and SMTP alerts no longer work. - * All historical MySQL, OS monitoring, query, and performance - metrics as well as all trending data are lost. + * All historical MySQL, OS monitoring, query, and + performance metrics as well as all trending data are + lost. * All environment-specific monitoring templates, custom advisors, graphs and scripts are also lost. 2.11.3 Checking Whether Tables or Indexes Must Be Rebuilt - A binary upgrade or downgrade is one that installs one version of - MySQL "in place" over an existing version, without dumping and - reloading tables: + A binary upgrade or downgrade is one that installs one + version of MySQL "in place" over an existing version, without + dumping and reloading tables: - 1. Stop the server for the existing version if it is running. + 1. Stop the server for the existing version if it is + running. - 2. Install a different version of MySQL. This is an upgrade if - the new version is higher than the original version, a + 2. Install a different version of MySQL. This is an upgrade + if the new version is higher than the original version, a downgrade if the version is lower. 3. Start the server for the new version. - In many cases, the tables from the previous version of MySQL can - be used without problem by the new version. However, sometimes - changes occur that require tables or table indexes to be rebuilt, - as described in this section. If you have tables that are affected - by any of the issues described here, rebuild the tables or indexes - as necessary using the instructions given in Section 2.11.4, - "Rebuilding or Repairing Tables or Indexes." + In many cases, the tables from the previous version of MySQL + can be used without problem by the new version. However, + sometimes changes occur that require tables or table indexes + to be rebuilt, as described in this section. If you have + tables that are affected by any of the issues described here, + rebuild the tables or indexes as necessary using the + instructions given in Section 2.11.4, "Rebuilding or + Repairing Tables or Indexes." Table Incompatibilities - After a binary upgrade to MySQL 5.1 from a MySQL 5.0 installation - that contains ARCHIVE tables, accessing those tables causes the - server to crash, even if you have run mysql_upgrade or CHECK TABLE - ... FOR UPGRADE. To work around this problem, use mysqldump to - dump all ARCHIVE tables before upgrading, and reload them into - MySQL 5.1 after upgrading. The same problem occurs for binary - downgrades from MySQL 5.1 to 5.0. - - The upgrade problem is fixed in MySQL 5.6.4: The server can open - ARCHIVE tables created in MySQL 5.0. However, it remains the - recommended upgrade procedure to dump 5.0 ARCHIVE tables before - upgrading and reload them after upgrading. + After a binary upgrade to MySQL 5.1 from a MySQL 5.0 + installation that contains ARCHIVE tables, accessing those + tables causes the server to crash, even if you have run + mysql_upgrade or CHECK TABLE ... FOR UPGRADE. To work around + this problem, use mysqldump to dump all ARCHIVE tables before + upgrading, and reload them into MySQL 5.1 after upgrading. + The same problem occurs for binary downgrades from MySQL 5.1 + to 5.0. + + The upgrade problem is fixed in MySQL 5.6.4: The server can + open ARCHIVE tables created in MySQL 5.0. However, it remains + the recommended upgrade procedure to dump 5.0 ARCHIVE tables + before upgrading and reload them after upgrading. Index Incompatibilities In MySQL 5.6.3, the length limit for index prefix keys is - increased from 767 bytes to 3072 bytes, for InnoDB tables using - ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED. See Section 14.9.7, - "Limits on InnoDB Tables" for details. This change is also - backported to MySQL 5.5.14. If you downgrade from one of these - releases or higher, to an earlier release with a lower length - limit, the index prefix keys could be truncated at 767 bytes or - the downgrade could fail. This issue could only occur if the - configuration option innodb_large_prefix was enabled on the server - being downgraded. + increased from 767 bytes to 3072 bytes, for InnoDB tables + using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED. See + Section 14.9.7, "Limits on InnoDB Tables" for details. This + change is also backported to MySQL 5.5.14. If you downgrade + from one of these releases or higher, to an earlier release + with a lower length limit, the index prefix keys could be + truncated at 767 bytes or the downgrade could fail. This + issue could only occur if the configuration option + innodb_large_prefix was enabled on the server being + downgraded. If you perform a binary upgrade without dumping and reloading tables, you cannot upgrade directly from MySQL 4.1 to 5.1 or - higher. This occurs due to an incompatible change in the MyISAM - table index format in MySQL 5.0. Upgrade from MySQL 4.1 to 5.0 and - repair all MyISAM tables. Then upgrade from MySQL 5.0 to 5.1 and - check and repair your tables. + higher. This occurs due to an incompatible change in the + MyISAM table index format in MySQL 5.0. Upgrade from MySQL + 4.1 to 5.0 and repair all MyISAM tables. Then upgrade from + MySQL 5.0 to 5.1 and check and repair your tables. Modifications to the handling of character sets or collations - might change the character sort order, which causes the ordering - of entries in any index that uses an affected character set or - collation to be incorrect. Such changes result in several possible - problems: + might change the character sort order, which causes the + ordering of entries in any index that uses an affected + character set or collation to be incorrect. Such changes + result in several possible problems: * Comparison results that differ from previous results - * Inability to find some index values due to misordered index - entries + * Inability to find some index values due to misordered + index entries * Misordered ORDER BY results - * Tables that CHECK TABLE reports as being in need of repair + * Tables that CHECK TABLE reports as being in need of + repair - The solution to these problems is to rebuild any indexes that use - an affected character set or collation, either by dropping and - re-creating the indexes, or by dumping and reloading the entire - table. In some cases, it is possible to alter affected columns to - use a different collation. For information about rebuilding - indexes, see Section 2.11.4, "Rebuilding or Repairing Tables or - Indexes." - - To check whether a table has indexes that must be rebuilt, consult - the following list. It indicates which versions of MySQL - introduced character set or collation changes that require indexes - to be rebuilt. Each entry indicates the version in which the - change occurred and the character sets or collations that the - change affects. If the change is associated with a particular bug - report, the bug number is given. + The solution to these problems is to rebuild any indexes that + use an affected character set or collation, either by + dropping and re-creating the indexes, or by dumping and + reloading the entire table. In some cases, it is possible to + alter affected columns to use a different collation. For + information about rebuilding indexes, see Section 2.11.4, + "Rebuilding or Repairing Tables or Indexes." + + To check whether a table has indexes that must be rebuilt, + consult the following list. It indicates which versions of + MySQL introduced character set or collation changes that + require indexes to be rebuilt. Each entry indicates the + version in which the change occurred and the character sets + or collations that the change affects. If the change is + associated with a particular bug report, the bug number is + given. The list applies both for binary upgrades and downgrades. For - example, Bug #27877 was fixed in MySQL 5.1.24, so it applies to - upgrades from versions older than 5.1.24 to 5.1.24 or newer, and - to downgrades from 5.1.24 or newer to versions older than 5.1.24. - - In many cases, you can use CHECK TABLE ... FOR UPGRADE to identify - tables for which index rebuilding is required. It will report this - message: + example, Bug #27877 was fixed in MySQL 5.1.24, so it applies + to upgrades from versions older than 5.1.24 to 5.1.24 or + newer, and to downgrades from 5.1.24 or newer to versions + older than 5.1.24. + + In many cases, you can use CHECK TABLE ... FOR UPGRADE to + identify tables for which index rebuilding is required. It + will report this message: Table upgrade required. Please do "REPAIR TABLE `tbl_name`" or dump/reload to fix it! - In these cases, you can also use mysqlcheck --check-upgrade or - mysql_upgrade, which execute CHECK TABLE. However, the use of - CHECK TABLE applies only after upgrades, not downgrades. Also, - CHECK TABLE is not applicable to all storage engines. For details - about which storage engines CHECK TABLE supports, see Section - 13.7.2.2, "CHECK TABLE Syntax." + In these cases, you can also use mysqlcheck --check-upgrade + or mysql_upgrade, which execute CHECK TABLE. However, the use + of CHECK TABLE applies only after upgrades, not downgrades. + Also, CHECK TABLE is not applicable to all storage engines. + For details about which storage engines CHECK TABLE supports, + see Section 13.7.2.2, "CHECK TABLE Syntax." These changes cause index rebuilding to be necessary: * MySQL 5.1.24 (Bug #27877) Affects indexes that use the utf8_general_ci or - ucs2_general_ci collation for columns that contain 'ß' LATIN - SMALL LETTER SHARP S (German). The bug fix corrected an error - in the original collations but introduced an incompatibility - such that 'ß' compares equal to characters with which it - previously compared different. - Affected tables can be detected by CHECK TABLE ... FOR UPGRADE - as of MySQL 5.1.30 (see Bug #40053). - A workaround for this issue is implemented as of MySQL 5.1.62, - 5.5.21, and 5.6.5. The workaround involves altering affected - columns to use the utf8_general_mysql500_ci and - ucs2_general_mysql500_ci collations, which preserve the - original pre-5.1.24 ordering of utf8_general_ci and - ucs2_general_ci. + ucs2_general_ci collation for columns that contain 'ß' + LATIN SMALL LETTER SHARP S (German). The bug fix + corrected an error in the original collations but + introduced an incompatibility such that 'ß' compares + equal to characters with which it previously compared + different. + Affected tables can be detected by CHECK TABLE ... FOR + UPGRADE as of MySQL 5.1.30 (see Bug #40053). + A workaround for this issue is implemented as of MySQL + 5.1.62, 5.5.21, and 5.6.5. The workaround involves + altering affected columns to use the + utf8_general_mysql500_ci and ucs2_general_mysql500_ci + collations, which preserve the original pre-5.1.24 + ordering of utf8_general_ci and ucs2_general_ci. * MySQL 5.0.48, 5.1.23 (Bug #27562) - Affects indexes that use the ascii_general_ci collation for - columns that contain any of these characters: '`' GRAVE - ACCENT, '[' LEFT SQUARE BRACKET, '\' REVERSE SOLIDUS, ']' - RIGHT SQUARE BRACKET, '~' TILDE - Affected tables can be detected by CHECK TABLE ... FOR UPGRADE - as of MySQL 5.1.29 (see Bug #39585). + Affects indexes that use the ascii_general_ci collation + for columns that contain any of these characters: '`' + GRAVE ACCENT, '[' LEFT SQUARE BRACKET, '\' REVERSE + SOLIDUS, ']' RIGHT SQUARE BRACKET, '~' TILDE + Affected tables can be detected by CHECK TABLE ... FOR + UPGRADE as of MySQL 5.1.29 (see Bug #39585). * MySQL 5.0.48, 5.1.21 (Bug #29461) - Affects indexes for columns that use any of these character - sets: eucjpms, euc_kr, gb2312, latin7, macce, ujis - Affected tables can be detected by CHECK TABLE ... FOR UPGRADE - as of MySQL 5.1.29 (see Bug #39585). + Affects indexes for columns that use any of these + character sets: eucjpms, euc_kr, gb2312, latin7, macce, + ujis + Affected tables can be detected by CHECK TABLE ... FOR + UPGRADE as of MySQL 5.1.29 (see Bug #39585). 2.11.4 Rebuilding or Repairing Tables or Indexes This section describes how to rebuild a table. This can be necessitated by changes to MySQL such as how data types are handled or changes to character set handling. For example, an - error in a collation might have been corrected, necessitating a - table rebuild to update the indexes for character columns that use - the collation. (For examples, see Section 2.11.3, "Checking - Whether Tables or Indexes Must Be Rebuilt.") It might also be that - a table repair or upgrade should be done as indicated by a table - check operation such as that performed by CHECK TABLE, mysqlcheck, - or mysql_upgrade. - - Methods for rebuilding a table include dumping and reloading it, - or using ALTER TABLE or REPAIR TABLE. REPAIR TABLE only applies to - MyISAM, ARCHIVE, and CSV tables. - Note - - If you are rebuilding tables because a different version of MySQL - will not handle them after a binary (in-place) upgrade or - downgrade, you must use the dump-and-reload method. Dump the - tables before upgrading or downgrading using your original version - of MySQL. Then reload the tables after upgrading or downgrading. - - If you use the dump-and-reload method of rebuilding tables only - for the purpose of rebuilding indexes, you can perform the dump - either before or after upgrading or downgrading. Reloading still - must be done afterward. + error in a collation might have been corrected, necessitating + a table rebuild to update the indexes for character columns + that use the collation. (For examples, see Section 2.11.3, + "Checking Whether Tables or Indexes Must Be Rebuilt.") It + might also be that a table repair or upgrade should be done + as indicated by a table check operation such as that + performed by CHECK TABLE, mysqlcheck, or mysql_upgrade. + + Methods for rebuilding a table include dumping and reloading + it, or using ALTER TABLE or REPAIR TABLE. REPAIR TABLE only + applies to MyISAM, ARCHIVE, and CSV tables. + Note + + If you are rebuilding tables because a different version of + MySQL will not handle them after a binary (in-place) upgrade + or downgrade, you must use the dump-and-reload method. Dump + the tables before upgrading or downgrading using your + original version of MySQL. Then reload the tables after + upgrading or downgrading. + + If you use the dump-and-reload method of rebuilding tables + only for the purpose of rebuilding indexes, you can perform + the dump either before or after upgrading or downgrading. + Reloading still must be done afterward. - To rebuild a table by dumping and reloading it, use mysqldump to - create a dump file and mysql to reload the file: + To rebuild a table by dumping and reloading it, use mysqldump + to create a dump file and mysql to reload the file: shell> mysqldump db_name t1 > dump.sql shell> mysql db_name < dump.sql @@ -8690,83 +9677,88 @@ shell> mysqldump db_name > dump.sql shell> mysql db_name < dump.sql - To rebuild all tables in all databases, use the --all-databases - option: + To rebuild all tables in all databases, use the + --all-databases option: shell> mysqldump --all-databases > dump.sql shell> mysql < dump.sql - To rebuild a table with ALTER TABLE, use a "null" alteration; that - is, an ALTER TABLE statement that "changes" the table to use the - storage engine that it already has. For example, if t1 is an - InnoDB table, use this statement: + To rebuild a table with ALTER TABLE, use a "null" alteration; + that is, an ALTER TABLE statement that "changes" the table to + use the storage engine that it already has. For example, if + t1 is an InnoDB table, use this statement: mysql> ALTER TABLE t1 ENGINE = InnoDB; - If you are not sure which storage engine to specify in the ALTER - TABLE statement, use SHOW CREATE TABLE to display the table - definition. + If you are not sure which storage engine to specify in the + ALTER TABLE statement, use SHOW CREATE TABLE to display the + table definition. If you need to rebuild an InnoDB table because a CHECK TABLE operation indicates that a table upgrade is required, use - mysqldump to create a dump file and mysql to reload the file, as - described earlier. If the CHECK TABLE operation indicates that - there is a corruption or causes InnoDB to fail, refer to Section - 14.21.2, "Forcing InnoDB Recovery" for information about using the - innodb_force_recovery option to restart InnoDB. To understand the - type of problem that CHECK TABLE may be encountering, refer to the - InnoDB notes in Section 13.7.2.2, "CHECK TABLE Syntax." - - For MyISAM, ARCHIVE, or CSV tables, you can use REPAIR TABLE if - the table checking operation indicates that there is a corruption - or that an upgrade is required. For example, to repair a MyISAM - table, use this statement: + mysqldump to create a dump file and mysql to reload the file, + as described earlier. If the CHECK TABLE operation indicates + that there is a corruption or causes InnoDB to fail, refer to + Section 14.21.2, "Forcing InnoDB Recovery" for information + about using the innodb_force_recovery option to restart + InnoDB. To understand the type of problem that CHECK TABLE + may be encountering, refer to the InnoDB notes in Section + 13.7.2.2, "CHECK TABLE Syntax." + + For MyISAM, ARCHIVE, or CSV tables, you can use REPAIR TABLE + if the table checking operation indicates that there is a + corruption or that an upgrade is required. For example, to + repair a MyISAM table, use this statement: mysql> REPAIR TABLE t1; - mysqlcheck --repair provides command-line access to the REPAIR - TABLE statement. This can be a more convenient means of repairing - tables because you can use the --databases or --all-databases - option to repair all tables in specific databases or all - databases, respectively: + mysqlcheck --repair provides command-line access to the + REPAIR TABLE statement. This can be a more convenient means + of repairing tables because you can use the --databases or + --all-databases option to repair all tables in specific + databases or all databases, respectively: shell> mysqlcheck --repair --databases db_name ... shell> mysqlcheck --repair --all-databases - For incompatibilities introduced in MySQL 5.1.24 by the fix for - Bug #27877 that corrected the utf8_general_ci and ucs2_general_ci - collations, a workaround is implemented as of MySQL 5.1.62, - 5.5.21, and 5.6.5. Upgrade to one of those versions, then convert - each affected table using one of the following methods. In each - case, the workaround altering affected columns to use the - utf8_general_mysql500_ci and ucs2_general_mysql500_ci collations, - which preserve the original pre-5.1.24 ordering of utf8_general_ci - and ucs2_general_ci. + For incompatibilities introduced in MySQL 5.1.24 by the fix + for Bug #27877 that corrected the utf8_general_ci and + ucs2_general_ci collations, a workaround is implemented as of + MySQL 5.1.62, 5.5.21, and 5.6.5. Upgrade to one of those + versions, then convert each affected table using one of the + following methods. In each case, the workaround altering + affected columns to use the utf8_general_mysql500_ci and + ucs2_general_mysql500_ci collations, which preserve the + original pre-5.1.24 ordering of utf8_general_ci and + ucs2_general_ci. * To convert an affected table after a binary upgrade that - leaves the table files in place, alter the table to use the - new collation. Suppose that the table t1 contains one or more - problematic utf8 columns. To convert the table at the table - level, use a statement like this: + leaves the table files in place, alter the table to use + the new collation. Suppose that the table t1 contains one + or more problematic utf8 columns. To convert the table at + the table level, use a statement like this: ALTER TABLE t1 CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_mysql500_ci; + To apply the change on a column-specific basis, use a - statement like this (be sure to repeat the column definition - as originally specified except for the COLLATE clause): + statement like this (be sure to repeat the column + definition as originally specified except for the COLLATE + clause): ALTER TABLE t1 -MODIFY c1 CHAR(N) CHARACTER SET utf8 COLLATE utf8_general_mysql500_ci -; +MODIFY c1 CHAR(N) CHARACTER SET utf8 COLLATE utf8_general_mysql500_ci; + - * To upgrade the table using a dump and reload procedure, dump - the table using mysqldump, modify the CREATE TABLE statement - in the dump file to use the new collation, and reload the - table. + * To upgrade the table using a dump and reload procedure, + dump the table using mysqldump, modify the CREATE TABLE + statement in the dump file to use the new collation, and + reload the table. - After making the appropriate changes, CHECK TABLE should report no - error. + After making the appropriate changes, CHECK TABLE should + report no error. 2.11.5 Copying MySQL Databases to Another Machine - In cases where you need to transfer databases between different - architectures, you can use mysqldump to create a file containing - SQL statements. You can then transfer the file to the other - machine and feed it as input to the mysql client. + In cases where you need to transfer databases between + different architectures, you can use mysqldump to create a + file containing SQL statements. You can then transfer the + file to the other machine and feed it as input to the mysql + client. Note You can copy the .frm, .MYI, and .MYD files for MyISAM tables @@ -8782,28 +9774,28 @@ shell> mysqladmin -h 'other_hostname' create db_name shell> mysqldump db_name | mysql -h 'other_hostname' db_name - If you want to copy a database from a remote machine over a slow - network, you can use these commands: + If you want to copy a database from a remote machine over a + slow network, you can use these commands: shell> mysqladmin create db_name -shell> mysqldump -h 'other_hostname' --compress db_name | mysql db_na -me +shell> mysqldump -h 'other_hostname' --compress db_name | mysql db_nam +e - You can also store the dump in a file, transfer the file to the - target machine, and then load the file into the database there. - For example, you can dump a database to a compressed file on the - source machine like this: + You can also store the dump in a file, transfer the file to + the target machine, and then load the file into the database + there. For example, you can dump a database to a compressed + file on the source machine like this: shell> mysqldump --quick db_name | gzip > db_name.gz - Transfer the file containing the database contents to the target - machine and run these commands there: + Transfer the file containing the database contents to the + target machine and run these commands there: shell> mysqladmin create db_name shell> gunzip < db_name.gz | mysql db_name You can also use mysqldump and mysqlimport to transfer the - database. For large tables, this is much faster than simply using - mysqldump. In the following commands, DUMPDIR represents the full - path name of the directory you use to store the output from - mysqldump. + database. For large tables, this is much faster than simply + using mysqldump. In the following commands, DUMPDIR + represents the full path name of the directory you use to + store the output from mysqldump. First, create the directory for the output files and dump the database: @@ -8811,36 +9803,35 @@ shell> mysqldump --tab=DUMPDIR db_name Then transfer the files in the DUMPDIR directory to some - corresponding directory on the target machine and load the files - into MySQL there: + corresponding directory on the target machine and load the + files into MySQL there: shell> mysqladmin create db_name # create database -shell> cat DUMPDIR/*.sql | mysql db_name # create tables in databas -e +shell> cat DUMPDIR/*.sql | mysql db_name # create tables in database shell> mysqlimport db_name DUMPDIR/*.txt # load data into tables - Do not forget to copy the mysql database because that is where the - grant tables are stored. You might have to run commands as the - MySQL root user on the new machine until you have the mysql - database in place. - - After you import the mysql database on the new machine, execute - mysqladmin flush-privileges so that the server reloads the grant - table information. + Do not forget to copy the mysql database because that is + where the grant tables are stored. You might have to run + commands as the MySQL root user on the new machine until you + have the mysql database in place. + + After you import the mysql database on the new machine, + execute mysqladmin flush-privileges so that the server + reloads the grant table information. 2.12 Environment Variables - This section lists all the environment variables that are used - directly or indirectly by MySQL. Most of these can also be found - in other places in this manual. - - Note that any options on the command line take precedence over - values specified in option files and environment variables, and - values in option files take precedence over values in environment - variables. - - In many cases, it is preferable to use an option file instead of - environment variables to modify the behavior of MySQL. See Section - 4.2.6, "Using Option Files." + This section lists all the environment variables that are + used directly or indirectly by MySQL. Most of these can also + be found in other places in this manual. + + Note that any options on the command line take precedence + over values specified in option files and environment + variables, and values in option files take precedence over + values in environment variables. + + In many cases, it is preferable to use an option file instead + of environment variables to modify the behavior of MySQL. See + Section 4.2.6, "Using Option Files." Variable Description CXX The name of your C++ compiler (for running CMake). CC The name of your C compiler (for running CMake). @@ -8848,7 +9839,8 @@ DBI_TRACE Trace options for Perl DBI. HOME The default path for the mysql history file is $HOME/.mysql_history. - LD_RUN_PATH Used to specify the location of libmysqlclient.so. + LD_RUN_PATH Used to specify the location of + libmysqlclient.so. LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN Enable mysql_clear_password authentication plugin; see Section 6.3.7.5, "The Cleartext Client-Side Authentication Plugin." @@ -8858,15 +9850,15 @@ MYSQL_HISTFILE The path to the mysql history file. If this variable is set, its value overrides the default for $HOME/.mysql_history. - MYSQL_HOME The path to the directory in which the server-specific - my.cnf file resides. - MYSQL_HOST The default host name used by the mysql command-line - client. + MYSQL_HOME The path to the directory in which the + server-specific my.cnf file resides. + MYSQL_HOST The default host name used by the mysql + command-line client. MYSQL_PS1 The command prompt to use in the mysql command-line client. - MYSQL_PWD The default password when connecting to mysqld. Note - that using this is insecure. See Section 6.1.2.1, "End-User - Guidelines for Password Security." + MYSQL_PWD The default password when connecting to mysqld. + Note that using this is insecure. See Section 6.1.2.1, + "End-User Guidelines for Password Security." MYSQL_TCP_PORT The default TCP/IP port number. MYSQL_UNIX_PORT The default Unix socket file name; used for connections to localhost. @@ -8874,192 +9866,207 @@ TMPDIR The directory where temporary files are created. TZ This should be set to your local time zone. See Section B.5.4.6, "Time Zone Problems." - UMASK The user-file creation mode when creating files. See note - following table. + UMASK The user-file creation mode when creating files. See + note following table. UMASK_DIR The user-directory creation mode when creating directories. See note following table. - USER The default user name on Windows when connecting to mysqld. + USER The default user name on Windows when connecting to + mysqld. - For information about the mysql history file, see Section 4.5.1.3, - "mysql Logging." + For information about the mysql history file, see Section + 4.5.1.3, "mysql Logging." - The UMASK and UMASK_DIR variables, despite their names, are used - as modes, not masks: + The UMASK and UMASK_DIR variables, despite their names, are + used as modes, not masks: - * If UMASK is set, mysqld uses ($UMASK | 0600) as the mode for - file creation, so that newly created files have a mode in the - range from 0600 to 0666 (all values octal). - - * If UMASK_DIR is set, mysqld uses ($UMASK_DIR | 0700) as the - base mode for directory creation, which then is AND-ed with - ~(~$UMASK & 0666), so that newly created directories have a - mode in the range from 0700 to 0777 (all values octal). The - AND operation may remove read and write permissions from the - directory mode, but not execute permissions. + * If UMASK is set, mysqld uses ($UMASK | 0600) as the mode + for file creation, so that newly created files have a + mode in the range from 0600 to 0666 (all values octal). + + * If UMASK_DIR is set, mysqld uses ($UMASK_DIR | 0700) as + the base mode for directory creation, which then is + AND-ed with ~(~$UMASK & 0666), so that newly created + directories have a mode in the range from 0700 to 0777 + (all values octal). The AND operation may remove read and + write permissions from the directory mode, but not + execute permissions. - MySQL assumes that the value for UMASK or UMASK_DIR is in octal if - it starts with a zero. + MySQL assumes that the value for UMASK or UMASK_DIR is in + octal if it starts with a zero. 2.13 Perl Installation Notes The Perl DBI module provides a generic interface for database - access. You can write a DBI script that works with many different - database engines without change. To use DBI, you must install the - DBI module, as well as a DataBase Driver (DBD) module for each - type of database server you want to access. For MySQL, this driver - is the DBD::mysql module. - - Perl, and the DBD::MySQL module for DBI must be installed if you - want to run the MySQL benchmark scripts; see Section 8.12.2, "The - MySQL Benchmark Suite." They are also required for the MySQL - Cluster ndb_size.pl utility; see Section 18.4.24, "ndb_size.pl --- - NDBCLUSTER Size Requirement Estimator." - Note - - Perl support is not included with MySQL distributions. You can - obtain the necessary modules from http://search.cpan.org for Unix, - or by using the ActiveState ppm program on Windows. The following - sections describe how to do this. - - The DBI/DBD interface requires Perl 5.6.0, and 5.6.1 or later is - preferred. DBI does not work if you have an older version of Perl. - You should use DBD::mysql 4.009 or higher. Although earlier - versions are available, they do not support the full functionality - of MySQL 5.5. + access. You can write a DBI script that works with many + different database engines without change. To use DBI, you + must install the DBI module, as well as a DataBase Driver + (DBD) module for each type of database server you want to + access. For MySQL, this driver is the DBD::mysql module. + + Perl, and the DBD::MySQL module for DBI must be installed if + you want to run the MySQL benchmark scripts; see Section + 8.12.2, "The MySQL Benchmark Suite." They are also required + for the MySQL Cluster ndb_size.pl utility; see Section + 18.4.24, "ndb_size.pl --- NDBCLUSTER Size Requirement + Estimator." + Note + + Perl support is not included with MySQL distributions. You + can obtain the necessary modules from http://search.cpan.org + for Unix, or by using the ActiveState ppm program on Windows. + The following sections describe how to do this. + + The DBI/DBD interface requires Perl 5.6.0, and 5.6.1 or later + is preferred. DBI does not work if you have an older version + of Perl. You should use DBD::mysql 4.009 or higher. Although + earlier versions are available, they do not support the full + functionality of MySQL 5.5. 2.13.1 Installing Perl on Unix - MySQL Perl support requires that you have installed MySQL client - programming support (libraries and header files). Most - installation methods install the necessary files. If you install - MySQL from RPM files on Linux, be sure to install the developer - RPM as well. The client programs are in the client RPM, but client - programming support is in the developer RPM. + MySQL Perl support requires that you have installed MySQL + client programming support (libraries and header files). Most + installation methods install the necessary files. If you + install MySQL from RPM files on Linux, be sure to install the + developer RPM as well. The client programs are in the client + RPM, but client programming support is in the developer RPM. + + The files you need for Perl support can be obtained from the + CPAN (Comprehensive Perl Archive Network) at + http://search.cpan.org. - The files you need for Perl support can be obtained from the CPAN - (Comprehensive Perl Archive Network) at http://search.cpan.org. - - The easiest way to install Perl modules on Unix is to use the CPAN - module. For example: + The easiest way to install Perl modules on Unix is to use the + CPAN module. For example: shell> perl -MCPAN -e shell cpan> install DBI cpan> install DBD::mysql - The DBD::mysql installation runs a number of tests. These tests - attempt to connect to the local MySQL server using the default - user name and password. (The default user name is your login name - on Unix, and ODBC on Windows. The default password is "no - password.") If you cannot connect to the server with those values - (for example, if your account has a password), the tests fail. You - can use force install DBD::mysql to ignore the failed tests. - - DBI requires the Data::Dumper module. It may be installed; if not, - you should install it before installing DBI. - - It is also possible to download the module distributions in the - form of compressed tar archives and build the modules manually. - For example, to unpack and build a DBI distribution, use a - procedure such as this: + The DBD::mysql installation runs a number of tests. These + tests attempt to connect to the local MySQL server using the + default user name and password. (The default user name is + your login name on Unix, and ODBC on Windows. The default + password is "no password.") If you cannot connect to the + server with those values (for example, if your account has a + password), the tests fail. You can use force install + DBD::mysql to ignore the failed tests. + + DBI requires the Data::Dumper module. It may be installed; if + not, you should install it before installing DBI. + + It is also possible to download the module distributions in + the form of compressed tar archives and build the modules + manually. For example, to unpack and build a DBI + distribution, use a procedure such as this: 1. Unpack the distribution into the current directory: shell> gunzip < DBI-VERSION.tar.gz | tar xvf - + This command creates a directory named DBI-VERSION. - 2. Change location into the top-level directory of the unpacked - distribution: + 2. Change location into the top-level directory of the + unpacked distribution: shell> cd DBI-VERSION + 3. Build the distribution and compile everything: shell> perl Makefile.PL shell> make shell> make test shell> make install - The make test command is important because it verifies that the - module is working. Note that when you run that command during the - DBD::mysql installation to exercise the interface code, the MySQL - server must be running or the test fails. + The make test command is important because it verifies that + the module is working. Note that when you run that command + during the DBD::mysql installation to exercise the interface + code, the MySQL server must be running or the test fails. It is a good idea to rebuild and reinstall the DBD::mysql - distribution whenever you install a new release of MySQL. This - ensures that the latest versions of the MySQL client libraries are - installed correctly. - - If you do not have access rights to install Perl modules in the - system directory or if you want to install local Perl modules, the - following reference may be useful: - http://learn.perl.org/faq/perlfaq8.html#How-do-I-keep-my-own-modul - e-library-directory- + distribution whenever you install a new release of MySQL. + This ensures that the latest versions of the MySQL client + libraries are installed correctly. + + If you do not have access rights to install Perl modules in + the system directory or if you want to install local Perl + modules, the following reference may be useful: + http://learn.perl.org/faq/perlfaq8.html#How-do-I-keep-my-own- + module-library-directory- 2.13.2 Installing ActiveState Perl on Windows - On Windows, you should do the following to install the MySQL DBD - module with ActiveState Perl: + On Windows, you should do the following to install the MySQL + DBD module with ActiveState Perl: 1. Get ActiveState Perl from - http://www.activestate.com/Products/ActivePerl/ and install - it. + http://www.activestate.com/Products/ActivePerl/ and + install it. 2. Open a console window. - 3. If necessary, set the HTTP_proxy variable. For example, you - might try a setting like this: + 3. If necessary, set the HTTP_proxy variable. For example, + you might try a setting like this: C:\> set HTTP_proxy=my.proxy.com:3128 + 4. Start the PPM program: C:\> C:\perl\bin\ppm.pl + 5. If you have not previously done so, install DBI: ppm> install DBI + 6. If this succeeds, run the following command: ppm> install DBD-mysql - This procedure should work with ActiveState Perl 5.6 or newer. + This procedure should work with ActiveState Perl 5.6 or + newer. - If you cannot get the procedure to work, you should install the - ODBC driver instead and connect to the MySQL server through ODBC: + If you cannot get the procedure to work, you should install + the ODBC driver instead and connect to the MySQL server + through ODBC: use DBI; $dbh= DBI->connect("DBI:ODBC:$dsn",$user,$password) || die "Got error $DBI::errstr when connecting to $dsn\n"; 2.13.3 Problems Using the Perl DBI/DBD Interface - If Perl reports that it cannot find the ../mysql/mysql.so module, - the problem is probably that Perl cannot locate the - libmysqlclient.so shared library. You should be able to fix this - problem by one of the following methods: + If Perl reports that it cannot find the ../mysql/mysql.so + module, the problem is probably that Perl cannot locate the + libmysqlclient.so shared library. You should be able to fix + this problem by one of the following methods: * Copy libmysqlclient.so to the directory where your other shared libraries are located (probably /usr/lib or /lib). - * Modify the -L options used to compile DBD::mysql to reflect - the actual location of libmysqlclient.so. - - * On Linux, you can add the path name of the directory where - libmysqlclient.so is located to the /etc/ld.so.conf file. - - * Add the path name of the directory where libmysqlclient.so is - located to the LD_RUN_PATH environment variable. Some systems - use LD_LIBRARY_PATH instead. - - Note that you may also need to modify the -L options if there are - other libraries that the linker fails to find. For example, if the - linker cannot find libc because it is in /lib and the link command - specifies -L/usr/lib, change the -L option to -L/lib or add -L/lib - to the existing link command. + * Modify the -L options used to compile DBD::mysql to + reflect the actual location of libmysqlclient.so. - If you get the following errors from DBD::mysql, you are probably - using gcc (or using an old binary compiled with gcc): + * On Linux, you can add the path name of the directory + where libmysqlclient.so is located to the /etc/ld.so.conf + file. + + * Add the path name of the directory where + libmysqlclient.so is located to the LD_RUN_PATH + environment variable. Some systems use LD_LIBRARY_PATH + instead. + + Note that you may also need to modify the -L options if there + are other libraries that the linker fails to find. For + example, if the linker cannot find libc because it is in /lib + and the link command specifies -L/usr/lib, change the -L + option to -L/lib or add -L/lib to the existing link command. + + If you get the following errors from DBD::mysql, you are + probably using gcc (or using an old binary compiled with + gcc): /usr/bin/perl: can't resolve symbol '__moddi3' /usr/bin/perl: can't resolve symbol '__divdi3' Add -L/usr/lib/gcc-lib/... -lgcc to the link command when the mysql.so library gets built (check the output from make for - mysql.so when you compile the Perl client). The -L option should - specify the path name of the directory where libgcc.a is located - on your system. - - Another cause of this problem may be that Perl and MySQL are not - both compiled with gcc. In this case, you can solve the mismatch - by compiling both with gcc. + mysql.so when you compile the Perl client). The -L option + should specify the path name of the directory where libgcc.a + is located on your system. + + Another cause of this problem may be that Perl and MySQL are + not both compiled with gcc. In this case, you can solve the + mismatch by compiling both with gcc. diff -Nru mysql-5.5-5.5.40/libmysqld/CMakeLists.txt mysql-5.5-5.5.41/libmysqld/CMakeLists.txt --- mysql-5.5-5.5.40/libmysqld/CMakeLists.txt 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/libmysqld/CMakeLists.txt 2014-11-04 07:49:52.000000000 +0000 @@ -93,6 +93,14 @@ ) +# These files have unused result errors, so we skip Werror +CHECK_C_COMPILER_FLAG("-Werror" HAVE_WERROR_FLAG) +IF(HAVE_WERROR_FLAG) + INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake) + ADD_COMPILE_FLAGS(../sql/filesort.cc COMPILE_FLAGS "-Wno-error") + ADD_COMPILE_FLAGS(../sql/opt_range.cc COMPILE_FLAGS "-Wno-error") +ENDIF() + ADD_CONVENIENCE_LIBRARY(sql_embedded ${SQL_EMBEDDED_SOURCES}) DTRACE_INSTRUMENT(sql_embedded) ADD_DEPENDENCIES(sql_embedded GenError GenServerSource) diff -Nru mysql-5.5-5.5.40/libmysqld/examples/CMakeLists.txt mysql-5.5-5.5.41/libmysqld/examples/CMakeLists.txt --- mysql-5.5-5.5.40/libmysqld/examples/CMakeLists.txt 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/libmysqld/examples/CMakeLists.txt 2014-11-04 07:49:52.000000000 +0000 @@ -33,6 +33,12 @@ ENDIF(UNIX) MYSQL_ADD_EXECUTABLE(mysqltest_embedded ../../client/mysqltest.cc) +# mysqltest has unused result errors, so we skip Werror +CHECK_C_COMPILER_FLAG("-Werror" HAVE_WERROR_FLAG) +IF(HAVE_WERROR_FLAG) + INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake) + ADD_COMPILE_FLAGS(../../client/mysqltest.cc COMPILE_FLAGS "-Wno-error") +ENDIF() TARGET_LINK_LIBRARIES(mysqltest_embedded mysqlserver) diff -Nru mysql-5.5-5.5.40/libmysqld/lib_sql.cc mysql-5.5-5.5.41/libmysqld/lib_sql.cc --- mysql-5.5-5.5.40/libmysqld/lib_sql.cc 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/libmysqld/lib_sql.cc 2014-11-04 07:49:52.000000000 +0000 @@ -2,6 +2,9 @@ * Copyright (c) 2000 * SWsoft company * + * Modifications copyright (c) 2001, 2013. Oracle and/or its affiliates. + * All rights reserved. + * * This material is provided "as is", with absolutely no warranty expressed * or implied. Any use is at your own risk. * diff -Nru mysql-5.5-5.5.40/man/comp_err.1 mysql-5.5-5.5.41/man/comp_err.1 --- mysql-5.5-5.5.40/man/comp_err.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/comp_err.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBcomp_err\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBCOMP_ERR\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBCOMP_ERR\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/innochecksum.1 mysql-5.5-5.5.41/man/innochecksum.1 --- mysql-5.5-5.5.40/man/innochecksum.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/innochecksum.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBinnochecksum\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBINNOCHECKSUM\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBINNOCHECKSUM\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/msql2mysql.1 mysql-5.5-5.5.41/man/msql2mysql.1 --- mysql-5.5-5.5.40/man/msql2mysql.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/msql2mysql.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmsql2mysql\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMSQL2MYSQL\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMSQL2MYSQL\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/myisamchk.1 mysql-5.5-5.5.41/man/myisamchk.1 --- mysql-5.5-5.5.40/man/myisamchk.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/myisamchk.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmyisamchk\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYISAMCHK\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYISAMCHK\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -249,7 +249,7 @@ \fBmyisamchk\fR supports the following options, which can be specified on the command line or in the [myisamchk] -group of an option file\&. For information about option files, see +group of an option file\&. For information about option files used by MySQL programs, see Section\ \&4.2.6, \(lqUsing Option Files\(rq\&. .SH "MYISAMCHK GENERAL OPTIONS" .\" options: myisamchk diff -Nru mysql-5.5-5.5.40/man/myisam_ftdump.1 mysql-5.5-5.5.41/man/myisam_ftdump.1 --- mysql-5.5-5.5.40/man/myisam_ftdump.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/myisam_ftdump.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmyisam_ftdump\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYISAM_FTDUMP\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYISAM_FTDUMP\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/myisamlog.1 mysql-5.5-5.5.41/man/myisamlog.1 --- mysql-5.5-5.5.40/man/myisamlog.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/myisamlog.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmyisamlog\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYISAMLOG\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYISAMLOG\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/myisampack.1 mysql-5.5-5.5.41/man/myisampack.1 --- mysql-5.5-5.5.40/man/myisampack.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/myisampack.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmyisampack\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYISAMPACK\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYISAMPACK\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/my_print_defaults.1 mysql-5.5-5.5.41/man/my_print_defaults.1 --- mysql-5.5-5.5.40/man/my_print_defaults.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/my_print_defaults.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmy_print_defaults\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMY_PRINT_DEFAULTS" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMY_PRINT_DEFAULTS" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/mysql.1 mysql-5.5-5.5.41/man/mysql.1 --- mysql-5.5-5.5.40/man/mysql.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysql.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysql\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQL\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQL\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -121,7 +121,7 @@ [mysql] and [client] -groups of an option file\&. For information about option files, see +groups of an option file\&. For information about option files used by MySQL programs, see Section\ \&4.2.6, \(lqUsing Option Files\(rq\&. .sp .RS 4 diff -Nru mysql-5.5-5.5.40/man/mysqlaccess.1 mysql-5.5-5.5.41/man/mysqlaccess.1 --- mysql-5.5-5.5.40/man/mysqlaccess.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysqlaccess.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysqlaccess\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQLACCESS\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQLACCESS\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/mysqladmin.1 mysql-5.5-5.5.41/man/mysqladmin.1 --- mysql-5.5-5.5.40/man/mysqladmin.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysqladmin.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysqladmin\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQLADMIN\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQLADMIN\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -609,7 +609,7 @@ [mysqladmin] and [client] -groups of an option file\&. For information about option files, see +groups of an option file\&. For information about option files used by MySQL programs, see Section\ \&4.2.6, \(lqUsing Option Files\(rq\&. .sp .RS 4 diff -Nru mysql-5.5-5.5.40/man/mysqlbinlog.1 mysql-5.5-5.5.41/man/mysqlbinlog.1 --- mysql-5.5-5.5.40/man/mysqlbinlog.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysqlbinlog.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysqlbinlog\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQLBINLOG\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQLBINLOG\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -149,7 +149,7 @@ [mysqlbinlog] and [client] -groups of an option file\&. For information about option files, see +groups of an option file\&. For information about option files used by MySQL programs, see Section\ \&4.2.6, \(lqUsing Option Files\(rq\&. .sp .RS 4 diff -Nru mysql-5.5-5.5.40/man/mysqlbug.1 mysql-5.5-5.5.41/man/mysqlbug.1 --- mysql-5.5-5.5.40/man/mysqlbug.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysqlbug.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysqlbug\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQLBUG\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQLBUG\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/mysqlcheck.1 mysql-5.5-5.5.41/man/mysqlcheck.1 --- mysql-5.5-5.5.40/man/mysqlcheck.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysqlcheck.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysqlcheck\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQLCHECK\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQLCHECK\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -204,7 +204,7 @@ [mysqlcheck] and [client] -groups of an option file\&. For information about option files, see +groups of an option file\&. For information about option files used by MySQL programs, see Section\ \&4.2.6, \(lqUsing Option Files\(rq\&. .sp .RS 4 diff -Nru mysql-5.5-5.5.40/man/mysql_client_test.1 mysql-5.5-5.5.41/man/mysql_client_test.1 --- mysql-5.5-5.5.40/man/mysql_client_test.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysql_client_test.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysql_client_test\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/05/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL .\" Language: English .\" -.TH "\FBMYSQL_CLIENT_TEST" "1" "09/05/2014" "MySQL" "MySQL Database System" +.TH "\FBMYSQL_CLIENT_TEST" "1" "11/04/2014" "MySQL" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/mysql_config.1 mysql-5.5-5.5.41/man/mysql_config.1 --- mysql-5.5-5.5.40/man/mysql_config.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysql_config.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysql_config\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQL_CONFIG\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQL_CONFIG\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/mysql_convert_table_format.1 mysql-5.5-5.5.41/man/mysql_convert_table_format.1 --- mysql-5.5-5.5.40/man/mysql_convert_table_format.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysql_convert_table_format.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysql_convert_table_format\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQL_CONVERT_TAB" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQL_CONVERT_TAB" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/mysqld.8 mysql-5.5-5.5.41/man/mysqld.8 --- mysql-5.5-5.5.40/man/mysqld.8 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysqld.8 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysqld\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQLD\FR" "8" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQLD\FR" "8" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/mysqld_multi.1 mysql-5.5-5.5.41/man/mysqld_multi.1 --- mysql-5.5-5.5.40/man/mysqld_multi.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysqld_multi.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysqld_multi\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQLD_MULTI\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQLD_MULTI\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/mysqld_safe.1 mysql-5.5-5.5.41/man/mysqld_safe.1 --- mysql-5.5-5.5.40/man/mysqld_safe.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysqld_safe.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysqld_safe\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQLD_SAFE\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQLD_SAFE\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -100,9 +100,11 @@ \fBmysqld_safe\fR also reads [safe_mysqld] -sections, although you should rename such sections to +sections, although it is preferable to rename +[safe_mysqld] +sections to [mysqld_safe] -in MySQL 5\&.5 installations\&. +sections\&. .PP \fBmysqld_safe\fR supports the following options\&. It also reads option files and supports the options for processing them described at @@ -804,11 +806,7 @@ .sp -1 .IP \(bu 2.3 .\} -\fB\-\-syslog\fR: Write error messages to -syslog -on systems that support the -\fBlogger\fR -program\&. +\fB\-\-log\-error=\fR\fB\fIfile_name\fR\fR: Write error messages to the named error file\&. .RE .sp .RS 4 @@ -819,11 +817,11 @@ .sp -1 .IP \(bu 2.3 .\} -\fB\-\-skip\-syslog\fR: Do not write error messages to -syslog\&. Messages are written to the default error log file (\fIhost_name\fR\&.err -in the data directory), or to a named file if the -\fB\-\-log\-error\fR -option is given\&. +\fB\-\-syslog\fR: Write error messages to +syslog +on systems that support the +\fBlogger\fR +program\&. .RE .sp .RS 4 @@ -834,16 +832,20 @@ .sp -1 .IP \(bu 2.3 .\} -\fB\-\-log\-error=\fR\fB\fIfile_name\fR\fR: Write error messages to the named error file\&. +\fB\-\-skip\-syslog\fR: Do not write error messages to +syslog\&. Messages are written to the default error log file (\fIhost_name\fR\&.err +in the data directory), or to a named file if the +\fB\-\-log\-error\fR +option is given\&. .RE .PP If none of these options is given, the default is \fB\-\-skip\-syslog\fR\&. .PP If -\fB\-\-syslog\fR -and \fB\-\-log\-error\fR +and +\fB\-\-syslog\fR are both given, a warning is issued and \fB\-\-log\-error\fR takes precedence\&. diff -Nru mysql-5.5-5.5.40/man/mysqldump.1 mysql-5.5-5.5.41/man/mysqldump.1 --- mysql-5.5-5.5.40/man/mysqldump.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysqldump.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysqldump\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQLDUMP\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQLDUMP\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -343,7 +343,7 @@ [mysqldump] and [client] -groups of an option file\&. For information about option files, see +groups of an option file\&. For information about option files used by MySQL programs, see Section\ \&4.2.6, \(lqUsing Option Files\(rq\&. .sp .RS 4 @@ -2606,7 +2606,7 @@ .RS 4 .\} .nf -shell> \fBmysqldump \-\-all\-databases \-\-single\-transaction > all_databases\&.sql\fR +shell> \fBmysqldump \-\-all\-databases \-\-master\-data \-\-single\-transaction > all_databases\&.sql\fR .fi .if n \{\ .RE diff -Nru mysql-5.5-5.5.40/man/mysqldumpslow.1 mysql-5.5-5.5.41/man/mysqldumpslow.1 --- mysql-5.5-5.5.40/man/mysqldumpslow.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysqldumpslow.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysqldumpslow\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQLDUMPSLOW\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQLDUMPSLOW\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/mysql_find_rows.1 mysql-5.5-5.5.41/man/mysql_find_rows.1 --- mysql-5.5-5.5.40/man/mysql_find_rows.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysql_find_rows.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysql_find_rows\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQL_FIND_ROWS\F" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQL_FIND_ROWS\F" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/mysql_fix_extensions.1 mysql-5.5-5.5.41/man/mysql_fix_extensions.1 --- mysql-5.5-5.5.40/man/mysql_fix_extensions.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysql_fix_extensions.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysql_fix_extensions\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQL_FIX_EXTENSI" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQL_FIX_EXTENSI" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/mysqlhotcopy.1 mysql-5.5-5.5.41/man/mysqlhotcopy.1 --- mysql-5.5-5.5.40/man/mysqlhotcopy.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysqlhotcopy.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysqlhotcopy\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQLHOTCOPY\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQLHOTCOPY\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -113,7 +113,7 @@ [mysqlhotcopy] and [client] -groups of an option file\&. For information about option files, see +groups of an option file\&. For information about option files used by MySQL programs, see Section\ \&4.2.6, \(lqUsing Option Files\(rq\&. .sp .RS 4 diff -Nru mysql-5.5-5.5.40/man/mysqlimport.1 mysql-5.5-5.5.41/man/mysqlimport.1 --- mysql-5.5-5.5.40/man/mysqlimport.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysqlimport.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysqlimport\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQLIMPORT\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQLIMPORT\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -78,7 +78,7 @@ [mysqlimport] and [client] -groups of an option file\&. For information about option files, see +groups of an option file\&. For information about option files used by MySQL programs, see Section\ \&4.2.6, \(lqUsing Option Files\(rq\&. .sp .RS 4 diff -Nru mysql-5.5-5.5.40/man/mysql_install_db.1 mysql-5.5-5.5.41/man/mysql_install_db.1 --- mysql-5.5-5.5.40/man/mysql_install_db.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysql_install_db.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysql_install_db\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQL_INSTALL_DB\" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQL_INSTALL_DB\" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -59,10 +59,9 @@ \fBmysqld\fR, must access the data directory when it runs later, you should either run \fBmysql_install_db\fR from the same system account that will be used for running -\fBmysqld\fR -or run it as +\fBmysqld\fR, or run it as root -and use the +and specify the \fB\-\-user\fR option to indicate the user name that \fBmysqld\fR @@ -120,7 +119,7 @@ can also be specified in the [mysqld] group\&.) Other options are passed to -\fBmysqld\fR\&. For information about option files, see +\fBmysqld\fR\&. For information about option files used by MySQL programs, see Section\ \&4.2.6, \(lqUsing Option Files\(rq\&. .sp .RS 4 @@ -195,10 +194,7 @@ .\} .\" mysql_install_db: datadir option .\" datadir option: mysql_install_db -.\" mysql_install_db: ldata option -.\" ldata option: mysql_install_db -\fB\-\-datadir=\fR\fB\fIpath\fR\fR, -\fB\-\-ldata=\fR\fB\fIpath\fR\fR +\fB\-\-datadir=\fR\fB\fIpath\fR\fR .sp The path to the MySQL data directory\&. .RE @@ -260,6 +256,22 @@ .sp -1 .IP \(bu 2.3 .\} +.\" mysql_install_db: ldata option +.\" ldata option: mysql_install_db +\fB\-\-ldata=\fR\fB\fIpath\fR\fR +.sp +A synonym for +\fB\-\-datadir\fR\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} .\" no-defaults option \fB\-\-no\-defaults\fR .sp @@ -330,9 +342,9 @@ The system (login) user name to use for running \fBmysqld\fR\&. Files and directories created by \fBmysqld\fR -will be owned by this user\&. You must be +will be owned by this user\&. You must be the system root -to use this option\&. By default, +user to use this option\&. By default, \fBmysqld\fR runs using your current login name and files and directories that it creates will be owned by you\&. .RE diff -Nru mysql-5.5-5.5.40/man/mysql_plugin.1 mysql-5.5-5.5.41/man/mysql_plugin.1 --- mysql-5.5-5.5.40/man/mysql_plugin.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysql_plugin.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysql_plugin\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQL_PLUGIN\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQL_PLUGIN\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -163,7 +163,7 @@ \fB\-\-basedir\fR, \fB\-\-datadir\fR, and \fB\-\-plugin\-dir\fR -options and ignores others\&. For information about option files, see +options and ignores others\&. For information about option files used by MySQL programs, see Section\ \&4.2.6, \(lqUsing Option Files\(rq\&. .sp .RS 4 diff -Nru mysql-5.5-5.5.40/man/mysql_secure_installation.1 mysql-5.5-5.5.41/man/mysql_secure_installation.1 --- mysql-5.5-5.5.40/man/mysql_secure_installation.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysql_secure_installation.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysql_secure_installation\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQL_SECURE_INST" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQL_SECURE_INST" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/mysql.server.1 mysql-5.5-5.5.41/man/mysql.server.1 --- mysql-5.5-5.5.40/man/mysql.server.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysql.server.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysql.server\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQL\&.SERVER\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQL\&.SERVER\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/mysql_setpermission.1 mysql-5.5-5.5.41/man/mysql_setpermission.1 --- mysql-5.5-5.5.40/man/mysql_setpermission.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysql_setpermission.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysql_setpermission\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQL_SETPERMISSI" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQL_SETPERMISSI" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/mysqlshow.1 mysql-5.5-5.5.41/man/mysqlshow.1 --- mysql-5.5-5.5.40/man/mysqlshow.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysqlshow.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysqlshow\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQLSHOW\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQLSHOW\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -125,7 +125,7 @@ [mysqlshow] and [client] -groups of an option file\&. For information about option files, see +groups of an option file\&. For information about option files used by MySQL programs, see Section\ \&4.2.6, \(lqUsing Option Files\(rq\&. .sp .RS 4 diff -Nru mysql-5.5-5.5.40/man/mysqlslap.1 mysql-5.5-5.5.41/man/mysqlslap.1 --- mysql-5.5-5.5.40/man/mysqlslap.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysqlslap.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysqlslap\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQLSLAP\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQLSLAP\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -162,7 +162,7 @@ [mysqlslap] and [client] -groups of an option file\&. For information about option files, see +groups of an option file\&. For information about option files used by MySQL programs, see Section\ \&4.2.6, \(lqUsing Option Files\(rq\&. .sp .RS 4 diff -Nru mysql-5.5-5.5.40/man/mysql-stress-test.pl.1 mysql-5.5-5.5.41/man/mysql-stress-test.pl.1 --- mysql-5.5-5.5.40/man/mysql-stress-test.pl.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysql-stress-test.pl.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysql-stress-test.pl\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/05/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL .\" Language: English .\" -.TH "\FBMYSQL\-STRESS\-TE" "1" "09/05/2014" "MySQL" "MySQL Database System" +.TH "\FBMYSQL\-STRESS\-TE" "1" "11/04/2014" "MySQL" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/mysqltest.1 mysql-5.5-5.5.41/man/mysqltest.1 --- mysql-5.5-5.5.40/man/mysqltest.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysqltest.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysqltest\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/05/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL .\" Language: English .\" -.TH "\FBMYSQLTEST\FR" "1" "09/05/2014" "MySQL" "MySQL Database System" +.TH "\FBMYSQLTEST\FR" "1" "11/04/2014" "MySQL" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/mysql-test-run.pl.1 mysql-5.5-5.5.41/man/mysql-test-run.pl.1 --- mysql-5.5-5.5.40/man/mysql-test-run.pl.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysql-test-run.pl.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysql-test-run.pl\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/05/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL .\" Language: English .\" -.TH "\FBMYSQL\-TEST\-RUN\" "1" "09/05/2014" "MySQL" "MySQL Database System" +.TH "\FBMYSQL\-TEST\-RUN\" "1" "11/04/2014" "MySQL" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/mysql_tzinfo_to_sql.1 mysql-5.5-5.5.41/man/mysql_tzinfo_to_sql.1 --- mysql-5.5-5.5.40/man/mysql_tzinfo_to_sql.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysql_tzinfo_to_sql.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysql_tzinfo_to_sql\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQL_TZINFO_TO_S" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQL_TZINFO_TO_S" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/mysql_upgrade.1 mysql-5.5-5.5.41/man/mysql_upgrade.1 --- mysql-5.5-5.5.40/man/mysql_upgrade.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysql_upgrade.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysql_upgrade\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQL_UPGRADE\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQL_UPGRADE\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/mysql_waitpid.1 mysql-5.5-5.5.41/man/mysql_waitpid.1 --- mysql-5.5-5.5.40/man/mysql_waitpid.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysql_waitpid.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysql_waitpid\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQL_WAITPID\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQL_WAITPID\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/mysql_zap.1 mysql-5.5-5.5.41/man/mysql_zap.1 --- mysql-5.5-5.5.40/man/mysql_zap.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/mysql_zap.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBmysql_zap\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBMYSQL_ZAP\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBMYSQL_ZAP\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/ndb_blob_tool.1 mysql-5.5-5.5.41/man/ndb_blob_tool.1 --- mysql-5.5-5.5.40/man/ndb_blob_tool.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/ndb_blob_tool.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBndb_blob_tool\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBNDB_BLOB_TOOL\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBNDB_BLOB_TOOL\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/ndb-common-options.1 mysql-5.5-5.5.41/man/ndb-common-options.1 --- mysql-5.5-5.5.40/man/ndb-common-options.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/ndb-common-options.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: Options Common to MySQL Cluster Programs .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "OPTIONS COMMON TO MY" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "OPTIONS COMMON TO MY" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -484,7 +484,6 @@ allbox tab(:); l l s s l l s s -l l s s ^ l l s ^ l l s. T{ @@ -493,11 +492,6 @@ \-\-ndb\-mgmd\-host=host[:port] T} T{ -\fBOption\-File Format\fR -T}:T{ -ndb\-mgmd\-host -T} -T{ \ \& T}:T{ \fBPermitted Values\fR diff -Nru mysql-5.5-5.5.40/man/ndb_config.1 mysql-5.5-5.5.41/man/ndb_config.1 --- mysql-5.5-5.5.40/man/ndb_config.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/ndb_config.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBndb_config\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBNDB_CONFIG\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBNDB_CONFIG\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -1236,7 +1236,7 @@ .\} .nf shell> \fBndb_config \-\-configinfo \-\-xml\fR -
diff -Nru mysql-5.5-5.5.40/man/ndb_cpcd.1 mysql-5.5-5.5.41/man/ndb_cpcd.1 --- mysql-5.5-5.5.40/man/ndb_cpcd.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/ndb_cpcd.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBndb_cpcd\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBNDB_CPCD\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBNDB_CPCD\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/ndbd.8 mysql-5.5-5.5.41/man/ndbd.8 --- mysql-5.5-5.5.40/man/ndbd.8 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/ndbd.8 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBndbd\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBNDBD\FR" "8" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBNDBD\FR" "8" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/ndb_delete_all.1 mysql-5.5-5.5.41/man/ndb_delete_all.1 --- mysql-5.5-5.5.40/man/ndb_delete_all.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/ndb_delete_all.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBndb_delete_all\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBNDB_DELETE_ALL\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBNDB_DELETE_ALL\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/ndb_desc.1 mysql-5.5-5.5.41/man/ndb_desc.1 --- mysql-5.5-5.5.40/man/ndb_desc.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/ndb_desc.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBndb_desc\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBNDB_DESC\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBNDB_DESC\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/ndbd_redo_log_reader.1 mysql-5.5-5.5.41/man/ndbd_redo_log_reader.1 --- mysql-5.5-5.5.40/man/ndbd_redo_log_reader.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/ndbd_redo_log_reader.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBndbd_redo_log_reader\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBNDBD_REDO_LOG_REA" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBNDBD_REDO_LOG_REA" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -116,7 +116,7 @@ ndb_\fI#\fR_fs/D\fI#\fR/LCP/\fI#\fR/T\fI#\fRF\fI#\fR\&.Data\&. In each case, the \fI#\fR represents a number (not necessarily the same number)\&. For more information, see -\m[blue]\fBMySQL Cluster Data Node FileSystemDir Files\fR\m[]\&\s-2\u[1]\d\s+2\&. +\m[blue]\fBMySQL Cluster Data Node File System Directory Files\fR\m[]\&\s-2\u[1]\d\s+2\&. .PP The name of the file to be read may be followed by one or more of the options listed here: .sp @@ -249,7 +249,7 @@ .sp .SH "NOTES" .IP " 1." 4 -MySQL Cluster Data Node FileSystemDir Files +MySQL Cluster Data Node File System Directory Files .RS 4 \%http://dev.mysql.com/doc/ndbapi/en/ndb-internals-ndbd-filesystemdir-files.html .RE diff -Nru mysql-5.5-5.5.40/man/ndb_drop_index.1 mysql-5.5-5.5.41/man/ndb_drop_index.1 --- mysql-5.5-5.5.40/man/ndb_drop_index.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/ndb_drop_index.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBndb_drop_index\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBNDB_DROP_INDEX\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBNDB_DROP_INDEX\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -123,7 +123,7 @@ Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with \-A Welcome to the MySQL monitor\&. Commands end with ; or \eg\&. -Your MySQL connection id is 7 to server version: 5\&.5\&.39\-ndb\-7\&.2\&.18 +Your MySQL connection id is 7 to server version: 5\&.5\&.40\-ndb\-7\&.2\&.19 Type \*(Aqhelp;\*(Aq or \*(Aq\eh\*(Aq for help\&. Type \*(Aq\ec\*(Aq to clear the buffer\&. mysql> \fBSHOW TABLES;\fR +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ diff -Nru mysql-5.5-5.5.40/man/ndb_drop_table.1 mysql-5.5-5.5.41/man/ndb_drop_table.1 --- mysql-5.5-5.5.40/man/ndb_drop_table.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/ndb_drop_table.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBndb_drop_table\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBNDB_DROP_TABLE\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBNDB_DROP_TABLE\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/ndb_error_reporter.1 mysql-5.5-5.5.41/man/ndb_error_reporter.1 --- mysql-5.5-5.5.40/man/ndb_error_reporter.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/ndb_error_reporter.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBndb_error_reporter\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBNDB_ERROR_REPORTE" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBNDB_ERROR_REPORTE" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/ndb_index_stat.1 mysql-5.5-5.5.41/man/ndb_index_stat.1 --- mysql-5.5-5.5.40/man/ndb_index_stat.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/ndb_index_stat.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBndb_index_stat\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBNDB_INDEX_STAT\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBNDB_INDEX_STAT\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/ndbinfo_select_all.1 mysql-5.5-5.5.41/man/ndbinfo_select_all.1 --- mysql-5.5-5.5.40/man/ndbinfo_select_all.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/ndbinfo_select_all.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBndbinfo_select_all\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBNDBINFO_SELECT_AL" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBNDBINFO_SELECT_AL" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/ndb_mgm.1 mysql-5.5-5.5.41/man/ndb_mgm.1 --- mysql-5.5-5.5.40/man/ndb_mgm.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/ndb_mgm.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBndb_mgm\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBNDB_MGM\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBNDB_MGM\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/ndb_mgmd.8 mysql-5.5-5.5.41/man/ndb_mgmd.8 --- mysql-5.5-5.5.40/man/ndb_mgmd.8 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/ndb_mgmd.8 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBndb_mgmd\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBNDB_MGMD\FR" "8" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBNDB_MGMD\FR" "8" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/ndbmtd.8 mysql-5.5-5.5.41/man/ndbmtd.8 --- mysql-5.5-5.5.40/man/ndbmtd.8 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/ndbmtd.8 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBndbmtd\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBNDBMTD\FR" "8" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBNDBMTD\FR" "8" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/ndb_print_backup_file.1 mysql-5.5-5.5.41/man/ndb_print_backup_file.1 --- mysql-5.5-5.5.40/man/ndb_print_backup_file.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/ndb_print_backup_file.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBndb_print_backup_file\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBNDB_PRINT_BACKUP_" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBNDB_PRINT_BACKUP_" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/ndb_print_file.1 mysql-5.5-5.5.41/man/ndb_print_file.1 --- mysql-5.5-5.5.40/man/ndb_print_file.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/ndb_print_file.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBndb_print_file\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBNDB_PRINT_FILE\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBNDB_PRINT_FILE\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/ndb_print_schema_file.1 mysql-5.5-5.5.41/man/ndb_print_schema_file.1 --- mysql-5.5-5.5.40/man/ndb_print_schema_file.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/ndb_print_schema_file.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBndb_print_schema_file\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBNDB_PRINT_SCHEMA_" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBNDB_PRINT_SCHEMA_" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -51,7 +51,7 @@ .PP \fIfile_name\fR is the name of a cluster schema file\&. For more information about cluster schema files, see -\m[blue]\fBMySQL Cluster Data Node FileSystemDir Files\fR\m[]\&\s-2\u[1]\d\s+2\&. +\m[blue]\fBMySQL Cluster Data Node File System Directory Files\fR\m[]\&\s-2\u[1]\d\s+2\&. .PP Like \fBndb_print_backup_file\fR @@ -77,7 +77,7 @@ .sp .SH "NOTES" .IP " 1." 4 -MySQL Cluster Data Node FileSystemDir Files +MySQL Cluster Data Node File System Directory Files .RS 4 \%http://dev.mysql.com/doc/ndbapi/en/ndb-internals-ndbd-filesystemdir-files.html .RE diff -Nru mysql-5.5-5.5.40/man/ndb_print_sys_file.1 mysql-5.5-5.5.41/man/ndb_print_sys_file.1 --- mysql-5.5-5.5.40/man/ndb_print_sys_file.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/ndb_print_sys_file.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBndb_print_sys_file\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBNDB_PRINT_SYS_FIL" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBNDB_PRINT_SYS_FIL" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -54,7 +54,7 @@ ndb_\fI#\fR_fs/D\fI#\fR/DBDIH/P\fI#\fR\&.sysfile\&. In each case, the \fI#\fR represents a number (not necessarily the same number)\&. For more information, see -\m[blue]\fBMySQL Cluster Data Node FileSystemDir Files\fR\m[]\&\s-2\u[1]\d\s+2\&. +\m[blue]\fBMySQL Cluster Data Node File System Directory Files\fR\m[]\&\s-2\u[1]\d\s+2\&. .PP Like \fBndb_print_backup_file\fR @@ -80,7 +80,7 @@ .sp .SH "NOTES" .IP " 1." 4 -MySQL Cluster Data Node FileSystemDir Files +MySQL Cluster Data Node File System Directory Files .RS 4 \%http://dev.mysql.com/doc/ndbapi/en/ndb-internals-ndbd-filesystemdir-files.html .RE diff -Nru mysql-5.5-5.5.40/man/ndb_restore.1 mysql-5.5-5.5.41/man/ndb_restore.1 --- mysql-5.5-5.5.40/man/ndb_restore.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/ndb_restore.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBndb_restore\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBNDB_RESTORE\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBNDB_RESTORE\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -1962,7 +1962,7 @@ T{ \fBIntroduced\fR T}:T{ -5\&.5\&.39\-ndb\-7\&.2\&.18 +5\&.5\&.40\-ndb\-7\&.2\&.18 T} T{ \fBCommand\-Line Format\fR diff -Nru mysql-5.5-5.5.40/man/ndb_select_all.1 mysql-5.5-5.5.41/man/ndb_select_all.1 --- mysql-5.5-5.5.40/man/ndb_select_all.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/ndb_select_all.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBndb_select_all\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBNDB_SELECT_ALL\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBNDB_SELECT_ALL\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/ndb_select_count.1 mysql-5.5-5.5.41/man/ndb_select_count.1 --- mysql-5.5-5.5.40/man/ndb_select_count.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/ndb_select_count.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBndb_select_count\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBNDB_SELECT_COUNT\" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBNDB_SELECT_COUNT\" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/ndb_show_tables.1 mysql-5.5-5.5.41/man/ndb_show_tables.1 --- mysql-5.5-5.5.40/man/ndb_show_tables.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/ndb_show_tables.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBndb_show_tables\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBNDB_SHOW_TABLES\F" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBNDB_SHOW_TABLES\F" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/ndb_size.pl.1 mysql-5.5-5.5.41/man/ndb_size.pl.1 --- mysql-5.5-5.5.40/man/ndb_size.pl.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/ndb_size.pl.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBndb_size.pl\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBNDB_SIZE\&.PL\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBNDB_SIZE\&.PL\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/ndb_waiter.1 mysql-5.5-5.5.41/man/ndb_waiter.1 --- mysql-5.5-5.5.40/man/ndb_waiter.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/ndb_waiter.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBndb_waiter\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBNDB_WAITER\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBNDB_WAITER\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/perror.1 mysql-5.5-5.5.41/man/perror.1 --- mysql-5.5-5.5.40/man/perror.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/perror.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBperror\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBPERROR\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBPERROR\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/replace.1 mysql-5.5-5.5.41/man/replace.1 --- mysql-5.5-5.5.40/man/replace.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/replace.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBreplace\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBREPLACE\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBREPLACE\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/resolveip.1 mysql-5.5-5.5.41/man/resolveip.1 --- mysql-5.5-5.5.40/man/resolveip.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/resolveip.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBresolveip\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBRESOLVEIP\FR" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBRESOLVEIP\FR" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/man/resolve_stack_dump.1 mysql-5.5-5.5.41/man/resolve_stack_dump.1 --- mysql-5.5-5.5.40/man/resolve_stack_dump.1 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/man/resolve_stack_dump.1 2014-11-04 07:49:59.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: \fBresolve_stack_dump\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 -.\" Date: 09/06/2014 +.\" Date: 11/04/2014 .\" Manual: MySQL Database System .\" Source: MySQL 5.5 .\" Language: English .\" -.TH "\FBRESOLVE_STACK_DUM" "1" "09/06/2014" "MySQL 5\&.5" "MySQL Database System" +.TH "\FBRESOLVE_STACK_DUM" "1" "11/04/2014" "MySQL 5\&.5" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru mysql-5.5-5.5.40/mysql-test/collections/default.release.done mysql-5.5-5.5.41/mysql-test/collections/default.release.done --- mysql-5.5-5.5.40/mysql-test/collections/default.release.done 2014-09-08 09:53:18.000000000 +0000 +++ mysql-5.5-5.5.41/mysql-test/collections/default.release.done 2014-11-04 07:49:51.000000000 +0000 @@ -1 +1 @@ -/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/mysql-test/collections/default.release.in +/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/mysql-test/collections/default.release.in diff -Nru mysql-5.5-5.5.40/mysql-test/mysql-test-run.pl mysql-5.5-5.5.41/mysql-test/mysql-test-run.pl --- mysql-5.5-5.5.40/mysql-test/mysql-test-run.pl 2014-09-08 09:53:18.000000000 +0000 +++ mysql-5.5-5.5.41/mysql-test/mysql-test-run.pl 2014-11-04 07:49:51.000000000 +0000 @@ -232,6 +232,7 @@ our $opt_client_ddd; my $opt_boot_ddd; our $opt_manual_gdb; +our $opt_manual_lldb; our $opt_manual_dbx; our $opt_manual_ddd; our $opt_manual_debug; @@ -1086,6 +1087,7 @@ 'gdb' => \$opt_gdb, 'client-gdb' => \$opt_client_gdb, 'manual-gdb' => \$opt_manual_gdb, + 'manual-lldb' => \$opt_manual_lldb, 'boot-gdb' => \$opt_boot_gdb, 'manual-debug' => \$opt_manual_debug, 'ddd' => \$opt_ddd, @@ -1536,8 +1538,9 @@ $opt_debugger= undef; } - if ( $opt_gdb || $opt_ddd || $opt_manual_gdb || $opt_manual_ddd || - $opt_manual_debug || $opt_debugger || $opt_dbx || $opt_manual_dbx) + if ( $opt_gdb || $opt_ddd || $opt_manual_gdb || $opt_manual_lldb || + $opt_manual_ddd || $opt_manual_debug || $opt_debugger || $opt_dbx || + $opt_manual_dbx) { mtr_error("You need to use the client debug options for the", "embedded server. Ex: --client-gdb"); @@ -1563,9 +1566,9 @@ # -------------------------------------------------------------------------- # Check debug related options # -------------------------------------------------------------------------- - if ( $opt_gdb || $opt_client_gdb || $opt_ddd || $opt_client_ddd || - $opt_manual_gdb || $opt_manual_ddd || $opt_manual_debug || - $opt_dbx || $opt_client_dbx || $opt_manual_dbx || + if ( $opt_gdb || $opt_client_gdb || $opt_ddd || $opt_client_ddd || + $opt_manual_gdb || $opt_manual_lldb || $opt_manual_ddd || + $opt_manual_debug || $opt_dbx || $opt_client_dbx || $opt_manual_dbx || $opt_debugger || $opt_client_debugger ) { # Indicate that we are using debugger @@ -2458,6 +2461,14 @@ "$path_client_bindir/perror"); $ENV{'MY_PERROR'}= native_path($exe_perror); + # ---------------------------------------------------- + # replace + # ---------------------------------------------------- + my $exe_replace= mtr_exe_exists(vs_config_dirs('extra', 'replace'), + "$basedir/extra/replace", + "$path_client_bindir/replace"); + $ENV{'REPLACE'}= native_path($exe_replace); + # Create an environment variable to make it possible # to detect that valgrind is being used from test cases $ENV{'VALGRIND_TEST'}= $opt_valgrind; @@ -4985,6 +4996,10 @@ { gdb_arguments(\$args, \$exe, $mysqld->name()); } + elsif ( $opt_manual_lldb ) + { + lldb_arguments(\$args, \$exe, $mysqld->name()); + } elsif ( $opt_ddd || $opt_manual_ddd ) { ddd_arguments(\$args, \$exe, $mysqld->name()); @@ -5677,6 +5692,24 @@ return $proc; } +sub create_debug_statement { + my $args= shift; + my $input= shift; + + # Put $args into a single string + my $str= join(" ", @$$args); + my $runline= $input ? "run $str < $input" : "run $str"; + + # add quotes to escape ; in plugin_load option + my $pos1 = index($runline, "--plugin_load="); + if ( $pos1 != -1 ) { + my $pos2 = index($runline, " ",$pos1); + substr($runline,$pos1+14,0) = "\""; + substr($runline,$pos2+1,0) = "\""; + } + + return $runline; +} # # Modify the exe and args so that program is run in gdb in xterm @@ -5692,9 +5725,7 @@ # Remove the old gdbinit file unlink($gdb_init_file); - # Put $args into a single string - my $str= join(" ", @$$args); - my $runline= $input ? "run $str < $input" : "run $str"; + my $runline=create_debug_statement($args,$input); # write init file for mysqld or client mtr_tofile($gdb_init_file, @@ -5730,6 +5761,32 @@ $$exe= "xterm"; } + # +# Modify the exe and args so that program is run in lldb +# +sub lldb_arguments { + my $args= shift; + my $exe= shift; + my $type= shift; + my $input= shift; + + my $lldb_init_file= "$opt_vardir/tmp/lldbinit.$type"; + unlink($lldb_init_file); + + my $runline=create_debug_statement($args,$input); + + # write init file for mysqld or client + mtr_tofile($lldb_init_file, + "b main\n" . + $runline); + + print "\nTo start lldb for $type, type in another window:\n"; + print "cd $glob_mysql_test_dir && lldb -s $lldb_init_file $$exe\n"; + + # Indicate the exe should not be started + $$exe= undef; + return; +} # # Modify the exe and args so that program is run in ddd @@ -5745,9 +5802,7 @@ # Remove the old gdbinit file unlink($gdb_init_file); - # Put $args into a single string - my $str= join(" ", @$$args); - my $runline= $input ? "run $str < $input" : "run $str"; + my $runline=create_debug_statement($args,$input); # write init file for mysqld or client mtr_tofile($gdb_init_file, @@ -6190,6 +6245,8 @@ test(s) manual-dbx Let user manually start mysqld in dbx, before running test(s) + manual-lldb Let user manually start mysqld in lldb, before running + test(s) strace-client Create strace output for mysqltest client, strace-server Create strace output for mysqltest server, max-save-core Limit the number of core files saved (to avoid filling diff -Nru mysql-5.5-5.5.40/mysql-test/r/lock_sync.result mysql-5.5-5.5.41/mysql-test/r/lock_sync.result --- mysql-5.5-5.5.40/mysql-test/r/lock_sync.result 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/mysql-test/r/lock_sync.result 2014-11-04 07:49:51.000000000 +0000 @@ -773,3 +773,54 @@ SET DEBUG_SYNC= 'RESET'; DROP VIEW v1; DROP TABLE t1; +# +# Bug#19070633 - POSSIBLE ACCESS TO FREED MEMORY IN IS_FREE_LOCK() AND IS_USED_LOCK(). +# +# Verifying issue for IS_FREE_LOCK() function. +SELECT GET_LOCK("lock_19070633", 600); +GET_LOCK("lock_19070633", 600) +1 +connect con1, localhost, root,,; +# Waiting after getting user level lock info and releasing mutex. +SET DEBUG_SYNC= 'after_getting_user_level_lock_info SIGNAL parked WAIT_FOR go'; +# Sending: SELECT IS_FREE_LOCK("lock_19070633"); +SELECT IS_FREE_LOCK("lock_19070633"); +connection default; +SET DEBUG_SYNC= 'now WAIT_FOR parked'; +SELECT RELEASE_LOCK("lock_19070633"); +RELEASE_LOCK("lock_19070633") +1 +# Signaling connection con1 after releasing the lock. +# Without fix, accessing user level lock info in con1 would result in +# crash or valgrind issue invalid read is reported. +SET DEBUG_SYNC= 'now SIGNAL go'; +connection con1; +# Reaping: SELECT IS_FREE_LOCK("lock_19070633"); +IS_FREE_LOCK("lock_19070633") +0 +connection default; +# Verifying issue for IS_USED_LOCK() function. +SELECT GET_LOCK("lock_19070633", 600); +GET_LOCK("lock_19070633", 600) +1 +connection con1; +# Waiting after getting user level lock info and releasing mutex. +SET DEBUG_SYNC= 'after_getting_user_level_lock_info SIGNAL parked WAIT_FOR go'; +# Sending: SELECT IS_USED_LOCK("lock_19070633"); +SELECT IS_USED_LOCK("lock_19070633"); +connection default; +SET DEBUG_SYNC= 'now WAIT_FOR parked'; +SELECT RELEASE_LOCK("lock_19070633"); +RELEASE_LOCK("lock_19070633") +1 +# Signaling connection con1 after releasing the lock. +# Without fix, accessing user level lock info in con1 would result in +# crash or valgrind issue invalid read is reported. +SET DEBUG_SYNC= 'now SIGNAL go'; +connection con1; +# Reaping: SELECT IS_USED_LOCK("lock_19070633"); +IS_USED_LOCK("lock_19070633") +# +connection default; +SET DEBUG_SYNC= 'RESET'; +disconnect con1; diff -Nru mysql-5.5-5.5.40/mysql-test/r/windows.result mysql-5.5-5.5.41/mysql-test/r/windows.result --- mysql-5.5-5.5.40/mysql-test/r/windows.result 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/mysql-test/r/windows.result 2014-11-04 07:49:51.000000000 +0000 @@ -60,3 +60,8 @@ WHERE VARIABLE_NAME = 'socket'; VARIABLE_NAME SOCKET +# +# Bug#16581605: REPLACE.EXE UTILITY IS BROKEN IN 5.5 +# +xyz +def diff -Nru mysql-5.5-5.5.40/mysql-test/suite/binlog/r/binlog_switch_inside_trans.result mysql-5.5-5.5.41/mysql-test/suite/binlog/r/binlog_switch_inside_trans.result --- mysql-5.5-5.5.40/mysql-test/suite/binlog/r/binlog_switch_inside_trans.result 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/mysql-test/suite/binlog/r/binlog_switch_inside_trans.result 2014-11-04 07:49:50.000000000 +0000 @@ -1,6 +1,5 @@ set @save_binlog_format= @@global.binlog_format; set @save_binlog_dirct= @@global.binlog_direct_non_transactional_updates; -set @save_sql_log_bin= @@global.sql_log_bin; create table t1 (a int) engine= myisam; create table t2 (a int) engine= innodb; SELECT @@session.binlog_format; @@ -129,7 +128,7 @@ begin; insert into t2 values (5); # Test that the global variable 'binlog_format' and -# 'binlog_direct_non_transactional_updates' and 'sql_log_bin' are +# 'binlog_direct_non_transactional_updates' are # writable inside a transaction. # Current session values are ROW, FALSE, TRUE respectively. SELECT @@global.binlog_format; @@ -137,20 +136,15 @@ ROW set @@global.binlog_format= statement; set @@global.binlog_direct_non_transactional_updates= TRUE; -set @@global.sql_log_bin= FALSE; SELECT @@global.binlog_format; @@global.binlog_format STATEMENT SELECT @@global.binlog_direct_non_transactional_updates; @@global.binlog_direct_non_transactional_updates 1 -SELECT @@global.sql_log_bin; -@@global.sql_log_bin -0 commit; set @@global.binlog_format= @save_binlog_format; set @@global.binlog_direct_non_transactional_updates= @save_binlog_dirct; -set @@global.sql_log_bin= @save_sql_log_bin; create table t3(a int, b int) engine= innodb; create table t4(a int) engine= innodb; create table t5(a int) engine= innodb; diff -Nru mysql-5.5-5.5.40/mysql-test/suite/binlog/t/binlog_grant.test mysql-5.5-5.5.41/mysql-test/suite/binlog/t/binlog_grant.test --- mysql-5.5-5.5.40/mysql-test/suite/binlog/t/binlog_grant.test 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/mysql-test/suite/binlog/t/binlog_grant.test 2014-11-04 07:49:50.000000000 +0000 @@ -15,7 +15,7 @@ connect (plain,localhost,mysqltest_1,,test); connect (root,localhost,root,,test); -# Testing setting both session and global SQL_LOG_BIN variable both as +# Testing setting session SQL_LOG_BIN variable both as # root and as plain user. --echo **** Variable SQL_LOG_BIN **** diff -Nru mysql-5.5-5.5.40/mysql-test/suite/binlog/t/binlog_switch_inside_trans.test mysql-5.5-5.5.41/mysql-test/suite/binlog/t/binlog_switch_inside_trans.test --- mysql-5.5-5.5.40/mysql-test/suite/binlog/t/binlog_switch_inside_trans.test 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/mysql-test/suite/binlog/t/binlog_switch_inside_trans.test 2014-11-04 07:49:50.000000000 +0000 @@ -10,7 +10,6 @@ set @save_binlog_format= @@global.binlog_format; set @save_binlog_dirct= @@global.binlog_direct_non_transactional_updates; -set @save_sql_log_bin= @@global.sql_log_bin; create table t1 (a int) engine= myisam; create table t2 (a int) engine= innodb; @@ -117,21 +116,18 @@ begin; insert into t2 values (5); --echo # Test that the global variable 'binlog_format' and ---echo # 'binlog_direct_non_transactional_updates' and 'sql_log_bin' are +--echo # 'binlog_direct_non_transactional_updates' are --echo # writable inside a transaction. --echo # Current session values are ROW, FALSE, TRUE respectively. SELECT @@global.binlog_format; set @@global.binlog_format= statement; set @@global.binlog_direct_non_transactional_updates= TRUE; - set @@global.sql_log_bin= FALSE; SELECT @@global.binlog_format; SELECT @@global.binlog_direct_non_transactional_updates; - SELECT @@global.sql_log_bin; commit; set @@global.binlog_format= @save_binlog_format; set @@global.binlog_direct_non_transactional_updates= @save_binlog_dirct; -set @@global.sql_log_bin= @save_sql_log_bin; create table t3(a int, b int) engine= innodb; create table t4(a int) engine= innodb; diff -Nru mysql-5.5-5.5.40/mysql-test/suite/innodb/r/foreign-keys.result mysql-5.5-5.5.41/mysql-test/suite/innodb/r/foreign-keys.result --- mysql-5.5-5.5.40/mysql-test/suite/innodb/r/foreign-keys.result 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/mysql-test/suite/innodb/r/foreign-keys.result 2014-11-04 07:49:50.000000000 +0000 @@ -5,8 +5,8 @@ CREATE TABLE `department` (`department_id` INT, `department_people_fk` INT, PRIMARY KEY (`department_id`)) engine=innodb; CREATE TABLE `title` (`title_id` INT, `title_manager_fk` INT, -`title_reporter_fk` INT, PRIMARY KEY (`title_id`)); -CREATE TABLE `people` (`people_id` INT, PRIMARY KEY (`people_id`)); +`title_reporter_fk` INT, PRIMARY KEY (`title_id`)) engine=innodb; +CREATE TABLE `people` (`people_id` INT, PRIMARY KEY (`people_id`)) engine=innodb; ALTER TABLE `department` ADD FOREIGN KEY (`department_people_fk`) REFERENCES `people` (`people_id`); ALTER TABLE `title` ADD FOREIGN KEY (`title_manager_fk`) REFERENCES `people` diff -Nru mysql-5.5-5.5.40/mysql-test/suite/innodb/r/foreign-keys.result.moved mysql-5.5-5.5.41/mysql-test/suite/innodb/r/foreign-keys.result.moved --- mysql-5.5-5.5.40/mysql-test/suite/innodb/r/foreign-keys.result.moved 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.5-5.5.41/mysql-test/suite/innodb/r/foreign-keys.result.moved 2014-11-04 07:49:50.000000000 +0000 @@ -0,0 +1,16 @@ +# +# Bug #19471516 SERVER CRASHES WHEN EXECUTING ALTER TABLE +# ADD FOREIGN KEY +# +CREATE TABLE `department` (`department_id` INT, `department_people_fk` INT, +PRIMARY KEY (`department_id`)) engine=innodb; +CREATE TABLE `title` (`title_id` INT, `title_manager_fk` INT, +`title_reporter_fk` INT, PRIMARY KEY (`title_id`)); +CREATE TABLE `people` (`people_id` INT, PRIMARY KEY (`people_id`)); +ALTER TABLE `department` ADD FOREIGN KEY (`department_people_fk`) REFERENCES +`people` (`people_id`); +ALTER TABLE `title` ADD FOREIGN KEY (`title_manager_fk`) REFERENCES `people` +(`people_id`); +ALTER TABLE `title` ADD FOREIGN KEY (`title_reporter_fk`) REFERENCES `people` +(`people_id`); +drop table title, department, people; diff -Nru mysql-5.5-5.5.40/mysql-test/suite/innodb/r/innodb_corrupt_bit.result mysql-5.5-5.5.41/mysql-test/suite/innodb/r/innodb_corrupt_bit.result --- mysql-5.5-5.5.40/mysql-test/suite/innodb/r/innodb_corrupt_bit.result 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/mysql-test/suite/innodb/r/innodb_corrupt_bit.result 2014-11-04 07:49:50.000000000 +0000 @@ -78,4 +78,5 @@ 31 32 drop table corrupt_bit_test_ā; +DROP DATABASE pad; SET GLOBAL innodb_change_buffering_debug = 0; diff -Nru mysql-5.5-5.5.40/mysql-test/suite/innodb/r/insert_debug.result mysql-5.5-5.5.41/mysql-test/suite/innodb/r/insert_debug.result --- mysql-5.5-5.5.40/mysql-test/suite/innodb/r/insert_debug.result 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.5-5.5.41/mysql-test/suite/innodb/r/insert_debug.result 2014-11-04 07:49:50.000000000 +0000 @@ -0,0 +1,11 @@ +# +# Bug#19904003 INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG=1 +# CAUSES INFINITE PAGE SPLIT +# +SET GLOBAL innodb_change_buffering_debug=1; +SET GLOBAL innodb_limit_optimistic_insert_debug=1; +CREATE TABLE t1(c1 INT PRIMARY KEY) ENGINE=InnoDB +PARTITION BY HASH (c1) PARTITIONS 15; +DROP TABLE t1; +SET GLOBAL innodb_change_buffering_debug=0; +SET GLOBAL innodb_limit_optimistic_insert_debug=0; diff -Nru mysql-5.5-5.5.40/mysql-test/suite/innodb/r/sp_temp_table.result mysql-5.5-5.5.41/mysql-test/suite/innodb/r/sp_temp_table.result --- mysql-5.5-5.5.40/mysql-test/suite/innodb/r/sp_temp_table.result 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.5-5.5.41/mysql-test/suite/innodb/r/sp_temp_table.result 2014-11-04 07:49:50.000000000 +0000 @@ -0,0 +1,253 @@ +# +# Bug #19306524 FAILING ASSERTION WITH TEMP TABLE FOR A PROCEDURE +# CALLED FROM A FUNCTION +# +call mtr.add_suppression("MySQL is trying to drop table"); +CREATE PROCEDURE cachedata( +IN obj_id BIGINT UNSIGNED, +IN start DATETIME, +IN end DATETIME +) +cachedata:BEGIN +DECLARE cache_count BIGINT; +SET @timestamp := NOW(); +CREATE TEMPORARY TABLE IF NOT EXISTS cachedata ( +timestamp DATETIME, +object_id BIGINT UNSIGNED NOT NULL, +start DATETIME, +end DATETIME, +seqno BIGINT AUTO_INCREMENT, +value FLOAT, +PRIMARY KEY (seqno), +INDEX (timestamp), +INDEX (object_id, start, end) +) ENGINE=INNODB; +DELETE FROM cachedata WHERE +timestamp < DATE_SUB(@timestamp, INTERVAL 15 SECOND); +SELECT count(*) INTO cache_count FROM cachedata WHERE +object_id = obj_id +AND start = start +AND end = end; +IF cache_count > 0 THEN LEAVE cachedata; +END IF; +INSERT INTO cachedata (timestamp, object_id, start, end, value) VALUES +(@timestamp, obj_id, start, end, 1234), +(@timestamp, obj_id, start, end, 4567), +(@timestamp, obj_id, start, end, 8901), +(@timestamp, obj_id, start, end, 1234), +(@timestamp, obj_id, start, end, 4567), +(@timestamp, obj_id, start, end, 8901), +(@timestamp, obj_id, start, end, 1234), +(@timestamp, obj_id, start, end, 4567), +(@timestamp, obj_id, start, end, 8901), +(@timestamp, obj_id, start, end, 1234), +(@timestamp, obj_id, start, end, 4567), +(@timestamp, obj_id, start, end, 8901), +(@timestamp, obj_id, start, end, 2345), +(@timestamp, obj_id, start, end, 1234), +(@timestamp, obj_id, start, end, 4567), +(@timestamp, obj_id, start, end, 8901), +(@timestamp, obj_id, start, end, 2345), +(@timestamp, obj_id, start, end, 1234), +(@timestamp, obj_id, start, end, 4567), +(@timestamp, obj_id, start, end, 8901), +(@timestamp, obj_id, start, end, 2345); +END$$ +CREATE FUNCTION get_cache( +obj_id BIGINT UNSIGNED, +start DATETIME, +end DATETIME +) +RETURNS FLOAT +READS SQL DATA +BEGIN +DECLARE result FLOAT; +CALL cachedata(obj_id, start, end); +SELECT SUM(value) INTO result FROM cachedata WHERE +object_id = obj_id +AND start = start +AND end = end; +RETURN result; +END$$ +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +SELECT get_cache(1, '2014-01-01', '2014-02-01'); +get_cache(1, '2014-01-01', '2014-02-01') +95247 +select sleep(1); +sleep(1) +0 +DROP FUNCTION get_cache; +DROP PROCEDURE cachedata; diff -Nru mysql-5.5-5.5.40/mysql-test/suite/innodb/r/strict_mode.result mysql-5.5-5.5.41/mysql-test/suite/innodb/r/strict_mode.result --- mysql-5.5-5.5.40/mysql-test/suite/innodb/r/strict_mode.result 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.5-5.5.41/mysql-test/suite/innodb/r/strict_mode.result 2014-11-04 07:49:50.000000000 +0000 @@ -0,0 +1,242 @@ +# +# Bug #17852083 PRINT A WARNING WHEN DDL HAS AN ERROR IN +# INNODB_STRICT_MODE = 1 +# +set innodb_strict_mode = 0; +create table t1 (id int auto_increment primary key, +v varchar(32), +col1 text, +col2 text, +col3 text, +col4 text, +col5 text, +col6 text, +col7 text, +col8 text, +col9 text, +col10 text, +col11 text, +col12 text, +col13 text, +col14 text, +col15 text, +col16 text, +col17 text, +col18 text, +col19 text, +col20 text, +col21 text, +col22 text, +col23 text, +col24 text, +col25 text, +col26 text, +col27 text, +col28 text, +col29 text, +col30 text, +col31 text, +col32 text, +col33 text, +col34 text, +col35 text, +col36 text, +col37 text, +col38 text, +col39 text, +col40 text, +col41 text, +col42 text, +col43 text, +col44 text, +col45 text , +col46 text, +col47 text, +col48 text, +col49 text, +col50 text, +col51 text, +col52 text, +col53 text, +col54 text, +col55 text, +col56 text, +col57 text, +col58 text, +col59 text, +col60 text, +col61 text, +col62 text, +col63 text, +col64 text, +col65 text, +col66 text, +col67 text, +col68 text , +col69 text, +col70 text, +col71 text, +col72 text, +col73 text, +col74 text, +col75 text, +col76 text, +col77 text, +col78 text, +col79 text, +col80 text, +col81 text, +col82 text, +col83 text, +col84 text, +col85 text, +col86 text, +col87 text, +col88 text, +col89 text, +col90 text, +col91 text, +col92 text, +col93 text, +col94 text, +col95 text, +col96 text, +col97 text, +col98 text, +col99 text, +col100 text, +col101 text, +col102 text, +col103 text, +col104 text, +col105 text, +col106 text, +col107 text, +col108 text, +col109 text, +col110 text, +col111 text, +col112 text, +col113 text, +col114 text, +col115 text, +col116 text, +col117 text, +col118 text, +col119 text, +col120 text, +col121 text, +col122 text, +col123 text, +col124 text, +col125 text, +col126 text , +col127 text, +col128 text, +col129 text, +col130 text, +col131 text, +col132 text, +col133 text, +col134 text, +col135 text, +col136 text, +col137 text, +col138 text, +col139 text, +col140 text, +col141 text, +col142 text, +col143 text, +col144 text, +col145 text, +col146 text, +col147 text , +col148 text, +col149 text, +col150 text, +col151 text, +col152 text, +col153 text, +col154 text, +col155 text, +col156 text, +col157 text, +col158 text, +col159 text, +col160 text, +col161 text, +col162 text, +col163 text, +col164 text, +col165 text, +col166 text, +col167 text, +col168 text, +col169 text, +col170 text, +col171 text, +col172 text , +col173 text, +col174 text, +col175 text, +col176 text, +col177 text, +col178 text, +col179 text, +col180 text, +col181 text, +col182 text, +col183 text, +col184 text, +col185 text, +col186 text, +col187 text, +col188 text, +col189 text, +col190 text, +col191 text, +col192 text, +col193 text, +col194 text, +col195 text, +col196 text, +col197 text, +col198 text, +col199 text, +col200 text, +col201 text, +col202 text, +col203 text, +col204 text, +col205 text, +col206 text, +col207 text, +col208 text, +col209 text, +col210 text, +col211 text, +col212 text, +col213 text, +col214 text, +col215 text, +col216 text, +col217 text, +col218 text, +col219 text, +col220 text, +col221 text, +col222 text, +col223 text, +col224 text, +col225 text, +col226 text, +col227 text, +col228 text +) ENGINE=InnoDB; +Warnings: +Warning 139 Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline. +set innodb_strict_mode = 1; +alter table t1 engine=InnoDB; +ERROR 42000: Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline. +drop table t1; diff -Nru mysql-5.5-5.5.40/mysql-test/suite/innodb/t/foreign-keys.test mysql-5.5-5.5.41/mysql-test/suite/innodb/t/foreign-keys.test --- mysql-5.5-5.5.40/mysql-test/suite/innodb/t/foreign-keys.test 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/mysql-test/suite/innodb/t/foreign-keys.test 2014-11-04 07:49:50.000000000 +0000 @@ -10,9 +10,9 @@ PRIMARY KEY (`department_id`)) engine=innodb; CREATE TABLE `title` (`title_id` INT, `title_manager_fk` INT, -`title_reporter_fk` INT, PRIMARY KEY (`title_id`)); +`title_reporter_fk` INT, PRIMARY KEY (`title_id`)) engine=innodb; -CREATE TABLE `people` (`people_id` INT, PRIMARY KEY (`people_id`)); +CREATE TABLE `people` (`people_id` INT, PRIMARY KEY (`people_id`)) engine=innodb; ALTER TABLE `department` ADD FOREIGN KEY (`department_people_fk`) REFERENCES `people` (`people_id`); diff -Nru mysql-5.5-5.5.40/mysql-test/suite/innodb/t/foreign-keys.test.moved mysql-5.5-5.5.41/mysql-test/suite/innodb/t/foreign-keys.test.moved --- mysql-5.5-5.5.40/mysql-test/suite/innodb/t/foreign-keys.test.moved 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.5-5.5.41/mysql-test/suite/innodb/t/foreign-keys.test.moved 2014-11-04 07:49:50.000000000 +0000 @@ -0,0 +1,26 @@ +--source include/have_innodb.inc +--source include/have_debug.inc + +--echo # +--echo # Bug #19471516 SERVER CRASHES WHEN EXECUTING ALTER TABLE +--echo # ADD FOREIGN KEY +--echo # + +CREATE TABLE `department` (`department_id` INT, `department_people_fk` INT, +PRIMARY KEY (`department_id`)) engine=innodb; + +CREATE TABLE `title` (`title_id` INT, `title_manager_fk` INT, +`title_reporter_fk` INT, PRIMARY KEY (`title_id`)); + +CREATE TABLE `people` (`people_id` INT, PRIMARY KEY (`people_id`)); + +ALTER TABLE `department` ADD FOREIGN KEY (`department_people_fk`) REFERENCES +`people` (`people_id`); + +ALTER TABLE `title` ADD FOREIGN KEY (`title_manager_fk`) REFERENCES `people` +(`people_id`); + +ALTER TABLE `title` ADD FOREIGN KEY (`title_reporter_fk`) REFERENCES `people` +(`people_id`); + +drop table title, department, people; diff -Nru mysql-5.5-5.5.40/mysql-test/suite/innodb/t/innodb_corrupt_bit.test mysql-5.5-5.5.41/mysql-test/suite/innodb/t/innodb_corrupt_bit.test --- mysql-5.5-5.5.40/mysql-test/suite/innodb/t/innodb_corrupt_bit.test 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/mysql-test/suite/innodb/t/innodb_corrupt_bit.test 2014-11-04 07:49:50.000000000 +0000 @@ -16,14 +16,20 @@ # It instructs InnoDB to try to evict pages from the buffer pool when # change buffering is possible, so that the change buffer will be used # whenever possible. --- error 0,ER_UNKNOWN_SYSTEM_VARIABLE SET @innodb_change_buffering_debug_orig = @@innodb_change_buffering_debug; --- error 0,ER_UNKNOWN_SYSTEM_VARIABLE SET GLOBAL innodb_change_buffering_debug = 1; # Turn off Unique Check to create corrupted index with dup key SET UNIQUE_CHECKS=0; +CREATE DATABASE pad; +let $i=345; +while ($i) +{ + --eval CREATE TABLE pad.t$i (a INT PRIMARY KEY) ENGINE=InnoDB; + dec $i; +} + -- enable_query_log set names utf8; @@ -119,6 +125,6 @@ # Drop table drop table corrupt_bit_test_ā; +DROP DATABASE pad; --- error 0, ER_UNKNOWN_SYSTEM_VARIABLE SET GLOBAL innodb_change_buffering_debug = 0; diff -Nru mysql-5.5-5.5.40/mysql-test/suite/innodb/t/insert_debug.test mysql-5.5-5.5.41/mysql-test/suite/innodb/t/insert_debug.test --- mysql-5.5-5.5.40/mysql-test/suite/innodb/t/insert_debug.test 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.5-5.5.41/mysql-test/suite/innodb/t/insert_debug.test 2014-11-04 07:49:50.000000000 +0000 @@ -0,0 +1,16 @@ +--source include/have_innodb.inc +--source include/have_debug.inc + +--echo # +--echo # Bug#19904003 INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG=1 +--echo # CAUSES INFINITE PAGE SPLIT +--echo # + +SET GLOBAL innodb_change_buffering_debug=1; +SET GLOBAL innodb_limit_optimistic_insert_debug=1; +CREATE TABLE t1(c1 INT PRIMARY KEY) ENGINE=InnoDB +PARTITION BY HASH (c1) PARTITIONS 15; +DROP TABLE t1; + +SET GLOBAL innodb_change_buffering_debug=0; +SET GLOBAL innodb_limit_optimistic_insert_debug=0; diff -Nru mysql-5.5-5.5.40/mysql-test/suite/innodb/t/sp_temp_table.test mysql-5.5-5.5.41/mysql-test/suite/innodb/t/sp_temp_table.test --- mysql-5.5-5.5.40/mysql-test/suite/innodb/t/sp_temp_table.test 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.5-5.5.41/mysql-test/suite/innodb/t/sp_temp_table.test 2014-11-04 07:49:50.000000000 +0000 @@ -0,0 +1,103 @@ +--source include/have_innodb.inc +--source include/big_test.inc + +--echo # +--echo # Bug #19306524 FAILING ASSERTION WITH TEMP TABLE FOR A PROCEDURE +--echo # CALLED FROM A FUNCTION +--echo # + +call mtr.add_suppression("MySQL is trying to drop table"); + +DELIMITER $$; +CREATE PROCEDURE cachedata( + IN obj_id BIGINT UNSIGNED, + IN start DATETIME, + IN end DATETIME +) + +cachedata:BEGIN + DECLARE cache_count BIGINT; + + SET @timestamp := NOW(); + + CREATE TEMPORARY TABLE IF NOT EXISTS cachedata ( + timestamp DATETIME, + object_id BIGINT UNSIGNED NOT NULL, + start DATETIME, + end DATETIME, + seqno BIGINT AUTO_INCREMENT, + value FLOAT, + PRIMARY KEY (seqno), + INDEX (timestamp), + INDEX (object_id, start, end) + ) ENGINE=INNODB; + + DELETE FROM cachedata WHERE + timestamp < DATE_SUB(@timestamp, INTERVAL 15 SECOND); + + SELECT count(*) INTO cache_count FROM cachedata WHERE + object_id = obj_id + AND start = start + AND end = end; + + IF cache_count > 0 THEN LEAVE cachedata; + END IF; + + INSERT INTO cachedata (timestamp, object_id, start, end, value) VALUES + (@timestamp, obj_id, start, end, 1234), + (@timestamp, obj_id, start, end, 4567), + (@timestamp, obj_id, start, end, 8901), + (@timestamp, obj_id, start, end, 1234), + (@timestamp, obj_id, start, end, 4567), + (@timestamp, obj_id, start, end, 8901), + (@timestamp, obj_id, start, end, 1234), + (@timestamp, obj_id, start, end, 4567), + (@timestamp, obj_id, start, end, 8901), + (@timestamp, obj_id, start, end, 1234), + (@timestamp, obj_id, start, end, 4567), + (@timestamp, obj_id, start, end, 8901), + (@timestamp, obj_id, start, end, 2345), + (@timestamp, obj_id, start, end, 1234), + (@timestamp, obj_id, start, end, 4567), + (@timestamp, obj_id, start, end, 8901), + (@timestamp, obj_id, start, end, 2345), + (@timestamp, obj_id, start, end, 1234), + (@timestamp, obj_id, start, end, 4567), + (@timestamp, obj_id, start, end, 8901), + (@timestamp, obj_id, start, end, 2345); + +END$$ + + +CREATE FUNCTION get_cache( + obj_id BIGINT UNSIGNED, + start DATETIME, + end DATETIME +) + RETURNS FLOAT + READS SQL DATA +BEGIN + DECLARE result FLOAT; + + CALL cachedata(obj_id, start, end); + + SELECT SUM(value) INTO result FROM cachedata WHERE + object_id = obj_id + AND start = start + AND end = end; + + RETURN result; +END$$ + +DELIMITER ;$$ + +let $i = 30; +while ($i) +{ + SELECT get_cache(1, '2014-01-01', '2014-02-01'); + select sleep(1); + dec $i; +} + +DROP FUNCTION get_cache; +DROP PROCEDURE cachedata; diff -Nru mysql-5.5-5.5.40/mysql-test/suite/innodb/t/strict_mode.test mysql-5.5-5.5.41/mysql-test/suite/innodb/t/strict_mode.test --- mysql-5.5-5.5.40/mysql-test/suite/innodb/t/strict_mode.test 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.5-5.5.41/mysql-test/suite/innodb/t/strict_mode.test 2014-11-04 07:49:50.000000000 +0000 @@ -0,0 +1,246 @@ +--source include/have_innodb.inc + +--echo # +--echo # Bug #17852083 PRINT A WARNING WHEN DDL HAS AN ERROR IN +--echo # INNODB_STRICT_MODE = 1 +--echo # + +set innodb_strict_mode = 0; + +create table t1 (id int auto_increment primary key, +v varchar(32), +col1 text, +col2 text, +col3 text, +col4 text, +col5 text, +col6 text, +col7 text, +col8 text, +col9 text, +col10 text, +col11 text, +col12 text, +col13 text, +col14 text, +col15 text, +col16 text, +col17 text, +col18 text, +col19 text, +col20 text, +col21 text, +col22 text, +col23 text, +col24 text, +col25 text, +col26 text, +col27 text, +col28 text, +col29 text, +col30 text, +col31 text, +col32 text, +col33 text, +col34 text, +col35 text, +col36 text, +col37 text, +col38 text, +col39 text, +col40 text, +col41 text, +col42 text, +col43 text, +col44 text, +col45 text , +col46 text, +col47 text, +col48 text, +col49 text, +col50 text, +col51 text, +col52 text, +col53 text, +col54 text, +col55 text, +col56 text, +col57 text, +col58 text, +col59 text, +col60 text, +col61 text, +col62 text, +col63 text, +col64 text, +col65 text, +col66 text, +col67 text, +col68 text , +col69 text, +col70 text, +col71 text, +col72 text, +col73 text, +col74 text, +col75 text, +col76 text, +col77 text, +col78 text, +col79 text, +col80 text, +col81 text, +col82 text, +col83 text, +col84 text, +col85 text, +col86 text, +col87 text, +col88 text, +col89 text, +col90 text, +col91 text, +col92 text, +col93 text, +col94 text, +col95 text, +col96 text, +col97 text, +col98 text, +col99 text, +col100 text, +col101 text, +col102 text, +col103 text, +col104 text, +col105 text, +col106 text, +col107 text, +col108 text, +col109 text, +col110 text, +col111 text, +col112 text, +col113 text, +col114 text, +col115 text, +col116 text, +col117 text, +col118 text, +col119 text, +col120 text, +col121 text, +col122 text, +col123 text, +col124 text, +col125 text, +col126 text , +col127 text, +col128 text, +col129 text, +col130 text, +col131 text, +col132 text, +col133 text, +col134 text, +col135 text, +col136 text, +col137 text, +col138 text, +col139 text, +col140 text, +col141 text, +col142 text, +col143 text, +col144 text, +col145 text, +col146 text, +col147 text , +col148 text, +col149 text, +col150 text, +col151 text, +col152 text, +col153 text, +col154 text, +col155 text, +col156 text, +col157 text, +col158 text, +col159 text, +col160 text, +col161 text, +col162 text, +col163 text, +col164 text, +col165 text, +col166 text, +col167 text, +col168 text, +col169 text, +col170 text, +col171 text, +col172 text , +col173 text, +col174 text, +col175 text, +col176 text, +col177 text, +col178 text, +col179 text, +col180 text, +col181 text, +col182 text, +col183 text, +col184 text, +col185 text, +col186 text, +col187 text, +col188 text, +col189 text, +col190 text, +col191 text, +col192 text, +col193 text, +col194 text, +col195 text, +col196 text, +col197 text, +col198 text, +col199 text, +col200 text, +col201 text, +col202 text, +col203 text, +col204 text, +col205 text, +col206 text, +col207 text, +col208 text, +col209 text, +col210 text, +col211 text, +col212 text, +col213 text, +col214 text, +col215 text, +col216 text, +col217 text, +col218 text, +col219 text, +col220 text, +col221 text, +col222 text, +col223 text, +col224 text, +col225 text, +col226 text, +col227 text, +col228 text +) ENGINE=InnoDB; + +set innodb_strict_mode = 1; +--error ER_TOO_BIG_ROWSIZE +alter table t1 engine=InnoDB; + +drop table t1; diff -Nru mysql-5.5-5.5.40/mysql-test/suite/sys_vars/r/sql_log_bin_basic.result mysql-5.5-5.5.41/mysql-test/suite/sys_vars/r/sql_log_bin_basic.result --- mysql-5.5-5.5.40/mysql-test/suite/sys_vars/r/sql_log_bin_basic.result 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/mysql-test/suite/sys_vars/r/sql_log_bin_basic.result 2014-11-04 07:49:51.000000000 +0000 @@ -57,11 +57,16 @@ SET @@session.sql_log_bin = NO; ERROR 42000: Variable 'sql_log_bin' can't be set to the value of 'NO' '#-------------------FN_DYNVARS_156_05----------------------------#' +SELECT @@global.sql_log_bin; +@@global.sql_log_bin +1 SET @@global.sql_log_bin = 0; +ERROR 42000: Variable 'sql_log_bin' can't be set to the value of '0' SELECT @@global.sql_log_bin; @@global.sql_log_bin -0 +1 SET @@global.sql_log_bin = 1; +ERROR 42000: Variable 'sql_log_bin' can't be set to the value of '1' '#----------------------FN_DYNVARS_156_06------------------------#' SELECT count(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='sql_log_bin'; count(VARIABLE_VALUE) diff -Nru mysql-5.5-5.5.40/mysql-test/suite/sys_vars/t/sql_log_bin_basic.test mysql-5.5-5.5.41/mysql-test/suite/sys_vars/t/sql_log_bin_basic.test --- mysql-5.5-5.5.40/mysql-test/suite/sys_vars/t/sql_log_bin_basic.test 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/mysql-test/suite/sys_vars/t/sql_log_bin_basic.test 2014-11-04 07:49:50.000000000 +0000 @@ -109,11 +109,15 @@ --echo '#-------------------FN_DYNVARS_156_05----------------------------#' ########################################################################### -# Test if accessing global sql_log_bin gives error # +# Test if setting global sql_log_bin gives error, # +# and there is no error on reading it. # ########################################################################### +SELECT @@global.sql_log_bin; +--Error ER_WRONG_VALUE_FOR_VAR SET @@global.sql_log_bin = 0; SELECT @@global.sql_log_bin; +--Error ER_WRONG_VALUE_FOR_VAR SET @@global.sql_log_bin = 1; --echo '#----------------------FN_DYNVARS_156_06------------------------#' diff -Nru mysql-5.5-5.5.40/mysql-test/t/lock_sync.test mysql-5.5-5.5.41/mysql-test/t/lock_sync.test --- mysql-5.5-5.5.40/mysql-test/t/lock_sync.test 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/mysql-test/t/lock_sync.test 2014-11-04 07:49:51.000000000 +0000 @@ -1136,6 +1136,61 @@ disconnect con1; disconnect con2; +--echo # +--echo # Bug#19070633 - POSSIBLE ACCESS TO FREED MEMORY IN IS_FREE_LOCK() AND IS_USED_LOCK(). +--echo # + +--enable_connect_log + +--echo # Verifying issue for IS_FREE_LOCK() function. +SELECT GET_LOCK("lock_19070633", 600); + +connect (con1, localhost, root,,); +--echo # Waiting after getting user level lock info and releasing mutex. +SET DEBUG_SYNC= 'after_getting_user_level_lock_info SIGNAL parked WAIT_FOR go'; +--echo # Sending: SELECT IS_FREE_LOCK("lock_19070633"); +send SELECT IS_FREE_LOCK("lock_19070633"); + +connection default; +SET DEBUG_SYNC= 'now WAIT_FOR parked'; +SELECT RELEASE_LOCK("lock_19070633"); +--echo # Signaling connection con1 after releasing the lock. +--echo # Without fix, accessing user level lock info in con1 would result in +--echo # crash or valgrind issue invalid read is reported. +SET DEBUG_SYNC= 'now SIGNAL go'; + +connection con1; +--echo # Reaping: SELECT IS_FREE_LOCK("lock_19070633"); +--reap + +connection default; +--echo # Verifying issue for IS_USED_LOCK() function. +SELECT GET_LOCK("lock_19070633", 600); + +connection con1; +--echo # Waiting after getting user level lock info and releasing mutex. +SET DEBUG_SYNC= 'after_getting_user_level_lock_info SIGNAL parked WAIT_FOR go'; +--echo # Sending: SELECT IS_USED_LOCK("lock_19070633"); +send SELECT IS_USED_LOCK("lock_19070633"); + +connection default; +SET DEBUG_SYNC= 'now WAIT_FOR parked'; +SELECT RELEASE_LOCK("lock_19070633"); +--echo # Signaling connection con1 after releasing the lock. +--echo # Without fix, accessing user level lock info in con1 would result in +--echo # crash or valgrind issue invalid read is reported. +SET DEBUG_SYNC= 'now SIGNAL go'; + +connection con1; +--echo # Reaping: SELECT IS_USED_LOCK("lock_19070633"); +--replace_column 1 # +--reap + +connection default; +SET DEBUG_SYNC= 'RESET'; +disconnect con1; + +--disable_connect_log # 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. diff -Nru mysql-5.5-5.5.40/mysql-test/t/windows.test mysql-5.5-5.5.41/mysql-test/t/windows.test --- mysql-5.5-5.5.40/mysql-test/t/windows.test 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/mysql-test/t/windows.test 2014-11-04 07:49:51.000000000 +0000 @@ -98,3 +98,19 @@ SELECT VARIABLE_NAME FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME = 'socket'; + +--echo # +--echo # Bug#16581605: REPLACE.EXE UTILITY IS BROKEN IN 5.5 +--echo # + +# Creating a temporary text file. +--write_file $MYSQL_TMP_DIR/bug16581605.txt +abc +def +EOF + +#REPLACE.EXE UTILITY will work fine after the fix. +--exec $REPLACE abc xyz < $MYSQL_TMP_DIR/bug16581605.txt + +#Cleanup +remove_file $MYSQL_TMP_DIR/bug16581605.txt; diff -Nru mysql-5.5-5.5.40/mysys/my_wincond.c mysql-5.5-5.5.41/mysys/my_wincond.c --- mysql-5.5-5.5.40/mysys/my_wincond.c 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/mysys/my_wincond.c 2014-11-04 07:49:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. 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 @@ -344,26 +344,4 @@ return 0; } -/**************************************************************************** -** Fix localtime_r() to be a bit safer -****************************************************************************/ - -struct tm *localtime_r(const time_t *timep,struct tm *tmp) -{ - if (*timep == (time_t) -1) /* This will crash win32 */ - { - bzero(tmp,sizeof(*tmp)); - } - else - { - struct tm *res=localtime(timep); - if (!res) /* Wrong date */ - { - bzero(tmp,sizeof(*tmp)); /* Keep things safe */ - return 0; - } - *tmp= *res; - } - return tmp; -} #endif /* __WIN__ */ diff -Nru mysql-5.5-5.5.40/packaging/rpm-oel/mysql.init mysql-5.5-5.5.41/packaging/rpm-oel/mysql.init --- mysql-5.5-5.5.40/packaging/rpm-oel/mysql.init 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/packaging/rpm-oel/mysql.init 2014-11-04 07:49:52.000000000 +0000 @@ -50,11 +50,15 @@ get_mysql_option mysqld_safe pid-file "/var/run/mysqld/mysqld.pid" mypidfile="$result" +case $socketfile in + /*) adminsocket="$socketfile" ;; + *) adminsocket="$datadir/$socketfile" ;; +esac start(){ [ -x $exec ] || exit 5 # check to see if it's already running - RESPONSE=`/usr/bin/mysqladmin --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` + RESPONSE=$(/usr/bin/mysqladmin --no-defaults --socket="$adminsocket" --user=UNKNOWN_MYSQL_USER ping 2>&1) if [ $? = 0 ]; then # already running, do nothing action $"Starting $prog: " /bin/true @@ -107,7 +111,7 @@ ret=0 TIMEOUT="$STARTTIMEOUT" while [ $TIMEOUT -gt 0 ]; do - RESPONSE=`/usr/bin/mysqladmin --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` && break + RESPONSE=$(/usr/bin/mysqladmin --no-defaults --socket="$adminsocket" --user=UNKNOWN_MYSQL_USER ping 2>&1) && break echo "$RESPONSE" | grep -q "Access denied for user" && break if ! /bin/kill -0 $safe_pid 2>/dev/null; then echo "MySQL Daemon failed to start." diff -Nru mysql-5.5-5.5.40/packaging/rpm-oel/mysql-systemd-start mysql-5.5-5.5.41/packaging/rpm-oel/mysql-systemd-start --- mysql-5.5-5.5.40/packaging/rpm-oel/mysql-systemd-start 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/packaging/rpm-oel/mysql-systemd-start 2014-11-04 07:49:52.000000000 +0000 @@ -8,10 +8,19 @@ # post mode : ping server until answer is received # +get_option () { + local section=$1 + local option=$2 + local default=$3 + ret=$(/usr/bin/my_print_defaults $section | grep '^--'${option}'=' | cut -d= -f2-) + [ -z $ret ] && ret=$default + echo $ret +} + install_db () { # Note: something different than datadir=/var/lib/mysql requires SELinux policy changes (in enforcing mode) - datadir=$(/usr/bin/my_print_defaults server mysqld | grep '^--datadir=' | sed -n 's/--datadir=//p') - + datadir=$(get_option mysqld datadir "/var/lib/mysql") + # Restore log, dir, perms and SELinux contexts [ -d "$datadir" ] || install -d -m 0755 -omysql -gmysql "$datadir" || exit 1 log=/var/log/mysqld.log @@ -35,9 +44,16 @@ # Wait for ping to answer to signal startup completed, # might take a while in case of e.g. crash recovery # MySQL systemd service will timeout script if no answer + datadir=$(get_option mysqld datadir "/var/lib/mysql") + socket=$(get_option mysqld socket "$datadir/mysql.sock") + case $socket in + /*) adminsocket="$socket" ;; + *) adminsocket="$datadir/$socket" ;; + esac + while /bin/true ; do sleep 1 - mysqladmin ping >/dev/null 2>&1 && break + mysqladmin --no-defaults --socket="$adminsocket" --user=UNKNOWN_MYSQL_USER ping >/dev/null 2>&1 && break done exit 0 } diff -Nru mysql-5.5-5.5.40/packaging/rpm-sles/CMakeLists.txt mysql-5.5-5.5.41/packaging/rpm-sles/CMakeLists.txt --- mysql-5.5-5.5.40/packaging/rpm-sles/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.5-5.5.41/packaging/rpm-sles/CMakeLists.txt 2014-11-04 07:49:52.000000000 +0000 @@ -0,0 +1,28 @@ +# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. +# +# 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 +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +IF(UNIX) + SET(prefix ${CMAKE_INSTALL_PREFIX}) + SET(SPECFILENAME "mysql.spec") + # Left in current directory, to be taken during build + CONFIGURE_FILE(mysql.spec.in ${CMAKE_CURRENT_BINARY_DIR}/${SPECFILENAME} @ONLY) + FOREACH(fedfile my.cnf my_config.h mysql.init + mysqld.service mysql-systemd-start mysql.conf + filter-requires.sh filter-provides.sh) + CONFIGURE_FILE(${fedfile} ${CMAKE_CURRENT_BINARY_DIR}/${fedfile} COPYONLY) + ENDFOREACH() +ENDIF() + diff -Nru mysql-5.5-5.5.40/packaging/rpm-sles/filter-provides.sh mysql-5.5-5.5.41/packaging/rpm-sles/filter-provides.sh --- mysql-5.5-5.5.40/packaging/rpm-sles/filter-provides.sh 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.5-5.5.41/packaging/rpm-sles/filter-provides.sh 2014-11-04 07:49:52.000000000 +0000 @@ -0,0 +1,6 @@ +#! /bin/bash +# + +/usr/lib/rpm/perl.prov $* | +sed -e '/perl(hostnames)/d' -e '/perl(lib::mtr.*/d' -e '/perl(lib::v1.*/d' -e '/perl(mtr_.*/d' -e '/perl(My::.*/d' + diff -Nru mysql-5.5-5.5.40/packaging/rpm-sles/filter-requires.sh mysql-5.5-5.5.41/packaging/rpm-sles/filter-requires.sh --- mysql-5.5-5.5.40/packaging/rpm-sles/filter-requires.sh 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.5-5.5.41/packaging/rpm-sles/filter-requires.sh 2014-11-04 07:49:52.000000000 +0000 @@ -0,0 +1,6 @@ +#! /bin/bash +# + +/usr/lib/rpm/perl.req $* | +sed -e '/perl(GD)/d' -e '/perl(hostnames)/d' -e '/perl(lib::mtr.*/d' -e '/perl(lib::v1.*/d' -e '/perl(mtr_.*/d' -e '/perl(My::.*/d' + diff -Nru mysql-5.5-5.5.40/packaging/rpm-sles/my.cnf mysql-5.5-5.5.41/packaging/rpm-sles/my.cnf --- mysql-5.5-5.5.40/packaging/rpm-sles/my.cnf 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.5-5.5.41/packaging/rpm-sles/my.cnf 2014-11-04 07:49:52.000000000 +0000 @@ -0,0 +1,31 @@ +# For advice on how to change settings please see +# http://dev.mysql.com/doc/refman/5.5/en/server-configuration-defaults.html + +[mysqld] +# +# Remove leading # and set to the amount of RAM for the most important data +# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. +# innodb_buffer_pool_size = 128M +# +# Remove leading # to turn on a very important data integrity option: logging +# changes to the binary log between backups. +# log_bin +# +# Remove leading # to set options mainly useful for reporting servers. +# The server defaults are faster for transactions and fast SELECTs. +# Adjust sizes as needed, experiment to find the optimal values. +# join_buffer_size = 128M +# sort_buffer_size = 2M +# read_rnd_buffer_size = 2M +datadir=/var/lib/mysql +socket=/var/lib/mysql/mysql.sock + +# Disabling symbolic-links is recommended to prevent assorted security risks +symbolic-links=0 + +# Recommended in standard MySQL setup +#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES + +[mysqld_safe] +log-error=/var/log/mysql/mysqld.log +pid-file=/var/run/mysql/mysqld.pid diff -Nru mysql-5.5-5.5.40/packaging/rpm-sles/my_config.h mysql-5.5-5.5.41/packaging/rpm-sles/my_config.h --- mysql-5.5-5.5.40/packaging/rpm-sles/my_config.h 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.5-5.5.41/packaging/rpm-sles/my_config.h 2014-11-04 07:49:52.000000000 +0000 @@ -0,0 +1,30 @@ +/* + * Fedora supports multi arch: having 32 and 64 versions of MySQL + * installed at the same time. my_config.h will differ due arch + * dependent defs creating a file conflict. We move arch specific + * headers to arch specific file names and include the correct arch + * specific file by installing this generic file. + * + */ + +#if defined(__i386__) +#include "my_config_i386.h" +#elif defined(__ia64__) +#include "my_config_ia64.h" +#elif defined(__powerpc__) +#include "my_config_ppc.h" +#elif defined(__powerpc64__) +#include "my_config_ppc64.h" +#elif defined(__s390x__) +#include "my_config_s390x.h" +#elif defined(__s390__) +#include "my_config_s390.h" +#elif defined(__sparc__) && defined(__arch64__) +#include "my_config_sparc64.h" +#elif defined(__sparc__) +#include "my_config_sparc.h" +#elif defined(__x86_64__) +#include "my_config_x86_64.h" +#else +#error "This MySQL devel package does not work your architecture?" +#endif diff -Nru mysql-5.5-5.5.40/packaging/rpm-sles/mysql.conf mysql-5.5-5.5.41/packaging/rpm-sles/mysql.conf --- mysql-5.5-5.5.40/packaging/rpm-sles/mysql.conf 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.5-5.5.41/packaging/rpm-sles/mysql.conf 2014-11-04 07:49:52.000000000 +0000 @@ -0,0 +1 @@ +d /var/run/mysqld 0755 mysql mysql - diff -Nru mysql-5.5-5.5.40/packaging/rpm-sles/mysqld.service mysql-5.5-5.5.41/packaging/rpm-sles/mysqld.service --- mysql-5.5-5.5.40/packaging/rpm-sles/mysqld.service 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.5-5.5.41/packaging/rpm-sles/mysqld.service 2014-11-04 07:49:52.000000000 +0000 @@ -0,0 +1,48 @@ +# +# Simple MySQL systemd service file +# +# systemd supports lots of fancy features, look here (and linked docs) for a full list: +# http://www.freedesktop.org/software/systemd/man/systemd.exec.html +# +# Note: this file ( /usr/lib/systemd/system/mysql.service ) +# will be overwritten on package upgrade, please copy the file to +# +# /etc/systemd/system/mysql.service +# +# to make needed changes. +# +# systemd-delta can be used to check differences between the two mysql.service files. +# + +[Unit] +Description=MySQL Community Server +After=network.target +After=syslog.target + +[Install] +WantedBy=multi-user.target +Alias=mysql.service + +[Service] +User=mysql +Group=mysql + +# Execute pre and post scripts as root +PermissionsStartOnly=true + +# Needed to create system tables etc. +ExecStartPre=/usr/bin/mysql-systemd-start pre + +# Start main service +ExecStart=/usr/bin/mysqld_safe + +# Don't signal startup success before a ping works +ExecStartPost=/usr/bin/mysql-systemd-start post + +# Give up if ping don't get an answer +TimeoutSec=600 + +Restart=always +PrivateTmp=false + + diff -Nru mysql-5.5-5.5.40/packaging/rpm-sles/mysql.init mysql-5.5-5.5.41/packaging/rpm-sles/mysql.init --- mysql-5.5-5.5.40/packaging/rpm-sles/mysql.init 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.5-5.5.41/packaging/rpm-sles/mysql.init 2014-11-04 07:49:52.000000000 +0000 @@ -0,0 +1,236 @@ +#! /bin/bash +# + +# MySQL Database start/stop script + +# chkconfig: - 64 36 +# description: MySQL Database +# processname: mysqld +# config: /etc/my.cnf +# pidfile: /var/run/mysql/mysqld.pid + +# Comments to support LSB init script conventions +### BEGIN INIT INFO +# Provides: mysql +# Required-Start: $network $remote_fs +# Required-Stop: $network $remote_fs +# Default-Start: 3 5 +# Default-Stop: 0 1 6 +# Short-Description: MySQL Database +# Description: MySQL Database +### END INIT INFO + +# +# https://en.opensuse.org/openSUSE:Packaging_init_scripts#Exit_Status_Codes +# + +[ -e /etc/rc.status ] && . /etc/rc.status + +rc_reset + +STARTTIMEOUT=180 +STOPTIMEOUT=60 +PROG=/usr/bin/mysqld_safe + +[ -e /etc/sysconfig/mysql ] && . /etc/sysconfig/mysql + +# Lock directory +lockfile=/var/lock/subsys/mysql + +get_option () { + local section=$1 + local option=$2 + local default=$3 + ret=$(/usr/bin/my_print_defaults $section | grep '^--'${option}'=' | cut -d= -f2-) + [ -z $ret ] && ret=$default + echo $ret +} + +datadir=$(get_option mysqld datadir "/var/lib/mysql") +socket=$(get_option mysqld socket "$datadir/mysql.sock") +pidfile=$(get_option mysqld_safe pid-file "/var/run/mysql/mysqld.pid") +logfile=$(get_option mysqld_safe log-error "/var/log/mysql/mysqld.log") + +install_db () { + # Note: something different than datadir=/var/lib/mysql requires + # SELinux policy changes (in enforcing mode) + datadir=$(get_option mysqld datadir "/var/lib/mysql") + logfile=$(get_option mysqld_safe log-error "/var/log/mysql/mysqld.log") + + # Restore log, dir, perms and SELinux contexts + [ -d "$datadir" ] || install -d -m 0755 -omysql -gmysql "$datadir" || return 1 + + [ -e $logfile ] || touch $logfile || return 1 + chmod 0640 $logfile + chown mysql:mysql $logfile || return 1 + if [ -x /usr/sbin/restorecon ]; then + /usr/sbin/restorecon "$datadir" + /usr/sbin/restorecon $logfile + fi + + # If special mysql dir is in place, skip db install + [ -d "$datadir/mysql" ] && return 0 + + # Create initial db + /usr/bin/mysql_install_db --datadir="$datadir" --rpm --user=mysql + return $? +} + +# Wait for ping to answer to signal startup completed, +# might take a while in case of e.g. crash recovery +pinger () { + mysqld_safe_pid=$1 + timer=$STARTTIMEOUT + ret=0 + while [ $timer -gt 0 ]; do + sleep 1 + mysqladmin --no-defaults --socket="$socket" ping >/dev/null 2>&1 && break + timer=$(expr $timer - 1) + + # Check if mysqld_safe is still alive, if not there is no hope + if ! kill -0 $mysqld_safe_pid >/dev/null 2>&1 ; then + ret=1 + break + fi + done + + # Did we timeout? + if [ $timer = 0 ]; then + echo "MySQL Database start up timeout after ${STARTTIMEOUT}s" + ret=1 + fi + return $ret +} + +# Check if mysqld is running +chk_running () { + ret=0 + if [ -e "$pidfile" ]; then + pid=$(cat "$pidfile") || ret=4 + else + ret=7 + fi + + # Check if $pid is a mysqld pid + if [ $ret -eq 0 ]; then + [ -L "/proc/$pid/exe" ] || ret=7 + fi + + if [ $ret -eq 0 ]; then + exec=$(readlink "/proc/$pid/exe") || ret=7 + fi + + if [ $ret -eq 0 ]; then + [ "x$(basename $exec)" = "xmysqld" ] || ret=7 + fi + return $ret +} + +start () { + if chk_running && mysqladmin --no-defaults --socket="$socket" ping >/dev/null 2>&1 ; then + echo -n "Starting service MySQL:" + rc_reset ; rc_status -v ; rc_exit + fi + + if ! install_db; then + echo -n "MySQL Database could not initialize data directory:" + rc_failed 6 ; rc_status -v ; rc_exit + fi + + $PROG --basedir=/usr --datadir="$datadir" --pid-file="$pidfile" >/dev/null 2>&1 & + if pinger $! ; then + echo -n "Starting service MySQL:" + touch $lockfile + rc_reset + else + echo -n "Failed to start service MySQL:" + rc_failed 3 + fi + rc_status -v +} + +stop () { + chk_running + ret=$? + if [ $ret -ne 0 ]; then + echo -n "Shutting down service MySQL:" + rc_reset ; rc_status -v ; return 0 + fi + + # chk_running has verified this works + pid=$(cat "$pidfile") + + # We use a signal to avoid having to know the root password + # Send single kill command and then wait + if kill $pid >/dev/null 2>&1; then + timer=$STOPTIMEOUT + while [ $timer -gt 0 ]; do + kill -0 $pid >/dev/null 2>&1 || break + sleep 1 + timer=$(expr $timer - 1) + done + else + echo -n "Shutting down service MySQL:" + rc_failed 4 ; rc_status -v ; rc_exit + fi + + if [ $timer -eq 0 ]; then + echo -n "Failed to stop service MySQL:" + rc_failed 1 + else + rm -f $lockfile + rm -f "$socketfile" + echo -n "Shutting down service MySQL:" + rc_reset + fi + rc_status -v +} + +restart () { + stop + start +} + +reload () { + ret=0 + if chk_running && mysqladmin --no-defaults --socket="$socket" ping >/dev/null 2>&1 ; then + pid=$(cat "$pidfile") + kill -HUP $pid >/dev/null 2>&1 + echo -n "Reloading service MySQL:" + rc_reset + else + echo -n "Reloading of service MySQL failed:" + rc_failed 7 + fi + rc_status -v +} + +condrestart () { + if chk_running && mysqladmin --no-defaults --socket="$socket" ping >/dev/null 2>&1 ; then + restart + fi +} + +status () { + echo -n "Checking for service MySQL:" + checkproc mysqld + rc_status -v +} + +case "$1" in + start ) start ;; + stop ) stop ;; + restart) restart ;; + status ) status ;; + condrestart ) condrestart ;; + reload|force-reload) reload ;; + + *) echo $"Usage: $0 {start|stop|restart|condrestart|status|reload|force-reload}"; exit 1 ;; +esac + +rc_exit + + + + + diff -Nru mysql-5.5-5.5.40/packaging/rpm-sles/mysql.spec.in mysql-5.5-5.5.41/packaging/rpm-sles/mysql.spec.in --- mysql-5.5-5.5.40/packaging/rpm-sles/mysql.spec.in 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.5-5.5.41/packaging/rpm-sles/mysql.spec.in 2014-11-04 07:49:52.000000000 +0000 @@ -0,0 +1,1646 @@ +# Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. +# +# 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 +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston +# MA 02110-1301 USA. + + +%global mysql_vendor Oracle and/or its affiliates +%global mysqldatadir /var/lib/mysql + +# By default, a build will include the bundeled "yaSSL" library for SSL. +%{?with_ssl: %global ssl_option -DWITH_SSL=%{with_ssl}} + +# Regression tests may take a long time, override the default to skip them +%{!?runselftest:%global runselftest 0} + +%{!?with_systemd: %global systemd 0} +%{!?with_debuginfo: %global nodebuginfo 1} +%{!?product_suffix: %global product_suffix community} +%{!?feature_set: %global feature_set community} +%{!?compilation_comment_release: %global compilation_comment_release MySQL Community Server - (GPL)} +%{!?compilation_comment_debug: %global compilation_comment_debug MySQL Community Server - Debug (GPL)} +%{!?src_base: %global src_base mysql} + +%global src_dir %{src_base}-%{version} + +# multiarch +%global multiarchs ppc %{power64} %{ix86} x86_64 %{sparc} + +# No debuginfo for now, ships /usr/sbin/mysqld-debug and libmysqlcliet-debug.a +%if 0%{?nodebuginfo} +%global _enable_debug_package 0 +%global debug_package %{nil} +%global __os_install_post /usr/lib/rpm/brp-compress %{nil} +%endif + +%if 0%{?commercial} +%global license_files_server %{src_dir}/LICENSE.mysql +%global license_type Commercial +%else +%global license_files_server %{src_dir}/COPYING %{src_dir}/README +%global license_type GPLv2 +%endif + +%if 0%{?sles_version} == 011 +%global dist .sles11 +%global sles11 1 +%endif + +Name: mysql-%{product_suffix} +Summary: A very fast and reliable SQL database server +Group: Applications/Databases +Version: @VERSION@ +Release: 2%{?commercial:.1}%{?dist} +License: Copyright (c) 2000, @MYSQL_COPYRIGHT_YEAR@, %{mysql_vendor}. All rights reserved. Under %{?license_type} license as shown in the Description field. +Source0: https://cdn.mysql.com/Downloads/MySQL-@MYSQL_BASE_VERSION@/%{src_dir}.tar.gz +URL: http://www.mysql.com/ +Packager: MySQL Release Engineering +Vendor: %{mysql_vendor} +Source1: mysql-systemd-start +Source2: mysqld.service +Source3: mysql.conf +Source4: my_config.h +Source90: filter-provides.sh +Source91: filter-requires.sh +BuildRequires: cmake +BuildRequires: perl +BuildRequires: libaio-devel +BuildRequires: ncurses-devel +BuildRequires: openssl-devel +BuildRequires: zlib-devel +%if 0%{?systemd} +BuildRequires: systemd +%endif +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) + +%if 0%{?rhel} > 6 +# For rpm => 4.9 only: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering +%global __requires_exclude ^perl\\((GD|hostnames|lib::mtr|lib::v1|mtr_|My::) +%global __provides_exclude_from ^(/usr/share/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$ +%else +# https://fedoraproject.org/wiki/EPEL:Packaging#Generic_Filtering_on_EPEL6 +%global __perl_provides %{SOURCE90} +%global __perl_requires %{SOURCE91} +%endif + +%description +The MySQL(TM) software delivers a very fast, multi-threaded, multi-user, +and robust SQL (Structured Query Language) database server. MySQL Server +is intended for mission-critical, heavy-load production systems as well +as for embedding into mass-deployed software. MySQL is a trademark of +%{mysql_vendor} + +The MySQL software has Dual Licensing, which means you can use the MySQL +software free of charge under the GNU General Public License +(http://www.gnu.org/licenses/). You can also purchase commercial MySQL +licenses from %{mysql_vendor} if you do not wish to be bound by the terms of +the GPL. See the chapter "Licensing and Support" in the manual for +further info. + +The MySQL web site (http://www.mysql.com/) provides the latest +news and information about the MySQL software. Also please see the +documentation and the manual for more information. + +%package server +Summary: A very fast and reliable SQL database server +Group: Applications/Databases +Requires: coreutils +Requires: grep +Requires: procps +Requires: shadow-utils +Requires: net-tools +Requires: perl-base +%if 0%{?commercial} +Provides: MySQL-server-advanced = %{version}-%{release} +Obsoletes: MySQL-server-advanced < %{version}-%{release} +Obsoletes: mysql-community-server < %{version}-%{release} +Requires: mysql-commercial-client = %{version}-%{release} +Requires: mysql-commercial-common = %{version}-%{release} +%else +Provides: MySQL-server = %{version}-%{release} +Requires: mysql-community-client = %{version}-%{release} +Requires: mysql-community-common = %{version}-%{release} +%endif +Obsoletes: MySQL-server < %{version}-%{release} +Obsoletes: mysql < %{version}-%{release} +Obsoletes: mysql-tools < %{version}-%{release} +Obsoletes: mariadb-server +Obsoletes: mariadb-galera-server +Provides: mysql = %{version}-%{release} +Provides: mysql-tools = %{version}-%{release} +%if 0%{?systemd} +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +%else +PreReq: insserv +PreReq: sed +PreReq: pwdutils +%endif +Conflicts: otherproviders(mysql) +Conflicts: otherproviders(mysql-debug) +Conflicts: otherproviders(mysql-tools) + +%description server +The MySQL(TM) software delivers a very fast, multi-threaded, multi-user, +and robust SQL (Structured Query Language) database server. MySQL Server +is intended for mission-critical, heavy-load production systems as well +as for embedding into mass-deployed software. MySQL is a trademark of +%{mysql_vendor} + +The MySQL software has Dual Licensing, which means you can use the MySQL +software free of charge under the GNU General Public License +(http://www.gnu.org/licenses/). You can also purchase commercial MySQL +licenses from %{mysql_vendor} if you do not wish to be bound by the terms of +the GPL. See the chapter "Licensing and Support" in the manual for +further info. + +The MySQL web site (http://www.mysql.com/) provides the latest news and +information about the MySQL software. Also please see the documentation +and the manual for more information. + +This package includes the MySQL server binary as well as related utilities +to run and administer a MySQL server. + +%package client +Summary: MySQL database client applications and tools +Group: Applications/Databases +%if 0%{?commercial} +Provides: MySQL-client-advanced = %{version}-%{release} +Obsoletes: MySQL-client-advanced < %{version}-%{release} +Obsoletes: mysql-community-client < %{version}-%{release} +Requires: mysql-commercial-libs = %{version}-%{release} +%else +Provides: MySQL-client = %{version}-%{release} +Requires: mysql-community-libs = %{version}-%{release} +%endif +Obsoletes: MySQL-client < %{version}-%{release} +Provides: mysql-client = %{version}-%{release} +Obsoletes: mysql-client < %{version}-%{release} +Obsoletes: mariadb +Conflicts: otherproviders(mysql-client) + +%description client +This package contains the standard MySQL clients and administration +tools. + +%package common +Summary: MySQL database common files for server and client libs +Group: Applications/Databases +%if 0%{?commercial} +Obsoletes: mysql-community-common < %{version}-%{release} +%endif +Provides: mysql-common = %{version}-%{release} + +%description common +This packages contains common files needed by MySQL client library, +MySQL database server, and MySQL embedded server. + + +%package test +Summary: Test suite for the MySQL database server +Group: Applications/Databases +%if 0%{?commercial} +Provides: MySQL-test-advanced = %{version}-%{release} +Obsoletes: MySQL-test-advanced < %{version}-%{release} +Obsoletes: mysql-community-test < %{version}-%{release} +Requires: mysql-commercial-server = %{version}-%{release} +%else +Provides: MySQL-test = %{version}-%{release} +Requires: mysql-community-server = %{version}-%{release} +%endif +Obsoletes: MySQL-test < %{version}-%{release} +Obsoletes: mysql-test < %{version}-%{release} +Obsoletes: mariadb-test +Provides: mysql-test = %{version}-%{release} +Conflicts: otherproviders(mysql-test) + +%description test +This package contains the MySQL regression test suite for MySQL +database server. + + +%package bench +Summary: MySQL benchmark suite +Group: Applications/Databases +%if 0%{?commercial} +Obsoletes: mysql-community-bench < %{version}-%{release} +Requires: mysql-commercial-server = %{version}-%{release} +%else +Requires: mysql-community-server = %{version}-%{release} +%endif +Obsoletes: mariadb-bench +Obsoletes: community-mysql-bench < %{version}-%{release} +Obsoletes: mysql-bench < %{version}-%{release} +Provides: mysql-bench = %{version}-%{release} +Conflicts: otherproviders(mysql-bench) + +%description bench +This package contains the MySQL Benchmark Suite for MySQL database +server. + +%package devel +Summary: Development header files and libraries for MySQL database client applications +Group: Applications/Databases +%if 0%{?commercial} +Provides: MySQL-devel-advanced = %{version}-%{release} +Obsoletes: MySQL-devel-advanced < %{version}-%{release} +Obsoletes: mysql-community-devel < %{version}-%{release} +Requires: mysql-commercial-libs = %{version}-%{release} +%else +Provides: MySQL-devel = %{version}-%{release} +Requires: mysql-community-libs = %{version}-%{release} +%endif +Obsoletes: MySQL-devel < %{version}-%{release} +Obsoletes: mysql-devel < %{version}-%{release} +Obsoletes: mariadb-devel +Obsoletes: libmysqlclient-devel < %{version}-%{release} +Provides: mysql-devel = %{version}-%{release} +Provides: libmysqlclient-devel = %{version}-%{release} + +%description devel +This package contains the development header files and libraries necessary +to develop MySQL client applications. + +%package libs +Summary: Shared libraries for MySQL database client applications +Group: Applications/Databases +%if 0%{?commercial} +Provides: MySQL-shared-advanced = %{version}-%{release} +Obsoletes: MySQL-shared-advanced < %{version}-%{release} +Obsoletes: mysql-community-libs < %{version}-%{release} +Requires: mysql-commercial-common = %{version}-%{release} +%else +Provides: MySQL-shared = %{version}-%{release} +Requires: mysql-community-common = %{version}-%{release} +%endif +Obsoletes: MySQL-shared < %{version}-%{release} +Obsoletes: mysql-libs < %{version}-%{release} +Obsoletes: mariadb-libs +Obsoletes: libmysqlclient18 < %{version}-%{release} +Obsoletes: libmysqlclient_r18 < %{version}-%{release} +Provides: mysql-libs = %{version}-%{release} +Provides: libmysqlclient18 = %{version}-%{release} +Provides: libmysqlclient_r18 = %{version}-%{release} + +%description libs +This package contains the shared libraries for MySQL client +applications. + +%package embedded +Summary: MySQL embedded library +Group: Applications/Databases +%if 0%{?commercial} +Provides: MySQL-embedded-advanced = %{version}-%{release} +Obsoletes: MySQL-embedded-advanced < %{version}-%{release} +Obsoletes: mysql-community-embedded < %{version}-%{release} +Requires: mysql-commercial-common = %{version}-%{release} +%else +Provides: MySQL-embedded = %{version}-%{release} +Requires: mysql-community-common = %{version}-%{release} +%endif +Obsoletes: mariadb-embedded +Obsoletes: MySQL-embedded < %{version}-%{release} +Obsoletes: mysql-embedded < %{version}-%{release} +Provides: mysql-embedded = %{version}-%{release} + +%description embedded +This package contains the MySQL server as an embedded library. + +The embedded MySQL server library makes it possible to run a full-featured +MySQL server inside the client application. The main benefits are increased +speed and more simple management for embedded applications. + +The API is identical for the embedded MySQL version and the +client/server version. + +For a description of MySQL see the base MySQL RPM or http://www.mysql.com/ + +%package embedded-devel +Summary: Development header files and libraries for MySQL as an embeddable library +Group: Applications/Databases +%if 0%{?commercial} +Obsoletes: mysql-community-embedded-devel < %{version}-%{release} +Requires: mysql-commercial-devel = %{version}-%{release} +Requires: mysql-commercial-embedded = %{version}-%{release} +%else +Requires: mysql-community-devel = %{version}-%{release} +Requires: mysql-community-embedded = %{version}-%{release} +%endif +Obsoletes: mariadb-embedded-devel +Obsoletes: mysql-embedded-devel < %{version}-%{release} +Provides: mysql-embedded-devel = %{version}-%{release} + +%description embedded-devel +This package contains files needed for developing applications using +the embedded version of the MySQL server. + +%prep +%setup -q -T -a 0 -c -n %{src_dir} +pushd %{src_dir} + +%build +# Fail quickly and obviously if user tries to build as root +%if 0%{?runselftest} +if [ "x$(id -u)" = "x0" ] ; then + echo "The MySQL regression tests may fail if run as root." + echo "If you really need to build the RPM as root, use" + echo "--define='runselftest 0' to skip the regression tests." + exit 1 +fi +%endif + + +# Build debug versions of mysqld and libmysqld.a +mkdir debug +( + cd debug + # Attempt to remove any optimisation flags from the debug build + optflags=$(echo "%{optflags}" | sed -e 's/-O2 / /' -e 's/-Wp,-D_FORTIFY_SOURCE=2/ /') + cmake ../%{src_dir} \ + -DBUILD_CONFIG=mysql_release \ + -DINSTALL_LAYOUT=RPM \ + -DCMAKE_BUILD_TYPE=Debug \ + -DENABLE_DTRACE=OFF \ + -DCMAKE_C_FLAGS="$optflags" \ + -DCMAKE_CXX_FLAGS="$optflags" \ + -DINSTALL_LIBDIR="%{_lib}/mysql" \ + -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \ + -DINSTALL_SQLBENCHDIR=share \ + -DMYSQL_UNIX_ADDR="%{mysqldatadir}/mysql.sock" \ + -DFEATURE_SET="%{feature_set}" \ + -DWITH_EMBEDDED_SERVER=1 \ + -DWITH_EMBEDDED_SHARED_LIBRARY=1 \ + %{?ssl_option} \ + -DCOMPILATION_COMMENT="%{compilation_comment_debug}" \ + -DMYSQL_SERVER_SUFFIX="%{?server_suffix}" + echo BEGIN_DEBUG_CONFIG ; egrep '^#define' include/config.h ; echo END_DEBUG_CONFIG + make %{?_smp_mflags} VERBOSE=1 +) + +# Build full release +mkdir release +( + cd release + cmake ../%{src_dir} \ + -DBUILD_CONFIG=mysql_release \ + -DINSTALL_LAYOUT=RPM \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DENABLE_DTRACE=OFF \ + -DCMAKE_C_FLAGS="%{optflags}" \ + -DCMAKE_CXX_FLAGS="%{optflags}" \ + -DINSTALL_LIBDIR="%{_lib}/mysql" \ + -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \ + -DINSTALL_SQLBENCHDIR=share \ + -DMYSQL_UNIX_ADDR="%{mysqldatadir}/mysql.sock" \ + -DFEATURE_SET="%{feature_set}" \ + -DWITH_EMBEDDED_SERVER=1 \ + -DWITH_EMBEDDED_SHARED_LIBRARY=1 \ + %{?ssl_option} \ + -DCOMPILATION_COMMENT="%{compilation_comment_release}" \ + -DMYSQL_SERVER_SUFFIX="%{?server_suffix}" + echo BEGIN_NORMAL_CONFIG ; egrep '^#define' include/config.h ; echo END_NORMAL_CONFIG + make %{?_smp_mflags} VERBOSE=1 +) + +%install +MBD=$RPM_BUILD_DIR/%{src_dir} + +# Ensure that needed directories exists +install -d -m 0755 %{buildroot}/var/lib/mysql +install -d -m 0755 %{buildroot}/var/run/mysql +install -d -m 0660 %{buildroot}/var/log/mysql + +# Install all binaries +cd $MBD/release +make DESTDIR=%{buildroot} install + +# Install logrotate and autostart +install -D -m 0644 $MBD/release/support-files/mysql-log-rotate %{buildroot}%{_sysconfdir}/logrotate.d/mysql +install -D -m 0644 $MBD/release/packaging/rpm-sles/my.cnf %{buildroot}%{_sysconfdir}/my.cnf +install -d %{buildroot}%{_sysconfdir}/my.cnf.d +%if 0%{?systemd} +install -D -m 0755 %{SOURCE1} %{buildroot}%{_bindir}/mysql-systemd-start +install -D -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/mysqld.service +%else +install -D -m 0755 $MBD/release/packaging/rpm-sles/mysql.init %{buildroot}%{_sysconfdir}/init.d/mysql +%endif +install -D -m 0644 %{SOURCE3} %{buildroot}%{_prefix}/lib/tmpfiles.d/mysql.conf + +# Make library links +install -d -m 0755 %{buildroot}%{_sysconfdir}/ld.so.conf.d +echo "%{_libdir}/mysql" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/mysql-%{_arch}.conf + +# multiarch support +%ifarch %{multiarchs} +mv %{buildroot}/%{_includedir}/mysql/my_config.h \ + %{buildroot}/%{_includedir}/mysql/my_config_%{_arch}.h +install -p -m 0644 %{SOURCE4} %{buildroot}/%{_includedir}/mysql/my_config.h +%endif + +# Remove files pages we explicitly do not want to package +rm -rf %{buildroot}%{_infodir}/mysql.info* +rm -rf %{buildroot}%{_datadir}/mysql/binary-configure +rm -rf %{buildroot}%{_datadir}/mysql/mysql.server +rm -rf %{buildroot}%{_datadir}/mysql/mysqld_multi.server +rm -f %{buildroot}%{_datadir}/mysql/{ndb-config-2-node,config*}.ini +rm -f %{buildroot}%{_datadir}/mysql/my-*.cnf +%if 0%{?systemd} +rm -rf %{buildroot}%{_sysconfdir}/init.d/mysql +%endif +rm -rf %{buildroot}%{_bindir}/mysql_embedded +rm -rf %{buildroot}%{_bindir}/mysql_setpermission +rm -rf %{buildroot}%{_mandir}/man1/mysql_setpermission.1* + +# rcmysql symlink +install -d %{buildroot}%{_sbindir} +ln -sf %{_initrddir}/mysql %{buildroot}%{_sbindir}/rcmysql + +%check +%if 0%{?runselftest} +pushd release +make test VERBOSE=1 +export MTR_BUILD_THREAD=auto +pushd mysql-test +./mtr \ + --mem --parallel=auto --force --retry=0 \ + --mysqld=--binlog-format=mixed \ + --suite-timeout=720 --testcase-timeout=30 \ + --clean-vardir +rm -r $(readlink var) var +%endif + +%pre server +/usr/sbin/groupadd -r mysql >/dev/null 2>&1 || : +/usr/sbin/useradd -g mysql -o -r -d /var/lib/mysql -s /bin/false \ + -c "MySQL Server" -u 60 mysql >/dev/null 2>&1 || : + +%post server +datadir=$(/usr/bin/my_print_defaults server mysqld | grep '^--datadir=' | sed -n 's/--datadir=//p') +/bin/chmod 0755 "$datadir" +/bin/touch /var/log/mysql/mysqld.log +%if 0%{?systemd} +%systemd_post mysqld.service +/sbin/service mysqld enable >/dev/null 2>&1 || : +%else +/sbin/insserv /etc/init.d/mysql +%endif + +%preun server +%if 0%{?systemd} +%systemd_preun mysqld.service +%else +if [ "$1" -eq 0 ]; then + /usr/sbin/rcmysql stop >/dev/null 2>&1 || : + /sbin/insserv /etc/init.d +fi +%endif + +%postun server +%if 0%{?systemd} +%systemd_postun_with_restart mysqld.service +%else +if [ $1 -ge 1 ]; then + /usr/sbin/rcmysql condrestart >/dev/null 2>&1 || : +fi +%endif + +%post libs -p /sbin/ldconfig + +%postun libs -p /sbin/ldconfig + +%if 0%{?compatlib} +%post libs-compat -p /sbin/ldconfig + +%postun libs-compat -p /sbin/ldconfig +%endif + +%post embedded -p /sbin/ldconfig + +%postun embedded -p /sbin/ldconfig + +%files server +%defattr(-, root, root, -) +%doc %{?license_files_server} %{src_dir}/Docs/ChangeLog +%doc %{src_dir}/Docs/INFO_SRC* +%doc release/Docs/INFO_BIN* +%attr(644, root, root) %{_mandir}/man1/innochecksum.1* +%attr(644, root, root) %{_mandir}/man1/my_print_defaults.1* +%attr(644, root, root) %{_mandir}/man1/myisam_ftdump.1* +%attr(644, root, root) %{_mandir}/man1/myisamchk.1* +%attr(644, root, root) %{_mandir}/man1/myisamlog.1* +%attr(644, root, root) %{_mandir}/man1/myisampack.1* +%attr(644, root, root) %{_mandir}/man1/mysql_convert_table_format.1* +%attr(644, root, root) %{_mandir}/man1/mysql_fix_extensions.1* +%attr(644, root, root) %{_mandir}/man8/mysqld.8* +%attr(644, root, root) %{_mandir}/man1/mysqld_multi.1* +%attr(644, root, root) %{_mandir}/man1/mysqld_safe.1* +%attr(644, root, root) %{_mandir}/man1/mysqldumpslow.1* +%attr(644, root, root) %{_mandir}/man1/mysql_install_db.1* +%attr(644, root, root) %{_mandir}/man1/mysql_plugin.1* +%attr(644, root, root) %{_mandir}/man1/mysql_secure_installation.1* +%attr(644, root, root) %{_mandir}/man1/mysql_upgrade.1* +%attr(644, root, root) %{_mandir}/man1/mysqlhotcopy.1* +%attr(644, root, root) %{_mandir}/man1/mysqlman.1* +%attr(644, root, root) %{_mandir}/man1/mysql.server.1* +%attr(644, root, root) %{_mandir}/man1/mysqltest.1* +%attr(644, root, root) %{_mandir}/man1/mysql_tzinfo_to_sql.1* +%attr(644, root, root) %{_mandir}/man1/mysql_zap.1* +%attr(644, root, root) %{_mandir}/man1/mysqlbug.1* +%attr(644, root, root) %{_mandir}/man1/perror.1* +%attr(644, root, root) %{_mandir}/man1/replace.1* +%attr(644, root, root) %{_mandir}/man1/resolve_stack_dump.1* +%attr(644, root, root) %{_mandir}/man1/resolveip.1* + +%config(noreplace) %{_sysconfdir}/my.cnf +%dir %{_sysconfdir}/my.cnf.d + +%attr(755, root, root) %{_bindir}/innochecksum +%attr(755, root, root) %{_bindir}/my_print_defaults +%attr(755, root, root) %{_bindir}/myisam_ftdump +%attr(755, root, root) %{_bindir}/myisamchk +%attr(755, root, root) %{_bindir}/myisamlog +%attr(755, root, root) %{_bindir}/myisampack +%attr(755, root, root) %{_bindir}/mysql_convert_table_format +%attr(755, root, root) %{_bindir}/mysql_fix_extensions +%attr(755, root, root) %{_bindir}/mysql_install_db +%attr(755, root, root) %{_bindir}/mysql_plugin +%attr(755, root, root) %{_bindir}/mysql_secure_installation +%attr(755, root, root) %{_bindir}/mysql_tzinfo_to_sql +%attr(755, root, root) %{_bindir}/mysql_upgrade +%attr(755, root, root) %{_bindir}/mysql_zap +%attr(755, root, root) %{_bindir}/mysqlbug +%attr(755, root, root) %{_bindir}/mysqld_multi +%attr(755, root, root) %{_bindir}/mysqld_safe +%attr(755, root, root) %{_bindir}/mysqldumpslow +%attr(755, root, root) %{_bindir}/mysqlhotcopy +%attr(755, root, root) %{_bindir}/mysqltest +%attr(755, root, root) %{_bindir}/perror +%attr(755, root, root) %{_bindir}/replace +%attr(755, root, root) %{_bindir}/resolve_stack_dump +%attr(755, root, root) %{_bindir}/resolveip +%if 0%{?systemd} +%attr(755, root, root) %{_bindir}/mysql-systemd-start +%endif +%attr(755, root, root) %{_sbindir}/mysqld +%attr(755, root, root) %{_sbindir}/mysqld-debug +%attr(755, root, root) %{_sbindir}/rcmysql + +%dir %{_libdir}/mysql/plugin +%attr(755, root, root) %{_libdir}/mysql/plugin/adt_null.so +%attr(755, root, root) %{_libdir}/mysql/plugin/auth_socket.so +%attr(755, root, root) %{_libdir}/mysql/plugin/mypluglib.so +%attr(755, root, root) %{_libdir}/mysql/plugin/semisync_master.so +%attr(755, root, root) %{_libdir}/mysql/plugin/semisync_slave.so +%dir %{_libdir}/mysql/plugin/debug +%attr(755, root, root) %{_libdir}/mysql/plugin/debug/adt_null.so +%attr(755, root, root) %{_libdir}/mysql/plugin/debug/auth_socket.so +%attr(755, root, root) %{_libdir}/mysql/plugin/debug/mypluglib.so +%attr(755, root, root) %{_libdir}/mysql/plugin/debug/semisync_master.so +%attr(755, root, root) %{_libdir}/mysql/plugin/debug/semisync_slave.so +%if 0%{?commercial} +%attr(755, root, root) %{_libdir}/mysql/plugin/audit_log.so +%attr(755, root, root) %{_libdir}/mysql/plugin/authentication_pam.so +%attr(755, root, root) %{_libdir}/mysql/plugin/thread_pool.so +%attr(755, root, root) %{_libdir}/mysql/plugin/debug/audit_log.so +%attr(755, root, root) %{_libdir}/mysql/plugin/debug/authentication_pam.so +%attr(755, root, root) %{_libdir}/mysql/plugin/debug/thread_pool.so +%endif +%attr(644, root, root) %{_datadir}/mysql/fill_help_tables.sql +%attr(644, root, root) %{_datadir}/mysql/mysql_system_tables.sql +%attr(644, root, root) %{_datadir}/mysql/mysql_system_tables_data.sql +%attr(644, root, root) %{_datadir}/mysql/mysql_test_data_timezone.sql +%attr(644, root, root) %{_datadir}/mysql/mysql-log-rotate +%attr(644, root, root) %{_datadir}/mysql/magic +%attr(644, root, root) %{_prefix}/lib/tmpfiles.d/mysql.conf +%if 0%{?systemd} +%attr(644, root, root) %{_unitdir}/mysqld.service +%else +%attr(755, root, root) %{_sysconfdir}/init.d/mysql +%endif +%attr(644, root, root) %config(noreplace,missingok) %{_sysconfdir}/logrotate.d/mysql +%dir %attr(755, mysql, mysql) /var/lib/mysql +%dir %attr(755, mysql, mysql) /var/run/mysql +%dir %attr(660, mysql, mysql) /var/log/mysql + +%files common +%defattr(-, root, root, -) +%doc %{?license_files_server} +%{_datadir}/mysql/charsets/ +%{_datadir}/mysql/errmsg-utf8.txt +%{_datadir}/mysql/czech/ +%{_datadir}/mysql/danish/ +%{_datadir}/mysql/dutch/ +%{_datadir}/mysql/english/ +%{_datadir}/mysql/estonian/ +%{_datadir}/mysql/french/ +%{_datadir}/mysql/german/ +%{_datadir}/mysql/greek/ +%{_datadir}/mysql/hungarian/ +%{_datadir}/mysql/italian/ +%{_datadir}/mysql/japanese/ +%{_datadir}/mysql/korean/ +%{_datadir}/mysql/norwegian-ny/ +%{_datadir}/mysql/norwegian/ +%{_datadir}/mysql/polish/ +%{_datadir}/mysql/portuguese/ +%{_datadir}/mysql/romanian/ +%{_datadir}/mysql/russian/ +%{_datadir}/mysql/serbian/ +%{_datadir}/mysql/slovak/ +%{_datadir}/mysql/spanish/ +%{_datadir}/mysql/swedish/ +%{_datadir}/mysql/ukrainian/ + +%files client +%defattr(-, root, root, -) +%doc %{?license_files_server} +%attr(755, root, root) %{_bindir}/msql2mysql +%attr(755, root, root) %{_bindir}/mysql +%attr(755, root, root) %{_bindir}/mysql_find_rows +%attr(755, root, root) %{_bindir}/mysql_waitpid +%attr(755, root, root) %{_bindir}/mysqlaccess +# XXX: This should be moved to %{_sysconfdir} +%attr(644, root, root) %{_bindir}/mysqlaccess.conf +%attr(755, root, root) %{_bindir}/mysqladmin +%attr(755, root, root) %{_bindir}/mysqlbinlog +%attr(755, root, root) %{_bindir}/mysqlcheck +%attr(755, root, root) %{_bindir}/mysqldump +%attr(755, root, root) %{_bindir}/mysqlimport +%attr(755, root, root) %{_bindir}/mysqlshow +%attr(755, root, root) %{_bindir}/mysqlslap +%attr(755, root, root) %{_bindir}/mysql_config + +%attr(644, root, root) %{_mandir}/man1/msql2mysql.1* +%attr(644, root, root) %{_mandir}/man1/mysql.1* +%attr(644, root, root) %{_mandir}/man1/mysql_find_rows.1* +%attr(644, root, root) %{_mandir}/man1/mysql_waitpid.1* +%attr(644, root, root) %{_mandir}/man1/mysqlaccess.1* +%attr(644, root, root) %{_mandir}/man1/mysqladmin.1* +%attr(644, root, root) %{_mandir}/man1/mysqlbinlog.1* +%attr(644, root, root) %{_mandir}/man1/mysqlcheck.1* +%attr(644, root, root) %{_mandir}/man1/mysqldump.1* +%attr(644, root, root) %{_mandir}/man1/mysqlimport.1* +%attr(644, root, root) %{_mandir}/man1/mysqlshow.1* +%attr(644, root, root) %{_mandir}/man1/mysqlslap.1* + +%files devel +%defattr(-, root, root, -) +%doc %{?license_files_server} +%attr(644, root, root) %{_mandir}/man1/comp_err.1* +%attr(644, root, root) %{_mandir}/man1/mysql_config.1* +%attr(755, root, root) %{_bindir}/mysql_config +%{_includedir}/mysql +%{_datadir}/aclocal/mysql.m4 +%{_libdir}/mysql/libmysqlclient.a +%{_libdir}/mysql/libmysqlclient_r.a +%{_libdir}/mysql/libmysqlservices.a +%{_libdir}/mysql/libmysqlclient_r.so +%{_libdir}/mysql/libmysqlclient.so + +%files libs +%defattr(-, root, root, -) +%doc %{?license_files_server} +%dir %attr(755, root, root) %{_libdir}/mysql +%attr(644, root, root) %{_sysconfdir}/ld.so.conf.d/mysql-%{_arch}.conf +%{_libdir}/mysql/libmysqlclient.so.18* +%{_libdir}/mysql/libmysqlclient_r.so.18* + +%if 0%{?compatlib} +%files libs-compat +%defattr(-, root, root, -) +%doc %{?license_files_server} +%dir %attr(755, root, root) %{_libdir}/mysql +%attr(644, root, root) %{_sysconfdir}/ld.so.conf.d/mysql-%{_arch}.conf +%{_libdir}/mysql/libmysqlclient.so.%{compatlib} +%{_libdir}/mysql/libmysqlclient.so.%{compatlib}.0.0 +%{_libdir}/mysql/libmysqlclient_r.so.%{compatlib} +%{_libdir}/mysql/libmysqlclient_r.so.%{compatlib}.0.0 +%endif + +%files test +%defattr(-, root, root, -) +%doc %{?license_files_server} +%attr(-, root, root) %{_datadir}/mysql-test +%attr(755, root, root) %{_bindir}/mysql_client_test +%attr(755, root, root) %{_bindir}/mysql_client_test_embedded +%attr(755, root, root) %{_bindir}/mysqltest +%attr(755, root, root) %{_bindir}/mysqltest_embedded + +%attr(755, root, root) %{_libdir}/mysql/plugin/auth.so +%attr(755, root, root) %{_libdir}/mysql/plugin/auth_test_plugin.so +%attr(644, root, root) %{_libdir}/mysql/plugin/daemon_example.ini +%attr(755, root, root) %{_libdir}/mysql/plugin/libdaemon_example.so +%attr(755, root, root) %{_libdir}/mysql/plugin/qa_auth_client.so +%attr(755, root, root) %{_libdir}/mysql/plugin/qa_auth_interface.so +%attr(755, root, root) %{_libdir}/mysql/plugin/qa_auth_server.so +%attr(755, root, root) %{_libdir}/mysql/plugin/debug/auth.so +%attr(755, root, root) %{_libdir}/mysql/plugin/debug/auth_test_plugin.so +%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libdaemon_example.so +%attr(755, root, root) %{_libdir}/mysql/plugin/debug/qa_auth_client.so +%attr(755, root, root) %{_libdir}/mysql/plugin/debug/qa_auth_interface.so +%attr(755, root, root) %{_libdir}/mysql/plugin/debug/qa_auth_server.so + +%attr(644, root, root) %{_mandir}/man1/mysql_client_test.1* +%attr(644, root, root) %{_mandir}/man1/mysql-stress-test.pl.1* +%attr(644, root, root) %{_mandir}/man1/mysql-test-run.pl.1* +%attr(644, root, root) %{_mandir}/man1/mysql_client_test_embedded.1* +%attr(644, root, root) %{_mandir}/man1/mysqltest.1* +%attr(644, root, root) %{_mandir}/man1/mysqltest_embedded.1* + +%files bench +%defattr(-, root, root, -) +%doc %{?license_files_server} +%{_datadir}/sql-bench + +%files embedded +%defattr(-, root, root, -) +%doc %{?license_files_server} +%dir %attr(755, root, root) %{_libdir}/mysql +%attr(644, root, root) %{_sysconfdir}/ld.so.conf.d/mysql-%{_arch}.conf +%attr(755, root, root) %{_libdir}/mysql/libmysqld.so.* + +%files embedded-devel +%defattr(-, root, root, -) +%doc %{?license_files_server} +%attr(644, root, root) %{_libdir}/mysql/libmysqld.a +%attr(644, root, root) %{_libdir}/mysql/libmysqld-debug.a +%attr(755, root, root) %{_libdir}/mysql/libmysqld.so + +%changelog +* Mon Oct 06 2014 Balasubramanian Kandasamy - 5.5.41-1 +- Backport to 5.5.41 + +* Mon Oct 06 2014 Balasubramanian Kandasamy - 5.7.6-0.2.m16 +- Include boost sources +- Add license info in each subpackage + +* Tue Sep 02 2014 Bjorn Munch - 5.7.6-0.1.m16 +- Updated for 5.7.6 + +* Mon Sep 01 2014 Balasubramanian Kandasamy - 5.7.5-0.2.m15 +- Added openssl_udf.so plugin to commercial packages + +* Mon Jun 30 2014 Balasubramanian Kandasamy - 5.7.5-0.1.m15 +- Port to SLES + +* Thu Jun 26 2014 Balasubramanian Kandasamy - 5.7.5-0.3.m15 +- Resolve embedded-devel conflict issue + +* Wed Jun 25 2014 Balasubramanian Kandasamy - 5.7.5-0.2.m15 +- Add bench package +- Enable dtrace + +* Thu Apr 24 2014 Balasubramanian Kandasamy - 5.7.5-0.1.m15 +- Updated for 5.7.5 + +* Mon Apr 07 2014 Balasubramanian Kandasamy - 5.7.4-0.5.m14 +- Fix Cflags for el7 + +* Mon Mar 31 2014 Balasubramanian Kandasamy - 5.7.4-0.4.m14 +- Support for enterprise packages +- Upgrade from MySQL-* packages + +* Wed Mar 12 2014 Balasubramanian Kandasamy - 5.7.4-0.3.m14 +- Resolve conflict with mysql-libs-compat + +* Thu Mar 06 2014 Balasubramanian Kandasamy - 5.7.4-0.2.m14 +- Resolve conflict issues during upgrade +- Add ha_example.so plugin which is now included + +* Fri Feb 07 2014 Balasubramanian Kandasamy - 5.7.4-0.1.m14 +- 5.7.4 +- Enable shared libmysqld by cmake option +- Move mysqltest and test plugins to test subpackage + +* Mon Nov 18 2013 Balasubramanian Kandasamy - 5.7.3-0.3.m13 +- Fixed isa_bits error + +* Fri Oct 25 2013 Balasubramanian Kandasamy - 5.7.3-0.1.m13 +- Initial 5.7 port + +* Fri Oct 25 2013 Balasubramanian Kandasamy - 5.6.15-1 +- Fixed uln advanced rpm libyassl.a error +- Updated to 5.6.15 + +* Wed Oct 16 2013 Balasubramanian Kandasamy - 5.6.14-3 +- Fixed mysql_install_db usage +- Improved handling of plugin directory + +* Fri Sep 27 2013 Balasubramanian Kandasamy - 5.6.14-2 +- Refresh mysql-install patch and service renaming + +* Mon Sep 16 2013 Balasubramanian Kandasamy - 5.6.14-1 +- Updated to 5.6.14 + +* Wed Sep 04 2013 Balasubramanian Kandasamy - 5.6.13-5 +- Support upgrade from 5.5 ULN packages to 5.6 + +* Tue Aug 27 2013 Balasubramanian Kandasamy - 5.6.13-4 +- Enhanced perl filtering +- Added openssl-devel to buildreq + +* Wed Aug 21 2013 Balasubramanian Kandasamy - 5.6.13-3 +- Removed mysql_embedded binary to resolve multilib conflict issue + +* Fri Aug 16 2013 Balasubramanian Kandasamy - 5.6.13-2 +- Fixed Provides and Obsoletes issues in server, test packages + +* Wed Aug 14 2013 Balasubramanian Kandasamy - 5.6.13-1 +- Updated to 5.6.13 + +* Mon Aug 05 2013 Balasubramanian Kandasamy - 5.6.12-9 +- Added files list to embedded packages + +* Thu Aug 01 2013 Balasubramanian Kandasamy - 5.6.12-8 +- Updated libmysqld.a with libmysqld.so in embedded package + +* Mon Jul 29 2013 Balasubramanian Kandasamy - 5.6.12-7 +- Updated test package dependency from client to server + +* Wed Jul 24 2013 Balasubramanian Kandasamy - 5.6.12-6 +- Added libs-compat dependency under libs package to resolve server + installation conflicts issue. + +* Wed Jul 17 2013 Balasubramanian Kandasamy - 5.6.12-5 +- Removed libmysqlclient.so.16 from libs package + +* Fri Jul 05 2013 Balasubramanian Kandasamy - 5.6.12-4 +- Adjusted to work on OEL6 + +* Wed Jun 26 2013 Balasubramanian Kandasamy - 5.6.12-3 +- Move libs to mysql/ +- Basic multi arch support +- Fix changelog dates + +* Thu Jun 20 2013 Balasubramanian Kandasamy - 5.6.12-2 +- Major cleanup + +* Tue Jun 04 2013 Balasubramanian Kandasamy - 5.6.12-1 +- Updated to 5.6.12 + +* Mon Nov 05 2012 Joerg Bruehe + +- Allow to override the default to use the bundled yaSSL by an option like + --define="with_ssl /path/to/ssl" + +* Wed Oct 10 2012 Bjorn Munch + +- Replace old my-*.cnf config file examples with template my-default.cnf + +* Fri Oct 05 2012 Joerg Bruehe + +- Let the installation use the new option "--random-passwords" of "mysql_install_db". + (Bug# 12794345 Ensure root password) +- Fix an inconsistency: "new install" vs "upgrade" are told from the (non)existence + of "$mysql_datadir/mysql" (holding table "mysql.user" and other system stuff). + +* Tue Jul 24 2012 Joerg Bruehe + +- Add a macro "runselftest": + if set to 1 (default), the test suite will be run during the RPM build; + this can be oveeridden via the command line by adding + --define "runselftest 0" + Failures of the test suite will NOT make the RPM build fail! + +* Mon Jul 16 2012 Joerg Bruehe + +- Add the man page for the "mysql_config_editor". + +* Mon Jun 11 2012 Joerg Bruehe + +- Make sure newly added "SPECIFIC-ULN/" directory does not disturb packaging. + +* Wed Feb 29 2012 Brajmohan Saxena + +- Removal all traces of the readline library from mysql (BUG 13738013) + +* Wed Sep 28 2011 Joerg Bruehe + +- Fix duplicate mentioning of "mysql_plugin" and its manual page, + it is better to keep alphabetic order in the files list (merging!). + +* Wed Sep 14 2011 Joerg Bruehe + +- Let the RPM capabilities ("obsoletes" etc) ensure that an upgrade may replace + the RPMs of any configuration (of the current or the preceding release series) + by the new ones. This is done by not using the implicitly generated capabilities + (which include the configuration name) and relying on more generic ones which + just list the function ("server", "client", ...). + The implicit generation cannot be prevented, so all these capabilities must be + explicitly listed in "Obsoletes:" + +* Tue Sep 13 2011 Jonathan Perkin + +- Add support for Oracle Linux 6 and Red Hat Enterprise Linux 6. Due to + changes in RPM behaviour ($RPM_BUILD_ROOT is removed prior to install) + this necessitated a move of the libmygcc.a installation to the install + phase, which is probably where it belonged in the first place. + +* Tue Sep 13 2011 Joerg Bruehe + +- "make_win_bin_dist" and its manual are dropped, cmake does it different. + +* Thu Sep 08 2011 Daniel Fischer + +- Add mysql_plugin man page. + +* Tue Aug 30 2011 Tor Didriksen + +- Set CXX=g++ by default to add a dependency on libgcc/libstdc++. + Also, remove the use of the -fno-exceptions and -fno-rtti flags. + TODO: update distro_buildreq/distro_requires + +* Tue Aug 30 2011 Joerg Bruehe + +- Add the manual page for "mysql_plugin" to the server package. + +* Fri Aug 19 2011 Joerg Bruehe + +- Null-upmerge the fix of bug#37165: This spec file is not affected. +- Replace "/var/lib/mysql" by the spec file variable "%%{mysqldatadir}". + +* Fri Aug 12 2011 Daniel Fischer + +- Source plugin library files list from cmake-generated file. + +* Mon Jul 25 2011 Chuck Bell + +- Added the mysql_plugin client - enables or disables plugins. + +* Thu Jul 21 2011 Sunanda Menon + +- Fix bug#12561297: Added the MySQL embedded binary + +* Thu Jul 07 2011 Joerg Bruehe + +- Fix bug#45415: "rpm upgrade recreates test database" + Let the creation of the "test" database happen only during a new installation, + not in an RPM upgrade. + This affects both the "mkdir" and the call of "mysql_install_db". + +* Wed Feb 09 2011 Joerg Bruehe + +- Fix bug#56581: If an installation deviates from the default file locations + ("datadir" and "pid-file"), the mechanism to detect a running server (on upgrade) + should still work, and use these locations. + The problem was that the fix for bug#27072 did not check for local settings. + +* Mon Jan 31 2011 Joerg Bruehe + +- Install the new "manifest" files: "INFO_SRC" and "INFO_BIN". + +* Tue Nov 23 2010 Jonathan Perkin + +- 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 + +- Added test authentication (WL#1054) plugin binaries + +* Wed Oct 6 2010 Georgi Kodinov + +- Added example external authentication (WL#1054) plugin binaries + +* Wed Aug 11 2010 Joerg Bruehe + +- With a recent spec file cleanup, names have changed: A "-community" part was dropped. + Reflect that in the "Obsoletes" specifications. +- 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". + +* Tue Jun 15 2010 Joerg Bruehe + +- Change the behaviour on installation and upgrade: + On installation, do not autostart the server. + *Iff* the server was stopped before the upgrade is started, this is taken as a + sign the administrator is handling that manually, and so the new server will + not be started automatically at the end of the upgrade. + The start/stop scripts will still be installed, so the server will be started + on the next machine boot. + This is the 5.5 version of fixing bug#27072 (RPM autostarting the server). + +* Tue Jun 1 2010 Jonathan Perkin + +- Implement SELinux checks from distribution-specific spec file. + +* Wed May 12 2010 Jonathan Perkin + +- Large number of changes to build using CMake +- Introduce distribution-specific RPMs +- Drop debuginfo, build all binaries with debug/symbols +- Remove __os_install_post, use native macro +- Remove _unpackaged_files_terminate_build, make it an error to have + unpackaged files +- Remove cluster RPMs + +* Wed Mar 24 2010 Joerg Bruehe + +- Add "--with-perfschema" to the configure options. + +* Mon Mar 22 2010 Joerg Bruehe + +- User "usr/lib*" to allow for both "usr/lib" and "usr/lib64", + mask "rmdir" return code 1. +- Remove "ha_example.*" files from the list, they aren't built. + +* Wed Mar 17 2010 Joerg Bruehe + +- Fix a wrong path name in handling the debug plugins. + +* Wed Mar 10 2010 Joerg Bruehe + +- Take the result of the debug plugin build and put it into the optimized tree, + so that it becomes part of the final installation; + include the files in the packlist. Part of the fixes for bug#49022. + +* Mon Mar 01 2010 Joerg Bruehe + +- Set "Oracle and/or its affiliates" as the vendor and copyright owner, + accept upgrading from packages showing MySQL or Sun as vendor. + +* Fri Feb 12 2010 Joerg Bruehe + +- Formatting changes: + Have a consistent structure of separator lines and of indentation + (8 leading blanks => tab). +- Introduce the variable "src_dir". +- Give the environment variables "MYSQL_BUILD_CC(CXX)" precedence + over "CC" ("CXX"). +- Drop the old "with_static" argument analysis, this is not supported + in 5.1 since ages. +- Introduce variables to control the handlers individually, as well + as other options. +- Use the new "--with-plugin" notation for the table handlers. +- Drop handling "/etc/rc.d/init.d/mysql", the switch to "/etc/init.d/mysql" + was done back in 2002 already. +- Make "--with-zlib-dir=bundled" the default, add an option to disable it. +- Add missing manual pages to the file list. +- Improve the runtime check for "libgcc.a", protect it against being tried + with the Intel compiler "icc". + +* Mon Jan 11 2010 Joerg Bruehe + +- Change RPM file naming: + - Suffix like "-m2", "-rc" becomes part of version as "_m2", "_rc". + - Release counts from 1, not 0. + +* Wed Dec 23 2009 Joerg Bruehe + +- The "semisync" plugin file name has lost its introductory "lib", + adapt the file lists for the subpackages. + This is a part missing from the fix for bug#48351. +- Remove the "fix_privilege_tables" manual, it does not exist in 5.5 + (and likely, the whole script will go, too). + +* Mon Nov 16 2009 Joerg Bruehe + +- Fix some problems with the directives around "tcmalloc" (experimental), + remove erroneous traces of the InnoDB plugin (that is 5.1 only). + +* Tue Oct 06 2009 Magnus Blaudd + +- Removed mysql_fix_privilege_tables + +* Fri Oct 02 2009 Alexander Nozdrin + +- "mysqlmanager" got removed from version 5.4, all references deleted. + +* Fri Aug 28 2009 Joerg Bruehe + +- Merge up from 5.1 to 5.4: Remove handling for the InnoDB plugin. + +* Thu Aug 27 2009 Joerg Bruehe + +- This version does not contain the "Instance manager", "mysqlmanager": + Remove it from the spec file so that packaging succeeds. + +* Mon Aug 24 2009 Jonathan Perkin + +- Add conditionals for bundled zlib and innodb plugin + +* Fri Aug 21 2009 Jonathan Perkin + +- Install plugin libraries in appropriate packages. +- Disable libdaemon_example and ftexample plugins. + +* Thu Aug 20 2009 Jonathan Perkin + +- Update variable used for mysql-test suite location to match source. + +* Fri Nov 07 2008 Joerg Bruehe + +- Correct yesterday's fix, so that it also works for the last flag, + and fix a wrong quoting: un-quoted quote marks must not be escaped. + +* Thu Nov 06 2008 Kent Boortz + +- Removed "mysql_upgrade_shell" +- Removed some copy/paste between debug and normal build + +* Thu Nov 06 2008 Joerg Bruehe + +- Modify CFLAGS and CXXFLAGS such that a debug build is not optimized. + This should cover both gcc and icc flags. Fixes bug#40546. + +* Fri Aug 29 2008 Kent Boortz + +- Removed the "Federated" storage engine option, and enabled in all + +* Tue Aug 26 2008 Joerg Bruehe + +- Get rid of the "warning: Installed (but unpackaged) file(s) found:" + Some generated files aren't needed in RPMs: + - the "sql-bench/" subdirectory + Some files were missing: + - /usr/share/aclocal/mysql.m4 ("devel" subpackage) + - Manual "mysqlbug" ("server" subpackage) + - Program "innochecksum" and its manual ("server" subpackage) + - Manual "mysql_find_rows" ("client" subpackage) + - Script "mysql_upgrade_shell" ("client" subpackage) + - Program "ndb_cpcd" and its manual ("ndb-extra" subpackage) + - Manuals "ndb_mgm" + "ndb_restore" ("ndb-tools" subpackage) + +* Mon Mar 31 2008 Kent Boortz + +- Made the "Federated" storage engine an option +- Made the "Cluster" storage engine and sub packages an option + +* Wed Mar 19 2008 Joerg Bruehe + +- Add the man pages for "ndbd" and "ndb_mgmd". + +* Mon Feb 18 2008 Timothy Smith + +- Require a manual upgrade if the alread-installed mysql-server is + from another vendor, or is of a different major version. + +* Wed May 02 2007 Joerg Bruehe + +- "ndb_size.tmpl" is not needed any more, + "man1/mysql_install_db.1" lacked the trailing '*'. + +* Sat Apr 07 2007 Kent Boortz + +- Removed man page for "mysql_create_system_tables" + +* Wed Mar 21 2007 Daniel Fischer + +- Add debug server. + +* Mon Mar 19 2007 Daniel Fischer + +- Remove Max RPMs; the server RPMs contain a mysqld compiled with all + features that previously only were built into Max. + +* Fri Mar 02 2007 Joerg Bruehe + +- Add several man pages for NDB which are now created. + +* Fri Jan 05 2007 Kent Boortz + +- Put back "libmygcc.a", found no real reason it was removed. + +- Add CFLAGS to gcc call with --print-libgcc-file, to make sure the + correct "libgcc.a" path is returned for the 32/64 bit architecture. + +* Mon Dec 18 2006 Joerg Bruehe + +- Fix the move of "mysqlmanager" to section 8: Directory name was wrong. + +* Thu Dec 14 2006 Joerg Bruehe + +- Include the new man pages for "my_print_defaults" and "mysql_tzinfo_to_sql" + in the server RPM. +- The "mysqlmanager" man page got moved from section 1 to 8. + +* Thu Nov 30 2006 Joerg Bruehe + +- Call "make install" using "benchdir_root=%%{_datadir}", + because that is affecting the regression test suite as well. + +* Thu Nov 16 2006 Joerg Bruehe + +- Explicitly note that the "MySQL-shared" RPMs (as built by MySQL AB) + replace "mysql-shared" (as distributed by SuSE) to allow easy upgrading + (bug#22081). + +* Mon Nov 13 2006 Joerg Bruehe + +- Add "--with-partition" t 2006 Joerg Bruehe + +- Use the Perl script to run the tests, because it will automatically check + whether the server is configured with SSL. + +* Tue Jun 27 2006 Joerg Bruehe + +- move "mysqldumpslow" from the client RPM to the server RPM (bug#20216) + +- Revert all previous attempts to call "mysql_upgrade" during RPM upgrade, + there are some more aspects which need to be solved before this is possible. + For now, just ensure the binary "mysql_upgrade" is delivered and installysql.com> + +- To run "mysql_upgrade", we need a running server; + start it in isolation and skip password checks. + +* Sat May 20 2006 Kent Boortz + +- Always compile for PIC, position independent code. + +* Wed May 10 2006 Kent Boortz + +- Use character set "all" when compiling with Cluster, to make Cluster + nodes independent on the character set directory, and the problem + that two RPM sub packages both wants to install this directory. + +* Mon May 01 2006 Kent Boortz + +- Use "./libtool --mode=execute" instead of searching for the + executable in current directory and ".libs". + +* Fri Apr 28 2006 Kent Boortz + +- Install and run "mysql_upgrade" + +* Wed Apr 12 2006 Jim Winstead + +- Remove sql-bench, and MySQL-bench RPM (will be built as an independent + project from the mysql-bench repository) + +* Tue Apr 11 2006 Jim Winstead + +- Remove old mysqltestmanager and related programs +* Sat Apr 01 2006 Kent Boortz + +- Set $LDFLAGS from $MYSQL_BUILD_LDFLAGS + +* Tue Mar 07 2006 Kent Boortz + +- Changed product name from "Community Edition" to "Community Server" + +* Mon Mar 06 2006 Kent Boortz + +- Fast mutexes is now disabled by default, but should be + used in Linux builds. + +* Mon Feb 20 2006 Kent Boortz + +- Reintroduced a max build +- Limited testing of 'debug' and 'max' servers +- Berkeley DB only in 'max' + +* Mon Feb 13 2006 Joerg Bruehe + +- Use "-i" on "make test-force"; + this is essential for later evaluation of this log file. + +* Thu Feb 09 2006 Kent Boortz + +- Pass '-static' to libtool, link static with our own libraries, dynamic + with system libraries. Link with the bundled zlib. + +* Wed Feb 08 2006 Kristian Nielsen + +- Modified RPM spec to match new 5.1 debug+max combined community packaging. + +* Sun Dec 18 2005 Kent Boortz + +- Added "client/mysqlslap" + +* Mon Dec 12 2005 Rodrigo Novo + +- Added zlib to the list of (static) libraries installed +- Added check against libtool wierdness (WRT: sql/mysqld || sql/.libs/mysqld) +- Compile MySQL with bundled zlib +- Fixed %%packager name to "MySQL Production Engineering Team" + +* Mon Dec 05 2005 Joerg Bruehe + +- Avoid using the "bundled" zlib on "shared" builds: + As it is not installed (on the build system), this gives dependency + problems with "libtool" causing the build to fail. + (Change was done on Nov 11, but left uncommented.) + +* Tue Nov 22 2005 Joerg Bruehe + +- Extend the file existence check for "init.d/mysql" on un-install + to also guard the call to "insserv"/"chkconfig". + +* Thu Oct 27 2005 Lenz Grimmer + +- added more man pages + +* Wed Oct 19 2005 Kent Boortz + +- Made yaSSL support an option (off by default) + +* Wed Oct 19 2005 Kent Boortz + +- Enabled yaSSL support + +* Sat Oct 15 2005 Kent Boortz + +- Give mode arguments the same way in all places +lenz@mysql.com> + +- fixed the removing of the RPM_BUILD_ROOT in the %%clean section (the + $RBR variable did not get expanded, thus leaving old build roots behind) + +* Thu Aug 04 2005 Lenz Grimmer + +- Fixed the creation of the mysql user group account in the postinstall + section (BUG 12348) +- Fixed enabling the Archive storage engine in the Max binary + +* Tue Aug 02 2005 Lenz Grimmer + +- Fixed the Requires: tag for the server RPM (BUG 12233) + +* Fri Jul 15 2005 Lenz Grimmer + +- create a "mysql" user group and assign the mysql user account to that group + in the server postinstall section. (BUG 10984) + +* Tue Jun 14 2005 Lenz Grimmer + +- Do not build statically on i386 by default, only when adding either "--with + static" or "--define '_with_static 1'" to the RPM build options. Static + linking really only makes sense when linking against the specially patched + glibc 2.2.5. + +* Mon Jun 06 2005 Lenz Grimmer + +- added mysql_client_test to the "bench" subpackage (BUG 10676) +- added the libndbclient static and shared libraries (BUG 10676) + +* Wed Jun 01 2005 Lenz Grimmer + +- use "mysqldatadir" variable instead of hard-coding the path multiple times +- use the "mysqld_user" variable on all occasions a user name is referenced +- removed (incomplete) Brazilian translations +- removed redundant release tags from the subpackage descriptions + +* Wed May 25 2005 Joerg Bruehe + +- Added a "make clean" between separate calls to "BuildMySQL". + +* Thu May 12 2005 Guilhem Bichot + +- Removed the mysql_tableinfo script made obsolete by the information schema + +* Wed Apr 20 2005 Lenz Grimmer + +- Enabled the "blackhole" storage engine for the Max RPM + +* Wed Apr 13 2005 Lenz Grimmer + +- removed the MySQL manual files (html/ps/texi) - they have been removed + from the MySQL sources and are now available seperately. + +* Mon Apr 4 2005 Petr Chardin + +- old mysqlmanager, mysq* Mon Feb 7 2005 Tomas Ulin + +- enabled the "Ndbcluster" storage engine for the max binary +- added extra make install in ndb subdir after Max build to get ndb binaries +- added packages for ndbcluster storage engine + +* Fri Jan 14 2005 Lenz Grimmer + +- replaced obsoleted "BuildPrereq" with "BuildRequires" instead + +* Thu Jan 13 2005 Lenz Grimmer + +- enabled the "Federated" storage engine for the max binary + +* Tue Jan 04 2005 Petr Chardin + +- ISAM and merge storage engines were purged. As well as appropriate + tools and manpages (isamchk and isamlog) + +* Fri Dec 31 2004 Lenz Grimmer + +- enabled the "Archive" storage engine for the max binary +- enabled the "CSV" storage engine for the max binary +- enabled the "Example" storage engine for the max binary + +* Thu Aug 26 2004 Lenz Grimmer + +- MySQL-Max now requires MySQL-server instead of MySQL (BUG 3860) + +* Fri Aug 20 2004 Lenz Grimmer + +- do not link statically on IA64/AMD64 as these systems do not have + a patched glibc installed + +* Tue Aug 10 2004 Lenz Grimmer + +- Added libmygcc.a to the devel subpackage (required to link applications + against the the embedded server libmysqld.a) (BUG 4921) + +* Mon Aug 09 2004 Lenz Grimmer + +- Added EXCEPTIONS-CLIENT to the "devel" package + +* Thu Jul 29 2004 Lenz Grimmer + +- disabled OpenSSL in the Max binaries again (the RPM packages were the + only exception to this anyway) (BUG 1043) + +* Wed Jun 30 2004 Lenz Grimmer + +- fixed server postinstall (mysql_install_db was called with the wrong + parameter) + +* Thu Jun 24 2004 Lenz Grimmer + +- added mysql_tzinfo_to_sql to the server subpackage +- run "make clean" instead of "make distclean" + +* Mon Apr 05 2004 Lenz Grimmer + +- added ncurses-devel to the build prerequisites (BUG 3377) + +* Thu Feb 12 2004 Lenz Grimmer + +- when using gcc, _always_ use CXX=gcc +- replaced Copyright with License field (Copyright is obsolete) + +* Tue Feb 03 2004 Lenz Grimmer + +- added myisam_ftdump to the Server package + +* Tue Jan 13 2004 Lenz Grimmer + +- link the mysql client against libreadline instead of libedit (BUG 2289) + +* Mon Dec 22 2003 Lenz Grimmer + +- marked /etc/logrotate.d/mysql as a config file (BUG 2156) + +* Sat Dec 13 2003 Lenz Grimmer + +- fixed file permissions (BUG 1672) + +* Thu Dec 11 2003 Lenz Grimmer + +- made testing for gcc3 a bit more robust + +* Fri Dec 05 2003 Lenz Grimmer + +- added missing file mysql_create_system_tables to the server subpackage + +* Fri Nov 21 2003 Lenz Grimmer + +- removed dependency on MySQL-client from the MySQL-devel subpackage + as it is not really required. (BUG 1610) + +* Fri Aug 29 2003 Lenz Grimmer + +- Fixed BUG 1162 (removed macro names from the changelog) +- Really fixed BUG 998 (disable the checking for installed but + unpackaged files) + +* Tue Aug 05 2003 Lenz Grimmer + +- Fixed BUG 959 (libmysqld not being compiled properly) +- Fixed BUG 998 (RPM build errors): added missing files to the + distribution (mysql_fix_extensions, mysql_tableinfo, mysqldumpslow, + mysql_fix_privilege_tables.1), removed "-n" from install section. + +* Wed Jul 09 2003 Lenz Grimmer + +- removed the GIF Icon (file was not included in the sources anyway) +- removed unused variable shared_lib_version +- do not run automake before building the standard binary + (should not be necessary) +- add server suffix '-standard' to standard binary (to be in line + with the binary tarball distributions) +- Use more RPM macros (_exec_prefix, _sbindir, _libdir, _sysconfdir, + _datadir, _includedir) throughout the spec file. +- allow overriding CC and CXX (required when building with other compilers) + +* Fri May 16 2003 Lenz Grimmer + +- re-enabled RAID again + +* Wed Apr 30 2003 Lenz Grimmer + +- disabled MyISAM RAID (--with-raid)- it throws an assertion which + needs to be investigated first. + +* Mon Mar 10 2003 Lenz Grimmer + +- added missing file mysql_secure_installation to server subpackage + (BUG 141) + +* Tue Feb 11 2003 Lenz Grimmer + +- re-added missing pre- and post(un)install scripts to server subpackage +- added config file /etc/my.cnf to the file list (just for completeness) +- make sure to create the datadir with 755 permissions + +* Mon Jan 27 2003 Lenz Grimmer + +- removed unusedql.com> + +- Reworked the build steps a little bit: the Max binary is supposed + to include OpenSSL, which cannot be linked statically, thus trying + to statically link against a special glibc is futile anyway +- because of this, it is not required to make yet another build run + just to compile the shared libs (saves a lot of time) +- updated package description of the Max subpackage +- clean up the BuildRoot directory afterwards + +* Mon Jul 15 2002 Lenz Grimmer + +- Updated Packager information +- Fixed the build options: the regular package is supposed to + include InnoDB and linked statically, while the Max package + should include BDB and SSL support + +* Fri May 03 2002 Lenz Grimmer + +- Use more RPM macros (e.g. infodir, mandir) to make the spec + file more portable +- reorganized the installation of documentation files: let RPM + take care of this +- reorganized the file list: actually install man pages along + with the binaries of the respective subpackage +- do not include libmysqld.a in the devel subpackage as well, if we + have a special "embedded" subpackage +- reworked the package descriptions + +* Mon Oct 8 2001 Monty + +- Added embedded server as a separate RPM + +* Fri Apr 13 2001 Monty + +- Added mysqld-max to the distribution + +* Tue Jan 2 2001 Monty + +- Added mysql-test to the bench package + +* Fri Aug 18 2000 Tim Smith + +- Added separate libmysql_r directory; now both a threaded + and non-threaded library is shipped. + +* Tue Sep 28 1999 David Axmark + +- Added the support-files/my-example.cnf to the docs directory. + +- Removed devel dependency on base since it is about client + development. + +* Wed Sep 8 1999 David Axmark + +- Cleaned up some for 3.23. + +* Thu Jul 1 1999 David Axmark + +- Added support for shared libraries in a separate sub + package. Original fix by David Fox (dsfox@cogsci.ucsd.edu) + +- The --enable-assembler switch is now automatically disables on + platforms there assembler code is unavailable. This should allow + building this RPM on non i386 systems. + +* Mon Feb 22 1999 David Axmark + +- Removed unportable cc switches from the spec file. The defaults can + now be overridden with environment variables. This feature is used + to compile the official RPM with optimal (but compiler version + specific) switches. + +- Removed the repetitive description parts for the sub rpms. Maybe add + again if RPM gets a multiline macro capability. + +- Added support for a pt_BR translation. Translation contributed by + Jorge Godoy . + +* Wed Nov 4 1998 David Axmark + +- A lot of changes in all the rpm and install scripts. This may even + be a working RPM :-) + +* Sun Aug 16 1998 David Axmark + +- A developers changelog for MySQL is available in the source RPM. And + there is a history of major user visible changed in the Reference + Manual. Only RPM specific changes will be documented here. diff -Nru mysql-5.5-5.5.40/packaging/rpm-sles/mysql-systemd-start mysql-5.5-5.5.41/packaging/rpm-sles/mysql-systemd-start --- mysql-5.5-5.5.40/packaging/rpm-sles/mysql-systemd-start 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.5-5.5.41/packaging/rpm-sles/mysql-systemd-start 2014-11-04 07:49:52.000000000 +0000 @@ -0,0 +1,66 @@ +#! /bin/bash +# +# Scripts to run by MySQL systemd service +# +# Needed argument: pre | post +# +# pre mode : try to run mysql_install_db and fix perms and SELinux contexts +# post mode : ping server until answer is received +# + +install_db () { + # Note: something different than datadir=/var/lib/mysql requires SELinux policy changes (in enforcing mode) + datadir=$(/usr/bin/my_print_defaults server mysqld | grep '^--datadir=' | sed -n 's/--datadir=//p') + + # Restore log, dir, perms and SELinux contexts + [ -d "$datadir" ] || install -d -m 0755 -omysql -gmysql "$datadir" || exit 1 + log=/var/log/mysqld.log + [ -e $log ] || touch $log + chmod 0640 $log + chown mysql:mysql $log || exit 1 + if [ -x /usr/sbin/restorecon ]; then + /usr/sbin/restorecon "$datadir" + /usr/sbin/restorecon $log + fi + + # If special mysql dir is in place, skip db install + [ -d "$datadir/mysql" ] && exit 0 + + # Create initial db + /usr/bin/mysql_install_db --rpm --datadir="$datadir" --user=mysql + + # Create a file to trigger execution of mysql_secure_installation + # after server has started + touch "$datadir"/.phase_two_required + + exit 0 +} + +pinger () { + # Wait for ping to answer to signal startup completed, + # might take a while in case of e.g. crash recovery + # MySQL systemd service will timeout script if no answer + ret=1 + while /bin/true ; do + sleep 1 + mysqladmin ping >/dev/null 2>&1 && ret=0 && break + done + + # If server has been started successfully and file created in + # install_db step is present we run mysql_secure_installation + if [ $ret -eq 0 -a -e "$datadir"/.phase_two_required -a -x /usr/bin/mysql_secure_installation ] ; then + /usr/bin/mysql_secure_installation --use-default --defaults-file=/etc/my.cnf + rm -f "$datadir"/.phase_two_required + fi + + exit 0 +} + +# main +case $1 in + "pre") install_db ;; + "post") pinger ;; +esac + +exit 0 + diff -Nru mysql-5.5-5.5.40/plugin/auth/CMakeLists.txt mysql-5.5-5.5.41/plugin/auth/CMakeLists.txt --- mysql-5.5-5.5.40/plugin/auth/CMakeLists.txt 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/plugin/auth/CMakeLists.txt 2014-11-04 07:49:52.000000000 +0000 @@ -28,7 +28,9 @@ MODULE_ONLY) CHECK_CXX_SOURCE_COMPILES( -"#define _GNU_SOURCE +"#ifndef _GNU_SOURCE +#define _GNU_SOURCE +#endif #include int main() { struct ucred cred; diff -Nru mysql-5.5-5.5.40/scripts/CMakeLists.txt mysql-5.5-5.5.41/scripts/CMakeLists.txt --- mysql-5.5-5.5.40/scripts/CMakeLists.txt 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/scripts/CMakeLists.txt 2014-11-04 07:49:52.000000000 +0000 @@ -88,16 +88,20 @@ IF(CMAKE_GENERATOR MATCHES "Makefiles") # Strip maintainer mode options if necessary - STRING(REPLACE "${MY_MAINTAINER_C_WARNINGS}" "" CFLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_RELWITHDEBINFO}") - STRING(REPLACE "${MY_MAINTAINER_CXX_WARNINGS}" "" CXXFLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") + STRING(REPLACE "${MY_C_WARNING_FLAGS}" "" CFLAGS + "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_RELWITHDEBINFO}") + STRING(REPLACE "${MY_CXX_WARNING_FLAGS}" "" CXXFLAGS + "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") FOREACH(ARCH ${CMAKE_OSX_ARCHITECTURES}) SET(CFLAGS "${CFLAGS} -arch ${ARCH}") SET(CXXFLAGS "${CXXFLAGS} -arch ${ARCH}") ENDFOREACH() ELSE() # Strip maintainer mode options if necessary - STRING(REPLACE "${MY_MAINTAINER_C_WARNINGS}" "" CFLAGS "${CMAKE_C_FLAGS_RELWITHDEBINFO}") - STRING(REPLACE "${MY_MAINTAINER_CXX_WARNINGS}" "" CXXFLAGS "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") + STRING(REPLACE "${MY_C_WARNING_FLAGS}" "" CFLAGS + "${CMAKE_C_FLAGS_RELWITHDEBINFO}") + STRING(REPLACE "${MY_CXX_WARNING_FLAGS}" "" CXXFLAGS + "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") ENDIF() IF(UNIX) diff -Nru mysql-5.5-5.5.40/scripts/fill_help_tables.sql mysql-5.5-5.5.41/scripts/fill_help_tables.sql --- mysql-5.5-5.5.40/scripts/fill_help_tables.sql 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/scripts/fill_help_tables.sql 2014-11-04 07:49:59.000000000 +0000 @@ -15,9 +15,9 @@ -- DO NOT EDIT THIS FILE. It is generated automatically. --- File generation date: 2014-09-06 +-- File generation date: 2014-11-04 -- MySQL series: 5.5 --- Document repository revision: 40029 +-- Document repository revision: 40632 -- To use this file, load its contents into the mysql database. For example, -- with the mysql client program, process the file like this, where @@ -27,10 +27,12 @@ SET NAMES 'utf8'; -DELETE FROM help_topic; -DELETE FROM help_category; -DELETE FROM help_keyword; -DELETE FROM help_relation; +TRUNCATE TABLE help_topic; +TRUNCATE TABLE help_category; +TRUNCATE TABLE help_keyword; +TRUNCATE TABLE help_relation; + +START TRANSACTION; INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (1,'Geographic',0,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (2,'Polygon properties',35,''); @@ -50,8 +52,8 @@ INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (16,'Functions and Modifiers for Use with GROUP BY',36,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (17,'Information Functions',39,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (18,'Storage Engines',36,''); -INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (19,'Comparison operators',39,''); -INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (20,'Bit Functions',39,''); +INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (19,'Bit Functions',39,''); +INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (20,'Comparison operators',39,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (21,'Table Maintenance',36,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (22,'User-Defined Functions',36,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (23,'Data Types',36,''); @@ -73,517 +75,518 @@ INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (39,'Functions',36,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (40,'Data Definition',36,''); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (0,16,'MIN','Syntax:\nMIN([DISTINCT] expr)\n\nReturns the minimum value of expr. MIN() may take a string argument; in\nsuch cases, it returns the minimum string value. See\nhttp://dev.mysql.com/doc/refman/5.5/en/mysql-indexes.html. The DISTINCT\nkeyword can be used to find the minimum of the distinct values of expr,\nhowever, this produces the same result as omitting DISTINCT.\n\nMIN() returns NULL if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','mysql> SELECT student_name, MIN(test_score), MAX(test_score)\n -> FROM student\n -> GROUP BY student_name;\n','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (1,28,'JOIN','MySQL supports the following JOIN syntaxes for the table_references\npart of SELECT statements and multiple-table DELETE and UPDATE\nstatements:\n\ntable_references:\n escaped_table_reference [, escaped_table_reference] ...\n\nescaped_table_reference:\n table_reference\n | { OJ table_reference }\n\ntable_reference:\n table_factor\n | join_table\n\ntable_factor:\n tbl_name [[AS] alias] [index_hint_list]\n | table_subquery [AS] alias\n | ( table_references )\n\njoin_table:\n table_reference [INNER | CROSS] JOIN table_factor [join_condition]\n | table_reference STRAIGHT_JOIN table_factor\n | table_reference STRAIGHT_JOIN table_factor ON conditional_expr\n | table_reference {LEFT|RIGHT} [OUTER] JOIN table_reference join_condition\n | table_reference NATURAL [{LEFT|RIGHT} [OUTER]] JOIN table_factor\n\njoin_condition:\n ON conditional_expr\n | USING (column_list)\n\nindex_hint_list:\n index_hint [, index_hint] ...\n\nindex_hint:\n USE {INDEX|KEY}\n [FOR {JOIN|ORDER BY|GROUP BY}] ([index_list])\n | IGNORE {INDEX|KEY}\n [FOR {JOIN|ORDER BY|GROUP BY}] (index_list)\n | FORCE {INDEX|KEY}\n [FOR {JOIN|ORDER BY|GROUP BY}] (index_list)\n\nindex_list:\n index_name [, index_name] ...\n\nA table reference is also known as a join expression.\n\nThe syntax of table_factor is extended in comparison with the SQL\nStandard. The latter accepts only table_reference, not a list of them\ninside a pair of parentheses.\n\nThis is a conservative extension if we consider each comma in a list of\ntable_reference items as equivalent to an inner join. For example:\n\nSELECT * FROM t1 LEFT JOIN (t2, t3, t4)\n ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c)\n\nis equivalent to:\n\nSELECT * FROM t1 LEFT JOIN (t2 CROSS JOIN t3 CROSS JOIN t4)\n ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c)\n\nIn MySQL, JOIN, CROSS JOIN, and INNER JOIN are syntactic equivalents\n(they can replace each other). In standard SQL, they are not\nequivalent. INNER JOIN is used with an ON clause, CROSS JOIN is used\notherwise.\n\nIn general, parentheses can be ignored in join expressions containing\nonly inner join operations. MySQL also supports nested joins (see\nhttp://dev.mysql.com/doc/refman/5.5/en/nested-join-optimization.html).\n\nIndex hints can be specified to affect how the MySQL optimizer makes\nuse of indexes. For more information, see\nhttp://dev.mysql.com/doc/refman/5.5/en/index-hints.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/join.html\n\n','SELECT left_tbl.*\n FROM left_tbl LEFT JOIN right_tbl ON left_tbl.id = right_tbl.id\n WHERE right_tbl.id IS NULL;\n','http://dev.mysql.com/doc/refman/5.5/en/join.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (2,38,'HEX','Syntax:\nHEX(str), HEX(N)\n\nFor a string argument str, HEX() returns a hexadecimal string\nrepresentation of str where each byte of each character in str is\nconverted to two hexadecimal digits. (Multibyte characters therefore\nbecome more than two digits.) The inverse of this operation is\nperformed by the UNHEX() function.\n\nFor a numeric argument N, HEX() returns a hexadecimal string\nrepresentation of the value of N treated as a longlong (BIGINT) number.\nThis is equivalent to CONV(N,10,16). The inverse of this operation is\nperformed by CONV(HEX(N),16,10).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT 0x616263, HEX(\'abc\'), UNHEX(HEX(\'abc\'));\n -> \'abc\', 616263, \'abc\'\nmysql> SELECT HEX(255), CONV(HEX(255),16,10);\n -> \'FF\', 255\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (3,28,'REPLACE','Syntax:\nREPLACE [LOW_PRIORITY | DELAYED]\n [INTO] tbl_name [(col_name,...)]\n {VALUES | VALUE} ({expr | DEFAULT},...),(...),...\n\nOr:\n\nREPLACE [LOW_PRIORITY | DELAYED]\n [INTO] tbl_name\n SET col_name={expr | DEFAULT}, ...\n\nOr:\n\nREPLACE [LOW_PRIORITY | DELAYED]\n [INTO] tbl_name [(col_name,...)]\n SELECT ...\n\nREPLACE works exactly like INSERT, except that if an old row in the\ntable has the same value as a new row for a PRIMARY KEY or a UNIQUE\nindex, the old row is deleted before the new row is inserted. See [HELP\nINSERT].\n\nREPLACE is a MySQL extension to the SQL standard. It either inserts, or\ndeletes and inserts. For another MySQL extension to standard SQL---that\neither inserts or updates---see\nhttp://dev.mysql.com/doc/refman/5.5/en/insert-on-duplicate.html.\n\nNote that unless the table has a PRIMARY KEY or UNIQUE index, using a\nREPLACE statement makes no sense. It becomes equivalent to INSERT,\nbecause there is no index to be used to determine whether a new row\nduplicates another.\n\nValues for all columns are taken from the values specified in the\nREPLACE statement. Any missing columns are set to their default values,\njust as happens for INSERT. You cannot refer to values from the current\nrow and use them in the new row. If you use an assignment such as SET\ncol_name = col_name + 1, the reference to the column name on the right\nhand side is treated as DEFAULT(col_name), so the assignment is\nequivalent to SET col_name = DEFAULT(col_name) + 1.\n\nTo use REPLACE, you must have both the INSERT and DELETE privileges for\nthe table.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/replace.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/replace.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (4,31,'CONTAINS','Contains(g1,g2)\n\nReturns 1 or 0 to indicate whether g1 completely contains g2. This\ntests the opposite relationship as Within().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (5,37,'SRID','SRID(g)\n\nReturns an integer indicating the Spatial Reference System ID for the\ngeometry value g.\n\nIn MySQL, the SRID value is just an integer associated with the\ngeometry value. All calculations are done assuming Euclidean (planar)\ngeometry.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html\n\n','mysql> SELECT SRID(GeomFromText(\'LineString(1 1,2 2)\',101));\n+-----------------------------------------------+\n| SRID(GeomFromText(\'LineString(1 1,2 2)\',101)) |\n+-----------------------------------------------+\n| 101 |\n+-----------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (6,32,'CURRENT_TIMESTAMP','Syntax:\nCURRENT_TIMESTAMP, CURRENT_TIMESTAMP()\n\nCURRENT_TIMESTAMP and CURRENT_TIMESTAMP() are synonyms for NOW().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (7,27,'SHOW CONTRIBUTORS','Syntax:\nSHOW CONTRIBUTORS\n\nThe SHOW CONTRIBUTORS statement displays information about the people\nwho contribute to MySQL source or to causes that we support. For each\ncontributor, it displays Name, Location, and Comment values.\n\nThis statement is deprecated as of MySQL 5.5.29 and is removed in MySQL\n5.6.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-contributors.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-contributors.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (8,16,'VARIANCE','Syntax:\nVARIANCE(expr)\n\nReturns the population standard variance of expr. This is an extension\nto standard SQL. The standard SQL function VAR_POP() can be used\ninstead.\n\nVARIANCE() returns NULL if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (9,40,'DROP SERVER','Syntax:\nDROP SERVER [ IF EXISTS ] server_name\n\nDrops the server definition for the server named server_name. The\ncorresponding row in the mysql.servers table is deleted. This statement\nrequires the SUPER privilege.\n\nDropping a server for a table does not affect any FEDERATED tables that\nused this connection information when they were created. See [HELP\nCREATE SERVER].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/drop-server.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/drop-server.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (10,27,'SHOW AUTHORS','Syntax:\nSHOW AUTHORS\n\nThe SHOW AUTHORS statement displays information about the people who\nwork on MySQL. For each author, it displays Name, Location, and Comment\nvalues.\n\nThis statement is deprecated as of MySQL 5.5.29 and is removed in MySQL\n5.6.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-authors.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-authors.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (11,16,'VAR_SAMP','Syntax:\nVAR_SAMP(expr)\n\nReturns the sample variance of expr. That is, the denominator is the\nnumber of rows minus one.\n\nVAR_SAMP() returns NULL if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (12,38,'CONCAT','Syntax:\nCONCAT(str1,str2,...)\n\nReturns the string that results from concatenating the arguments. May\nhave one or more arguments. If all arguments are nonbinary strings, the\nresult is a nonbinary string. If the arguments include any binary\nstrings, the result is a binary string. A numeric argument is converted\nto its equivalent string form. This is a nonbinary string as of MySQL\n5.5.3. Before 5.5.3, it is a binary string; to avoid that and produce a\nnonbinary string, you can use an explicit type cast, as in this\nexample:\n\nSELECT CONCAT(CAST(int_col AS CHAR), char_col);\n\nCONCAT() returns NULL if any argument is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT CONCAT(\'My\', \'S\', \'QL\');\n -> \'MySQL\'\nmysql> SELECT CONCAT(\'My\', NULL, \'QL\');\n -> NULL\nmysql> SELECT CONCAT(14.3);\n -> \'14.3\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (13,35,'GEOMETRY HIERARCHY','Geometry is the base class. It is an abstract class. The instantiable\nsubclasses of Geometry are restricted to zero-, one-, and\ntwo-dimensional geometric objects that exist in two-dimensional\ncoordinate space. All instantiable geometry classes are defined so that\nvalid instances of a geometry class are topologically closed (that is,\nall defined geometries include their boundary).\n\nThe base Geometry class has subclasses for Point, Curve, Surface, and\nGeometryCollection:\n\no Point represents zero-dimensional objects.\n\no Curve represents one-dimensional objects, and has subclass\n LineString, with sub-subclasses Line and LinearRing.\n\no Surface is designed for two-dimensional objects and has subclass\n Polygon.\n\no GeometryCollection has specialized zero-, one-, and two-dimensional\n collection classes named MultiPoint, MultiLineString, and\n MultiPolygon for modeling geometries corresponding to collections of\n Points, LineStrings, and Polygons, respectively. MultiCurve and\n MultiSurface are introduced as abstract superclasses that generalize\n the collection interfaces to handle Curves and Surfaces.\n\nGeometry, Curve, Surface, MultiCurve, and MultiSurface are defined as\nnoninstantiable classes. They define a common set of methods for their\nsubclasses and are included for extensibility.\n\nPoint, LineString, Polygon, GeometryCollection, MultiPoint,\nMultiLineString, and MultiPolygon are instantiable classes.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-geometry-class-hierarchy.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-geometry-class-hierarchy.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (14,38,'CHAR FUNCTION','Syntax:\nCHAR(N,... [USING charset_name])\n\nCHAR() interprets each argument N as an integer and returns a string\nconsisting of the characters given by the code values of those\nintegers. NULL values are skipped.\nBy default, CHAR() returns a binary string. To produce a string in a\ngiven character set, use the optional USING clause:\n\nmysql> SELECT CHARSET(CHAR(0x65)), CHARSET(CHAR(0x65 USING utf8));\n+---------------------+--------------------------------+\n| CHARSET(CHAR(0x65)) | CHARSET(CHAR(0x65 USING utf8)) |\n+---------------------+--------------------------------+\n| binary | utf8 |\n+---------------------+--------------------------------+\n\nIf USING is given and the result string is illegal for the given\ncharacter set, a warning is issued. Also, if strict SQL mode is\nenabled, the result from CHAR() becomes NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT CHAR(77,121,83,81,\'76\');\n -> \'MySQL\'\nmysql> SELECT CHAR(77,77.3,\'77.3\');\n -> \'MMM\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (15,23,'DATETIME','DATETIME\n\nA date and time combination. The supported range is \'1000-01-01\n00:00:00\' to \'9999-12-31 23:59:59\'. MySQL displays DATETIME values in\n\'YYYY-MM-DD HH:MM:SS\' format, but permits assignment of values to\nDATETIME columns using either strings or numbers.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (16,27,'SHOW CREATE TRIGGER','Syntax:\nSHOW CREATE TRIGGER trigger_name\n\nThis statement shows the CREATE TRIGGER statement that creates the\nnamed trigger.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-create-trigger.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-create-trigger.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (17,27,'SHOW CREATE PROCEDURE','Syntax:\nSHOW CREATE PROCEDURE proc_name\n\nThis statement is a MySQL extension. It returns the exact string that\ncan be used to re-create the named stored procedure. A similar\nstatement, SHOW CREATE FUNCTION, displays information about stored\nfunctions (see [HELP SHOW CREATE FUNCTION]).\n\nTo use either statement, you must be the owner of the routine or have\nSELECT access to the mysql.proc table. If you do not have privileges\nfor the routine itself, the value displayed for the Create Procedure or\nCreate Function field will be NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-create-procedure.html\n\n','mysql> SHOW CREATE PROCEDURE test.simpleproc\\G\n*************************** 1. row ***************************\n Procedure: simpleproc\n sql_mode:\n Create Procedure: CREATE PROCEDURE `simpleproc`(OUT param1 INT)\n BEGIN\n SELECT COUNT(*) INTO param1 FROM t;\n END\ncharacter_set_client: latin1\ncollation_connection: latin1_swedish_ci\n Database Collation: latin1_swedish_ci\n\nmysql> SHOW CREATE FUNCTION test.hello\\G\n*************************** 1. row ***************************\n Function: hello\n sql_mode:\n Create Function: CREATE FUNCTION `hello`(s CHAR(20))\n RETURNS CHAR(50)\n RETURN CONCAT(\'Hello, \',s,\'!\')\ncharacter_set_client: latin1\ncollation_connection: latin1_swedish_ci\n Database Collation: latin1_swedish_ci\n','http://dev.mysql.com/doc/refman/5.5/en/show-create-procedure.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (18,24,'OPEN','Syntax:\nOPEN cursor_name\n\nThis statement opens a previously declared cursor. For an example, see\nhttp://dev.mysql.com/doc/refman/5.5/en/cursors.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/open.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/open.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (19,23,'INTEGER','INTEGER[(M)] [UNSIGNED] [ZEROFILL]\n\nThis type is a synonym for INT.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (20,38,'LOWER','Syntax:\nLOWER(str)\n\nReturns the string str with all characters changed to lowercase\naccording to the current character set mapping. The default is latin1\n(cp1252 West European).\n\nmysql> SELECT LOWER(\'QUADRATICALLY\');\n -> \'quadratically\'\n\nLOWER() (and UPPER()) are ineffective when applied to binary strings\n(BINARY, VARBINARY, BLOB). To perform lettercase conversion, convert\nthe string to a nonbinary string:\n\nmysql> SET @str = BINARY \'New York\';\nmysql> SELECT LOWER(@str), LOWER(CONVERT(@str USING latin1));\n+-------------+-----------------------------------+\n| LOWER(@str) | LOWER(CONVERT(@str USING latin1)) |\n+-------------+-----------------------------------+\n| New York | new york |\n+-------------+-----------------------------------+\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (21,27,'SHOW COLUMNS','Syntax:\nSHOW [FULL] COLUMNS {FROM | IN} tbl_name [{FROM | IN} db_name]\n [LIKE \'pattern\' | WHERE expr]\n\nSHOW COLUMNS displays information about the columns in a given table.\nIt also works for views. The LIKE clause, if present, indicates which\ncolumn names to match. The WHERE clause can be given to select rows\nusing more general conditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.5/en/extended-show.html.\n\nSHOW COLUMNS displays information only for those columns for which you\nhave some privilege.\n\nmysql> SHOW COLUMNS FROM City;\n+------------+----------+------+-----+---------+----------------+\n| Field | Type | Null | Key | Default | Extra |\n+------------+----------+------+-----+---------+----------------+\n| Id | int(11) | NO | PRI | NULL | auto_increment |\n| Name | char(35) | NO | | | |\n| Country | char(3) | NO | UNI | | |\n| District | char(20) | YES | MUL | | |\n| Population | int(11) | NO | | 0 | |\n+------------+----------+------+-----+---------+----------------+\n5 rows in set (0.00 sec)\n\nIf the data types differ from what you expect them to be based on a\nCREATE TABLE statement, note that MySQL sometimes changes data types\nwhen you create or alter a table. The conditions under which this\noccurs are described in\nhttp://dev.mysql.com/doc/refman/5.5/en/silent-column-changes.html.\n\nThe FULL keyword causes the output to include the column collation and\ncomments, as well as the privileges you have for each column.\n\nYou can use db_name.tbl_name as an alternative to the tbl_name FROM\ndb_name syntax. In other words, these two statements are equivalent:\n\nmysql> SHOW COLUMNS FROM mytable FROM mydb;\nmysql> SHOW COLUMNS FROM mydb.mytable;\n\nSHOW COLUMNS displays the following values for each table column:\n\nField indicates the column name.\n\nType indicates the column data type.\n\nCollation indicates the collation for nonbinary string columns, or NULL\nfor other columns. This value is displayed only if you use the FULL\nkeyword.\n\nThe Null field contains YES if NULL values can be stored in the column,\nNO if not.\n\nThe Key field indicates whether the column is indexed:\n\no If Key is empty, the column either is not indexed or is indexed only\n as a secondary column in a multiple-column, nonunique index.\n\no If Key is PRI, the column is a PRIMARY KEY or is one of the columns\n in a multiple-column PRIMARY KEY.\n\no If Key is UNI, the column is the first column of a UNIQUE index. (A\n UNIQUE index permits multiple NULL values, but you can tell whether\n the column permits NULL by checking the Null field.)\n\no If Key is MUL, the column is the first column of a nonunique index in\n which multiple occurrences of a given value are permitted within the\n column.\n\nIf more than one of the Key values applies to a given column of a\ntable, Key displays the one with the highest priority, in the order\nPRI, UNI, MUL.\n\nA UNIQUE index may be displayed as PRI if it cannot contain NULL values\nand there is no PRIMARY KEY in the table. A UNIQUE index may display as\nMUL if several columns form a composite UNIQUE index; although the\ncombination of the columns is unique, each column can still hold\nmultiple occurrences of a given value.\n\nThe Default field indicates the default value that is assigned to the\ncolumn. This is NULL if the column has an explicit default of NULL, or\nif the column definition has no DEFAULT clause.\n\nThe Extra field contains any additional information that is available\nabout a given column. The value is nonempty in these cases:\nauto_increment for columns that have the AUTO_INCREMENT attribute; on\nupdate CURRENT_TIMESTAMP for TIMESTAMP columns that have the ON UPDATE\nCURRENT_TIMESTAMP attribute.\n\nPrivileges indicates the privileges you have for the column. This value\nis displayed only if you use the FULL keyword.\n\nComment indicates any comment the column has. This value is displayed\nonly if you use the FULL keyword.\n\nSHOW FIELDS is a synonym for SHOW COLUMNS. You can also list a table\'s\ncolumns with the mysqlshow db_name tbl_name command.\n\nThe DESCRIBE statement provides information similar to SHOW COLUMNS.\nSee http://dev.mysql.com/doc/refman/5.5/en/describe.html.\n\nThe SHOW CREATE TABLE, SHOW TABLE STATUS, and SHOW INDEX statements\nalso provide information about tables. See [HELP SHOW].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-columns.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-columns.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (22,40,'CREATE TRIGGER','Syntax:\nCREATE\n [DEFINER = { user | CURRENT_USER }]\n TRIGGER trigger_name\n trigger_time trigger_event\n ON tbl_name FOR EACH ROW\n trigger_body\n\ntrigger_time: { BEFORE | AFTER }\n\ntrigger_event: { INSERT | UPDATE | DELETE }\n\nThis statement creates a new trigger. A trigger is a named database\nobject that is associated with a table, and that activates when a\nparticular event occurs for the table. The trigger becomes associated\nwith the table named tbl_name, which must refer to a permanent table.\nYou cannot associate a trigger with a TEMPORARY table or a view.\n\nTrigger names exist in the schema namespace, meaning that all triggers\nmust have unique names within a schema. Triggers in different schemas\ncan have the same name.\n\nThis section describes CREATE TRIGGER syntax. For additional\ndiscussion, see\nhttp://dev.mysql.com/doc/refman/5.5/en/trigger-syntax.html.\n\nCREATE TRIGGER requires the TRIGGER privilege for the table associated\nwith the trigger. The statement might also require the SUPER privilege,\ndepending on the DEFINER value, as described later in this section. If\nbinary logging is enabled, CREATE TRIGGER might require the SUPER\nprivilege, as described in\nhttp://dev.mysql.com/doc/refman/5.5/en/stored-programs-logging.html.\n\nThe DEFINER clause determines the security context to be used when\nchecking access privileges at trigger activation time, as described\nlater in this section.\n\ntrigger_time is the trigger action time. It can be BEFORE or AFTER to\nindicate that the trigger activates before or after each row to be\nmodified.\n\ntrigger_event indicates the kind of operation that activates the\ntrigger. These trigger_event values are permitted:\n\no INSERT: The trigger activates whenever a new row is inserted into the\n table; for example, through INSERT, LOAD DATA, and REPLACE\n statements.\n\no UPDATE: The trigger activates whenever a row is modified; for\n example, through UPDATE statements.\n\no DELETE: The trigger activates whenever a row is deleted from the\n table; for example, through DELETE and REPLACE statements. DROP TABLE\n and TRUNCATE TABLE statements on the table do not activate this\n trigger, because they do not use DELETE. Dropping a partition does\n not activate DELETE triggers, either.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-trigger.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/create-trigger.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (23,32,'MONTH','Syntax:\nMONTH(date)\n\nReturns the month for date, in the range 1 to 12 for January to\nDecember, or 0 for dates such as \'0000-00-00\' or \'2008-00-00\' that have\na zero month part.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT MONTH(\'2008-02-03\');\n -> 2\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (24,23,'TINYINT','TINYINT[(M)] [UNSIGNED] [ZEROFILL]\n\nA very small integer. The signed range is -128 to 127. The unsigned\nrange is 0 to 255.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (25,27,'SHOW TRIGGERS','Syntax:\nSHOW TRIGGERS [{FROM | IN} db_name]\n [LIKE \'pattern\' | WHERE expr]\n\nSHOW TRIGGERS lists the triggers currently defined for tables in a\ndatabase (the default database unless a FROM clause is given). This\nstatement returns results only for databases and tables for which you\nhave the TRIGGER privilege. The LIKE clause, if present, indicates\nwhich table names to match (not trigger names) and causes the statement\nto display triggers for those tables. The WHERE clause can be given to\nselect rows using more general conditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.5/en/extended-show.html.\n\nFor the trigger ins_sum as defined in\nhttp://dev.mysql.com/doc/refman/5.5/en/triggers.html, the output of\nthis statement is as shown here:\n\nmysql> SHOW TRIGGERS LIKE \'acc%\'\\G\n*************************** 1. row ***************************\n Trigger: ins_sum\n Event: INSERT\n Table: account\n Statement: SET @sum = @sum + NEW.amount\n Timing: BEFORE\n Created: NULL\n sql_mode:\n Definer: myname@localhost\ncharacter_set_client: latin1\ncollation_connection: latin1_swedish_ci\n Database Collation: latin1_swedish_ci\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-triggers.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-triggers.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (26,14,'MASTER_POS_WAIT','Syntax:\nMASTER_POS_WAIT(log_name,log_pos[,timeout])\n\nThis function is useful for control of master/slave synchronization. It\nblocks until the slave has read and applied all updates up to the\nspecified position in the master log. The return value is the number of\nlog events the slave had to wait for to advance to the specified\nposition. The function returns NULL if the slave SQL thread is not\nstarted, the slave\'s master information is not initialized, the\narguments are incorrect, or an error occurs. It returns -1 if the\ntimeout has been exceeded. If the slave SQL thread stops while\nMASTER_POS_WAIT() is waiting, the function returns NULL. If the slave\nis past the specified position, the function returns immediately.\n\nIf a timeout value is specified, MASTER_POS_WAIT() stops waiting when\ntimeout seconds have elapsed. timeout must be greater than 0; a zero or\nnegative timeout means no timeout.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (27,13,'ISCLOSED','IsClosed(ls)\n\nReturns 1 if the LineString value ls is closed (that is, its\nStartPoint() and EndPoint() values are the same) and is simple (does\nnot pass through the same point more than once). Returns 0 if ls is not\nclosed, and -1 if it is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-linestring-property-functions.html\n\n','mysql> SET @ls1 = \'LineString(1 1,2 2,3 3,2 2)\';\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SET @ls2 = \'LineString(1 1,2 2,3 3,1 1)\';\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SELECT IsClosed(GeomFromText(@ls1));\n+------------------------------+\n| IsClosed(GeomFromText(@ls1)) |\n+------------------------------+\n| 0 |\n+------------------------------+\n1 row in set (0.00 sec)\n\nmysql> SELECT IsClosed(GeomFromText(@ls2));\n+------------------------------+\n| IsClosed(GeomFromText(@ls2)) |\n+------------------------------+\n| 1 |\n+------------------------------+\n1 row in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.5/en/gis-linestring-property-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (28,38,'REGEXP','Syntax:\nexpr REGEXP pat, expr RLIKE pat\n\nPerforms a pattern match of a string expression expr against a pattern\npat. The pattern can be an extended regular expression, the syntax for\nwhich is discussed later in this section. Returns 1 if expr matches\npat; otherwise it returns 0. If either expr or pat is NULL, the result\nis NULL. RLIKE is a synonym for REGEXP, provided for mSQL\ncompatibility.\n\nThe pattern need not be a literal string. For example, it can be\nspecified as a string expression or table column.\n\n*Note*: Because MySQL uses the C escape syntax in strings (for example,\n"\\n" to represent the newline character), you must double any "\\" that\nyou use in your REGEXP strings.\n\nREGEXP is not case sensitive, except when used with binary strings.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/regexp.html\n\n','mysql> SELECT \'Monty!\' REGEXP \'.*\';\n -> 1\nmysql> SELECT \'new*\\n*line\' REGEXP \'new\\\\*.\\\\*line\';\n -> 1\nmysql> SELECT \'a\' REGEXP \'A\', \'a\' REGEXP BINARY \'A\';\n -> 1 0\nmysql> SELECT \'a\' REGEXP \'^[a-d]\';\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/regexp.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (29,24,'IF STATEMENT','Syntax:\nIF search_condition THEN statement_list\n [ELSEIF search_condition THEN statement_list] ...\n [ELSE statement_list]\nEND IF\n\nThe IF statement for stored programs implements a basic conditional\nconstruct.\n\n*Note*: There is also an IF() function, which differs from the IF\nstatement described here. See\nhttp://dev.mysql.com/doc/refman/5.5/en/control-flow-functions.html. The\nIF statement can have THEN, ELSE, and ELSEIF clauses, and it is\nterminated with END IF.\n\nIf the search_condition evaluates to true, the corresponding THEN or\nELSEIF clause statement_list executes. If no search_condition matches,\nthe ELSE clause statement_list executes.\n\nEach statement_list consists of one or more SQL statements; an empty\nstatement_list is not permitted.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/if.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/if.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (30,20,'^','Syntax:\n^\n\nBitwise XOR:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html\n\n','mysql> SELECT 1 ^ 1;\n -> 0\nmysql> SELECT 1 ^ 0;\n -> 1\nmysql> SELECT 11 ^ 3;\n -> 8\n','http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (31,40,'DROP VIEW','Syntax:\nDROP VIEW [IF EXISTS]\n view_name [, view_name] ...\n [RESTRICT | CASCADE]\n\nDROP VIEW removes one or more views. You must have the DROP privilege\nfor each view. If any of the views named in the argument list do not\nexist, MySQL returns an error indicating by name which nonexisting\nviews it was unable to drop, but it also drops all of the views in the\nlist that do exist.\n\nThe IF EXISTS clause prevents an error from occurring for views that\ndon\'t exist. When this clause is given, a NOTE is generated for each\nnonexistent view. See [HELP SHOW WARNINGS].\n\nRESTRICT and CASCADE, if given, are parsed and ignored.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/drop-view.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/drop-view.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (32,31,'WITHIN','Within(g1,g2)\n\nReturns 1 or 0 to indicate whether g1 is spatially within g2. This\ntests the opposite relationship as Contains().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (33,32,'WEEK','Syntax:\nWEEK(date[,mode])\n\nThis function returns the week number for date. The two-argument form\nof WEEK() enables you to specify whether the week starts on Sunday or\nMonday and whether the return value should be in the range from 0 to 53\nor from 1 to 53. If the mode argument is omitted, the value of the\ndefault_week_format system variable is used. See\nhttp://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT WEEK(\'2008-02-20\');\n -> 7\nmysql> SELECT WEEK(\'2008-02-20\',0);\n -> 7\nmysql> SELECT WEEK(\'2008-02-20\',1);\n -> 8\nmysql> SELECT WEEK(\'2008-12-31\',1);\n -> 53\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (34,27,'SHOW PLUGINS','Syntax:\nSHOW PLUGINS\n\nSHOW PLUGINS displays information about server plugins. Plugin\ninformation is also available in the INFORMATION_SCHEMA.PLUGINS table.\nSee http://dev.mysql.com/doc/refman/5.5/en/plugins-table.html.\n\nExample of SHOW PLUGINS output:\n\nmysql> SHOW PLUGINS\\G\n*************************** 1. row ***************************\n Name: binlog\n Status: ACTIVE\n Type: STORAGE ENGINE\nLibrary: NULL\nLicense: GPL\n*************************** 2. row ***************************\n Name: CSV\n Status: ACTIVE\n Type: STORAGE ENGINE\nLibrary: NULL\nLicense: GPL\n*************************** 3. row ***************************\n Name: MEMORY\n Status: ACTIVE\n Type: STORAGE ENGINE\nLibrary: NULL\nLicense: GPL\n*************************** 4. row ***************************\n Name: MyISAM\n Status: ACTIVE\n Type: STORAGE ENGINE\nLibrary: NULL\nLicense: GPL\n...\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-plugins.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-plugins.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (35,22,'DROP FUNCTION UDF','Syntax:\nDROP FUNCTION function_name\n\nThis statement drops the user-defined function (UDF) named\nfunction_name.\n\nTo drop a function, you must have the DELETE privilege for the mysql\ndatabase. This is because DROP FUNCTION removes a row from the\nmysql.func system table that records the function\'s name, type, and\nshared library name.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/drop-function-udf.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/drop-function-udf.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (36,8,'PREPARE','Syntax:\nPREPARE stmt_name FROM preparable_stmt\n\nThe PREPARE statement prepares a SQL statement and assigns it a name,\nstmt_name, by which to refer to the statement later. The prepared\nstatement is executed with EXECUTE and released with DEALLOCATE\nPREPARE. For examples, see\nhttp://dev.mysql.com/doc/refman/5.5/en/sql-syntax-prepared-statements.h\ntml.\n\nStatement names are not case sensitive. preparable_stmt is either a\nstring literal or a user variable that contains the text of the SQL\nstatement. The text must represent a single statement, not multiple\nstatements. Within the statement, ? characters can be used as parameter\nmarkers to indicate where data values are to be bound to the query\nlater when you execute it. The ? characters should not be enclosed\nwithin quotation marks, even if you intend to bind them to string\nvalues. Parameter markers can be used only where data values should\nappear, not for SQL keywords, identifiers, and so forth.\n\nIf a prepared statement with the given name already exists, it is\ndeallocated implicitly before the new statement is prepared. This means\nthat if the new statement contains an error and cannot be prepared, an\nerror is returned and no statement with the given name exists.\n\nThe scope of a prepared statement is the session within which it is\ncreated, which as several implications:\n\no A prepared statement created in one session is not available to other\n sessions.\n\no When a session ends, whether normally or abnormally, its prepared\n statements no longer exist. If auto-reconnect is enabled, the client\n is not notified that the connection was lost. For this reason,\n clients may wish to disable auto-reconnect. See\n http://dev.mysql.com/doc/refman/5.5/en/auto-reconnect.html.\n\no A prepared statement created within a stored program continues to\n exist after the program finishes executing and can be executed\n outside the program later.\n\no A statement prepared in stored program context cannot refer to stored\n procedure or function parameters or local variables because they go\n out of scope when the program ends and would be unavailable were the\n statement to be executed later outside the program. As a workaround,\n refer instead to user-defined variables, which also have session\n scope; see\n http://dev.mysql.com/doc/refman/5.5/en/user-variables.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/prepare.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/prepare.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (37,8,'LOCK','Syntax:\nLOCK TABLES\n tbl_name [[AS] alias] lock_type\n [, tbl_name [[AS] alias] lock_type] ...\n\nlock_type:\n READ [LOCAL]\n | [LOW_PRIORITY] WRITE\n\nUNLOCK TABLES\n\nMySQL enables client sessions to acquire table locks explicitly for the\npurpose of cooperating with other sessions for access to tables, or to\nprevent other sessions from modifying tables during periods when a\nsession requires exclusive access to them. A session can acquire or\nrelease locks only for itself. One session cannot acquire locks for\nanother session or release locks held by another session.\n\nLocks may be used to emulate transactions or to get more speed when\nupdating tables. This is explained in more detail later in this\nsection.\n\nLOCK TABLES explicitly acquires table locks for the current client\nsession. Table locks can be acquired for base tables or views. You must\nhave the LOCK TABLES privilege, and the SELECT privilege for each\nobject to be locked.\n\nFor view locking, LOCK TABLES adds all base tables used in the view to\nthe set of tables to be locked and locks them automatically. If you\nlock a table explicitly with LOCK TABLES, any tables used in triggers\nare also locked implicitly, as described in\nhttp://dev.mysql.com/doc/refman/5.5/en/lock-tables-and-triggers.html.\n\nUNLOCK TABLES explicitly releases any table locks held by the current\nsession. LOCK TABLES implicitly releases any table locks held by the\ncurrent session before acquiring new locks.\n\nAnother use for UNLOCK TABLES is to release the global read lock\nacquired with the FLUSH TABLES WITH READ LOCK statement, which enables\nyou to lock all tables in all databases. See [HELP FLUSH]. (This is a\nvery convenient way to get backups if you have a file system such as\nVeritas that can take snapshots in time.)\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/lock-tables.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/lock-tables.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (38,38,'UPDATEXML','Syntax:\nUpdateXML(xml_target, xpath_expr, new_xml)\n\nThis function replaces a single portion of a given fragment of XML\nmarkup xml_target with a new XML fragment new_xml, and then returns the\nchanged XML. The portion of xml_target that is replaced matches an\nXPath expression xpath_expr supplied by the user. In MySQL 5.5, the\nXPath expression can contain at most 127 characters. (This limitation\nis lifted in MySQL 5.6.)\n\nIf no expression matching xpath_expr is found, or if multiple matches\nare found, the function returns the original xml_target XML fragment.\nAll three arguments should be strings.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/xml-functions.html\n\n','mysql> SELECT\n -> UpdateXML(\'ccc\', \'/a\', \'fff\') AS val1,\n -> UpdateXML(\'ccc\', \'/b\', \'fff\') AS val2,\n -> UpdateXML(\'ccc\', \'//b\', \'fff\') AS val3,\n -> UpdateXML(\'ccc\', \'/a/d\', \'fff\') AS val4,\n -> UpdateXML(\'ccc\', \'/a/d\', \'fff\') AS val5\n -> \\G\n\n*************************** 1. row ***************************\nval1: fff\nval2: ccc\nval3: fff\nval4: cccfff\nval5: ccc\n','http://dev.mysql.com/doc/refman/5.5/en/xml-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (39,8,'RESET SLAVE','Syntax:\nRESET SLAVE [ALL]\n\nRESET SLAVE makes the slave forget its replication position in the\nmaster\'s binary log. This statement is meant to be used for a clean\nstart: It deletes the master.info and relay-log.info files, all the\nrelay log files, and starts a new relay log file. To use RESET SLAVE,\nthe slave replication threads must be stopped (use STOP SLAVE if\nnecessary).\n\n*Note*: All relay log files are deleted, even if they have not been\ncompletely executed by the slave SQL thread. (This is a condition\nlikely to exist on a replication slave if you have issued a STOP SLAVE\nstatement or if the slave is highly loaded.)\n\nIn MySQL 5.5 (unlike the case in MySQL 5.1 and earlier), RESET SLAVE\ndoes not change any replication connection parameters such as master\nhost, master port, master user, or master password, which are retained\nin memory. This means that START SLAVE can be issued without requiring\na CHANGE MASTER TO statement following RESET SLAVE.\n\nConnection parameters are reset if the slave mysqld is shut down\nfollowing RESET SLAVE. In MySQL 5.5.16 and later, you can instead use\nRESET SLAVE ALL to reset these connection parameters (Bug #11809016).\n\nRESET SLAVE ALL does not clear the IGNORE_SERVER_IDS list set by CHANGE\nMASTER TO. This issue is fixed in MySQL 5.7. (Bug #18816897)\n\nIf the slave SQL thread was in the middle of replicating temporary\ntables when it was stopped, and RESET SLAVE is issued, these replicated\ntemporary tables are deleted on the slave.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/reset-slave.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/reset-slave.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (40,27,'SHOW BINARY LOGS','Syntax:\nSHOW BINARY LOGS\nSHOW MASTER LOGS\n\nLists the binary log files on the server. This statement is used as\npart of the procedure described in [HELP PURGE BINARY LOGS], that shows\nhow to determine which logs can be purged.\n\nmysql> SHOW BINARY LOGS;\n+---------------+-----------+\n| Log_name | File_size |\n+---------------+-----------+\n| binlog.000015 | 724935 |\n| binlog.000016 | 733481 |\n+---------------+-----------+\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-binary-logs.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-binary-logs.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (41,25,'POLYGON','Polygon(ls1,ls2,...)\n\nConstructs a Polygon value from a number of LineString or WKB\nLineString arguments. If any argument does not represent a LinearRing\n(that is, not a closed and simple LineString), the return value is\nNULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (42,32,'MINUTE','Syntax:\nMINUTE(time)\n\nReturns the minute for time, in the range 0 to 59.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT MINUTE(\'2008-02-03 10:05:03\');\n -> 5\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (43,32,'DAY','Syntax:\nDAY(date)\n\nDAY() is a synonym for DAYOFMONTH().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (44,38,'MID','Syntax:\nMID(str,pos,len)\n\nMID(str,pos,len) is a synonym for SUBSTRING(str,pos,len).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (45,14,'UUID','Syntax:\nUUID()\n\nReturns a Universal Unique Identifier (UUID) generated according to\n"DCE 1.1: Remote Procedure Call" (Appendix A) CAE (Common Applications\nEnvironment) Specifications published by The Open Group in October 1997\n(Document Number C706,\nhttp://www.opengroup.org/public/pubs/catalog/c706.htm).\n\nA UUID is designed as a number that is globally unique in space and\ntime. Two calls to UUID() are expected to generate two different\nvalues, even if these calls are performed on two separate computers\nthat are not connected to each other.\n\nA UUID is a 128-bit number represented by a utf8 string of five\nhexadecimal numbers in aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee format:\n\no The first three numbers are generated from a timestamp.\n\no The fourth number preserves temporal uniqueness in case the timestamp\n value loses monotonicity (for example, due to daylight saving time).\n\no The fifth number is an IEEE 802 node number that provides spatial\n uniqueness. A random number is substituted if the latter is not\n available (for example, because the host computer has no Ethernet\n card, or we do not know how to find the hardware address of an\n interface on your operating system). In this case, spatial uniqueness\n cannot be guaranteed. Nevertheless, a collision should have very low\n probability.\n\n Currently, the MAC address of an interface is taken into account only\n on FreeBSD and Linux. On other operating systems, MySQL uses a\n randomly generated 48-bit number.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html\n\n','mysql> SELECT UUID();\n -> \'6ccd780c-baba-1026-9564-0040f4311e29\'\n','http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (46,14,'SLEEP','Syntax:\nSLEEP(duration)\n\nSleeps (pauses) for the number of seconds given by the duration\nargument, then returns 0. If SLEEP() is interrupted, it returns 1. The\nduration may have a fractional part.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (47,25,'LINESTRING','LineString(pt1,pt2,...)\n\nConstructs a LineString value from a number of Point or WKB Point\narguments. If the number of arguments is less than two, the return\nvalue is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (48,17,'CONNECTION_ID','Syntax:\nCONNECTION_ID()\n\nReturns the connection ID (thread ID) for the connection. Every\nconnection has an ID that is unique among the set of currently\nconnected clients.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','mysql> SELECT CONNECTION_ID();\n -> 23786\n','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (49,40,'CREATE LOGFILE GROUP','Syntax:\nCREATE LOGFILE GROUP logfile_group\n ADD UNDOFILE \'undo_file\'\n [INITIAL_SIZE [=] initial_size]\n [UNDO_BUFFER_SIZE [=] undo_buffer_size]\n [REDO_BUFFER_SIZE [=] redo_buffer_size]\n [NODEGROUP [=] nodegroup_id]\n [WAIT]\n [COMMENT [=] comment_text]\n ENGINE [=] engine_name\n\nThis statement creates a new log file group named logfile_group having\na single UNDO file named \'undo_file\'. A CREATE LOGFILE GROUP statement\nhas one and only one ADD UNDOFILE clause. For rules covering the naming\nof log file groups, see\nhttp://dev.mysql.com/doc/refman/5.5/en/identifiers.html.\n\n*Note*: All MySQL Cluster Disk Data objects share the same namespace.\nThis means that each Disk Data object must be uniquely named (and not\nmerely each Disk Data object of a given type). For example, you cannot\nhave a tablespace and a log file group with the same name, or a\ntablespace and a data file with the same name.\n\nIn MySQL Cluster NDB 7.2, you can have only one log file group per\nCluster at any given time. (See Bug #16386)\n\nThe optional INITIAL_SIZE parameter sets the UNDO file\'s initial size;\nif not specified, it defaults to 128M (128 megabytes). The optional\nUNDO_BUFFER_SIZE parameter sets the size used by the UNDO buffer for\nthe log file group; The default value for UNDO_BUFFER_SIZE is 8M (eight\nmegabytes); this value cannot exceed the amount of system memory\navailable. Both of these parameters are specified in bytes. In MySQL\nCluster NDB 7.2.14 and later, you may optionally follow either or both\nof these with a one-letter abbreviation for an order of magnitude,\nsimilar to those used in my.cnf. Generally, this is one of the letters\nM (for megabytes) or G (for gigabytes). Prior to MySQL Cluster NDB\n7.2.14, the values for these options could only be specified using\ndigits. (Bug #13116514, Bug #16104705, Bug #62858)\n\nThe memory used for both INITIAL_SIZE and UNDO_BUFFER_SIZE comes from\nthe global pool whose size is determined by the value of the\nSharedGlobalMemory data node configuration parameter. This includes any\ndefault value implied for these options by the setting of the\nInitialLogFileGroup data node configuration parameter.\n\nThe maximum permitted for UNDO_BUFFER_SIZE is 629145600 (600 MB).\n\nOn 32-bit systems, the maximum supported value for INITIAL_SIZE is\n4294967296 (4 GB). (Bug #29186)\n\nThe minimum allowed value for INITIAL_SIZE is 1048576 (1 MB).\n\nThe ENGINE option determines the storage engine to be used by this log\nfile group, with engine_name being the name of the storage engine. In\nMySQL 5.5, this must be NDB (or NDBCLUSTER). If ENGINE is not set,\nMySQL tries to use the engine specified by the default_storage_engine\nserver system variable (formerly storage_engine). In any case, if the\nengine is not specified as NDB or NDBCLUSTER, the CREATE LOGFILE GROUP\nstatement appears to succeed but actually fails to create the log file\ngroup, as shown here:\n\nmysql> CREATE LOGFILE GROUP lg1 \n -> ADD UNDOFILE \'undo.dat\' INITIAL_SIZE = 10M;\nQuery OK, 0 rows affected, 1 warning (0.00 sec)\n\nmysql> SHOW WARNINGS;\n+-------+------+------------------------------------------------------------------------------------------------+\n| Level | Code | Message |\n+-------+------+------------------------------------------------------------------------------------------------+\n| Error | 1478 | Table storage engine \'InnoDB\' does not support the create option \'TABLESPACE or LOGFILE GROUP\' |\n+-------+------+------------------------------------------------------------------------------------------------+\n1 row in set (0.00 sec)\n\nmysql> DROP LOGFILE GROUP lg1 ENGINE = NDB; \nERROR 1529 (HY000): Failed to drop LOGFILE GROUP\n\nmysql> CREATE LOGFILE GROUP lg1 \n -> ADD UNDOFILE \'undo.dat\' INITIAL_SIZE = 10M\n -> ENGINE = NDB;\nQuery OK, 0 rows affected (2.97 sec)\n\nThe fact that the CREATE LOGFILE GROUP statement does not actually\nreturn an error when a non-NDB storage engine is named, but rather\nappears to succeed, is a known issue which we hope to address in a\nfuture release of MySQL Cluster.\n\nREDO_BUFFER_SIZE, NODEGROUP, WAIT, and COMMENT are parsed but ignored,\nand so have no effect in MySQL 5.5. These options are intended for\nfuture expansion.\n\nWhen used with ENGINE [=] NDB, a log file group and associated UNDO log\nfile are created on each Cluster data node. You can verify that the\nUNDO files were created and obtain information about them by querying\nthe INFORMATION_SCHEMA.FILES table. For example:\n\nmysql> SELECT LOGFILE_GROUP_NAME, LOGFILE_GROUP_NUMBER, EXTRA\n -> FROM INFORMATION_SCHEMA.FILES\n -> WHERE FILE_NAME = \'undo_10.dat\';\n+--------------------+----------------------+----------------+\n| LOGFILE_GROUP_NAME | LOGFILE_GROUP_NUMBER | EXTRA |\n+--------------------+----------------------+----------------+\n| lg_3 | 11 | CLUSTER_NODE=3 |\n| lg_3 | 11 | CLUSTER_NODE=4 |\n+--------------------+----------------------+----------------+\n2 rows in set (0.06 sec)\n\nCREATE LOGFILE GROUP is useful only with Disk Data storage for MySQL\nCluster. See\nhttp://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-disk-data.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-logfile-group.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/create-logfile-group.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (50,28,'DELETE','Syntax:\nSingle-table syntax:\n\nDELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name\n [WHERE where_condition]\n [ORDER BY ...]\n [LIMIT row_count]\n\nMultiple-table syntax:\n\nDELETE [LOW_PRIORITY] [QUICK] [IGNORE]\n tbl_name[.*] [, tbl_name[.*]] ...\n FROM table_references\n [WHERE where_condition]\n\nOr:\n\nDELETE [LOW_PRIORITY] [QUICK] [IGNORE]\n FROM tbl_name[.*] [, tbl_name[.*]] ...\n USING table_references\n [WHERE where_condition]\n\nFor the single-table syntax, the DELETE statement deletes rows from\ntbl_name and returns a count of the number of deleted rows. This count\ncan be obtained by calling the ROW_COUNT() function (see\nhttp://dev.mysql.com/doc/refman/5.5/en/information-functions.html). The\nWHERE clause, if given, specifies the conditions that identify which\nrows to delete. With no WHERE clause, all rows are deleted. If the\nORDER BY clause is specified, the rows are deleted in the order that is\nspecified. The LIMIT clause places a limit on the number of rows that\ncan be deleted.\n\nFor the multiple-table syntax, DELETE deletes from each tbl_name the\nrows that satisfy the conditions. In this case, ORDER BY and LIMIT\ncannot be used.\n\nwhere_condition is an expression that evaluates to true for each row to\nbe deleted. It is specified as described in\nhttp://dev.mysql.com/doc/refman/5.5/en/select.html.\n\nCurrently, you cannot delete from a table and select from the same\ntable in a subquery.\n\nYou need the DELETE privilege on a table to delete rows from it. You\nneed only the SELECT privilege for any columns that are only read, such\nas those named in the WHERE clause.\n\nAs stated, a DELETE statement with no WHERE clause deletes all rows. A\nfaster way to do this, when you do not need to know the number of\ndeleted rows, is to use TRUNCATE TABLE. However, within a transaction\nor if you have a lock on the table, TRUNCATE TABLE cannot be used\nwhereas DELETE can. See [HELP TRUNCATE TABLE], and [HELP LOCK].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/delete.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/delete.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (51,3,'ROUND','Syntax:\nROUND(X), ROUND(X,D)\n\nRounds the argument X to D decimal places. The rounding algorithm\ndepends on the data type of X. D defaults to 0 if not specified. D can\nbe negative to cause D digits left of the decimal point of the value X\nto become zero.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT ROUND(-1.23);\n -> -1\nmysql> SELECT ROUND(-1.58);\n -> -2\nmysql> SELECT ROUND(1.58);\n -> 2\nmysql> SELECT ROUND(1.298, 1);\n -> 1.3\nmysql> SELECT ROUND(1.298, 0);\n -> 1\nmysql> SELECT ROUND(23.298, -1);\n -> 20\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (52,6,'NULLIF','Syntax:\nNULLIF(expr1,expr2)\n\nReturns NULL if expr1 = expr2 is true, otherwise returns expr1. This is\nthe same as CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/control-flow-functions.html\n\n','mysql> SELECT NULLIF(1,1);\n -> NULL\nmysql> SELECT NULLIF(1,2);\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/control-flow-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (53,24,'CLOSE','Syntax:\nCLOSE cursor_name\n\nThis statement closes a previously opened cursor. For an example, see\nhttp://dev.mysql.com/doc/refman/5.5/en/cursors.html.\n\nAn error occurs if the cursor is not open.\n\nIf not closed explicitly, a cursor is closed at the end of the BEGIN\n... END block in which it was declared.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/close.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/close.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (54,8,'STOP SLAVE','Syntax:\nSTOP SLAVE [thread_types]\n\nthread_types:\n [thread_type [, thread_type] ... ]\n\nthread_type: IO_THREAD | SQL_THREAD\n\nStops the slave threads. STOP SLAVE requires the SUPER privilege.\nRecommended best practice is to execute STOP SLAVE on the slave before\nstopping the slave server (see\nhttp://dev.mysql.com/doc/refman/5.5/en/server-shutdown.html, for more\ninformation).\n\nWhen using the row-based logging format: You should execute STOP SLAVE\non the slave prior to shutting down the slave server if you are\nreplicating any tables that use a nontransactional storage engine (see\nthe Note later in this section). In MySQL 5.5.9 and later, you can also\nuse STOP SLAVE SQL_THREAD for this purpose.\n\nLike START SLAVE, this statement may be used with the IO_THREAD and\nSQL_THREAD options to name the thread or threads to be stopped.\n\n*Note*: In MySQL 5.5, STOP SLAVE waits until the current replication\nevent group affecting one or more nontransactional tables has finished\nexecuting (if there is any such replication group), or until the user\nissues a KILL QUERY or KILL CONNECTION statement. (Bug #319, Bug\n#38205)\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/stop-slave.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/stop-slave.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (55,32,'TIMEDIFF','Syntax:\nTIMEDIFF(expr1,expr2)\n\nTIMEDIFF() returns expr1 - expr2 expressed as a time value. expr1 and\nexpr2 are time or date-and-time expressions, but both must be of the\nsame type.\n\nThe result returned by TIMEDIFF() is limited to the range allowed for\nTIME values. Alternatively, you can use either of the functions\nTIMESTAMPDIFF() and UNIX_TIMESTAMP(), both of which return integers.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT TIMEDIFF(\'2000:01:01 00:00:00\',\n -> \'2000:01:01 00:00:00.000001\');\n -> \'-00:00:00.000001\'\nmysql> SELECT TIMEDIFF(\'2008-12-31 23:59:59.000001\',\n -> \'2008-12-30 01:01:01.000002\');\n -> \'46:58:57.999999\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (56,38,'REPLACE FUNCTION','Syntax:\nREPLACE(str,from_str,to_str)\n\nReturns the string str with all occurrences of the string from_str\nreplaced by the string to_str. REPLACE() performs a case-sensitive\nmatch when searching for from_str.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT REPLACE(\'www.mysql.com\', \'w\', \'Ww\');\n -> \'WwWwWw.mysql.com\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (57,29,'USE','Syntax:\nUSE db_name\n\nThe USE db_name statement tells MySQL to use the db_name database as\nthe default (current) database for subsequent statements. The database\nremains the default until the end of the session or another USE\nstatement is issued:\n\nUSE db1;\nSELECT COUNT(*) FROM mytable; # selects from db1.mytable\nUSE db2;\nSELECT COUNT(*) FROM mytable; # selects from db2.mytable\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/use.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/use.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (58,4,'LINEFROMTEXT','LineFromText(wkt[,srid]), LineStringFromText(wkt[,srid])\n\nConstructs a LineString value using its WKT representation and SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (59,6,'CASE OPERATOR','Syntax:\nCASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN\nresult ...] [ELSE result] END\n\nCASE WHEN [condition] THEN result [WHEN [condition] THEN result ...]\n[ELSE result] END\n\nThe first version returns the result where value=compare_value. The\nsecond version returns the result for the first condition that is true.\nIf there was no matching result value, the result after ELSE is\nreturned, or NULL if there is no ELSE part.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/control-flow-functions.html\n\n','mysql> SELECT CASE 1 WHEN 1 THEN \'one\'\n -> WHEN 2 THEN \'two\' ELSE \'more\' END;\n -> \'one\'\nmysql> SELECT CASE WHEN 1>0 THEN \'true\' ELSE \'false\' END;\n -> \'true\'\nmysql> SELECT CASE BINARY \'B\'\n -> WHEN \'a\' THEN 1 WHEN \'b\' THEN 2 END;\n -> NULL\n','http://dev.mysql.com/doc/refman/5.5/en/control-flow-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (60,27,'SHOW MASTER STATUS','Syntax:\nSHOW MASTER STATUS\n\nThis statement provides status information about the binary log files\nof the master. It requires either the SUPER or REPLICATION CLIENT\nprivilege.\n\nExample:\n\nmysql> SHOW MASTER STATUS;\n+---------------+----------+--------------+------------------+\n| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |\n+---------------+----------+--------------+------------------+\n| mysql-bin.003 | 73 | test | manual,mysql |\n+---------------+----------+--------------+------------------+\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-master-status.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-master-status.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (61,32,'ADDTIME','Syntax:\nADDTIME(expr1,expr2)\n\nADDTIME() adds expr2 to expr1 and returns the result. expr1 is a time\nor datetime expression, and expr2 is a time expression.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT ADDTIME(\'2007-12-31 23:59:59.999999\', \'1 1:1:1.000002\');\n -> \'2008-01-02 01:01:01.000001\'\nmysql> SELECT ADDTIME(\'01:00:00.999999\', \'02:00:00.999998\');\n -> \'03:00:01.999997\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (62,32,'TO_SECONDS','Syntax:\nTO_SECONDS(expr)\n\nGiven a date or datetime expr, returns a the number of seconds since\nthe year 0. If expr is not a valid date or datetime value, returns\nNULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT TO_SECONDS(950501);\n -> 62966505600\nmysql> SELECT TO_SECONDS(\'2009-11-29\');\n -> 63426672000\nmysql> SELECT TO_SECONDS(\'2009-11-29 13:43:32\');\n -> 63426721412\nmysql> SELECT TO_SECONDS( NOW() );\n -> 63426721458\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (63,32,'TIMESTAMPDIFF','Syntax:\nTIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)\n\nReturns datetime_expr2 - datetime_expr1, where datetime_expr1 and\ndatetime_expr2 are date or datetime expressions. One expression may be\na date and the other a datetime; a date value is treated as a datetime\nhaving the time part \'00:00:00\' where necessary. The unit for the\nresult (an integer) is given by the unit argument. The legal values for\nunit are the same as those listed in the description of the\nTIMESTAMPADD() function.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT TIMESTAMPDIFF(MONTH,\'2003-02-01\',\'2003-05-01\');\n -> 3\nmysql> SELECT TIMESTAMPDIFF(YEAR,\'2002-05-01\',\'2001-01-01\');\n -> -1\nmysql> SELECT TIMESTAMPDIFF(MINUTE,\'2003-02-01\',\'2003-05-01 12:05:55\');\n -> 128885\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (64,38,'UPPER','Syntax:\nUPPER(str)\n\nReturns the string str with all characters changed to uppercase\naccording to the current character set mapping. The default is latin1\n(cp1252 West European).\n\nmysql> SELECT UPPER(\'Hej\');\n -> \'HEJ\'\n\nSee the description of LOWER() for information that also applies to\nUPPER(), such as information about how to perform lettercase conversion\nof binary strings (BINARY, VARBINARY, BLOB) for which these functions\nare ineffective.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (65,35,'SPATIAL','For MyISAM tables, MySQL can create spatial indexes using syntax\nsimilar to that for creating regular indexes, but using the SPATIAL\nkeyword. Columns in spatial indexes must be declared NOT NULL. The\nfollowing examples demonstrate how to create spatial indexes:\n\no With CREATE TABLE:\n\nCREATE TABLE geom (g GEOMETRY NOT NULL, SPATIAL INDEX(g)) ENGINE=MyISAM;\n\no With ALTER TABLE:\n\nALTER TABLE geom ADD SPATIAL INDEX(g);\n\no With CREATE INDEX:\n\nCREATE SPATIAL INDEX sp_index ON geom (g);\n\nSPATIAL INDEX creates an R-tree index. For storage engines that support\nnonspatial indexing of spatial columns, the engine creates a B-tree\nindex. A B-tree index on spatial values is useful for exact-value\nlookups, but not for range scans.\n\nFor more information on indexing spatial columns, see [HELP CREATE\nINDEX].\n\nTo drop spatial indexes, use ALTER TABLE or DROP INDEX:\n\no With ALTER TABLE:\n\nALTER TABLE geom DROP INDEX g;\n\no With DROP INDEX:\n\nDROP INDEX sp_index ON geom;\n\nExample: Suppose that a table geom contains more than 32,000\ngeometries, which are stored in the column g of type GEOMETRY. The\ntable also has an AUTO_INCREMENT column fid for storing object ID\nvalues.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/creating-spatial-indexes.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/creating-spatial-indexes.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (66,32,'FROM_UNIXTIME','Syntax:\nFROM_UNIXTIME(unix_timestamp), FROM_UNIXTIME(unix_timestamp,format)\n\nReturns a representation of the unix_timestamp argument as a value in\n\'YYYY-MM-DD HH:MM:SS\' or YYYYMMDDHHMMSS.uuuuuu format, depending on\nwhether the function is used in a string or numeric context. The value\nis expressed in the current time zone. unix_timestamp is an internal\ntimestamp value such as is produced by the UNIX_TIMESTAMP() function.\n\nIf format is given, the result is formatted according to the format\nstring, which is used the same way as listed in the entry for the\nDATE_FORMAT() function.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT FROM_UNIXTIME(1196440219);\n -> \'2007-11-30 10:30:19\'\nmysql> SELECT FROM_UNIXTIME(1196440219) + 0;\n -> 20071130103019.000000\nmysql> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(),\n -> \'%Y %D %M %h:%i:%s %x\');\n -> \'2007 30th November 10:30:59 2007\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (67,23,'MEDIUMBLOB','MEDIUMBLOB\n\nA BLOB column with a maximum length of 16,777,215 (224 - 1) bytes. Each\nMEDIUMBLOB value is stored using a 3-byte length prefix that indicates\nthe number of bytes in the value.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (68,12,'SHA2','Syntax:\nSHA2(str, hash_length)\n\nCalculates the SHA-2 family of hash functions (SHA-224, SHA-256,\nSHA-384, and SHA-512). The first argument is the cleartext string to be\nhashed. The second argument indicates the desired bit length of the\nresult, which must have a value of 224, 256, 384, 512, or 0 (which is\nequivalent to 256). If either argument is NULL or the hash length is\nnot one of the permitted values, the return value is NULL. Otherwise,\nthe function result is a hash value containing the desired number of\nbits. See the notes at the beginning of this section about storing hash\nvalues efficiently.\n\nAs of MySQL 5.5.6, the return value is a nonbinary string in the\nconnection character set. Before 5.5.6, the return value is a binary\nstring; see the notes at the beginning of this section about using the\nvalue as a nonbinary string.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','mysql> SELECT SHA2(\'abc\', 224);\n -> \'23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7\'\n','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (69,6,'IFNULL','Syntax:\nIFNULL(expr1,expr2)\n\nIf expr1 is not NULL, IFNULL() returns expr1; otherwise it returns\nexpr2. IFNULL() returns a numeric or string value, depending on the\ncontext in which it is used.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/control-flow-functions.html\n\n','mysql> SELECT IFNULL(1,0);\n -> 1\nmysql> SELECT IFNULL(NULL,10);\n -> 10\nmysql> SELECT IFNULL(1/0,10);\n -> 10\nmysql> SELECT IFNULL(1/0,\'yes\');\n -> \'yes\'\n','http://dev.mysql.com/doc/refman/5.5/en/control-flow-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (70,27,'SHOW FUNCTION CODE','Syntax:\nSHOW FUNCTION CODE func_name\n\nThis statement is similar to SHOW PROCEDURE CODE but for stored\nfunctions. See [HELP SHOW PROCEDURE CODE].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-function-code.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-function-code.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (71,27,'SHOW ERRORS','Syntax:\nSHOW ERRORS [LIMIT [offset,] row_count]\nSHOW COUNT(*) ERRORS\n\nSHOW ERRORS is a diagnostic statement that is similar to SHOW WARNINGS,\nexcept that it displays information only for errors, rather than for\nerrors, warnings, and notes.\n\nThe LIMIT clause has the same syntax as for the SELECT statement. See\nhttp://dev.mysql.com/doc/refman/5.5/en/select.html.\n\nThe SHOW COUNT(*) ERRORS statement displays the number of errors. You\ncan also retrieve this number from the error_count variable:\n\nSHOW COUNT(*) ERRORS;\nSELECT @@error_count;\n\nSHOW ERRORS and error_count apply only to errors, not warnings or\nnotes. In other respects, they are similar to SHOW WARNINGS and\nwarning_count. In particular, SHOW ERRORS cannot display information\nfor more than max_error_count messages, and error_count can exceed the\nvalue of max_error_count if the number of errors exceeds\nmax_error_count.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-errors.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-errors.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (72,19,'LEAST','Syntax:\nLEAST(value1,value2,...)\n\nWith two or more arguments, returns the smallest (minimum-valued)\nargument. The arguments are compared using the following rules:\n\no If any argument is NULL, the result is NULL. No comparison is needed.\n\no If the return value is used in an INTEGER context or all arguments\n are integer-valued, they are compared as integers.\n\no If the return value is used in a REAL context or all arguments are\n real-valued, they are compared as reals.\n\no If the arguments comprise a mix of numbers and strings, they are\n compared as numbers.\n\no If any argument is a nonbinary (character) string, the arguments are\n compared as nonbinary strings.\n\no In all other cases, the arguments are compared as binary strings.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT LEAST(2,0);\n -> 0\nmysql> SELECT LEAST(34.0,3.0,5.0,767.0);\n -> 3.0\nmysql> SELECT LEAST(\'B\',\'A\',\'C\');\n -> \'A\'\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (73,19,'=','=\n\nEqual:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT 1 = 0;\n -> 0\nmysql> SELECT \'0\' = 0;\n -> 1\nmysql> SELECT \'0.0\' = 0;\n -> 1\nmysql> SELECT \'0.01\' = 0;\n -> 0\nmysql> SELECT \'.01\' = 0.01;\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (74,38,'REVERSE','Syntax:\nREVERSE(str)\n\nReturns the string str with the order of the characters reversed.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT REVERSE(\'abc\');\n -> \'cba\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (75,19,'ISNULL','Syntax:\nISNULL(expr)\n\nIf expr is NULL, ISNULL() returns 1, otherwise it returns 0.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT ISNULL(1+1);\n -> 0\nmysql> SELECT ISNULL(1/0);\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (76,23,'BINARY','BINARY(M)\n\nThe BINARY type is similar to the CHAR type, but stores binary byte\nstrings rather than nonbinary character strings. M represents the\ncolumn length in bytes.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (77,23,'BLOB DATA TYPE','A BLOB is a binary large object that can hold a variable amount of\ndata. The four BLOB types are TINYBLOB, BLOB, MEDIUMBLOB, and LONGBLOB.\nThese differ only in the maximum length of the values they can hold.\nThe four TEXT types are TINYTEXT, TEXT, MEDIUMTEXT, and LONGTEXT. These\ncorrespond to the four BLOB types and have the same maximum lengths and\nstorage requirements. See\nhttp://dev.mysql.com/doc/refman/5.5/en/storage-requirements.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/blob.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/blob.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (78,37,'BOUNDARY','Boundary(g)\n\nReturns a geometry that is the closure of the combinatorial boundary of\nthe geometry value g.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (79,10,'CREATE USER','Syntax:\nCREATE USER user_specification [, user_specification] ...\n\nuser_specification:\n user\n [\n | IDENTIFIED WITH auth_plugin [AS \'auth_string\']\n IDENTIFIED BY [PASSWORD] \'password\'\n ]\n\nThe CREATE USER statement creates new MySQL accounts. An error occurs\nfor accounts that already exist. To use this statement, you must have\nthe global CREATE USER privilege or the INSERT privilege for the mysql\ndatabase. For each account, CREATE USER creates a new row in the\nmysql.user table with no privileges and (as of MySQL 5.5.7) assigns the\naccount an authentication plugin. Depending on the syntax used, CREATE\nUSER may also assign the account a password.\n\nEach user_specification clause consists of an account name and\ninformation about how authentication occurs for clients that use the\naccount. This part of CREATE USER syntax is shared with GRANT, so the\ndescription here applies to GRANT as well.\n\nEach account name uses the format described in\nhttp://dev.mysql.com/doc/refman/5.5/en/account-names.html. For example:\n\nCREATE USER \'jeffrey\'@\'localhost\' IDENTIFIED BY \'mypass\';\n\nIf you specify only the user name part of the account name, a host name\npart of \'%\' is used.\n\nThe server assigns an authentication plugin and password to each\naccount as follows, depending on whether the user specification clause\nincludes IDENTIFIED WITH to specify a plugin or IDENTIFIED BY to\nspecify a password:\n\n*Note*: IDENTIFIED WITH is available as of MySQL 5.5.7. Before 5.5.7,\nauthentication plugins are not used, so only the remarks about\nIDENTIFIED BY apply.\n\no With IDENTIFIED WITH, the server assigns the specified plugin and the\n account has no password.\n\no With IDENTIFIED BY, the server assigns no plugin and assigns the\n specified password.\n\no With neither IDENTIFIED WITH nor IDENTIFIED BY, the server assigns no\n plugin and the account has no password.\n\nIf the account has no password, the Password column in the account\'s\nmysql.user table row remains empty, which is insecure. To set the\npassword, use SET PASSWORD. See [HELP SET PASSWORD].\n\nIf the server assigns no plugin to the account, the plugin column in\nthe account\'s mysql.user table row remains empty.\n\nFor client connections that use a given account, the server invokes the\nauthentication plugin assigned to the account and the client must\nprovide credentials as required by the authentication method that the\nplugin implements. If the server cannot find the plugin, either at\naccount-creation time or connect time, an error occurs.\n\nIf an account\'s mysql.user table row has a nonempty plugin column:\n\no The server authenticates client connection attempts using the named\n plugin.\n\no Changes to the account password using SET PASSWORD with PASSWORD()\n must be made with the old_passwords system variable set to the value\n required by the authentication plugin, so that PASSWORD() uses the\n appropriate password hashing method. If the plugin is\n mysql_old_password, the password can also be changed using SET\n PASSWORD with OLD_PASSWORD(), which uses pre-4.1 password hashing\n regardless of the value of old_passwords.\n\nIf an account\'s mysql.user table row has an empty plugin column:\n\no The server authenticates client connection attempts using the\n mysql_native_password or mysql_old_password authentication plugin,\n depending on the hash format of the password stored in the Password\n column.\n\no Changes to the account password using SET PASSWORD can be made with\n PASSWORD(), with old_passwords set to 0 or 1 for 4.1 or pre-4.1\n password hashing, respectively, or with OLD_PASSWORD(), which uses\n pre-4.1 password hashing regardless of the value of old_passwords.\n\nCREATE USER examples:\n\no To specify an authentication plugin for an account, use IDENTIFIED\n WITH auth_plugin. The plugin name can be a quoted string literal or\n an unquoted name. \'auth_string\' is an optional quoted string literal\n to pass to the plugin. The plugin interprets the meaning of the\n string, so its format is plugin specific. Consult the documentation\n for a given plugin for information about the authentication string\n values it accepts, if any.\n\nCREATE USER \'jeffrey\'@\'localhost\' IDENTIFIED WITH mysql_native_password;\n\n The server assigns the given authentication plugin to the account but\n no password. Clients must provide no password when they connect.\n However, an account with no password is insecure. To ensure that an\n account uses a specific authentication plugin and has a password with\n the corresponding hash format, specify the plugin explicitly with\n IDENTIFIED WITH, then use SET PASSWORD to set the password:\n\nCREATE USER \'jeffrey\'@\'localhost\' IDENTIFIED WITH mysql_native_password;\nSET old_passwords = 0;\nSET PASSWORD FOR \'jeffrey\'@\'localhost\' = PASSWORD(\'mypass\');\n\n Changes to the account password using SET PASSWORD with PASSWORD()\n must be made with the old_passwords system variable set to the value\n required by the account\'s authentication plugin, so that PASSWORD()\n uses the appropriate password hashing method. Therefore, to use the\n mysql_old_password plugin instead, name that plugin in the CREATE\n USER statement and set old_passwords to 1 before using SET PASSWORD.\n\no To specify a password for an account at account-creation time, use\n IDENTIFIED BY with the literal plaintext password value:\n\nCREATE USER \'jeffrey\'@\'localhost\' IDENTIFIED BY \'mypass\';\n\n The server assigns the given password to the account but no\n authentication plugin. Clients must provide the password when they\n connect.\n\no To avoid specifying the plaintext password if you know its hash value\n (the value that PASSWORD() would return for the password), specify\n the hash value preceded by the keyword PASSWORD:\n\nCREATE USER \'jeffrey\'@\'localhost\'\nIDENTIFIED BY PASSWORD \'*90E462C37378CED12064BB3388827D2BA3A9B689\';\n\n The server assigns the given password to the account but no\n authentication plugin. Clients must provide the password when they\n connect.\n\no To enable the user to connect with no password, include no IDENTIFIED\n BY clause:\n\nCREATE USER \'jeffrey\'@\'localhost\';\n\n The server assigns no authentication plugin or password to the\n account. Clients must provide no password when they connect. However,\n an account with no password is insecure. To avoid this, use SET\n PASSWORD to set the account password.\n\nFor additional information about setting passwords and authentication\nplugins, see\nhttp://dev.mysql.com/doc/refman/5.5/en/assigning-passwords.html, and\nhttp://dev.mysql.com/doc/refman/5.5/en/pluggable-authentication.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-user.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/create-user.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (80,25,'POINT','Point(x,y)\n\nConstructs a Point using its coordinates.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (81,17,'CURRENT_USER','Syntax:\nCURRENT_USER, CURRENT_USER()\n\nReturns the user name and host name combination for the MySQL account\nthat the server used to authenticate the current client. This account\ndetermines your access privileges. The return value is a string in the\nutf8 character set.\n\nThe value of CURRENT_USER() can differ from the value of USER().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','mysql> SELECT USER();\n -> \'davida@localhost\'\nmysql> SELECT * FROM mysql.user;\nERROR 1044: Access denied for user \'\'@\'localhost\' to\ndatabase \'mysql\'\nmysql> SELECT CURRENT_USER();\n -> \'@localhost\'\n','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (82,38,'LCASE','Syntax:\nLCASE(str)\n\nLCASE() is a synonym for LOWER().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (83,19,'<=','Syntax:\n<=\n\nLess than or equal:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT 0.1 <= 2;\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (84,27,'SHOW PROFILES','Syntax:\nSHOW PROFILES\n\nThe SHOW PROFILES statement, together with SHOW PROFILE, displays\nprofiling information that indicates resource usage for statements\nexecuted during the course of the current session. For more\ninformation, see [HELP SHOW PROFILE].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-profiles.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-profiles.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (85,28,'UPDATE','Syntax:\nSingle-table syntax:\n\nUPDATE [LOW_PRIORITY] [IGNORE] table_reference\n SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...\n [WHERE where_condition]\n [ORDER BY ...]\n [LIMIT row_count]\n\nMultiple-table syntax:\n\nUPDATE [LOW_PRIORITY] [IGNORE] table_references\n SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...\n [WHERE where_condition]\n\nFor the single-table syntax, the UPDATE statement updates columns of\nexisting rows in the named table with new values. The SET clause\nindicates which columns to modify and the values they should be given.\nEach value can be given as an expression, or the keyword DEFAULT to set\na column explicitly to its default value. The WHERE clause, if given,\nspecifies the conditions that identify which rows to update. With no\nWHERE clause, all rows are updated. If the ORDER BY clause is\nspecified, the rows are updated in the order that is specified. The\nLIMIT clause places a limit on the number of rows that can be updated.\n\nFor the multiple-table syntax, UPDATE updates rows in each table named\nin table_references that satisfy the conditions. Each matching row is\nupdated once, even if it matches the conditions multiple times. For\nmultiple-table syntax, ORDER BY and LIMIT cannot be used.\n\nwhere_condition is an expression that evaluates to true for each row to\nbe updated. For expression syntax, see\nhttp://dev.mysql.com/doc/refman/5.5/en/expressions.html.\n\ntable_references and where_condition are specified as described in\nhttp://dev.mysql.com/doc/refman/5.5/en/select.html.\n\nYou need the UPDATE privilege only for columns referenced in an UPDATE\nthat are actually updated. You need only the SELECT privilege for any\ncolumns that are read but not modified.\n\nThe UPDATE statement supports the following modifiers:\n\no With the LOW_PRIORITY keyword, execution of the UPDATE is delayed\n until no other clients are reading from the table. This affects only\n storage engines that use only table-level locking (such as MyISAM,\n MEMORY, and MERGE).\n\no With the IGNORE keyword, the update statement does not abort even if\n errors occur during the update. Rows for which duplicate-key\n conflicts occur are not updated. Rows for which columns are updated\n to values that would cause data conversion errors are updated to the\n closest valid values instead.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/update.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/update.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (86,19,'IS NOT NULL','Syntax:\nIS NOT NULL\n\nTests whether a value is not NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT 1 IS NOT NULL, 0 IS NOT NULL, NULL IS NOT NULL;\n -> 1, 1, 0\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (87,24,'CASE STATEMENT','Syntax:\nCASE case_value\n WHEN when_value THEN statement_list\n [WHEN when_value THEN statement_list] ...\n [ELSE statement_list]\nEND CASE\n\nOr:\n\nCASE\n WHEN search_condition THEN statement_list\n [WHEN search_condition THEN statement_list] ...\n [ELSE statement_list]\nEND CASE\n\nThe CASE statement for stored programs implements a complex conditional\nconstruct.\n\n*Note*: There is also a CASE expression, which differs from the CASE\nstatement described here. See\nhttp://dev.mysql.com/doc/refman/5.5/en/control-flow-functions.html. The\nCASE statement cannot have an ELSE NULL clause, and it is terminated\nwith END CASE instead of END.\n\nFor the first syntax, case_value is an expression. This value is\ncompared to the when_value expression in each WHEN clause until one of\nthem is equal. When an equal when_value is found, the corresponding\nTHEN clause statement_list executes. If no when_value is equal, the\nELSE clause statement_list executes, if there is one.\n\nThis syntax cannot be used to test for equality with NULL because NULL\n= NULL is false. See\nhttp://dev.mysql.com/doc/refman/5.5/en/working-with-null.html.\n\nFor the second syntax, each WHEN clause search_condition expression is\nevaluated until one is true, at which point its corresponding THEN\nclause statement_list executes. If no search_condition is equal, the\nELSE clause statement_list executes, if there is one.\n\nIf no when_value or search_condition matches the value tested and the\nCASE statement contains no ELSE clause, a Case not found for CASE\nstatement error results.\n\nEach statement_list consists of one or more SQL statements; an empty\nstatement_list is not permitted.\n\nTo handle situations where no value is matched by any WHEN clause, use\nan ELSE containing an empty BEGIN ... END block, as shown in this\nexample. (The indentation used here in the ELSE clause is for purposes\nof clarity only, and is not otherwise significant.)\n\nDELIMITER |\n\nCREATE PROCEDURE p()\n BEGIN\n DECLARE v INT DEFAULT 1;\n\n CASE v\n WHEN 2 THEN SELECT v;\n WHEN 3 THEN SELECT 0;\n ELSE\n BEGIN\n END;\n END CASE;\n END;\n |\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/case.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/case.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (88,8,'EXECUTE STATEMENT','Syntax:\nEXECUTE stmt_name\n [USING @var_name [, @var_name] ...]\n\nAfter preparing a statement with PREPARE, you execute it with an\nEXECUTE statement that refers to the prepared statement name. If the\nprepared statement contains any parameter markers, you must supply a\nUSING clause that lists user variables containing the values to be\nbound to the parameters. Parameter values can be supplied only by user\nvariables, and the USING clause must name exactly as many variables as\nthe number of parameter markers in the statement.\n\nYou can execute a given prepared statement multiple times, passing\ndifferent variables to it or setting the variables to different values\nbefore each execution.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/execute.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/execute.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (89,40,'DROP INDEX','Syntax:\nDROP [ONLINE|OFFLINE] INDEX index_name ON tbl_name\n\nDROP INDEX drops the index named index_name from the table tbl_name.\nThis statement is mapped to an ALTER TABLE statement to drop the index.\nSee [HELP ALTER TABLE].\n\nTo drop a primary key, the index name is always PRIMARY, which must be\nspecified as a quoted identifier because PRIMARY is a reserved word:\n\nDROP INDEX `PRIMARY` ON t;\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/drop-index.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/drop-index.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (90,38,'MATCH AGAINST','Syntax:\nMATCH (col1,col2,...) AGAINST (expr [search_modifier])\n\nMySQL has support for full-text indexing and searching:\n\no A full-text index in MySQL is an index of type FULLTEXT.\n\no Full-text indexes can be used only with MyISAM tables. (In MySQL 5.6\n and up, they can also be used with InnoDB tables.) Full-text indexes\n can be created only for CHAR, VARCHAR, or TEXT columns.\n\no A FULLTEXT index definition can be given in the CREATE TABLE\n statement when a table is created, or added later using ALTER TABLE\n or CREATE INDEX.\n\no For large data sets, it is much faster to load your data into a table\n that has no FULLTEXT index and then create the index after that, than\n to load data into a table that has an existing FULLTEXT index.\n\nFull-text searching is performed using MATCH() ... AGAINST syntax.\nMATCH() takes a comma-separated list that names the columns to be\nsearched. AGAINST takes a string to search for, and an optional\nmodifier that indicates what type of search to perform. The search\nstring must be a string value that is constant during query evaluation.\nThis rules out, for example, a table column because that can differ for\neach row.\n\nThere are three types of full-text searches:\n\no A natural language search interprets the search string as a phrase in\n natural human language (a phrase in free text). There are no special\n operators. The stopword list applies. In addition, words that are\n present in 50% or more of the rows are considered common and do not\n match.\n\n Full-text searches are natural language searches if the IN NATURAL\n LANGUAGE MODE modifier is given or if no modifier is given. For more\n information, see\n http://dev.mysql.com/doc/refman/5.5/en/fulltext-natural-language.html\n .\n\no A boolean search interprets the search string using the rules of a\n special query language. The string contains the words to search for.\n It can also contain operators that specify requirements such that a\n word must be present or absent in matching rows, or that it should be\n weighted higher or lower than usual. Common words such as "some" or\n "then" are stopwords and do not match if present in the search\n string. The IN BOOLEAN MODE modifier specifies a boolean search. For\n more information, see\n http://dev.mysql.com/doc/refman/5.5/en/fulltext-boolean.html.\n\no A query expansion search is a modification of a natural language\n search. The search string is used to perform a natural language\n search. Then words from the most relevant rows returned by the search\n are added to the search string and the search is done again. The\n query returns the rows from the second search. The IN NATURAL\n LANGUAGE MODE WITH QUERY EXPANSION or WITH QUERY EXPANSION modifier\n specifies a query expansion search. For more information, see\n http://dev.mysql.com/doc/refman/5.5/en/fulltext-query-expansion.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html\n\n','mysql> SELECT id, body, MATCH (title,body) AGAINST\n -> (\'Security implications of running MySQL as root\'\n -> IN NATURAL LANGUAGE MODE) AS score\n -> FROM articles WHERE MATCH (title,body) AGAINST\n -> (\'Security implications of running MySQL as root\'\n -> IN NATURAL LANGUAGE MODE);\n+----+-------------------------------------+-----------------+\n| id | body | score |\n+----+-------------------------------------+-----------------+\n| 4 | 1. Never run mysqld as root. 2. ... | 1.5219271183014 |\n| 6 | When configured properly, MySQL ... | 1.3114095926285 |\n+----+-------------------------------------+-----------------+\n2 rows in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (91,40,'CREATE EVENT','Syntax:\nCREATE\n [DEFINER = { user | CURRENT_USER }]\n EVENT\n [IF NOT EXISTS]\n event_name\n ON SCHEDULE schedule\n [ON COMPLETION [NOT] PRESERVE]\n [ENABLE | DISABLE | DISABLE ON SLAVE]\n [COMMENT \'comment\']\n DO event_body;\n\nschedule:\n AT timestamp [+ INTERVAL interval] ...\n | EVERY interval\n [STARTS timestamp [+ INTERVAL interval] ...]\n [ENDS timestamp [+ INTERVAL interval] ...]\n\ninterval:\n quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |\n WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |\n DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}\n\nThis statement creates and schedules a new event. The event will not\nrun unless the Event Scheduler is enabled. For information about\nchecking Event Scheduler status and enabling it if necessary, see\nhttp://dev.mysql.com/doc/refman/5.5/en/events-configuration.html.\n\nCREATE EVENT requires the EVENT privilege for the schema in which the\nevent is to be created. It might also require the SUPER privilege,\ndepending on the DEFINER value, as described later in this section.\n\nThe minimum requirements for a valid CREATE EVENT statement are as\nfollows:\n\no The keywords CREATE EVENT plus an event name, which uniquely\n identifies the event in a database schema.\n\no An ON SCHEDULE clause, which determines when and how often the event\n executes.\n\no A DO clause, which contains the SQL statement to be executed by an\n event.\n\nThis is an example of a minimal CREATE EVENT statement:\n\nCREATE EVENT myevent\n ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR\n DO\n UPDATE myschema.mytable SET mycol = mycol + 1;\n\nThe previous statement creates an event named myevent. This event\nexecutes once---one hour following its creation---by running an SQL\nstatement that increments the value of the myschema.mytable table\'s\nmycol column by 1.\n\nThe event_name must be a valid MySQL identifier with a maximum length\nof 64 characters. Event names are not case sensitive, so you cannot\nhave two events named myevent and MyEvent in the same schema. In\ngeneral, the rules governing event names are the same as those for\nnames of stored routines. See\nhttp://dev.mysql.com/doc/refman/5.5/en/identifiers.html.\n\nAn event is associated with a schema. If no schema is indicated as part\nof event_name, the default (current) schema is assumed. To create an\nevent in a specific schema, qualify the event name with a schema using\nschema_name.event_name syntax.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-event.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/create-event.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (92,3,'ABS','Syntax:\nABS(X)\n\nReturns the absolute value of X.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT ABS(2);\n -> 2\nmysql> SELECT ABS(-32);\n -> 32\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (93,33,'POLYFROMWKB','PolyFromWKB(wkb[,srid]), PolygonFromWKB(wkb[,srid])\n\nConstructs a Polygon value using its WKB representation and SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (94,38,'NOT LIKE','Syntax:\nexpr NOT LIKE pat [ESCAPE \'escape_char\']\n\nThis is the same as NOT (expr LIKE pat [ESCAPE \'escape_char\']).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-comparison-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-comparison-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (95,38,'SPACE','Syntax:\nSPACE(N)\n\nReturns a string consisting of N space characters.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT SPACE(6);\n -> \' \'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (96,7,'MBR DEFINITION','Its MBR (minimum bounding rectangle), or envelope. This is the bounding\ngeometry, formed by the minimum and maximum (X,Y) coordinates:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-class-geometry.html\n\n','((MINX MINY, MAXX MINY, MAXX MAXY, MINX MAXY, MINX MINY))\n','http://dev.mysql.com/doc/refman/5.5/en/gis-class-geometry.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (97,16,'MAX','Syntax:\nMAX([DISTINCT] expr)\n\nReturns the maximum value of expr. MAX() may take a string argument; in\nsuch cases, it returns the maximum string value. See\nhttp://dev.mysql.com/doc/refman/5.5/en/mysql-indexes.html. The DISTINCT\nkeyword can be used to find the maximum of the distinct values of expr,\nhowever, this produces the same result as omitting DISTINCT.\n\nMAX() returns NULL if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','mysql> SELECT student_name, MIN(test_score), MAX(test_score)\n -> FROM student\n -> GROUP BY student_name;\n','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (98,25,'GEOMETRYCOLLECTION','GeometryCollection(g1,g2,...)\n\nConstructs a GeometryCollection.\n\nIf the argument contains a nonsupported geometry, the return value is\nNULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (99,22,'CREATE FUNCTION UDF','Syntax:\nCREATE [AGGREGATE] FUNCTION function_name RETURNS {STRING|INTEGER|REAL|DECIMAL}\n SONAME shared_library_name\n\nA user-defined function (UDF) is a way to extend MySQL with a new\nfunction that works like a native (built-in) MySQL function such as\nABS() or CONCAT().\n\nfunction_name is the name that should be used in SQL statements to\ninvoke the function. The RETURNS clause indicates the type of the\nfunction\'s return value. DECIMAL is a legal value after RETURNS, but\ncurrently DECIMAL functions return string values and should be written\nlike STRING functions.\n\nshared_library_name is the basename of the shared object file that\ncontains the code that implements the function. The file must be\nlocated in the plugin directory. This directory is given by the value\nof the plugin_dir system variable. For more information, see\nhttp://dev.mysql.com/doc/refman/5.5/en/udf-compiling.html.\n\nTo create a function, you must have the INSERT privilege for the mysql\ndatabase. This is necessary because CREATE FUNCTION adds a row to the\nmysql.func system table that records the function\'s name, type, and\nshared library name. If you do not have this table, you should run the\nmysql_upgrade command to create it. See\nhttp://dev.mysql.com/doc/refman/5.5/en/mysql-upgrade.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-function-udf.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/create-function-udf.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (100,3,'*','Syntax:\n*\n\nMultiplication:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html\n\n','mysql> SELECT 3*5;\n -> 15\nmysql> SELECT 18014398509481984*18014398509481984.0;\n -> 324518553658426726783156020576256.0\nmysql> SELECT 18014398509481984*18014398509481984;\n -> out-of-range error\n','http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (101,23,'TIMESTAMP','TIMESTAMP\n\nA timestamp. The range is \'1970-01-01 00:00:01\' UTC to \'2038-01-19\n03:14:07\' UTC. TIMESTAMP values are stored as the number of seconds\nsince the epoch (\'1970-01-01 00:00:00\' UTC). A TIMESTAMP cannot\nrepresent the value \'1970-01-01 00:00:00\' because that is equivalent to\n0 seconds from the epoch and the value 0 is reserved for representing\n\'0000-00-00 00:00:00\', the "zero" TIMESTAMP value.\n\nUnless specified otherwise, the first TIMESTAMP column in a table is\ndefined to be automatically set to the date and time of the most recent\nmodification if not explicitly assigned a value. This makes TIMESTAMP\nuseful for recording the timestamp of an INSERT or UPDATE operation.\nYou can also set any TIMESTAMP column to the current date and time by\nassigning it a NULL value, unless it has been defined with the NULL\nattribute to permit NULL values. The automatic initialization and\nupdating to the current date and time can be specified using DEFAULT\nCURRENT_TIMESTAMP and ON UPDATE CURRENT_TIMESTAMP clauses, as described\nin\nhttp://dev.mysql.com/doc/refman/5.5/en/timestamp-initialization.html.\n\n*Note*: The TIMESTAMP format that was used prior to MySQL 4.1 is not\nsupported in MySQL 5.5; see MySQL 3.23, 4.0, 4.1 Reference Manual for\ninformation regarding the old format.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (102,12,'DES_DECRYPT','Syntax:\nDES_DECRYPT(crypt_str[,key_str])\n\nDecrypts a string encrypted with DES_ENCRYPT(). If an error occurs,\nthis function returns NULL.\n\nThis function works only if MySQL has been configured with SSL support.\nSee http://dev.mysql.com/doc/refman/5.5/en/ssl-connections.html.\n\nIf no key_str argument is given, DES_DECRYPT() examines the first byte\nof the encrypted string to determine the DES key number that was used\nto encrypt the original string, and then reads the key from the DES key\nfile to decrypt the message. For this to work, the user must have the\nSUPER privilege. The key file can be specified with the --des-key-file\nserver option.\n\nIf you pass this function a key_str argument, that string is used as\nthe key for decrypting the message.\n\nIf the crypt_str argument does not appear to be an encrypted string,\nMySQL returns the given crypt_str.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (103,27,'CACHE INDEX','Syntax:\nCACHE INDEX\n tbl_index_list [, tbl_index_list] ...\n [PARTITION (partition_list | ALL)]\n IN key_cache_name\n\ntbl_index_list:\n tbl_name [[INDEX|KEY] (index_name[, index_name] ...)]\n\npartition_list:\n partition_name[, partition_name][, ...]\n\nThe CACHE INDEX statement assigns table indexes to a specific key\ncache. It is used only for MyISAM tables. After the indexes have been\nassigned, they can be preloaded into the cache if desired with LOAD\nINDEX INTO CACHE.\n\nThe following statement assigns indexes from the tables t1, t2, and t3\nto the key cache named hot_cache:\n\nmysql> CACHE INDEX t1, t2, t3 IN hot_cache;\n+---------+--------------------+----------+----------+\n| Table | Op | Msg_type | Msg_text |\n+---------+--------------------+----------+----------+\n| test.t1 | assign_to_keycache | status | OK |\n| test.t2 | assign_to_keycache | status | OK |\n| test.t3 | assign_to_keycache | status | OK |\n+---------+--------------------+----------+----------+\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/cache-index.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/cache-index.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (104,13,'ENDPOINT','EndPoint(ls)\n\nReturns the Point that is the endpoint of the LineString value ls.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-linestring-property-functions.html\n\n','mysql> SET @ls = \'LineString(1 1,2 2,3 3)\';\nmysql> SELECT AsText(EndPoint(GeomFromText(@ls)));\n+-------------------------------------+\n| AsText(EndPoint(GeomFromText(@ls))) |\n+-------------------------------------+\n| POINT(3 3) |\n+-------------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-linestring-property-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (105,12,'COMPRESS','Syntax:\nCOMPRESS(string_to_compress)\n\nCompresses a string and returns the result as a binary string. This\nfunction requires MySQL to have been compiled with a compression\nlibrary such as zlib. Otherwise, the return value is always NULL. The\ncompressed string can be uncompressed with UNCOMPRESS().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','mysql> SELECT LENGTH(COMPRESS(REPEAT(\'a\',1000)));\n -> 21\nmysql> SELECT LENGTH(COMPRESS(\'\'));\n -> 0\nmysql> SELECT LENGTH(COMPRESS(\'a\'));\n -> 13\nmysql> SELECT LENGTH(COMPRESS(REPEAT(\'a\',16)));\n -> 15\n','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (106,28,'INSERT','Syntax:\nINSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]\n [INTO] tbl_name [(col_name,...)]\n {VALUES | VALUE} ({expr | DEFAULT},...),(...),...\n [ ON DUPLICATE KEY UPDATE\n col_name=expr\n [, col_name=expr] ... ]\n\nOr:\n\nINSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]\n [INTO] tbl_name\n SET col_name={expr | DEFAULT}, ...\n [ ON DUPLICATE KEY UPDATE\n col_name=expr\n [, col_name=expr] ... ]\n\nOr:\n\nINSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]\n [INTO] tbl_name [(col_name,...)]\n SELECT ...\n [ ON DUPLICATE KEY UPDATE\n col_name=expr\n [, col_name=expr] ... ]\n\nINSERT inserts new rows into an existing table. The INSERT ... VALUES\nand INSERT ... SET forms of the statement insert rows based on\nexplicitly specified values. The INSERT ... SELECT form inserts rows\nselected from another table or tables. INSERT ... SELECT is discussed\nfurther in [HELP INSERT SELECT].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/insert.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/insert.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (107,16,'COUNT','Syntax:\nCOUNT(expr)\n\nReturns a count of the number of non-NULL values of expr in the rows\nretrieved by a SELECT statement. The result is a BIGINT value.\n\nCOUNT() returns 0 if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','mysql> SELECT student.student_name,COUNT(*)\n -> FROM student,course\n -> WHERE student.student_id=course.student_id\n -> GROUP BY student_name;\n','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (108,28,'HANDLER','Syntax:\nHANDLER tbl_name OPEN [ [AS] alias]\n\nHANDLER tbl_name READ index_name { = | <= | >= | < | > } (value1,value2,...)\n [ WHERE where_condition ] [LIMIT ... ]\nHANDLER tbl_name READ index_name { FIRST | NEXT | PREV | LAST }\n [ WHERE where_condition ] [LIMIT ... ]\nHANDLER tbl_name READ { FIRST | NEXT }\n [ WHERE where_condition ] [LIMIT ... ]\n\nHANDLER tbl_name CLOSE\n\nThe HANDLER statement provides direct access to table storage engine\ninterfaces. It is available for InnoDB and MyISAM tables.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/handler.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/handler.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (109,4,'MLINEFROMTEXT','MLineFromText(wkt[,srid]), MultiLineStringFromText(wkt[,srid])\n\nConstructs a MultiLineString value using its WKT representation and\nSRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (110,33,'GEOMCOLLFROMWKB','GeomCollFromWKB(wkb[,srid]), GeometryCollectionFromWKB(wkb[,srid])\n\nConstructs a GeometryCollection value using its WKB representation and\nSRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (111,9,'HELP_DATE','This help information was generated from the MySQL 5.5 Reference Manual\non: 2014-09-06\n','',''); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (112,40,'RENAME TABLE','Syntax:\nRENAME TABLE tbl_name TO new_tbl_name\n [, tbl_name2 TO new_tbl_name2] ...\n\nThis statement renames one or more tables.\n\nThe rename operation is done atomically, which means that no other\nsession can access any of the tables while the rename is running. For\nexample, if you have an existing table old_table, you can create\nanother table new_table that has the same structure but is empty, and\nthen replace the existing table with the empty one as follows (assuming\nthat backup_table does not already exist):\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/rename-table.html\n\n','CREATE TABLE new_table (...);\nRENAME TABLE old_table TO backup_table, new_table TO old_table;\n','http://dev.mysql.com/doc/refman/5.5/en/rename-table.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (113,23,'BOOLEAN','BOOL, BOOLEAN\n\nThese types are synonyms for TINYINT(1). A value of zero is considered\nfalse. Nonzero values are considered true:\n\nmysql> SELECT IF(0, \'true\', \'false\');\n+------------------------+\n| IF(0, \'true\', \'false\') |\n+------------------------+\n| false |\n+------------------------+\n\nmysql> SELECT IF(1, \'true\', \'false\');\n+------------------------+\n| IF(1, \'true\', \'false\') |\n+------------------------+\n| true |\n+------------------------+\n\nmysql> SELECT IF(2, \'true\', \'false\');\n+------------------------+\n| IF(2, \'true\', \'false\') |\n+------------------------+\n| true |\n+------------------------+\n\nHowever, the values TRUE and FALSE are merely aliases for 1 and 0,\nrespectively, as shown here:\n\nmysql> SELECT IF(0 = FALSE, \'true\', \'false\');\n+--------------------------------+\n| IF(0 = FALSE, \'true\', \'false\') |\n+--------------------------------+\n| true |\n+--------------------------------+\n\nmysql> SELECT IF(1 = TRUE, \'true\', \'false\');\n+-------------------------------+\n| IF(1 = TRUE, \'true\', \'false\') |\n+-------------------------------+\n| true |\n+-------------------------------+\n\nmysql> SELECT IF(2 = TRUE, \'true\', \'false\');\n+-------------------------------+\n| IF(2 = TRUE, \'true\', \'false\') |\n+-------------------------------+\n| false |\n+-------------------------------+\n\nmysql> SELECT IF(2 = FALSE, \'true\', \'false\');\n+--------------------------------+\n| IF(2 = FALSE, \'true\', \'false\') |\n+--------------------------------+\n| false |\n+--------------------------------+\n\nThe last two statements display the results shown because 2 is equal to\nneither 1 nor 0.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (114,14,'DEFAULT','Syntax:\nDEFAULT(col_name)\n\nReturns the default value for a table column. An error results if the\ncolumn has no default value.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html\n\n','mysql> UPDATE t SET i = DEFAULT(i)+1 WHERE id < 100;\n','http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (115,3,'MOD','Syntax:\nMOD(N,M), N % M, N MOD M\n\nModulo operation. Returns the remainder of N divided by M.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT MOD(234, 10);\n -> 4\nmysql> SELECT 253 % 7;\n -> 1\nmysql> SELECT MOD(29,9);\n -> 2\nmysql> SELECT 29 MOD 9;\n -> 2\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (116,23,'TINYTEXT','TINYTEXT [CHARACTER SET charset_name] [COLLATE collation_name]\n\nA TEXT column with a maximum length of 255 (28 - 1) characters. The\neffective maximum length is less if the value contains multibyte\ncharacters. Each TINYTEXT value is stored using a 1-byte length prefix\nthat indicates the number of bytes in the value.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (117,21,'OPTIMIZE TABLE','Syntax:\nOPTIMIZE [NO_WRITE_TO_BINLOG | LOCAL] TABLE\n tbl_name [, tbl_name] ...\n\nReorganizes the physical storage of table data and associated index\ndata, to reduce storage space and improve I/O efficiency when accessing\nthe table. The exact changes made to each table depend on the storage\nengine used by that table.\n\nUse OPTIMIZE TABLE in these cases, depending on the type of table:\n\no After doing substantial insert, update, or delete operations on an\n InnoDB table that has its own .ibd file because it was created with\n the innodb_file_per_table option enabled. The table and indexes are\n reorganized, and disk space can be reclaimed for use by the operating\n system.\n\no After deleting a large part of a MyISAM or ARCHIVE table, or making\n many changes to a MyISAM or ARCHIVE table with variable-length rows\n (tables that have VARCHAR, VARBINARY, BLOB, or TEXT columns). Deleted\n rows are maintained in a linked list and subsequent INSERT operations\n reuse old row positions. You can use OPTIMIZE TABLE to reclaim the\n unused space and to defragment the data file. After extensive changes\n to a table, this statement may also improve performance of statements\n that use the table, sometimes significantly.\n\nThis statement requires SELECT and INSERT privileges for the table.\n\nOPTIMIZE TABLE is also supported for partitioned tables. For\ninformation about using this statement with partitioned tables and\ntable partitions, see\nhttp://dev.mysql.com/doc/refman/5.5/en/partitioning-maintenance.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/optimize-table.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/optimize-table.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (118,12,'DECODE','Syntax:\nDECODE(crypt_str,pass_str)\n\nDecrypts the encrypted string crypt_str using pass_str as the password.\ncrypt_str should be a string returned from ENCODE().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (119,19,'<=>','Syntax:\n<=>\n\nNULL-safe equal. This operator performs an equality comparison like the\n= operator, but returns 1 rather than NULL if both operands are NULL,\nand 0 rather than NULL if one operand is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT 1 <=> 1, NULL <=> NULL, 1 <=> NULL;\n -> 1, 1, 0\nmysql> SELECT 1 = 1, NULL = NULL, 1 = NULL;\n -> 1, NULL, NULL\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (120,29,'HELP STATEMENT','Syntax:\nHELP \'search_string\'\n\nThe HELP statement returns online information from the MySQL Reference\nmanual. Its proper operation requires that the help tables in the mysql\ndatabase be initialized with help topic information (see\nhttp://dev.mysql.com/doc/refman/5.5/en/server-side-help-support.html).\n\nThe HELP statement searches the help tables for the given search string\nand displays the result of the search. The search string is not case\nsensitive.\n\nThe search string can contain the wildcard characters "%" and "_".\nThese have the same meaning as for pattern-matching operations\nperformed with the LIKE operator. For example, HELP \'rep%\' returns a\nlist of topics that begin with rep.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/help.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/help.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (121,27,'RESET','Syntax:\nRESET reset_option [, reset_option] ...\n\nThe RESET statement is used to clear the state of various server\noperations. You must have the RELOAD privilege to execute RESET.\n\nRESET acts as a stronger version of the FLUSH statement. See [HELP\nFLUSH].\n\nThe RESET statement causes an implicit commit. See\nhttp://dev.mysql.com/doc/refman/5.5/en/implicit-commit.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/reset.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/reset.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (122,14,'GET_LOCK','Syntax:\nGET_LOCK(str,timeout)\n\nTries to obtain a lock with a name given by the string str, using a\ntimeout of timeout seconds. Before MySQL 5.5.8, a negative timeout\nvalue means infinite timeout on Windows. As of 5.5.8, this behavior\napplies on all platforms.\n\nReturns 1 if the lock was obtained successfully, 0 if the attempt timed\nout (for example, because another client has previously locked the\nname), or NULL if an error occurred (such as running out of memory or\nthe thread was killed with mysqladmin kill). If you have a lock\nobtained with GET_LOCK(), it is released when you execute\nRELEASE_LOCK(), execute a new GET_LOCK(), or your connection terminates\n(either normally or abnormally). Locks obtained with GET_LOCK() do not\ninteract with transactions. That is, committing a transaction does not\nrelease any such locks obtained during the transaction.\n\nGET_LOCK() can be used to implement application locks or to simulate\nrecord locks. Names are locked on a server-wide basis. If a name has\nbeen locked within one session, GET_LOCK() blocks any request by\nanother session for a lock with the same name. This enables clients\nthat agree on a given lock name to use the name to perform cooperative\nadvisory locking. But be aware that it also enables a client that is\nnot among the set of cooperating clients to lock a name, either\ninadvertently or deliberately, and thus prevent any of the cooperating\nclients from locking that name. One way to reduce the likelihood of\nthis is to use lock names that are database-specific or\napplication-specific. For example, use lock names of the form\ndb_name.str or app_name.str.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html\n\n','mysql> SELECT GET_LOCK(\'lock1\',10);\n -> 1\nmysql> SELECT IS_FREE_LOCK(\'lock2\');\n -> 1\nmysql> SELECT GET_LOCK(\'lock2\',10);\n -> 1\nmysql> SELECT RELEASE_LOCK(\'lock2\');\n -> 1\nmysql> SELECT RELEASE_LOCK(\'lock1\');\n -> NULL\n','http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (123,38,'UCASE','Syntax:\nUCASE(str)\n\nUCASE() is a synonym for UPPER().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (124,27,'SHOW BINLOG EVENTS','Syntax:\nSHOW BINLOG EVENTS\n [IN \'log_name\'] [FROM pos] [LIMIT [offset,] row_count]\n\nShows the events in the binary log. If you do not specify \'log_name\',\nthe first binary log is displayed.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-binlog-events.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-binlog-events.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (125,33,'MPOLYFROMWKB','MPolyFromWKB(wkb[,srid]), MultiPolygonFromWKB(wkb[,srid])\n\nConstructs a MultiPolygon value using its WKB representation and SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (126,24,'ITERATE','Syntax:\nITERATE label\n\nITERATE can appear only within LOOP, REPEAT, and WHILE statements.\nITERATE means "start the loop again."\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/iterate.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/iterate.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (127,28,'DO','Syntax:\nDO expr [, expr] ...\n\nDO executes the expressions but does not return any results. In most\nrespects, DO is shorthand for SELECT expr, ..., but has the advantage\nthat it is slightly faster when you do not care about the result.\n\nDO is useful primarily with functions that have side effects, such as\nRELEASE_LOCK().\n\nExample: This SELECT statement pauses, but also produces a result set:\n\nmysql> SELECT SLEEP(5);\n+----------+\n| SLEEP(5) |\n+----------+\n| 0 |\n+----------+\n1 row in set (5.02 sec)\n\nDO, on the other hand, pauses without producing a result set.:\n\nmysql> DO SLEEP(5);\nQuery OK, 0 rows affected (4.99 sec)\n\nThis could be useful, for example in a stored function or trigger,\nwhich prohibit statements that produce result sets.\n\nDO only executes expressions. It cannot be used in all cases where\nSELECT can be used. For example, DO id FROM t1 is invalid because it\nreferences a table.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/do.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/do.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (128,32,'CURTIME','Syntax:\nCURTIME()\n\nReturns the current time as a value in \'HH:MM:SS\' or HHMMSS.uuuuuu\nformat, depending on whether the function is used in a string or\nnumeric context. The value is expressed in the current time zone.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT CURTIME();\n -> \'23:50:26\'\nmysql> SELECT CURTIME() + 0;\n -> 235026.000000\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (129,38,'CHAR_LENGTH','Syntax:\nCHAR_LENGTH(str)\n\nReturns the length of the string str, measured in characters. A\nmultibyte character counts as a single character. This means that for a\nstring containing five 2-byte characters, LENGTH() returns 10, whereas\nCHAR_LENGTH() returns 5.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (130,23,'BIGINT','BIGINT[(M)] [UNSIGNED] [ZEROFILL]\n\nA large integer. The signed range is -9223372036854775808 to\n9223372036854775807. The unsigned range is 0 to 18446744073709551615.\n\nSERIAL is an alias for BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (131,27,'SET','Syntax:\nSET variable_assignment [, variable_assignment] ...\n\nvariable_assignment:\n user_var_name = expr\n | [GLOBAL | SESSION] system_var_name = expr\n | [@@global. | @@session. | @@]system_var_name = expr\n\nThe SET statement assigns values to different types of variables that\naffect the operation of the server or your client. Older versions of\nMySQL employed SET OPTION, but this syntax is deprecated in favor of\nSET without OPTION.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/set-statement.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/set-statement.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (132,28,'LOAD XML','Syntax:\nLOAD XML [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE \'file_name\'\n [REPLACE | IGNORE]\n INTO TABLE [db_name.]tbl_name\n [CHARACTER SET charset_name]\n [ROWS IDENTIFIED BY \'\']\n [IGNORE number {LINES | ROWS}]\n [(column_or_user_var,...)]\n [SET col_name = expr,...]\n\nThe LOAD XML statement reads data from an XML file into a table. The\nfile_name must be given as a literal string. The tagname in the\noptional ROWS IDENTIFIED BY clause must also be given as a literal\nstring, and must be surrounded by angle brackets (< and >).\n\nLOAD XML acts as the complement of running the mysql client in XML\noutput mode (that is, starting the client with the --xml option). To\nwrite data from a table to an XML file, use a command such as the\nfollowing one from the system shell:\n\nshell> mysql --xml -e \'SELECT * FROM mytable\' > file.xml\n\nTo read the file back into a table, use LOAD XML INFILE. By default,\nthe element is considered to be the equivalent of a database\ntable row; this can be changed using the ROWS IDENTIFIED BY clause.\n\nThis statement supports three different XML formats:\n\no Column names as attributes and column values as attribute values:\n\n\n\no Column names as tags and column values as the content of these tags:\n\n\n value1\n value2\n\n\no Column names are the name attributes of tags, and values are\n the contents of these tags:\n\n\n value1\n value2\n\n\n This is the format used by other MySQL tools, such as mysqldump.\n\nAll three formats can be used in the same XML file; the import routine\nautomatically detects the format for each row and interprets it\ncorrectly. Tags are matched based on the tag or attribute name and the\ncolumn name.\n\nThe following clauses work essentially the same way for LOAD XML as\nthey do for LOAD DATA:\n\no LOW_PRIORITY or CONCURRENT\n\no LOCAL\n\no REPLACE or IGNORE\n\no CHARACTER SET\n\no (column_or_user_var,...)\n\no SET\n\nSee [HELP LOAD DATA], for more information about these clauses.\n\nThe IGNORE number LINES or IGNORE number ROWS clause causes the first\nnumber rows in the XML file to be skipped. It is analogous to the LOAD\nDATA statement\'s IGNORE ... LINES clause.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/load-xml.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/load-xml.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (133,3,'CONV','Syntax:\nCONV(N,from_base,to_base)\n\nConverts numbers between different number bases. Returns a string\nrepresentation of the number N, converted from base from_base to base\nto_base. Returns NULL if any argument is NULL. The argument N is\ninterpreted as an integer, but may be specified as an integer or a\nstring. The minimum base is 2 and the maximum base is 36. If to_base is\na negative number, N is regarded as a signed number. Otherwise, N is\ntreated as unsigned. CONV() works with 64-bit precision.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT CONV(\'a\',16,2);\n -> \'1010\'\nmysql> SELECT CONV(\'6E\',18,8);\n -> \'172\'\nmysql> SELECT CONV(-17,10,-18);\n -> \'-H\'\nmysql> SELECT CONV(10+\'10\'+\'10\'+0xa,10,10);\n -> \'40\'\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (134,23,'DATE','DATE\n\nA date. The supported range is \'1000-01-01\' to \'9999-12-31\'. MySQL\ndisplays DATE values in \'YYYY-MM-DD\' format, but permits assignment of\nvalues to DATE columns using either strings or numbers.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (135,15,'ASSIGN-VALUE','Syntax:\n:=\n\nAssignment operator. Causes the user variable on the left hand side of\nthe operator to take on the value to its right. The value on the right\nhand side may be a literal value, another variable storing a value, or\nany legal expression that yields a scalar value, including the result\nof a query (provided that this value is a scalar value). You can\nperform multiple assignments in the same SET statement. You can perform\nmultiple assignments in the same statement-\n\nUnlike =, the := operator is never interpreted as a comparison\noperator. This means you can use := in any valid SQL statement (not\njust in SET statements) to assign a value to a variable.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/assignment-operators.html\n\n','mysql> SELECT @var1, @var2;\n -> NULL, NULL\nmysql> SELECT @var1 := 1, @var2;\n -> 1, NULL\nmysql> SELECT @var1, @var2;\n -> 1, NULL\nmysql> SELECT @var1, @var2 := @var1;\n -> 1, 1\nmysql> SELECT @var1, @var2;\n -> 1, 1\n\nmysql> SELECT @var1:=COUNT(*) FROM t1;\n -> 4\nmysql> SELECT @var1;\n -> 4\n','http://dev.mysql.com/doc/refman/5.5/en/assignment-operators.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (136,27,'SHOW OPEN TABLES','Syntax:\nSHOW OPEN TABLES [{FROM | IN} db_name]\n [LIKE \'pattern\' | WHERE expr]\n\nSHOW OPEN TABLES lists the non-TEMPORARY tables that are currently open\nin the table cache. See\nhttp://dev.mysql.com/doc/refman/5.5/en/table-cache.html. The FROM\nclause, if present, restricts the tables shown to those present in the\ndb_name database. The LIKE clause, if present, indicates which table\nnames to match. The WHERE clause can be given to select rows using more\ngeneral conditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.5/en/extended-show.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-open-tables.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-open-tables.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (137,32,'EXTRACT','Syntax:\nEXTRACT(unit FROM date)\n\nThe EXTRACT() function uses the same kinds of unit specifiers as\nDATE_ADD() or DATE_SUB(), but extracts parts from the date rather than\nperforming date arithmetic.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT EXTRACT(YEAR FROM \'2009-07-02\');\n -> 2009\nmysql> SELECT EXTRACT(YEAR_MONTH FROM \'2009-07-02 01:02:03\');\n -> 200907\nmysql> SELECT EXTRACT(DAY_MINUTE FROM \'2009-07-02 01:02:03\');\n -> 20102\nmysql> SELECT EXTRACT(MICROSECOND\n -> FROM \'2003-01-02 10:30:00.000123\');\n -> 123\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (138,12,'ENCRYPT','Syntax:\nENCRYPT(str[,salt])\n\nEncrypts str using the Unix crypt() system call and returns a binary\nstring. The salt argument must be a string with at least two characters\nor the result will be NULL. If no salt argument is given, a random\nvalue is used.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','mysql> SELECT ENCRYPT(\'hello\');\n -> \'VxuFAJXVARROc\'\n','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (139,27,'SHOW STATUS','Syntax:\nSHOW [GLOBAL | SESSION] STATUS\n [LIKE \'pattern\' | WHERE expr]\n\nSHOW STATUS provides server status information. This information also\ncan be obtained using the mysqladmin extended-status command. The LIKE\nclause, if present, indicates which variable names to match. The WHERE\nclause can be given to select rows using more general conditions, as\ndiscussed in http://dev.mysql.com/doc/refman/5.5/en/extended-show.html.\nThis statement does not require any privilege. It requires only the\nability to connect to the server.\nWith a LIKE clause, the statement displays only rows for those\nvariables with names that match the pattern:\n\nmysql> SHOW STATUS LIKE \'Key%\';\n+--------------------+----------+\n| Variable_name | Value |\n+--------------------+----------+\n| Key_blocks_used | 14955 |\n| Key_read_requests | 96854827 |\n| Key_reads | 162040 |\n| Key_write_requests | 7589728 |\n| Key_writes | 3813196 |\n+--------------------+----------+\n\nWith the GLOBAL modifier, SHOW STATUS displays the status values for\nall connections to MySQL. With SESSION, it displays the status values\nfor the current connection. If no modifier is present, the default is\nSESSION. LOCAL is a synonym for SESSION.\n\nSome status variables have only a global value. For these, you get the\nsame value for both GLOBAL and SESSION. The scope for each status\nvariable is listed at\nhttp://dev.mysql.com/doc/refman/5.5/en/server-status-variables.html.\n\nEach invocation of the SHOW STATUS statement uses an internal temporary\ntable and increments the global Created_tmp_tables value.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-status.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-status.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (140,38,'EXTRACTVALUE','Syntax:\nExtractValue(xml_frag, xpath_expr)\n\nExtractValue() takes two string arguments, a fragment of XML markup\nxml_frag and an XPath expression xpath_expr (also known as a locator);\nit returns the text (CDATA) of the first text node which is a child of\nthe elements or elements matched by the XPath expression. In MySQL 5.5,\nthe XPath expression can contain at most 127 characters. (This\nlimitation is lifted in MySQL 5.6.)\n\nUsing this function is the equivalent of performing a match using the\nxpath_expr after appending /text(). In other words,\nExtractValue(\'Sakila\', \'/a/b\') and\nExtractValue(\'Sakila\', \'/a/b/text()\') produce the same\nresult.\n\nIf multiple matches are found, the content of the first child text node\nof each matching element is returned (in the order matched) as a\nsingle, space-delimited string.\n\nIf no matching text node is found for the expression (including the\nimplicit /text())---for whatever reason, as long as xpath_expr is\nvalid, and xml_frag consists of elements which are properly nested and\nclosed---an empty string is returned. No distinction is made between a\nmatch on an empty element and no match at all. This is by design.\n\nIf you need to determine whether no matching element was found in\nxml_frag or such an element was found but contained no child text\nnodes, you should test the result of an expression that uses the XPath\ncount() function. For example, both of these statements return an empty\nstring, as shown here:\n\nmysql> SELECT ExtractValue(\'\', \'/a/b\');\n+-------------------------------------+\n| ExtractValue(\'\', \'/a/b\') |\n+-------------------------------------+\n| |\n+-------------------------------------+\n1 row in set (0.00 sec)\n\nmysql> SELECT ExtractValue(\'\', \'/a/b\');\n+-------------------------------------+\n| ExtractValue(\'\', \'/a/b\') |\n+-------------------------------------+\n| |\n+-------------------------------------+\n1 row in set (0.00 sec)\n\nHowever, you can determine whether there was actually a matching\nelement using the following:\n\nmysql> SELECT ExtractValue(\'\', \'count(/a/b)\');\n+-------------------------------------+\n| ExtractValue(\'\', \'count(/a/b)\') |\n+-------------------------------------+\n| 1 |\n+-------------------------------------+\n1 row in set (0.00 sec)\n\nmysql> SELECT ExtractValue(\'\', \'count(/a/b)\');\n+-------------------------------------+\n| ExtractValue(\'\', \'count(/a/b)\') |\n+-------------------------------------+\n| 0 |\n+-------------------------------------+\n1 row in set (0.01 sec)\n\n*Important*: ExtractValue() returns only CDATA, and does not return any\ntags that might be contained within a matching tag, nor any of their\ncontent (see the result returned as val1 in the following example).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/xml-functions.html\n\n','mysql> SELECT\n -> ExtractValue(\'cccddd\', \'/a\') AS val1,\n -> ExtractValue(\'cccddd\', \'/a/b\') AS val2,\n -> ExtractValue(\'cccddd\', \'//b\') AS val3,\n -> ExtractValue(\'cccddd\', \'/b\') AS val4,\n -> ExtractValue(\'cccdddeee\', \'//b\') AS val5;\n\n+------+------+------+------+---------+\n| val1 | val2 | val3 | val4 | val5 |\n+------+------+------+------+---------+\n| ccc | ddd | ddd | | ddd eee |\n+------+------+------+------+---------+\n','http://dev.mysql.com/doc/refman/5.5/en/xml-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (141,12,'OLD_PASSWORD','Syntax:\nOLD_PASSWORD(str)\n\nOLD_PASSWORD() was added when the implementation of PASSWORD() was\nchanged in MySQL 4.1 to improve security. OLD_PASSWORD() returns the\nvalue of the pre-4.1 implementation of PASSWORD() as a string, and is\nintended to permit you to reset passwords for any pre-4.1 clients that\nneed to connect to your version 5.5 MySQL server without locking them\nout. See http://dev.mysql.com/doc/refman/5.5/en/password-hashing.html.\n\nAs of MySQL 5.5.3, the return value is a nonbinary string in the\nconnection character set. Before 5.5.3, the return value is a binary\nstring.\n\n*Note*: Passwords that use the pre-4.1 hashing method are less secure\nthan passwords that use the native password hashing method and should\nbe avoided.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (142,38,'FORMAT','Syntax:\nFORMAT(X,D[,locale])\n\nFormats the number X to a format like \'#,###,###.##\', rounded to D\ndecimal places, and returns the result as a string. If D is 0, the\nresult has no decimal point or fractional part.\n\nThe optional third parameter enables a locale to be specified to be\nused for the result number\'s decimal point, thousands separator, and\ngrouping between separators. Permissible locale values are the same as\nthe legal values for the lc_time_names system variable (see\nhttp://dev.mysql.com/doc/refman/5.5/en/locale-support.html). If no\nlocale is specified, the default is \'en_US\'.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT FORMAT(12332.123456, 4);\n -> \'12,332.1235\'\nmysql> SELECT FORMAT(12332.1,4);\n -> \'12,332.1000\'\nmysql> SELECT FORMAT(12332.2,0);\n -> \'12,332\'\nmysql> SELECT FORMAT(12332.2,2,\'de_DE\');\n -> \'12.332,20\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (143,15,'||','Syntax:\nOR, ||\n\nLogical OR. When both operands are non-NULL, the result is 1 if any\noperand is nonzero, and 0 otherwise. With a NULL operand, the result is\n1 if the other operand is nonzero, and NULL otherwise. If both operands\nare NULL, the result is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/logical-operators.html\n\n','mysql> SELECT 1 || 1;\n -> 1\nmysql> SELECT 1 || 0;\n -> 1\nmysql> SELECT 0 || 0;\n -> 0\nmysql> SELECT 0 || NULL;\n -> NULL\nmysql> SELECT 1 || NULL;\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/logical-operators.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (144,38,'BIT_LENGTH','Syntax:\nBIT_LENGTH(str)\n\nReturns the length of the string str in bits.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT BIT_LENGTH(\'text\');\n -> 32\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (145,2,'EXTERIORRING','ExteriorRing(poly)\n\nReturns the exterior ring of the Polygon value poly as a LineString.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-polygon-property-functions.html\n\n','mysql> SET @poly =\n -> \'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))\';\nmysql> SELECT AsText(ExteriorRing(GeomFromText(@poly)));\n+-------------------------------------------+\n| AsText(ExteriorRing(GeomFromText(@poly))) |\n+-------------------------------------------+\n| LINESTRING(0 0,0 3,3 3,3 0,0 0) |\n+-------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-polygon-property-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (146,33,'GEOMFROMWKB','GeomFromWKB(wkb[,srid]), GeometryFromWKB(wkb[,srid])\n\nConstructs a geometry value of any type using its WKB representation\nand SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (147,27,'SHOW SLAVE HOSTS','Syntax:\nSHOW SLAVE HOSTS\n\nDisplays a list of replication slaves currently registered with the\nmaster. (Before MySQL 5.5.3, only slaves started with the\n--report-host=host_name option are visible in this list.)\n\nSHOW SLAVE HOSTS should be executed on a server that acts as a\nreplication master. The statement displays information about servers\nthat are or have been connected as replication slaves, with each row of\nthe result corresponding to one slave server, as shown here:\n\nmysql> SHOW SLAVE HOSTS;\n+------------+-----------+------+-----------+\n| Server_id | Host | Port | Master_id |\n+------------+-----------+------+-----------+\n| 192168010 | iconnect2 | 3306 | 192168011 |\n| 1921680101 | athena | 3306 | 192168011 |\n+------------+-----------+------+-----------+\n\no Server_id: The unique server ID of the slave server, as configured in\n the slave server\'s option file, or on the command line with\n --server-id=value.\n\no Host: The host name of the slave server, as configured in the slave\n server\'s option file, or on the command line with\n --report-host=host_name. Note that this can differ from the machine\n name as configured in the operating system.\n\no Port: The port on the master to which the slave server is listening.\n\n In MySQL 5.5.23 and later, a zero in this column means that the slave\n port (--report-port) was not set. Prior to MySQL 5.5.23, 3306 was\n used as the default in such cases (Bug #13333431).\n\no Master_id: The unique server ID of the master server that the slave\n server is replicating from. This is the server ID of the server on\n which SHOW SLAVE HOSTS is executed, so this same value is listed for\n each row in the result.\n\nSome MySQL versions report another variable, Rpl_recovery_rank. This\nvariable was never used, and was removed in MySQL 5.5.3. (Bug #13963)\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-slave-hosts.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-slave-hosts.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (148,8,'START TRANSACTION','Syntax:\nSTART TRANSACTION [WITH CONSISTENT SNAPSHOT]\nBEGIN [WORK]\nCOMMIT [WORK] [AND [NO] CHAIN] [[NO] RELEASE]\nROLLBACK [WORK] [AND [NO] CHAIN] [[NO] RELEASE]\nSET autocommit = {0 | 1}\n\nThese statements provide control over use of transactions:\n\no START TRANSACTION or BEGIN start a new transaction.\n\no COMMIT commits the current transaction, making its changes permanent.\n\no ROLLBACK rolls back the current transaction, canceling its changes.\n\no SET autocommit disables or enables the default autocommit mode for\n the current session.\n\nBy default, MySQL runs with autocommit mode enabled. This means that as\nsoon as you execute a statement that updates (modifies) a table, MySQL\nstores the update on disk to make it permanent. The change cannot be\nrolled back.\n\nTo disable autocommit mode implicitly for a single series of\nstatements, use the START TRANSACTION statement:\n\nSTART TRANSACTION;\nSELECT @A:=SUM(salary) FROM table1 WHERE type=1;\nUPDATE table2 SET summary=@A WHERE type=1;\nCOMMIT;\n\nWith START TRANSACTION, autocommit remains disabled until you end the\ntransaction with COMMIT or ROLLBACK. The autocommit mode then reverts\nto its previous state.\n\nYou can also begin a transaction like this:\n\nSTART TRANSACTION WITH CONSISTENT SNAPSHOT;\n\nThe WITH CONSISTENT SNAPSHOT option starts a consistent read for\nstorage engines that are capable of it. This applies only to InnoDB.\nThe effect is the same as issuing a START TRANSACTION followed by a\nSELECT from any InnoDB table. See\nhttp://dev.mysql.com/doc/refman/5.5/en/innodb-consistent-read.html. The\nWITH CONSISTENT SNAPSHOT option does not change the current transaction\nisolation level, so it provides a consistent snapshot only if the\ncurrent isolation level is one that permits a consistent read. The only\nisolation level that permits a consistent read is REPEATABLE READ. For\nall other isolation levels, the WITH CONSISTENT SNAPSHOT clause is\nignored. As of MySQL 5.5.34, a warning is generated when the WITH\nCONSISTENT SNAPSHOT is ignored.\n\n*Important*: Many APIs used for writing MySQL client applications (such\nas JDBC) provide their own methods for starting transactions that can\n(and sometimes should) be used instead of sending a START TRANSACTION\nstatement from the client. See\nhttp://dev.mysql.com/doc/refman/5.5/en/connectors-apis.html, or the\ndocumentation for your API, for more information.\n\nTo disable autocommit mode explicitly, use the following statement:\n\nSET autocommit=0;\n\nAfter disabling autocommit mode by setting the autocommit variable to\nzero, changes to transaction-safe tables (such as those for InnoDB or\nNDBCLUSTER) are not made permanent immediately. You must use COMMIT to\nstore your changes to disk or ROLLBACK to ignore the changes.\n\nautocommit is a session variable and must be set for each session. To\ndisable autocommit mode for each new connection, see the description of\nthe autocommit system variable at\nhttp://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html.\n\nBEGIN and BEGIN WORK are supported as aliases of START TRANSACTION for\ninitiating a transaction. START TRANSACTION is standard SQL syntax and\nis the recommended way to start an ad-hoc transaction.\n\nThe BEGIN statement differs from the use of the BEGIN keyword that\nstarts a BEGIN ... END compound statement. The latter does not begin a\ntransaction. See [HELP BEGIN END].\n\n*Note*: Within all stored programs (stored procedures and functions,\ntriggers, and events), the parser treats BEGIN [WORK] as the beginning\nof a BEGIN ... END block. Begin a transaction in this context with\nSTART TRANSACTION instead.\n\nThe optional WORK keyword is supported for COMMIT and ROLLBACK, as are\nthe CHAIN and RELEASE clauses. CHAIN and RELEASE can be used for\nadditional control over transaction completion. The value of the\ncompletion_type system variable determines the default completion\nbehavior. See\nhttp://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html.\n\nThe AND CHAIN clause causes a new transaction to begin as soon as the\ncurrent one ends, and the new transaction has the same isolation level\nas the just-terminated transaction. The RELEASE clause causes the\nserver to disconnect the current client session after terminating the\ncurrent transaction. Including the NO keyword suppresses CHAIN or\nRELEASE completion, which can be useful if the completion_type system\nvariable is set to cause chaining or release completion by default.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/commit.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/commit.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (149,19,'BETWEEN AND','Syntax:\nexpr BETWEEN min AND max\n\nIf expr is greater than or equal to min and expr is less than or equal\nto max, BETWEEN returns 1, otherwise it returns 0. This is equivalent\nto the expression (min <= expr AND expr <= max) if all the arguments\nare of the same type. Otherwise type conversion takes place according\nto the rules described in\nhttp://dev.mysql.com/doc/refman/5.5/en/type-conversion.html, but\napplied to all the three arguments.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT 2 BETWEEN 1 AND 3, 2 BETWEEN 3 and 1;\n -> 1, 0\nmysql> SELECT 1 BETWEEN 2 AND 3;\n -> 0\nmysql> SELECT \'b\' BETWEEN \'a\' AND \'c\';\n -> 1\nmysql> SELECT 2 BETWEEN 2 AND \'3\';\n -> 1\nmysql> SELECT 2 BETWEEN 2 AND \'x-3\';\n -> 0\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (150,25,'MULTIPOLYGON','MultiPolygon(poly1,poly2,...)\n\nConstructs a MultiPolygon value from a set of Polygon or WKB Polygon\narguments.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (151,32,'TIME_FORMAT','Syntax:\nTIME_FORMAT(time,format)\n\nThis is used like the DATE_FORMAT() function, but the format string may\ncontain format specifiers only for hours, minutes, seconds, and\nmicroseconds. Other specifiers produce a NULL value or 0.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT TIME_FORMAT(\'100:00:00\', \'%H %k %h %I %l\');\n -> \'100 100 04 04 4\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (152,38,'LEFT','Syntax:\nLEFT(str,len)\n\nReturns the leftmost len characters from the string str, or NULL if any\nargument is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT LEFT(\'foobarbar\', 5);\n -> \'fooba\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (153,27,'FLUSH QUERY CACHE','You can defragment the query cache to better utilize its memory with\nthe FLUSH QUERY CACHE statement. The statement does not remove any\nqueries from the cache.\n\nThe RESET QUERY CACHE statement removes all query results from the\nquery cache. The FLUSH TABLES statement also does this.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/query-cache-status-and-maintenance.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/query-cache-status-and-maintenance.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (154,23,'SET DATA TYPE','SET(\'value1\',\'value2\',...) [CHARACTER SET charset_name] [COLLATE\ncollation_name]\n\nA set. A string object that can have zero or more values, each of which\nmust be chosen from the list of values \'value1\', \'value2\', ... SET\nvalues are represented internally as integers.\n\nA SET column can have a maximum of 64 distinct members. A table can\nhave no more than 255 unique element list definitions among its ENUM\nand SET columns considered as a group. For more information on this\nlimit, see http://dev.mysql.com/doc/refman/5.5/en/limits-frm-file.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (155,3,'RAND','Syntax:\nRAND(), RAND(N)\n\nReturns a random floating-point value v in the range 0 <= v < 1.0. If a\nconstant integer argument N is specified, it is used as the seed value,\nwhich produces a repeatable sequence of column values. In the following\nexample, note that the sequences of values produced by RAND(3) is the\nsame both places where it occurs.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> CREATE TABLE t (i INT);\nQuery OK, 0 rows affected (0.42 sec)\n\nmysql> INSERT INTO t VALUES(1),(2),(3);\nQuery OK, 3 rows affected (0.00 sec)\nRecords: 3 Duplicates: 0 Warnings: 0\n\nmysql> SELECT i, RAND() FROM t;\n+------+------------------+\n| i | RAND() |\n+------+------------------+\n| 1 | 0.61914388706828 |\n| 2 | 0.93845168309142 |\n| 3 | 0.83482678498591 |\n+------+------------------+\n3 rows in set (0.00 sec)\n\nmysql> SELECT i, RAND(3) FROM t;\n+------+------------------+\n| i | RAND(3) |\n+------+------------------+\n| 1 | 0.90576975597606 |\n| 2 | 0.37307905813035 |\n| 3 | 0.14808605345719 |\n+------+------------------+\n3 rows in set (0.00 sec)\n\nmysql> SELECT i, RAND() FROM t;\n+------+------------------+\n| i | RAND() |\n+------+------------------+\n| 1 | 0.35877890638893 |\n| 2 | 0.28941420772058 |\n| 3 | 0.37073435016976 |\n+------+------------------+\n3 rows in set (0.00 sec)\n\nmysql> SELECT i, RAND(3) FROM t;\n+------+------------------+\n| i | RAND(3) |\n+------+------------------+\n| 1 | 0.90576975597606 |\n| 2 | 0.37307905813035 |\n| 3 | 0.14808605345719 |\n+------+------------------+\n3 rows in set (0.01 sec)\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (156,38,'RPAD','Syntax:\nRPAD(str,len,padstr)\n\nReturns the string str, right-padded with the string padstr to a length\nof len characters. If str is longer than len, the return value is\nshortened to len characters.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT RPAD(\'hi\',5,\'?\');\n -> \'hi???\'\nmysql> SELECT RPAD(\'hi\',1,\'?\');\n -> \'h\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (157,40,'CREATE DATABASE','Syntax:\nCREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name\n [create_specification] ...\n\ncreate_specification:\n [DEFAULT] CHARACTER SET [=] charset_name\n | [DEFAULT] COLLATE [=] collation_name\n\nCREATE DATABASE creates a database with the given name. To use this\nstatement, you need the CREATE privilege for the database. CREATE\nSCHEMA is a synonym for CREATE DATABASE.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-database.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/create-database.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (158,23,'DEC','DEC[(M[,D])] [UNSIGNED] [ZEROFILL], NUMERIC[(M[,D])] [UNSIGNED]\n[ZEROFILL], FIXED[(M[,D])] [UNSIGNED] [ZEROFILL]\n\nThese types are synonyms for DECIMAL. The FIXED synonym is available\nfor compatibility with other database systems.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (159,16,'VAR_POP','Syntax:\nVAR_POP(expr)\n\nReturns the population standard variance of expr. It considers rows as\nthe whole population, not as a sample, so it has the number of rows as\nthe denominator. You can also use VARIANCE(), which is equivalent but\nis not standard SQL.\n\nVAR_POP() returns NULL if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (160,38,'ELT','Syntax:\nELT(N,str1,str2,str3,...)\n\nELT() returns the Nth element of the list of strings: str1 if N = 1,\nstr2 if N = 2, and so on. Returns NULL if N is less than 1 or greater\nthan the number of arguments. ELT() is the complement of FIELD().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT ELT(1, \'ej\', \'Heja\', \'hej\', \'foo\');\n -> \'ej\'\nmysql> SELECT ELT(4, \'ej\', \'Heja\', \'hej\', \'foo\');\n -> \'foo\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (161,40,'ALTER VIEW','Syntax:\nALTER\n [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]\n [DEFINER = { user | CURRENT_USER }]\n [SQL SECURITY { DEFINER | INVOKER }]\n VIEW view_name [(column_list)]\n AS select_statement\n [WITH [CASCADED | LOCAL] CHECK OPTION]\n\nThis statement changes the definition of a view, which must exist. The\nsyntax is similar to that for CREATE VIEW and the effect is the same as\nfor CREATE OR REPLACE VIEW. See [HELP CREATE VIEW]. This statement\nrequires the CREATE VIEW and DROP privileges for the view, and some\nprivilege for each column referred to in the SELECT statement. ALTER\nVIEW is permitted only to the definer or users with the SUPER\nprivilege.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/alter-view.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/alter-view.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (162,27,'SHOW DATABASES','Syntax:\nSHOW {DATABASES | SCHEMAS}\n [LIKE \'pattern\' | WHERE expr]\n\nSHOW DATABASES lists the databases on the MySQL server host. SHOW\nSCHEMAS is a synonym for SHOW DATABASES. The LIKE clause, if present,\nindicates which database names to match. The WHERE clause can be given\nto select rows using more general conditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.5/en/extended-show.html.\n\nYou see only those databases for which you have some kind of privilege,\nunless you have the global SHOW DATABASES privilege. You can also get\nthis list using the mysqlshow command.\n\nIf the server was started with the --skip-show-database option, you\ncannot use this statement at all unless you have the SHOW DATABASES\nprivilege.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-databases.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-databases.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (163,20,'~','Syntax:\n~\n\nInvert all bits.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html\n\n','mysql> SELECT 5 & ~1;\n -> 4\n','http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (164,23,'TEXT','TEXT[(M)] [CHARACTER SET charset_name] [COLLATE collation_name]\n\nA TEXT column with a maximum length of 65,535 (216 - 1) characters. The\neffective maximum length is less if the value contains multibyte\ncharacters. Each TEXT value is stored using a 2-byte length prefix that\nindicates the number of bytes in the value.\n\nAn optional length M can be given for this type. If this is done, MySQL\ncreates the column as the smallest TEXT type large enough to hold\nvalues M characters long.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (165,38,'CONCAT_WS','Syntax:\nCONCAT_WS(separator,str1,str2,...)\n\nCONCAT_WS() stands for Concatenate With Separator and is a special form\nof CONCAT(). The first argument is the separator for the rest of the\narguments. The separator is added between the strings to be\nconcatenated. The separator can be a string, as can the rest of the\narguments. If the separator is NULL, the result is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT CONCAT_WS(\',\',\'First name\',\'Second name\',\'Last Name\');\n -> \'First name,Second name,Last Name\'\nmysql> SELECT CONCAT_WS(\',\',\'First name\',NULL,\'Last Name\');\n -> \'First name,Last Name\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (166,17,'ROW_COUNT','Syntax:\nROW_COUNT()\n\nBefore MySQL 5.5.5, ROW_COUNT() returns the number of rows changed,\ndeleted, or inserted by the last statement if it was an UPDATE, DELETE,\nor INSERT. For other statements, the value may not be meaningful.\n\nAs of MySQL 5.5.5, ROW_COUNT() returns a value as follows:\n\no DDL statements: 0. This applies to statements such as CREATE TABLE or\n DROP TABLE.\n\no DML statements other than SELECT: The number of affected rows. This\n applies to statements such as UPDATE, INSERT, or DELETE (as before),\n but now also to statements such as ALTER TABLE and LOAD DATA INFILE.\n\no SELECT: -1 if the statement returns a result set, or the number of\n rows "affected" if it does not. For example, for SELECT * FROM t1,\n ROW_COUNT() returns -1. For SELECT * FROM t1 INTO OUTFILE\n \'file_name\', ROW_COUNT() returns the number of rows written to the\n file.\n\no SIGNAL statements: 0.\n\nFor UPDATE statements, the affected-rows value by default is the number\nof rows actually changed. If you specify the CLIENT_FOUND_ROWS flag to\nmysql_real_connect() when connecting to mysqld, the affected-rows value\nis the number of rows "found"; that is, matched by the WHERE clause.\n\nFor REPLACE statements, the affected-rows value is 2 if the new row\nreplaced an old row, because in this case, one row was inserted after\nthe duplicate was deleted.\n\nFor INSERT ... ON DUPLICATE KEY UPDATE statements, the affected-rows\nvalue per row is 1 if the row is inserted as a new row, 2 if an\nexisting row is updated, and 0 if an existing row is set to its current\nvalues. If you specify the CLIENT_FOUND_ROWS flag, the affected-rows\nvalue is 1 (not 0) if an existing row is set to its current values.\n\nThe ROW_COUNT() value is similar to the value from the\nmysql_affected_rows() C API function and the row count that the mysql\nclient displays following statement execution.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','mysql> INSERT INTO t VALUES(1),(2),(3);\nQuery OK, 3 rows affected (0.00 sec)\nRecords: 3 Duplicates: 0 Warnings: 0\n\nmysql> SELECT ROW_COUNT();\n+-------------+\n| ROW_COUNT() |\n+-------------+\n| 3 |\n+-------------+\n1 row in set (0.00 sec)\n\nmysql> DELETE FROM t WHERE i IN(1,2);\nQuery OK, 2 rows affected (0.00 sec)\n\nmysql> SELECT ROW_COUNT();\n+-------------+\n| ROW_COUNT() |\n+-------------+\n| 2 |\n+-------------+\n1 row in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (167,3,'ASIN','Syntax:\nASIN(X)\n\nReturns the arc sine of X, that is, the value whose sine is X. Returns\nNULL if X is not in the range -1 to 1.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT ASIN(0.2);\n -> 0.20135792079033\nmysql> SELECT ASIN(\'foo\');\n\n+-------------+\n| ASIN(\'foo\') |\n+-------------+\n| 0 |\n+-------------+\n1 row in set, 1 warning (0.00 sec)\n\nmysql> SHOW WARNINGS;\n+---------+------+-----------------------------------------+\n| Level | Code | Message |\n+---------+------+-----------------------------------------+\n| Warning | 1292 | Truncated incorrect DOUBLE value: \'foo\' |\n+---------+------+-----------------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (168,3,'SIGN','Syntax:\nSIGN(X)\n\nReturns the sign of the argument as -1, 0, or 1, depending on whether X\nis negative, zero, or positive.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT SIGN(-32);\n -> -1\nmysql> SELECT SIGN(0);\n -> 0\nmysql> SELECT SIGN(234);\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (169,32,'SEC_TO_TIME','Syntax:\nSEC_TO_TIME(seconds)\n\nReturns the seconds argument, converted to hours, minutes, and seconds,\nas a TIME value. The range of the result is constrained to that of the\nTIME data type. A warning occurs if the argument corresponds to a value\noutside that range.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT SEC_TO_TIME(2378);\n -> \'00:39:38\'\nmysql> SELECT SEC_TO_TIME(2378) + 0;\n -> 3938\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (170,23,'FLOAT','FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]\n\nA small (single-precision) floating-point number. Permissible values\nare -3.402823466E+38 to -1.175494351E-38, 0, and 1.175494351E-38 to\n3.402823466E+38. These are the theoretical limits, based on the IEEE\nstandard. The actual range might be slightly smaller depending on your\nhardware or operating system.\n\nM is the total number of digits and D is the number of digits following\nthe decimal point. If M and D are omitted, values are stored to the\nlimits permitted by the hardware. A single-precision floating-point\nnumber is accurate to approximately 7 decimal places.\n\nUNSIGNED, if specified, disallows negative values.\n\nUsing FLOAT might give you some unexpected problems because all\ncalculations in MySQL are done with double precision. See\nhttp://dev.mysql.com/doc/refman/5.5/en/no-matching-rows.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (171,38,'LOCATE','Syntax:\nLOCATE(substr,str), LOCATE(substr,str,pos)\n\nThe first syntax returns the position of the first occurrence of\nsubstring substr in string str. The second syntax returns the position\nof the first occurrence of substring substr in string str, starting at\nposition pos. Returns 0 if substr is not in str.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT LOCATE(\'bar\', \'foobarbar\');\n -> 4\nmysql> SELECT LOCATE(\'xbar\', \'foobar\');\n -> 0\nmysql> SELECT LOCATE(\'bar\', \'foobarbar\', 5);\n -> 7\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (172,27,'SHOW EVENTS','Syntax:\nSHOW EVENTS [{FROM | IN} schema_name]\n [LIKE \'pattern\' | WHERE expr]\n\nThis statement displays information about Event Manager events. It\nrequires the EVENT privilege for the database from which the events are\nto be shown.\n\nIn its simplest form, SHOW EVENTS lists all of the events in the\ncurrent schema:\n\nmysql> SELECT CURRENT_USER(), SCHEMA();\n+----------------+----------+\n| CURRENT_USER() | SCHEMA() |\n+----------------+----------+\n| jon@ghidora | myschema |\n+----------------+----------+\n1 row in set (0.00 sec)\n\nmysql> SHOW EVENTS\\G\n*************************** 1. row ***************************\n Db: myschema\n Name: e_daily\n Definer: jon@ghidora\n Time zone: SYSTEM\n Type: RECURRING\n Execute at: NULL\n Interval value: 10\n Interval field: SECOND\n Starts: 2006-02-09 10:41:23\n Ends: NULL\n Status: ENABLED\n Originator: 0\ncharacter_set_client: latin1\ncollation_connection: latin1_swedish_ci\n Database Collation: latin1_swedish_ci\n\nTo see events for a specific schema, use the FROM clause. For example,\nto see events for the test schema, use the following statement:\n\nSHOW EVENTS FROM test;\n\nThe LIKE clause, if present, indicates which event names to match. The\nWHERE clause can be given to select rows using more general conditions,\nas discussed in\nhttp://dev.mysql.com/doc/refman/5.5/en/extended-show.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-events.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-events.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (173,17,'CHARSET','Syntax:\nCHARSET(str)\n\nReturns the character set of the string argument.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','mysql> SELECT CHARSET(\'abc\');\n -> \'latin1\'\nmysql> SELECT CHARSET(CONVERT(\'abc\' USING utf8));\n -> \'utf8\'\nmysql> SELECT CHARSET(USER());\n -> \'utf8\'\n','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (174,32,'SUBDATE','Syntax:\nSUBDATE(date,INTERVAL expr unit), SUBDATE(expr,days)\n\nWhen invoked with the INTERVAL form of the second argument, SUBDATE()\nis a synonym for DATE_SUB(). For information on the INTERVAL unit\nargument, see the discussion for DATE_ADD().\n\nmysql> SELECT DATE_SUB(\'2008-01-02\', INTERVAL 31 DAY);\n -> \'2007-12-02\'\nmysql> SELECT SUBDATE(\'2008-01-02\', INTERVAL 31 DAY);\n -> \'2007-12-02\'\n\nThe second form enables the use of an integer value for days. In such\ncases, it is interpreted as the number of days to be subtracted from\nthe date or datetime expression expr.\n\nmysql> SELECT SUBDATE(\'2008-01-02 12:00:00\', 31);\n -> \'2007-12-02 12:00:00\'\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (175,32,'DAYOFYEAR','Syntax:\nDAYOFYEAR(date)\n\nReturns the day of the year for date, in the range 1 to 366.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT DAYOFYEAR(\'2007-02-03\');\n -> 34\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (176,3,'%','Syntax:\nN % M, N MOD M\n\nModulo operation. Returns the remainder of N divided by M. For more\ninformation, see the description for the MOD() function in\nhttp://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (177,23,'LONGTEXT','LONGTEXT [CHARACTER SET charset_name] [COLLATE collation_name]\n\nA TEXT column with a maximum length of 4,294,967,295 or 4GB (232 - 1)\ncharacters. The effective maximum length is less if the value contains\nmultibyte characters. The effective maximum length of LONGTEXT columns\nalso depends on the configured maximum packet size in the client/server\nprotocol and available memory. Each LONGTEXT value is stored using a\n4-byte length prefix that indicates the number of bytes in the value.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (178,27,'KILL','Syntax:\nKILL [CONNECTION | QUERY] thread_id\n\nEach connection to mysqld runs in a separate thread. You can see which\nthreads are running with the SHOW PROCESSLIST statement and kill a\nthread with the KILL thread_id statement.\n\nKILL permits an optional CONNECTION or QUERY modifier:\n\no KILL CONNECTION is the same as KILL with no modifier: It terminates\n the connection associated with the given thread_id.\n\no KILL QUERY terminates the statement that the connection is currently\n executing, but leaves the connection itself intact.\n\nIf you have the PROCESS privilege, you can see all threads. If you have\nthe SUPER privilege, you can kill all threads and statements.\nOtherwise, you can see and kill only your own threads and statements.\n\nYou can also use the mysqladmin processlist and mysqladmin kill\ncommands to examine and kill threads.\n\n*Note*: You cannot use KILL with the Embedded MySQL Server library\nbecause the embedded server merely runs inside the threads of the host\napplication. It does not create any connection threads of its own.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/kill.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/kill.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (179,31,'DISJOINT','Disjoint(g1,g2)\n\nReturns 1 or 0 to indicate whether g1 is spatially disjoint from (does\nnot intersect) g2.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (180,4,'ASTEXT','AsText(g), AsWKT(g)\n\nConverts a value in internal geometry format to its WKT representation\nand returns the string result.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-format-conversion-functions.html\n\n','mysql> SET @g = \'LineString(1 1,2 2,3 3)\';\nmysql> SELECT AsText(GeomFromText(@g));\n+--------------------------+\n| AsText(GeomFromText(@g)) |\n+--------------------------+\n| LINESTRING(1 1,2 2,3 3) |\n+--------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-format-conversion-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (181,38,'LPAD','Syntax:\nLPAD(str,len,padstr)\n\nReturns the string str, left-padded with the string padstr to a length\nof len characters. If str is longer than len, the return value is\nshortened to len characters.\n\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT LPAD(\'hi\',4,\'??\');\n -> \'??hi\'\nmysql> SELECT LPAD(\'hi\',1,\'??\');\n -> \'h\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (182,24,'DECLARE CONDITION','Syntax:\nDECLARE condition_name CONDITION FOR condition_value\n\ncondition_value:\n mysql_error_code\n | SQLSTATE [VALUE] sqlstate_value\n\nThe DECLARE ... CONDITION statement declares a named error condition,\nassociating a name with a condition that needs specific handling. The\nname can be referred to in a subsequent DECLARE ... HANDLER statement\n(see [HELP DECLARE HANDLER]).\n\nCondition declarations must appear before cursor or handler\ndeclarations.\n\nThe condition_value for DECLARE ... CONDITION can be a MySQL error code\n(a number) or an SQLSTATE value (a 5-character string literal). You\nshould not use MySQL error code 0 or SQLSTATE values that begin with\n\'00\', because those indicate success rather than an error condition.\nFor a list of MySQL error codes and SQLSTATE values, see\nhttp://dev.mysql.com/doc/refman/5.5/en/error-messages-server.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/declare-condition.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/declare-condition.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (183,31,'OVERLAPS','Overlaps(g1,g2)\n\nReturns 1 or 0 to indicate whether g1 spatially overlaps g2. The term\nspatially overlaps is used if two geometries intersect and their\nintersection results in a geometry of the same dimension but not equal\nto either of the given geometries.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (184,8,'SET GLOBAL SQL_SLAVE_SKIP_COUNTER','Syntax:\nSET GLOBAL sql_slave_skip_counter = N\n\nThis statement skips the next N events from the master. This is useful\nfor recovering from replication stops caused by a statement.\n\nThis statement is valid only when the slave threads are not running.\nOtherwise, it produces an error.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/set-global-sql-slave-skip-counter.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/set-global-sql-slave-skip-counter.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (185,26,'NUMGEOMETRIES','NumGeometries(gc)\n\nReturns the number of geometries in the GeometryCollection value gc.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-geometrycollection-property-functions.html\n\n','mysql> SET @gc = \'GeometryCollection(Point(1 1),LineString(2 2, 3 3))\';\nmysql> SELECT NumGeometries(GeomFromText(@gc));\n+----------------------------------+\n| NumGeometries(GeomFromText(@gc)) |\n+----------------------------------+\n| 2 |\n+----------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-geometrycollection-property-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (186,32,'MONTHNAME','Syntax:\nMONTHNAME(date)\n\nReturns the full name of the month for date. The language used for the\nname is controlled by the value of the lc_time_names system variable\n(http://dev.mysql.com/doc/refman/5.5/en/locale-support.html).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT MONTHNAME(\'2008-02-03\');\n -> \'February\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (187,8,'CHANGE MASTER TO','Syntax:\nCHANGE MASTER TO option [, option] ...\n\noption:\n MASTER_BIND = \'interface_name\'\n | MASTER_HOST = \'host_name\'\n | MASTER_USER = \'user_name\'\n | MASTER_PASSWORD = \'password\'\n | MASTER_PORT = port_num\n | MASTER_CONNECT_RETRY = interval\n | MASTER_HEARTBEAT_PERIOD = interval\n | MASTER_LOG_FILE = \'master_log_name\'\n | MASTER_LOG_POS = master_log_pos\n | RELAY_LOG_FILE = \'relay_log_name\'\n | RELAY_LOG_POS = relay_log_pos\n | MASTER_SSL = {0|1}\n | MASTER_SSL_CA = \'ca_file_name\'\n | MASTER_SSL_CAPATH = \'ca_directory_name\'\n | MASTER_SSL_CERT = \'cert_file_name\'\n | MASTER_SSL_KEY = \'key_file_name\'\n | MASTER_SSL_CIPHER = \'cipher_list\'\n | MASTER_SSL_VERIFY_SERVER_CERT = {0|1}\n | IGNORE_SERVER_IDS = (server_id_list)\n\nserver_id_list:\n [server_id [, server_id] ... ]\n\nCHANGE MASTER TO changes the parameters that the slave server uses for\nconnecting to the master server, for reading the master binary log, and\nreading the slave relay log. It also updates the contents of the\nmaster.info and relay-log.info files. To use CHANGE MASTER TO, the\nslave replication threads must be stopped (use STOP SLAVE if\nnecessary).\n\nOptions not specified retain their value, except as indicated in the\nfollowing discussion. Thus, in most cases, there is no need to specify\noptions that do not change. For example, if the password to connect to\nyour MySQL master has changed, you just need to issue these statements\nto tell the slave about the new password:\n\nSTOP SLAVE; -- if replication was running\nCHANGE MASTER TO MASTER_PASSWORD=\'new3cret\';\nSTART SLAVE; -- if you want to restart replication\n\nMASTER_HOST, MASTER_USER, MASTER_PASSWORD, and MASTER_PORT provide\ninformation to the slave about how to connect to its master:\n\no MASTER_HOST and MASTER_PORT are the host name (or IP address) of the\n master host and its TCP/IP port.\n\n *Note*: Replication cannot use Unix socket files. You must be able to\n connect to the master MySQL server using TCP/IP.\n\n If you specify the MASTER_HOST or MASTER_PORT option, the slave\n assumes that the master server is different from before (even if the\n option value is the same as its current value.) In this case, the old\n values for the master binary log file name and position are\n considered no longer applicable, so if you do not specify\n MASTER_LOG_FILE and MASTER_LOG_POS in the statement,\n MASTER_LOG_FILE=\'\' and MASTER_LOG_POS=4 are silently appended to it.\n\n Setting MASTER_HOST=\'\' (that is, setting its value explicitly to an\n empty string) is not the same as not setting MASTER_HOST at all.\n Beginning with MySQL 5.5, trying to set MASTER_HOST to an empty\n string fails with an error. Previously, setting MASTER_HOST to an\n empty string caused START SLAVE subsequently to fail. (Bug #28796)\n\no MASTER_USER and MASTER_PASSWORD are the user name and password of the\n account to use for connecting to the master.\n\n In MySQL 5.5.20 and later, MASTER_USER cannot be made empty; setting\n MASTER_USER = \'\' or leaving it unset when setting a value for\n MASTER_PASSWORD causes an error (Bug #13427949).\n\n The password used for a MySQL Replication slave account in a CHANGE\n MASTER TO statement is limited to 32 characters in length; if the\n password is longer, the statement succeeds, but any excess characters\n are silently truncated. This is an issue specific to MySQL\n Replication, which is fixed in MySQL 5.7. (Bug #11752299, Bug #43439)\n\n The text of a running CHANGE MASTER TO statement, including values\n for MASTER_USER and MASTER_PASSWORD, can be seen in the output of a\n concurrent SHOW PROCESSLIST statement.\n\nThe MASTER_SSL_xxx options provide information about using SSL for the\nconnection. They correspond to the --ssl-xxx options described in\nhttp://dev.mysql.com/doc/refman/5.5/en/ssl-options.html, and\nhttp://dev.mysql.com/doc/refman/5.5/en/replication-solutions-ssl.html.\nThese options can be changed even on slaves that are compiled without\nSSL support. They are saved to the master.info file, but are ignored if\nthe slave does not have SSL support enabled.\n\nMASTER_CONNECT_RETRY specifies how many seconds to wait between connect\nretries. The default is 60. The number of reconnection attempts is\nlimited by the --master-retry-count server option; for more\ninformation, see\nhttp://dev.mysql.com/doc/refman/5.5/en/replication-options.html.\n\nThe MASTER_BIND option is available in MySQL Cluster NDB 7.2 and later,\nbut is not supported in mainline MySQL 5.5.\n\nMASTER_BIND is for use on replication slaves having multiple network\ninterfaces, and determines which of the slave\'s network interfaces is\nchosen for connecting to the master.\n\nMASTER_HEARTBEAT_PERIOD sets the interval in seconds between\nreplication heartbeats. Whenever the master\'s binary log is updated\nwith an event, the waiting period for the next heartbeat is reset.\ninterval is a decimal value having the range 0 to 4294967 seconds and a\nresolution in milliseconds; the smallest nonzero value is 0.001.\nHeartbeats are sent by the master only if there are no unsent events in\nthe binary log file for a period longer than interval.\n\nSetting interval to 0 disables heartbeats altogether. The default value\nfor interval is equal to the value of slave_net_timeout divided by 2.\n\nSetting @@global.slave_net_timeout to a value less than that of the\ncurrent heartbeat interval results in a warning being issued. The\neffect of issuing RESET SLAVE on the heartbeat interval is to reset it\nto the default value.\n\nMASTER_LOG_FILE and MASTER_LOG_POS are the coordinates at which the\nslave I/O thread should begin reading from the master the next time the\nthread starts. RELAY_LOG_FILE and RELAY_LOG_POS are the coordinates at\nwhich the slave SQL thread should begin reading from the relay log the\nnext time the thread starts. If you specify either of MASTER_LOG_FILE\nor MASTER_LOG_POS, you cannot specify RELAY_LOG_FILE or RELAY_LOG_POS.\nIf neither of MASTER_LOG_FILE or MASTER_LOG_POS is specified, the slave\nuses the last coordinates of the slave SQL thread before CHANGE MASTER\nTO was issued. This ensures that there is no discontinuity in\nreplication, even if the slave SQL thread was late compared to the\nslave I/O thread, when you merely want to change, say, the password to\nuse.\n\nCHANGE MASTER TO deletes all relay log files and starts a new one,\nunless you specify RELAY_LOG_FILE or RELAY_LOG_POS. In that case, relay\nlog files are kept; the relay_log_purge global variable is set silently\nto 0.\n\nPrior to MySQL 5.5, RELAY_LOG_FILE required an absolute path. In MySQL\n5.5, the path can be relative, in which case the path is assumed to be\nrelative to the slave\'s data directory. (Bug #12190)\n\nIGNORE_SERVER_IDS was added in MySQL 5.5. This option takes a\ncomma-separated list of 0 or more server IDs. Events originating from\nthe corresponding servers are ignored, with the exception of log\nrotation and deletion events, which are still recorded in the relay\nlog.\n\nIn circular replication, the originating server normally acts as the\nterminator of its own events, so that they are not applied more than\nonce. Thus, this option is useful in circular replication when one of\nthe servers in the circle is removed. Suppose that you have a circular\nreplication setup with 4 servers, having server IDs 1, 2, 3, and 4, and\nserver 3 fails. When bridging the gap by starting replication from\nserver 2 to server 4, you can include IGNORE_SERVER_IDS = (3) in the\nCHANGE MASTER TO statement that you issue on server 4 to tell it to use\nserver 2 as its master instead of server 3. Doing so causes it to\nignore and not to propagate any statements that originated with the\nserver that is no longer in use.\n\nWhen a CHANGE MASTER TO statement is issued without any\nIGNORE_SERVER_IDS option, any existing list is preserved. To clear the\nlist of ignored servers, it is necessary to use the option with an\nempty list:\n\nCHANGE MASTER TO IGNORE_SERVER_IDS = ();\n\nRESET SLAVE ALL has no effect on the server ID list. This issue is\nfixed in MySQL 5.7. (Bug #18816897)\n\nIf IGNORE_SERVER_IDS contains the server\'s own ID and the server was\nstarted with the --replicate-same-server-id option enabled, an error\nresults.\n\nAlso beginning with MySQL 5.5, the master.info file and the output of\nSHOW SLAVE STATUS are extended to provide the list of servers that are\ncurrently ignored. For more information, see\nhttp://dev.mysql.com/doc/refman/5.5/en/slave-logs-status.html, and\n[HELP SHOW SLAVE STATUS].\n\nBeginning with MySQL 5.5.5, invoking CHANGE MASTER TO causes the\nprevious values for MASTER_HOST, MASTER_PORT, MASTER_LOG_FILE, and\nMASTER_LOG_POS to be written to the error log, along with other\ninformation about the slave\'s state prior to execution.\n\nCHANGE MASTER TO is useful for setting up a slave when you have the\nsnapshot of the master and have recorded the master binary log\ncoordinates corresponding to the time of the snapshot. After loading\nthe snapshot into the slave to synchronize it with the master, you can\nrun CHANGE MASTER TO MASTER_LOG_FILE=\'log_name\', MASTER_LOG_POS=log_pos\non the slave to specify the coordinates at which the slave should begin\nreading the master binary log.\n\nThe following example changes the master server the slave uses and\nestablishes the master binary log coordinates from which the slave\nbegins reading. This is used when you want to set up the slave to\nreplicate the master:\n\nCHANGE MASTER TO\n MASTER_HOST=\'master2.mycompany.com\',\n MASTER_USER=\'replication\',\n MASTER_PASSWORD=\'bigs3cret\',\n MASTER_PORT=3306,\n MASTER_LOG_FILE=\'master2-bin.001\',\n MASTER_LOG_POS=4,\n MASTER_CONNECT_RETRY=10;\n\nThe next example shows an operation that is less frequently employed.\nIt is used when the slave has relay log files that you want it to\nexecute again for some reason. To do this, the master need not be\nreachable. You need only use CHANGE MASTER TO and start the SQL thread\n(START SLAVE SQL_THREAD):\n\nCHANGE MASTER TO\n RELAY_LOG_FILE=\'slave-relay-bin.006\',\n RELAY_LOG_POS=4025;\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/change-master-to.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/change-master-to.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (188,40,'DROP DATABASE','Syntax:\nDROP {DATABASE | SCHEMA} [IF EXISTS] db_name\n\nDROP DATABASE drops all tables in the database and deletes the\ndatabase. Be very careful with this statement! To use DROP DATABASE,\nyou need the DROP privilege on the database. DROP SCHEMA is a synonym\nfor DROP DATABASE.\n\n*Important*: When a database is dropped, user privileges on the\ndatabase are not automatically dropped. See [HELP GRANT].\n\nIF EXISTS is used to prevent an error from occurring if the database\ndoes not exist.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/drop-database.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/drop-database.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (189,7,'MBREQUAL','MBREqual(g1,g2)\n\nReturns 1 or 0 to indicate whether the minimum bounding rectangles of\nthe two geometries g1 and g2 are the same.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (190,32,'TIMESTAMP FUNCTION','Syntax:\nTIMESTAMP(expr), TIMESTAMP(expr1,expr2)\n\nWith a single argument, this function returns the date or datetime\nexpression expr as a datetime value. With two arguments, it adds the\ntime expression expr2 to the date or datetime expression expr1 and\nreturns the result as a datetime value.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT TIMESTAMP(\'2003-12-31\');\n -> \'2003-12-31 00:00:00\'\nmysql> SELECT TIMESTAMP(\'2003-12-31 12:00:00\',\'12:00:00\');\n -> \'2004-01-01 00:00:00\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (191,34,'PROCEDURE ANALYSE','Syntax:\nANALYSE([max_elements[,max_memory]])\n\nANALYSE() examines the result from a query and returns an analysis of\nthe results that suggests optimal data types for each column that may\nhelp reduce table sizes. To obtain this analysis, append PROCEDURE\nANALYSE to the end of a SELECT statement:\n\nSELECT ... FROM ... WHERE ... PROCEDURE ANALYSE([max_elements,[max_memory]])\n\nFor example:\n\nSELECT col1, col2 FROM table1 PROCEDURE ANALYSE(10, 2000);\n\nThe results show some statistics for the values returned by the query,\nand propose an optimal data type for the columns. This can be helpful\nfor checking your existing tables, or after importing new data. You may\nneed to try different settings for the arguments so that PROCEDURE\nANALYSE() does not suggest the ENUM data type when it is not\nappropriate.\n\nThe arguments are optional and are used as follows:\n\no max_elements (default 256) is the maximum number of distinct values\n that ANALYSE() notices per column. This is used by ANALYSE() to check\n whether the optimal data type should be of type ENUM; if there are\n more than max_elements distinct values, then ENUM is not a suggested\n type.\n\no max_memory (default 8192) is the maximum amount of memory that\n ANALYSE() should allocate per column while trying to find all\n distinct values.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/procedure-analyse.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/procedure-analyse.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (192,9,'HELP_VERSION','This help information was generated from the MySQL 5.5 Reference Manual\non: 2014-09-06 (revision: 40029)\n\nThis information applies to MySQL 5.5 through 5.5.41.\n','',''); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (193,38,'CHARACTER_LENGTH','Syntax:\nCHARACTER_LENGTH(str)\n\nCHARACTER_LENGTH() is a synonym for CHAR_LENGTH().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (194,27,'SHOW GRANTS','Syntax:\nSHOW GRANTS [FOR user]\n\nThis statement lists the GRANT statement or statements that must be\nissued to duplicate the privileges that are granted to a MySQL user\naccount. The account is named using the same format as for the GRANT\nstatement; for example, \'jeffrey\'@\'localhost\'. If you specify only the\nuser name part of the account name, a host name part of \'%\' is used.\nFor additional information about specifying account names, see [HELP\nGRANT].\n\nmysql> SHOW GRANTS FOR \'root\'@\'localhost\';\n+---------------------------------------------------------------------+\n| Grants for root@localhost |\n+---------------------------------------------------------------------+\n| GRANT ALL PRIVILEGES ON *.* TO \'root\'@\'localhost\' WITH GRANT OPTION |\n+---------------------------------------------------------------------+\n\nTo list the privileges granted to the account that you are using to\nconnect to the server, you can use any of the following statements:\n\nSHOW GRANTS;\nSHOW GRANTS FOR CURRENT_USER;\nSHOW GRANTS FOR CURRENT_USER();\n\nIf SHOW GRANTS FOR CURRENT_USER (or any of the equivalent syntaxes) is\nused in DEFINER context, such as within a stored procedure that is\ndefined with SQL SECURITY DEFINER), the grants displayed are those of\nthe definer and not the invoker.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-grants.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-grants.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (195,27,'SHOW PRIVILEGES','Syntax:\nSHOW PRIVILEGES\n\nSHOW PRIVILEGES shows the list of system privileges that the MySQL\nserver supports. The exact list of privileges depends on the version of\nyour server.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-privileges.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-privileges.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (196,40,'CREATE TABLESPACE','Syntax:\nCREATE TABLESPACE tablespace_name\n ADD DATAFILE \'file_name\'\n USE LOGFILE GROUP logfile_group\n [EXTENT_SIZE [=] extent_size]\n [INITIAL_SIZE [=] initial_size]\n [AUTOEXTEND_SIZE [=] autoextend_size]\n [MAX_SIZE [=] max_size]\n [NODEGROUP [=] nodegroup_id]\n [WAIT]\n [COMMENT [=] comment_text]\n ENGINE [=] engine_name\n\nThis statement is used to create a tablespace, which can contain one or\nmore data files, providing storage space for tables. One data file is\ncreated and added to the tablespace using this statement. Additional\ndata files may be added to the tablespace by using the ALTER TABLESPACE\nstatement (see [HELP ALTER TABLESPACE]). For rules covering the naming\nof tablespaces, see\nhttp://dev.mysql.com/doc/refman/5.5/en/identifiers.html.\n\n*Note*: All MySQL Cluster Disk Data objects share the same namespace.\nThis means that each Disk Data object must be uniquely named (and not\nmerely each Disk Data object of a given type). For example, you cannot\nhave a tablespace and a log file group with the same name, or a\ntablespace and a data file with the same name.\n\nA log file group of one or more UNDO log files must be assigned to the\ntablespace to be created with the USE LOGFILE GROUP clause.\nlogfile_group must be an existing log file group created with CREATE\nLOGFILE GROUP (see [HELP CREATE LOGFILE GROUP]). Multiple tablespaces\nmay use the same log file group for UNDO logging.\n\nThe EXTENT_SIZE sets the size, in bytes, of the extents used by any\nfiles belonging to the tablespace. The default value is 1M. The minimum\nsize is 32K, and theoretical maximum is 2G, although the practical\nmaximum size depends on a number of factors. In most cases, changing\nthe extent size does not have any measurable effect on performance, and\nthe default value is recommended for all but the most unusual\nsituations.\n\nAn extent is a unit of disk space allocation. One extent is filled with\nas much data as that extent can contain before another extent is used.\nIn theory, up to 65,535 (64K) extents may used per data file; however,\nthe recommended maximum is 32,768 (32K). The recommended maximum size\nfor a single data file is 32G---that is, 32K extents x 1 MB per extent.\nIn addition, once an extent is allocated to a given partition, it\ncannot be used to store data from a different partition; an extent\ncannot store data from more than one partition. This means, for example\nthat a tablespace having a single datafile whose INITIAL_SIZE is 256 MB\nand whose EXTENT_SIZE is 128M has just two extents, and so can be used\nto store data from at most two different disk data table partitions.\n\nYou can see how many extents remain free in a given data file by\nquerying the INFORMATION_SCHEMA.FILES table, and so derive an estimate\nfor how much space remains free in the file. For further discussion and\nexamples, see http://dev.mysql.com/doc/refman/5.5/en/files-table.html.\n\nThe INITIAL_SIZE parameter sets the data file\'s total size in bytes.\nOnce the file has been created, its size cannot be changed; however,\nyou can add more data files to the tablespace using ALTER TABLESPACE\n... ADD DATAFILE. See [HELP ALTER TABLESPACE].\n\nINITIAL_SIZE is optional; its default value is 134217728 (128 MB).\n\nOn 32-bit systems, the maximum supported value for INITIAL_SIZE is\n4294967296 (4 GB). (Bug #29186)\n\nWhen setting EXTENT_SIZE, you may optionally follow the number with a\none-letter abbreviation for an order of magnitude, similar to those\nused in my.cnf. Generally, this is one of the letters M (for megabytes)\nor G (for gigabytes). In MySQL Cluster NDB 7.2.14 and later, these\nabbreviations are also supported when specifying INITIAL_SIZE as well.\n(Bug #13116514, Bug #16104705, Bug #62858)\n\nINITIAL_SIZE, EXTENT_SIZE, and UNDO_BUFFER_SIZE are subject to rounding\nas follows:\n\no EXTENT_SIZE and UNDO_BUFFER_SIZE are each rounded up to the nearest\n whole multiple of 32K.\n\no INITIAL_SIZE is rounded down to the nearest whole multiple of 32K.\n\n For data files, INITIAL_SIZE is subject to further rounding; the\n result just obtained is rounded up to the nearest whole multiple of\n EXTENT_SIZE (after any rounding).\n\nThe rounding just described is done explicitly, and a warning is issued\nby the MySQL Server when any such rounding is performed. The rounded\nvalues are also used by the NDB kernel for calculating\nINFORMATION_SCHEMA.FILES column values and other purposes. However, to\navoid an unexpected result, we suggest that you always use whole\nmultiples of 32K in specifying these options.\n\nAUTOEXTEND_SIZE, MAX_SIZE, NODEGROUP, WAIT, and COMMENT are parsed but\nignored, and so currently have no effect. These options are intended\nfor future expansion.\n\nThe ENGINE parameter determines the storage engine which uses this\ntablespace, with engine_name being the name of the storage engine.\nCurrently, engine_name must be one of the values NDB or NDBCLUSTER.\n\nWhen CREATE TABLESPACE is used with ENGINE = NDB, a tablespace and\nassociated data file are created on each Cluster data node. You can\nverify that the data files were created and obtain information about\nthem by querying the INFORMATION_SCHEMA.FILES table. For example:\n\nmysql> SELECT LOGFILE_GROUP_NAME, FILE_NAME, EXTRA\n -> FROM INFORMATION_SCHEMA.FILES\n -> WHERE TABLESPACE_NAME = \'newts\' AND FILE_TYPE = \'DATAFILE\';\n+--------------------+-------------+----------------+\n| LOGFILE_GROUP_NAME | FILE_NAME | EXTRA |\n+--------------------+-------------+----------------+\n| lg_3 | newdata.dat | CLUSTER_NODE=3 |\n| lg_3 | newdata.dat | CLUSTER_NODE=4 |\n+--------------------+-------------+----------------+\n2 rows in set (0.01 sec)\n\n(See http://dev.mysql.com/doc/refman/5.5/en/files-table.html.)\n\nCREATE TABLESPACE is useful only with Disk Data storage for MySQL\nCluster. See\nhttp://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-disk-data.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-tablespace.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/create-tablespace.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (197,38,'INSERT FUNCTION','Syntax:\nINSERT(str,pos,len,newstr)\n\nReturns the string str, with the substring beginning at position pos\nand len characters long replaced by the string newstr. Returns the\noriginal string if pos is not within the length of the string. Replaces\nthe rest of the string from position pos if len is not within the\nlength of the rest of the string. Returns NULL if any argument is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT INSERT(\'Quadratic\', 3, 4, \'What\');\n -> \'QuWhattic\'\nmysql> SELECT INSERT(\'Quadratic\', -1, 4, \'What\');\n -> \'Quadratic\'\nmysql> SELECT INSERT(\'Quadratic\', 3, 100, \'What\');\n -> \'QuWhat\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (198,3,'CRC32','Syntax:\nCRC32(expr)\n\nComputes a cyclic redundancy check value and returns a 32-bit unsigned\nvalue. The result is NULL if the argument is NULL. The argument is\nexpected to be a string and (if possible) is treated as one if it is\nnot.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT CRC32(\'MySQL\');\n -> 3259397556\nmysql> SELECT CRC32(\'mysql\');\n -> 2501908538\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (199,15,'XOR','Syntax:\nXOR\n\nLogical XOR. Returns NULL if either operand is NULL. For non-NULL\noperands, evaluates to 1 if an odd number of operands is nonzero,\notherwise 0 is returned.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/logical-operators.html\n\n','mysql> SELECT 1 XOR 1;\n -> 0\nmysql> SELECT 1 XOR 0;\n -> 1\nmysql> SELECT 1 XOR NULL;\n -> NULL\nmysql> SELECT 1 XOR 1 XOR 1;\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/logical-operators.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (200,13,'STARTPOINT','StartPoint(ls)\n\nReturns the Point that is the start point of the LineString value ls.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-linestring-property-functions.html\n\n','mysql> SET @ls = \'LineString(1 1,2 2,3 3)\';\nmysql> SELECT AsText(StartPoint(GeomFromText(@ls)));\n+---------------------------------------+\n| AsText(StartPoint(GeomFromText(@ls))) |\n+---------------------------------------+\n| POINT(1 1) |\n+---------------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-linestring-property-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (201,10,'GRANT','Syntax:\nGRANT\n priv_type [(column_list)]\n [, priv_type [(column_list)]] ...\n ON [object_type] priv_level\n TO user_specification [, user_specification] ...\n [REQUIRE {NONE | ssl_option [[AND] ssl_option] ...}]\n [WITH with_option ...]\n\nGRANT PROXY ON user_specification\n TO user_specification [, user_specification] ...\n [WITH GRANT OPTION]\n\nobject_type:\n TABLE\n | FUNCTION\n | PROCEDURE\n\npriv_level:\n *\n | *.*\n | db_name.*\n | db_name.tbl_name\n | tbl_name\n | db_name.routine_name\n\nuser_specification:\n user\n [\n | IDENTIFIED WITH auth_plugin [AS \'auth_string\']\n IDENTIFIED BY [PASSWORD] \'password\'\n ]\n\nssl_option:\n SSL\n | X509\n | CIPHER \'cipher\'\n | ISSUER \'issuer\'\n | SUBJECT \'subject\'\n\nwith_option:\n GRANT OPTION\n | MAX_QUERIES_PER_HOUR count\n | MAX_UPDATES_PER_HOUR count\n | MAX_CONNECTIONS_PER_HOUR count\n | MAX_USER_CONNECTIONS count\n\nThe GRANT statement grants privileges to MySQL user accounts. GRANT\nalso serves to specify other account characteristics such as use of\nsecure connections and limits on access to server resources. To use\nGRANT, you must have the GRANT OPTION privilege, and you must have the\nprivileges that you are granting.\n\nNormally, a database administrator first uses CREATE USER to create an\naccount, then GRANT to define its privileges and characteristics. For\nexample:\n\nCREATE USER \'jeffrey\'@\'localhost\' IDENTIFIED BY \'mypass\';\nGRANT ALL ON db1.* TO \'jeffrey\'@\'localhost\';\nGRANT SELECT ON db2.invoice TO \'jeffrey\'@\'localhost\';\nGRANT USAGE ON *.* TO \'jeffrey\'@\'localhost\' WITH MAX_QUERIES_PER_HOUR 90;\n\nHowever, if an account named in a GRANT statement does not already\nexist, GRANT may create it under the conditions described later in the\ndiscussion of the NO_AUTO_CREATE_USER SQL mode.\n\nThe REVOKE statement is related to GRANT and enables administrators to\nremove account privileges. See [HELP REVOKE].\n\nWhen successfully executed from the mysql program, GRANT responds with\nQuery OK, 0 rows affected. To determine what privileges result from the\noperation, use SHOW GRANTS. See [HELP SHOW GRANTS].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/grant.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/grant.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (202,24,'DECLARE VARIABLE','Syntax:\nDECLARE var_name [, var_name] ... type [DEFAULT value]\n\nThis statement declares local variables within stored programs. To\nprovide a default value for a variable, include a DEFAULT clause. The\nvalue can be specified as an expression; it need not be a constant. If\nthe DEFAULT clause is missing, the initial value is NULL.\n\nLocal variables are treated like stored routine parameters with respect\nto data type and overflow checking. See [HELP CREATE PROCEDURE].\n\nVariable declarations must appear before cursor or handler\ndeclarations.\n\nLocal variable names are not case sensitive. Permissible characters and\nquoting rules are the same as for other identifiers, as described in\nhttp://dev.mysql.com/doc/refman/5.5/en/identifiers.html.\n\nThe scope of a local variable is the BEGIN ... END block within which\nit is declared. The variable can be referred to in blocks nested within\nthe declaring block, except those blocks that declare a variable with\nthe same name.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/declare-local-variable.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/declare-local-variable.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (203,4,'MPOLYFROMTEXT','MPolyFromText(wkt[,srid]), MultiPolygonFromText(wkt[,srid])\n\nConstructs a MultiPolygon value using its WKT representation and SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (204,16,'BIT_OR','Syntax:\nBIT_OR(expr)\n\nReturns the bitwise OR of all bits in expr. The calculation is\nperformed with 64-bit (BIGINT) precision.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (205,7,'MBRINTERSECTS','MBRIntersects(g1,g2)\n\nReturns 1 or 0 to indicate whether the minimum bounding rectangles of\nthe two geometries g1 and g2 intersect.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (206,32,'YEARWEEK','Syntax:\nYEARWEEK(date), YEARWEEK(date,mode)\n\nReturns year and week for a date. The mode argument works exactly like\nthe mode argument to WEEK(). The year in the result may be different\nfrom the year in the date argument for the first and the last week of\nthe year.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT YEARWEEK(\'1987-01-01\');\n -> 198653\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (207,19,'NOT BETWEEN','Syntax:\nexpr NOT BETWEEN min AND max\n\nThis is the same as NOT (expr BETWEEN min AND max).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (208,19,'IS NOT','Syntax:\nIS NOT boolean_value\n\nTests a value against a boolean value, where boolean_value can be TRUE,\nFALSE, or UNKNOWN.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT 1 IS NOT UNKNOWN, 0 IS NOT UNKNOWN, NULL IS NOT UNKNOWN;\n -> 1, 1, 0\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (209,3,'LOG10','Syntax:\nLOG10(X)\n\nReturns the base-10 logarithm of X.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT LOG10(2);\n -> 0.30102999566398\nmysql> SELECT LOG10(100);\n -> 2\nmysql> SELECT LOG10(-100);\n -> NULL\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (210,3,'SQRT','Syntax:\nSQRT(X)\n\nReturns the square root of a nonnegative number X.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT SQRT(4);\n -> 2\nmysql> SELECT SQRT(20);\n -> 4.4721359549996\nmysql> SELECT SQRT(-16);\n -> NULL\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (211,23,'DECIMAL','DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]\n\nA packed "exact" fixed-point number. M is the total number of digits\n(the precision) and D is the number of digits after the decimal point\n(the scale). The decimal point and (for negative numbers) the "-" sign\nare not counted in M. If D is 0, values have no decimal point or\nfractional part. The maximum number of digits (M) for DECIMAL is 65.\nThe maximum number of supported decimals (D) is 30. If D is omitted,\nthe default is 0. If M is omitted, the default is 10.\n\nUNSIGNED, if specified, disallows negative values.\n\nAll basic calculations (+, -, *, /) with DECIMAL columns are done with\na precision of 65 digits.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (212,40,'CREATE INDEX','Syntax:\nCREATE [ONLINE|OFFLINE] [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name\n [index_type]\n ON tbl_name (index_col_name,...)\n [index_option] ...\n\nindex_col_name:\n col_name [(length)] [ASC | DESC]\n\nindex_type:\n USING {BTREE | HASH}\n\nindex_option:\n KEY_BLOCK_SIZE [=] value\n | index_type\n | WITH PARSER parser_name\n | COMMENT \'string\'\n\nCREATE INDEX is mapped to an ALTER TABLE statement to create indexes.\nSee [HELP ALTER TABLE]. CREATE INDEX cannot be used to create a PRIMARY\nKEY; use ALTER TABLE instead. For more information about indexes, see\nhttp://dev.mysql.com/doc/refman/5.5/en/mysql-indexes.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-index.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/create-index.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (213,40,'CREATE FUNCTION','The CREATE FUNCTION statement is used to create stored functions and\nuser-defined functions (UDFs):\n\no For information about creating stored functions, see [HELP CREATE\n PROCEDURE].\n\no For information about creating user-defined functions, see [HELP\n CREATE FUNCTION UDF].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-function.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/create-function.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (214,40,'ALTER DATABASE','Syntax:\nALTER {DATABASE | SCHEMA} [db_name]\n alter_specification ...\nALTER {DATABASE | SCHEMA} db_name\n UPGRADE DATA DIRECTORY NAME\n\nalter_specification:\n [DEFAULT] CHARACTER SET [=] charset_name\n | [DEFAULT] COLLATE [=] collation_name\n\nALTER DATABASE enables you to change the overall characteristics of a\ndatabase. These characteristics are stored in the db.opt file in the\ndatabase directory. To use ALTER DATABASE, you need the ALTER privilege\non the database. ALTER SCHEMA is a synonym for ALTER DATABASE.\n\nThe database name can be omitted from the first syntax, in which case\nthe statement applies to the default database.\n\nNational Language Characteristics\n\nThe CHARACTER SET clause changes the default database character set.\nThe COLLATE clause changes the default database collation.\nhttp://dev.mysql.com/doc/refman/5.5/en/charset.html, discusses\ncharacter set and collation names.\n\nYou can see what character sets and collations are available using,\nrespectively, the SHOW CHARACTER SET and SHOW COLLATION statements. See\n[HELP SHOW CHARACTER SET], and [HELP SHOW COLLATION], for more\ninformation.\n\nIf you change the default character set or collation for a database,\nstored routines that use the database defaults must be dropped and\nrecreated so that they use the new defaults. (In a stored routine,\nvariables with character data types use the database defaults if the\ncharacter set or collation are not specified explicitly. See [HELP\nCREATE PROCEDURE].)\n\nUpgrading from Versions Older than MySQL 5.1\n\nThe syntax that includes the UPGRADE DATA DIRECTORY NAME clause updates\nthe name of the directory associated with the database to use the\nencoding implemented in MySQL 5.1 for mapping database names to\ndatabase directory names (see\nhttp://dev.mysql.com/doc/refman/5.5/en/identifier-mapping.html). This\nclause is for use under these conditions:\n\no It is intended when upgrading MySQL to 5.1 or later from older\n versions.\n\no It is intended to update a database directory name to the current\n encoding format if the name contains special characters that need\n encoding.\n\no The statement is used by mysqlcheck (as invoked by mysql_upgrade).\n\nFor example, if a database in MySQL 5.0 has the name a-b-c, the name\ncontains instances of the - (dash) character. In MySQL 5.0, the\ndatabase directory is also named a-b-c, which is not necessarily safe\nfor all file systems. In MySQL 5.1 and later, the same database name is\nencoded as a@002db@002dc to produce a file system-neutral directory\nname.\n\nWhen a MySQL installation is upgraded to MySQL 5.1 or later from an\nolder version,the server displays a name such as a-b-c (which is in the\nold format) as #mysql50#a-b-c, and you must refer to the name using the\n#mysql50# prefix. Use UPGRADE DATA DIRECTORY NAME in this case to\nexplicitly tell the server to re-encode the database directory name to\nthe current encoding format:\n\nALTER DATABASE `#mysql50#a-b-c` UPGRADE DATA DIRECTORY NAME;\n\nAfter executing this statement, you can refer to the database as a-b-c\nwithout the special #mysql50# prefix.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/alter-database.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/alter-database.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (215,26,'GEOMETRYN','GeometryN(gc,N)\n\nReturns the N-th geometry in the GeometryCollection value gc.\nGeometries are numbered beginning with 1.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-geometrycollection-property-functions.html\n\n','mysql> SET @gc = \'GeometryCollection(Point(1 1),LineString(2 2, 3 3))\';\nmysql> SELECT AsText(GeometryN(GeomFromText(@gc),1));\n+----------------------------------------+\n| AsText(GeometryN(GeomFromText(@gc),1)) |\n+----------------------------------------+\n| POINT(1 1) |\n+----------------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-geometrycollection-property-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (216,20,'<<','Syntax:\n<<\n\nShifts a longlong (BIGINT) number to the left.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html\n\n','mysql> SELECT 1 << 2;\n -> 4\n','http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (217,27,'SHOW TABLE STATUS','Syntax:\nSHOW TABLE STATUS [{FROM | IN} db_name]\n [LIKE \'pattern\' | WHERE expr]\n\nSHOW TABLE STATUS works likes SHOW TABLES, but provides a lot of\ninformation about each non-TEMPORARY table. You can also get this list\nusing the mysqlshow --status db_name command. The LIKE clause, if\npresent, indicates which table names to match. The WHERE clause can be\ngiven to select rows using more general conditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.5/en/extended-show.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-table-status.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-table-status.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (218,12,'MD5','Syntax:\nMD5(str)\n\nCalculates an MD5 128-bit checksum for the string. The value is\nreturned as a string of 32 hex digits, or NULL if the argument was\nNULL. The return value can, for example, be used as a hash key. See the\nnotes at the beginning of this section about storing hash values\nefficiently.\n\nAs of MySQL 5.5.3, the return value is a nonbinary string in the\nconnection character set. Before 5.5.3, the return value is a binary\nstring; see the notes at the beginning of this section about using the\nvalue as a nonbinary string.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','mysql> SELECT MD5(\'testing\');\n -> \'ae2b1fca515949e5d54fb22b8ed95575\'\n','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (219,19,'<','Syntax:\n<\n\nLess than:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT 2 < 2;\n -> 0\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (220,32,'UNIX_TIMESTAMP','Syntax:\nUNIX_TIMESTAMP(), UNIX_TIMESTAMP(date)\n\nIf called with no argument, returns a Unix timestamp (seconds since\n\'1970-01-01 00:00:00\' UTC) as an unsigned integer. If UNIX_TIMESTAMP()\nis called with a date argument, it returns the value of the argument as\nseconds since \'1970-01-01 00:00:00\' UTC. date may be a DATE string, a\nDATETIME string, a TIMESTAMP, or a number in the format YYMMDD or\nYYYYMMDD. The server interprets date as a value in the current time\nzone and converts it to an internal value in UTC. Clients can set their\ntime zone as described in\nhttp://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT UNIX_TIMESTAMP();\n -> 1196440210\nmysql> SELECT UNIX_TIMESTAMP(\'2007-11-30 10:30:19\');\n -> 1196440219\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (221,32,'DAYOFMONTH','Syntax:\nDAYOFMONTH(date)\n\nReturns the day of the month for date, in the range 1 to 31, or 0 for\ndates such as \'0000-00-00\' or \'2008-00-00\' that have a zero day part.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT DAYOFMONTH(\'2007-02-03\');\n -> 3\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (222,38,'ASCII','Syntax:\nASCII(str)\n\nReturns the numeric value of the leftmost character of the string str.\nReturns 0 if str is the empty string. Returns NULL if str is NULL.\nASCII() works for 8-bit characters.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT ASCII(\'2\');\n -> 50\nmysql> SELECT ASCII(2);\n -> 50\nmysql> SELECT ASCII(\'dx\');\n -> 100\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (223,3,'DIV','Syntax:\nDIV\n\nInteger division. Similar to FLOOR(), but is safe with BIGINT values.\n\nAs of MySQL 5.5.3, if either operand has a noninteger type, the\noperands are converted to DECIMAL and divided using DECIMAL arithmetic\nbefore converting the result to BIGINT. If the result exceeds BIGINT\nrange, an error occurs. Before MySQL 5.5.3, incorrect results may occur\nfor noninteger operands that exceed BIGINT range.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html\n\n','mysql> SELECT 5 DIV 2;\n -> 2\n','http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (224,10,'RENAME USER','Syntax:\nRENAME USER old_user TO new_user\n [, old_user TO new_user] ...\n\nThe RENAME USER statement renames existing MySQL accounts. An error\noccurs for old accounts that do not exist or new accounts that already\nexist. To use this statement, you must have the global CREATE USER\nprivilege or the UPDATE privilege for the mysql database.\n\nEach account name uses the format described in\nhttp://dev.mysql.com/doc/refman/5.5/en/account-names.html. For example:\n\nRENAME USER \'jeffrey\'@\'localhost\' TO \'jeff\'@\'127.0.0.1\';\n\nIf you specify only the user name part of the account name, a host name\npart of \'%\' is used.\n\nRENAME USER causes the privileges held by the old user to be those held\nby the new user. However, RENAME USER does not automatically drop or\ninvalidate databases or objects within them that the old user created.\nThis includes stored programs or views for which the DEFINER attribute\nnames the old user. Attempts to access such objects may produce an\nerror if they execute in definer security context. (For information\nabout security context, see\nhttp://dev.mysql.com/doc/refman/5.5/en/stored-programs-security.html.)\n\nThe privilege changes take effect as indicated in\nhttp://dev.mysql.com/doc/refman/5.5/en/privilege-changes.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/rename-user.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/rename-user.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (225,27,'SHOW SLAVE STATUS','Syntax:\nSHOW SLAVE STATUS\n\nThis statement provides status information on essential parameters of\nthe slave threads. It requires either the SUPER or REPLICATION CLIENT\nprivilege.\n\nIf you issue this statement using the mysql client, you can use a \\G\nstatement terminator rather than a semicolon to obtain a more readable\nvertical layout:\n\nmysql> SHOW SLAVE STATUS\\G\n*************************** 1. row ***************************\n Slave_IO_State: Waiting for master to send event\n Master_Host: localhost\n Master_User: root\n Master_Port: 3306\n Connect_Retry: 3\n Master_Log_File: gbichot-bin.005\n Read_Master_Log_Pos: 79\n Relay_Log_File: gbichot-relay-bin.005\n Relay_Log_Pos: 548\n Relay_Master_Log_File: gbichot-bin.005\n Slave_IO_Running: Yes\n Slave_SQL_Running: Yes\n Replicate_Do_DB:\n Replicate_Ignore_DB:\n Replicate_Do_Table:\n Replicate_Ignore_Table:\n Replicate_Wild_Do_Table:\n Replicate_Wild_Ignore_Table:\n Last_Errno: 0\n Last_Error:\n Skip_Counter: 0\n Exec_Master_Log_Pos: 79\n Relay_Log_Space: 552\n Until_Condition: None\n Until_Log_File:\n Until_Log_Pos: 0\n Master_SSL_Allowed: No\n Master_SSL_CA_File:\n Master_SSL_CA_Path:\n Master_SSL_Cert:\n Master_SSL_Cipher:\n Master_SSL_Key:\n Seconds_Behind_Master: 8\nMaster_SSL_Verify_Server_Cert: No\n Last_IO_Errno: 0\n Last_IO_Error:\n Last_SQL_Errno: 0\n Last_SQL_Error:\n Replicate_Ignore_Server_Ids: 0\n Master_Server_Id: 1\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-slave-status.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-slave-status.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (226,35,'GEOMETRY','MySQL provides a standard way of creating spatial columns for geometry\ntypes, for example, with CREATE TABLE or ALTER TABLE. Spatial columns\nare supported for MyISAM, InnoDB, NDB, and ARCHIVE tables. See also the\nnotes about spatial indexes under [HELP SPATIAL].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/creating-spatial-columns.html\n\n','CREATE TABLE geom (g GEOMETRY);\n','http://dev.mysql.com/doc/refman/5.5/en/creating-spatial-columns.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (227,13,'NUMPOINTS','NumPoints(ls)\n\nReturns the number of Point objects in the LineString value ls.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-linestring-property-functions.html\n\n','mysql> SET @ls = \'LineString(1 1,2 2,3 3)\';\nmysql> SELECT NumPoints(GeomFromText(@ls));\n+------------------------------+\n| NumPoints(GeomFromText(@ls)) |\n+------------------------------+\n| 3 |\n+------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-linestring-property-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (228,40,'ALTER LOGFILE GROUP','Syntax:\nALTER LOGFILE GROUP logfile_group\n ADD UNDOFILE \'file_name\'\n [INITIAL_SIZE [=] size]\n [WAIT]\n ENGINE [=] engine_name\n\nThis statement adds an UNDO file named \'file_name\' to an existing log\nfile group logfile_group. An ALTER LOGFILE GROUP statement has one and\nonly one ADD UNDOFILE clause. No DROP UNDOFILE clause is currently\nsupported.\n\n*Note*: All MySQL Cluster Disk Data objects share the same namespace.\nThis means that each Disk Data object must be uniquely named (and not\nmerely each Disk Data object of a given type). For example, you cannot\nhave a tablespace and an undo log file with the same name, or an undo\nlog file and a data file with the same name.\n\nThe optional INITIAL_SIZE parameter sets the UNDO file\'s initial size\nin bytes; if not specified, the initial size defaults to 134217728 (128\nMB). Prior to MySQL Cluster NDB 7.2.14, this value was required to be\nspecified using digits (Bug #13116514, Bug #16104705, Bug #62858); in\nMySQL Cluster NDB 7.2.14 and later, you may optionally follow size with\na one-letter abbreviation for an order of magnitude, similar to those\nused in my.cnf. Generally, this is one of the letters M (megabytes) or\nG (gigabytes).\n\nOn 32-bit systems, the maximum supported value for INITIAL_SIZE is\n4294967296 (4 GB). (Bug #29186)\n\nThe minimum allowed value for INITIAL_SIZE is 1048576 (1 MB). (Bug\n#29574)\n\n*Note*: WAIT is parsed but otherwise ignored. This keyword currently\nhas no effect, and is intended for future expansion.\n\nThe ENGINE parameter (required) determines the storage engine which is\nused by this log file group, with engine_name being the name of the\nstorage engine. Currently, the only accepted values for engine_name are\n"NDBCLUSTER" and "NDB". The two values are equivalent.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/alter-logfile-group.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/alter-logfile-group.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (229,20,'&','Syntax:\n&\n\nBitwise AND:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html\n\n','mysql> SELECT 29 & 15;\n -> 13\n','http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (230,32,'LOCALTIMESTAMP','Syntax:\nLOCALTIMESTAMP, LOCALTIMESTAMP()\n\nLOCALTIMESTAMP and LOCALTIMESTAMP() are synonyms for NOW().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (231,15,'ASSIGN-EQUAL','Syntax:\n=\n\nThis operator is used to perform value assignments in two cases,\ndescribed in the next two paragraphs.\n\nWithin a SET statement, = is treated as an assignment operator that\ncauses the user variable on the left hand side of the operator to take\non the value to its right. (In other words, when used in a SET\nstatement, = is treated identically to :=.) The value on the right hand\nside may be a literal value, another variable storing a value, or any\nlegal expression that yields a scalar value, including the result of a\nquery (provided that this value is a scalar value). You can perform\nmultiple assignments in the same SET statement.\n\nIn the SET clause of an UPDATE statement, = also acts as an assignment\noperator; in this case, however, it causes the column named on the left\nhand side of the operator to assume the value given to the right,\nprovided any WHERE conditions that are part of the UPDATE are met. You\ncan make multiple assignments in the same SET clause of an UPDATE\nstatement.\n\nIn any other context, = is treated as a comparison operator.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/assignment-operators.html\n\n','mysql> SELECT @var1, @var2;\n -> NULL, NULL\nmysql> SELECT @var1 := 1, @var2;\n -> 1, NULL\nmysql> SELECT @var1, @var2;\n -> 1, NULL\nmysql> SELECT @var1, @var2 := @var1;\n -> 1, 1\nmysql> SELECT @var1, @var2;\n -> 1, 1\n','http://dev.mysql.com/doc/refman/5.5/en/assignment-operators.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (232,38,'CONVERT','Syntax:\nCONVERT(expr,type), CONVERT(expr USING transcoding_name)\n\nThe CONVERT() and CAST() functions take an expression of any type and\nproduce a result value of a specified type.\n\nThe type for the result can be one of the following values:\n\no BINARY[(N)]\n\no CHAR[(N)]\n\no DATE\n\no DATETIME\n\no DECIMAL[(M[,D])]\n\no SIGNED [INTEGER]\n\no TIME\n\no UNSIGNED [INTEGER]\n\nBINARY produces a string with the BINARY data type. See\nhttp://dev.mysql.com/doc/refman/5.5/en/binary-varbinary.html for a\ndescription of how this affects comparisons. If the optional length N\nis given, BINARY(N) causes the cast to use no more than N bytes of the\nargument. Values shorter than N bytes are padded with 0x00 bytes to a\nlength of N.\n\nCHAR(N) causes the cast to use no more than N characters of the\nargument.\n\nCAST() and CONVERT(... USING ...) are standard SQL syntax. The\nnon-USING form of CONVERT() is ODBC syntax.\n\nCONVERT() with USING is used to convert data between different\ncharacter sets. In MySQL, transcoding names are the same as the\ncorresponding character set names. For example, this statement converts\nthe string \'abc\' in the default character set to the corresponding\nstring in the utf8 character set:\n\nSELECT CONVERT(\'abc\' USING utf8);\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/cast-functions.html\n\n','SELECT enum_col FROM tbl_name ORDER BY CAST(enum_col AS CHAR);\n','http://dev.mysql.com/doc/refman/5.5/en/cast-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (233,40,'DROP LOGFILE GROUP','Syntax:\nDROP LOGFILE GROUP logfile_group\n ENGINE [=] engine_name\n\nThis statement drops the log file group named logfile_group. The log\nfile group must already exist or an error results. (For information on\ncreating log file groups, see [HELP CREATE LOGFILE GROUP].)\n\n*Important*: Before dropping a log file group, you must drop all\ntablespaces that use that log file group for UNDO logging.\n\nThe required ENGINE clause provides the name of the storage engine used\nby the log file group to be dropped. Currently, the only permitted\nvalues for engine_name are NDB and NDBCLUSTER.\n\nDROP LOGFILE GROUP is useful only with Disk Data storage for MySQL\nCluster. See\nhttp://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-disk-data.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/drop-logfile-group.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/drop-logfile-group.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (234,32,'ADDDATE','Syntax:\nADDDATE(date,INTERVAL expr unit), ADDDATE(expr,days)\n\nWhen invoked with the INTERVAL form of the second argument, ADDDATE()\nis a synonym for DATE_ADD(). The related function SUBDATE() is a\nsynonym for DATE_SUB(). For information on the INTERVAL unit argument,\nsee the discussion for DATE_ADD().\n\nmysql> SELECT DATE_ADD(\'2008-01-02\', INTERVAL 31 DAY);\n -> \'2008-02-02\'\nmysql> SELECT ADDDATE(\'2008-01-02\', INTERVAL 31 DAY);\n -> \'2008-02-02\'\n\nWhen invoked with the days form of the second argument, MySQL treats it\nas an integer number of days to be added to expr.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT ADDDATE(\'2008-01-02\', 31);\n -> \'2008-02-02\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (235,24,'REPEAT LOOP','Syntax:\n[begin_label:] REPEAT\n statement_list\nUNTIL search_condition\nEND REPEAT [end_label]\n\nThe statement list within a REPEAT statement is repeated until the\nsearch_condition expression is true. Thus, a REPEAT always enters the\nloop at least once. statement_list consists of one or more statements,\neach terminated by a semicolon (;) statement delimiter.\n\nA REPEAT statement can be labeled. For the rules regarding label use,\nsee [HELP labels].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/repeat.html\n\n','mysql> delimiter //\n\nmysql> CREATE PROCEDURE dorepeat(p1 INT)\n -> BEGIN\n -> SET @x = 0;\n -> REPEAT\n -> SET @x = @x + 1;\n -> UNTIL @x > p1 END REPEAT;\n -> END\n -> //\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> CALL dorepeat(1000)//\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SELECT @x//\n+------+\n| @x |\n+------+\n| 1001 |\n+------+\n1 row in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.5/en/repeat.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (236,40,'ALTER FUNCTION','Syntax:\nALTER FUNCTION func_name [characteristic ...]\n\ncharacteristic:\n COMMENT \'string\'\n | LANGUAGE SQL\n | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }\n | SQL SECURITY { DEFINER | INVOKER }\n\nThis statement can be used to change the characteristics of a stored\nfunction. More than one change may be specified in an ALTER FUNCTION\nstatement. However, you cannot change the parameters or body of a\nstored function using this statement; to make such changes, you must\ndrop and re-create the function using DROP FUNCTION and CREATE\nFUNCTION.\n\nYou must have the ALTER ROUTINE privilege for the function. (That\nprivilege is granted automatically to the function creator.) If binary\nlogging is enabled, the ALTER FUNCTION statement might also require the\nSUPER privilege, as described in\nhttp://dev.mysql.com/doc/refman/5.5/en/stored-programs-logging.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/alter-function.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/alter-function.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (237,23,'SMALLINT','SMALLINT[(M)] [UNSIGNED] [ZEROFILL]\n\nA small integer. The signed range is -32768 to 32767. The unsigned\nrange is 0 to 65535.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (238,23,'DOUBLE PRECISION','DOUBLE PRECISION[(M,D)] [UNSIGNED] [ZEROFILL], REAL[(M,D)] [UNSIGNED]\n[ZEROFILL]\n\nThese types are synonyms for DOUBLE. Exception: If the REAL_AS_FLOAT\nSQL mode is enabled, REAL is a synonym for FLOAT rather than DOUBLE.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (239,38,'ORD','Syntax:\nORD(str)\n\nIf the leftmost character of the string str is a multibyte character,\nreturns the code for that character, calculated from the numeric values\nof its constituent bytes using this formula:\n\n (1st byte code)\n+ (2nd byte code * 256)\n+ (3rd byte code * 2562) ...\n\nIf the leftmost character is not a multibyte character, ORD() returns\nthe same value as the ASCII() function.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT ORD(\'2\');\n -> 50\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (240,8,'DEALLOCATE PREPARE','Syntax:\n{DEALLOCATE | DROP} PREPARE stmt_name\n\nTo deallocate a prepared statement produced with PREPARE, use a\nDEALLOCATE PREPARE statement that refers to the prepared statement\nname. Attempting to execute a prepared statement after deallocating it\nresults in an error.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/deallocate-prepare.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/deallocate-prepare.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (241,14,'IS_FREE_LOCK','Syntax:\nIS_FREE_LOCK(str)\n\nChecks whether the lock named str is free to use (that is, not locked).\nReturns 1 if the lock is free (no one is using the lock), 0 if the lock\nis in use, and NULL if an error occurs (such as an incorrect argument).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (242,37,'ENVELOPE','Envelope(g)\n\nReturns the minimum bounding rectangle (MBR) for the geometry value g.\nThe result is returned as a Polygon value.\n\nThe polygon is defined by the corner points of the bounding box:\n\nPOLYGON((MINX MINY, MAXX MINY, MAXX MAXY, MINX MAXY, MINX MINY))\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html\n\n','mysql> SELECT AsText(Envelope(GeomFromText(\'LineString(1 1,2 2)\')));\n+-------------------------------------------------------+\n| AsText(Envelope(GeomFromText(\'LineString(1 1,2 2)\'))) |\n+-------------------------------------------------------+\n| POLYGON((1 1,2 1,2 2,1 2,1 1)) |\n+-------------------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (243,31,'TOUCHES','Touches(g1,g2)\n\nReturns 1 or 0 to indicate whether g1 spatially touches g2. Two\ngeometries spatially touch if the interiors of the geometries do not\nintersect, but the boundary of one of the geometries intersects either\nthe boundary or the interior of the other.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (244,14,'INET_ATON','Syntax:\nINET_ATON(expr)\n\nGiven the dotted-quad representation of an IPv4 network address as a\nstring, returns an integer that represents the numeric value of the\naddress in network byte order (big endian). INET_ATON() returns NULL if\nit does not understand its argument.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html\n\n','mysql> SELECT INET_ATON(\'10.0.5.9\');\n -> 167773449\n','http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (245,12,'UNCOMPRESS','Syntax:\nUNCOMPRESS(string_to_uncompress)\n\nUncompresses a string compressed by the COMPRESS() function. If the\nargument is not a compressed value, the result is NULL. This function\nrequires MySQL to have been compiled with a compression library such as\nzlib. Otherwise, the return value is always NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','mysql> SELECT UNCOMPRESS(COMPRESS(\'any string\'));\n -> \'any string\'\nmysql> SELECT UNCOMPRESS(\'any string\');\n -> NULL\n','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (246,23,'AUTO_INCREMENT','The AUTO_INCREMENT attribute can be used to generate a unique identity\nfor new rows:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/example-auto-increment.html\n\n','CREATE TABLE animals (\n id MEDIUMINT NOT NULL AUTO_INCREMENT,\n name CHAR(30) NOT NULL,\n PRIMARY KEY (id)\n);\n\nINSERT INTO animals (name) VALUES\n (\'dog\'),(\'cat\'),(\'penguin\'),\n (\'lax\'),(\'whale\'),(\'ostrich\');\n\nSELECT * FROM animals;\n','http://dev.mysql.com/doc/refman/5.5/en/example-auto-increment.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (247,37,'ISSIMPLE','IsSimple(g)\n\nIn MySQL 5.5, this function is a placeholder that always returns 0.\n\nThe description of each instantiable geometric class given earlier in\nthe chapter includes the specific conditions that cause an instance of\nthat class to be classified as not simple. (See [HELP Geometry\nhierarchy].)\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (248,3,'- BINARY','Syntax:\n-\n\nSubtraction:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html\n\n','mysql> SELECT 3-5;\n -> -2\n','http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (249,4,'GEOMCOLLFROMTEXT','GeomCollFromText(wkt[,srid]), GeometryCollectionFromText(wkt[,srid])\n\nConstructs a GeometryCollection value using its WKT representation and\nSRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (250,32,'CURRENT_TIME','Syntax:\nCURRENT_TIME, CURRENT_TIME()\n\nCURRENT_TIME and CURRENT_TIME() are synonyms for CURTIME().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (251,4,'WKT DEFINITION','The Well-Known Text (WKT) representation of geometry values is designed\nfor exchanging geometry data in ASCII form. The OpenGIS specification\nprovides a Backus-Naur grammar that specifies the formal production\nrules for writing WKT values (see\nhttp://dev.mysql.com/doc/refman/5.5/en/spatial-extensions.html).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-data-formats.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-data-formats.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (252,10,'REVOKE','Syntax:\nREVOKE\n priv_type [(column_list)]\n [, priv_type [(column_list)]] ...\n ON [object_type] priv_level\n FROM user [, user] ...\n\nREVOKE ALL PRIVILEGES, GRANT OPTION\n FROM user [, user] ...\n\nREVOKE PROXY ON user\n FROM user [, user] ...\n\nThe REVOKE statement enables system administrators to revoke privileges\nfrom MySQL accounts. Each account name uses the format described in\nhttp://dev.mysql.com/doc/refman/5.5/en/account-names.html. For example:\n\nREVOKE INSERT ON *.* FROM \'jeffrey\'@\'localhost\';\n\nIf you specify only the user name part of the account name, a host name\npart of \'%\' is used.\n\nFor details on the levels at which privileges exist, the permissible\npriv_type and priv_level values, and the syntax for specifying users\nand passwords, see [HELP GRANT]\n\nTo use the first REVOKE syntax, you must have the GRANT OPTION\nprivilege, and you must have the privileges that you are revoking.\n\nTo revoke all privileges, use the second syntax, which drops all\nglobal, database, table, column, and routine privileges for the named\nuser or users:\n\nREVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...\n\nTo use this REVOKE syntax, you must have the global CREATE USER\nprivilege or the UPDATE privilege for the mysql database.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/revoke.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/revoke.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (253,17,'LAST_INSERT_ID','Syntax:\nLAST_INSERT_ID(), LAST_INSERT_ID(expr)\n\nWith no argument, LAST_INSERT_ID() returns a 64-bit value representing\nthe first automatically generated value successfully inserted for an\nAUTO_INCREMENT column as a result of the most recently executed INSERT\nstatement. The value has a type of BIGINT UNSIGNED as of MySQL 5.5.29,\nBIGINT (signed) before that. The value of LAST_INSERT_ID() remains\nunchanged if no rows are successfully inserted.\n\nWith an argument, LAST_INSERT_ID() returns an unsigned integer as of\nMySQL 5.5.29, a signed integer before that.\n\nFor example, after inserting a row that generates an AUTO_INCREMENT\nvalue, you can get the value like this:\n\nmysql> SELECT LAST_INSERT_ID();\n -> 195\n\nThe currently executing statement does not affect the value of\nLAST_INSERT_ID(). Suppose that you generate an AUTO_INCREMENT value\nwith one statement, and then refer to LAST_INSERT_ID() in a\nmultiple-row INSERT statement that inserts rows into a table with its\nown AUTO_INCREMENT column. The value of LAST_INSERT_ID() will remain\nstable in the second statement; its value for the second and later rows\nis not affected by the earlier row insertions. (However, if you mix\nreferences to LAST_INSERT_ID() and LAST_INSERT_ID(expr), the effect is\nundefined.)\n\nIf the previous statement returned an error, the value of\nLAST_INSERT_ID() is undefined. For transactional tables, if the\nstatement is rolled back due to an error, the value of LAST_INSERT_ID()\nis left undefined. For manual ROLLBACK, the value of LAST_INSERT_ID()\nis not restored to that before the transaction; it remains as it was at\nthe point of the ROLLBACK.\n\nPrior to MySQL 5.5.35, this function was not replicated correctly if\nreplication filtering rules were in use. (Bug #17234370, Bug #69861)\n\nWithin the body of a stored routine (procedure or function) or a\ntrigger, the value of LAST_INSERT_ID() changes the same way as for\nstatements executed outside the body of these kinds of objects. The\neffect of a stored routine or trigger upon the value of\nLAST_INSERT_ID() that is seen by following statements depends on the\nkind of routine:\n\no If a stored procedure executes statements that change the value of\n LAST_INSERT_ID(), the changed value is seen by statements that follow\n the procedure call.\n\no For stored functions and triggers that change the value, the value is\n restored when the function or trigger ends, so following statements\n will not see a changed value.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (254,32,'LAST_DAY','Syntax:\nLAST_DAY(date)\n\nTakes a date or datetime value and returns the corresponding value for\nthe last day of the month. Returns NULL if the argument is invalid.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT LAST_DAY(\'2003-02-05\');\n -> \'2003-02-28\'\nmysql> SELECT LAST_DAY(\'2004-02-05\');\n -> \'2004-02-29\'\nmysql> SELECT LAST_DAY(\'2004-01-01 01:01:01\');\n -> \'2004-01-31\'\nmysql> SELECT LAST_DAY(\'2003-03-32\');\n -> NULL\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (255,23,'MEDIUMINT','MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]\n\nA medium-sized integer. The signed range is -8388608 to 8388607. The\nunsigned range is 0 to 16777215.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (256,3,'FLOOR','Syntax:\nFLOOR(X)\n\nReturns the largest integer value not greater than X.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT FLOOR(1.23);\n -> 1\nmysql> SELECT FLOOR(-1.23);\n -> -2\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (257,38,'RTRIM','Syntax:\nRTRIM(str)\n\nReturns the string str with trailing space characters removed.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT RTRIM(\'barbar \');\n -> \'barbar\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (258,29,'EXPLAIN','Syntax:\n{EXPLAIN | DESCRIBE | DESC}\n tbl_name [col_name | wild]\n\n{EXPLAIN | DESCRIBE | DESC}\n [explain_type] SELECT select_options\n\nexplain_type: {EXTENDED | PARTITIONS}\n\nThe DESCRIBE and EXPLAIN statements are synonyms. In practice, the\nDESCRIBE keyword is more often used to obtain information about table\nstructure, whereas EXPLAIN is used to obtain a query execution plan\n(that is, an explanation of how MySQL would execute a query). The\nfollowing discussion uses the DESCRIBE and EXPLAIN keywords in\naccordance with those uses, but the MySQL parser treats them as\ncompletely synonymous.\n\nObtaining Table Structure Information\n\nDESCRIBE provides information about the columns in a table:\n\nmysql> DESCRIBE City;\n+------------+----------+------+-----+---------+----------------+\n| Field | Type | Null | Key | Default | Extra |\n+------------+----------+------+-----+---------+----------------+\n| Id | int(11) | NO | PRI | NULL | auto_increment |\n| Name | char(35) | NO | | | |\n| Country | char(3) | NO | UNI | | |\n| District | char(20) | YES | MUL | | |\n| Population | int(11) | NO | | 0 | |\n+------------+----------+------+-----+---------+----------------+\n\nDESCRIBE is a shortcut for SHOW COLUMNS. These statements also display\ninformation for views. The description for SHOW COLUMNS provides more\ninformation about the output columns. See [HELP SHOW COLUMNS].\n\nBy default, DESCRIBE displays information about all columns in the\ntable. col_name, if given, is the name of a column in the table. In\nthis case, the statement displays information only for the named\ncolumn. wild, if given, is a pattern string. It can contain the SQL "%"\nand "_" wildcard characters. In this case, the statement displays\noutput only for the columns with names matching the string. There is no\nneed to enclose the string within quotation marks unless it contains\nspaces or other special characters.\n\nThe DESCRIBE statement is provided for compatibility with Oracle.\n\nThe SHOW CREATE TABLE, SHOW TABLE STATUS, and SHOW INDEX statements\nalso provide information about tables. See [HELP SHOW].\n\nObtaining Execution Plan Information\n\nThe EXPLAIN statement provides information about how MySQL executes\nstatements:\n\no When you precede a SELECT statement with the keyword EXPLAIN, MySQL\n displays information from the optimizer about the statement execution\n plan. That is, MySQL explains how it would process the statement,\n including information about how tables are joined and in which order.\n For information about using EXPLAIN to obtain execution plan\n information, see\n http://dev.mysql.com/doc/refman/5.5/en/explain-output.html.\n\no EXPLAIN EXTENDED can be used to obtain additional execution plan\n information. See\n http://dev.mysql.com/doc/refman/5.5/en/explain-extended.html.\n\no EXPLAIN PARTITIONS is useful for examining queries involving\n partitioned tables. See\n http://dev.mysql.com/doc/refman/5.5/en/partitioning-info.html.\n\nWith the help of EXPLAIN, you can see where you should add indexes to\ntables so that the statement executes faster by using indexes to find\nrows. You can also use EXPLAIN to check whether the optimizer joins the\ntables in an optimal order. To give a hint to the optimizer to use a\njoin order corresponding to the order in which the tables are named in\na SELECT statement, begin the statement with SELECT STRAIGHT_JOIN\nrather than just SELECT. (See\nhttp://dev.mysql.com/doc/refman/5.5/en/select.html.)\n\nIf you have a problem with indexes not being used when you believe that\nthey should be, run ANALYZE TABLE to update table statistics, such as\ncardinality of keys, that can affect the choices the optimizer makes.\nSee [HELP ANALYZE TABLE].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/explain.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/explain.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (259,3,'DEGREES','Syntax:\nDEGREES(X)\n\nReturns the argument X, converted from radians to degrees.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT DEGREES(PI());\n -> 180\nmysql> SELECT DEGREES(PI() / 2);\n -> 90\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (260,3,'- UNARY','Syntax:\n-\n\nUnary minus. This operator changes the sign of the operand.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html\n\n','mysql> SELECT - 2;\n -> -2\n','http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (261,23,'VARCHAR','[NATIONAL] VARCHAR(M) [CHARACTER SET charset_name] [COLLATE\ncollation_name]\n\nA variable-length string. M represents the maximum column length in\ncharacters. The range of M is 0 to 65,535. The effective maximum length\nof a VARCHAR is subject to the maximum row size (65,535 bytes, which is\nshared among all columns) and the character set used. For example, utf8\ncharacters can require up to three bytes per character, so a VARCHAR\ncolumn that uses the utf8 character set can be declared to be a maximum\nof 21,844 characters. See\nhttp://dev.mysql.com/doc/refman/5.5/en/column-count-limit.html.\n\nMySQL stores VARCHAR values as a 1-byte or 2-byte length prefix plus\ndata. The length prefix indicates the number of bytes in the value. A\nVARCHAR column uses one length byte if values require no more than 255\nbytes, two length bytes if values may require more than 255 bytes.\n\n*Note*: MySQL 5.5 follows the standard SQL specification, and does not\nremove trailing spaces from VARCHAR values.\n\nVARCHAR is shorthand for CHARACTER VARYING. NATIONAL VARCHAR is the\nstandard SQL way to define that a VARCHAR column should use some\npredefined character set. MySQL 4.1 and up uses utf8 as this predefined\ncharacter set.\nhttp://dev.mysql.com/doc/refman/5.5/en/charset-national.html. NVARCHAR\nis shorthand for NATIONAL VARCHAR.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (262,38,'UNHEX','Syntax:\n\nUNHEX(str)\n\nFor a string argument str, UNHEX(str) interprets each pair of\ncharacters in the argument as a hexadecimal number and converts it to\nthe byte represented by the number. The return value is a binary\nstring.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT UNHEX(\'4D7953514C\');\n -> \'MySQL\'\nmysql> SELECT 0x4D7953514C;\n -> \'MySQL\'\nmysql> SELECT UNHEX(HEX(\'string\'));\n -> \'string\'\nmysql> SELECT HEX(UNHEX(\'1267\'));\n -> \'1267\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (263,16,'STD','Syntax:\nSTD(expr)\n\nReturns the population standard deviation of expr. This is an extension\nto standard SQL. The standard SQL function STDDEV_POP() can be used\ninstead.\n\nThis function returns NULL if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (264,3,'COS','Syntax:\nCOS(X)\n\nReturns the cosine of X, where X is given in radians.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT COS(PI());\n -> -1\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (265,32,'DATE FUNCTION','Syntax:\nDATE(expr)\n\nExtracts the date part of the date or datetime expression expr.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT DATE(\'2003-12-31 01:02:03\');\n -> \'2003-12-31\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (266,40,'DROP TRIGGER','Syntax:\nDROP TRIGGER [IF EXISTS] [schema_name.]trigger_name\n\nThis statement drops a trigger. The schema (database) name is optional.\nIf the schema is omitted, the trigger is dropped from the default\nschema. DROP TRIGGER requires the TRIGGER privilege for the table\nassociated with the trigger.\n\nUse IF EXISTS to prevent an error from occurring for a trigger that\ndoes not exist. A NOTE is generated for a nonexistent trigger when\nusing IF EXISTS. See [HELP SHOW WARNINGS].\n\nTriggers for a table are also dropped if you drop the table.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/drop-trigger.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/drop-trigger.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (267,8,'RESET MASTER','Syntax:\nRESET MASTER\n\nDeletes all binary log files listed in the index file, resets the\nbinary log index file to be empty, and creates a new binary log file.\nThis statement is intended to be used only when the master is started\nfor the first time.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/reset-master.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/reset-master.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (268,3,'TAN','Syntax:\nTAN(X)\n\nReturns the tangent of X, where X is given in radians.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT TAN(PI());\n -> -1.2246063538224e-16\nmysql> SELECT TAN(PI()+1);\n -> 1.5574077246549\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (269,3,'PI','Syntax:\nPI()\n\nReturns the value of π (pi). The default number of decimal places\ndisplayed is seven, but MySQL uses the full double-precision value\ninternally.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT PI();\n -> 3.141593\nmysql> SELECT PI()+0.000000000000000000;\n -> 3.141592653589793116\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (270,32,'WEEKOFYEAR','Syntax:\nWEEKOFYEAR(date)\n\nReturns the calendar week of the date as a number in the range from 1\nto 53. WEEKOFYEAR() is a compatibility function that is equivalent to\nWEEK(date,3).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT WEEKOFYEAR(\'2008-02-20\');\n -> 8\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (271,3,'/','Syntax:\n/\n\nDivision:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html\n\n','mysql> SELECT 3/5;\n -> 0.60\n','http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (272,8,'PURGE BINARY LOGS','Syntax:\nPURGE { BINARY | MASTER } LOGS\n { TO \'log_name\' | BEFORE datetime_expr }\n\nThe binary log is a set of files that contain information about data\nmodifications made by the MySQL server. The log consists of a set of\nbinary log files, plus an index file (see\nhttp://dev.mysql.com/doc/refman/5.5/en/binary-log.html).\n\nThe PURGE BINARY LOGS statement deletes all the binary log files listed\nin the log index file prior to the specified log file name or date.\nBINARY and MASTER are synonyms. Deleted log files also are removed from\nthe list recorded in the index file, so that the given log file becomes\nthe first in the list.\n\nThis statement has no effect if the server was not started with the\n--log-bin option to enable binary logging.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/purge-binary-logs.html\n\n','PURGE BINARY LOGS TO \'mysql-bin.010\';\nPURGE BINARY LOGS BEFORE \'2008-04-02 22:46:26\';\n','http://dev.mysql.com/doc/refman/5.5/en/purge-binary-logs.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (273,16,'STDDEV_SAMP','Syntax:\nSTDDEV_SAMP(expr)\n\nReturns the sample standard deviation of expr (the square root of\nVAR_SAMP().\n\nSTDDEV_SAMP() returns NULL if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (274,17,'SCHEMA','Syntax:\nSCHEMA()\n\nThis function is a synonym for DATABASE().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (275,33,'MLINEFROMWKB','MLineFromWKB(wkb[,srid]), MultiLineStringFromWKB(wkb[,srid])\n\nConstructs a MultiLineString value using its WKB representation and\nSRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (276,3,'LOG2','Syntax:\nLOG2(X)\n\nReturns the base-2 logarithm of X.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT LOG2(65536);\n -> 16\nmysql> SELECT LOG2(-100);\n -> NULL\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (277,32,'SUBTIME','Syntax:\nSUBTIME(expr1,expr2)\n\nSUBTIME() returns expr1 - expr2 expressed as a value in the same format\nas expr1. expr1 is a time or datetime expression, and expr2 is a time\nexpression.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT SUBTIME(\'2007-12-31 23:59:59.999999\',\'1 1:1:1.000002\');\n -> \'2007-12-30 22:58:58.999997\'\nmysql> SELECT SUBTIME(\'01:00:00.999999\', \'02:00:00.999998\');\n -> \'-00:59:59.999999\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (278,12,'UNCOMPRESSED_LENGTH','Syntax:\nUNCOMPRESSED_LENGTH(compressed_string)\n\nReturns the length that the compressed string had before being\ncompressed.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','mysql> SELECT UNCOMPRESSED_LENGTH(COMPRESS(REPEAT(\'a\',30)));\n -> 30\n','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (279,40,'DROP TABLE','Syntax:\nDROP [TEMPORARY] TABLE [IF EXISTS]\n tbl_name [, tbl_name] ...\n [RESTRICT | CASCADE]\n\nDROP TABLE removes one or more tables. You must have the DROP privilege\nfor each table. All table data and the table definition are removed, so\nbe careful with this statement! If any of the tables named in the\nargument list do not exist, MySQL returns an error indicating by name\nwhich nonexisting tables it was unable to drop, but it also drops all\nof the tables in the list that do exist.\n\n*Important*: When a table is dropped, user privileges on the table are\nnot automatically dropped. See [HELP GRANT].\n\nNote that for a partitioned table, DROP TABLE permanently removes the\ntable definition, all of its partitions, and all of the data which was\nstored in those partitions. It also removes the partitioning definition\n(.par) file associated with the dropped table.\n\nUse IF EXISTS to prevent an error from occurring for tables that do not\nexist. A NOTE is generated for each nonexistent table when using IF\nEXISTS. See [HELP SHOW WARNINGS].\n\nRESTRICT and CASCADE are permitted to make porting easier. In MySQL\n5.5, they do nothing.\n\n*Note*: DROP TABLE automatically commits the current active\ntransaction, unless you use the TEMPORARY keyword.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/drop-table.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/drop-table.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (280,3,'POW','Syntax:\nPOW(X,Y)\n\nReturns the value of X raised to the power of Y.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT POW(2,2);\n -> 4\nmysql> SELECT POW(2,-2);\n -> 0.25\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (281,27,'SHOW CREATE TABLE','Syntax:\nSHOW CREATE TABLE tbl_name\n\nShows the CREATE TABLE statement that creates the named table. To use\nthis statement, you must have some privilege for the table. This\nstatement also works with views.\nSHOW CREATE TABLE quotes table and column names according to the value\nof the sql_quote_show_create option. See\nhttp://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-create-table.html\n\n','mysql> SHOW CREATE TABLE t\\G\n*************************** 1. row ***************************\n Table: t\nCreate Table: CREATE TABLE t (\n id INT(11) default NULL auto_increment,\n s char(60) default NULL,\n PRIMARY KEY (id)\n) ENGINE=MyISAM\n','http://dev.mysql.com/doc/refman/5.5/en/show-create-table.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (282,28,'DUAL','You are permitted to specify DUAL as a dummy table name in situations\nwhere no tables are referenced:\n\nmysql> SELECT 1 + 1 FROM DUAL;\n -> 2\n\nDUAL is purely for the convenience of people who require that all\nSELECT statements should have FROM and possibly other clauses. MySQL\nmay ignore the clauses. MySQL does not require FROM DUAL if no tables\nare referenced.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/select.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/select.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (283,38,'INSTR','Syntax:\nINSTR(str,substr)\n\nReturns the position of the first occurrence of substring substr in\nstring str. This is the same as the two-argument form of LOCATE(),\nexcept that the order of the arguments is reversed.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT INSTR(\'foobarbar\', \'bar\');\n -> 4\nmysql> SELECT INSTR(\'xbar\', \'foobar\');\n -> 0\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (284,32,'NOW','Syntax:\nNOW()\n\nReturns the current date and time as a value in \'YYYY-MM-DD HH:MM:SS\'\nor YYYYMMDDHHMMSS.uuuuuu format, depending on whether the function is\nused in a string or numeric context. The value is expressed in the\ncurrent time zone.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT NOW();\n -> \'2007-12-15 23:50:26\'\nmysql> SELECT NOW() + 0;\n -> 20071215235026.000000\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (285,27,'SHOW ENGINES','Syntax:\nSHOW [STORAGE] ENGINES\n\nSHOW ENGINES displays status information about the server\'s storage\nengines. This is particularly useful for checking whether a storage\nengine is supported, or to see what the default engine is. This\ninformation can also be obtained from the INFORMATION_SCHEMA ENGINES\ntable. See http://dev.mysql.com/doc/refman/5.5/en/engines-table.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-engines.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-engines.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (286,19,'>=','Syntax:\n>=\n\nGreater than or equal:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT 2 >= 2;\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (287,3,'EXP','Syntax:\nEXP(X)\n\nReturns the value of e (the base of natural logarithms) raised to the\npower of X. The inverse of this function is LOG() (using a single\nargument only) or LN().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT EXP(2);\n -> 7.3890560989307\nmysql> SELECT EXP(-2);\n -> 0.13533528323661\nmysql> SELECT EXP(0);\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (288,23,'LONGBLOB','LONGBLOB\n\nA BLOB column with a maximum length of 4,294,967,295 or 4GB (232 - 1)\nbytes. The effective maximum length of LONGBLOB columns depends on the\nconfigured maximum packet size in the client/server protocol and\navailable memory. Each LONGBLOB value is stored using a 4-byte length\nprefix that indicates the number of bytes in the value.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (289,13,'POINTN','PointN(ls,N)\n\nReturns the N-th Point in the Linestring value ls. Points are numbered\nbeginning with 1.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-linestring-property-functions.html\n\n','mysql> SET @ls = \'LineString(1 1,2 2,3 3)\';\nmysql> SELECT AsText(PointN(GeomFromText(@ls),2));\n+-------------------------------------+\n| AsText(PointN(GeomFromText(@ls),2)) |\n+-------------------------------------+\n| POINT(2 2) |\n+-------------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-linestring-property-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (290,23,'YEAR DATA TYPE','YEAR[(2|4)]\n\nA year in two-digit or four-digit format. The default is four-digit\nformat. YEAR(2) or YEAR(4) differ in display format, but have the same\nrange of values. In four-digit format, values display as 1901 to 2155,\nand 0000. In two-digit format, values display as 70 to 69, representing\nyears from 1970 to 2069. MySQL displays YEAR values in YYYY or YY\nformat, but permits assignment of values to YEAR columns using either\nstrings or numbers.\n\n*Note*: The YEAR(2) data type has certain issues that you should\nconsider before choosing to use it. As of MySQL 5.5.27, YEAR(2) is\ndeprecated. For more information, see\nhttp://dev.mysql.com/doc/refman/5.5/en/migrating-to-year4.html.\n\nFor additional information about YEAR display format and interpretation\nof input values, see http://dev.mysql.com/doc/refman/5.5/en/year.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (291,16,'SUM','Syntax:\nSUM([DISTINCT] expr)\n\nReturns the sum of expr. If the return set has no rows, SUM() returns\nNULL. The DISTINCT keyword can be used to sum only the distinct values\nof expr.\n\nSUM() returns NULL if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (292,38,'OCT','Syntax:\nOCT(N)\n\nReturns a string representation of the octal value of N, where N is a\nlonglong (BIGINT) number. This is equivalent to CONV(N,10,8). Returns\nNULL if N is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT OCT(12);\n -> \'14\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (293,32,'SYSDATE','Syntax:\nSYSDATE()\n\nReturns the current date and time as a value in \'YYYY-MM-DD HH:MM:SS\'\nor YYYYMMDDHHMMSS.uuuuuu format, depending on whether the function is\nused in a string or numeric context.\n\nSYSDATE() returns the time at which it executes. This differs from the\nbehavior for NOW(), which returns a constant time that indicates the\ntime at which the statement began to execute. (Within a stored function\nor trigger, NOW() returns the time at which the function or triggering\nstatement began to execute.)\n\nmysql> SELECT NOW(), SLEEP(2), NOW();\n+---------------------+----------+---------------------+\n| NOW() | SLEEP(2) | NOW() |\n+---------------------+----------+---------------------+\n| 2006-04-12 13:47:36 | 0 | 2006-04-12 13:47:36 |\n+---------------------+----------+---------------------+\n\nmysql> SELECT SYSDATE(), SLEEP(2), SYSDATE();\n+---------------------+----------+---------------------+\n| SYSDATE() | SLEEP(2) | SYSDATE() |\n+---------------------+----------+---------------------+\n| 2006-04-12 13:47:44 | 0 | 2006-04-12 13:47:46 |\n+---------------------+----------+---------------------+\n\nIn addition, the SET TIMESTAMP statement affects the value returned by\nNOW() but not by SYSDATE(). This means that timestamp settings in the\nbinary log have no effect on invocations of SYSDATE().\n\nBecause SYSDATE() can return different values even within the same\nstatement, and is not affected by SET TIMESTAMP, it is nondeterministic\nand therefore unsafe for replication if statement-based binary logging\nis used. If that is a problem, you can use row-based logging.\n\nAlternatively, you can use the --sysdate-is-now option to cause\nSYSDATE() to be an alias for NOW(). This works if the option is used on\nboth the master and the slave.\n\nThe nondeterministic nature of SYSDATE() also means that indexes cannot\nbe used for evaluating expressions that refer to it.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (294,5,'UNINSTALL PLUGIN','Syntax:\nUNINSTALL PLUGIN plugin_name\n\nThis statement removes an installed server plugin. It requires the\nDELETE privilege for the mysql.plugin table.\n\nplugin_name must be the name of some plugin that is listed in the\nmysql.plugin table. The server executes the plugin\'s deinitialization\nfunction and removes the row for the plugin from the mysql.plugin\ntable, so that subsequent server restarts will not load and initialize\nthe plugin. UNINSTALL PLUGIN does not remove the plugin\'s shared\nlibrary file.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/uninstall-plugin.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/uninstall-plugin.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (295,33,'ASBINARY','AsBinary(g), AsWKB(g)\n\nConverts a value in internal geometry format to its WKB representation\nand returns the binary result.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-format-conversion-functions.html\n\n','SELECT AsBinary(g) FROM geom;\n','http://dev.mysql.com/doc/refman/5.5/en/gis-format-conversion-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (296,38,'REPEAT FUNCTION','Syntax:\nREPEAT(str,count)\n\nReturns a string consisting of the string str repeated count times. If\ncount is less than 1, returns an empty string. Returns NULL if str or\ncount are NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT REPEAT(\'MySQL\', 3);\n -> \'MySQLMySQLMySQL\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (297,27,'SHOW TABLES','Syntax:\nSHOW [FULL] TABLES [{FROM | IN} db_name]\n [LIKE \'pattern\' | WHERE expr]\n\nSHOW TABLES lists the non-TEMPORARY tables in a given database. You can\nalso get this list using the mysqlshow db_name command. The LIKE\nclause, if present, indicates which table names to match. The WHERE\nclause can be given to select rows using more general conditions, as\ndiscussed in http://dev.mysql.com/doc/refman/5.5/en/extended-show.html.\n\nMatching performed by the LIKE clause is dependent on the setting of\nthe lower_case_table_names system variable.\n\nThis statement also lists any views in the database. The FULL modifier\nis supported such that SHOW FULL TABLES displays a second output\ncolumn. Values for the second column are BASE TABLE for a table and\nVIEW for a view.\n\nIf you have no privileges for a base table or view, it does not show up\nin the output from SHOW TABLES or mysqlshow db_name.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-tables.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-tables.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (298,32,'MAKEDATE','Syntax:\nMAKEDATE(year,dayofyear)\n\nReturns a date, given year and day-of-year values. dayofyear must be\ngreater than 0 or the result is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT MAKEDATE(2011,31), MAKEDATE(2011,32);\n -> \'2011-01-31\', \'2011-02-01\'\nmysql> SELECT MAKEDATE(2011,365), MAKEDATE(2014,365);\n -> \'2011-12-31\', \'2014-12-31\'\nmysql> SELECT MAKEDATE(2011,0);\n -> NULL\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (299,38,'BINARY OPERATOR','Syntax:\nBINARY\n\nThe BINARY operator casts the string following it to a binary string.\nThis is an easy way to force a column comparison to be done byte by\nbyte rather than character by character. This causes the comparison to\nbe case sensitive even if the column is not defined as BINARY or BLOB.\nBINARY also causes trailing spaces to be significant.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/cast-functions.html\n\n','mysql> SELECT \'a\' = \'A\';\n -> 1\nmysql> SELECT BINARY \'a\' = \'A\';\n -> 0\nmysql> SELECT \'a\' = \'a \';\n -> 1\nmysql> SELECT BINARY \'a\' = \'a \';\n -> 0\n','http://dev.mysql.com/doc/refman/5.5/en/cast-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (300,7,'MBROVERLAPS','MBROverlaps(g1,g2)\n\nReturns 1 or 0 to indicate whether the minimum bounding rectangles of\nthe two geometries g1 and g2 overlap. The term spatially overlaps is\nused if two geometries intersect and their intersection results in a\ngeometry of the same dimension but not equal to either of the given\ngeometries.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (301,38,'SOUNDEX','Syntax:\nSOUNDEX(str)\n\nReturns a soundex string from str. Two strings that sound almost the\nsame should have identical soundex strings. A standard soundex string\nis four characters long, but the SOUNDEX() function returns an\narbitrarily long string. You can use SUBSTRING() on the result to get a\nstandard soundex string. All nonalphabetic characters in str are\nignored. All international alphabetic characters outside the A-Z range\nare treated as vowels.\n\n*Important*: When using SOUNDEX(), you should be aware of the following\nlimitations:\n\no This function, as currently implemented, is intended to work well\n with strings that are in the English language only. Strings in other\n languages may not produce reliable results.\n\no This function is not guaranteed to provide consistent results with\n strings that use multibyte character sets, including utf-8.\n\n We hope to remove these limitations in a future release. See Bug\n #22638 for more information.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT SOUNDEX(\'Hello\');\n -> \'H400\'\nmysql> SELECT SOUNDEX(\'Quadratically\');\n -> \'Q36324\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (302,7,'MBRTOUCHES','MBRTouches(g1,g2)\n\nReturns 1 or 0 to indicate whether the minimum bounding rectangles of\nthe two geometries g1 and g2 touch. Two geometries spatially touch if\nthe interiors of the geometries do not intersect, but the boundary of\none of the geometries intersects either the boundary or the interior of\nthe other.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (303,40,'DROP EVENT','Syntax:\nDROP EVENT [IF EXISTS] event_name\n\nThis statement drops the event named event_name. The event immediately\nceases being active, and is deleted completely from the server.\n\nIf the event does not exist, the error ERROR 1517 (HY000): Unknown\nevent \'event_name\' results. You can override this and cause the\nstatement to generate a warning for nonexistent events instead using IF\nEXISTS.\n\nThis statement requires the EVENT privilege for the schema to which the\nevent to be dropped belongs.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/drop-event.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/drop-event.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (304,28,'INSERT SELECT','Syntax:\nINSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]\n [INTO] tbl_name [(col_name,...)]\n SELECT ...\n [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]\n\nWith INSERT ... SELECT, you can quickly insert many rows into a table\nfrom one or many tables. For example:\n\nINSERT INTO tbl_temp2 (fld_id)\n SELECT tbl_temp1.fld_order_id\n FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/insert-select.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/insert-select.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (305,40,'CREATE PROCEDURE','Syntax:\nCREATE\n [DEFINER = { user | CURRENT_USER }]\n PROCEDURE sp_name ([proc_parameter[,...]])\n [characteristic ...] routine_body\n\nCREATE\n [DEFINER = { user | CURRENT_USER }]\n FUNCTION sp_name ([func_parameter[,...]])\n RETURNS type\n [characteristic ...] routine_body\n\nproc_parameter:\n [ IN | OUT | INOUT ] param_name type\n\nfunc_parameter:\n param_name type\n\ntype:\n Any valid MySQL data type\n\ncharacteristic:\n COMMENT \'string\'\n | LANGUAGE SQL\n | [NOT] DETERMINISTIC\n | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }\n | SQL SECURITY { DEFINER | INVOKER }\n\nroutine_body:\n Valid SQL routine statement\n\nThese statements create stored routines. By default, a routine is\nassociated with the default database. To associate the routine\nexplicitly with a given database, specify the name as db_name.sp_name\nwhen you create it.\n\nThe CREATE FUNCTION statement is also used in MySQL to support UDFs\n(user-defined functions). See\nhttp://dev.mysql.com/doc/refman/5.5/en/adding-functions.html. A UDF can\nbe regarded as an external stored function. Stored functions share\ntheir namespace with UDFs. See\nhttp://dev.mysql.com/doc/refman/5.5/en/function-resolution.html, for\nthe rules describing how the server interprets references to different\nkinds of functions.\n\nTo invoke a stored procedure, use the CALL statement (see [HELP CALL]).\nTo invoke a stored function, refer to it in an expression. The function\nreturns a value during expression evaluation.\n\nCREATE PROCEDURE and CREATE FUNCTION require the CREATE ROUTINE\nprivilege. They might also require the SUPER privilege, depending on\nthe DEFINER value, as described later in this section. If binary\nlogging is enabled, CREATE FUNCTION might require the SUPER privilege,\nas described in\nhttp://dev.mysql.com/doc/refman/5.5/en/stored-programs-logging.html.\n\nBy default, MySQL automatically grants the ALTER ROUTINE and EXECUTE\nprivileges to the routine creator. This behavior can be changed by\ndisabling the automatic_sp_privileges system variable. See\nhttp://dev.mysql.com/doc/refman/5.5/en/stored-routines-privileges.html.\n\nThe DEFINER and SQL SECURITY clauses specify the security context to be\nused when checking access privileges at routine execution time, as\ndescribed later in this section.\n\nIf the routine name is the same as the name of a built-in SQL function,\na syntax error occurs unless you use a space between the name and the\nfollowing parenthesis when defining the routine or invoking it later.\nFor this reason, avoid using the names of existing SQL functions for\nyour own stored routines.\n\nThe IGNORE_SPACE SQL mode applies to built-in functions, not to stored\nroutines. It is always permissible to have spaces after a stored\nroutine name, regardless of whether IGNORE_SPACE is enabled.\n\nThe parameter list enclosed within parentheses must always be present.\nIf there are no parameters, an empty parameter list of () should be\nused. Parameter names are not case sensitive.\n\nEach parameter is an IN parameter by default. To specify otherwise for\na parameter, use the keyword OUT or INOUT before the parameter name.\n\n*Note*: Specifying a parameter as IN, OUT, or INOUT is valid only for a\nPROCEDURE. For a FUNCTION, parameters are always regarded as IN\nparameters.\n\nAn IN parameter passes a value into a procedure. The procedure might\nmodify the value, but the modification is not visible to the caller\nwhen the procedure returns. An OUT parameter passes a value from the\nprocedure back to the caller. Its initial value is NULL within the\nprocedure, and its value is visible to the caller when the procedure\nreturns. An INOUT parameter is initialized by the caller, can be\nmodified by the procedure, and any change made by the procedure is\nvisible to the caller when the procedure returns.\n\nFor each OUT or INOUT parameter, pass a user-defined variable in the\nCALL statement that invokes the procedure so that you can obtain its\nvalue when the procedure returns. If you are calling the procedure from\nwithin another stored procedure or function, you can also pass a\nroutine parameter or local routine variable as an IN or INOUT\nparameter.\n\nRoutine parameters cannot be referenced in statements prepared within\nthe routine; see\nhttp://dev.mysql.com/doc/refman/5.5/en/stored-program-restrictions.html\n.\n\nThe following example shows a simple stored procedure that uses an OUT\nparameter:\n\nmysql> delimiter //\n\nmysql> CREATE PROCEDURE simpleproc (OUT param1 INT)\n -> BEGIN\n -> SELECT COUNT(*) INTO param1 FROM t;\n -> END//\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> delimiter ;\n\nmysql> CALL simpleproc(@a);\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SELECT @a;\n+------+\n| @a |\n+------+\n| 3 |\n+------+\n1 row in set (0.00 sec)\n\nThe example uses the mysql client delimiter command to change the\nstatement delimiter from ; to // while the procedure is being defined.\nThis enables the ; delimiter used in the procedure body to be passed\nthrough to the server rather than being interpreted by mysql itself.\nSee\nhttp://dev.mysql.com/doc/refman/5.5/en/stored-programs-defining.html.\n\nThe RETURNS clause may be specified only for a FUNCTION, for which it\nis mandatory. It indicates the return type of the function, and the\nfunction body must contain a RETURN value statement. If the RETURN\nstatement returns a value of a different type, the value is coerced to\nthe proper type. For example, if a function specifies an ENUM or SET\nvalue in the RETURNS clause, but the RETURN statement returns an\ninteger, the value returned from the function is the string for the\ncorresponding ENUM member of set of SET members.\n\nThe following example function takes a parameter, performs an operation\nusing an SQL function, and returns the result. In this case, it is\nunnecessary to use delimiter because the function definition contains\nno internal ; statement delimiters:\n\nmysql> CREATE FUNCTION hello (s CHAR(20))\nmysql> RETURNS CHAR(50) DETERMINISTIC\n -> RETURN CONCAT(\'Hello, \',s,\'!\');\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SELECT hello(\'world\');\n+----------------+\n| hello(\'world\') |\n+----------------+\n| Hello, world! |\n+----------------+\n1 row in set (0.00 sec)\n\nParameter types and function return types can be declared to use any\nvalid data type, except that the COLLATE attribute cannot be used prior\nto MySQL 5.5.3. As of 5.5.3, COLLATE can be used if preceded by the\nCHARACTER SET attribute.\n\nThe routine_body consists of a valid SQL routine statement. This can be\na simple statement such as SELECT or INSERT, or a compound statement\nwritten using BEGIN and END. Compound statements can contain\ndeclarations, loops, and other control structure statements. The syntax\nfor these statements is described in\nhttp://dev.mysql.com/doc/refman/5.5/en/sql-syntax-compound-statements.h\ntml.\n\nMySQL permits routines to contain DDL statements, such as CREATE and\nDROP. MySQL also permits stored procedures (but not stored functions)\nto contain SQL transaction statements such as COMMIT. Stored functions\nmay not contain statements that perform explicit or implicit commit or\nrollback. Support for these statements is not required by the SQL\nstandard, which states that each DBMS vendor may decide whether to\npermit them.\n\nStatements that return a result set can be used within a stored\nprocedure but not within a stored function. This prohibition includes\nSELECT statements that do not have an INTO var_list clause and other\nstatements such as SHOW, EXPLAIN, and CHECK TABLE. For statements that\ncan be determined at function definition time to return a result set, a\nNot allowed to return a result set from a function error occurs\n(ER_SP_NO_RETSET). For statements that can be determined only at\nruntime to return a result set, a PROCEDURE %s can\'t return a result\nset in the given context error occurs (ER_SP_BADSELECT).\n\nUSE statements within stored routines are not permitted. When a routine\nis invoked, an implicit USE db_name is performed (and undone when the\nroutine terminates). The causes the routine to have the given default\ndatabase while it executes. References to objects in databases other\nthan the routine default database should be qualified with the\nappropriate database name.\n\nFor additional information about statements that are not permitted in\nstored routines, see\nhttp://dev.mysql.com/doc/refman/5.5/en/stored-program-restrictions.html\n.\n\nFor information about invoking stored procedures from within programs\nwritten in a language that has a MySQL interface, see [HELP CALL].\n\nMySQL stores the sql_mode system variable setting in effect when a\nroutine is created or altered, and always executes the routine with\nthis setting in force, regardless of the current server SQL mode when\nthe routine begins executing.\n\nThe switch from the SQL mode of the invoker to that of the routine\noccurs after evaluation of arguments and assignment of the resulting\nvalues to routine parameters. If you define a routine in strict SQL\nmode but invoke it in nonstrict mode, assignment of arguments to\nroutine parameters does not take place in strict mode. If you require\nthat expressions passed to a routine be assigned in strict SQL mode,\nyou should invoke the routine with strict mode in effect.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-procedure.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/create-procedure.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (306,23,'VARBINARY','VARBINARY(M)\n\nThe VARBINARY type is similar to the VARCHAR type, but stores binary\nbyte strings rather than nonbinary character strings. M represents the\nmaximum column length in bytes.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (307,27,'LOAD INDEX','Syntax:\nLOAD INDEX INTO CACHE\n tbl_index_list [, tbl_index_list] ...\n\ntbl_index_list:\n tbl_name\n [PARTITION (partition_list | ALL)]\n [[INDEX|KEY] (index_name[, index_name] ...)]\n [IGNORE LEAVES]\n\npartition_list:\n partition_name[, partition_name][, ...]\n\nThe LOAD INDEX INTO CACHE statement preloads a table index into the key\ncache to which it has been assigned by an explicit CACHE INDEX\nstatement, or into the default key cache otherwise.\n\nLOAD INDEX INTO CACHE is used only for MyISAM tables. In MySQL 5.5, it\nis also supported for partitioned MyISAM tables; in addition, indexes\non partitioned tables can be preloaded for one, several, or all\npartitions.\n\nThe IGNORE LEAVES modifier causes only blocks for the nonleaf nodes of\nthe index to be preloaded.\n\nIGNORE LEAVES is also supported for partitioned MyISAM tables.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/load-index.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/load-index.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (308,28,'UNION','Syntax:\nSELECT ...\nUNION [ALL | DISTINCT] SELECT ...\n[UNION [ALL | DISTINCT] SELECT ...]\n\nUNION is used to combine the result from multiple SELECT statements\ninto a single result set.\n\nThe column names from the first SELECT statement are used as the column\nnames for the results returned. Selected columns listed in\ncorresponding positions of each SELECT statement should have the same\ndata type. (For example, the first column selected by the first\nstatement should have the same type as the first column selected by the\nother statements.)\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/union.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/union.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (309,32,'TO_DAYS','Syntax:\nTO_DAYS(date)\n\nGiven a date date, returns a day number (the number of days since year\n0).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT TO_DAYS(950501);\n -> 728779\nmysql> SELECT TO_DAYS(\'2007-10-07\');\n -> 733321\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (310,38,'NOT REGEXP','Syntax:\nexpr NOT REGEXP pat, expr NOT RLIKE pat\n\nThis is the same as NOT (expr REGEXP pat).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/regexp.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/regexp.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (311,27,'SHOW INDEX','Syntax:\nSHOW {INDEX | INDEXES | KEYS}\n {FROM | IN} tbl_name\n [{FROM | IN} db_name]\n [WHERE expr]\n\nSHOW INDEX returns table index information. The format resembles that\nof the SQLStatistics call in ODBC. This statement requires some\nprivilege for any column in the table.\nYou can use db_name.tbl_name as an alternative to the tbl_name FROM\ndb_name syntax. These two statements are equivalent:\n\nSHOW INDEX FROM mytable FROM mydb;\nSHOW INDEX FROM mydb.mytable;\n\nThe WHERE clause can be given to select rows using more general\nconditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.5/en/extended-show.html.\n\nYou can also list a table\'s indexes with the mysqlshow -k db_name\ntbl_name command.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-index.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-index.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (312,27,'SHOW CREATE DATABASE','Syntax:\nSHOW CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name\n\nShows the CREATE DATABASE statement that creates the named database. If\nthe SHOW statement includes an IF NOT EXISTS clause, the output too\nincludes such a clause. SHOW CREATE SCHEMA is a synonym for SHOW CREATE\nDATABASE.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-create-database.html\n\n','mysql> SHOW CREATE DATABASE test\\G\n*************************** 1. row ***************************\n Database: test\nCreate Database: CREATE DATABASE `test`\n /*!40100 DEFAULT CHARACTER SET latin1 */\n\nmysql> SHOW CREATE SCHEMA test\\G\n*************************** 1. row ***************************\n Database: test\nCreate Database: CREATE DATABASE `test`\n /*!40100 DEFAULT CHARACTER SET latin1 */\n','http://dev.mysql.com/doc/refman/5.5/en/show-create-database.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (313,24,'LEAVE','Syntax:\nLEAVE label\n\nThis statement is used to exit the flow control construct that has the\ngiven label. If the label is for the outermost stored program block,\nLEAVE exits the program.\n\nLEAVE can be used within BEGIN ... END or loop constructs (LOOP,\nREPEAT, WHILE).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/leave.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/leave.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (314,19,'NOT IN','Syntax:\nexpr NOT IN (value,...)\n\nThis is the same as NOT (expr IN (value,...)).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (315,15,'!','Syntax:\nNOT, !\n\nLogical NOT. Evaluates to 1 if the operand is 0, to 0 if the operand is\nnonzero, and NOT NULL returns NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/logical-operators.html\n\n','mysql> SELECT NOT 10;\n -> 0\nmysql> SELECT NOT 0;\n -> 1\nmysql> SELECT NOT NULL;\n -> NULL\nmysql> SELECT ! (1+1);\n -> 0\nmysql> SELECT ! 1+1;\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/logical-operators.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (316,24,'DECLARE HANDLER','Syntax:\nDECLARE handler_action HANDLER\n FOR condition_value [, condition_value] ...\n statement\n\nhandler_action:\n CONTINUE\n | EXIT\n | UNDO\n\ncondition_value:\n mysql_error_code\n | SQLSTATE [VALUE] sqlstate_value\n | condition_name\n | SQLWARNING\n | NOT FOUND\n | SQLEXCEPTION\n\nThe DECLARE ... HANDLER statement specifies a handler that deals with\none or more conditions. If one of these conditions occurs, the\nspecified statement executes. statement can be a simple statement such\nas SET var_name = value, or a compound statement written using BEGIN\nand END (see [HELP BEGIN END]).\n\nHandler declarations must appear after variable or condition\ndeclarations.\n\nThe handler_action value indicates what action the handler takes after\nexecution of the handler statement:\n\no CONTINUE: Execution of the current program continues.\n\no EXIT: Execution terminates for the BEGIN ... END compound statement\n in which the handler is declared. This is true even if the condition\n occurs in an inner block.\n\no UNDO: Not supported.\n\nThe condition_value for DECLARE ... HANDLER indicates the specific\ncondition or class of conditions that activates the handler:\n\no A MySQL error code (a number) or an SQLSTATE value (a 5-character\n string literal). You should not use MySQL error code 0 or SQLSTATE\n values that begin with \'00\', because those indicate success rather\n than an error condition. For a list of MySQL error codes and SQLSTATE\n values, see\n http://dev.mysql.com/doc/refman/5.5/en/error-messages-server.html.\n\no A condition name previously specified with DECLARE ... CONDITION. A\n condition name can be associated with a MySQL error code or SQLSTATE\n value. See [HELP DECLARE CONDITION].\n\no SQLWARNING is shorthand for the class of SQLSTATE values that begin\n with \'01\'.\n\no NOT FOUND is shorthand for the class of SQLSTATE values that begin\n with \'02\'. This is relevant within the context of cursors and is used\n to control what happens when a cursor reaches the end of a data set.\n If no more rows are available, a No Data condition occurs with\n SQLSTATE value \'02000\'. To detect this condition, you can set up a\n handler for it (or for a NOT FOUND condition). For an example, see\n http://dev.mysql.com/doc/refman/5.5/en/cursors.html. This condition\n also occurs for SELECT ... INTO var_list statements that retrieve no\n rows.\n\no SQLEXCEPTION is shorthand for the class of SQLSTATE values that do\n not begin with \'00\', \'01\', or \'02\'.\n\nIf a condition occurs for which no handler has been declared, the\naction taken depends on the condition class:\n\no For SQLEXCEPTION conditions, the stored program terminates at the\n statement that raised the condition, as if there were an EXIT\n handler. If the program was called by another stored program, the\n calling program handles the condition using the handler selection\n rules applied to its own handlers.\n\no For SQLWARNING conditions, the program continues executing, as if\n there were a CONTINUE handler.\n\no For NOT FOUND conditions, if the condition was raised normally, the\n action is CONTINUE. If it was raised by SIGNAL or RESIGNAL, the\n action is EXIT.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/declare-handler.html\n\n','mysql> CREATE TABLE test.t (s1 INT, PRIMARY KEY (s1));\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> delimiter //\n\nmysql> CREATE PROCEDURE handlerdemo ()\n -> BEGIN\n -> DECLARE CONTINUE HANDLER FOR SQLSTATE \'23000\' SET @x2 = 1;\n -> SET @x = 1;\n -> INSERT INTO test.t VALUES (1);\n -> SET @x = 2;\n -> INSERT INTO test.t VALUES (1);\n -> SET @x = 3;\n -> END;\n -> //\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> CALL handlerdemo()//\nQuery OK, 0 rows affected, 1 warning (0.01 sec)\n\nmysql> SHOW WARNINGS//\n+-------+------+---------------------------------------+\n| Level | Code | Message |\n+-------+------+---------------------------------------+\n| Error | 1062 | Duplicate entry \'1\' for key \'PRIMARY\' |\n+-------+------+---------------------------------------+\n1 row in set (0.00 sec)\n\n\nmysql> SELECT @x//\n +------+\n | @x |\n +------+\n | 3 |\n +------+\n 1 row in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.5/en/declare-handler.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (317,23,'DOUBLE','DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]\n\nA normal-size (double-precision) floating-point number. Permissible\nvalues are -1.7976931348623157E+308 to -2.2250738585072014E-308, 0, and\n2.2250738585072014E-308 to 1.7976931348623157E+308. These are the\ntheoretical limits, based on the IEEE standard. The actual range might\nbe slightly smaller depending on your hardware or operating system.\n\nM is the total number of digits and D is the number of digits following\nthe decimal point. If M and D are omitted, values are stored to the\nlimits permitted by the hardware. A double-precision floating-point\nnumber is accurate to approximately 15 decimal places.\n\nUNSIGNED, if specified, disallows negative values.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (318,23,'TIME','TIME\n\nA time. The range is \'-838:59:59\' to \'838:59:59\'. MySQL displays TIME\nvalues in \'HH:MM:SS\' format, but permits assignment of values to TIME\ncolumns using either strings or numbers.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (319,15,'&&','Syntax:\nAND, &&\n\nLogical AND. Evaluates to 1 if all operands are nonzero and not NULL,\nto 0 if one or more operands are 0, otherwise NULL is returned.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/logical-operators.html\n\n','mysql> SELECT 1 && 1;\n -> 1\nmysql> SELECT 1 && 0;\n -> 0\nmysql> SELECT 1 && NULL;\n -> NULL\nmysql> SELECT 0 && NULL;\n -> 0\nmysql> SELECT NULL && 0;\n -> 0\n','http://dev.mysql.com/doc/refman/5.5/en/logical-operators.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (320,11,'X','X(p)\n\nReturns the X-coordinate value for the Point object p as a\ndouble-precision number.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-point-property-functions.html\n\n','mysql> SELECT X(POINT(56.7, 53.34));\n+-----------------------+\n| X(POINT(56.7, 53.34)) |\n+-----------------------+\n| 56.7 |\n+-----------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-point-property-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (321,17,'SYSTEM_USER','Syntax:\nSYSTEM_USER()\n\nSYSTEM_USER() is a synonym for USER().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (322,17,'FOUND_ROWS','Syntax:\nFOUND_ROWS()\n\nA SELECT statement may include a LIMIT clause to restrict the number of\nrows the server returns to the client. In some cases, it is desirable\nto know how many rows the statement would have returned without the\nLIMIT, but without running the statement again. To obtain this row\ncount, include a SQL_CALC_FOUND_ROWS option in the SELECT statement,\nand then invoke FOUND_ROWS() afterward:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name\n -> WHERE id > 100 LIMIT 10;\nmysql> SELECT FOUND_ROWS();\n','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (323,31,'CROSSES','Crosses(g1,g2)\n\nReturns 1 if g1 spatially crosses g2. Returns NULL if g1 is a Polygon\nor a MultiPolygon, or if g2 is a Point or a MultiPoint. Otherwise,\nreturns 0.\n\nThe term spatially crosses denotes a spatial relation between two given\ngeometries that has the following properties:\n\no The two geometries intersect\n\no Their intersection results in a geometry that has a dimension that is\n one less than the maximum dimension of the two given geometries\n\no Their intersection is not equal to either of the two given geometries\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (324,40,'TRUNCATE TABLE','Syntax:\nTRUNCATE [TABLE] tbl_name\n\nTRUNCATE TABLE empties a table completely. It requires the DROP\nprivilege.\n\nLogically, TRUNCATE TABLE is similar to a DELETE statement that deletes\nall rows, or a sequence of DROP TABLE and CREATE TABLE statements. To\nachieve high performance, it bypasses the DML method of deleting data.\nThus, it cannot be rolled back, it does not cause ON DELETE triggers to\nfire, and it cannot be performed for InnoDB tables with parent-child\nforeign key relationships.\n\nAlthough TRUNCATE TABLE is similar to DELETE, it is classified as a DDL\nstatement rather than a DML statement. It differs from DELETE in the\nfollowing ways in MySQL 5.5:\n\no Truncate operations drop and re-create the table, which is much\n faster than deleting rows one by one, particularly for large tables.\n\no Truncate operations cause an implicit commit, and so cannot be rolled\n back.\n\no Truncation operations cannot be performed if the session holds an\n active table lock.\n\no TRUNCATE TABLE fails for an InnoDB table if there are any FOREIGN KEY\n constraints from other tables that reference the table. Foreign key\n constraints between columns of the same table are permitted.\n\no Truncation operations do not return a meaningful value for the number\n of deleted rows. The usual result is "0 rows affected," which should\n be interpreted as "no information."\n\no As long as the table format file tbl_name.frm is valid, the table can\n be re-created as an empty table with TRUNCATE TABLE, even if the data\n or index files have become corrupted.\n\no Any AUTO_INCREMENT value is reset to its start value. This is true\n even for MyISAM and InnoDB, which normally do not reuse sequence\n values.\n\no When used with partitioned tables, TRUNCATE TABLE preserves the\n partitioning; that is, the data and index files are dropped and\n re-created, while the partition definitions (.par) file is\n unaffected.\n\no The TRUNCATE TABLE statement does not invoke ON DELETE triggers.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/truncate-table.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/truncate-table.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (325,16,'BIT_XOR','Syntax:\nBIT_XOR(expr)\n\nReturns the bitwise XOR of all bits in expr. The calculation is\nperformed with 64-bit (BIGINT) precision.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (326,32,'CURRENT_DATE','Syntax:\nCURRENT_DATE, CURRENT_DATE()\n\nCURRENT_DATE and CURRENT_DATE() are synonyms for CURDATE().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (327,8,'START SLAVE','Syntax:\nSTART SLAVE [thread_types]\n\nSTART SLAVE [SQL_THREAD] UNTIL\n MASTER_LOG_FILE = \'log_name\', MASTER_LOG_POS = log_pos\n\nSTART SLAVE [SQL_THREAD] UNTIL\n RELAY_LOG_FILE = \'log_name\', RELAY_LOG_POS = log_pos\n\nthread_types:\n [thread_type [, thread_type] ... ]\n\nthread_type: IO_THREAD | SQL_THREAD\n\nSTART SLAVE with no thread_type options starts both of the slave\nthreads. The I/O thread reads events from the master server and stores\nthem in the relay log. The SQL thread reads events from the relay log\nand executes them. START SLAVE requires the SUPER privilege.\n\nIf START SLAVE succeeds in starting the slave threads, it returns\nwithout any error. However, even in that case, it might be that the\nslave threads start and then later stop (for example, because they do\nnot manage to connect to the master or read its binary log, or some\nother problem). START SLAVE does not warn you about this. You must\ncheck the slave\'s error log for error messages generated by the slave\nthreads, or check that they are running satisfactorily with SHOW SLAVE\nSTATUS.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/start-slave.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/start-slave.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (328,2,'AREA','Area(poly)\n\nReturns as a double-precision number the area of the Polygon value\npoly, as measured in its spatial reference system.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-polygon-property-functions.html\n\n','mysql> SET @poly = \'Polygon((0 0,0 3,3 0,0 0),(1 1,1 2,2 1,1 1))\';\nmysql> SELECT Area(GeomFromText(@poly));\n+---------------------------+\n| Area(GeomFromText(@poly)) |\n+---------------------------+\n| 4 |\n+---------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-polygon-property-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (329,27,'FLUSH','Syntax:\nFLUSH [NO_WRITE_TO_BINLOG | LOCAL]\n flush_option [, flush_option] ...\n\nThe FLUSH statement has several variant forms that clear or reload\nvarious internal caches, flush tables, or acquire locks. To execute\nFLUSH, you must have the RELOAD privilege. Specific flush options might\nrequire additional privileges, as described later.\n\nBy default, the server writes FLUSH statements to the binary log so\nthat they replicate to replication slaves. To suppress logging, specify\nthe optional NO_WRITE_TO_BINLOG keyword or its alias LOCAL.\n\n*Note*: FLUSH LOGS, FLUSH MASTER, FLUSH SLAVE, and FLUSH TABLES WITH\nREAD LOCK (with or without a table list) are not written to the binary\nlog in any case because they would cause problems if replicated to a\nslave.\n\nSending a SIGHUP signal to the server causes several flush operations\nto occur that are similar to various forms of the FLUSH statement. See\nhttp://dev.mysql.com/doc/refman/5.5/en/server-signal-response.html.\n\nThe FLUSH statement causes an implicit commit. See\nhttp://dev.mysql.com/doc/refman/5.5/en/implicit-commit.html.\n\nThe RESET statement is similar to FLUSH. See [HELP RESET], for\ninformation about using the RESET statement with replication.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/flush.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/flush.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (330,24,'BEGIN END','Syntax:\n[begin_label:] BEGIN\n [statement_list]\nEND [end_label]\n\nBEGIN ... END syntax is used for writing compound statements, which can\nappear within stored programs (stored procedures and functions,\ntriggers, and events). A compound statement can contain multiple\nstatements, enclosed by the BEGIN and END keywords. statement_list\nrepresents a list of one or more statements, each terminated by a\nsemicolon (;) statement delimiter. The statement_list itself is\noptional, so the empty compound statement (BEGIN END) is legal.\n\nBEGIN ... END blocks can be nested.\n\nUse of multiple statements requires that a client is able to send\nstatement strings containing the ; statement delimiter. In the mysql\ncommand-line client, this is handled with the delimiter command.\nChanging the ; end-of-statement delimiter (for example, to //) permit ;\nto be used in a program body. For an example, see\nhttp://dev.mysql.com/doc/refman/5.5/en/stored-programs-defining.html.\n\nA BEGIN ... END block can be labeled. See [HELP labels].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/begin-end.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/begin-end.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (331,27,'SHOW PROCEDURE STATUS','Syntax:\nSHOW PROCEDURE STATUS\n [LIKE \'pattern\' | WHERE expr]\n\nThis statement is a MySQL extension. It returns characteristics of a\nstored procedure, such as the database, name, type, creator, creation\nand modification dates, and character set information. A similar\nstatement, SHOW FUNCTION STATUS, displays information about stored\nfunctions (see [HELP SHOW FUNCTION STATUS]).\n\nThe LIKE clause, if present, indicates which procedure or function\nnames to match. The WHERE clause can be given to select rows using more\ngeneral conditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.5/en/extended-show.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-procedure-status.html\n\n','mysql> SHOW PROCEDURE STATUS LIKE \'sp1\'\\G\n*************************** 1. row ***************************\n Db: test\n Name: sp1\n Type: PROCEDURE\n Definer: testuser@localhost\n Modified: 2004-08-03 15:29:37\n Created: 2004-08-03 15:29:37\n Security_type: DEFINER\n Comment:\ncharacter_set_client: latin1\ncollation_connection: latin1_swedish_ci\n Database Collation: latin1_swedish_ci\n','http://dev.mysql.com/doc/refman/5.5/en/show-procedure-status.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (332,27,'SHOW WARNINGS','Syntax:\nSHOW WARNINGS [LIMIT [offset,] row_count]\nSHOW COUNT(*) WARNINGS\n\nSHOW WARNINGS is a diagnostic statement that displays information about\nthe conditions (errors, warnings, and notes) resulting from executing a\nstatement in the current session. Warnings are generated for DML\nstatements such as INSERT, UPDATE, and LOAD DATA INFILE as well as DDL\nstatements such as CREATE TABLE and ALTER TABLE.\n\nThe LIMIT clause has the same syntax as for the SELECT statement. See\nhttp://dev.mysql.com/doc/refman/5.5/en/select.html.\n\nSHOW WARNINGS is also used following EXPLAIN EXTENDED, to display the\nextra information generated by EXPLAIN when the EXTENDED keyword is\nused. See http://dev.mysql.com/doc/refman/5.5/en/explain-extended.html.\n\nSHOW WARNINGS displays information about the conditions resulting from\nthe most recent statement in the current session that generated\nmessages. It shows nothing if the most recent statement used a table\nand generated no messages. (That is, statements that use a table but\ngenerate no messages clear the message list.) Statements that do not\nuse tables and do not generate messages have no effect on the message\nlist.\n\nThe SHOW COUNT(*) WARNINGS diagnostic statement displays the total\nnumber of errors, warnings, and notes. You can also retrieve this\nnumber from the warning_count system variable:\n\nSHOW COUNT(*) WARNINGS;\nSELECT @@warning_count;\n\nA related diagnostic statement, SHOW ERRORS, shows only error\nconditions (it excludes warnings and notes), and SHOW COUNT(*) ERRORS\nstatement displays the total number of errors. See [HELP SHOW ERRORS].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-warnings.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-warnings.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (333,10,'DROP USER','Syntax:\nDROP USER user [, user] ...\n\nThe DROP USER statement removes one or more MySQL accounts and their\nprivileges. It removes privilege rows for the account from all grant\ntables. An error occurs for accounts that do not exist. To use this\nstatement, you must have the global CREATE USER privilege or the DELETE\nprivilege for the mysql database.\n\nEach account name uses the format described in\nhttp://dev.mysql.com/doc/refman/5.5/en/account-names.html. For example:\n\nDROP USER \'jeffrey\'@\'localhost\';\n\nIf you specify only the user name part of the account name, a host name\npart of \'%\' is used.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/drop-user.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/drop-user.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (334,16,'STDDEV_POP','Syntax:\nSTDDEV_POP(expr)\n\nReturns the population standard deviation of expr (the square root of\nVAR_POP()). You can also use STD() or STDDEV(), which are equivalent\nbut not standard SQL.\n\nSTDDEV_POP() returns NULL if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (335,27,'SHOW CHARACTER SET','Syntax:\nSHOW CHARACTER SET\n [LIKE \'pattern\' | WHERE expr]\n\nThe SHOW CHARACTER SET statement shows all available character sets.\nThe LIKE clause, if present, indicates which character set names to\nmatch. The WHERE clause can be given to select rows using more general\nconditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.5/en/extended-show.html. For example:\n\nmysql> SHOW CHARACTER SET LIKE \'latin%\';\n+---------+-----------------------------+-------------------+--------+\n| Charset | Description | Default collation | Maxlen |\n+---------+-----------------------------+-------------------+--------+\n| latin1 | cp1252 West European | latin1_swedish_ci | 1 |\n| latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 |\n| latin5 | ISO 8859-9 Turkish | latin5_turkish_ci | 1 |\n| latin7 | ISO 8859-13 Baltic | latin7_general_ci | 1 |\n+---------+-----------------------------+-------------------+--------+\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-character-set.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-character-set.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (336,38,'SUBSTRING','Syntax:\nSUBSTRING(str,pos), SUBSTRING(str FROM pos), SUBSTRING(str,pos,len),\nSUBSTRING(str FROM pos FOR len)\n\nThe forms without a len argument return a substring from string str\nstarting at position pos. The forms with a len argument return a\nsubstring len characters long from string str, starting at position\npos. The forms that use FROM are standard SQL syntax. It is also\npossible to use a negative value for pos. In this case, the beginning\nof the substring is pos characters from the end of the string, rather\nthan the beginning. A negative value may be used for pos in any of the\nforms of this function.\n\nFor all forms of SUBSTRING(), the position of the first character in\nthe string from which the substring is to be extracted is reckoned as\n1.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT SUBSTRING(\'Quadratically\',5);\n -> \'ratically\'\nmysql> SELECT SUBSTRING(\'foobarbar\' FROM 4);\n -> \'barbar\'\nmysql> SELECT SUBSTRING(\'Quadratically\',5,6);\n -> \'ratica\'\nmysql> SELECT SUBSTRING(\'Sakila\', -3);\n -> \'ila\'\nmysql> SELECT SUBSTRING(\'Sakila\', -5, 3);\n -> \'aki\'\nmysql> SELECT SUBSTRING(\'Sakila\' FROM -4 FOR 2);\n -> \'ki\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (337,37,'ISEMPTY','IsEmpty(g)\n\nThis function is a placeholder that returns 0 for any valid geometry\nvalue, 1 for any invalid geometry value or NULL.\n\nMySQL does not support GIS EMPTY values such as POINT EMPTY.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (338,27,'SHOW FUNCTION STATUS','Syntax:\nSHOW FUNCTION STATUS\n [LIKE \'pattern\' | WHERE expr]\n\nThis statement is similar to SHOW PROCEDURE STATUS but for stored\nfunctions. See [HELP SHOW PROCEDURE STATUS].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-function-status.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-function-status.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (339,38,'LTRIM','Syntax:\nLTRIM(str)\n\nReturns the string str with leading space characters removed.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT LTRIM(\' barbar\');\n -> \'barbar\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (340,31,'INTERSECTS','Intersects(g1,g2)\n\nReturns 1 or 0 to indicate whether g1 spatially intersects g2.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (341,28,'CALL','Syntax:\nCALL sp_name([parameter[,...]])\nCALL sp_name[()]\n\nThe CALL statement invokes a stored procedure that was defined\npreviously with CREATE PROCEDURE.\n\nStored procedures that take no arguments can be invoked without\nparentheses. That is, CALL p() and CALL p are equivalent.\n\nCALL can pass back values to its caller using parameters that are\ndeclared as OUT or INOUT parameters. When the procedure returns, a\nclient program can also obtain the number of rows affected for the\nfinal statement executed within the routine: At the SQL level, call the\nROW_COUNT() function; from the C API, call the mysql_affected_rows()\nfunction.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/call.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/call.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (342,14,'VALUES','Syntax:\nVALUES(col_name)\n\nIn an INSERT ... ON DUPLICATE KEY UPDATE statement, you can use the\nVALUES(col_name) function in the UPDATE clause to refer to column\nvalues from the INSERT portion of the statement. In other words,\nVALUES(col_name) in the UPDATE clause refers to the value of col_name\nthat would be inserted, had no duplicate-key conflict occurred. This\nfunction is especially useful in multiple-row inserts. The VALUES()\nfunction is meaningful only in the ON DUPLICATE KEY UPDATE clause of\nINSERT statements and returns NULL otherwise. See\nhttp://dev.mysql.com/doc/refman/5.5/en/insert-on-duplicate.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html\n\n','mysql> INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6)\n -> ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b);\n','http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (343,7,'MBRDISJOINT','MBRDisjoint(g1,g2)\n\nReturns 1 or 0 to indicate whether the minimum bounding rectangles of\nthe two geometries g1 and g2 are disjoint (do not intersect).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (344,38,'SUBSTRING_INDEX','Syntax:\nSUBSTRING_INDEX(str,delim,count)\n\nReturns the substring from string str before count occurrences of the\ndelimiter delim. If count is positive, everything to the left of the\nfinal delimiter (counting from the left) is returned. If count is\nnegative, everything to the right of the final delimiter (counting from\nthe right) is returned. SUBSTRING_INDEX() performs a case-sensitive\nmatch when searching for delim.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT SUBSTRING_INDEX(\'www.mysql.com\', \'.\', 2);\n -> \'www.mysql\'\nmysql> SELECT SUBSTRING_INDEX(\'www.mysql.com\', \'.\', -2);\n -> \'mysql.com\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (345,12,'ENCODE','Syntax:\nENCODE(str,pass_str)\n\nEncrypt str using pass_str as the password. The result is a binary\nstring of the same length as str. To decrypt the result, use DECODE().\n\nThe ENCODE() function should no longer be used. If you still need to\nuse ENCODE(), a salt value must be used with it to reduce risk. For\nexample:\n\nENCODE(\'plaintext\', CONCAT(\'my_random_salt\',\'my_secret_password\'))\n\nA new random salt value must be used whenever a password is updated.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (346,24,'LOOP','Syntax:\n[begin_label:] LOOP\n statement_list\nEND LOOP [end_label]\n\nLOOP implements a simple loop construct, enabling repeated execution of\nthe statement list, which consists of one or more statements, each\nterminated by a semicolon (;) statement delimiter. The statements\nwithin the loop are repeated until the loop is terminated. Usually,\nthis is accomplished with a LEAVE statement. Within a stored function,\nRETURN can also be used, which exits the function entirely.\n\nNeglecting to include a loop-termination statement results in an\ninfinite loop.\n\nA LOOP statement can be labeled. For the rules regarding label use, see\n[HELP labels].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/loop.html\n\n','CREATE PROCEDURE doiterate(p1 INT)\nBEGIN\n label1: LOOP\n SET p1 = p1 + 1;\n IF p1 < 10 THEN\n ITERATE label1;\n END IF;\n LEAVE label1;\n END LOOP label1;\n SET @x = p1;\nEND;\n','http://dev.mysql.com/doc/refman/5.5/en/loop.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (347,3,'TRUNCATE','Syntax:\nTRUNCATE(X,D)\n\nReturns the number X, truncated to D decimal places. If D is 0, the\nresult has no decimal point or fractional part. D can be negative to\ncause D digits left of the decimal point of the value X to become zero.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT TRUNCATE(1.223,1);\n -> 1.2\nmysql> SELECT TRUNCATE(1.999,1);\n -> 1.9\nmysql> SELECT TRUNCATE(1.999,0);\n -> 1\nmysql> SELECT TRUNCATE(-1.999,1);\n -> -1.9\nmysql> SELECT TRUNCATE(122,-2);\n -> 100\nmysql> SELECT TRUNCATE(10.28*100,0);\n -> 1028\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (348,32,'TIMESTAMPADD','Syntax:\nTIMESTAMPADD(unit,interval,datetime_expr)\n\nAdds the integer expression interval to the date or datetime expression\ndatetime_expr. The unit for interval is given by the unit argument,\nwhich should be one of the following values: MICROSECOND\n(microseconds), SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, or\nYEAR.\n\nIt is possible to use FRAC_SECOND in place of MICROSECOND, but\nFRAC_SECOND is deprecated. FRAC_SECOND was removed in MySQL 5.5.3.\n\nThe unit value may be specified using one of keywords as shown, or with\na prefix of SQL_TSI_. For example, DAY and SQL_TSI_DAY both are legal.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT TIMESTAMPADD(MINUTE,1,\'2003-01-02\');\n -> \'2003-01-02 00:01:00\'\nmysql> SELECT TIMESTAMPADD(WEEK,1,\'2003-01-02\');\n -> \'2003-01-09\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (349,27,'SHOW','SHOW has many forms that provide information about databases, tables,\ncolumns, or status information about the server. This section describes\nthose following:\n\nSHOW AUTHORS\nSHOW {BINARY | MASTER} LOGS\nSHOW BINLOG EVENTS [IN \'log_name\'] [FROM pos] [LIMIT [offset,] row_count]\nSHOW CHARACTER SET [like_or_where]\nSHOW COLLATION [like_or_where]\nSHOW [FULL] COLUMNS FROM tbl_name [FROM db_name] [like_or_where]\nSHOW CONTRIBUTORS\nSHOW CREATE DATABASE db_name\nSHOW CREATE EVENT event_name\nSHOW CREATE FUNCTION func_name\nSHOW CREATE PROCEDURE proc_name\nSHOW CREATE TABLE tbl_name\nSHOW CREATE TRIGGER trigger_name\nSHOW CREATE VIEW view_name\nSHOW DATABASES [like_or_where]\nSHOW ENGINE engine_name {STATUS | MUTEX}\nSHOW [STORAGE] ENGINES\nSHOW ERRORS [LIMIT [offset,] row_count]\nSHOW EVENTS\nSHOW FUNCTION CODE func_name\nSHOW FUNCTION STATUS [like_or_where]\nSHOW GRANTS FOR user\nSHOW INDEX FROM tbl_name [FROM db_name]\nSHOW MASTER STATUS\nSHOW OPEN TABLES [FROM db_name] [like_or_where]\nSHOW PLUGINS\nSHOW PROCEDURE CODE proc_name\nSHOW PROCEDURE STATUS [like_or_where]\nSHOW PRIVILEGES\nSHOW [FULL] PROCESSLIST\nSHOW PROFILE [types] [FOR QUERY n] [OFFSET n] [LIMIT n]\nSHOW PROFILES\nSHOW SLAVE HOSTS\nSHOW SLAVE STATUS\nSHOW [GLOBAL | SESSION] STATUS [like_or_where]\nSHOW TABLE STATUS [FROM db_name] [like_or_where]\nSHOW [FULL] TABLES [FROM db_name] [like_or_where]\nSHOW TRIGGERS [FROM db_name] [like_or_where]\nSHOW [GLOBAL | SESSION] VARIABLES [like_or_where]\nSHOW WARNINGS [LIMIT [offset,] row_count]\n\nlike_or_where:\n LIKE \'pattern\'\n | WHERE expr\n\nIf the syntax for a given SHOW statement includes a LIKE \'pattern\'\npart, \'pattern\' is a string that can contain the SQL "%" and "_"\nwildcard characters. The pattern is useful for restricting statement\noutput to matching values.\n\nSeveral SHOW statements also accept a WHERE clause that provides more\nflexibility in specifying which rows to display. See\nhttp://dev.mysql.com/doc/refman/5.5/en/extended-show.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (350,19,'GREATEST','Syntax:\nGREATEST(value1,value2,...)\n\nWith two or more arguments, returns the largest (maximum-valued)\nargument. The arguments are compared using the same rules as for\nLEAST().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT GREATEST(2,0);\n -> 2\nmysql> SELECT GREATEST(34.0,3.0,5.0,767.0);\n -> 767.0\nmysql> SELECT GREATEST(\'B\',\'A\',\'C\');\n -> \'C\'\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (351,27,'SHOW VARIABLES','Syntax:\nSHOW [GLOBAL | SESSION] VARIABLES\n [LIKE \'pattern\' | WHERE expr]\n\nSHOW VARIABLES shows the values of MySQL system variables. This\ninformation also can be obtained using the mysqladmin variables\ncommand. The LIKE clause, if present, indicates which variable names to\nmatch. The WHERE clause can be given to select rows using more general\nconditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.5/en/extended-show.html. This\nstatement does not require any privilege. It requires only the ability\nto connect to the server.\n\nWith the GLOBAL modifier, SHOW VARIABLES displays the values that are\nused for new connections to MySQL. As of MySQL 5.5.3, if a variable has\nno global value, no value is displayed. Before 5.5.3, the session value\nis displayed. With SESSION, SHOW VARIABLES displays the values that are\nin effect for the current connection. If no modifier is present, the\ndefault is SESSION. LOCAL is a synonym for SESSION.\nWith a LIKE clause, the statement displays only rows for those\nvariables with names that match the pattern. To obtain the row for a\nspecific variable, use a LIKE clause as shown:\n\nSHOW VARIABLES LIKE \'max_join_size\';\nSHOW SESSION VARIABLES LIKE \'max_join_size\';\n\nTo get a list of variables whose name match a pattern, use the "%"\nwildcard character in a LIKE clause:\n\nSHOW VARIABLES LIKE \'%size%\';\nSHOW GLOBAL VARIABLES LIKE \'%size%\';\n\nWildcard characters can be used in any position within the pattern to\nbe matched. Strictly speaking, because "_" is a wildcard that matches\nany single character, you should escape it as "\\_" to match it\nliterally. In practice, this is rarely necessary.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-variables.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-variables.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (352,27,'BINLOG','Syntax:\nBINLOG \'str\'\n\nBINLOG is an internal-use statement. It is generated by the mysqlbinlog\nprogram as the printable representation of certain events in binary log\nfiles. (See http://dev.mysql.com/doc/refman/5.5/en/mysqlbinlog.html.)\nThe \'str\' value is a base 64-encoded string the that server decodes to\ndetermine the data change indicated by the corresponding event. This\nstatement requires the SUPER privilege.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/binlog.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/binlog.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (353,16,'BIT_AND','Syntax:\nBIT_AND(expr)\n\nReturns the bitwise AND of all bits in expr. The calculation is\nperformed with 64-bit (BIGINT) precision.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (354,32,'SECOND','Syntax:\nSECOND(time)\n\nReturns the second for time, in the range 0 to 59.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT SECOND(\'10:05:03\');\n -> 3\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (355,3,'ATAN2','Syntax:\nATAN(Y,X), ATAN2(Y,X)\n\nReturns the arc tangent of the two variables X and Y. It is similar to\ncalculating the arc tangent of Y / X, except that the signs of both\narguments are used to determine the quadrant of the result.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT ATAN(-2,2);\n -> -0.78539816339745\nmysql> SELECT ATAN2(PI(),0);\n -> 1.5707963267949\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (356,7,'MBRCONTAINS','MBRContains(g1,g2)\n\nReturns 1 or 0 to indicate whether the minimum bounding rectangle of g1\ncontains the minimum bounding rectangle of g2. This tests the opposite\nrelationship as MBRWithin().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html\n\n','mysql> SET @g1 = GeomFromText(\'Polygon((0 0,0 3,3 3,3 0,0 0))\');\nmysql> SET @g2 = GeomFromText(\'Point(1 1)\');\nmysql> SELECT MBRContains(@g1,@g2), MBRWithin(@g2,@g1);\n+----------------------+--------------------+\n| MBRContains(@g1,@g2) | MBRWithin(@g2,@g1) |\n+----------------------+--------------------+\n| 1 | 1 |\n+----------------------+--------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (357,32,'HOUR','Syntax:\nHOUR(time)\n\nReturns the hour for time. The range of the return value is 0 to 23 for\ntime-of-day values. However, the range of TIME values actually is much\nlarger, so HOUR can return values greater than 23.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT HOUR(\'10:05:03\');\n -> 10\nmysql> SELECT HOUR(\'272:59:59\');\n -> 272\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (358,28,'SELECT','Syntax:\nSELECT\n [ALL | DISTINCT | DISTINCTROW ]\n [HIGH_PRIORITY]\n [STRAIGHT_JOIN]\n [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]\n [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]\n select_expr [, select_expr ...]\n [FROM table_references\n [WHERE where_condition]\n [GROUP BY {col_name | expr | position}\n [ASC | DESC], ... [WITH ROLLUP]]\n [HAVING where_condition]\n [ORDER BY {col_name | expr | position}\n [ASC | DESC], ...]\n [LIMIT {[offset,] row_count | row_count OFFSET offset}]\n [PROCEDURE procedure_name(argument_list)]\n [INTO OUTFILE \'file_name\'\n [CHARACTER SET charset_name]\n export_options\n | INTO DUMPFILE \'file_name\'\n | INTO var_name [, var_name]]\n [FOR UPDATE | LOCK IN SHARE MODE]]\n\nSELECT is used to retrieve rows selected from one or more tables, and\ncan include UNION statements and subqueries. See [HELP UNION], and\nhttp://dev.mysql.com/doc/refman/5.5/en/subqueries.html.\n\nThe most commonly used clauses of SELECT statements are these:\n\no Each select_expr indicates a column that you want to retrieve. There\n must be at least one select_expr.\n\no table_references indicates the table or tables from which to retrieve\n rows. Its syntax is described in [HELP JOIN].\n\no The WHERE clause, if given, indicates the condition or conditions\n that rows must satisfy to be selected. where_condition is an\n expression that evaluates to true for each row to be selected. The\n statement selects all rows if there is no WHERE clause.\n\n In the WHERE expression, you can use any of the functions and\n operators that MySQL supports, except for aggregate (summary)\n functions. See\n http://dev.mysql.com/doc/refman/5.5/en/expressions.html, and\n http://dev.mysql.com/doc/refman/5.5/en/functions.html.\n\nSELECT can also be used to retrieve rows computed without reference to\nany table.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/select.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/select.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (359,3,'COT','Syntax:\nCOT(X)\n\nReturns the cotangent of X.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT COT(12);\n -> -1.5726734063977\nmysql> SELECT COT(0);\n -> NULL\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (360,27,'SHOW CREATE EVENT','Syntax:\nSHOW CREATE EVENT event_name\n\nThis statement displays the CREATE EVENT statement needed to re-create\na given event. It requires the EVENT privilege for the database from\nwhich the event is to be shown. For example (using the same event\ne_daily defined and then altered in [HELP SHOW EVENTS]):\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-create-event.html\n\n','mysql> SHOW CREATE EVENT test.e_daily\\G\n*************************** 1. row ***************************\n Event: e_daily\n sql_mode:\n time_zone: SYSTEM\n Create Event: CREATE EVENT `e_daily`\n ON SCHEDULE EVERY 1 DAY\n STARTS CURRENT_TIMESTAMP + INTERVAL 6 HOUR\n ON COMPLETION NOT PRESERVE\n ENABLE\n COMMENT \'Saves total number of sessions then\n clears the table each day\'\n DO BEGIN\n INSERT INTO site_activity.totals (time, total)\n SELECT CURRENT_TIMESTAMP, COUNT(*)\n FROM site_activity.sessions;\n DELETE FROM site_activity.sessions;\n END\ncharacter_set_client: latin1\ncollation_connection: latin1_swedish_ci\n Database Collation: latin1_swedish_ci\n','http://dev.mysql.com/doc/refman/5.5/en/show-create-event.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (361,38,'LOAD_FILE','Syntax:\nLOAD_FILE(file_name)\n\nReads the file and returns the file contents as a string. To use this\nfunction, the file must be located on the server host, you must specify\nthe full path name to the file, and you must have the FILE privilege.\nThe file must be readable by all and its size less than\nmax_allowed_packet bytes. If the secure_file_priv system variable is\nset to a nonempty directory name, the file to be loaded must be located\nin that directory.\n\nIf the file does not exist or cannot be read because one of the\npreceding conditions is not satisfied, the function returns NULL.\n\nThe character_set_filesystem system variable controls interpretation of\nfile names that are given as literal strings.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> UPDATE t\n SET blob_col=LOAD_FILE(\'/tmp/picture\')\n WHERE id=1;\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (362,16,'GROUP_CONCAT','Syntax:\nGROUP_CONCAT(expr)\n\nThis function returns a string result with the concatenated non-NULL\nvalues from a group. It returns NULL if there are no non-NULL values.\nThe full syntax is as follows:\n\nGROUP_CONCAT([DISTINCT] expr [,expr ...]\n [ORDER BY {unsigned_integer | col_name | expr}\n [ASC | DESC] [,col_name ...]]\n [SEPARATOR str_val])\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','mysql> SELECT student_name,\n -> GROUP_CONCAT(test_score)\n -> FROM student\n -> GROUP BY student_name;\n','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (363,4,'POINTFROMTEXT','PointFromText(wkt[,srid])\n\nConstructs a Point value using its WKT representation and SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (364,32,'DATE_FORMAT','Syntax:\nDATE_FORMAT(date,format)\n\nFormats the date value according to the format string.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT DATE_FORMAT(\'2009-10-04 22:23:00\', \'%W %M %Y\');\n -> \'Sunday October 2009\'\nmysql> SELECT DATE_FORMAT(\'2007-10-04 22:23:00\', \'%H:%i:%s\');\n -> \'22:23:00\'\nmysql> SELECT DATE_FORMAT(\'1900-10-04 22:23:00\',\n -> \'%D %y %a %d %m %b %j\');\n -> \'4th 00 Thu 04 10 Oct 277\'\nmysql> SELECT DATE_FORMAT(\'1997-10-04 22:23:00\',\n -> \'%H %k %I %r %T %S %w\');\n -> \'22 22 10 10:23:00 PM 22:23:00 00 6\'\nmysql> SELECT DATE_FORMAT(\'1999-01-01\', \'%X %V\');\n -> \'1998 52\'\nmysql> SELECT DATE_FORMAT(\'2006-06-00\', \'%d\');\n -> \'00\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (365,17,'BENCHMARK','Syntax:\nBENCHMARK(count,expr)\n\nThe BENCHMARK() function executes the expression expr repeatedly count\ntimes. It may be used to time how quickly MySQL processes the\nexpression. The result value is always 0. The intended use is from\nwithin the mysql client, which reports query execution times:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','mysql> SELECT BENCHMARK(1000000,ENCODE(\'hello\',\'goodbye\'));\n+----------------------------------------------+\n| BENCHMARK(1000000,ENCODE(\'hello\',\'goodbye\')) |\n+----------------------------------------------+\n| 0 |\n+----------------------------------------------+\n1 row in set (4.74 sec)\n','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (366,32,'YEAR','Syntax:\nYEAR(date)\n\nReturns the year for date, in the range 1000 to 9999, or 0 for the\n"zero" date.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT YEAR(\'1987-01-01\');\n -> 1987\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (367,27,'SHOW ENGINE','Syntax:\nSHOW ENGINE engine_name {STATUS | MUTEX}\n\nSHOW ENGINE displays operational information about a storage engine. It\nrequires the PROCESS privilege. The statement has these variants:\n\nSHOW ENGINE INNODB STATUS\nSHOW ENGINE INNODB MUTEX\nSHOW ENGINE {NDB | NDBCLUSTER} STATUS\nSHOW ENGINE PERFORMANCE_SCHEMA STATUS\n\nSHOW ENGINE INNODB STATUS displays extensive information from the\nstandard InnoDB Monitor about the state of the InnoDB storage engine.\nFor information about the standard monitor and other InnoDB Monitors\nthat provide information about InnoDB processing, see\nhttp://dev.mysql.com/doc/refman/5.5/en/innodb-monitors.html.\n\nSHOW ENGINE INNODB MUTEX displays InnoDB mutex and rw-lock statistics.\nStatement output has the following columns:\n\no Type\n\n Always InnoDB.\n\no Name\n\n The source file where the mutex is implemented, and the line number\n in the file where the mutex is created. The line number is specific\n to your version of MySQL.\n\no Status\n\n The mutex status. This field displays several values if UNIV_DEBUG\n was defined at MySQL compilation time (for example, in include/univ.i\n in the InnoDB part of the MySQL source tree). If UNIV_DEBUG was not\n defined, the statement displays only the os_waits value. In the\n latter case (without UNIV_DEBUG), the information on which the output\n is based is insufficient to distinguish regular mutexes and mutexes\n that protect rw-locks (which permit multiple readers or a single\n writer). Consequently, the output may appear to contain multiple rows\n for the same mutex.\n\n o count indicates how many times the mutex was requested.\n\n o spin_waits indicates how many times the spinlock had to run.\n\n o spin_rounds indicates the number of spinlock rounds. (spin_rounds\n divided by spin_waits provides the average round count.)\n\n o os_waits indicates the number of operating system waits. This\n occurs when the spinlock did not work (the mutex was not locked\n during the spinlock and it was necessary to yield to the operating\n system and wait).\n\n o os_yields indicates the number of times a thread trying to lock a\n mutex gave up its timeslice and yielded to the operating system (on\n the presumption that permitting other threads to run will free the\n mutex so that it can be locked).\n\n o os_wait_times indicates the amount of time (in ms) spent in\n operating system waits. In MySQL 5.5 timing is disabled and this\n value is always 0.\n\nAs of MySQL 5.5, SHOW ENGINE INNODB MUTEX skips the mutexes and\nrw-locks of buffer pool blocks, as the amount of output can be\noverwhelming on systems with a large buffer pool. (There is one mutex\nand one rw-lock in each 16K buffer pool block, and there are 65,536\nblocks per gigabyte.) SHOW ENGINE INNODB MUTEX also does not list any\nmutexes or rw-locks that have never been waited on (os_waits=0). Thus,\nSHOW ENGINE INNODB MUTEX only displays information about mutexes and\nrw-locks outside of the buffer pool that have caused at least one\nOS-level wait.\n\nSHOW ENGINE INNODB MUTEX information can be used to diagnose system\nproblems. For example, large values of spin_waits and spin_rounds may\nindicate scalability problems.\n\nUse SHOW ENGINE PERFORMANCE_SCHEMA STATUS to inspect the internal\noperation of the Performance Schema code:\n\nmysql> SHOW ENGINE PERFORMANCE_SCHEMA STATUS\\G\n...\n*************************** 3. row ***************************\n Type: performance_schema\n Name: events_waits_history.row_size\nStatus: 76\n*************************** 4. row ***************************\n Type: performance_schema\n Name: events_waits_history.row_count\nStatus: 10000\n*************************** 5. row ***************************\n Type: performance_schema\n Name: events_waits_history.memory\nStatus: 760000\n...\n*************************** 57. row ***************************\n Type: performance_schema\n Name: performance_schema.memory\nStatus: 26459600\n...\n\nThis statement is intended to help the DBA understand the effects that\ndifferent Performance Schema options have on memory requirements.\n\nName values consist of two parts, which name an internal buffer and a\nbuffer attribute, respectively. Interpret buffer names as follows:\n\no An internal buffer that is not exposed as a table is named within\n parentheses. Examples: (pfs_cond_class).row_size,\n (pfs_mutex_class).memory.\n\no An internal buffer that is exposed as a table in the\n performance_schema database is named after the table, without\n parentheses. Examples: events_waits_history.row_size,\n mutex_instances.row_count.\n\no A value that applies to the Performance Schema as a whole begins with\n performance_schema. Example: performance_schema.memory.\n\nBuffer attributes have these meanings:\n\no row_size is the size of the internal record used by the\n implementation, such as the size of a row in a table. row_size values\n cannot be changed.\n\no row_count is the number of internal records, such as the number of\n rows in a table. row_count values can be changed using Performance\n Schema configuration options.\n\no For a table, tbl_name.memory is the product of row_size and\n row_count. For the Performance Schema as a whole,\n performance_schema.memory is the sum of all the memory used (the sum\n of all other memory values).\n\nIn some cases, there is a direct relationship between a Performance\nSchema configuration parameter and a SHOW ENGINE value. For example,\nevents_waits_history_long.row_count corresponds to\nperformance_schema_events_waits_history_long_size. In other cases, the\nrelationship is more complex. For example,\nevents_waits_history.row_count corresponds to\nperformance_schema_events_waits_history_size (the number of rows per\nthread) multiplied by performance_schema_max_thread_instances ( the\nnumber of threads).\n\nIf the server has the NDBCLUSTER storage engine enabled, SHOW ENGINE\nNDB STATUS displays cluster status information such as the number of\nconnected data nodes, the cluster connectstring, and cluster binlog\nepochs, as well as counts of various Cluster API objects created by the\nMySQL Server when connected to the cluster. Sample output from this\nstatement is shown here:\n\nmysql> SHOW ENGINE NDB STATUS;\n+------------+-----------------------+--------------------------------------------------+\n| Type | Name | Status |\n+------------+-----------------------+--------------------------------------------------+\n| ndbcluster | connection | cluster_node_id=7,\n connected_host=192.168.0.103, connected_port=1186, number_of_data_nodes=4,\n number_of_ready_data_nodes=3, connect_count=0 |\n| ndbcluster | NdbTransaction | created=6, free=0, sizeof=212 |\n| ndbcluster | NdbOperation | created=8, free=8, sizeof=660 |\n| ndbcluster | NdbIndexScanOperation | created=1, free=1, sizeof=744 |\n| ndbcluster | NdbIndexOperation | created=0, free=0, sizeof=664 |\n| ndbcluster | NdbRecAttr | created=1285, free=1285, sizeof=60 |\n| ndbcluster | NdbApiSignal | created=16, free=16, sizeof=136 |\n| ndbcluster | NdbLabel | created=0, free=0, sizeof=196 |\n| ndbcluster | NdbBranch | created=0, free=0, sizeof=24 |\n| ndbcluster | NdbSubroutine | created=0, free=0, sizeof=68 |\n| ndbcluster | NdbCall | created=0, free=0, sizeof=16 |\n| ndbcluster | NdbBlob | created=1, free=1, sizeof=264 |\n| ndbcluster | NdbReceiver | created=4, free=0, sizeof=68 |\n| ndbcluster | binlog | latest_epoch=155467, latest_trans_epoch=148126,\n latest_received_binlog_epoch=0, latest_handled_binlog_epoch=0,\n latest_applied_binlog_epoch=0 |\n+------------+-----------------------+--------------------------------------------------+\n\nThe rows with connection and binlog in the Name column were added to\nthe output of this statement in MySQL 5.1. The Status column in each of\nthese rows provides information about the MySQL server\'s connection to\nthe cluster and about the cluster binary log\'s status, respectively.\nThe Status information is in the form of comma-delimited set of\nname/value pairs.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-engine.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-engine.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (368,14,'NAME_CONST','Syntax:\nNAME_CONST(name,value)\n\nReturns the given value. When used to produce a result set column,\nNAME_CONST() causes the column to have the given name. The arguments\nshould be constants.\n\nmysql> SELECT NAME_CONST(\'myname\', 14);\n+--------+\n| myname |\n+--------+\n| 14 |\n+--------+\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (369,14,'RELEASE_LOCK','Syntax:\nRELEASE_LOCK(str)\n\nReleases the lock named by the string str that was obtained with\nGET_LOCK(). Returns 1 if the lock was released, 0 if the lock was not\nestablished by this thread (in which case the lock is not released),\nand NULL if the named lock did not exist. The lock does not exist if it\nwas never obtained by a call to GET_LOCK() or if it has previously been\nreleased.\n\nThe DO statement is convenient to use with RELEASE_LOCK(). See [HELP\nDO].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (370,19,'IS NULL','Syntax:\nIS NULL\n\nTests whether a value is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT 1 IS NULL, 0 IS NULL, NULL IS NULL;\n -> 0, 0, 1\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (371,32,'CONVERT_TZ','Syntax:\nCONVERT_TZ(dt,from_tz,to_tz)\n\nCONVERT_TZ() converts a datetime value dt from the time zone given by\nfrom_tz to the time zone given by to_tz and returns the resulting\nvalue. Time zones are specified as described in\nhttp://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html. This\nfunction returns NULL if the arguments are invalid.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT CONVERT_TZ(\'2004-01-01 12:00:00\',\'GMT\',\'MET\');\n -> \'2004-01-01 13:00:00\'\nmysql> SELECT CONVERT_TZ(\'2004-01-01 12:00:00\',\'+00:00\',\'+10:00\');\n -> \'2004-01-01 22:00:00\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (372,32,'TIME_TO_SEC','Syntax:\nTIME_TO_SEC(time)\n\nReturns the time argument, converted to seconds.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT TIME_TO_SEC(\'22:23:00\');\n -> 80580\nmysql> SELECT TIME_TO_SEC(\'00:39:38\');\n -> 2378\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (373,32,'WEEKDAY','Syntax:\nWEEKDAY(date)\n\nReturns the weekday index for date (0 = Monday, 1 = Tuesday, ... 6 =\nSunday).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT WEEKDAY(\'2008-02-03 22:23:00\');\n -> 6\nmysql> SELECT WEEKDAY(\'2007-11-06\');\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (374,38,'EXPORT_SET','Syntax:\nEXPORT_SET(bits,on,off[,separator[,number_of_bits]])\n\nReturns a string such that for every bit set in the value bits, you get\nan on string and for every bit not set in the value, you get an off\nstring. Bits in bits are examined from right to left (from low-order to\nhigh-order bits). Strings are added to the result from left to right,\nseparated by the separator string (the default being the comma\ncharacter ","). The number of bits examined is given by number_of_bits,\nwhich has a default of 64 if not specified. number_of_bits is silently\nclipped to 64 if larger than 64. It is treated as an unsigned integer,\nso a value of -1 is effectively the same as 64.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT EXPORT_SET(5,\'Y\',\'N\',\',\',4);\n -> \'Y,N,Y,N\'\nmysql> SELECT EXPORT_SET(6,\'1\',\'0\',\',\',10);\n -> \'0,1,1,0,0,0,0,0,0,0\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (375,40,'ALTER SERVER','Syntax:\nALTER SERVER server_name\n OPTIONS (option [, option] ...)\n\nAlters the server information for server_name, adjusting any of the\noptions permitted in the CREATE SERVER statement. The corresponding\nfields in the mysql.servers table are updated accordingly. This\nstatement requires the SUPER privilege.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/alter-server.html\n\n','ALTER SERVER s OPTIONS (USER \'sally\');\n','http://dev.mysql.com/doc/refman/5.5/en/alter-server.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (376,24,'RESIGNAL','Syntax:\nRESIGNAL [condition_value]\n [SET signal_information_item\n [, signal_information_item] ...]\n\ncondition_value:\n SQLSTATE [VALUE] sqlstate_value\n | condition_name\n\nsignal_information_item:\n condition_information_item_name = simple_value_specification\n\ncondition_information_item_name:\n CLASS_ORIGIN\n | SUBCLASS_ORIGIN\n | MESSAGE_TEXT\n | MYSQL_ERRNO\n | CONSTRAINT_CATALOG\n | CONSTRAINT_SCHEMA\n | CONSTRAINT_NAME\n | CATALOG_NAME\n | SCHEMA_NAME\n | TABLE_NAME\n | COLUMN_NAME\n | CURSOR_NAME\n\ncondition_name, simple_value_specification:\n (see following discussion)\n\nRESIGNAL passes on the error condition information that is available\nduring execution of a condition handler within a compound statement\ninside a stored procedure or function, trigger, or event. RESIGNAL may\nchange some or all information before passing it on. RESIGNAL is\nrelated to SIGNAL, but instead of originating a condition as SIGNAL\ndoes, RESIGNAL relays existing condition information, possibly after\nmodifying it.\n\nRESIGNAL makes it possible to both handle an error and return the error\ninformation. Otherwise, by executing an SQL statement within the\nhandler, information that caused the handler\'s activation is destroyed.\nRESIGNAL also can make some procedures shorter if a given handler can\nhandle part of a situation, then pass the condition "up the line" to\nanother handler.\n\nNo special privileges are required to execute the RESIGNAL statement.\n\nAll forms of RESIGNAL require that the current context be a condition\nhandler. Otherwise, RESIGNAL is illegal and a RESIGNAL when handler not\nactive error occurs.\n\nFor condition_value and signal_information_item, the definitions and\nrules are the same for RESIGNAL as for SIGNAL. For example, the\ncondition_value can be an SQLSTATE value, and the value can indicate\nerrors, warnings, or "not found." For additional information, see [HELP\nSIGNAL].\n\nThe RESIGNAL statement takes condition_value and SET clauses, both of\nwhich are optional. This leads to several possible uses:\n\no RESIGNAL alone:\n\nRESIGNAL;\n\no RESIGNAL with new signal information:\n\nRESIGNAL SET signal_information_item [, signal_information_item] ...;\n\no RESIGNAL with a condition value and possibly new signal information:\n\nRESIGNAL condition_value\n [SET signal_information_item [, signal_information_item] ...];\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/resignal.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/resignal.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (377,32,'TIME FUNCTION','Syntax:\nTIME(expr)\n\nExtracts the time part of the time or datetime expression expr and\nreturns it as a string.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT TIME(\'2003-12-31 01:02:03\');\n -> \'01:02:03\'\nmysql> SELECT TIME(\'2003-12-31 01:02:03.000123\');\n -> \'01:02:03.000123\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (378,32,'DATE_ADD','Syntax:\nDATE_ADD(date,INTERVAL expr unit), DATE_SUB(date,INTERVAL expr unit)\n\nThese functions perform date arithmetic. The date argument specifies\nthe starting date or datetime value. expr is an expression specifying\nthe interval value to be added or subtracted from the starting date.\nexpr is a string; it may start with a "-" for negative intervals. unit\nis a keyword indicating the units in which the expression should be\ninterpreted.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT \'2008-12-31 23:59:59\' + INTERVAL 1 SECOND;\n -> \'2009-01-01 00:00:00\'\nmysql> SELECT INTERVAL 1 DAY + \'2008-12-31\';\n -> \'2009-01-01\'\nmysql> SELECT \'2005-01-01\' - INTERVAL 1 SECOND;\n -> \'2004-12-31 23:59:59\'\nmysql> SELECT DATE_ADD(\'2000-12-31 23:59:59\',\n -> INTERVAL 1 SECOND);\n -> \'2001-01-01 00:00:00\'\nmysql> SELECT DATE_ADD(\'2010-12-31 23:59:59\',\n -> INTERVAL 1 DAY);\n -> \'2011-01-01 23:59:59\'\nmysql> SELECT DATE_ADD(\'2100-12-31 23:59:59\',\n -> INTERVAL \'1:1\' MINUTE_SECOND);\n -> \'2101-01-01 00:01:00\'\nmysql> SELECT DATE_SUB(\'2005-01-01 00:00:00\',\n -> INTERVAL \'1 1:1:1\' DAY_SECOND);\n -> \'2004-12-30 22:58:59\'\nmysql> SELECT DATE_ADD(\'1900-01-01 00:00:00\',\n -> INTERVAL \'-1 10\' DAY_HOUR);\n -> \'1899-12-30 14:00:00\'\nmysql> SELECT DATE_SUB(\'1998-01-02\', INTERVAL 31 DAY);\n -> \'1997-12-02\'\nmysql> SELECT DATE_ADD(\'1992-12-31 23:59:59.000002\',\n -> INTERVAL \'1.999999\' SECOND_MICROSECOND);\n -> \'1993-01-01 00:00:01.000001\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (379,38,'CAST','Syntax:\nCAST(expr AS type)\n\nThe CAST() function takes an expression of any type and produces a\nresult value of a specified type, similar to CONVERT(). See the\ndescription of CONVERT() for more information.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/cast-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/cast-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (380,38,'SOUNDS LIKE','Syntax:\nexpr1 SOUNDS LIKE expr2\n\nThis is the same as SOUNDEX(expr1) = SOUNDEX(expr2).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (381,32,'PERIOD_DIFF','Syntax:\nPERIOD_DIFF(P1,P2)\n\nReturns the number of months between periods P1 and P2. P1 and P2\nshould be in the format YYMM or YYYYMM. Note that the period arguments\nP1 and P2 are not date values.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT PERIOD_DIFF(200802,200703);\n -> 11\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (382,38,'LIKE','Syntax:\nexpr LIKE pat [ESCAPE \'escape_char\']\n\nPattern matching using SQL simple regular expression comparison.\nReturns 1 (TRUE) or 0 (FALSE). If either expr or pat is NULL, the\nresult is NULL.\n\nThe pattern need not be a literal string. For example, it can be\nspecified as a string expression or table column.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-comparison-functions.html\n\n','mysql> SELECT \'David!\' LIKE \'David_\';\n -> 1\nmysql> SELECT \'David!\' LIKE \'%D%v%\';\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/string-comparison-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (383,25,'MULTIPOINT','MultiPoint(pt1,pt2,...)\n\nConstructs a MultiPoint value using Point or WKB Point arguments.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (384,20,'>>','Syntax:\n>>\n\nShifts a longlong (BIGINT) number to the right.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html\n\n','mysql> SELECT 4 >> 2;\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (385,24,'FETCH','Syntax:\nFETCH [[NEXT] FROM] cursor_name INTO var_name [, var_name] ...\n\nThis statement fetches the next row for the SELECT statement associated\nwith the specified cursor (which must be open), and advances the cursor\npointer. If a row exists, the fetched columns are stored in the named\nvariables. The number of columns retrieved by the SELECT statement must\nmatch the number of output variables specified in the FETCH statement.\n\nIf no more rows are available, a No Data condition occurs with SQLSTATE\nvalue \'02000\'. To detect this condition, you can set up a handler for\nit (or for a NOT FOUND condition). For an example, see\nhttp://dev.mysql.com/doc/refman/5.5/en/cursors.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/fetch.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/fetch.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (386,16,'AVG','Syntax:\nAVG([DISTINCT] expr)\n\nReturns the average value of expr. The DISTINCT option can be used to\nreturn the average of the distinct values of expr.\n\nAVG() returns NULL if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','mysql> SELECT student_name, AVG(test_score)\n -> FROM student\n -> GROUP BY student_name;\n','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (387,30,'TRUE FALSE','The constants TRUE and FALSE evaluate to 1 and 0, respectively. The\nconstant names can be written in any lettercase.\n\nmysql> SELECT TRUE, true, FALSE, false;\n -> 1, 1, 0, 0\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/boolean-literals.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/boolean-literals.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (388,7,'MBRWITHIN','MBRWithin(g1,g2)\n\nReturns 1 or 0 to indicate whether the minimum bounding rectangle of g1\nis within the minimum bounding rectangle of g2. This tests the opposite\nrelationship as MBRContains().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html\n\n','mysql> SET @g1 = GeomFromText(\'Polygon((0 0,0 3,3 3,3 0,0 0))\');\nmysql> SET @g2 = GeomFromText(\'Polygon((0 0,0 5,5 5,5 0,0 0))\');\nmysql> SELECT MBRWithin(@g1,@g2), MBRWithin(@g2,@g1);\n+--------------------+--------------------+\n| MBRWithin(@g1,@g2) | MBRWithin(@g2,@g1) |\n+--------------------+--------------------+\n| 1 | 0 |\n+--------------------+--------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (389,17,'SESSION_USER','Syntax:\nSESSION_USER()\n\nSESSION_USER() is a synonym for USER().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (390,19,'IN','Syntax:\nexpr IN (value,...)\n\nReturns 1 if expr is equal to any of the values in the IN list, else\nreturns 0. If all values are constants, they are evaluated according to\nthe type of expr and sorted. The search for the item then is done using\na binary search. This means IN is very quick if the IN value list\nconsists entirely of constants. Otherwise, type conversion takes place\naccording to the rules described in\nhttp://dev.mysql.com/doc/refman/5.5/en/type-conversion.html, but\napplied to all the arguments.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT 2 IN (0,3,5,7);\n -> 0\nmysql> SELECT \'wefwf\' IN (\'wee\',\'wefwf\',\'weg\');\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (391,38,'QUOTE','Syntax:\nQUOTE(str)\n\nQuotes a string to produce a result that can be used as a properly\nescaped data value in an SQL statement. The string is returned enclosed\nby single quotation marks and with each instance of backslash ("\\"),\nsingle quote ("\'"), ASCII NUL, and Control+Z preceded by a backslash.\nIf the argument is NULL, the return value is the word "NULL" without\nenclosing single quotation marks.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT QUOTE(\'Don\\\'t!\');\n -> \'Don\\\'t!\'\nmysql> SELECT QUOTE(NULL);\n -> NULL\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (392,27,'HELP COMMAND','Syntax:\nmysql> help search_string\n\nIf you provide an argument to the help command, mysql uses it as a\nsearch string to access server-side help from the contents of the MySQL\nReference Manual. The proper operation of this command requires that\nthe help tables in the mysql database be initialized with help topic\ninformation (see\nhttp://dev.mysql.com/doc/refman/5.5/en/server-side-help-support.html).\n\nIf there is no match for the search string, the search fails:\n\nmysql> help me\n\nNothing found\nPlease try to run \'help contents\' for a list of all accessible topics\n\nUse help contents to see a list of the help categories:\n\nmysql> help contents\nYou asked for help about help category: "Contents"\nFor more information, type \'help \', where is one of the\nfollowing categories:\n Account Management\n Administration\n Data Definition\n Data Manipulation\n Data Types\n Functions\n Functions and Modifiers for Use with GROUP BY\n Geographic Features\n Language Structure\n Plugins\n Storage Engines\n Stored Routines\n Table Maintenance\n Transactions\n Triggers\n\nIf the search string matches multiple items, mysql shows a list of\nmatching topics:\n\nmysql> help logs\nMany help items for your request exist.\nTo make a more specific request, please type \'help \',\nwhere is one of the following topics:\n SHOW\n SHOW BINARY LOGS\n SHOW ENGINE\n SHOW LOGS\n\nUse a topic as the search string to see the help entry for that topic:\n\nmysql> help show binary logs\nName: \'SHOW BINARY LOGS\'\nDescription:\nSyntax:\nSHOW BINARY LOGS\nSHOW MASTER LOGS\n\nLists the binary log files on the server. This statement is used as\npart of the procedure described in [purge-binary-logs], that shows how\nto determine which logs can be purged.\n\nmysql> SHOW BINARY LOGS;\n+---------------+-----------+\n| Log_name | File_size |\n+---------------+-----------+\n| binlog.000015 | 724935 |\n| binlog.000016 | 733481 |\n+---------------+-----------+\n\nThe search string can contain the wildcard characters "%" and "_".\nThese have the same meaning as for pattern-matching operations\nperformed with the LIKE operator. For example, HELP rep% returns a list\nof topics that begin with rep:\n\nmysql> HELP rep%\nMany help items for your request exist.\nTo make a more specific request, please type \'help \',\nwhere is one of the following\ntopics:\n REPAIR TABLE\n REPEAT FUNCTION\n REPEAT LOOP\n REPLACE\n REPLACE FUNCTION\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mysql-server-side-help.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/mysql-server-side-help.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (393,32,'QUARTER','Syntax:\nQUARTER(date)\n\nReturns the quarter of the year for date, in the range 1 to 4.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT QUARTER(\'2008-04-01\');\n -> 2\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (394,38,'POSITION','Syntax:\nPOSITION(substr IN str)\n\nPOSITION(substr IN str) is a synonym for LOCATE(substr,str).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (395,27,'SHOW CREATE FUNCTION','Syntax:\nSHOW CREATE FUNCTION func_name\n\nThis statement is similar to SHOW CREATE PROCEDURE but for stored\nfunctions. See [HELP SHOW CREATE PROCEDURE].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-create-function.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-create-function.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (396,14,'IS_USED_LOCK','Syntax:\nIS_USED_LOCK(str)\n\nChecks whether the lock named str is in use (that is, locked). If so,\nit returns the connection identifier of the client that holds the lock.\nOtherwise, it returns NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (397,4,'POLYFROMTEXT','PolyFromText(wkt[,srid]), PolygonFromText(wkt[,srid])\n\nConstructs a Polygon value using its WKT representation and SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (398,12,'DES_ENCRYPT','Syntax:\nDES_ENCRYPT(str[,{key_num|key_str}])\n\nEncrypts the string with the given key using the Triple-DES algorithm.\n\nThis function works only if MySQL has been configured with SSL support.\nSee http://dev.mysql.com/doc/refman/5.5/en/ssl-connections.html.\n\nThe encryption key to use is chosen based on the second argument to\nDES_ENCRYPT(), if one was given. With no argument, the first key from\nthe DES key file is used. With a key_num argument, the given key number\n(0 to 9) from the DES key file is used. With a key_str argument, the\ngiven key string is used to encrypt str.\n\nThe key file can be specified with the --des-key-file server option.\n\nThe return string is a binary string where the first character is\nCHAR(128 | key_num). If an error occurs, DES_ENCRYPT() returns NULL.\n\nThe 128 is added to make it easier to recognize an encrypted key. If\nyou use a string key, key_num is 127.\n\nThe string length for the result is given by this formula:\n\nnew_len = orig_len + (8 - (orig_len % 8)) + 1\n\nEach line in the DES key file has the following format:\n\nkey_num des_key_str\n\nEach key_num value must be a number in the range from 0 to 9. Lines in\nthe file may be in any order. des_key_str is the string that is used to\nencrypt the message. There should be at least one space between the\nnumber and the key. The first key is the default key that is used if\nyou do not specify any key argument to DES_ENCRYPT().\n\nYou can tell MySQL to read new key values from the key file with the\nFLUSH DES_KEY_FILE statement. This requires the RELOAD privilege.\n\nOne benefit of having a set of default keys is that it gives\napplications a way to check for the existence of encrypted column\nvalues, without giving the end user the right to decrypt those values.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','mysql> SELECT customer_address FROM customer_table \n > WHERE crypted_credit_card = DES_ENCRYPT(\'credit_card_number\');\n','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (399,3,'CEIL','Syntax:\nCEIL(X)\n\nCEIL() is a synonym for CEILING().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (400,38,'LENGTH','Syntax:\nLENGTH(str)\n\nReturns the length of the string str, measured in bytes. A multibyte\ncharacter counts as multiple bytes. This means that for a string\ncontaining five 2-byte characters, LENGTH() returns 10, whereas\nCHAR_LENGTH() returns 5.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT LENGTH(\'text\');\n -> 4\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (401,32,'STR_TO_DATE','Syntax:\nSTR_TO_DATE(str,format)\n\nThis is the inverse of the DATE_FORMAT() function. It takes a string\nstr and a format string format. STR_TO_DATE() returns a DATETIME value\nif the format string contains both date and time parts, or a DATE or\nTIME value if the string contains only date or time parts. If the date,\ntime, or datetime value extracted from str is illegal, STR_TO_DATE()\nreturns NULL and produces a warning.\n\nThe server scans str attempting to match format to it. The format\nstring can contain literal characters and format specifiers beginning\nwith %. Literal characters in format must match literally in str.\nFormat specifiers in format must match a date or time part in str. For\nthe specifiers that can be used in format, see the DATE_FORMAT()\nfunction description.\n\nmysql> SELECT STR_TO_DATE(\'01,5,2013\',\'%d,%m,%Y\');\n -> \'2013-05-01\'\nmysql> SELECT STR_TO_DATE(\'May 1, 2013\',\'%M %d,%Y\');\n -> \'2013-05-01\'\n\nScanning starts at the beginning of str and fails if format is found\nnot to match. Extra characters at the end of str are ignored.\n\nmysql> SELECT STR_TO_DATE(\'a09:30:17\',\'a%h:%i:%s\');\n -> \'09:30:17\'\nmysql> SELECT STR_TO_DATE(\'a09:30:17\',\'%h:%i:%s\');\n -> NULL\nmysql> SELECT STR_TO_DATE(\'09:30:17a\',\'%h:%i:%s\');\n -> \'09:30:17\'\n\nUnspecified date or time parts have a value of 0, so incompletely\nspecified values in str produce a result with some or all parts set to\n0:\n\nmysql> SELECT STR_TO_DATE(\'abc\',\'abc\');\n -> \'0000-00-00\'\nmysql> SELECT STR_TO_DATE(\'9\',\'%m\');\n -> \'0000-09-00\'\nmysql> SELECT STR_TO_DATE(\'9\',\'%s\');\n -> \'00:00:09\'\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (402,11,'Y','Y(p)\n\nReturns the Y-coordinate value for the Point object p as a\ndouble-precision number.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-point-property-functions.html\n\n','mysql> SELECT Y(POINT(56.7, 53.34));\n+-----------------------+\n| Y(POINT(56.7, 53.34)) |\n+-----------------------+\n| 53.34 |\n+-----------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-point-property-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (403,21,'CHECKSUM TABLE','Syntax:\nCHECKSUM TABLE tbl_name [, tbl_name] ... [ QUICK | EXTENDED ]\n\nCHECKSUM TABLE reports a table checksum. This statement requires the\nSELECT privilege for the table.\n\nWith QUICK, the live table checksum is reported if it is available, or\nNULL otherwise. This is very fast. A live checksum is enabled by\nspecifying the CHECKSUM=1 table option when you create the table;\ncurrently, this is supported only for MyISAM tables. See [HELP CREATE\nTABLE].\n\nWith EXTENDED, the entire table is read row by row and the checksum is\ncalculated. This can be very slow for large tables.\n\nIf neither QUICK nor EXTENDED is specified, MySQL returns a live\nchecksum if the table storage engine supports it and scans the table\notherwise.\n\nFor a nonexistent table, CHECKSUM TABLE returns NULL and generates a\nwarning.\n\nIn MySQL 5.5, CHECKSUM TABLE returns 0 for partitioned tables unless\nyou include the EXTENDED option. This issue is resolved in MySQL 5.6.\n(Bug #11933226, Bug #60681)\n\nThe checksum value depends on the table row format. If the row format\nchanges, the checksum also changes. For example, the storage format for\nVARCHAR changed between MySQL 4.1 and 5.0, so if a 4.1 table is\nupgraded to MySQL 5.0, the checksum value may change.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/checksum-table.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/checksum-table.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (404,2,'NUMINTERIORRINGS','NumInteriorRings(poly)\n\nReturns the number of interior rings in the Polygon value poly.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-polygon-property-functions.html\n\n','mysql> SET @poly =\n -> \'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))\';\nmysql> SELECT NumInteriorRings(GeomFromText(@poly));\n+---------------------------------------+\n| NumInteriorRings(GeomFromText(@poly)) |\n+---------------------------------------+\n| 1 |\n+---------------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-polygon-property-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (405,2,'INTERIORRINGN','InteriorRingN(poly,N)\n\nReturns the N-th interior ring for the Polygon value poly as a\nLineString. Rings are numbered beginning with 1.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-polygon-property-functions.html\n\n','mysql> SET @poly =\n -> \'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))\';\nmysql> SELECT AsText(InteriorRingN(GeomFromText(@poly),1));\n+----------------------------------------------+\n| AsText(InteriorRingN(GeomFromText(@poly),1)) |\n+----------------------------------------------+\n| LINESTRING(1 1,1 2,2 2,2 1,1 1) |\n+----------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-polygon-property-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (406,32,'UTC_TIME','Syntax:\nUTC_TIME, UTC_TIME()\n\nReturns the current UTC time as a value in \'HH:MM:SS\' or HHMMSS.uuuuuu\nformat, depending on whether the function is used in a string or\nnumeric context.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT UTC_TIME(), UTC_TIME() + 0;\n -> \'18:07:53\', 180753.000000\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (407,40,'DROP FUNCTION','The DROP FUNCTION statement is used to drop stored functions and\nuser-defined functions (UDFs):\n\no For information about dropping stored functions, see [HELP DROP\n PROCEDURE].\n\no For information about dropping user-defined functions, see [HELP DROP\n FUNCTION UDF].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/drop-function.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/drop-function.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (408,40,'ALTER EVENT','Syntax:\nALTER\n [DEFINER = { user | CURRENT_USER }]\n EVENT event_name\n [ON SCHEDULE schedule]\n [ON COMPLETION [NOT] PRESERVE]\n [RENAME TO new_event_name]\n [ENABLE | DISABLE | DISABLE ON SLAVE]\n [COMMENT \'comment\']\n [DO event_body]\n\nThe ALTER EVENT statement changes one or more of the characteristics of\nan existing event without the need to drop and recreate it. The syntax\nfor each of the DEFINER, ON SCHEDULE, ON COMPLETION, COMMENT, ENABLE /\nDISABLE, and DO clauses is exactly the same as when used with CREATE\nEVENT. (See [HELP CREATE EVENT].)\n\nAny user can alter an event defined on a database for which that user\nhas the EVENT privilege. When a user executes a successful ALTER EVENT\nstatement, that user becomes the definer for the affected event.\n\nALTER EVENT works only with an existing event:\n\nmysql> ALTER EVENT no_such_event \n > ON SCHEDULE \n > EVERY \'2:3\' DAY_HOUR;\nERROR 1517 (HY000): Unknown event \'no_such_event\'\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/alter-event.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/alter-event.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (409,16,'STDDEV','Syntax:\nSTDDEV(expr)\n\nReturns the population standard deviation of expr. This function is\nprovided for compatibility with Oracle. The standard SQL function\nSTDDEV_POP() can be used instead.\n\nThis function returns NULL if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (410,32,'DATE_SUB','Syntax:\nDATE_SUB(date,INTERVAL expr unit)\n\nSee the description for DATE_ADD().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (411,32,'PERIOD_ADD','Syntax:\nPERIOD_ADD(P,N)\n\nAdds N months to period P (in the format YYMM or YYYYMM). Returns a\nvalue in the format YYYYMM. Note that the period argument P is not a\ndate value.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT PERIOD_ADD(200801,2);\n -> 200803\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (412,20,'|','Syntax:\n|\n\nBitwise OR:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html\n\n','mysql> SELECT 29 | 15;\n -> 31\n','http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (413,14,'UUID_SHORT','Syntax:\nUUID_SHORT()\n\nReturns a "short" universal identifier as a 64-bit unsigned integer\n(rather than a string-form 128-bit identifier as returned by the UUID()\nfunction).\n\nThe value of UUID_SHORT() is guaranteed to be unique if the following\nconditions hold:\n\no The server_id of the current host is unique among your set of master\n and slave servers\n\no server_id is between 0 and 255\n\no You do not set back your system time for your server between mysqld\n restarts\n\no You do not invoke UUID_SHORT() on average more than 16 million times\n per second between mysqld restarts\n\nThe UUID_SHORT() return value is constructed this way:\n\n (server_id & 255) << 56\n+ (server_startup_time_in_seconds << 24)\n+ incremented_variable++;\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html\n\n','mysql> SELECT UUID_SHORT();\n -> 92395783831158784\n','http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (414,4,'GEOMFROMTEXT','GeomFromText(wkt[,srid]), GeometryFromText(wkt[,srid])\n\nConstructs a geometry value of any type using its WKT representation\nand SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (415,38,'RIGHT','Syntax:\nRIGHT(str,len)\n\nReturns the rightmost len characters from the string str, or NULL if\nany argument is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT RIGHT(\'foobarbar\', 4);\n -> \'rbar\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (416,32,'DATEDIFF','Syntax:\nDATEDIFF(expr1,expr2)\n\nDATEDIFF() returns expr1 - expr2 expressed as a value in days from one\ndate to the other. expr1 and expr2 are date or date-and-time\nexpressions. Only the date parts of the values are used in the\ncalculation.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT DATEDIFF(\'2007-12-31 23:59:59\',\'2007-12-30\');\n -> 1\nmysql> SELECT DATEDIFF(\'2010-11-30 23:59:59\',\'2010-12-31\');\n -> -31\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (417,40,'DROP TABLESPACE','Syntax:\nDROP TABLESPACE tablespace_name\n ENGINE [=] engine_name\n\nThis statement drops a tablespace that was previously created using\nCREATE TABLESPACE (see [HELP CREATE TABLESPACE]).\n\n*Important*: The tablespace to be dropped must not contain any data\nfiles; in other words, before you can drop a tablespace, you must first\ndrop each of its data files using ALTER TABLESPACE ... DROP DATAFILE\n(see [HELP ALTER TABLESPACE]).\n\nThe ENGINE clause (required) specifies the storage engine used by the\ntablespace. Currently, the only accepted values for engine_name are NDB\nand NDBCLUSTER.\n\nDROP TABLESPACE is useful only with Disk Data storage for MySQL\nCluster. See\nhttp://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-disk-data.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/drop-tablespace.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/drop-tablespace.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (418,40,'DROP PROCEDURE','Syntax:\nDROP {PROCEDURE | FUNCTION} [IF EXISTS] sp_name\n\nThis statement is used to drop a stored procedure or function. That is,\nthe specified routine is removed from the server. You must have the\nALTER ROUTINE privilege for the routine. (If the\nautomatic_sp_privileges system variable is enabled, that privilege and\nEXECUTE are granted automatically to the routine creator when the\nroutine is created and dropped from the creator when the routine is\ndropped. See\nhttp://dev.mysql.com/doc/refman/5.5/en/stored-routines-privileges.html.\n)\n\nThe IF EXISTS clause is a MySQL extension. It prevents an error from\noccurring if the procedure or function does not exist. A warning is\nproduced that can be viewed with SHOW WARNINGS.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/drop-procedure.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/drop-procedure.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (419,21,'CHECK TABLE','Syntax:\nCHECK TABLE tbl_name [, tbl_name] ... [option] ...\n\noption = {FOR UPGRADE | QUICK | FAST | MEDIUM | EXTENDED | CHANGED}\n\nCHECK TABLE checks a table or tables for errors. CHECK TABLE works for\nInnoDB, MyISAM, ARCHIVE, and CSV tables. For MyISAM tables, the key\nstatistics are updated as well.\n\nTo check a table, you must have some privilege for it.\n\nCHECK TABLE can also check views for problems, such as tables that are\nreferenced in the view definition that no longer exist.\n\nCHECK TABLE is supported for partitioned tables, and you can use ALTER\nTABLE ... CHECK PARTITION to check one or more partitions; for more\ninformation, see [HELP ALTER TABLE], and\nhttp://dev.mysql.com/doc/refman/5.5/en/partitioning-maintenance.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/check-table.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/check-table.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (420,38,'BIN','Syntax:\nBIN(N)\n\nReturns a string representation of the binary value of N, where N is a\nlonglong (BIGINT) number. This is equivalent to CONV(N,10,2). Returns\nNULL if N is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT BIN(12);\n -> \'1100\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (421,5,'INSTALL PLUGIN','Syntax:\nINSTALL PLUGIN plugin_name SONAME \'shared_library_name\'\n\nThis statement installs a server plugin. It requires the INSERT\nprivilege for the mysql.plugin table.\n\nplugin_name is the name of the plugin as defined in the plugin\ndescriptor structure contained in the library file (see\nhttp://dev.mysql.com/doc/refman/5.5/en/plugin-data-structures.html).\nPlugin names are not case sensitive. For maximal compatibility, plugin\nnames should be limited to ASCII letters, digits, and underscore\nbecause they are used in C source files, shell command lines, M4 and\nBourne shell scripts, and SQL environments.\n\nshared_library_name is the name of the shared library that contains the\nplugin code. The name includes the file name extension (for example,\nlibmyplugin.so, libmyplugin.dll, or libmyplugin.dylib).\n\nThe shared library must be located in the plugin directory (the\ndirectory named by the plugin_dir system variable). The library must be\nin the plugin directory itself, not in a subdirectory. By default,\nplugin_dir is the plugin directory under the directory named by the\npkglibdir configuration variable, but it can be changed by setting the\nvalue of plugin_dir at server startup. For example, set its value in a\nmy.cnf file:\n\n[mysqld]\nplugin_dir=/path/to/plugin/directory\n\nIf the value of plugin_dir is a relative path name, it is taken to be\nrelative to the MySQL base directory (the value of the basedir system\nvariable).\n\nINSTALL PLUGIN loads and initializes the plugin code to make the plugin\navailable for use. A plugin is initialized by executing its\ninitialization function, which handles any setup that the plugin must\nperform before it can be used. When the server shuts down, it executes\nthe deinitialization function for each plugin that is loaded so that\nthe plugin has a change to perform any final cleanup.\n\nINSTALL PLUGIN also registers the plugin by adding a line that\nindicates the plugin name and library file name to the mysql.plugin\ntable. At server startup, the server loads and initializes any plugin\nthat is listed in the mysql.plugin table. This means that a plugin is\ninstalled with INSTALL PLUGIN only once, not every time the server\nstarts. Plugin loading at startup does not occur if the server is\nstarted with the --skip-grant-tables option.\n\nA plugin library can contain multiple plugins. For each of them to be\ninstalled, use a separate INSTALL PLUGIN statement. Each statement\nnames a different plugin, but all of them specify the same library\nname.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/install-plugin.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/install-plugin.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (422,24,'DECLARE CURSOR','Syntax:\nDECLARE cursor_name CURSOR FOR select_statement\n\nThis statement declares a cursor and associates it with a SELECT\nstatement that retrieves the rows to be traversed by the cursor. To\nfetch the rows later, use a FETCH statement. The number of columns\nretrieved by the SELECT statement must match the number of output\nvariables specified in the FETCH statement.\n\nThe SELECT statement cannot have an INTO clause.\n\nCursor declarations must appear before handler declarations and after\nvariable and condition declarations.\n\nA stored program may contain multiple cursor declarations, but each\ncursor declared in a given block must have a unique name. For an\nexample, see http://dev.mysql.com/doc/refman/5.5/en/cursors.html.\n\nFor information available through SHOW statements, it is possible in\nmany cases to obtain equivalent information by using a cursor with an\nINFORMATION_SCHEMA table.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/declare-cursor.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/declare-cursor.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (423,28,'LOAD DATA','Syntax:\nLOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE \'file_name\'\n [REPLACE | IGNORE]\n INTO TABLE tbl_name\n [CHARACTER SET charset_name]\n [{FIELDS | COLUMNS}\n [TERMINATED BY \'string\']\n [[OPTIONALLY] ENCLOSED BY \'char\']\n [ESCAPED BY \'char\']\n ]\n [LINES\n [STARTING BY \'string\']\n [TERMINATED BY \'string\']\n ]\n [IGNORE number {LINES | ROWS}]\n [(col_name_or_user_var,...)]\n [SET col_name = expr,...]\n\nThe LOAD DATA INFILE statement reads rows from a text file into a table\nat a very high speed. LOAD DATA INFILE is the complement of SELECT ...\nINTO OUTFILE. (See\nhttp://dev.mysql.com/doc/refman/5.5/en/select-into.html.) To write data\nfrom a table to a file, use SELECT ... INTO OUTFILE. To read the file\nback into a table, use LOAD DATA INFILE. The syntax of the FIELDS and\nLINES clauses is the same for both statements. Both clauses are\noptional, but FIELDS must precede LINES if both are specified.\n\nYou can also load data files by using the mysqlimport utility; it\noperates by sending a LOAD DATA INFILE statement to the server. The\n--local option causes mysqlimport to read data files from the client\nhost. You can specify the --compress option to get better performance\nover slow networks if the client and server support the compressed\nprotocol. See http://dev.mysql.com/doc/refman/5.5/en/mysqlimport.html.\n\nFor more information about the efficiency of INSERT versus LOAD DATA\nINFILE and speeding up LOAD DATA INFILE, see\nhttp://dev.mysql.com/doc/refman/5.5/en/insert-speed.html.\n\nThe file name must be given as a literal string. On Windows, specify\nbackslashes in path names as forward slashes or doubled backslashes.\nThe character_set_filesystem system variable controls the\ninterpretation of the file name.\n\nThe character set indicated by the character_set_database system\nvariable is used to interpret the information in the file. SET NAMES\nand the setting of character_set_client do not affect interpretation of\ninput. If the contents of the input file use a character set that\ndiffers from the default, it is usually preferable to specify the\ncharacter set of the file by using the CHARACTER SET clause. A\ncharacter set of binary specifies "no conversion."\n\nLOAD DATA INFILE interprets all fields in the file as having the same\ncharacter set, regardless of the data types of the columns into which\nfield values are loaded. For proper interpretation of file contents,\nyou must ensure that it was written with the correct character set. For\nexample, if you write a data file with mysqldump -T or by issuing a\nSELECT ... INTO OUTFILE statement in mysql, be sure to use a\n--default-character-set option so that output is written in the\ncharacter set to be used when the file is loaded with LOAD DATA INFILE.\n\n*Note*: It is not possible to load data files that use the ucs2, utf16,\nor utf32 character set.\n\nIf you use LOW_PRIORITY, execution of the LOAD DATA statement is\ndelayed until no other clients are reading from the table. This affects\nonly storage engines that use only table-level locking (such as MyISAM,\nMEMORY, and MERGE).\n\nIf you specify CONCURRENT with a MyISAM table that satisfies the\ncondition for concurrent inserts (that is, it contains no free blocks\nin the middle), other threads can retrieve data from the table while\nLOAD DATA is executing. This option affects the performance of LOAD\nDATA a bit, even if no other thread is using the table at the same\ntime.\n\nWith row-based replication, CONCURRENT is replicated regardless of\nMySQL version. With statement-based replication CONCURRENT is not\nreplicated prior to MySQL 5.5.1 (see Bug #34628). For more information,\nsee\nhttp://dev.mysql.com/doc/refman/5.5/en/replication-features-load-data.h\ntml.\n\nThe LOCAL keyword affects expected location of the file and error\nhandling, as described later. LOCAL works only if your server and your\nclient both have been configured to permit it. For example, if mysqld\nwas started with --local-infile=0, LOCAL does not work. See\nhttp://dev.mysql.com/doc/refman/5.5/en/load-data-local.html.\n\nThe LOCAL keyword affects where the file is expected to be found:\n\no If LOCAL is specified, the file is read by the client program on the\n client host and sent to the server. The file can be given as a full\n path name to specify its exact location. If given as a relative path\n name, the name is interpreted relative to the directory in which the\n client program was started.\n\n When using LOCAL with LOAD DATA, a copy of the file is created in the\n server\'s temporary directory. This is not the directory determined by\n the value of tmpdir or slave_load_tmpdir, but rather the operating\n system\'s temporary directory, and is not configurable in the MySQL\n Server. (Typically the system temporary directory is /tmp on Linux\n systems and C:\\WINDOWS\\TEMP on Windows.) Lack of sufficient space for\n the copy in this directory can cause the LOAD DATA LOCAL statement to\n fail.\n\no If LOCAL is not specified, the file must be located on the server\n host and is read directly by the server. The server uses the\n following rules to locate the file:\n\n o If the file name is an absolute path name, the server uses it as\n given.\n\n o If the file name is a relative path name with one or more leading\n components, the server searches for the file relative to the\n server\'s data directory.\n\n o If a file name with no leading components is given, the server\n looks for the file in the database directory of the default\n database.\n\nIn the non-LOCAL case, these rules mean that a file named as\n./myfile.txt is read from the server\'s data directory, whereas the file\nnamed as myfile.txt is read from the database directory of the default\ndatabase. For example, if db1 is the default database, the following\nLOAD DATA statement reads the file data.txt from the database directory\nfor db1, even though the statement explicitly loads the file into a\ntable in the db2 database:\n\nLOAD DATA INFILE \'data.txt\' INTO TABLE db2.my_table;\n\nFor security reasons, when reading text files located on the server,\nthe files must either reside in the database directory or be readable\nby all. Also, to use LOAD DATA INFILE on server files, you must have\nthe FILE privilege. See\nhttp://dev.mysql.com/doc/refman/5.5/en/privileges-provided.html. For\nnon-LOCAL load operations, if the secure_file_priv system variable is\nset to a nonempty directory name, the file to be loaded must be located\nin that directory.\n\nUsing LOCAL is a bit slower than letting the server access the files\ndirectly, because the contents of the file must be sent over the\nconnection by the client to the server. On the other hand, you do not\nneed the FILE privilege to load local files.\n\nLOCAL also affects error handling:\n\no With LOAD DATA INFILE, data-interpretation and duplicate-key errors\n terminate the operation.\n\no With LOAD DATA LOCAL INFILE, data-interpretation and duplicate-key\n errors become warnings and the operation continues because the server\n has no way to stop transmission of the file in the middle of the\n operation. For duplicate-key errors, this is the same as if IGNORE is\n specified. IGNORE is explained further later in this section.\n\nThe REPLACE and IGNORE keywords control handling of input rows that\nduplicate existing rows on unique key values:\n\no If you specify REPLACE, input rows replace existing rows. In other\n words, rows that have the same value for a primary key or unique\n index as an existing row. See [HELP REPLACE].\n\no If you specify IGNORE, input rows that duplicate an existing row on a\n unique key value are skipped.\n\no If you do not specify either option, the behavior depends on whether\n the LOCAL keyword is specified. Without LOCAL, an error occurs when a\n duplicate key value is found, and the rest of the text file is\n ignored. With LOCAL, the default behavior is the same as if IGNORE is\n specified; this is because the server has no way to stop transmission\n of the file in the middle of the operation.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/load-data.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/load-data.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (424,25,'MULTILINESTRING','MultiLineString(ls1,ls2,...)\n\nConstructs a MultiLineString value using LineString or WKB LineString\narguments.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (425,32,'LOCALTIME','Syntax:\nLOCALTIME, LOCALTIME()\n\nLOCALTIME and LOCALTIME() are synonyms for NOW().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (426,27,'SHOW RELAYLOG EVENTS','Syntax:\nSHOW RELAYLOG EVENTS\n [IN \'log_name\'] [FROM pos] [LIMIT [offset,] row_count]\n\nShows the events in the relay log of a replication slave. If you do not\nspecify \'log_name\', the first relay log is displayed. This statement\nhas no effect on the master.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-relaylog-events.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-relaylog-events.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (427,4,'MPOINTFROMTEXT','MPointFromText(wkt[,srid]), MultiPointFromText(wkt[,srid])\n\nConstructs a MultiPoint value using its WKT representation and SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (428,23,'BLOB','BLOB[(M)]\n\nA BLOB column with a maximum length of 65,535 (216 - 1) bytes. Each\nBLOB value is stored using a 2-byte length prefix that indicates the\nnumber of bytes in the value.\n\nAn optional length M can be given for this type. If this is done, MySQL\ncreates the column as the smallest BLOB type large enough to hold\nvalues M bytes long.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (429,12,'SHA1','Syntax:\nSHA1(str), SHA(str)\n\nCalculates an SHA-1 160-bit checksum for the string, as described in\nRFC 3174 (Secure Hash Algorithm). The value is returned as a string of\n40 hex digits, or NULL if the argument was NULL. One of the possible\nuses for this function is as a hash key. See the notes at the beginning\nof this section about storing hash values efficiently. You can also use\nSHA1() as a cryptographic function for storing passwords. SHA() is\nsynonymous with SHA1().\n\nAs of MySQL 5.5.3, the return value is a nonbinary string in the\nconnection character set. Before 5.5.3, the return value is a binary\nstring; see the notes at the beginning of this section about using the\nvalue as a nonbinary string.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','mysql> SELECT SHA1(\'abc\');\n -> \'a9993e364706816aba3e25717850c26c9cd0d89d\'\n','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (430,38,'SUBSTR','Syntax:\nSUBSTR(str,pos), SUBSTR(str FROM pos), SUBSTR(str,pos,len), SUBSTR(str\nFROM pos FOR len)\n\nSUBSTR() is a synonym for SUBSTRING().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (431,12,'PASSWORD','Syntax:\nPASSWORD(str)\n\nReturns a hashed password string calculated from the cleartext password\nstr. The return value is a nonbinary string in the connection character\nset (a binary string before MySQL 5.5.3), or NULL if the argument is\nNULL. This function is the SQL interface to the algorithm used by the\nserver to encrypt MySQL passwords for storage in the mysql.user grant\ntable.\n\nThe old_passwords system variable controls the password hashing method\nused by the PASSWORD() function. It also influences password hashing\nperformed by CREATE USER and GRANT statements that specify a password\nusing an IDENTIFIED BY clause.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','mysql> SET old_passwords = 0;\nmysql> SELECT PASSWORD(\'mypass\'), OLD_PASSWORD(\'mypass\');\n+-------------------------------------------+------------------------+\n| PASSWORD(\'mypass\') | OLD_PASSWORD(\'mypass\') |\n+-------------------------------------------+------------------------+\n| *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 | 6f8c114b58f2ce9e |\n+-------------------------------------------+------------------------+\n\nmysql> SET old_passwords = 1;\nmysql> SELECT PASSWORD(\'mypass\'), OLD_PASSWORD(\'mypass\');\n+--------------------+------------------------+\n| PASSWORD(\'mypass\') | OLD_PASSWORD(\'mypass\') |\n+--------------------+------------------------+\n| 6f8c114b58f2ce9e | 6f8c114b58f2ce9e |\n+--------------------+------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (432,23,'CHAR','[NATIONAL] CHAR[(M)] [CHARACTER SET charset_name] [COLLATE\ncollation_name]\n\nA fixed-length string that is always right-padded with spaces to the\nspecified length when stored. M represents the column length in\ncharacters. The range of M is 0 to 255. If M is omitted, the length is\n1.\n\n*Note*: Trailing spaces are removed when CHAR values are retrieved\nunless the PAD_CHAR_TO_FULL_LENGTH SQL mode is enabled.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (433,32,'UTC_DATE','Syntax:\nUTC_DATE, UTC_DATE()\n\nReturns the current UTC date as a value in \'YYYY-MM-DD\' or YYYYMMDD\nformat, depending on whether the function is used in a string or\nnumeric context.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT UTC_DATE(), UTC_DATE() + 0;\n -> \'2003-08-14\', 20030814\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (434,37,'DIMENSION','Dimension(g)\n\nReturns the inherent dimension of the geometry value g. The result can\nbe -1, 0, 1, or 2. The meaning of these values is given in\nhttp://dev.mysql.com/doc/refman/5.5/en/gis-class-geometry.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html\n\n','mysql> SELECT Dimension(GeomFromText(\'LineString(1 1,2 2)\'));\n+------------------------------------------------+\n| Dimension(GeomFromText(\'LineString(1 1,2 2)\')) |\n+------------------------------------------------+\n| 1 |\n+------------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (435,16,'COUNT DISTINCT','Syntax:\nCOUNT(DISTINCT expr,[expr...])\n\nReturns a count of the number of rows with different non-NULL expr\nvalues.\n\nCOUNT(DISTINCT) returns 0 if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','mysql> SELECT COUNT(DISTINCT results) FROM student;\n','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (436,23,'BIT','BIT[(M)]\n\nA bit-field type. M indicates the number of bits per value, from 1 to\n64. The default is 1 if M is omitted.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (437,8,'XA','Syntax:\nXA {START|BEGIN} xid [JOIN|RESUME]\n\nXA END xid [SUSPEND [FOR MIGRATE]]\n\nXA PREPARE xid\n\nXA COMMIT xid [ONE PHASE]\n\nXA ROLLBACK xid\n\nXA RECOVER\n\nFor XA START, the JOIN and RESUME clauses are not supported.\n\nFor XA END the SUSPEND [FOR MIGRATE] clause is not supported.\n\nEach XA statement begins with the XA keyword, and most of them require\nan xid value. An xid is an XA transaction identifier. It indicates\nwhich transaction the statement applies to. xid values are supplied by\nthe client, or generated by the MySQL server. An xid value has from one\nto three parts:\n\nxid: gtrid [, bqual [, formatID ]]\n\ngtrid is a global transaction identifier, bqual is a branch qualifier,\nand formatID is a number that identifies the format used by the gtrid\nand bqual values. As indicated by the syntax, bqual and formatID are\noptional. The default bqual value is \'\' if not given. The default\nformatID value is 1 if not given.\n\ngtrid and bqual must be string literals, each up to 64 bytes (not\ncharacters) long. gtrid and bqual can be specified in several ways. You\ncan use a quoted string (\'ab\'), hex string (0x6162, X\'ab\'), or bit\nvalue (b\'nnnn\').\n\nformatID is an unsigned integer.\n\nThe gtrid and bqual values are interpreted in bytes by the MySQL\nserver\'s underlying XA support routines. However, while an SQL\nstatement containing an XA statement is being parsed, the server works\nwith some specific character set. To be safe, write gtrid and bqual as\nhex strings.\n\nxid values typically are generated by the Transaction Manager. Values\ngenerated by one TM must be different from values generated by other\nTMs. A given TM must be able to recognize its own xid values in a list\nof values returned by the XA RECOVER statement.\n\nFor XA START xid starts an XA transaction with the given xid value.\nEach XA transaction must have a unique xid value, so the value must not\ncurrently be used by another XA transaction. Uniqueness is assessed\nusing the gtrid and bqual values. All following XA statements for the\nXA transaction must be specified using the same xid value as that given\nin the XA START statement. If you use any of those statements but\nspecify an xid value that does not correspond to some existing XA\ntransaction, an error occurs.\n\nOne or more XA transactions can be part of the same global transaction.\nAll XA transactions within a given global transaction must use the same\ngtrid value in the xid value. For this reason, gtrid values must be\nglobally unique so that there is no ambiguity about which global\ntransaction a given XA transaction is part of. The bqual part of the\nxid value must be different for each XA transaction within a global\ntransaction. (The requirement that bqual values be different is a\nlimitation of the current MySQL XA implementation. It is not part of\nthe XA specification.)\n\nThe XA RECOVER statement returns information for those XA transactions\non the MySQL server that are in the PREPARED state. (See\nhttp://dev.mysql.com/doc/refman/5.5/en/xa-states.html.) The output\nincludes a row for each such XA transaction on the server, regardless\nof which client started it.\n\nXA RECOVER output rows look like this (for an example xid value\nconsisting of the parts \'abc\', \'def\', and 7):\n\nmysql> XA RECOVER;\n+----------+--------------+--------------+--------+\n| formatID | gtrid_length | bqual_length | data |\n+----------+--------------+--------------+--------+\n| 7 | 3 | 3 | abcdef |\n+----------+--------------+--------------+--------+\n\nThe output columns have the following meanings:\n\no formatID is the formatID part of the transaction xid\n\no gtrid_length is the length in bytes of the gtrid part of the xid\n\no bqual_length is the length in bytes of the bqual part of the xid\n\no data is the concatenation of the gtrid and bqual parts of the xid\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/xa-statements.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/xa-statements.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (438,31,'EQUALS','Equals(g1,g2)\n\nReturns 1 or 0 to indicate whether g1 is spatially equal to g2.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (439,27,'SHOW CREATE VIEW','Syntax:\nSHOW CREATE VIEW view_name\n\nThis statement shows the CREATE VIEW statement that creates the named\nview.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-create-view.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-create-view.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (440,19,'INTERVAL','Syntax:\nINTERVAL(N,N1,N2,N3,...)\n\nReturns 0 if N < N1, 1 if N < N2 and so on or -1 if N is NULL. All\narguments are treated as integers. It is required that N1 < N2 < N3 <\n... < Nn for this function to work correctly. This is because a binary\nsearch is used (very fast).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT INTERVAL(23, 1, 15, 17, 30, 44, 200);\n -> 3\nmysql> SELECT INTERVAL(10, 1, 10, 100, 1000);\n -> 2\nmysql> SELECT INTERVAL(22, 23, 30, 44, 200);\n -> 0\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (441,32,'FROM_DAYS','Syntax:\nFROM_DAYS(N)\n\nGiven a day number N, returns a DATE value.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT FROM_DAYS(730669);\n -> \'2007-07-03\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (442,40,'ALTER PROCEDURE','Syntax:\nALTER PROCEDURE proc_name [characteristic ...]\n\ncharacteristic:\n COMMENT \'string\'\n | LANGUAGE SQL\n | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }\n | SQL SECURITY { DEFINER | INVOKER }\n\nThis statement can be used to change the characteristics of a stored\nprocedure. More than one change may be specified in an ALTER PROCEDURE\nstatement. However, you cannot change the parameters or body of a\nstored procedure using this statement; to make such changes, you must\ndrop and re-create the procedure using DROP PROCEDURE and CREATE\nPROCEDURE.\n\nYou must have the ALTER ROUTINE privilege for the procedure. By\ndefault, that privilege is granted automatically to the procedure\ncreator. This behavior can be changed by disabling the\nautomatic_sp_privileges system variable. See\nhttp://dev.mysql.com/doc/refman/5.5/en/stored-routines-privileges.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/alter-procedure.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/alter-procedure.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (443,20,'BIT_COUNT','Syntax:\nBIT_COUNT(N)\n\nReturns the number of bits that are set in the argument N.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html\n\n','mysql> SELECT BIT_COUNT(29), BIT_COUNT(b\'101010\');\n -> 4, 3\n','http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (444,38,'OCTET_LENGTH','Syntax:\nOCTET_LENGTH(str)\n\nOCTET_LENGTH() is a synonym for LENGTH().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (445,32,'UTC_TIMESTAMP','Syntax:\nUTC_TIMESTAMP, UTC_TIMESTAMP()\n\nReturns the current UTC date and time as a value in \'YYYY-MM-DD\nHH:MM:SS\' or YYYYMMDDHHMMSS.uuuuuu format, depending on whether the\nfunction is used in a string or numeric context.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT UTC_TIMESTAMP(), UTC_TIMESTAMP() + 0;\n -> \'2003-08-14 18:08:04\', 20030814180804.000000\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (446,12,'AES_ENCRYPT','Syntax:\nAES_ENCRYPT(str,key_str)\n\nAES_ENCRYPT() and AES_DECRYPT() implement encryption and decryption of\ndata using the official AES (Advanced Encryption Standard) algorithm,\npreviously known as "Rijndael." The AES standard permits various key\nlengths. These functions implement AES with a 128-bit key length, but\nyou can extend them to 256 bits by modifying the source. The key length\nis a trade off between performance and security.\n\nAES_ENCRYPT() encrypts the string str using the key string key_str and\nreturns a binary string containing the encrypted output. AES_DECRYPT()\ndecrypts the encrypted string crypt_str using the key string key_str\nand returns the original plaintext string. If either function argument\nis NULL, the function returns NULL.\n\nThe str and crypt_str arguments can be any length, and padding is\nautomatically added to str so it is a multiple of a block as required\nby block-based algorithms such as AES. This padding is automatically\nremoved by the AES_DECRYPT() function. The length of crypt_str can be\ncalculated using this formula:\n\n16 * (trunc(string_length / 16) + 1)\n\nFor a key length of 128 bits, the most secure way to pass a key to the\nkey_str argument is to create a truly random 128-bit value and pass it\nas a binary value. For example:\n\nINSERT INTO t\nVALUES (1,AES_ENCRYPT(\'text\',UNHEX(\'F3229A0B371ED2D9441B830D21A390C3\')));\n\nA passphrase can be used to generate an AES key by hashing the\npassphrase. For example:\n\nINSERT INTO t VALUES (1,AES_ENCRYPT(\'text\', SHA2(\'My secret passphrase\',512)));\n\nDo not pass a password or passphrase directly to crypt_str, hash it\nfirst. Previous versions of this documentation suggested the former\napproach, but it is no longer recommended as the examples shown here\nare more secure.\n\nIf AES_DECRYPT() detects invalid data or incorrect padding, it returns\nNULL. However, it is possible for AES_DECRYPT() to return a non-NULL\nvalue (possibly garbage) if the input data or the key is invalid.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (447,3,'+','Syntax:\n+\n\nAddition:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html\n\n','mysql> SELECT 3+5;\n -> 8\n','http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (448,14,'INET_NTOA','Syntax:\nINET_NTOA(expr)\n\nGiven a numeric IPv4 network address in network byte order, returns the\ndotted-quad representation of the address as a string. INET_NTOA()\nreturns NULL if it does not understand its argument.\n\nAs of MySQL 5.5.3, the return value is a nonbinary string in the\nconnection character set. Before 5.5.3, the return value is a binary\nstring.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html\n\n','mysql> SELECT INET_NTOA(167773449);\n -> \'10.0.5.9\'\n','http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (449,3,'ACOS','Syntax:\nACOS(X)\n\nReturns the arc cosine of X, that is, the value whose cosine is X.\nReturns NULL if X is not in the range -1 to 1.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT ACOS(1);\n -> 0\nmysql> SELECT ACOS(1.0001);\n -> NULL\nmysql> SELECT ACOS(0);\n -> 1.5707963267949\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (450,8,'ISOLATION','Syntax:\nSET [GLOBAL | SESSION] TRANSACTION ISOLATION LEVEL\n {\n REPEATABLE READ\n | READ COMMITTED\n | READ UNCOMMITTED\n | SERIALIZABLE\n }\n\nThis statement sets the transaction isolation level, used for\noperations on InnoDB tables.\n\nScope of the Isolation Level\n\nYou can set the isolation level globally, for the current session, or\nfor the next transaction:\n\no With the GLOBAL keyword, the statement sets the default transaction\n level globally for all subsequent sessions. Existing sessions are\n unaffected.\n\no With the SESSION keyword, the statement sets the default transaction\n level for all subsequent transactions performed within the current\n session.\n\no Without any SESSION or GLOBAL keyword, the statement sets the\n isolation level for the next (not started) transaction performed\n within the current session.\n\nA change to the global default isolation level requires the SUPER\nprivilege. Any session is free to change its session isolation level\n(even in the middle of a transaction), or the isolation level for its\nnext transaction.\n\nSET TRANSACTION ISOLATION LEVEL without GLOBAL or SESSION is not\npermitted while there is an active transaction:\n\nmysql> START TRANSACTION;\nQuery OK, 0 rows affected (0.02 sec)\n\nmysql> SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;\nERROR 1568 (25001): Transaction isolation level can\'t be changed\nwhile a transaction is in progress\n\nTo set the global default isolation level at server startup, use the\n--transaction-isolation=level option to mysqld on the command line or\nin an option file. Values of level for this option use dashes rather\nthan spaces, so the permissible values are READ-UNCOMMITTED,\nREAD-COMMITTED, REPEATABLE-READ, or SERIALIZABLE. For example, to set\nthe default isolation level to REPEATABLE READ, use these lines in the\n[mysqld] section of an option file:\n\n[mysqld]\ntransaction-isolation = REPEATABLE-READ\n\nIt is possible to check or set the global and session transaction\nisolation levels at runtime by using the tx_isolation system variable:\n\nSELECT @@GLOBAL.tx_isolation, @@tx_isolation;\nSET GLOBAL tx_isolation=\'REPEATABLE-READ\';\nSET SESSION tx_isolation=\'SERIALIZABLE\';\n\nDetails and Usage of Isolation Levels\n\nInnoDB supports each of the transaction isolation levels described here\nusing different locking strategies. You can enforce a high degree of\nconsistency with the default REPEATABLE READ level, for operations on\ncrucial data where ACID compliance is important. Or you can relax the\nconsistency rules with READ COMMITTED or even READ UNCOMMITTED, in\nsituations such as bulk reporting where precise consistency and\nrepeatable results are less important than minimizing the amount of\noverhead for locking. SERIALIZABLE enforces even stricter rules than\nREPEATABLE READ, and is used mainly in specialized situations, such as\nwith XA transactions and for troubleshooting issues with concurrency\nand deadlocks.\n\nFor full information about how these isolation levels work with InnoDB\ntransactions, see\nhttp://dev.mysql.com/doc/refman/5.5/en/innodb-transaction-model.html.\nIn particular, for additional information about InnoDB record-level\nlocks and how it uses them to execute various types of statements, see\nhttp://dev.mysql.com/doc/refman/5.5/en/innodb-record-level-locks.html\nand http://dev.mysql.com/doc/refman/5.5/en/innodb-locks-set.html.\n\nThe following list describes how MySQL supports the different\ntransaction levels. The list goes from the most commonly used level to\nthe least used.\n\no REPEATABLE READ\n\n This is the default isolation level for InnoDB. For consistent reads,\n there is an important difference from the READ COMMITTED isolation\n level: All consistent reads within the same transaction read the\n snapshot established by the first read. This convention means that if\n you issue several plain (nonlocking) SELECT statements within the\n same transaction, these SELECT statements are consistent also with\n respect to each other. See\n http://dev.mysql.com/doc/refman/5.5/en/innodb-consistent-read.html.\n\n For locking reads (SELECT with FOR UPDATE or LOCK IN SHARE MODE),\n UPDATE, and DELETE statements, locking depends on whether the\n statement uses a unique index with a unique search condition, or a\n range-type search condition. For a unique index with a unique search\n condition, InnoDB locks only the index record found, not the gap\n before it. For other search conditions, InnoDB locks the index range\n scanned, using gap locks or next-key (gap plus index-record) locks to\n block insertions by other sessions into the gaps covered by the\n range.\n\no READ COMMITTED\n\n A somewhat Oracle-like isolation level with respect to consistent\n (nonlocking) reads: Each consistent read, even within the same\n transaction, sets and reads its own fresh snapshot. See\n http://dev.mysql.com/doc/refman/5.5/en/innodb-consistent-read.html.\n\n For locking reads (SELECT with FOR UPDATE or LOCK IN SHARE MODE),\n UPDATE statements, and DELETE statements, InnoDB locks only index\n records, not the gaps before them, and thus permits the free\n insertion of new records next to locked records.\n\n *Note*: In MySQL 5.5, when READ COMMITTED isolation level is used or\n the innodb_locks_unsafe_for_binlog system variable is enabled, there\n is no InnoDB gap locking except for foreign-key constraint checking\n and duplicate-key checking. Also, record locks for nonmatching rows\n are released after MySQL has evaluated the WHERE condition. If you\n use READ COMMITTED or enable innodb_locks_unsafe_for_binlog, you must\n use row-based binary logging.\n\no READ UNCOMMITTED\n\n SELECT statements are performed in a nonlocking fashion, but a\n possible earlier version of a row might be used. Thus, using this\n isolation level, such reads are not consistent. This is also called a\n "dirty read." Otherwise, this isolation level works like READ\n COMMITTED.\n\no SERIALIZABLE\n\n This level is like REPEATABLE READ, but InnoDB implicitly converts\n all plain SELECT statements to SELECT ... LOCK IN SHARE MODE if\n autocommit is disabled. If autocommit is enabled, the SELECT is its\n own transaction. It therefore is known to be read only and can be\n serialized if performed as a consistent (nonlocking) read and need\n not block for other transactions. (To force a plain SELECT to block\n if other transactions have modified the selected rows, disable\n autocommit.)\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/set-transaction.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/set-transaction.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (451,3,'CEILING','Syntax:\nCEILING(X)\n\nReturns the smallest integer value not less than X.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT CEILING(1.23);\n -> 2\nmysql> SELECT CEILING(-1.23);\n -> -1\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (452,3,'SIN','Syntax:\nSIN(X)\n\nReturns the sine of X, where X is given in radians.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT SIN(PI());\n -> 1.2246063538224e-16\nmysql> SELECT ROUND(SIN(PI()));\n -> 0\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (453,32,'DAYOFWEEK','Syntax:\nDAYOFWEEK(date)\n\nReturns the weekday index for date (1 = Sunday, 2 = Monday, ..., 7 =\nSaturday). These index values correspond to the ODBC standard.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT DAYOFWEEK(\'2007-02-03\');\n -> 7\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (454,27,'SHOW PROCESSLIST','Syntax:\nSHOW [FULL] PROCESSLIST\n\nSHOW PROCESSLIST shows you which threads are running. You can also get\nthis information from the INFORMATION_SCHEMA PROCESSLIST table or the\nmysqladmin processlist command. If you have the PROCESS privilege, you\ncan see all threads. Otherwise, you can see only your own threads (that\nis, threads associated with the MySQL account that you are using). If\nyou do not use the FULL keyword, only the first 100 characters of each\nstatement are shown in the Info field.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-processlist.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-processlist.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (455,33,'LINEFROMWKB','LineFromWKB(wkb[,srid]), LineStringFromWKB(wkb[,srid])\n\nConstructs a LineString value using its WKB representation and SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (456,37,'GEOMETRYTYPE','GeometryType(g)\n\nReturns as a binary string the name of the geometry type of which the\ngeometry instance g is a member. The name corresponds to one of the\ninstantiable Geometry subclasses.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html\n\n','mysql> SELECT GeometryType(GeomFromText(\'POINT(1 1)\'));\n+------------------------------------------+\n| GeometryType(GeomFromText(\'POINT(1 1)\')) |\n+------------------------------------------+\n| POINT |\n+------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (457,40,'CREATE VIEW','Syntax:\nCREATE\n [OR REPLACE]\n [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]\n [DEFINER = { user | CURRENT_USER }]\n [SQL SECURITY { DEFINER | INVOKER }]\n VIEW view_name [(column_list)]\n AS select_statement\n [WITH [CASCADED | LOCAL] CHECK OPTION]\n\nThe CREATE VIEW statement creates a new view, or replaces an existing\none if the OR REPLACE clause is given. If the view does not exist,\nCREATE OR REPLACE VIEW is the same as CREATE VIEW. If the view does\nexist, CREATE OR REPLACE VIEW is the same as ALTER VIEW.\n\nThe select_statement is a SELECT statement that provides the definition\nof the view. (When you select from the view, you select in effect using\nthe SELECT statement.) select_statement can select from base tables or\nother views.\n\nThe view definition is "frozen" at creation time, so changes to the\nunderlying tables afterward do not affect the view definition. For\nexample, if a view is defined as SELECT * on a table, new columns added\nto the table later do not become part of the view.\n\nThe ALGORITHM clause affects how MySQL processes the view. The DEFINER\nand SQL SECURITY clauses specify the security context to be used when\nchecking access privileges at view invocation time. The WITH CHECK\nOPTION clause can be given to constrain inserts or updates to rows in\ntables referenced by the view. These clauses are described later in\nthis section.\n\nThe CREATE VIEW statement requires the CREATE VIEW privilege for the\nview, and some privilege for each column selected by the SELECT\nstatement. For columns used elsewhere in the SELECT statement you must\nhave the SELECT privilege. If the OR REPLACE clause is present, you\nmust also have the DROP privilege for the view. CREATE VIEW might also\nrequire the SUPER privilege, depending on the DEFINER value, as\ndescribed later in this section.\n\nWhen a view is referenced, privilege checking occurs as described later\nin this section.\n\nA view belongs to a database. By default, a new view is created in the\ndefault database. To create the view explicitly in a given database,\nspecify the name as db_name.view_name when you create it:\n\nmysql> CREATE VIEW test.v AS SELECT * FROM t;\n\nWithin a database, base tables and views share the same namespace, so a\nbase table and a view cannot have the same name.\n\nColumns retrieved by the SELECT statement can be simple references to\ntable columns. They can also be expressions that use functions,\nconstant values, operators, and so forth.\n\nViews must have unique column names with no duplicates, just like base\ntables. By default, the names of the columns retrieved by the SELECT\nstatement are used for the view column names. To define explicit names\nfor the view columns, the optional column_list clause can be given as a\nlist of comma-separated identifiers. The number of names in column_list\nmust be the same as the number of columns retrieved by the SELECT\nstatement.\n\nUnqualified table or view names in the SELECT statement are interpreted\nwith respect to the default database. A view can refer to tables or\nviews in other databases by qualifying the table or view name with the\nproper database name.\n\nA view can be created from many kinds of SELECT statements. It can\nrefer to base tables or other views. It can use joins, UNION, and\nsubqueries. The SELECT need not even refer to any tables. The following\nexample defines a view that selects two columns from another table, as\nwell as an expression calculated from those columns:\n\nmysql> CREATE TABLE t (qty INT, price INT);\nmysql> INSERT INTO t VALUES(3, 50);\nmysql> CREATE VIEW v AS SELECT qty, price, qty*price AS value FROM t;\nmysql> SELECT * FROM v;\n+------+-------+-------+\n| qty | price | value |\n+------+-------+-------+\n| 3 | 50 | 150 |\n+------+-------+-------+\n\nA view definition is subject to the following restrictions:\n\no The SELECT statement cannot contain a subquery in the FROM clause.\n\no The SELECT statement cannot refer to system or user variables.\n\no Within a stored program, the definition cannot refer to program\n parameters or local variables.\n\no The SELECT statement cannot refer to prepared statement parameters.\n\no Any table or view referred to in the definition must exist. However,\n after a view has been created, it is possible to drop a table or view\n that the definition refers to. In this case, use of the view results\n in an error. To check a view definition for problems of this kind,\n use the CHECK TABLE statement.\n\no The definition cannot refer to a TEMPORARY table, and you cannot\n create a TEMPORARY view.\n\no Any tables named in the view definition must exist at definition\n time.\n\no You cannot associate a trigger with a view.\n\no Aliases for column names in the SELECT statement are checked against\n the maximum column length of 64 characters (not the maximum alias\n length of 256 characters).\n\nORDER BY is permitted in a view definition, but it is ignored if you\nselect from a view using a statement that has its own ORDER BY.\n\nFor other options or clauses in the definition, they are added to the\noptions or clauses of the statement that references the view, but the\neffect is undefined. For example, if a view definition includes a LIMIT\nclause, and you select from the view using a statement that has its own\nLIMIT clause, it is undefined which limit applies. This same principle\napplies to options such as ALL, DISTINCT, or SQL_SMALL_RESULT that\nfollow the SELECT keyword, and to clauses such as INTO, FOR UPDATE,\nLOCK IN SHARE MODE, and PROCEDURE.\n\nIf you create a view and then change the query processing environment\nby changing system variables, that may affect the results that you get\nfrom the view:\n\nmysql> CREATE VIEW v (mycol) AS SELECT \'abc\';\nQuery OK, 0 rows affected (0.01 sec)\n\nmysql> SET sql_mode = \'\';\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SELECT "mycol" FROM v;\n+-------+\n| mycol |\n+-------+\n| mycol |\n+-------+\n1 row in set (0.01 sec)\n\nmysql> SET sql_mode = \'ANSI_QUOTES\';\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SELECT "mycol" FROM v;\n+-------+\n| mycol |\n+-------+\n| abc |\n+-------+\n1 row in set (0.00 sec)\n\nThe DEFINER and SQL SECURITY clauses determine which MySQL account to\nuse when checking access privileges for the view when a statement is\nexecuted that references the view. The valid SQL SECURITY\ncharacteristic values are DEFINER and INVOKER. These indicate that the\nrequired privileges must be held by the user who defined or invoked the\nview, respectively. The default SQL SECURITY value is DEFINER.\n\nIf a user value is given for the DEFINER clause, it should be a MySQL\naccount specified as \'user_name\'@\'host_name\' (the same format used in\nthe GRANT statement), CURRENT_USER, or CURRENT_USER(). The default\nDEFINER value is the user who executes the CREATE VIEW statement. This\nis the same as specifying DEFINER = CURRENT_USER explicitly.\n\nIf you specify the DEFINER clause, these rules determine the valid\nDEFINER user values:\n\no If you do not have the SUPER privilege, the only valid user value is\n your own account, either specified literally or by using\n CURRENT_USER. You cannot set the definer to some other account.\n\no If you have the SUPER privilege, you can specify any syntactically\n valid account name. If the account does not actually exist, a warning\n is generated.\n\no Although it is possible to create a view with a nonexistent DEFINER\n account, an error occurs when the view is referenced if the SQL\n SECURITY value is DEFINER but the definer account does not exist.\n\nFor more information about view security, see\nhttp://dev.mysql.com/doc/refman/5.5/en/stored-programs-security.html.\n\nWithin a view definition, CURRENT_USER returns the view\'s DEFINER value\nby default. For views defined with the SQL SECURITY INVOKER\ncharacteristic, CURRENT_USER returns the account for the view\'s\ninvoker. For information about user auditing within views, see\nhttp://dev.mysql.com/doc/refman/5.5/en/account-activity-auditing.html.\n\nWithin a stored routine that is defined with the SQL SECURITY DEFINER\ncharacteristic, CURRENT_USER returns the routine\'s DEFINER value. This\nalso affects a view defined within such a routine, if the view\ndefinition contains a DEFINER value of CURRENT_USER.\n\nView privileges are checked like this:\n\no At view definition time, the view creator must have the privileges\n needed to use the top-level objects accessed by the view. For\n example, if the view definition refers to table columns, the creator\n must have some privilege for each column in the select list of the\n definition, and the SELECT privilege for each column used elsewhere\n in the definition. If the definition refers to a stored function,\n only the privileges needed to invoke the function can be checked. The\n privileges required at function invocation time can be checked only\n as it executes: For different invocations, different execution paths\n within the function might be taken.\n\no The user who references a view must have appropriate privileges to\n access it (SELECT to select from it, INSERT to insert into it, and so\n forth.)\n\no When a view has been referenced, privileges for objects accessed by\n the view are checked against the privileges held by the view DEFINER\n account or invoker, depending on whether the SQL SECURITY\n characteristic is DEFINER or INVOKER, respectively.\n\no If reference to a view causes execution of a stored function,\n privilege checking for statements executed within the function depend\n on whether the function SQL SECURITY characteristic is DEFINER or\n INVOKER. If the security characteristic is DEFINER, the function runs\n with the privileges of the DEFINER account. If the characteristic is\n INVOKER, the function runs with the privileges determined by the\n view\'s SQL SECURITY characteristic.\n\nExample: A view might depend on a stored function, and that function\nmight invoke other stored routines. For example, the following view\ninvokes a stored function f():\n\nCREATE VIEW v AS SELECT * FROM t WHERE t.id = f(t.name);\n\nSuppose that f() contains a statement such as this:\n\nIF name IS NULL then\n CALL p1();\nELSE\n CALL p2();\nEND IF;\n\nThe privileges required for executing statements within f() need to be\nchecked when f() executes. This might mean that privileges are needed\nfor p1() or p2(), depending on the execution path within f(). Those\nprivileges must be checked at runtime, and the user who must possess\nthe privileges is determined by the SQL SECURITY values of the view v\nand the function f().\n\nThe DEFINER and SQL SECURITY clauses for views are extensions to\nstandard SQL. In standard SQL, views are handled using the rules for\nSQL SECURITY DEFINER. The standard says that the definer of the view,\nwhich is the same as the owner of the view\'s schema, gets applicable\nprivileges on the view (for example, SELECT) and may grant them. MySQL\nhas no concept of a schema "owner", so MySQL adds a clause to identify\nthe definer. The DEFINER clause is an extension where the intent is to\nhave what the standard has; that is, a permanent record of who defined\nthe view. This is why the default DEFINER value is the account of the\nview creator.\n\nThe optional ALGORITHM clause is a MySQL extension to standard SQL. It\naffects how MySQL processes the view. ALGORITHM takes three values:\nMERGE, TEMPTABLE, or UNDEFINED. The default algorithm is UNDEFINED if\nno ALGORITHM clause is present. For more information, see\nhttp://dev.mysql.com/doc/refman/5.5/en/view-algorithms.html.\n\nSome views are updatable. That is, you can use them in statements such\nas UPDATE, DELETE, or INSERT to update the contents of the underlying\ntable. For a view to be updatable, there must be a one-to-one\nrelationship between the rows in the view and the rows in the\nunderlying table. There are also certain other constructs that make a\nview nonupdatable.\n\nThe WITH CHECK OPTION clause can be given for an updatable view to\nprevent inserts or updates to rows except those for which the WHERE\nclause in the select_statement is true.\n\nIn a WITH CHECK OPTION clause for an updatable view, the LOCAL and\nCASCADED keywords determine the scope of check testing when the view is\ndefined in terms of another view. The LOCAL keyword restricts the CHECK\nOPTION only to the view being defined. CASCADED causes the checks for\nunderlying views to be evaluated as well. When neither keyword is\ngiven, the default is CASCADED.\n\nFor more information about updatable views and the WITH CHECK OPTION\nclause, see\nhttp://dev.mysql.com/doc/refman/5.5/en/view-updatability.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-view.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/create-view.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (458,38,'TRIM','Syntax:\nTRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str), TRIM([remstr\nFROM] str)\n\nReturns the string str with all remstr prefixes or suffixes removed. If\nnone of the specifiers BOTH, LEADING, or TRAILING is given, BOTH is\nassumed. remstr is optional and, if not specified, spaces are removed.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT TRIM(\' bar \');\n -> \'bar\'\nmysql> SELECT TRIM(LEADING \'x\' FROM \'xxxbarxxx\');\n -> \'barxxx\'\nmysql> SELECT TRIM(BOTH \'x\' FROM \'xxxbarxxx\');\n -> \'bar\'\nmysql> SELECT TRIM(TRAILING \'xyz\' FROM \'barxxyz\');\n -> \'barx\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (459,19,'IS','Syntax:\nIS boolean_value\n\nTests a value against a boolean value, where boolean_value can be TRUE,\nFALSE, or UNKNOWN.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT 1 IS TRUE, 0 IS FALSE, NULL IS UNKNOWN;\n -> 1, 1, 1\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (460,32,'GET_FORMAT','Syntax:\nGET_FORMAT({DATE|TIME|DATETIME}, {\'EUR\'|\'USA\'|\'JIS\'|\'ISO\'|\'INTERNAL\'})\n\nReturns a format string. This function is useful in combination with\nthe DATE_FORMAT() and the STR_TO_DATE() functions.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT DATE_FORMAT(\'2003-10-03\',GET_FORMAT(DATE,\'EUR\'));\n -> \'03.10.2003\'\nmysql> SELECT STR_TO_DATE(\'10.31.2003\',GET_FORMAT(DATE,\'USA\'));\n -> \'2003-10-31\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (461,23,'TINYBLOB','TINYBLOB\n\nA BLOB column with a maximum length of 255 (28 - 1) bytes. Each\nTINYBLOB value is stored using a 1-byte length prefix that indicates\nthe number of bytes in the value.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (462,24,'SIGNAL','Syntax:\nSIGNAL condition_value\n [SET signal_information_item\n [, signal_information_item] ...]\n\ncondition_value:\n SQLSTATE [VALUE] sqlstate_value\n | condition_name\n\nsignal_information_item:\n condition_information_item_name = simple_value_specification\n\ncondition_information_item_name:\n CLASS_ORIGIN\n | SUBCLASS_ORIGIN\n | MESSAGE_TEXT\n | MYSQL_ERRNO\n | CONSTRAINT_CATALOG\n | CONSTRAINT_SCHEMA\n | CONSTRAINT_NAME\n | CATALOG_NAME\n | SCHEMA_NAME\n | TABLE_NAME\n | COLUMN_NAME\n | CURSOR_NAME\n\ncondition_name, simple_value_specification:\n (see following discussion)\n\nSIGNAL is the way to "return" an error. SIGNAL provides error\ninformation to a handler, to an outer portion of the application, or to\nthe client. Also, it provides control over the error\'s characteristics\n(error number, SQLSTATE value, message). Without SIGNAL, it is\nnecessary to resort to workarounds such as deliberately referring to a\nnonexistent table to cause a routine to return an error.\n\nNo special privileges are required to execute the SIGNAL statement.\n\nThe condition_value in a SIGNAL statement indicates the error value to\nbe returned. It can be an SQLSTATE value (a 5-character string literal)\nor a condition_name that refers to a named condition previously defined\nwith DECLARE ... CONDITION (see [HELP DECLARE CONDITION]).\n\nAn SQLSTATE value can indicate errors, warnings, or "not found." The\nfirst two characters of the value indicate its error class, as\ndiscussed in\nhttp://dev.mysql.com/doc/refman/5.5/en/signal.html#signal-condition-inf\normation-items. Some signal values cause statement termination; see\nhttp://dev.mysql.com/doc/refman/5.5/en/signal.html#signal-effects.\n\nThe SQLSTATE value for a SIGNAL statement should not start with \'00\'\nbecause such values indicate success and are not valid for signaling an\nerror. This is true whether the SQLSTATE value is specified directly in\nthe SIGNAL statement or in a named condition referred to in the\nstatement. If the value is invalid, a Bad SQLSTATE error occurs.\n\nTo signal a generic SQLSTATE value, use \'45000\', which means "unhandled\nuser-defined exception."\n\nThe SIGNAL statement optionally includes a SET clause that contains\nmultiple signal items, in a comma-separated list of\ncondition_information_item_name = simple_value_specification\nassignments.\n\nEach condition_information_item_name may be specified only once in the\nSET clause. Otherwise, a Duplicate condition information item error\noccurs.\n\nValid simple_value_specification designators can be specified using\nstored procedure or function parameters, stored program local variables\ndeclared with DECLARE, user-defined variables, system variables, or\nliterals. A character literal may include a _charset introducer.\n\nFor information about permissible condition_information_item_name\nvalues, see\nhttp://dev.mysql.com/doc/refman/5.5/en/signal.html#signal-condition-inf\normation-items.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/signal.html\n\n','CREATE PROCEDURE p (pval INT)\nBEGIN\n DECLARE specialty CONDITION FOR SQLSTATE \'45000\';\n IF pval = 0 THEN\n SIGNAL SQLSTATE \'01000\';\n ELSEIF pval = 1 THEN\n SIGNAL SQLSTATE \'45000\'\n SET MESSAGE_TEXT = \'An error occurred\';\n ELSEIF pval = 2 THEN\n SIGNAL specialty\n SET MESSAGE_TEXT = \'An error occurred\';\n ELSE\n SIGNAL SQLSTATE \'01000\'\n SET MESSAGE_TEXT = \'A warning occurred\', MYSQL_ERRNO = 1000;\n SIGNAL SQLSTATE \'45000\'\n SET MESSAGE_TEXT = \'An error occurred\', MYSQL_ERRNO = 1001;\n END IF;\nEND;\n','http://dev.mysql.com/doc/refman/5.5/en/signal.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (463,8,'SAVEPOINT','Syntax:\nSAVEPOINT identifier\nROLLBACK [WORK] TO [SAVEPOINT] identifier\nRELEASE SAVEPOINT identifier\n\nInnoDB supports the SQL statements SAVEPOINT, ROLLBACK TO SAVEPOINT,\nRELEASE SAVEPOINT and the optional WORK keyword for ROLLBACK.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/savepoint.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/savepoint.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (464,17,'USER','Syntax:\nUSER()\n\nReturns the current MySQL user name and host name as a string in the\nutf8 character set.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','mysql> SELECT USER();\n -> \'davida@localhost\'\n','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (465,24,'LABELS','Syntax:\n[begin_label:] BEGIN\n [statement_list]\nEND [end_label]\n\n[begin_label:] LOOP\n statement_list\nEND LOOP [end_label]\n\n[begin_label:] REPEAT\n statement_list\nUNTIL search_condition\nEND REPEAT [end_label]\n\n[begin_label:] WHILE search_condition DO\n statement_list\nEND WHILE [end_label]\n\nLabels are permitted for BEGIN ... END blocks and for the LOOP, REPEAT,\nand WHILE statements. Label use for those statements follows these\nrules:\n\no begin_label must be followed by a colon.\n\no begin_label can be given without end_label. If end_label is present,\n it must be the same as begin_label.\n\no end_label cannot be given without begin_label.\n\no Labels at the same nesting level must be distinct.\n\no Labels can be up to 16 characters long.\n\nTo refer to a label within the labeled construct, use an ITERATE or\nLEAVE statement. The following example uses those statements to\ncontinue iterating or terminate the loop:\n\nCREATE PROCEDURE doiterate(p1 INT)\nBEGIN\n label1: LOOP\n SET p1 = p1 + 1;\n IF p1 < 10 THEN ITERATE label1; END IF;\n LEAVE label1;\n END LOOP label1;\nEND;\n\nThe scope of a block label does not include the code for handlers\ndeclared within the block. For details, see [HELP DECLARE HANDLER].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/statement-labels.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/statement-labels.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (466,40,'ALTER TABLE','Syntax:\nALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name\n [alter_specification [, alter_specification] ...]\n [partition_options]\n\nalter_specification:\n table_options\n | ADD [COLUMN] col_name column_definition\n [FIRST | AFTER col_name ]\n | ADD [COLUMN] (col_name column_definition,...)\n | ADD {INDEX|KEY} [index_name]\n [index_type] (index_col_name,...) [index_option] ...\n | ADD [CONSTRAINT [symbol]] PRIMARY KEY\n [index_type] (index_col_name,...) [index_option] ...\n | ADD [CONSTRAINT [symbol]]\n UNIQUE [INDEX|KEY] [index_name]\n [index_type] (index_col_name,...) [index_option] ...\n | ADD FULLTEXT [INDEX|KEY] [index_name]\n (index_col_name,...) [index_option] ...\n | ADD SPATIAL [INDEX|KEY] [index_name]\n (index_col_name,...) [index_option] ...\n | ADD [CONSTRAINT [symbol]]\n FOREIGN KEY [index_name] (index_col_name,...)\n reference_definition\n | ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}\n | CHANGE [COLUMN] old_col_name new_col_name column_definition\n [FIRST|AFTER col_name]\n | MODIFY [COLUMN] col_name column_definition\n [FIRST | AFTER col_name]\n | DROP [COLUMN] col_name\n | DROP PRIMARY KEY\n | DROP {INDEX|KEY} index_name\n | DROP FOREIGN KEY fk_symbol\n | DISABLE KEYS\n | ENABLE KEYS\n | RENAME [TO|AS] new_tbl_name\n | ORDER BY col_name [, col_name] ...\n | CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]\n | [DEFAULT] CHARACTER SET [=] charset_name [COLLATE [=] collation_name]\n | DISCARD TABLESPACE\n | IMPORT TABLESPACE\n | FORCE\n | ADD PARTITION (partition_definition)\n | DROP PARTITION partition_names\n | TRUNCATE PARTITION {partition_names | ALL}\n | COALESCE PARTITION number\n | REORGANIZE PARTITION [partition_names INTO (partition_definitions)]\n | ANALYZE PARTITION {partition_names | ALL}\n | CHECK PARTITION {partition_names | ALL}\n | OPTIMIZE PARTITION {partition_names | ALL}\n | REBUILD PARTITION {partition_names | ALL}\n | REPAIR PARTITION {partition_names | ALL}\n | PARTITION BY partitioning_expression\n | REMOVE PARTITIONING\n\nindex_col_name:\n col_name [(length)] [ASC | DESC]\n\nindex_type:\n USING {BTREE | HASH}\n\nindex_option:\n KEY_BLOCK_SIZE [=] value\n | index_type\n | WITH PARSER parser_name\n | COMMENT \'string\'\n\ntable_options:\n table_option [[,] table_option] ... (see CREATE TABLE options)\n\npartition_options:\n (see CREATE TABLE options)\n\nALTER TABLE changes the structure of a table. For example, you can add\nor delete columns, create or destroy indexes, change the type of\nexisting columns, or rename columns or the table itself. You can also\nchange characteristics such as the storage engine used for the table or\nthe table comment.\n\nFollowing the table name, specify the alterations to be made. If none\nare given, ALTER TABLE does nothing.\n\nThe syntax for many of the permissible alterations is similar to\nclauses of the CREATE TABLE statement. See [HELP CREATE TABLE], for\nmore information.\n\ntable_options signifies table options of the kind that can be used in\nthe CREATE TABLE statement, such as ENGINE, AUTO_INCREMENT,\nAVG_ROW_LENGTH, MAX_ROWS, or ROW_FORMAT. For a list of all table\noptions and a description of each, see [HELP CREATE TABLE]. However,\nALTER TABLE ignores the DATA DIRECTORY and INDEX DIRECTORY table\noptions.\n\npartition_options signifies options that can be used with partitioned\ntables for repartitioning, for adding, dropping, merging, and splitting\npartitions, and for performing partitioning maintenance. It is possible\nfor an ALTER TABLE statement to contain a PARTITION BY or REMOVE\nPARTITIONING clause in an addition to other alter specifications, but\nthe PARTITION BY or REMOVE PARTITIONING clause must be specified last\nafter any other specifications. The ADD PARTITION, DROP PARTITION,\nCOALESCE PARTITION, REORGANIZE PARTITION, ANALYZE PARTITION, CHECK\nPARTITION, and REPAIR PARTITION options cannot be combined with other\nalter specifications in a single ALTER TABLE, since the options just\nlisted act on individual partitions. For a list of partition options\nand a description of each, see [HELP CREATE TABLE]. For additional\ninformation, see\nhttp://dev.mysql.com/doc/refman/5.5/en/alter-table-partition-operations\n.html.\n\nSome operations may result in warnings if attempted on a table for\nwhich the storage engine does not support the operation. These warnings\ncan be displayed with SHOW WARNINGS. See [HELP SHOW WARNINGS].\n\nFor information on troubleshooting ALTER TABLE, see\nhttp://dev.mysql.com/doc/refman/5.5/en/alter-table-problems.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/alter-table.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/alter-table.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (467,33,'MPOINTFROMWKB','MPointFromWKB(wkb[,srid]), MultiPointFromWKB(wkb[,srid])\n\nConstructs a MultiPoint value using its WKB representation and SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (468,23,'CHAR BYTE','The CHAR BYTE data type is an alias for the BINARY data type. This is a\ncompatibility feature.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (469,21,'REPAIR TABLE','Syntax:\nREPAIR [NO_WRITE_TO_BINLOG | LOCAL] TABLE\n tbl_name [, tbl_name] ...\n [QUICK] [EXTENDED] [USE_FRM]\n\nREPAIR TABLE repairs a possibly corrupted table. By default, it has the\nsame effect as myisamchk --recover tbl_name. REPAIR TABLE works for\nMyISAM, ARCHIVE, and CSV tables. See\nhttp://dev.mysql.com/doc/refman/5.5/en/myisam-storage-engine.html, and\nhttp://dev.mysql.com/doc/refman/5.5/en/archive-storage-engine.html, and\nhttp://dev.mysql.com/doc/refman/5.5/en/csv-storage-engine.html\n\nThis statement requires SELECT and INSERT privileges for the table.\n\nREPAIR TABLE is supported for partitioned tables. However, the USE_FRM\noption cannot be used with this statement on a partitioned table.\n\nYou can use ALTER TABLE ... REPAIR PARTITION to repair one or more\npartitions; for more information, see [HELP ALTER TABLE], and\nhttp://dev.mysql.com/doc/refman/5.5/en/partitioning-maintenance.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/repair-table.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/repair-table.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (470,18,'MERGE','The MERGE storage engine, also known as the MRG_MyISAM engine, is a\ncollection of identical MyISAM tables that can be used as one.\n"Identical" means that all tables have identical column and index\ninformation. You cannot merge MyISAM tables in which the columns are\nlisted in a different order, do not have exactly the same columns, or\nhave the indexes in different order. However, any or all of the MyISAM\ntables can be compressed with myisampack. See\nhttp://dev.mysql.com/doc/refman/5.5/en/myisampack.html. Differences in\ntable options such as AVG_ROW_LENGTH, MAX_ROWS, or PACK_KEYS do not\nmatter.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/merge-storage-engine.html\n\n','mysql> CREATE TABLE t1 (\n -> a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,\n -> message CHAR(20)) ENGINE=MyISAM;\nmysql> CREATE TABLE t2 (\n -> a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,\n -> message CHAR(20)) ENGINE=MyISAM;\nmysql> INSERT INTO t1 (message) VALUES (\'Testing\'),(\'table\'),(\'t1\');\nmysql> INSERT INTO t2 (message) VALUES (\'Testing\'),(\'table\'),(\'t2\');\nmysql> CREATE TABLE total (\n -> a INT NOT NULL AUTO_INCREMENT,\n -> message CHAR(20), INDEX(a))\n -> ENGINE=MERGE UNION=(t1,t2) INSERT_METHOD=LAST;\n','http://dev.mysql.com/doc/refman/5.5/en/merge-storage-engine.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (471,40,'CREATE TABLE','Syntax:\nCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name\n (create_definition,...)\n [table_options]\n [partition_options]\n\nOr:\n\nCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name\n [(create_definition,...)]\n [table_options]\n [partition_options]\n select_statement\n\nOr:\n\nCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name\n { LIKE old_tbl_name | (LIKE old_tbl_name) }\n\ncreate_definition:\n col_name column_definition\n | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...)\n [index_option] ...\n | {INDEX|KEY} [index_name] [index_type] (index_col_name,...)\n [index_option] ...\n | [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY]\n [index_name] [index_type] (index_col_name,...)\n [index_option] ...\n | {FULLTEXT|SPATIAL} [INDEX|KEY] [index_name] (index_col_name,...)\n [index_option] ...\n | [CONSTRAINT [symbol]] FOREIGN KEY\n [index_name] (index_col_name,...) reference_definition\n | CHECK (expr)\n\ncolumn_definition:\n data_type [NOT NULL | NULL] [DEFAULT default_value]\n [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY]\n [COMMENT \'string\']\n [COLUMN_FORMAT {FIXED|DYNAMIC|DEFAULT}]\n [STORAGE {DISK|MEMORY|DEFAULT}]\n [reference_definition]\n\ndata_type:\n BIT[(length)]\n | TINYINT[(length)] [UNSIGNED] [ZEROFILL]\n | SMALLINT[(length)] [UNSIGNED] [ZEROFILL]\n | MEDIUMINT[(length)] [UNSIGNED] [ZEROFILL]\n | INT[(length)] [UNSIGNED] [ZEROFILL]\n | INTEGER[(length)] [UNSIGNED] [ZEROFILL]\n | BIGINT[(length)] [UNSIGNED] [ZEROFILL]\n | REAL[(length,decimals)] [UNSIGNED] [ZEROFILL]\n | DOUBLE[(length,decimals)] [UNSIGNED] [ZEROFILL]\n | FLOAT[(length,decimals)] [UNSIGNED] [ZEROFILL]\n | DECIMAL[(length[,decimals])] [UNSIGNED] [ZEROFILL]\n | NUMERIC[(length[,decimals])] [UNSIGNED] [ZEROFILL]\n | DATE\n | TIME\n | TIMESTAMP\n | DATETIME\n | YEAR\n | CHAR[(length)]\n [CHARACTER SET charset_name] [COLLATE collation_name]\n | VARCHAR(length)\n [CHARACTER SET charset_name] [COLLATE collation_name]\n | BINARY[(length)]\n | VARBINARY(length)\n | TINYBLOB\n | BLOB\n | MEDIUMBLOB\n | LONGBLOB\n | TINYTEXT [BINARY]\n [CHARACTER SET charset_name] [COLLATE collation_name]\n | TEXT [BINARY]\n [CHARACTER SET charset_name] [COLLATE collation_name]\n | MEDIUMTEXT [BINARY]\n [CHARACTER SET charset_name] [COLLATE collation_name]\n | LONGTEXT [BINARY]\n [CHARACTER SET charset_name] [COLLATE collation_name]\n | ENUM(value1,value2,value3,...)\n [CHARACTER SET charset_name] [COLLATE collation_name]\n | SET(value1,value2,value3,...)\n [CHARACTER SET charset_name] [COLLATE collation_name]\n | spatial_type\n\nindex_col_name:\n col_name [(length)] [ASC | DESC]\n\nindex_type:\n USING {BTREE | HASH}\n\nindex_option:\n KEY_BLOCK_SIZE [=] value\n | index_type\n | WITH PARSER parser_name\n | COMMENT \'string\'\n\nreference_definition:\n REFERENCES tbl_name (index_col_name,...)\n [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE]\n [ON DELETE reference_option]\n [ON UPDATE reference_option]\n\nreference_option:\n RESTRICT | CASCADE | SET NULL | NO ACTION\n\ntable_options:\n table_option [[,] table_option] ...\n\ntable_option:\n ENGINE [=] engine_name\n | AUTO_INCREMENT [=] value\n | AVG_ROW_LENGTH [=] value\n | [DEFAULT] CHARACTER SET [=] charset_name\n | CHECKSUM [=] {0 | 1}\n | [DEFAULT] COLLATE [=] collation_name\n | COMMENT [=] \'string\'\n | CONNECTION [=] \'connect_string\'\n | DATA DIRECTORY [=] \'absolute path to directory\'\n | DELAY_KEY_WRITE [=] {0 | 1}\n | INDEX DIRECTORY [=] \'absolute path to directory\'\n | INSERT_METHOD [=] { NO | FIRST | LAST }\n | KEY_BLOCK_SIZE [=] value\n | MAX_ROWS [=] value\n | MIN_ROWS [=] value\n | PACK_KEYS [=] {0 | 1 | DEFAULT}\n | PASSWORD [=] \'string\'\n | ROW_FORMAT [=] {DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT}\n | TABLESPACE tablespace_name [STORAGE {DISK|MEMORY|DEFAULT}]\n | UNION [=] (tbl_name[,tbl_name]...)\n\npartition_options:\n PARTITION BY\n { [LINEAR] HASH(expr)\n | [LINEAR] KEY [ALGORITHM={1|2}] (column_list)\n | RANGE{(expr) | COLUMNS(column_list)}\n | LIST{(expr) | COLUMNS(column_list)} }\n [PARTITIONS num]\n [SUBPARTITION BY\n { [LINEAR] HASH(expr)\n | [LINEAR] KEY [ALGORITHM={1|2}] (column_list) }\n [SUBPARTITIONS num]\n ]\n [(partition_definition [, partition_definition] ...)]\n\npartition_definition:\n PARTITION partition_name\n [VALUES \n {LESS THAN {(expr | value_list) | MAXVALUE} \n | \n IN (value_list)}]\n [[STORAGE] ENGINE [=] engine_name]\n [COMMENT [=] \'comment_text\' ]\n [DATA DIRECTORY [=] \'data_dir\']\n [INDEX DIRECTORY [=] \'index_dir\']\n [MAX_ROWS [=] max_number_of_rows]\n [MIN_ROWS [=] min_number_of_rows]\n [TABLESPACE [=] tablespace_name]\n [NODEGROUP [=] node_group_id]\n [(subpartition_definition [, subpartition_definition] ...)]\n\nsubpartition_definition:\n SUBPARTITION logical_name\n [[STORAGE] ENGINE [=] engine_name]\n [COMMENT [=] \'comment_text\' ]\n [DATA DIRECTORY [=] \'data_dir\']\n [INDEX DIRECTORY [=] \'index_dir\']\n [MAX_ROWS [=] max_number_of_rows]\n [MIN_ROWS [=] min_number_of_rows]\n [TABLESPACE [=] tablespace_name]\n [NODEGROUP [=] node_group_id]\n\nselect_statement:\n [IGNORE | REPLACE] [AS] SELECT ... (Some valid select statement)\n\nCREATE TABLE creates a table with the given name. You must have the\nCREATE privilege for the table.\n\nRules for permissible table names are given in\nhttp://dev.mysql.com/doc/refman/5.5/en/identifiers.html. By default,\nthe table is created in the default database, using the InnoDB storage\nengine. An error occurs if the table exists, if there is no default\ndatabase, or if the database does not exist.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-table.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/create-table.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (472,19,'>','Syntax:\n>\n\nGreater than:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT 2 > 2;\n -> 0\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (473,21,'ANALYZE TABLE','Syntax:\nANALYZE [NO_WRITE_TO_BINLOG | LOCAL] TABLE\n tbl_name [, tbl_name] ...\n\nANALYZE TABLE analyzes and stores the key distribution for a table.\nDuring the analysis, the table is locked with a read lock for InnoDB\nand MyISAM. This statement works with InnoDB, NDB, and MyISAM tables.\nFor MyISAM tables, this statement is equivalent to using myisamchk\n--analyze.\n\nFor more information on how the analysis works within InnoDB, see\nhttp://dev.mysql.com/doc/refman/5.5/en/innodb-statistics-estimation.htm\nl. Also see\nhttp://dev.mysql.com/doc/refman/5.5/en/innodb-analyze-table-complexity.\nhtml and\nhttp://dev.mysql.com/doc/refman/5.5/en/innodb-restrictions.html.\n\nMySQL uses the stored key distribution to decide the order in which\ntables should be joined when you perform a join on something other than\na constant. In addition, key distributions can be used when deciding\nwhich indexes to use for a specific table within a query.\n\nThis statement requires SELECT and INSERT privileges for the table.\n\nANALYZE TABLE is supported for partitioned tables, and you can use\nALTER TABLE ... ANALYZE PARTITION to analyze one or more partitions;\nfor more information, see [HELP ALTER TABLE], and\nhttp://dev.mysql.com/doc/refman/5.5/en/partitioning-maintenance.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/analyze-table.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/analyze-table.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (474,32,'MICROSECOND','Syntax:\nMICROSECOND(expr)\n\nReturns the microseconds from the time or datetime expression expr as a\nnumber in the range from 0 to 999999.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT MICROSECOND(\'12:00:00.123456\');\n -> 123456\nmysql> SELECT MICROSECOND(\'2009-12-31 23:59:59.000010\');\n -> 10\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (475,40,'CONSTRAINT','MySQL supports foreign keys, which let you cross-reference related data\nacross tables, and foreign key constraints, which help keep this\nspread-out data consistent. The essential syntax for a foreign key\nconstraint definition in a CREATE TABLE or ALTER TABLE statement looks\nlike this:\n\n[CONSTRAINT [symbol]] FOREIGN KEY\n [index_name] (index_col_name, ...)\n REFERENCES tbl_name (index_col_name,...)\n [ON DELETE reference_option]\n [ON UPDATE reference_option]\n\nreference_option:\n RESTRICT | CASCADE | SET NULL | NO ACTION\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-table-foreign-keys.html\n\n','CREATE TABLE product (\n category INT NOT NULL, id INT NOT NULL,\n price DECIMAL,\n PRIMARY KEY(category, id)\n) ENGINE=INNODB;\n\nCREATE TABLE customer (\n id INT NOT NULL,\n PRIMARY KEY (id)\n) ENGINE=INNODB;\n\nCREATE TABLE product_order (\n no INT NOT NULL AUTO_INCREMENT,\n product_category INT NOT NULL,\n product_id INT NOT NULL,\n customer_id INT NOT NULL,\n\n PRIMARY KEY(no),\n INDEX (product_category, product_id),\n INDEX (customer_id),\n\n FOREIGN KEY (product_category, product_id)\n REFERENCES product(category, id)\n ON UPDATE CASCADE ON DELETE RESTRICT,\n\n FOREIGN KEY (customer_id)\n REFERENCES customer(id)\n) ENGINE=INNODB;\n','http://dev.mysql.com/doc/refman/5.5/en/create-table-foreign-keys.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (476,40,'CREATE SERVER','Syntax:\nCREATE SERVER server_name\n FOREIGN DATA WRAPPER wrapper_name\n OPTIONS (option [, option] ...)\n\noption:\n { HOST character-literal\n | DATABASE character-literal\n | USER character-literal\n | PASSWORD character-literal\n | SOCKET character-literal\n | OWNER character-literal\n | PORT numeric-literal }\n\nThis statement creates the definition of a server for use with the\nFEDERATED storage engine. The CREATE SERVER statement creates a new row\nin the servers table in the mysql database. This statement requires the\nSUPER privilege.\n\nThe server_name should be a unique reference to the server. Server\ndefinitions are global within the scope of the server, it is not\npossible to qualify the server definition to a specific database.\nserver_name has a maximum length of 64 characters (names longer than 64\ncharacters are silently truncated), and is case insensitive. You may\nspecify the name as a quoted string.\n\nThe wrapper_name should be mysql, and may be quoted with single\nquotation marks. Other values for wrapper_name are not currently\nsupported.\n\nFor each option you must specify either a character literal or numeric\nliteral. Character literals are UTF-8, support a maximum length of 64\ncharacters and default to a blank (empty) string. String literals are\nsilently truncated to 64 characters. Numeric literals must be a number\nbetween 0 and 9999, default value is 0.\n\n*Note*: The OWNER option is currently not applied, and has no effect on\nthe ownership or operation of the server connection that is created.\n\nThe CREATE SERVER statement creates an entry in the mysql.servers table\nthat can later be used with the CREATE TABLE statement when creating a\nFEDERATED table. The options that you specify will be used to populate\nthe columns in the mysql.servers table. The table columns are\nServer_name, Host, Db, Username, Password, Port and Socket.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-server.html\n\n','CREATE SERVER s\nFOREIGN DATA WRAPPER mysql\nOPTIONS (USER \'Remote\', HOST \'192.168.1.106\', DATABASE \'test\');\n','http://dev.mysql.com/doc/refman/5.5/en/create-server.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (477,38,'FIELD','Syntax:\nFIELD(str,str1,str2,str3,...)\n\nReturns the index (position) of str in the str1, str2, str3, ... list.\nReturns 0 if str is not found.\n\nIf all arguments to FIELD() are strings, all arguments are compared as\nstrings. If all arguments are numbers, they are compared as numbers.\nOtherwise, the arguments are compared as double.\n\nIf str is NULL, the return value is 0 because NULL fails equality\ncomparison with any value. FIELD() is the complement of ELT().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT FIELD(\'ej\', \'Hej\', \'ej\', \'Heja\', \'hej\', \'foo\');\n -> 2\nmysql> SELECT FIELD(\'fo\', \'Hej\', \'ej\', \'Heja\', \'hej\', \'foo\');\n -> 0\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (478,32,'MAKETIME','Syntax:\nMAKETIME(hour,minute,second)\n\nReturns a time value calculated from the hour, minute, and second\narguments.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT MAKETIME(12,15,30);\n -> \'12:15:30\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (479,32,'CURDATE','Syntax:\nCURDATE()\n\nReturns the current date as a value in \'YYYY-MM-DD\' or YYYYMMDD format,\ndepending on whether the function is used in a string or numeric\ncontext.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT CURDATE();\n -> \'2008-06-13\'\nmysql> SELECT CURDATE() + 0;\n -> 20080613\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (480,10,'SET PASSWORD','Syntax:\nSET PASSWORD [FOR user] =\n {\n PASSWORD(\'cleartext password\')\n | OLD_PASSWORD(\'cleartext password\')\n | \'encrypted password\'\n }\n\nThe SET PASSWORD statement assigns a password to a MySQL user account:\n\no With no FOR user clause, this statement sets the password for the\n current user:\n\nSET PASSWORD = PASSWORD(\'cleartext password\');\n\n Any client who connects to the server using a nonanonymous account\n can change the password for that account. To see which account the\n server authenticated you for, invoke the CURRENT_USER() function:\n\nSELECT CURRENT_USER();\n\no With a FOR user clause, this statement sets the password for the\n named account, which must exist:\n\nSET PASSWORD FOR \'jeffrey\'@\'localhost\' = PASSWORD(\'cleartext password\');\n\n In this case, you must have the UPDATE privilege for the mysql\n database.\n\nWhen the read_only system variable is enabled, SET PASSWORD requires\nthe SUPER privilege, in addition to any other required privileges.\n\nIf a FOR user clause is given, the account name uses the format\ndescribed in http://dev.mysql.com/doc/refman/5.5/en/account-names.html.\nThe user value should be given as \'user_name\'@\'host_name\', where\n\'user_name\' and \'host_name\' are exactly as listed in the User and Host\ncolumns of the account\'s mysql.user table row. (If you specify only a\nuser name, a host name of \'%\' is used.) For example, to set the\npassword for an account with User and Host column values of \'bob\' and\n\'%.example.org\', write the statement like this:\n\nSET PASSWORD FOR \'bob\'@\'%.example.org\' = PASSWORD(\'cleartext password\');\n\nThe password can be specified in these ways:\n\no Using the PASSWORD() function\n\n The function argument is the cleartext (unencrypted) password.\n PASSWORD() hashes the password and returns the encrypted password\n string.\n\n The old_passwords system variable value determines the hashing method\n used by PASSWORD(). It should be set to a value compatible with the\n hash format required by the account authentication plugin. For\n example, if the account uses the mysql_native_password authentication\n plugin, old_passwords should be 0 for PASSWORD() to produce a hash\n value in the correct format. For mysql_old_password, old_passwords\n should be 1.\n\no Using the OLD_PASSWORD() function:\n\n The function argument is the cleartext (unencrypted) password.\n OLD_PASSWORD() hashes the password using pre-4.1 hashing and returns\n the encrypted password string. This hashing method is appropriate\n only for accounts that use the mysql_old_password authentication\n plugin.\n\no Using an already encrypted password string\n\n The password is specified as a string literal. It must represent the\n already encrypted password value, in the hash format required by the\n authentication method used for the account.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/set-password.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/set-password.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (481,40,'ALTER TABLESPACE','Syntax:\nALTER TABLESPACE tablespace_name\n {ADD|DROP} DATAFILE \'file_name\'\n [INITIAL_SIZE [=] size]\n [WAIT]\n ENGINE [=] engine_name\n\nThis statement can be used either to add a new data file, or to drop a\ndata file from a tablespace.\n\nThe ADD DATAFILE variant enables you to specify an initial size using\nan INITIAL_SIZE clause, where size is measured in bytes; the default\nvalue is 134217728 (128 MB). Prior to MySQL Cluster NDB 7.2.14, this\nvalue was required to be specified using digits (Bug #13116514, Bug\n#16104705, Bug #62858); in MySQL Cluster NDB 7.2.14 and later, you may\noptionally follow size with a one-letter abbreviation for an order of\nmagnitude, similar to those used in my.cnf. Generally, this is one of\nthe letters M (megabytes) or G (gigabytes).\n\n*Note*: All MySQL Cluster Disk Data objects share the same namespace.\nThis means that each Disk Data object must be uniquely named (and not\nmerely each Disk Data object of a given type). For example, you cannot\nhave a tablespace and an data file with the same name, or an undo log\nfile and a tablespace with the same name.\n\nOn 32-bit systems, the maximum supported value for INITIAL_SIZE is\n4294967296 (4 GB). (Bug #29186)\n\nINITIAL_SIZE is rounded, explicitly, as for CREATE TABLESPACE.\n\nOnce a data file has been created, its size cannot be changed; however,\nyou can add more data files to the tablespace using additional ALTER\nTABLESPACE ... ADD DATAFILE statements.\n\nUsing DROP DATAFILE with ALTER TABLESPACE drops the data file\n\'file_name\' from the tablespace. You cannot drop a data file from a\ntablespace which is in use by any table; in other words, the data file\nmust be empty (no extents used). See\nhttp://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-disk-data-objects.\nhtml. In addition, any data file to be dropped must previously have\nbeen added to the tablespace with CREATE TABLESPACE or ALTER\nTABLESPACE.\n\nBoth ALTER TABLESPACE ... ADD DATAFILE and ALTER TABLESPACE ... DROP\nDATAFILE require an ENGINE clause which specifies the storage engine\nused by the tablespace. Currently, the only accepted values for\nengine_name are NDB and NDBCLUSTER.\n\nWAIT is parsed but otherwise ignored, and so has no effect in MySQL\n5.5. It is intended for future expansion.\n\nWhen ALTER TABLESPACE ... ADD DATAFILE is used with ENGINE = NDB, a\ndata file is created on each Cluster data node. You can verify that the\ndata files were created and obtain information about them by querying\nthe INFORMATION_SCHEMA.FILES table. For example, the following query\nshows all data files belonging to the tablespace named newts:\n\nmysql> SELECT LOGFILE_GROUP_NAME, FILE_NAME, EXTRA\n -> FROM INFORMATION_SCHEMA.FILES\n -> WHERE TABLESPACE_NAME = \'newts\' AND FILE_TYPE = \'DATAFILE\';\n+--------------------+--------------+----------------+\n| LOGFILE_GROUP_NAME | FILE_NAME | EXTRA |\n+--------------------+--------------+----------------+\n| lg_3 | newdata.dat | CLUSTER_NODE=3 |\n| lg_3 | newdata.dat | CLUSTER_NODE=4 |\n| lg_3 | newdata2.dat | CLUSTER_NODE=3 |\n| lg_3 | newdata2.dat | CLUSTER_NODE=4 |\n+--------------------+--------------+----------------+\n2 rows in set (0.03 sec)\n\nSee http://dev.mysql.com/doc/refman/5.5/en/files-table.html.\n\nALTER TABLESPACE is useful only with Disk Data storage for MySQL\nCluster. See\nhttp://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-disk-data.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/alter-tablespace.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/alter-tablespace.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (482,17,'DATABASE','Syntax:\nDATABASE()\n\nReturns the default (current) database name as a string in the utf8\ncharacter set. If there is no default database, DATABASE() returns\nNULL. Within a stored routine, the default database is the database\nthat the routine is associated with, which is not necessarily the same\nas the database that is the default in the calling context.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','mysql> SELECT DATABASE();\n -> \'test\'\n','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (483,6,'IF FUNCTION','Syntax:\nIF(expr1,expr2,expr3)\n\nIf expr1 is TRUE (expr1 <> 0 and expr1 <> NULL) then IF() returns\nexpr2; otherwise it returns expr3. IF() returns a numeric or string\nvalue, depending on the context in which it is used.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/control-flow-functions.html\n\n','mysql> SELECT IF(1>2,2,3);\n -> 3\nmysql> SELECT IF(1<2,\'yes\',\'no\');\n -> \'yes\'\nmysql> SELECT IF(STRCMP(\'test\',\'test1\'),\'no\',\'yes\');\n -> \'no\'\n','http://dev.mysql.com/doc/refman/5.5/en/control-flow-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (484,23,'ENUM','ENUM(\'value1\',\'value2\',...) [CHARACTER SET charset_name] [COLLATE\ncollation_name]\n\nAn enumeration. A string object that can have only one value, chosen\nfrom the list of values \'value1\', \'value2\', ..., NULL or the special \'\'\nerror value. ENUM values are represented internally as integers.\n\nAn ENUM column can have a maximum of 65,535 distinct elements. (The\npractical limit is less than 3000.) A table can have no more than 255\nunique element list definitions among its ENUM and SET columns\nconsidered as a group. For more information on these limits, see\nhttp://dev.mysql.com/doc/refman/5.5/en/limits-frm-file.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (485,33,'POINTFROMWKB','PointFromWKB(wkb[,srid])\n\nConstructs a Point value using its WKB representation and SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (486,3,'POWER','Syntax:\nPOWER(X,Y)\n\nThis is a synonym for POW().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (487,3,'ATAN','Syntax:\nATAN(X)\n\nReturns the arc tangent of X, that is, the value whose tangent is X.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT ATAN(2);\n -> 1.1071487177941\nmysql> SELECT ATAN(-2);\n -> -1.1071487177941\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (488,38,'STRCMP','Syntax:\nSTRCMP(expr1,expr2)\n\nSTRCMP() returns 0 if the strings are the same, -1 if the first\nargument is smaller than the second according to the current sort\norder, and 1 otherwise.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-comparison-functions.html\n\n','mysql> SELECT STRCMP(\'text\', \'text2\');\n -> -1\nmysql> SELECT STRCMP(\'text2\', \'text\');\n -> 1\nmysql> SELECT STRCMP(\'text\', \'text\');\n -> 0\n','http://dev.mysql.com/doc/refman/5.5/en/string-comparison-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (489,28,'INSERT DELAYED','Syntax:\nINSERT DELAYED ...\n\nThe DELAYED option for the INSERT statement is a MySQL extension to\nstandard SQL that is very useful if you have clients that cannot or\nneed not wait for the INSERT to complete. This is a common situation\nwhen you use MySQL for logging and you also periodically run SELECT and\nUPDATE statements that take a long time to complete.\n\nWhen a client uses INSERT DELAYED, it gets an okay from the server at\nonce, and the row is queued to be inserted when the table is not in use\nby any other thread.\n\nAnother major benefit of using INSERT DELAYED is that inserts from many\nclients are bundled together and written in one block. This is much\nfaster than performing many separate inserts.\n\nNote that INSERT DELAYED is slower than a normal INSERT if the table is\nnot otherwise in use. There is also the additional overhead for the\nserver to handle a separate thread for each table for which there are\ndelayed rows. This means that you should use INSERT DELAYED only when\nyou are really sure that you need it.\n\nThe queued rows are held only in memory until they are inserted into\nthe table. This means that if you terminate mysqld forcibly (for\nexample, with kill -9) or if mysqld dies unexpectedly, any queued rows\nthat have not been written to disk are lost.\n\nThere are some constraints on the use of DELAYED:\n\no INSERT DELAYED works only with MyISAM, MEMORY, ARCHIVE, and BLACKHOLE\n tables. For engines that do not support DELAYED, an error occurs.\n\no An error occurs for INSERT DELAYED if used with a table that has been\n locked with LOCK TABLES because the insert must be handled by a\n separate thread, not by the session that holds the lock.\n\no For MyISAM tables, if there are no free blocks in the middle of the\n data file, concurrent SELECT and INSERT statements are supported.\n Under these circumstances, you very seldom need to use INSERT DELAYED\n with MyISAM.\n\no INSERT DELAYED should be used only for INSERT statements that specify\n value lists. The server ignores DELAYED for INSERT ... SELECT or\n INSERT ... ON DUPLICATE KEY UPDATE statements.\n\no Because the INSERT DELAYED statement returns immediately, before the\n rows are inserted, you cannot use LAST_INSERT_ID() to get the\n AUTO_INCREMENT value that the statement might generate.\n\no DELAYED rows are not visible to SELECT statements until they actually\n have been inserted.\n\no Prior to MySQL 5.5.7, INSERT DELAYED was treated as a normal INSERT\n if the statement inserted multiple rows, binary logging was enabled,\n and the global logging format was statement-based (that is, whenever\n binlog_format was set to STATEMENT). Beginning with MySQL 5.5.7,\n INSERT DELAYED is always handled as a simple INSERT (that is, without\n the DELAYED option) whenever the value of binlog_format is STATEMENT\n or MIXED. (In the latter case, the statement no longer triggers a\n switch to row-based logging, and so is logged using the\n statement-based format.)\n\n This does not apply when using row-based binary logging mode\n (binlog_format set to ROW), in which INSERT DELAYED statements are\n always executed using the DELAYED option as specified, and logged as\n row-update events.\n\no DELAYED is ignored on slave replication servers, so that INSERT\n DELAYED is treated as a normal INSERT on slaves. This is because\n DELAYED could cause the slave to have different data than the master.\n\no Pending INSERT DELAYED statements are lost if a table is write locked\n and ALTER TABLE is used to modify the table structure.\n\no INSERT DELAYED is not supported for views.\n\no INSERT DELAYED is not supported for partitioned tables.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/insert-delayed.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/insert-delayed.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (490,27,'SHOW PROFILE','Syntax:\nSHOW PROFILE [type [, type] ... ]\n [FOR QUERY n]\n [LIMIT row_count [OFFSET offset]]\n\ntype:\n ALL\n | BLOCK IO\n | CONTEXT SWITCHES\n | CPU\n | IPC\n | MEMORY\n | PAGE FAULTS\n | SOURCE\n | SWAPS\n\nThe SHOW PROFILE and SHOW PROFILES statements display profiling\ninformation that indicates resource usage for statements executed\nduring the course of the current session.\n\nProfiling is controlled by the profiling session variable, which has a\ndefault value of 0 (OFF). Profiling is enabled by setting profiling to\n1 or ON:\n\nmysql> SET profiling = 1;\n\nSHOW PROFILES displays a list of the most recent statements sent to the\nserver. The size of the list is controlled by the\nprofiling_history_size session variable, which has a default value of\n15. The maximum value is 100. Setting the value to 0 has the practical\neffect of disabling profiling.\n\nAll statements are profiled except SHOW PROFILE and SHOW PROFILES, so\nyou will find neither of those statements in the profile list.\nMalformed statements are profiled. For example, SHOW PROFILING is an\nillegal statement, and a syntax error occurs if you try to execute it,\nbut it will show up in the profiling list.\n\nSHOW PROFILE displays detailed information about a single statement.\nWithout the FOR QUERY n clause, the output pertains to the most\nrecently executed statement. If FOR QUERY n is included, SHOW PROFILE\ndisplays information for statement n. The values of n correspond to the\nQuery_ID values displayed by SHOW PROFILES.\n\nThe LIMIT row_count clause may be given to limit the output to\nrow_count rows. If LIMIT is given, OFFSET offset may be added to begin\nthe output offset rows into the full set of rows.\n\nBy default, SHOW PROFILE displays Status and Duration columns. The\nStatus values are like the State values displayed by SHOW PROCESSLIST,\nalthough there might be some minor differences in interpretion for the\ntwo statements for some status values (see\nhttp://dev.mysql.com/doc/refman/5.5/en/thread-information.html).\n\nOptional type values may be specified to display specific additional\ntypes of information:\n\no ALL displays all information\n\no BLOCK IO displays counts for block input and output operations\n\no CONTEXT SWITCHES displays counts for voluntary and involuntary\n context switches\n\no CPU displays user and system CPU usage times\n\no IPC displays counts for messages sent and received\n\no MEMORY is not currently implemented\n\no PAGE FAULTS displays counts for major and minor page faults\n\no SOURCE displays the names of functions from the source code, together\n with the name and line number of the file in which the function\n occurs\n\no SWAPS displays swap counts\n\nProfiling is enabled per session. When a session ends, its profiling\ninformation is lost.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-profile.html\n\n','mysql> SELECT @@profiling;\n+-------------+\n| @@profiling |\n+-------------+\n| 0 |\n+-------------+\n1 row in set (0.00 sec)\n\nmysql> SET profiling = 1;\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> DROP TABLE IF EXISTS t1;\nQuery OK, 0 rows affected, 1 warning (0.00 sec)\n\nmysql> CREATE TABLE T1 (id INT);\nQuery OK, 0 rows affected (0.01 sec)\n\nmysql> SHOW PROFILES;\n+----------+----------+--------------------------+\n| Query_ID | Duration | Query |\n+----------+----------+--------------------------+\n| 0 | 0.000088 | SET PROFILING = 1 |\n| 1 | 0.000136 | DROP TABLE IF EXISTS t1 |\n| 2 | 0.011947 | CREATE TABLE t1 (id INT) |\n+----------+----------+--------------------------+\n3 rows in set (0.00 sec)\n\nmysql> SHOW PROFILE;\n+----------------------+----------+\n| Status | Duration |\n+----------------------+----------+\n| checking permissions | 0.000040 |\n| creating table | 0.000056 |\n| After create | 0.011363 |\n| query end | 0.000375 |\n| freeing items | 0.000089 |\n| logging slow query | 0.000019 |\n| cleaning up | 0.000005 |\n+----------------------+----------+\n7 rows in set (0.00 sec)\n\nmysql> SHOW PROFILE FOR QUERY 1;\n+--------------------+----------+\n| Status | Duration |\n+--------------------+----------+\n| query end | 0.000107 |\n| freeing items | 0.000008 |\n| logging slow query | 0.000015 |\n| cleaning up | 0.000006 |\n+--------------------+----------+\n4 rows in set (0.00 sec)\n\nmysql> SHOW PROFILE CPU FOR QUERY 2;\n+----------------------+----------+----------+------------+\n| Status | Duration | CPU_user | CPU_system |\n+----------------------+----------+----------+------------+\n| checking permissions | 0.000040 | 0.000038 | 0.000002 |\n| creating table | 0.000056 | 0.000028 | 0.000028 |\n| After create | 0.011363 | 0.000217 | 0.001571 |\n| query end | 0.000375 | 0.000013 | 0.000028 |\n| freeing items | 0.000089 | 0.000010 | 0.000014 |\n| logging slow query | 0.000019 | 0.000009 | 0.000010 |\n| cleaning up | 0.000005 | 0.000003 | 0.000002 |\n+----------------------+----------+----------+------------+\n7 rows in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.5/en/show-profile.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (491,27,'SHOW PROCEDURE CODE','Syntax:\nSHOW PROCEDURE CODE proc_name\n\nThis statement is a MySQL extension that is available only for servers\nthat have been built with debugging support. It displays a\nrepresentation of the internal implementation of the named stored\nprocedure. A similar statement, SHOW FUNCTION CODE, displays\ninformation about stored functions (see [HELP SHOW FUNCTION CODE]).\n\nTo use either statement, you must be the owner of the routine or have\nSELECT access to the mysql.proc table.\n\nIf the named routine is available, each statement produces a result\nset. Each row in the result set corresponds to one "instruction" in the\nroutine. The first column is Pos, which is an ordinal number beginning\nwith 0. The second column is Instruction, which contains an SQL\nstatement (usually changed from the original source), or a directive\nwhich has meaning only to the stored-routine handler.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-procedure-code.html\n\n','mysql> DELIMITER //\nmysql> CREATE PROCEDURE p1 ()\n -> BEGIN\n -> DECLARE fanta INT DEFAULT 55;\n -> DROP TABLE t2;\n -> LOOP\n -> INSERT INTO t3 VALUES (fanta);\n -> END LOOP;\n -> END//\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SHOW PROCEDURE CODE p1//\n+-----+----------------------------------------+\n| Pos | Instruction |\n+-----+----------------------------------------+\n| 0 | set fanta@0 55 |\n| 1 | stmt 9 "DROP TABLE t2" |\n| 2 | stmt 5 "INSERT INTO t3 VALUES (fanta)" |\n| 3 | jump 2 |\n+-----+----------------------------------------+\n4 rows in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.5/en/show-procedure-code.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (492,23,'MEDIUMTEXT','MEDIUMTEXT [CHARACTER SET charset_name] [COLLATE collation_name]\n\nA TEXT column with a maximum length of 16,777,215 (224 - 1) characters.\nThe effective maximum length is less if the value contains multibyte\ncharacters. Each MEDIUMTEXT value is stored using a 3-byte length\nprefix that indicates the number of bytes in the value.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (493,3,'LN','Syntax:\nLN(X)\n\nReturns the natural logarithm of X; that is, the base-e logarithm of X.\nIf X is less than or equal to 0, then NULL is returned.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT LN(2);\n -> 0.69314718055995\nmysql> SELECT LN(-2);\n -> NULL\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (494,24,'RETURN','Syntax:\nRETURN expr\n\nThe RETURN statement terminates execution of a stored function and\nreturns the value expr to the function caller. There must be at least\none RETURN statement in a stored function. There may be more than one\nif the function has multiple exit points.\n\nThis statement is not used in stored procedures, triggers, or events.\nThe LEAVE statement can be used to exit a stored program of those\ntypes.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/return.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/return.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (495,27,'SHOW COLLATION','Syntax:\nSHOW COLLATION\n [LIKE \'pattern\' | WHERE expr]\n\nThis statement lists collations supported by the server. By default,\nthe output from SHOW COLLATION includes all available collations. The\nLIKE clause, if present, indicates which collation names to match. The\nWHERE clause can be given to select rows using more general conditions,\nas discussed in\nhttp://dev.mysql.com/doc/refman/5.5/en/extended-show.html. For example:\n\nmysql> SHOW COLLATION LIKE \'latin1%\';\n+-------------------+---------+----+---------+----------+---------+\n| Collation | Charset | Id | Default | Compiled | Sortlen |\n+-------------------+---------+----+---------+----------+---------+\n| latin1_german1_ci | latin1 | 5 | | | 0 |\n| latin1_swedish_ci | latin1 | 8 | Yes | Yes | 0 |\n| latin1_danish_ci | latin1 | 15 | | | 0 |\n| latin1_german2_ci | latin1 | 31 | | Yes | 2 |\n| latin1_bin | latin1 | 47 | | Yes | 0 |\n| latin1_general_ci | latin1 | 48 | | | 0 |\n| latin1_general_cs | latin1 | 49 | | | 0 |\n| latin1_spanish_ci | latin1 | 94 | | | 0 |\n+-------------------+---------+----+---------+----------+---------+\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-collation.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-collation.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (496,3,'LOG','Syntax:\nLOG(X), LOG(B,X)\n\nIf called with one parameter, this function returns the natural\nlogarithm of X. If X is less than or equal to 0, then NULL is returned.\n\nThe inverse of this function (when called with a single argument) is\nthe EXP() function.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT LOG(2);\n -> 0.69314718055995\nmysql> SELECT LOG(-2);\n -> NULL\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (497,8,'SET SQL_LOG_BIN','Syntax:\nSET sql_log_bin = {0|1}\n\nThe sql_log_bin variable controls whether logging to the binary log is\ndone. The default value is 1 (do logging). To change logging for the\ncurrent session, change the session value of this variable. The session\nuser must have the SUPER privilege to set this variable.\n\nBeginning with MySQL 5.5.5, it is no longer possible to set\n@@session.sql_log_bin within a transaction or subquery. (Bug #53437)\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/set-sql-log-bin.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/set-sql-log-bin.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (498,19,'!=','Syntax:\n<>, !=\n\nNot equal:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT \'.01\' <> \'0.01\';\n -> 1\nmysql> SELECT .01 <> \'0.01\';\n -> 0\nmysql> SELECT \'zapp\' <> \'zappp\';\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (499,24,'WHILE','Syntax:\n[begin_label:] WHILE search_condition DO\n statement_list\nEND WHILE [end_label]\n\nThe statement list within a WHILE statement is repeated as long as the\nsearch_condition expression is true. statement_list consists of one or\nmore SQL statements, each terminated by a semicolon (;) statement\ndelimiter.\n\nA WHILE statement can be labeled. For the rules regarding label use,\nsee [HELP labels].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/while.html\n\n','CREATE PROCEDURE dowhile()\nBEGIN\n DECLARE v1 INT DEFAULT 5;\n\n WHILE v1 > 0 DO\n ...\n SET v1 = v1 - 1;\n END WHILE;\nEND;\n','http://dev.mysql.com/doc/refman/5.5/en/while.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (500,12,'AES_DECRYPT','Syntax:\nAES_DECRYPT(crypt_str,key_str)\n\nThis function decrypts data using the official AES (Advanced Encryption\nStandard) algorithm. For more information, see the description of\nAES_ENCRYPT().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (501,32,'DAYNAME','Syntax:\nDAYNAME(date)\n\nReturns the name of the weekday for date. The language used for the\nname is controlled by the value of the lc_time_names system variable\n(http://dev.mysql.com/doc/refman/5.5/en/locale-support.html).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT DAYNAME(\'2007-02-03\');\n -> \'Saturday\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (502,17,'COERCIBILITY','Syntax:\nCOERCIBILITY(str)\n\nReturns the collation coercibility value of the string argument.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','mysql> SELECT COERCIBILITY(\'abc\' COLLATE latin1_swedish_ci);\n -> 0\nmysql> SELECT COERCIBILITY(USER());\n -> 3\nmysql> SELECT COERCIBILITY(\'abc\');\n -> 4\n','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (503,23,'INT','INT[(M)] [UNSIGNED] [ZEROFILL]\n\nA normal-size integer. The signed range is -2147483648 to 2147483647.\nThe unsigned range is 0 to 4294967295.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (504,13,'GLENGTH','GLength(ls)\n\nReturns as a double-precision number the length of the LineString value\nls in its associated spatial reference.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-linestring-property-functions.html\n\n','mysql> SET @ls = \'LineString(1 1,2 2,3 3)\';\nmysql> SELECT GLength(GeomFromText(@ls));\n+----------------------------+\n| GLength(GeomFromText(@ls)) |\n+----------------------------+\n| 2.8284271247462 |\n+----------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-linestring-property-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (505,17,'COLLATION','Syntax:\nCOLLATION(str)\n\nReturns the collation of the string argument.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','mysql> SELECT COLLATION(\'abc\');\n -> \'latin1_swedish_ci\'\nmysql> SELECT COLLATION(_utf8\'abc\');\n -> \'utf8_general_ci\'\n','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (506,3,'RADIANS','Syntax:\nRADIANS(X)\n\nReturns the argument X, converted from degrees to radians. (Note that\nπ radians equals 180 degrees.)\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT RADIANS(90);\n -> 1.5707963267949\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (507,19,'COALESCE','Syntax:\nCOALESCE(value,...)\n\nReturns the first non-NULL value in the list, or NULL if there are no\nnon-NULL values.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT COALESCE(NULL,1);\n -> 1\nmysql> SELECT COALESCE(NULL,NULL,NULL);\n -> NULL\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (508,17,'VERSION','Syntax:\nVERSION()\n\nReturns a string that indicates the MySQL server version. The string\nuses the utf8 character set. The value might have a suffix in addition\nto the version number. See the description of the version system\nvariable in\nhttp://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','mysql> SELECT VERSION();\n -> \'5.5.41-standard\'\n','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (509,38,'MAKE_SET','Syntax:\nMAKE_SET(bits,str1,str2,...)\n\nReturns a set value (a string containing substrings separated by ","\ncharacters) consisting of the strings that have the corresponding bit\nin bits set. str1 corresponds to bit 0, str2 to bit 1, and so on. NULL\nvalues in str1, str2, ... are not appended to the result.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT MAKE_SET(1,\'a\',\'b\',\'c\');\n -> \'a\'\nmysql> SELECT MAKE_SET(1 | 4,\'hello\',\'nice\',\'world\');\n -> \'hello,world\'\nmysql> SELECT MAKE_SET(1 | 4,\'hello\',\'nice\',NULL,\'world\');\n -> \'hello\'\nmysql> SELECT MAKE_SET(0,\'a\',\'b\',\'c\');\n -> \'\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); -INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (510,38,'FIND_IN_SET','Syntax:\nFIND_IN_SET(str,strlist)\n\nReturns a value in the range of 1 to N if the string str is in the\nstring list strlist consisting of N substrings. A string list is a\nstring composed of substrings separated by "," characters. If the first\nargument is a constant string and the second is a column of type SET,\nthe FIND_IN_SET() function is optimized to use bit arithmetic. Returns\n0 if str is not in strlist or if strlist is the empty string. Returns\nNULL if either argument is NULL. This function does not work properly\nif the first argument contains a comma (",") character.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT FIND_IN_SET(\'b\',\'a,b,c,d\');\n -> 2\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (0,28,'JOIN','MySQL supports the following JOIN syntaxes for the table_references\npart of SELECT statements and multiple-table DELETE and UPDATE\nstatements:\n\ntable_references:\n escaped_table_reference [, escaped_table_reference] ...\n\nescaped_table_reference:\n table_reference\n | { OJ table_reference }\n\ntable_reference:\n table_factor\n | join_table\n\ntable_factor:\n tbl_name [[AS] alias] [index_hint_list]\n | table_subquery [AS] alias\n | ( table_references )\n\njoin_table:\n table_reference [INNER | CROSS] JOIN table_factor [join_condition]\n | table_reference STRAIGHT_JOIN table_factor\n | table_reference STRAIGHT_JOIN table_factor ON conditional_expr\n | table_reference {LEFT|RIGHT} [OUTER] JOIN table_reference join_condition\n | table_reference NATURAL [{LEFT|RIGHT} [OUTER]] JOIN table_factor\n\njoin_condition:\n ON conditional_expr\n | USING (column_list)\n\nindex_hint_list:\n index_hint [, index_hint] ...\n\nindex_hint:\n USE {INDEX|KEY}\n [FOR {JOIN|ORDER BY|GROUP BY}] ([index_list])\n | IGNORE {INDEX|KEY}\n [FOR {JOIN|ORDER BY|GROUP BY}] (index_list)\n | FORCE {INDEX|KEY}\n [FOR {JOIN|ORDER BY|GROUP BY}] (index_list)\n\nindex_list:\n index_name [, index_name] ...\n\nA table reference is also known as a join expression.\n\nThe syntax of table_factor is extended in comparison with the SQL\nStandard. The latter accepts only table_reference, not a list of them\ninside a pair of parentheses.\n\nThis is a conservative extension if we consider each comma in a list of\ntable_reference items as equivalent to an inner join. For example:\n\nSELECT * FROM t1 LEFT JOIN (t2, t3, t4)\n ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c)\n\nis equivalent to:\n\nSELECT * FROM t1 LEFT JOIN (t2 CROSS JOIN t3 CROSS JOIN t4)\n ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c)\n\nIn MySQL, JOIN, CROSS JOIN, and INNER JOIN are syntactic equivalents\n(they can replace each other). In standard SQL, they are not\nequivalent. INNER JOIN is used with an ON clause, CROSS JOIN is used\notherwise.\n\nIn general, parentheses can be ignored in join expressions containing\nonly inner join operations. MySQL also supports nested joins (see\nhttp://dev.mysql.com/doc/refman/5.5/en/nested-join-optimization.html).\n\nIndex hints can be specified to affect how the MySQL optimizer makes\nuse of indexes. For more information, see\nhttp://dev.mysql.com/doc/refman/5.5/en/index-hints.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/join.html\n\n','SELECT left_tbl.*\n FROM left_tbl LEFT JOIN right_tbl ON left_tbl.id = right_tbl.id\n WHERE right_tbl.id IS NULL;\n','http://dev.mysql.com/doc/refman/5.5/en/join.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (1,38,'HEX','Syntax:\nHEX(str), HEX(N)\n\nFor a string argument str, HEX() returns a hexadecimal string\nrepresentation of str where each byte of each character in str is\nconverted to two hexadecimal digits. (Multibyte characters therefore\nbecome more than two digits.) The inverse of this operation is\nperformed by the UNHEX() function.\n\nFor a numeric argument N, HEX() returns a hexadecimal string\nrepresentation of the value of N treated as a longlong (BIGINT) number.\nThis is equivalent to CONV(N,10,16). The inverse of this operation is\nperformed by CONV(HEX(N),16,10).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT 0x616263, HEX(\'abc\'), UNHEX(HEX(\'abc\'));\n -> \'abc\', 616263, \'abc\'\nmysql> SELECT HEX(255), CONV(HEX(255),16,10);\n -> \'FF\', 255\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (2,31,'CONTAINS','Contains(g1,g2)\n\nReturns 1 or 0 to indicate whether g1 completely contains g2. This\ntests the opposite relationship as Within().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (3,37,'SRID','SRID(g)\n\nReturns an integer indicating the Spatial Reference System ID for the\ngeometry value g.\n\nIn MySQL, the SRID value is just an integer associated with the\ngeometry value. All calculations are done assuming Euclidean (planar)\ngeometry.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html\n\n','mysql> SELECT SRID(GeomFromText(\'LineString(1 1,2 2)\',101));\n+-----------------------------------------------+\n| SRID(GeomFromText(\'LineString(1 1,2 2)\',101)) |\n+-----------------------------------------------+\n| 101 |\n+-----------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (4,27,'SHOW CONTRIBUTORS','Syntax:\nSHOW CONTRIBUTORS\n\nThe SHOW CONTRIBUTORS statement displays information about the people\nwho contribute to MySQL source or to causes that we support. For each\ncontributor, it displays Name, Location, and Comment values.\n\nThis statement is deprecated as of MySQL 5.5.29 and is removed in MySQL\n5.6.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-contributors.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-contributors.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (5,16,'VARIANCE','Syntax:\nVARIANCE(expr)\n\nReturns the population standard variance of expr. This is an extension\nto standard SQL. The standard SQL function VAR_POP() can be used\ninstead.\n\nVARIANCE() returns NULL if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (6,40,'DROP SERVER','Syntax:\nDROP SERVER [ IF EXISTS ] server_name\n\nDrops the server definition for the server named server_name. The\ncorresponding row in the mysql.servers table is deleted. This statement\nrequires the SUPER privilege.\n\nDropping a server for a table does not affect any FEDERATED tables that\nused this connection information when they were created. See [HELP\nCREATE SERVER].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/drop-server.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/drop-server.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (7,27,'SHOW AUTHORS','Syntax:\nSHOW AUTHORS\n\nThe SHOW AUTHORS statement displays information about the people who\nwork on MySQL. For each author, it displays Name, Location, and Comment\nvalues.\n\nThis statement is deprecated as of MySQL 5.5.29 and is removed in MySQL\n5.6.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-authors.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-authors.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (8,38,'CONCAT','Syntax:\nCONCAT(str1,str2,...)\n\nReturns the string that results from concatenating the arguments. May\nhave one or more arguments. If all arguments are nonbinary strings, the\nresult is a nonbinary string. If the arguments include any binary\nstrings, the result is a binary string. A numeric argument is converted\nto its equivalent string form. This is a nonbinary string as of MySQL\n5.5.3. Before 5.5.3, it is a binary string; to avoid that and produce a\nnonbinary string, you can use an explicit type cast, as in this\nexample:\n\nSELECT CONCAT(CAST(int_col AS CHAR), char_col);\n\nCONCAT() returns NULL if any argument is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT CONCAT(\'My\', \'S\', \'QL\');\n -> \'MySQL\'\nmysql> SELECT CONCAT(\'My\', NULL, \'QL\');\n -> NULL\nmysql> SELECT CONCAT(14.3);\n -> \'14.3\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (9,35,'GEOMETRY HIERARCHY','Geometry is the base class. It is an abstract class. The instantiable\nsubclasses of Geometry are restricted to zero-, one-, and\ntwo-dimensional geometric objects that exist in two-dimensional\ncoordinate space. All instantiable geometry classes are defined so that\nvalid instances of a geometry class are topologically closed (that is,\nall defined geometries include their boundary).\n\nThe base Geometry class has subclasses for Point, Curve, Surface, and\nGeometryCollection:\n\no Point represents zero-dimensional objects.\n\no Curve represents one-dimensional objects, and has subclass\n LineString, with sub-subclasses Line and LinearRing.\n\no Surface is designed for two-dimensional objects and has subclass\n Polygon.\n\no GeometryCollection has specialized zero-, one-, and two-dimensional\n collection classes named MultiPoint, MultiLineString, and\n MultiPolygon for modeling geometries corresponding to collections of\n Points, LineStrings, and Polygons, respectively. MultiCurve and\n MultiSurface are introduced as abstract superclasses that generalize\n the collection interfaces to handle Curves and Surfaces.\n\nGeometry, Curve, Surface, MultiCurve, and MultiSurface are defined as\nnoninstantiable classes. They define a common set of methods for their\nsubclasses and are included for extensibility.\n\nPoint, LineString, Polygon, GeometryCollection, MultiPoint,\nMultiLineString, and MultiPolygon are instantiable classes.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-geometry-class-hierarchy.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-geometry-class-hierarchy.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (10,38,'CHAR FUNCTION','Syntax:\nCHAR(N,... [USING charset_name])\n\nCHAR() interprets each argument N as an integer and returns a string\nconsisting of the characters given by the code values of those\nintegers. NULL values are skipped.\nBy default, CHAR() returns a binary string. To produce a string in a\ngiven character set, use the optional USING clause:\n\nmysql> SELECT CHARSET(CHAR(0x65)), CHARSET(CHAR(0x65 USING utf8));\n+---------------------+--------------------------------+\n| CHARSET(CHAR(0x65)) | CHARSET(CHAR(0x65 USING utf8)) |\n+---------------------+--------------------------------+\n| binary | utf8 |\n+---------------------+--------------------------------+\n\nIf USING is given and the result string is illegal for the given\ncharacter set, a warning is issued. Also, if strict SQL mode is\nenabled, the result from CHAR() becomes NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT CHAR(77,121,83,81,\'76\');\n -> \'MySQL\'\nmysql> SELECT CHAR(77,77.3,\'77.3\');\n -> \'MMM\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (11,27,'SHOW CREATE TRIGGER','Syntax:\nSHOW CREATE TRIGGER trigger_name\n\nThis statement shows the CREATE TRIGGER statement that creates the\nnamed trigger.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-create-trigger.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-create-trigger.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (12,27,'SHOW CREATE PROCEDURE','Syntax:\nSHOW CREATE PROCEDURE proc_name\n\nThis statement is a MySQL extension. It returns the exact string that\ncan be used to re-create the named stored procedure. A similar\nstatement, SHOW CREATE FUNCTION, displays information about stored\nfunctions (see [HELP SHOW CREATE FUNCTION]).\n\nTo use either statement, you must be the user named in the routine\nDEFINER clause or have SELECT access to the mysql.proc table. If you do\nnot have privileges for the routine itself, the value displayed for the\nCreate Procedure or Create Function field will be NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-create-procedure.html\n\n','mysql> SHOW CREATE PROCEDURE test.simpleproc\\G\n*************************** 1. row ***************************\n Procedure: simpleproc\n sql_mode:\n Create Procedure: CREATE PROCEDURE `simpleproc`(OUT param1 INT)\n BEGIN\n SELECT COUNT(*) INTO param1 FROM t;\n END\ncharacter_set_client: latin1\ncollation_connection: latin1_swedish_ci\n Database Collation: latin1_swedish_ci\n\nmysql> SHOW CREATE FUNCTION test.hello\\G\n*************************** 1. row ***************************\n Function: hello\n sql_mode:\n Create Function: CREATE FUNCTION `hello`(s CHAR(20))\n RETURNS CHAR(50)\n RETURN CONCAT(\'Hello, \',s,\'!\')\ncharacter_set_client: latin1\ncollation_connection: latin1_swedish_ci\n Database Collation: latin1_swedish_ci\n','http://dev.mysql.com/doc/refman/5.5/en/show-create-procedure.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (13,24,'OPEN','Syntax:\nOPEN cursor_name\n\nThis statement opens a previously declared cursor. For an example, see\nhttp://dev.mysql.com/doc/refman/5.5/en/cursors.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/open.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/open.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (14,38,'LOWER','Syntax:\nLOWER(str)\n\nReturns the string str with all characters changed to lowercase\naccording to the current character set mapping. The default is latin1\n(cp1252 West European).\n\nmysql> SELECT LOWER(\'QUADRATICALLY\');\n -> \'quadratically\'\n\nLOWER() (and UPPER()) are ineffective when applied to binary strings\n(BINARY, VARBINARY, BLOB). To perform lettercase conversion, convert\nthe string to a nonbinary string:\n\nmysql> SET @str = BINARY \'New York\';\nmysql> SELECT LOWER(@str), LOWER(CONVERT(@str USING latin1));\n+-------------+-----------------------------------+\n| LOWER(@str) | LOWER(CONVERT(@str USING latin1)) |\n+-------------+-----------------------------------+\n| New York | new york |\n+-------------+-----------------------------------+\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (15,40,'CREATE TRIGGER','Syntax:\nCREATE\n [DEFINER = { user | CURRENT_USER }]\n TRIGGER trigger_name\n trigger_time trigger_event\n ON tbl_name FOR EACH ROW\n trigger_body\n\ntrigger_time: { BEFORE | AFTER }\n\ntrigger_event: { INSERT | UPDATE | DELETE }\n\nThis statement creates a new trigger. A trigger is a named database\nobject that is associated with a table, and that activates when a\nparticular event occurs for the table. The trigger becomes associated\nwith the table named tbl_name, which must refer to a permanent table.\nYou cannot associate a trigger with a TEMPORARY table or a view.\n\nTrigger names exist in the schema namespace, meaning that all triggers\nmust have unique names within a schema. Triggers in different schemas\ncan have the same name.\n\nThis section describes CREATE TRIGGER syntax. For additional\ndiscussion, see\nhttp://dev.mysql.com/doc/refman/5.5/en/trigger-syntax.html.\n\nCREATE TRIGGER requires the TRIGGER privilege for the table associated\nwith the trigger. The statement might also require the SUPER privilege,\ndepending on the DEFINER value, as described later in this section. If\nbinary logging is enabled, CREATE TRIGGER might require the SUPER\nprivilege, as described in\nhttp://dev.mysql.com/doc/refman/5.5/en/stored-programs-logging.html.\n\nThe DEFINER clause determines the security context to be used when\nchecking access privileges at trigger activation time, as described\nlater in this section.\n\ntrigger_time is the trigger action time. It can be BEFORE or AFTER to\nindicate that the trigger activates before or after each row to be\nmodified.\n\ntrigger_event indicates the kind of operation that activates the\ntrigger. These trigger_event values are permitted:\n\no INSERT: The trigger activates whenever a new row is inserted into the\n table; for example, through INSERT, LOAD DATA, and REPLACE\n statements.\n\no UPDATE: The trigger activates whenever a row is modified; for\n example, through UPDATE statements.\n\no DELETE: The trigger activates whenever a row is deleted from the\n table; for example, through DELETE and REPLACE statements. DROP TABLE\n and TRUNCATE TABLE statements on the table do not activate this\n trigger, because they do not use DELETE. Dropping a partition does\n not activate DELETE triggers, either.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-trigger.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/create-trigger.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (16,32,'MONTH','Syntax:\nMONTH(date)\n\nReturns the month for date, in the range 1 to 12 for January to\nDecember, or 0 for dates such as \'0000-00-00\' or \'2008-00-00\' that have\na zero month part.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT MONTH(\'2008-02-03\');\n -> 2\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (17,27,'SHOW TRIGGERS','Syntax:\nSHOW TRIGGERS [{FROM | IN} db_name]\n [LIKE \'pattern\' | WHERE expr]\n\nSHOW TRIGGERS lists the triggers currently defined for tables in a\ndatabase (the default database unless a FROM clause is given). This\nstatement returns results only for databases and tables for which you\nhave the TRIGGER privilege. The LIKE clause, if present, indicates\nwhich table names to match (not trigger names) and causes the statement\nto display triggers for those tables. The WHERE clause can be given to\nselect rows using more general conditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.5/en/extended-show.html.\n\nFor the trigger ins_sum as defined in\nhttp://dev.mysql.com/doc/refman/5.5/en/triggers.html, the output of\nthis statement is as shown here:\n\nmysql> SHOW TRIGGERS LIKE \'acc%\'\\G\n*************************** 1. row ***************************\n Trigger: ins_sum\n Event: INSERT\n Table: account\n Statement: SET @sum = @sum + NEW.amount\n Timing: BEFORE\n Created: NULL\n sql_mode:\n Definer: myname@localhost\ncharacter_set_client: latin1\ncollation_connection: latin1_swedish_ci\n Database Collation: latin1_swedish_ci\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-triggers.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-triggers.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (18,13,'ISCLOSED','IsClosed(ls)\n\nReturns 1 if the LineString value ls is closed (that is, its\nStartPoint() and EndPoint() values are the same) and is simple (does\nnot pass through the same point more than once). Returns 0 if ls is not\nclosed, and -1 if it is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-linestring-property-functions.html\n\n','mysql> SET @ls1 = \'LineString(1 1,2 2,3 3,2 2)\';\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SET @ls2 = \'LineString(1 1,2 2,3 3,1 1)\';\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SELECT IsClosed(GeomFromText(@ls1));\n+------------------------------+\n| IsClosed(GeomFromText(@ls1)) |\n+------------------------------+\n| 0 |\n+------------------------------+\n1 row in set (0.00 sec)\n\nmysql> SELECT IsClosed(GeomFromText(@ls2));\n+------------------------------+\n| IsClosed(GeomFromText(@ls2)) |\n+------------------------------+\n| 1 |\n+------------------------------+\n1 row in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.5/en/gis-linestring-property-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (19,38,'REGEXP','Syntax:\nexpr REGEXP pat, expr RLIKE pat\n\nPerforms a pattern match of a string expression expr against a pattern\npat. The pattern can be an extended regular expression, the syntax for\nwhich is discussed later in this section. Returns 1 if expr matches\npat; otherwise it returns 0. If either expr or pat is NULL, the result\nis NULL. RLIKE is a synonym for REGEXP, provided for mSQL\ncompatibility.\n\nThe pattern need not be a literal string. For example, it can be\nspecified as a string expression or table column.\n\n*Note*: Because MySQL uses the C escape syntax in strings (for example,\n"\\n" to represent the newline character), you must double any "\\" that\nyou use in your REGEXP strings.\n\nREGEXP is not case sensitive, except when used with binary strings.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/regexp.html\n\n','mysql> SELECT \'Monty!\' REGEXP \'.*\';\n -> 1\nmysql> SELECT \'new*\\n*line\' REGEXP \'new\\\\*.\\\\*line\';\n -> 1\nmysql> SELECT \'a\' REGEXP \'A\', \'a\' REGEXP BINARY \'A\';\n -> 1 0\nmysql> SELECT \'a\' REGEXP \'^[a-d]\';\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/regexp.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (20,24,'IF STATEMENT','Syntax:\nIF search_condition THEN statement_list\n [ELSEIF search_condition THEN statement_list] ...\n [ELSE statement_list]\nEND IF\n\nThe IF statement for stored programs implements a basic conditional\nconstruct.\n\n*Note*: There is also an IF() function, which differs from the IF\nstatement described here. See\nhttp://dev.mysql.com/doc/refman/5.5/en/control-flow-functions.html. The\nIF statement can have THEN, ELSE, and ELSEIF clauses, and it is\nterminated with END IF.\n\nIf the search_condition evaluates to true, the corresponding THEN or\nELSEIF clause statement_list executes. If no search_condition matches,\nthe ELSE clause statement_list executes.\n\nEach statement_list consists of one or more SQL statements; an empty\nstatement_list is not permitted.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/if.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/if.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (21,31,'WITHIN','Within(g1,g2)\n\nReturns 1 or 0 to indicate whether g1 is spatially within g2. This\ntests the opposite relationship as Contains().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (22,27,'SHOW PLUGINS','Syntax:\nSHOW PLUGINS\n\nSHOW PLUGINS displays information about server plugins. Plugin\ninformation is also available in the INFORMATION_SCHEMA.PLUGINS table.\nSee http://dev.mysql.com/doc/refman/5.5/en/plugins-table.html.\n\nExample of SHOW PLUGINS output:\n\nmysql> SHOW PLUGINS\\G\n*************************** 1. row ***************************\n Name: binlog\n Status: ACTIVE\n Type: STORAGE ENGINE\nLibrary: NULL\nLicense: GPL\n*************************** 2. row ***************************\n Name: CSV\n Status: ACTIVE\n Type: STORAGE ENGINE\nLibrary: NULL\nLicense: GPL\n*************************** 3. row ***************************\n Name: MEMORY\n Status: ACTIVE\n Type: STORAGE ENGINE\nLibrary: NULL\nLicense: GPL\n*************************** 4. row ***************************\n Name: MyISAM\n Status: ACTIVE\n Type: STORAGE ENGINE\nLibrary: NULL\nLicense: GPL\n...\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-plugins.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-plugins.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (23,8,'PREPARE','Syntax:\nPREPARE stmt_name FROM preparable_stmt\n\nThe PREPARE statement prepares a SQL statement and assigns it a name,\nstmt_name, by which to refer to the statement later. The prepared\nstatement is executed with EXECUTE and released with DEALLOCATE\nPREPARE. For examples, see\nhttp://dev.mysql.com/doc/refman/5.5/en/sql-syntax-prepared-statements.h\ntml.\n\nStatement names are not case sensitive. preparable_stmt is either a\nstring literal or a user variable that contains the text of the SQL\nstatement. The text must represent a single statement, not multiple\nstatements. Within the statement, ? characters can be used as parameter\nmarkers to indicate where data values are to be bound to the query\nlater when you execute it. The ? characters should not be enclosed\nwithin quotation marks, even if you intend to bind them to string\nvalues. Parameter markers can be used only where data values should\nappear, not for SQL keywords, identifiers, and so forth.\n\nIf a prepared statement with the given name already exists, it is\ndeallocated implicitly before the new statement is prepared. This means\nthat if the new statement contains an error and cannot be prepared, an\nerror is returned and no statement with the given name exists.\n\nThe scope of a prepared statement is the session within which it is\ncreated, which as several implications:\n\no A prepared statement created in one session is not available to other\n sessions.\n\no When a session ends, whether normally or abnormally, its prepared\n statements no longer exist. If auto-reconnect is enabled, the client\n is not notified that the connection was lost. For this reason,\n clients may wish to disable auto-reconnect. See\n http://dev.mysql.com/doc/refman/5.5/en/auto-reconnect.html.\n\no A prepared statement created within a stored program continues to\n exist after the program finishes executing and can be executed\n outside the program later.\n\no A statement prepared in stored program context cannot refer to stored\n procedure or function parameters or local variables because they go\n out of scope when the program ends and would be unavailable were the\n statement to be executed later outside the program. As a workaround,\n refer instead to user-defined variables, which also have session\n scope; see\n http://dev.mysql.com/doc/refman/5.5/en/user-variables.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/prepare.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/prepare.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (24,8,'LOCK','Syntax:\nLOCK TABLES\n tbl_name [[AS] alias] lock_type\n [, tbl_name [[AS] alias] lock_type] ...\n\nlock_type:\n READ [LOCAL]\n | [LOW_PRIORITY] WRITE\n\nUNLOCK TABLES\n\nMySQL enables client sessions to acquire table locks explicitly for the\npurpose of cooperating with other sessions for access to tables, or to\nprevent other sessions from modifying tables during periods when a\nsession requires exclusive access to them. A session can acquire or\nrelease locks only for itself. One session cannot acquire locks for\nanother session or release locks held by another session.\n\nLocks may be used to emulate transactions or to get more speed when\nupdating tables. This is explained in more detail later in this\nsection.\n\nLOCK TABLES explicitly acquires table locks for the current client\nsession. Table locks can be acquired for base tables or views. You must\nhave the LOCK TABLES privilege, and the SELECT privilege for each\nobject to be locked.\n\nFor view locking, LOCK TABLES adds all base tables used in the view to\nthe set of tables to be locked and locks them automatically. If you\nlock a table explicitly with LOCK TABLES, any tables used in triggers\nare also locked implicitly, as described in\nhttp://dev.mysql.com/doc/refman/5.5/en/lock-tables-and-triggers.html.\n\nUNLOCK TABLES explicitly releases any table locks held by the current\nsession. LOCK TABLES implicitly releases any table locks held by the\ncurrent session before acquiring new locks.\n\nAnother use for UNLOCK TABLES is to release the global read lock\nacquired with the FLUSH TABLES WITH READ LOCK statement, which enables\nyou to lock all tables in all databases. See [HELP FLUSH]. (This is a\nvery convenient way to get backups if you have a file system such as\nVeritas that can take snapshots in time.)\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/lock-tables.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/lock-tables.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (25,27,'SHOW BINARY LOGS','Syntax:\nSHOW BINARY LOGS\nSHOW MASTER LOGS\n\nLists the binary log files on the server. This statement is used as\npart of the procedure described in [HELP PURGE BINARY LOGS], that shows\nhow to determine which logs can be purged.\n\nmysql> SHOW BINARY LOGS;\n+---------------+-----------+\n| Log_name | File_size |\n+---------------+-----------+\n| binlog.000015 | 724935 |\n| binlog.000016 | 733481 |\n+---------------+-----------+\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-binary-logs.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-binary-logs.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (26,25,'POLYGON','Polygon(ls1,ls2,...)\n\nConstructs a Polygon value from a number of LineString or WKB\nLineString arguments. If any argument does not represent a LinearRing\n(that is, not a closed and simple LineString), the return value is\nNULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (27,32,'MINUTE','Syntax:\nMINUTE(time)\n\nReturns the minute for time, in the range 0 to 59.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT MINUTE(\'2008-02-03 10:05:03\');\n -> 5\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (28,38,'MID','Syntax:\nMID(str,pos,len)\n\nMID(str,pos,len) is a synonym for SUBSTRING(str,pos,len).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (29,17,'CONNECTION_ID','Syntax:\nCONNECTION_ID()\n\nReturns the connection ID (thread ID) for the connection. Every\nconnection has an ID that is unique among the set of currently\nconnected clients.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','mysql> SELECT CONNECTION_ID();\n -> 23786\n','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (30,28,'DELETE','Syntax:\nSingle-table syntax:\n\nDELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name\n [WHERE where_condition]\n [ORDER BY ...]\n [LIMIT row_count]\n\nMultiple-table syntax:\n\nDELETE [LOW_PRIORITY] [QUICK] [IGNORE]\n tbl_name[.*] [, tbl_name[.*]] ...\n FROM table_references\n [WHERE where_condition]\n\nOr:\n\nDELETE [LOW_PRIORITY] [QUICK] [IGNORE]\n FROM tbl_name[.*] [, tbl_name[.*]] ...\n USING table_references\n [WHERE where_condition]\n\nFor the single-table syntax, the DELETE statement deletes rows from\ntbl_name and returns a count of the number of deleted rows. This count\ncan be obtained by calling the ROW_COUNT() function (see\nhttp://dev.mysql.com/doc/refman/5.5/en/information-functions.html). The\nWHERE clause, if given, specifies the conditions that identify which\nrows to delete. With no WHERE clause, all rows are deleted. If the\nORDER BY clause is specified, the rows are deleted in the order that is\nspecified. The LIMIT clause places a limit on the number of rows that\ncan be deleted.\n\nFor the multiple-table syntax, DELETE deletes from each tbl_name the\nrows that satisfy the conditions. In this case, ORDER BY and LIMIT\ncannot be used.\n\nwhere_condition is an expression that evaluates to true for each row to\nbe deleted. It is specified as described in\nhttp://dev.mysql.com/doc/refman/5.5/en/select.html.\n\nCurrently, you cannot delete from a table and select from the same\ntable in a subquery.\n\nYou need the DELETE privilege on a table to delete rows from it. You\nneed only the SELECT privilege for any columns that are only read, such\nas those named in the WHERE clause.\n\nAs stated, a DELETE statement with no WHERE clause deletes all rows. A\nfaster way to do this, when you do not need to know the number of\ndeleted rows, is to use TRUNCATE TABLE. However, within a transaction\nor if you have a lock on the table, TRUNCATE TABLE cannot be used\nwhereas DELETE can. See [HELP TRUNCATE TABLE], and [HELP LOCK].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/delete.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/delete.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (31,24,'CLOSE','Syntax:\nCLOSE cursor_name\n\nThis statement closes a previously opened cursor. For an example, see\nhttp://dev.mysql.com/doc/refman/5.5/en/cursors.html.\n\nAn error occurs if the cursor is not open.\n\nIf not closed explicitly, a cursor is closed at the end of the BEGIN\n... END block in which it was declared.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/close.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/close.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (32,38,'REPLACE FUNCTION','Syntax:\nREPLACE(str,from_str,to_str)\n\nReturns the string str with all occurrences of the string from_str\nreplaced by the string to_str. REPLACE() performs a case-sensitive\nmatch when searching for from_str.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT REPLACE(\'www.mysql.com\', \'w\', \'Ww\');\n -> \'WwWwWw.mysql.com\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (33,29,'USE','Syntax:\nUSE db_name\n\nThe USE db_name statement tells MySQL to use the db_name database as\nthe default (current) database for subsequent statements. The database\nremains the default until the end of the session or another USE\nstatement is issued:\n\nUSE db1;\nSELECT COUNT(*) FROM mytable; # selects from db1.mytable\nUSE db2;\nSELECT COUNT(*) FROM mytable; # selects from db2.mytable\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/use.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/use.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (34,6,'CASE OPERATOR','Syntax:\nCASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN\nresult ...] [ELSE result] END\n\nCASE WHEN [condition] THEN result [WHEN [condition] THEN result ...]\n[ELSE result] END\n\nThe first version returns the result where value=compare_value. The\nsecond version returns the result for the first condition that is true.\nIf there was no matching result value, the result after ELSE is\nreturned, or NULL if there is no ELSE part.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/control-flow-functions.html\n\n','mysql> SELECT CASE 1 WHEN 1 THEN \'one\'\n -> WHEN 2 THEN \'two\' ELSE \'more\' END;\n -> \'one\'\nmysql> SELECT CASE WHEN 1>0 THEN \'true\' ELSE \'false\' END;\n -> \'true\'\nmysql> SELECT CASE BINARY \'B\'\n -> WHEN \'a\' THEN 1 WHEN \'b\' THEN 2 END;\n -> NULL\n','http://dev.mysql.com/doc/refman/5.5/en/control-flow-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (35,27,'SHOW MASTER STATUS','Syntax:\nSHOW MASTER STATUS\n\nThis statement provides status information about the binary log files\nof the master. It requires either the SUPER or REPLICATION CLIENT\nprivilege.\n\nExample:\n\nmysql> SHOW MASTER STATUS;\n+---------------+----------+--------------+------------------+\n| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |\n+---------------+----------+--------------+------------------+\n| mysql-bin.003 | 73 | test | manual,mysql |\n+---------------+----------+--------------+------------------+\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-master-status.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-master-status.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (36,32,'TO_SECONDS','Syntax:\nTO_SECONDS(expr)\n\nGiven a date or datetime expr, returns a the number of seconds since\nthe year 0. If expr is not a valid date or datetime value, returns\nNULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT TO_SECONDS(950501);\n -> 62966505600\nmysql> SELECT TO_SECONDS(\'2009-11-29\');\n -> 63426672000\nmysql> SELECT TO_SECONDS(\'2009-11-29 13:43:32\');\n -> 63426721412\nmysql> SELECT TO_SECONDS( NOW() );\n -> 63426721458\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (37,32,'TIMESTAMPDIFF','Syntax:\nTIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)\n\nReturns datetime_expr2 - datetime_expr1, where datetime_expr1 and\ndatetime_expr2 are date or datetime expressions. One expression may be\na date and the other a datetime; a date value is treated as a datetime\nhaving the time part \'00:00:00\' where necessary. The unit for the\nresult (an integer) is given by the unit argument. The legal values for\nunit are the same as those listed in the description of the\nTIMESTAMPADD() function.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT TIMESTAMPDIFF(MONTH,\'2003-02-01\',\'2003-05-01\');\n -> 3\nmysql> SELECT TIMESTAMPDIFF(YEAR,\'2002-05-01\',\'2001-01-01\');\n -> -1\nmysql> SELECT TIMESTAMPDIFF(MINUTE,\'2003-02-01\',\'2003-05-01 12:05:55\');\n -> 128885\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (38,35,'SPATIAL','For MyISAM tables, MySQL can create spatial indexes using syntax\nsimilar to that for creating regular indexes, but using the SPATIAL\nkeyword. Columns in spatial indexes must be declared NOT NULL. The\nfollowing examples demonstrate how to create spatial indexes:\n\no With CREATE TABLE:\n\nCREATE TABLE geom (g GEOMETRY NOT NULL, SPATIAL INDEX(g)) ENGINE=MyISAM;\n\no With ALTER TABLE:\n\nALTER TABLE geom ADD SPATIAL INDEX(g);\n\no With CREATE INDEX:\n\nCREATE SPATIAL INDEX sp_index ON geom (g);\n\nSPATIAL INDEX creates an R-tree index. For storage engines that support\nnonspatial indexing of spatial columns, the engine creates a B-tree\nindex. A B-tree index on spatial values is useful for exact-value\nlookups, but not for range scans.\n\nFor more information on indexing spatial columns, see [HELP CREATE\nINDEX].\n\nTo drop spatial indexes, use ALTER TABLE or DROP INDEX:\n\no With ALTER TABLE:\n\nALTER TABLE geom DROP INDEX g;\n\no With DROP INDEX:\n\nDROP INDEX sp_index ON geom;\n\nExample: Suppose that a table geom contains more than 32,000\ngeometries, which are stored in the column g of type GEOMETRY. The\ntable also has an AUTO_INCREMENT column fid for storing object ID\nvalues.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/creating-spatial-indexes.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/creating-spatial-indexes.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (39,38,'REVERSE','Syntax:\nREVERSE(str)\n\nReturns the string str with the order of the characters reversed.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT REVERSE(\'abc\');\n -> \'cba\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (40,20,'ISNULL','Syntax:\nISNULL(expr)\n\nIf expr is NULL, ISNULL() returns 1, otherwise it returns 0.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT ISNULL(1+1);\n -> 0\nmysql> SELECT ISNULL(1/0);\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (41,23,'BINARY','BINARY(M)\n\nThe BINARY type is similar to the CHAR type, but stores binary byte\nstrings rather than nonbinary character strings. M represents the\ncolumn length in bytes.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (42,23,'BLOB DATA TYPE','A BLOB is a binary large object that can hold a variable amount of\ndata. The four BLOB types are TINYBLOB, BLOB, MEDIUMBLOB, and LONGBLOB.\nThese differ only in the maximum length of the values they can hold.\nThe four TEXT types are TINYTEXT, TEXT, MEDIUMTEXT, and LONGTEXT. These\ncorrespond to the four BLOB types and have the same maximum lengths and\nstorage requirements. See\nhttp://dev.mysql.com/doc/refman/5.5/en/storage-requirements.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/blob.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/blob.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (43,17,'CURRENT_USER','Syntax:\nCURRENT_USER, CURRENT_USER()\n\nReturns the user name and host name combination for the MySQL account\nthat the server used to authenticate the current client. This account\ndetermines your access privileges. The return value is a string in the\nutf8 character set.\n\nThe value of CURRENT_USER() can differ from the value of USER().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','mysql> SELECT USER();\n -> \'davida@localhost\'\nmysql> SELECT * FROM mysql.user;\nERROR 1044: Access denied for user \'\'@\'localhost\' to\ndatabase \'mysql\'\nmysql> SELECT CURRENT_USER();\n -> \'@localhost\'\n','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (44,20,'<=','Syntax:\n<=\n\nLess than or equal:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT 0.1 <= 2;\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (45,27,'SHOW PROFILES','Syntax:\nSHOW PROFILES\n\nThe SHOW PROFILES statement, together with SHOW PROFILE, displays\nprofiling information that indicates resource usage for statements\nexecuted during the course of the current session. For more\ninformation, see [HELP SHOW PROFILE].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-profiles.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-profiles.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (46,28,'UPDATE','Syntax:\nSingle-table syntax:\n\nUPDATE [LOW_PRIORITY] [IGNORE] table_reference\n SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...\n [WHERE where_condition]\n [ORDER BY ...]\n [LIMIT row_count]\n\nMultiple-table syntax:\n\nUPDATE [LOW_PRIORITY] [IGNORE] table_references\n SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...\n [WHERE where_condition]\n\nFor the single-table syntax, the UPDATE statement updates columns of\nexisting rows in the named table with new values. The SET clause\nindicates which columns to modify and the values they should be given.\nEach value can be given as an expression, or the keyword DEFAULT to set\na column explicitly to its default value. The WHERE clause, if given,\nspecifies the conditions that identify which rows to update. With no\nWHERE clause, all rows are updated. If the ORDER BY clause is\nspecified, the rows are updated in the order that is specified. The\nLIMIT clause places a limit on the number of rows that can be updated.\n\nFor the multiple-table syntax, UPDATE updates rows in each table named\nin table_references that satisfy the conditions. Each matching row is\nupdated once, even if it matches the conditions multiple times. For\nmultiple-table syntax, ORDER BY and LIMIT cannot be used.\n\nwhere_condition is an expression that evaluates to true for each row to\nbe updated. For expression syntax, see\nhttp://dev.mysql.com/doc/refman/5.5/en/expressions.html.\n\ntable_references and where_condition are specified as described in\nhttp://dev.mysql.com/doc/refman/5.5/en/select.html.\n\nYou need the UPDATE privilege only for columns referenced in an UPDATE\nthat are actually updated. You need only the SELECT privilege for any\ncolumns that are read but not modified.\n\nThe UPDATE statement supports the following modifiers:\n\no With the LOW_PRIORITY keyword, execution of the UPDATE is delayed\n until no other clients are reading from the table. This affects only\n storage engines that use only table-level locking (such as MyISAM,\n MEMORY, and MERGE).\n\no With the IGNORE keyword, the update statement does not abort even if\n errors occur during the update. Rows for which duplicate-key\n conflicts occur on a unique key value are not updated. Rows updated\n to values that would cause data conversion errors are updated to the\n closest valid values instead.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/update.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/update.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (47,24,'CASE STATEMENT','Syntax:\nCASE case_value\n WHEN when_value THEN statement_list\n [WHEN when_value THEN statement_list] ...\n [ELSE statement_list]\nEND CASE\n\nOr:\n\nCASE\n WHEN search_condition THEN statement_list\n [WHEN search_condition THEN statement_list] ...\n [ELSE statement_list]\nEND CASE\n\nThe CASE statement for stored programs implements a complex conditional\nconstruct.\n\n*Note*: There is also a CASE expression, which differs from the CASE\nstatement described here. See\nhttp://dev.mysql.com/doc/refman/5.5/en/control-flow-functions.html. The\nCASE statement cannot have an ELSE NULL clause, and it is terminated\nwith END CASE instead of END.\n\nFor the first syntax, case_value is an expression. This value is\ncompared to the when_value expression in each WHEN clause until one of\nthem is equal. When an equal when_value is found, the corresponding\nTHEN clause statement_list executes. If no when_value is equal, the\nELSE clause statement_list executes, if there is one.\n\nThis syntax cannot be used to test for equality with NULL because NULL\n= NULL is false. See\nhttp://dev.mysql.com/doc/refman/5.5/en/working-with-null.html.\n\nFor the second syntax, each WHEN clause search_condition expression is\nevaluated until one is true, at which point its corresponding THEN\nclause statement_list executes. If no search_condition is equal, the\nELSE clause statement_list executes, if there is one.\n\nIf no when_value or search_condition matches the value tested and the\nCASE statement contains no ELSE clause, a Case not found for CASE\nstatement error results.\n\nEach statement_list consists of one or more SQL statements; an empty\nstatement_list is not permitted.\n\nTo handle situations where no value is matched by any WHEN clause, use\nan ELSE containing an empty BEGIN ... END block, as shown in this\nexample. (The indentation used here in the ELSE clause is for purposes\nof clarity only, and is not otherwise significant.)\n\nDELIMITER |\n\nCREATE PROCEDURE p()\n BEGIN\n DECLARE v INT DEFAULT 1;\n\n CASE v\n WHEN 2 THEN SELECT v;\n WHEN 3 THEN SELECT 0;\n ELSE\n BEGIN\n END;\n END CASE;\n END;\n |\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/case.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/case.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (48,8,'EXECUTE STATEMENT','Syntax:\nEXECUTE stmt_name\n [USING @var_name [, @var_name] ...]\n\nAfter preparing a statement with PREPARE, you execute it with an\nEXECUTE statement that refers to the prepared statement name. If the\nprepared statement contains any parameter markers, you must supply a\nUSING clause that lists user variables containing the values to be\nbound to the parameters. Parameter values can be supplied only by user\nvariables, and the USING clause must name exactly as many variables as\nthe number of parameter markers in the statement.\n\nYou can execute a given prepared statement multiple times, passing\ndifferent variables to it or setting the variables to different values\nbefore each execution.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/execute.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/execute.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (49,40,'DROP INDEX','Syntax:\nDROP [ONLINE|OFFLINE] INDEX index_name ON tbl_name\n\nDROP INDEX drops the index named index_name from the table tbl_name.\nThis statement is mapped to an ALTER TABLE statement to drop the index.\nSee [HELP ALTER TABLE].\n\nTo drop a primary key, the index name is always PRIMARY, which must be\nspecified as a quoted identifier because PRIMARY is a reserved word:\n\nDROP INDEX `PRIMARY` ON t;\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/drop-index.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/drop-index.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (50,3,'ABS','Syntax:\nABS(X)\n\nReturns the absolute value of X.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT ABS(2);\n -> 2\nmysql> SELECT ABS(-32);\n -> 32\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (51,33,'POLYFROMWKB','PolyFromWKB(wkb[,srid]), PolygonFromWKB(wkb[,srid])\n\nConstructs a Polygon value using its WKB representation and SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (52,38,'NOT LIKE','Syntax:\nexpr NOT LIKE pat [ESCAPE \'escape_char\']\n\nThis is the same as NOT (expr LIKE pat [ESCAPE \'escape_char\']).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-comparison-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-comparison-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (53,38,'SPACE','Syntax:\nSPACE(N)\n\nReturns a string consisting of N space characters.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT SPACE(6);\n -> \' \'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (54,16,'MAX','Syntax:\nMAX([DISTINCT] expr)\n\nReturns the maximum value of expr. MAX() may take a string argument; in\nsuch cases, it returns the maximum string value. See\nhttp://dev.mysql.com/doc/refman/5.5/en/mysql-indexes.html. The DISTINCT\nkeyword can be used to find the maximum of the distinct values of expr,\nhowever, this produces the same result as omitting DISTINCT.\n\nMAX() returns NULL if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','mysql> SELECT student_name, MIN(test_score), MAX(test_score)\n -> FROM student\n -> GROUP BY student_name;\n','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (55,22,'CREATE FUNCTION UDF','Syntax:\nCREATE [AGGREGATE] FUNCTION function_name RETURNS {STRING|INTEGER|REAL|DECIMAL}\n SONAME shared_library_name\n\nA user-defined function (UDF) is a way to extend MySQL with a new\nfunction that works like a native (built-in) MySQL function such as\nABS() or CONCAT().\n\nfunction_name is the name that should be used in SQL statements to\ninvoke the function. The RETURNS clause indicates the type of the\nfunction\'s return value. DECIMAL is a legal value after RETURNS, but\ncurrently DECIMAL functions return string values and should be written\nlike STRING functions.\n\nshared_library_name is the basename of the shared object file that\ncontains the code that implements the function. The file must be\nlocated in the plugin directory. This directory is given by the value\nof the plugin_dir system variable. For more information, see\nhttp://dev.mysql.com/doc/refman/5.5/en/udf-compiling.html.\n\nTo create a function, you must have the INSERT privilege for the mysql\ndatabase. This is necessary because CREATE FUNCTION adds a row to the\nmysql.func system table that records the function\'s name, type, and\nshared library name. If you do not have this table, you should run the\nmysql_upgrade command to create it. See\nhttp://dev.mysql.com/doc/refman/5.5/en/mysql-upgrade.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-function-udf.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/create-function-udf.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (56,23,'TIMESTAMP','TIMESTAMP\n\nA timestamp. The range is \'1970-01-01 00:00:01\' UTC to \'2038-01-19\n03:14:07\' UTC. TIMESTAMP values are stored as the number of seconds\nsince the epoch (\'1970-01-01 00:00:00\' UTC). A TIMESTAMP cannot\nrepresent the value \'1970-01-01 00:00:00\' because that is equivalent to\n0 seconds from the epoch and the value 0 is reserved for representing\n\'0000-00-00 00:00:00\', the "zero" TIMESTAMP value.\n\nUnless specified otherwise, the first TIMESTAMP column in a table is\ndefined to be automatically set to the date and time of the most recent\nmodification if not explicitly assigned a value. This makes TIMESTAMP\nuseful for recording the timestamp of an INSERT or UPDATE operation.\nYou can also set any TIMESTAMP column to the current date and time by\nassigning it a NULL value, unless it has been defined with the NULL\nattribute to permit NULL values. The automatic initialization and\nupdating to the current date and time can be specified using DEFAULT\nCURRENT_TIMESTAMP and ON UPDATE CURRENT_TIMESTAMP clauses, as described\nin\nhttp://dev.mysql.com/doc/refman/5.5/en/timestamp-initialization.html.\n\n*Note*: The TIMESTAMP format that was used prior to MySQL 4.1 is not\nsupported in MySQL 5.5; see MySQL 3.23, 4.0, 4.1 Reference Manual for\ninformation regarding the old format.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (57,27,'CACHE INDEX','Syntax:\nCACHE INDEX\n tbl_index_list [, tbl_index_list] ...\n [PARTITION (partition_list | ALL)]\n IN key_cache_name\n\ntbl_index_list:\n tbl_name [[INDEX|KEY] (index_name[, index_name] ...)]\n\npartition_list:\n partition_name[, partition_name][, ...]\n\nThe CACHE INDEX statement assigns table indexes to a specific key\ncache. It is used only for MyISAM tables. After the indexes have been\nassigned, they can be preloaded into the cache if desired with LOAD\nINDEX INTO CACHE.\n\nThe following statement assigns indexes from the tables t1, t2, and t3\nto the key cache named hot_cache:\n\nmysql> CACHE INDEX t1, t2, t3 IN hot_cache;\n+---------+--------------------+----------+----------+\n| Table | Op | Msg_type | Msg_text |\n+---------+--------------------+----------+----------+\n| test.t1 | assign_to_keycache | status | OK |\n| test.t2 | assign_to_keycache | status | OK |\n| test.t3 | assign_to_keycache | status | OK |\n+---------+--------------------+----------+----------+\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/cache-index.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/cache-index.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (58,12,'COMPRESS','Syntax:\nCOMPRESS(string_to_compress)\n\nCompresses a string and returns the result as a binary string. This\nfunction requires MySQL to have been compiled with a compression\nlibrary such as zlib. Otherwise, the return value is always NULL. The\ncompressed string can be uncompressed with UNCOMPRESS().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','mysql> SELECT LENGTH(COMPRESS(REPEAT(\'a\',1000)));\n -> 21\nmysql> SELECT LENGTH(COMPRESS(\'\'));\n -> 0\nmysql> SELECT LENGTH(COMPRESS(\'a\'));\n -> 13\nmysql> SELECT LENGTH(COMPRESS(REPEAT(\'a\',16)));\n -> 15\n','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (59,28,'HANDLER','Syntax:\nHANDLER tbl_name OPEN [ [AS] alias]\n\nHANDLER tbl_name READ index_name { = | <= | >= | < | > } (value1,value2,...)\n [ WHERE where_condition ] [LIMIT ... ]\nHANDLER tbl_name READ index_name { FIRST | NEXT | PREV | LAST }\n [ WHERE where_condition ] [LIMIT ... ]\nHANDLER tbl_name READ { FIRST | NEXT }\n [ WHERE where_condition ] [LIMIT ... ]\n\nHANDLER tbl_name CLOSE\n\nThe HANDLER statement provides direct access to table storage engine\ninterfaces. It is available for InnoDB and MyISAM tables.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/handler.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/handler.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (60,9,'HELP_DATE','This help information was generated from the MySQL 5.5 Reference Manual\non: 2014-11-04\n','',''); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (61,40,'RENAME TABLE','Syntax:\nRENAME TABLE tbl_name TO new_tbl_name\n [, tbl_name2 TO new_tbl_name2] ...\n\nThis statement renames one or more tables.\n\nThe rename operation is done atomically, which means that no other\nsession can access any of the tables while the rename is running. For\nexample, if you have an existing table old_table, you can create\nanother table new_table that has the same structure but is empty, and\nthen replace the existing table with the empty one as follows (assuming\nthat backup_table does not already exist):\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/rename-table.html\n\n','CREATE TABLE new_table (...);\nRENAME TABLE old_table TO backup_table, new_table TO old_table;\n','http://dev.mysql.com/doc/refman/5.5/en/rename-table.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (62,23,'BOOLEAN','BOOL, BOOLEAN\n\nThese types are synonyms for TINYINT(1). A value of zero is considered\nfalse. Nonzero values are considered true:\n\nmysql> SELECT IF(0, \'true\', \'false\');\n+------------------------+\n| IF(0, \'true\', \'false\') |\n+------------------------+\n| false |\n+------------------------+\n\nmysql> SELECT IF(1, \'true\', \'false\');\n+------------------------+\n| IF(1, \'true\', \'false\') |\n+------------------------+\n| true |\n+------------------------+\n\nmysql> SELECT IF(2, \'true\', \'false\');\n+------------------------+\n| IF(2, \'true\', \'false\') |\n+------------------------+\n| true |\n+------------------------+\n\nHowever, the values TRUE and FALSE are merely aliases for 1 and 0,\nrespectively, as shown here:\n\nmysql> SELECT IF(0 = FALSE, \'true\', \'false\');\n+--------------------------------+\n| IF(0 = FALSE, \'true\', \'false\') |\n+--------------------------------+\n| true |\n+--------------------------------+\n\nmysql> SELECT IF(1 = TRUE, \'true\', \'false\');\n+-------------------------------+\n| IF(1 = TRUE, \'true\', \'false\') |\n+-------------------------------+\n| true |\n+-------------------------------+\n\nmysql> SELECT IF(2 = TRUE, \'true\', \'false\');\n+-------------------------------+\n| IF(2 = TRUE, \'true\', \'false\') |\n+-------------------------------+\n| false |\n+-------------------------------+\n\nmysql> SELECT IF(2 = FALSE, \'true\', \'false\');\n+--------------------------------+\n| IF(2 = FALSE, \'true\', \'false\') |\n+--------------------------------+\n| false |\n+--------------------------------+\n\nThe last two statements display the results shown because 2 is equal to\nneither 1 nor 0.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (63,3,'MOD','Syntax:\nMOD(N,M), N % M, N MOD M\n\nModulo operation. Returns the remainder of N divided by M.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT MOD(234, 10);\n -> 4\nmysql> SELECT 253 % 7;\n -> 1\nmysql> SELECT MOD(29,9);\n -> 2\nmysql> SELECT 29 MOD 9;\n -> 2\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (64,29,'HELP STATEMENT','Syntax:\nHELP \'search_string\'\n\nThe HELP statement returns online information from the MySQL Reference\nmanual. Its proper operation requires that the help tables in the mysql\ndatabase be initialized with help topic information (see\nhttp://dev.mysql.com/doc/refman/5.5/en/server-side-help-support.html).\n\nThe HELP statement searches the help tables for the given search string\nand displays the result of the search. The search string is not case\nsensitive.\n\nThe search string can contain the wildcard characters "%" and "_".\nThese have the same meaning as for pattern-matching operations\nperformed with the LIKE operator. For example, HELP \'rep%\' returns a\nlist of topics that begin with rep.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/help.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/help.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (65,38,'UCASE','Syntax:\nUCASE(str)\n\nUCASE() is a synonym for UPPER().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (66,27,'SHOW BINLOG EVENTS','Syntax:\nSHOW BINLOG EVENTS\n [IN \'log_name\'] [FROM pos] [LIMIT [offset,] row_count]\n\nShows the events in the binary log. If you do not specify \'log_name\',\nthe first binary log is displayed.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-binlog-events.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-binlog-events.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (67,33,'MPOLYFROMWKB','MPolyFromWKB(wkb[,srid]), MultiPolygonFromWKB(wkb[,srid])\n\nConstructs a MultiPolygon value using its WKB representation and SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (68,24,'ITERATE','Syntax:\nITERATE label\n\nITERATE can appear only within LOOP, REPEAT, and WHILE statements.\nITERATE means "start the loop again."\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/iterate.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/iterate.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (69,28,'DO','Syntax:\nDO expr [, expr] ...\n\nDO executes the expressions but does not return any results. In most\nrespects, DO is shorthand for SELECT expr, ..., but has the advantage\nthat it is slightly faster when you do not care about the result.\n\nDO is useful primarily with functions that have side effects, such as\nRELEASE_LOCK().\n\nExample: This SELECT statement pauses, but also produces a result set:\n\nmysql> SELECT SLEEP(5);\n+----------+\n| SLEEP(5) |\n+----------+\n| 0 |\n+----------+\n1 row in set (5.02 sec)\n\nDO, on the other hand, pauses without producing a result set.:\n\nmysql> DO SLEEP(5);\nQuery OK, 0 rows affected (4.99 sec)\n\nThis could be useful, for example in a stored function or trigger,\nwhich prohibit statements that produce result sets.\n\nDO only executes expressions. It cannot be used in all cases where\nSELECT can be used. For example, DO id FROM t1 is invalid because it\nreferences a table.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/do.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/do.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (70,38,'CHAR_LENGTH','Syntax:\nCHAR_LENGTH(str)\n\nReturns the length of the string str, measured in characters. A\nmultibyte character counts as a single character. This means that for a\nstring containing five 2-byte characters, LENGTH() returns 10, whereas\nCHAR_LENGTH() returns 5.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (71,23,'DATE','DATE\n\nA date. The supported range is \'1000-01-01\' to \'9999-12-31\'. MySQL\ndisplays DATE values in \'YYYY-MM-DD\' format, but permits assignment of\nvalues to DATE columns using either strings or numbers.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (72,38,'EXTRACTVALUE','Syntax:\nExtractValue(xml_frag, xpath_expr)\n\nExtractValue() takes two string arguments, a fragment of XML markup\nxml_frag and an XPath expression xpath_expr (also known as a locator);\nit returns the text (CDATA) of the first text node which is a child of\nthe elements or elements matched by the XPath expression. In MySQL 5.5,\nthe XPath expression can contain at most 127 characters. (This\nlimitation is lifted in MySQL 5.6.)\n\nUsing this function is the equivalent of performing a match using the\nxpath_expr after appending /text(). In other words,\nExtractValue(\'Sakila\', \'/a/b\') and\nExtractValue(\'Sakila\', \'/a/b/text()\') produce the same\nresult.\n\nIf multiple matches are found, the content of the first child text node\nof each matching element is returned (in the order matched) as a\nsingle, space-delimited string.\n\nIf no matching text node is found for the expression (including the\nimplicit /text())---for whatever reason, as long as xpath_expr is\nvalid, and xml_frag consists of elements which are properly nested and\nclosed---an empty string is returned. No distinction is made between a\nmatch on an empty element and no match at all. This is by design.\n\nIf you need to determine whether no matching element was found in\nxml_frag or such an element was found but contained no child text\nnodes, you should test the result of an expression that uses the XPath\ncount() function. For example, both of these statements return an empty\nstring, as shown here:\n\nmysql> SELECT ExtractValue(\'\', \'/a/b\');\n+-------------------------------------+\n| ExtractValue(\'\', \'/a/b\') |\n+-------------------------------------+\n| |\n+-------------------------------------+\n1 row in set (0.00 sec)\n\nmysql> SELECT ExtractValue(\'\', \'/a/b\');\n+-------------------------------------+\n| ExtractValue(\'\', \'/a/b\') |\n+-------------------------------------+\n| |\n+-------------------------------------+\n1 row in set (0.00 sec)\n\nHowever, you can determine whether there was actually a matching\nelement using the following:\n\nmysql> SELECT ExtractValue(\'\', \'count(/a/b)\');\n+-------------------------------------+\n| ExtractValue(\'\', \'count(/a/b)\') |\n+-------------------------------------+\n| 1 |\n+-------------------------------------+\n1 row in set (0.00 sec)\n\nmysql> SELECT ExtractValue(\'\', \'count(/a/b)\');\n+-------------------------------------+\n| ExtractValue(\'\', \'count(/a/b)\') |\n+-------------------------------------+\n| 0 |\n+-------------------------------------+\n1 row in set (0.01 sec)\n\n*Important*: ExtractValue() returns only CDATA, and does not return any\ntags that might be contained within a matching tag, nor any of their\ncontent (see the result returned as val1 in the following example).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/xml-functions.html\n\n','mysql> SELECT\n -> ExtractValue(\'cccddd\', \'/a\') AS val1,\n -> ExtractValue(\'cccddd\', \'/a/b\') AS val2,\n -> ExtractValue(\'cccddd\', \'//b\') AS val3,\n -> ExtractValue(\'cccddd\', \'/b\') AS val4,\n -> ExtractValue(\'cccdddeee\', \'//b\') AS val5;\n\n+------+------+------+------+---------+\n| val1 | val2 | val3 | val4 | val5 |\n+------+------+------+------+---------+\n| ccc | ddd | ddd | | ddd eee |\n+------+------+------+------+---------+\n','http://dev.mysql.com/doc/refman/5.5/en/xml-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (73,12,'OLD_PASSWORD','Syntax:\nOLD_PASSWORD(str)\n\nOLD_PASSWORD() was added when the implementation of PASSWORD() was\nchanged in MySQL 4.1 to improve security. OLD_PASSWORD() returns the\nvalue of the pre-4.1 implementation of PASSWORD() as a string, and is\nintended to permit you to reset passwords for any pre-4.1 clients that\nneed to connect to your version 5.5 MySQL server without locking them\nout. See http://dev.mysql.com/doc/refman/5.5/en/password-hashing.html.\n\nAs of MySQL 5.5.3, the return value is a nonbinary string in the\nconnection character set. Before 5.5.3, the return value is a binary\nstring.\n\n*Note*: Passwords that use the pre-4.1 hashing method are less secure\nthan passwords that use the native password hashing method and should\nbe avoided.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (74,38,'FORMAT','Syntax:\nFORMAT(X,D[,locale])\n\nFormats the number X to a format like \'#,###,###.##\', rounded to D\ndecimal places, and returns the result as a string. If D is 0, the\nresult has no decimal point or fractional part.\n\nThe optional third parameter enables a locale to be specified to be\nused for the result number\'s decimal point, thousands separator, and\ngrouping between separators. Permissible locale values are the same as\nthe legal values for the lc_time_names system variable (see\nhttp://dev.mysql.com/doc/refman/5.5/en/locale-support.html). If no\nlocale is specified, the default is \'en_US\'.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT FORMAT(12332.123456, 4);\n -> \'12,332.1235\'\nmysql> SELECT FORMAT(12332.1,4);\n -> \'12,332.1000\'\nmysql> SELECT FORMAT(12332.2,0);\n -> \'12,332\'\nmysql> SELECT FORMAT(12332.2,2,\'de_DE\');\n -> \'12.332,20\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (75,15,'||','Syntax:\nOR, ||\n\nLogical OR. When both operands are non-NULL, the result is 1 if any\noperand is nonzero, and 0 otherwise. With a NULL operand, the result is\n1 if the other operand is nonzero, and NULL otherwise. If both operands\nare NULL, the result is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/logical-operators.html\n\n','mysql> SELECT 1 || 1;\n -> 1\nmysql> SELECT 1 || 0;\n -> 1\nmysql> SELECT 0 || 0;\n -> 0\nmysql> SELECT 0 || NULL;\n -> NULL\nmysql> SELECT 1 || NULL;\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/logical-operators.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (76,38,'BIT_LENGTH','Syntax:\nBIT_LENGTH(str)\n\nReturns the length of the string str in bits.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT BIT_LENGTH(\'text\');\n -> 32\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (77,2,'EXTERIORRING','ExteriorRing(poly)\n\nReturns the exterior ring of the Polygon value poly as a LineString.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-polygon-property-functions.html\n\n','mysql> SET @poly =\n -> \'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))\';\nmysql> SELECT AsText(ExteriorRing(GeomFromText(@poly)));\n+-------------------------------------------+\n| AsText(ExteriorRing(GeomFromText(@poly))) |\n+-------------------------------------------+\n| LINESTRING(0 0,0 3,3 3,3 0,0 0) |\n+-------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-polygon-property-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (78,33,'GEOMFROMWKB','GeomFromWKB(wkb[,srid]), GeometryFromWKB(wkb[,srid])\n\nConstructs a geometry value of any type using its WKB representation\nand SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (79,20,'BETWEEN AND','Syntax:\nexpr BETWEEN min AND max\n\nIf expr is greater than or equal to min and expr is less than or equal\nto max, BETWEEN returns 1, otherwise it returns 0. This is equivalent\nto the expression (min <= expr AND expr <= max) if all the arguments\nare of the same type. Otherwise type conversion takes place according\nto the rules described in\nhttp://dev.mysql.com/doc/refman/5.5/en/type-conversion.html, but\napplied to all the three arguments.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT 2 BETWEEN 1 AND 3, 2 BETWEEN 3 and 1;\n -> 1, 0\nmysql> SELECT 1 BETWEEN 2 AND 3;\n -> 0\nmysql> SELECT \'b\' BETWEEN \'a\' AND \'c\';\n -> 1\nmysql> SELECT 2 BETWEEN 2 AND \'3\';\n -> 1\nmysql> SELECT 2 BETWEEN 2 AND \'x-3\';\n -> 0\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (80,25,'MULTIPOLYGON','MultiPolygon(poly1,poly2,...)\n\nConstructs a MultiPolygon value from a set of Polygon or WKB Polygon\narguments.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (81,38,'LEFT','Syntax:\nLEFT(str,len)\n\nReturns the leftmost len characters from the string str, or NULL if any\nargument is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT LEFT(\'foobarbar\', 5);\n -> \'fooba\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (82,27,'FLUSH QUERY CACHE','You can defragment the query cache to better utilize its memory with\nthe FLUSH QUERY CACHE statement. The statement does not remove any\nqueries from the cache.\n\nThe RESET QUERY CACHE statement removes all query results from the\nquery cache. The FLUSH TABLES statement also does this.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/query-cache-status-and-maintenance.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/query-cache-status-and-maintenance.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (83,23,'SET DATA TYPE','SET(\'value1\',\'value2\',...) [CHARACTER SET charset_name] [COLLATE\ncollation_name]\n\nA set. A string object that can have zero or more values, each of which\nmust be chosen from the list of values \'value1\', \'value2\', ... SET\nvalues are represented internally as integers.\n\nA SET column can have a maximum of 64 distinct members. A table can\nhave no more than 255 unique element list definitions among its ENUM\nand SET columns considered as a group. For more information on this\nlimit, see http://dev.mysql.com/doc/refman/5.5/en/limits-frm-file.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (84,3,'RAND','Syntax:\nRAND(), RAND(N)\n\nReturns a random floating-point value v in the range 0 <= v < 1.0. If a\nconstant integer argument N is specified, it is used as the seed value,\nwhich produces a repeatable sequence of column values. In the following\nexample, note that the sequences of values produced by RAND(3) is the\nsame both places where it occurs.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> CREATE TABLE t (i INT);\nQuery OK, 0 rows affected (0.42 sec)\n\nmysql> INSERT INTO t VALUES(1),(2),(3);\nQuery OK, 3 rows affected (0.00 sec)\nRecords: 3 Duplicates: 0 Warnings: 0\n\nmysql> SELECT i, RAND() FROM t;\n+------+------------------+\n| i | RAND() |\n+------+------------------+\n| 1 | 0.61914388706828 |\n| 2 | 0.93845168309142 |\n| 3 | 0.83482678498591 |\n+------+------------------+\n3 rows in set (0.00 sec)\n\nmysql> SELECT i, RAND(3) FROM t;\n+------+------------------+\n| i | RAND(3) |\n+------+------------------+\n| 1 | 0.90576975597606 |\n| 2 | 0.37307905813035 |\n| 3 | 0.14808605345719 |\n+------+------------------+\n3 rows in set (0.00 sec)\n\nmysql> SELECT i, RAND() FROM t;\n+------+------------------+\n| i | RAND() |\n+------+------------------+\n| 1 | 0.35877890638893 |\n| 2 | 0.28941420772058 |\n| 3 | 0.37073435016976 |\n+------+------------------+\n3 rows in set (0.00 sec)\n\nmysql> SELECT i, RAND(3) FROM t;\n+------+------------------+\n| i | RAND(3) |\n+------+------------------+\n| 1 | 0.90576975597606 |\n| 2 | 0.37307905813035 |\n| 3 | 0.14808605345719 |\n+------+------------------+\n3 rows in set (0.01 sec)\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (85,38,'RPAD','Syntax:\nRPAD(str,len,padstr)\n\nReturns the string str, right-padded with the string padstr to a length\nof len characters. If str is longer than len, the return value is\nshortened to len characters.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT RPAD(\'hi\',5,\'?\');\n -> \'hi???\'\nmysql> SELECT RPAD(\'hi\',1,\'?\');\n -> \'h\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (86,23,'DEC','DEC[(M[,D])] [UNSIGNED] [ZEROFILL], NUMERIC[(M[,D])] [UNSIGNED]\n[ZEROFILL], FIXED[(M[,D])] [UNSIGNED] [ZEROFILL]\n\nThese types are synonyms for DECIMAL. The FIXED synonym is available\nfor compatibility with other database systems.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (87,38,'ELT','Syntax:\nELT(N,str1,str2,str3,...)\n\nELT() returns the Nth element of the list of strings: str1 if N = 1,\nstr2 if N = 2, and so on. Returns NULL if N is less than 1 or greater\nthan the number of arguments. ELT() is the complement of FIELD().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT ELT(1, \'ej\', \'Heja\', \'hej\', \'foo\');\n -> \'ej\'\nmysql> SELECT ELT(4, \'ej\', \'Heja\', \'hej\', \'foo\');\n -> \'foo\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (88,40,'ALTER VIEW','Syntax:\nALTER\n [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]\n [DEFINER = { user | CURRENT_USER }]\n [SQL SECURITY { DEFINER | INVOKER }]\n VIEW view_name [(column_list)]\n AS select_statement\n [WITH [CASCADED | LOCAL] CHECK OPTION]\n\nThis statement changes the definition of a view, which must exist. The\nsyntax is similar to that for CREATE VIEW and the effect is the same as\nfor CREATE OR REPLACE VIEW. See [HELP CREATE VIEW]. This statement\nrequires the CREATE VIEW and DROP privileges for the view, and some\nprivilege for each column referred to in the SELECT statement. ALTER\nVIEW is permitted only to the definer or users with the SUPER\nprivilege.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/alter-view.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/alter-view.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (89,27,'SHOW DATABASES','Syntax:\nSHOW {DATABASES | SCHEMAS}\n [LIKE \'pattern\' | WHERE expr]\n\nSHOW DATABASES lists the databases on the MySQL server host. SHOW\nSCHEMAS is a synonym for SHOW DATABASES. The LIKE clause, if present,\nindicates which database names to match. The WHERE clause can be given\nto select rows using more general conditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.5/en/extended-show.html.\n\nYou see only those databases for which you have some kind of privilege,\nunless you have the global SHOW DATABASES privilege. You can also get\nthis list using the mysqlshow command.\n\nIf the server was started with the --skip-show-database option, you\ncannot use this statement at all unless you have the SHOW DATABASES\nprivilege.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-databases.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-databases.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (90,32,'SEC_TO_TIME','Syntax:\nSEC_TO_TIME(seconds)\n\nReturns the seconds argument, converted to hours, minutes, and seconds,\nas a TIME value. The range of the result is constrained to that of the\nTIME data type. A warning occurs if the argument corresponds to a value\noutside that range.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT SEC_TO_TIME(2378);\n -> \'00:39:38\'\nmysql> SELECT SEC_TO_TIME(2378) + 0;\n -> 3938\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (91,38,'LOCATE','Syntax:\nLOCATE(substr,str), LOCATE(substr,str,pos)\n\nThe first syntax returns the position of the first occurrence of\nsubstring substr in string str. The second syntax returns the position\nof the first occurrence of substring substr in string str, starting at\nposition pos. Returns 0 if substr is not in str.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT LOCATE(\'bar\', \'foobarbar\');\n -> 4\nmysql> SELECT LOCATE(\'xbar\', \'foobar\');\n -> 0\nmysql> SELECT LOCATE(\'bar\', \'foobarbar\', 5);\n -> 7\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (92,27,'SHOW EVENTS','Syntax:\nSHOW EVENTS [{FROM | IN} schema_name]\n [LIKE \'pattern\' | WHERE expr]\n\nThis statement displays information about Event Manager events. It\nrequires the EVENT privilege for the database from which the events are\nto be shown.\n\nIn its simplest form, SHOW EVENTS lists all of the events in the\ncurrent schema:\n\nmysql> SELECT CURRENT_USER(), SCHEMA();\n+----------------+----------+\n| CURRENT_USER() | SCHEMA() |\n+----------------+----------+\n| jon@ghidora | myschema |\n+----------------+----------+\n1 row in set (0.00 sec)\n\nmysql> SHOW EVENTS\\G\n*************************** 1. row ***************************\n Db: myschema\n Name: e_daily\n Definer: jon@ghidora\n Time zone: SYSTEM\n Type: RECURRING\n Execute at: NULL\n Interval value: 10\n Interval field: SECOND\n Starts: 2006-02-09 10:41:23\n Ends: NULL\n Status: ENABLED\n Originator: 0\ncharacter_set_client: latin1\ncollation_connection: latin1_swedish_ci\n Database Collation: latin1_swedish_ci\n\nTo see events for a specific schema, use the FROM clause. For example,\nto see events for the test schema, use the following statement:\n\nSHOW EVENTS FROM test;\n\nThe LIKE clause, if present, indicates which event names to match. The\nWHERE clause can be given to select rows using more general conditions,\nas discussed in\nhttp://dev.mysql.com/doc/refman/5.5/en/extended-show.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-events.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-events.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (93,23,'LONGTEXT','LONGTEXT [CHARACTER SET charset_name] [COLLATE collation_name]\n\nA TEXT column with a maximum length of 4,294,967,295 or 4GB (232 - 1)\ncharacters. The effective maximum length is less if the value contains\nmultibyte characters. The effective maximum length of LONGTEXT columns\nalso depends on the configured maximum packet size in the client/server\nprotocol and available memory. Each LONGTEXT value is stored using a\n4-byte length prefix that indicates the number of bytes in the value.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (94,27,'KILL','Syntax:\nKILL [CONNECTION | QUERY] thread_id\n\nEach connection to mysqld runs in a separate thread. You can see which\nthreads are running with the SHOW PROCESSLIST statement and kill a\nthread with the KILL thread_id statement.\n\nKILL permits an optional CONNECTION or QUERY modifier:\n\no KILL CONNECTION is the same as KILL with no modifier: It terminates\n the connection associated with the given thread_id.\n\no KILL QUERY terminates the statement that the connection is currently\n executing, but leaves the connection itself intact.\n\nIf you have the PROCESS privilege, you can see all threads. If you have\nthe SUPER privilege, you can kill all threads and statements.\nOtherwise, you can see and kill only your own threads and statements.\n\nYou can also use the mysqladmin processlist and mysqladmin kill\ncommands to examine and kill threads.\n\n*Note*: You cannot use KILL with the Embedded MySQL Server library\nbecause the embedded server merely runs inside the threads of the host\napplication. It does not create any connection threads of its own.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/kill.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/kill.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (95,31,'DISJOINT','Disjoint(g1,g2)\n\nReturns 1 or 0 to indicate whether g1 is spatially disjoint from (does\nnot intersect) g2.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (96,38,'LPAD','Syntax:\nLPAD(str,len,padstr)\n\nReturns the string str, left-padded with the string padstr to a length\nof len characters. If str is longer than len, the return value is\nshortened to len characters.\n\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT LPAD(\'hi\',4,\'??\');\n -> \'??hi\'\nmysql> SELECT LPAD(\'hi\',1,\'??\');\n -> \'h\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (97,31,'OVERLAPS','Overlaps(g1,g2)\n\nReturns 1 or 0 to indicate whether g1 spatially overlaps g2. The term\nspatially overlaps is used if two geometries intersect and their\nintersection results in a geometry of the same dimension but not equal\nto either of the given geometries.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (98,8,'SET GLOBAL SQL_SLAVE_SKIP_COUNTER','Syntax:\nSET GLOBAL sql_slave_skip_counter = N\n\nThis statement skips the next N events from the master. This is useful\nfor recovering from replication stops caused by a statement.\n\nThis statement is valid only when the slave threads are not running.\nOtherwise, it produces an error.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/set-global-sql-slave-skip-counter.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/set-global-sql-slave-skip-counter.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (99,7,'MBREQUAL','MBREqual(g1,g2)\n\nReturns 1 or 0 to indicate whether the minimum bounding rectangles of\nthe two geometries g1 and g2 are the same.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (100,34,'PROCEDURE ANALYSE','Syntax:\nANALYSE([max_elements[,max_memory]])\n\nANALYSE() examines the result from a query and returns an analysis of\nthe results that suggests optimal data types for each column that may\nhelp reduce table sizes. To obtain this analysis, append PROCEDURE\nANALYSE to the end of a SELECT statement:\n\nSELECT ... FROM ... WHERE ... PROCEDURE ANALYSE([max_elements,[max_memory]])\n\nFor example:\n\nSELECT col1, col2 FROM table1 PROCEDURE ANALYSE(10, 2000);\n\nThe results show some statistics for the values returned by the query,\nand propose an optimal data type for the columns. This can be helpful\nfor checking your existing tables, or after importing new data. You may\nneed to try different settings for the arguments so that PROCEDURE\nANALYSE() does not suggest the ENUM data type when it is not\nappropriate.\n\nThe arguments are optional and are used as follows:\n\no max_elements (default 256) is the maximum number of distinct values\n that ANALYSE() notices per column. This is used by ANALYSE() to check\n whether the optimal data type should be of type ENUM; if there are\n more than max_elements distinct values, then ENUM is not a suggested\n type.\n\no max_memory (default 8192) is the maximum amount of memory that\n ANALYSE() should allocate per column while trying to find all\n distinct values.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/procedure-analyse.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/procedure-analyse.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (101,9,'HELP_VERSION','This help information was generated from the MySQL 5.5 Reference Manual\non: 2014-11-04 (revision: 40632)\n\nThis information applies to MySQL 5.5 through 5.5.42.\n','',''); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (102,38,'CHARACTER_LENGTH','Syntax:\nCHARACTER_LENGTH(str)\n\nCHARACTER_LENGTH() is a synonym for CHAR_LENGTH().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (103,27,'SHOW PRIVILEGES','Syntax:\nSHOW PRIVILEGES\n\nSHOW PRIVILEGES shows the list of system privileges that the MySQL\nserver supports. The exact list of privileges depends on the version of\nyour server.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-privileges.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-privileges.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (104,40,'CREATE TABLESPACE','Syntax:\nCREATE TABLESPACE tablespace_name\n ADD DATAFILE \'file_name\'\n USE LOGFILE GROUP logfile_group\n [EXTENT_SIZE [=] extent_size]\n [INITIAL_SIZE [=] initial_size]\n [AUTOEXTEND_SIZE [=] autoextend_size]\n [MAX_SIZE [=] max_size]\n [NODEGROUP [=] nodegroup_id]\n [WAIT]\n [COMMENT [=] comment_text]\n ENGINE [=] engine_name\n\nThis statement is used to create a tablespace, which can contain one or\nmore data files, providing storage space for tables. One data file is\ncreated and added to the tablespace using this statement. Additional\ndata files may be added to the tablespace by using the ALTER TABLESPACE\nstatement (see [HELP ALTER TABLESPACE]). For rules covering the naming\nof tablespaces, see\nhttp://dev.mysql.com/doc/refman/5.5/en/identifiers.html.\n\n*Note*: All MySQL Cluster Disk Data objects share the same namespace.\nThis means that each Disk Data object must be uniquely named (and not\nmerely each Disk Data object of a given type). For example, you cannot\nhave a tablespace and a log file group with the same name, or a\ntablespace and a data file with the same name.\n\nA log file group of one or more UNDO log files must be assigned to the\ntablespace to be created with the USE LOGFILE GROUP clause.\nlogfile_group must be an existing log file group created with CREATE\nLOGFILE GROUP (see [HELP CREATE LOGFILE GROUP]). Multiple tablespaces\nmay use the same log file group for UNDO logging.\n\nThe EXTENT_SIZE sets the size, in bytes, of the extents used by any\nfiles belonging to the tablespace. The default value is 1M. The minimum\nsize is 32K, and theoretical maximum is 2G, although the practical\nmaximum size depends on a number of factors. In most cases, changing\nthe extent size does not have any measurable effect on performance, and\nthe default value is recommended for all but the most unusual\nsituations.\n\nAn extent is a unit of disk space allocation. One extent is filled with\nas much data as that extent can contain before another extent is used.\nIn theory, up to 65,535 (64K) extents may used per data file; however,\nthe recommended maximum is 32,768 (32K). The recommended maximum size\nfor a single data file is 32G---that is, 32K extents x 1 MB per extent.\nIn addition, once an extent is allocated to a given partition, it\ncannot be used to store data from a different partition; an extent\ncannot store data from more than one partition. This means, for example\nthat a tablespace having a single datafile whose INITIAL_SIZE is 256 MB\nand whose EXTENT_SIZE is 128M has just two extents, and so can be used\nto store data from at most two different disk data table partitions.\n\nYou can see how many extents remain free in a given data file by\nquerying the INFORMATION_SCHEMA.FILES table, and so derive an estimate\nfor how much space remains free in the file. For further discussion and\nexamples, see http://dev.mysql.com/doc/refman/5.5/en/files-table.html.\n\nThe INITIAL_SIZE parameter sets the data file\'s total size in bytes.\nOnce the file has been created, its size cannot be changed; however,\nyou can add more data files to the tablespace using ALTER TABLESPACE\n... ADD DATAFILE. See [HELP ALTER TABLESPACE].\n\nINITIAL_SIZE is optional; its default value is 134217728 (128 MB).\n\nOn 32-bit systems, the maximum supported value for INITIAL_SIZE is\n4294967296 (4 GB). (Bug #29186)\n\nWhen setting EXTENT_SIZE, you may optionally follow the number with a\none-letter abbreviation for an order of magnitude, similar to those\nused in my.cnf. Generally, this is one of the letters M (for megabytes)\nor G (for gigabytes). In MySQL Cluster NDB 7.2.14 and later, these\nabbreviations are also supported when specifying INITIAL_SIZE as well.\n(Bug #13116514, Bug #16104705, Bug #62858)\n\nINITIAL_SIZE, EXTENT_SIZE, and UNDO_BUFFER_SIZE are subject to rounding\nas follows:\n\no EXTENT_SIZE and UNDO_BUFFER_SIZE are each rounded up to the nearest\n whole multiple of 32K.\n\no INITIAL_SIZE is rounded down to the nearest whole multiple of 32K.\n\n For data files, INITIAL_SIZE is subject to further rounding; the\n result just obtained is rounded up to the nearest whole multiple of\n EXTENT_SIZE (after any rounding).\n\nThe rounding just described is done explicitly, and a warning is issued\nby the MySQL Server when any such rounding is performed. The rounded\nvalues are also used by the NDB kernel for calculating\nINFORMATION_SCHEMA.FILES column values and other purposes. However, to\navoid an unexpected result, we suggest that you always use whole\nmultiples of 32K in specifying these options.\n\nAUTOEXTEND_SIZE, MAX_SIZE, NODEGROUP, WAIT, and COMMENT are parsed but\nignored, and so currently have no effect. These options are intended\nfor future expansion.\n\nThe ENGINE parameter determines the storage engine which uses this\ntablespace, with engine_name being the name of the storage engine.\nCurrently, engine_name must be one of the values NDB or NDBCLUSTER.\n\nWhen CREATE TABLESPACE is used with ENGINE = NDB, a tablespace and\nassociated data file are created on each Cluster data node. You can\nverify that the data files were created and obtain information about\nthem by querying the INFORMATION_SCHEMA.FILES table. For example:\n\nmysql> SELECT LOGFILE_GROUP_NAME, FILE_NAME, EXTRA\n -> FROM INFORMATION_SCHEMA.FILES\n -> WHERE TABLESPACE_NAME = \'newts\' AND FILE_TYPE = \'DATAFILE\';\n+--------------------+-------------+----------------+\n| LOGFILE_GROUP_NAME | FILE_NAME | EXTRA |\n+--------------------+-------------+----------------+\n| lg_3 | newdata.dat | CLUSTER_NODE=3 |\n| lg_3 | newdata.dat | CLUSTER_NODE=4 |\n+--------------------+-------------+----------------+\n2 rows in set (0.01 sec)\n\n(See http://dev.mysql.com/doc/refman/5.5/en/files-table.html.)\n\nCREATE TABLESPACE is useful only with Disk Data storage for MySQL\nCluster. See\nhttp://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-disk-data.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-tablespace.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/create-tablespace.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (105,38,'INSERT FUNCTION','Syntax:\nINSERT(str,pos,len,newstr)\n\nReturns the string str, with the substring beginning at position pos\nand len characters long replaced by the string newstr. Returns the\noriginal string if pos is not within the length of the string. Replaces\nthe rest of the string from position pos if len is not within the\nlength of the rest of the string. Returns NULL if any argument is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT INSERT(\'Quadratic\', 3, 4, \'What\');\n -> \'QuWhattic\'\nmysql> SELECT INSERT(\'Quadratic\', -1, 4, \'What\');\n -> \'Quadratic\'\nmysql> SELECT INSERT(\'Quadratic\', 3, 100, \'What\');\n -> \'QuWhat\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (106,15,'XOR','Syntax:\nXOR\n\nLogical XOR. Returns NULL if either operand is NULL. For non-NULL\noperands, evaluates to 1 if an odd number of operands is nonzero,\notherwise 0 is returned.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/logical-operators.html\n\n','mysql> SELECT 1 XOR 1;\n -> 0\nmysql> SELECT 1 XOR 0;\n -> 1\nmysql> SELECT 1 XOR NULL;\n -> NULL\nmysql> SELECT 1 XOR 1 XOR 1;\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/logical-operators.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (107,10,'GRANT','Syntax:\nGRANT\n priv_type [(column_list)]\n [, priv_type [(column_list)]] ...\n ON [object_type] priv_level\n TO user_specification [, user_specification] ...\n [REQUIRE {NONE | ssl_option [[AND] ssl_option] ...}]\n [WITH with_option ...]\n\nGRANT PROXY ON user_specification\n TO user_specification [, user_specification] ...\n [WITH GRANT OPTION]\n\nobject_type:\n TABLE\n | FUNCTION\n | PROCEDURE\n\npriv_level:\n *\n | *.*\n | db_name.*\n | db_name.tbl_name\n | tbl_name\n | db_name.routine_name\n\nuser_specification:\n user\n [\n | IDENTIFIED WITH auth_plugin [AS \'auth_string\']\n IDENTIFIED BY [PASSWORD] \'password\'\n ]\n\nssl_option:\n SSL\n | X509\n | CIPHER \'cipher\'\n | ISSUER \'issuer\'\n | SUBJECT \'subject\'\n\nwith_option:\n GRANT OPTION\n | MAX_QUERIES_PER_HOUR count\n | MAX_UPDATES_PER_HOUR count\n | MAX_CONNECTIONS_PER_HOUR count\n | MAX_USER_CONNECTIONS count\n\nThe GRANT statement grants privileges to MySQL user accounts. GRANT\nalso serves to specify other account characteristics such as use of\nsecure connections and limits on access to server resources. To use\nGRANT, you must have the GRANT OPTION privilege, and you must have the\nprivileges that you are granting.\n\nNormally, a database administrator first uses CREATE USER to create an\naccount, then GRANT to define its privileges and characteristics. For\nexample:\n\nCREATE USER \'jeffrey\'@\'localhost\' IDENTIFIED BY \'mypass\';\nGRANT ALL ON db1.* TO \'jeffrey\'@\'localhost\';\nGRANT SELECT ON db2.invoice TO \'jeffrey\'@\'localhost\';\nGRANT USAGE ON *.* TO \'jeffrey\'@\'localhost\' WITH MAX_QUERIES_PER_HOUR 90;\n\nHowever, if an account named in a GRANT statement does not already\nexist, GRANT may create it under the conditions described later in the\ndiscussion of the NO_AUTO_CREATE_USER SQL mode.\n\nThe REVOKE statement is related to GRANT and enables administrators to\nremove account privileges. See [HELP REVOKE].\n\nWhen successfully executed from the mysql program, GRANT responds with\nQuery OK, 0 rows affected. To determine what privileges result from the\noperation, use SHOW GRANTS. See [HELP SHOW GRANTS].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/grant.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/grant.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (108,7,'MBRINTERSECTS','MBRIntersects(g1,g2)\n\nReturns 1 or 0 to indicate whether the minimum bounding rectangles of\nthe two geometries g1 and g2 intersect.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (109,20,'IS NOT','Syntax:\nIS NOT boolean_value\n\nTests a value against a boolean value, where boolean_value can be TRUE,\nFALSE, or UNKNOWN.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT 1 IS NOT UNKNOWN, 0 IS NOT UNKNOWN, NULL IS NOT UNKNOWN;\n -> 1, 1, 0\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (110,3,'SQRT','Syntax:\nSQRT(X)\n\nReturns the square root of a nonnegative number X.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT SQRT(4);\n -> 2\nmysql> SELECT SQRT(20);\n -> 4.4721359549996\nmysql> SELECT SQRT(-16);\n -> NULL\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (111,40,'CREATE INDEX','Syntax:\nCREATE [ONLINE|OFFLINE] [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name\n [index_type]\n ON tbl_name (index_col_name,...)\n [index_option] ...\n\nindex_col_name:\n col_name [(length)] [ASC | DESC]\n\nindex_type:\n USING {BTREE | HASH}\n\nindex_option:\n KEY_BLOCK_SIZE [=] value\n | index_type\n | WITH PARSER parser_name\n | COMMENT \'string\'\n\nCREATE INDEX is mapped to an ALTER TABLE statement to create indexes.\nSee [HELP ALTER TABLE]. CREATE INDEX cannot be used to create a PRIMARY\nKEY; use ALTER TABLE instead. For more information about indexes, see\nhttp://dev.mysql.com/doc/refman/5.5/en/mysql-indexes.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-index.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/create-index.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (112,40,'ALTER DATABASE','Syntax:\nALTER {DATABASE | SCHEMA} [db_name]\n alter_specification ...\nALTER {DATABASE | SCHEMA} db_name\n UPGRADE DATA DIRECTORY NAME\n\nalter_specification:\n [DEFAULT] CHARACTER SET [=] charset_name\n | [DEFAULT] COLLATE [=] collation_name\n\nALTER DATABASE enables you to change the overall characteristics of a\ndatabase. These characteristics are stored in the db.opt file in the\ndatabase directory. To use ALTER DATABASE, you need the ALTER privilege\non the database. ALTER SCHEMA is a synonym for ALTER DATABASE.\n\nThe database name can be omitted from the first syntax, in which case\nthe statement applies to the default database.\n\nNational Language Characteristics\n\nThe CHARACTER SET clause changes the default database character set.\nThe COLLATE clause changes the default database collation.\nhttp://dev.mysql.com/doc/refman/5.5/en/charset.html, discusses\ncharacter set and collation names.\n\nYou can see what character sets and collations are available using,\nrespectively, the SHOW CHARACTER SET and SHOW COLLATION statements. See\n[HELP SHOW CHARACTER SET], and [HELP SHOW COLLATION], for more\ninformation.\n\nIf you change the default character set or collation for a database,\nstored routines that use the database defaults must be dropped and\nrecreated so that they use the new defaults. (In a stored routine,\nvariables with character data types use the database defaults if the\ncharacter set or collation are not specified explicitly. See [HELP\nCREATE PROCEDURE].)\n\nUpgrading from Versions Older than MySQL 5.1\n\nThe syntax that includes the UPGRADE DATA DIRECTORY NAME clause updates\nthe name of the directory associated with the database to use the\nencoding implemented in MySQL 5.1 for mapping database names to\ndatabase directory names (see\nhttp://dev.mysql.com/doc/refman/5.5/en/identifier-mapping.html). This\nclause is for use under these conditions:\n\no It is intended when upgrading MySQL to 5.1 or later from older\n versions.\n\no It is intended to update a database directory name to the current\n encoding format if the name contains special characters that need\n encoding.\n\no The statement is used by mysqlcheck (as invoked by mysql_upgrade).\n\nFor example, if a database in MySQL 5.0 has the name a-b-c, the name\ncontains instances of the - (dash) character. In MySQL 5.0, the\ndatabase directory is also named a-b-c, which is not necessarily safe\nfor all file systems. In MySQL 5.1 and later, the same database name is\nencoded as a@002db@002dc to produce a file system-neutral directory\nname.\n\nWhen a MySQL installation is upgraded to MySQL 5.1 or later from an\nolder version,the server displays a name such as a-b-c (which is in the\nold format) as #mysql50#a-b-c, and you must refer to the name using the\n#mysql50# prefix. Use UPGRADE DATA DIRECTORY NAME in this case to\nexplicitly tell the server to re-encode the database directory name to\nthe current encoding format:\n\nALTER DATABASE `#mysql50#a-b-c` UPGRADE DATA DIRECTORY NAME;\n\nAfter executing this statement, you can refer to the database as a-b-c\nwithout the special #mysql50# prefix.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/alter-database.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/alter-database.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (113,26,'GEOMETRYN','GeometryN(gc,N)\n\nReturns the N-th geometry in the GeometryCollection value gc.\nGeometries are numbered beginning with 1.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-geometrycollection-property-functions.html\n\n','mysql> SET @gc = \'GeometryCollection(Point(1 1),LineString(2 2, 3 3))\';\nmysql> SELECT AsText(GeometryN(GeomFromText(@gc),1));\n+----------------------------------------+\n| AsText(GeometryN(GeomFromText(@gc),1)) |\n+----------------------------------------+\n| POINT(1 1) |\n+----------------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-geometrycollection-property-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (114,19,'<<','Syntax:\n<<\n\nShifts a longlong (BIGINT) number to the left.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html\n\n','mysql> SELECT 1 << 2;\n -> 4\n','http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (115,27,'SHOW TABLE STATUS','Syntax:\nSHOW TABLE STATUS [{FROM | IN} db_name]\n [LIKE \'pattern\' | WHERE expr]\n\nSHOW TABLE STATUS works likes SHOW TABLES, but provides a lot of\ninformation about each non-TEMPORARY table. You can also get this list\nusing the mysqlshow --status db_name command. The LIKE clause, if\npresent, indicates which table names to match. The WHERE clause can be\ngiven to select rows using more general conditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.5/en/extended-show.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-table-status.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-table-status.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (116,38,'ASCII','Syntax:\nASCII(str)\n\nReturns the numeric value of the leftmost character of the string str.\nReturns 0 if str is the empty string. Returns NULL if str is NULL.\nASCII() works for 8-bit characters.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT ASCII(\'2\');\n -> 50\nmysql> SELECT ASCII(2);\n -> 50\nmysql> SELECT ASCII(\'dx\');\n -> 100\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (117,3,'DIV','Syntax:\nDIV\n\nInteger division. Similar to FLOOR(), but is safe with BIGINT values.\n\nAs of MySQL 5.5.3, if either operand has a noninteger type, the\noperands are converted to DECIMAL and divided using DECIMAL arithmetic\nbefore converting the result to BIGINT. If the result exceeds BIGINT\nrange, an error occurs. Before MySQL 5.5.3, incorrect results may occur\nfor noninteger operands that exceed BIGINT range.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html\n\n','mysql> SELECT 5 DIV 2;\n -> 2\n','http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (118,27,'SHOW SLAVE STATUS','Syntax:\nSHOW SLAVE STATUS\n\nThis statement provides status information on essential parameters of\nthe slave threads. It requires either the SUPER or REPLICATION CLIENT\nprivilege.\n\nIf you issue this statement using the mysql client, you can use a \\G\nstatement terminator rather than a semicolon to obtain a more readable\nvertical layout:\n\nmysql> SHOW SLAVE STATUS\\G\n*************************** 1. row ***************************\n Slave_IO_State: Waiting for master to send event\n Master_Host: localhost\n Master_User: root\n Master_Port: 3306\n Connect_Retry: 3\n Master_Log_File: gbichot-bin.005\n Read_Master_Log_Pos: 79\n Relay_Log_File: gbichot-relay-bin.005\n Relay_Log_Pos: 548\n Relay_Master_Log_File: gbichot-bin.005\n Slave_IO_Running: Yes\n Slave_SQL_Running: Yes\n Replicate_Do_DB:\n Replicate_Ignore_DB:\n Replicate_Do_Table:\n Replicate_Ignore_Table:\n Replicate_Wild_Do_Table:\n Replicate_Wild_Ignore_Table:\n Last_Errno: 0\n Last_Error:\n Skip_Counter: 0\n Exec_Master_Log_Pos: 79\n Relay_Log_Space: 552\n Until_Condition: None\n Until_Log_File:\n Until_Log_Pos: 0\n Master_SSL_Allowed: No\n Master_SSL_CA_File:\n Master_SSL_CA_Path:\n Master_SSL_Cert:\n Master_SSL_Cipher:\n Master_SSL_Key:\n Seconds_Behind_Master: 8\nMaster_SSL_Verify_Server_Cert: No\n Last_IO_Errno: 0\n Last_IO_Error:\n Last_SQL_Errno: 0\n Last_SQL_Error:\n Replicate_Ignore_Server_Ids: 0\n Master_Server_Id: 1\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-slave-status.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-slave-status.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (119,35,'GEOMETRY','MySQL provides a standard way of creating spatial columns for geometry\ntypes, for example, with CREATE TABLE or ALTER TABLE. Spatial columns\nare supported for MyISAM, InnoDB, NDB, and ARCHIVE tables. See also the\nnotes about spatial indexes under [HELP SPATIAL].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/creating-spatial-columns.html\n\n','CREATE TABLE geom (g GEOMETRY);\n','http://dev.mysql.com/doc/refman/5.5/en/creating-spatial-columns.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (120,19,'&','Syntax:\n&\n\nBitwise AND:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html\n\n','mysql> SELECT 29 & 15;\n -> 13\n','http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (121,15,'ASSIGN-EQUAL','Syntax:\n=\n\nThis operator is used to perform value assignments in two cases,\ndescribed in the next two paragraphs.\n\nWithin a SET statement, = is treated as an assignment operator that\ncauses the user variable on the left hand side of the operator to take\non the value to its right. (In other words, when used in a SET\nstatement, = is treated identically to :=.) The value on the right hand\nside may be a literal value, another variable storing a value, or any\nlegal expression that yields a scalar value, including the result of a\nquery (provided that this value is a scalar value). You can perform\nmultiple assignments in the same SET statement.\n\nIn the SET clause of an UPDATE statement, = also acts as an assignment\noperator; in this case, however, it causes the column named on the left\nhand side of the operator to assume the value given to the right,\nprovided any WHERE conditions that are part of the UPDATE are met. You\ncan make multiple assignments in the same SET clause of an UPDATE\nstatement.\n\nIn any other context, = is treated as a comparison operator.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/assignment-operators.html\n\n','mysql> SELECT @var1, @var2;\n -> NULL, NULL\nmysql> SELECT @var1 := 1, @var2;\n -> 1, NULL\nmysql> SELECT @var1, @var2;\n -> 1, NULL\nmysql> SELECT @var1, @var2 := @var1;\n -> 1, 1\nmysql> SELECT @var1, @var2;\n -> 1, 1\n','http://dev.mysql.com/doc/refman/5.5/en/assignment-operators.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (122,38,'CONVERT','Syntax:\nCONVERT(expr,type), CONVERT(expr USING transcoding_name)\n\nThe CONVERT() and CAST() functions take an expression of any type and\nproduce a result value of a specified type.\n\nThe type for the result can be one of the following values:\n\no BINARY[(N)]\n\no CHAR[(N)]\n\no DATE\n\no DATETIME\n\no DECIMAL[(M[,D])]\n\no SIGNED [INTEGER]\n\no TIME\n\no UNSIGNED [INTEGER]\n\nBINARY produces a string with the BINARY data type. See\nhttp://dev.mysql.com/doc/refman/5.5/en/binary-varbinary.html for a\ndescription of how this affects comparisons. If the optional length N\nis given, BINARY(N) causes the cast to use no more than N bytes of the\nargument. Values shorter than N bytes are padded with 0x00 bytes to a\nlength of N.\n\nCHAR(N) causes the cast to use no more than N characters of the\nargument.\n\nCAST() and CONVERT(... USING ...) are standard SQL syntax. The\nnon-USING form of CONVERT() is ODBC syntax.\n\nCONVERT() with USING is used to convert data between different\ncharacter sets. In MySQL, transcoding names are the same as the\ncorresponding character set names. For example, this statement converts\nthe string \'abc\' in the default character set to the corresponding\nstring in the utf8 character set:\n\nSELECT CONVERT(\'abc\' USING utf8);\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/cast-functions.html\n\n','SELECT enum_col FROM tbl_name ORDER BY CAST(enum_col AS CHAR);\n','http://dev.mysql.com/doc/refman/5.5/en/cast-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (123,40,'DROP LOGFILE GROUP','Syntax:\nDROP LOGFILE GROUP logfile_group\n ENGINE [=] engine_name\n\nThis statement drops the log file group named logfile_group. The log\nfile group must already exist or an error results. (For information on\ncreating log file groups, see [HELP CREATE LOGFILE GROUP].)\n\n*Important*: Before dropping a log file group, you must drop all\ntablespaces that use that log file group for UNDO logging.\n\nThe required ENGINE clause provides the name of the storage engine used\nby the log file group to be dropped. Currently, the only permitted\nvalues for engine_name are NDB and NDBCLUSTER.\n\nDROP LOGFILE GROUP is useful only with Disk Data storage for MySQL\nCluster. See\nhttp://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-disk-data.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/drop-logfile-group.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/drop-logfile-group.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (124,24,'REPEAT LOOP','Syntax:\n[begin_label:] REPEAT\n statement_list\nUNTIL search_condition\nEND REPEAT [end_label]\n\nThe statement list within a REPEAT statement is repeated until the\nsearch_condition expression is true. Thus, a REPEAT always enters the\nloop at least once. statement_list consists of one or more statements,\neach terminated by a semicolon (;) statement delimiter.\n\nA REPEAT statement can be labeled. For the rules regarding label use,\nsee [HELP labels].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/repeat.html\n\n','mysql> delimiter //\n\nmysql> CREATE PROCEDURE dorepeat(p1 INT)\n -> BEGIN\n -> SET @x = 0;\n -> REPEAT\n -> SET @x = @x + 1;\n -> UNTIL @x > p1 END REPEAT;\n -> END\n -> //\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> CALL dorepeat(1000)//\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SELECT @x//\n+------+\n| @x |\n+------+\n| 1001 |\n+------+\n1 row in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.5/en/repeat.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (125,23,'SMALLINT','SMALLINT[(M)] [UNSIGNED] [ZEROFILL]\n\nA small integer. The signed range is -32768 to 32767. The unsigned\nrange is 0 to 65535.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (126,23,'DOUBLE PRECISION','DOUBLE PRECISION[(M,D)] [UNSIGNED] [ZEROFILL], REAL[(M,D)] [UNSIGNED]\n[ZEROFILL]\n\nThese types are synonyms for DOUBLE. Exception: If the REAL_AS_FLOAT\nSQL mode is enabled, REAL is a synonym for FLOAT rather than DOUBLE.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (127,38,'ORD','Syntax:\nORD(str)\n\nIf the leftmost character of the string str is a multibyte character,\nreturns the code for that character, calculated from the numeric values\nof its constituent bytes using this formula:\n\n (1st byte code)\n+ (2nd byte code * 256)\n+ (3rd byte code * 2562) ...\n\nIf the leftmost character is not a multibyte character, ORD() returns\nthe same value as the ASCII() function.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT ORD(\'2\');\n -> 50\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (128,37,'ENVELOPE','Envelope(g)\n\nReturns the minimum bounding rectangle (MBR) for the geometry value g.\nThe result is returned as a Polygon value that is defined by the corner\npoints of the bounding box:\n\nPOLYGON((MINX MINY, MAXX MINY, MAXX MAXY, MINX MAXY, MINX MINY))\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html\n\n','mysql> SELECT AsText(Envelope(GeomFromText(\'LineString(1 1,2 2)\')));\n+-------------------------------------------------------+\n| AsText(Envelope(GeomFromText(\'LineString(1 1,2 2)\'))) |\n+-------------------------------------------------------+\n| POLYGON((1 1,2 1,2 2,1 2,1 1)) |\n+-------------------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (129,14,'INET_ATON','Syntax:\nINET_ATON(expr)\n\nGiven the dotted-quad representation of an IPv4 network address as a\nstring, returns an integer that represents the numeric value of the\naddress in network byte order (big endian). INET_ATON() returns NULL if\nit does not understand its argument.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html\n\n','mysql> SELECT INET_ATON(\'10.0.5.9\');\n -> 167773449\n','http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (130,37,'ISSIMPLE','IsSimple(g)\n\nIn MySQL 5.5, this function is a placeholder that always returns 0.\n\nThe description of each instantiable geometric class given earlier in\nthe chapter includes the specific conditions that cause an instance of\nthat class to be classified as not simple. (See [HELP Geometry\nhierarchy].)\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (131,3,'- BINARY','Syntax:\n-\n\nSubtraction:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html\n\n','mysql> SELECT 3-5;\n -> -2\n','http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (132,32,'CURRENT_TIME','Syntax:\nCURRENT_TIME, CURRENT_TIME()\n\nCURRENT_TIME and CURRENT_TIME() are synonyms for CURTIME().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (133,4,'WKT DEFINITION','The Well-Known Text (WKT) representation of geometry values is designed\nfor exchanging geometry data in ASCII form. The OpenGIS specification\nprovides a Backus-Naur grammar that specifies the formal production\nrules for writing WKT values (see\nhttp://dev.mysql.com/doc/refman/5.5/en/spatial-extensions.html).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-data-formats.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-data-formats.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (134,10,'REVOKE','Syntax:\nREVOKE\n priv_type [(column_list)]\n [, priv_type [(column_list)]] ...\n ON [object_type] priv_level\n FROM user [, user] ...\n\nREVOKE ALL PRIVILEGES, GRANT OPTION\n FROM user [, user] ...\n\nREVOKE PROXY ON user\n FROM user [, user] ...\n\nThe REVOKE statement enables system administrators to revoke privileges\nfrom MySQL accounts. Each account name uses the format described in\nhttp://dev.mysql.com/doc/refman/5.5/en/account-names.html. For example:\n\nREVOKE INSERT ON *.* FROM \'jeffrey\'@\'localhost\';\n\nIf you specify only the user name part of the account name, a host name\npart of \'%\' is used.\n\nFor details on the levels at which privileges exist, the permissible\npriv_type and priv_level values, and the syntax for specifying users\nand passwords, see [HELP GRANT]\n\nTo use the first REVOKE syntax, you must have the GRANT OPTION\nprivilege, and you must have the privileges that you are revoking.\n\nTo revoke all privileges, use the second syntax, which drops all\nglobal, database, table, column, and routine privileges for the named\nuser or users:\n\nREVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...\n\nTo use this REVOKE syntax, you must have the global CREATE USER\nprivilege or the UPDATE privilege for the mysql database.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/revoke.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/revoke.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (135,32,'LAST_DAY','Syntax:\nLAST_DAY(date)\n\nTakes a date or datetime value and returns the corresponding value for\nthe last day of the month. Returns NULL if the argument is invalid.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT LAST_DAY(\'2003-02-05\');\n -> \'2003-02-28\'\nmysql> SELECT LAST_DAY(\'2004-02-05\');\n -> \'2004-02-29\'\nmysql> SELECT LAST_DAY(\'2004-01-01 01:01:01\');\n -> \'2004-01-31\'\nmysql> SELECT LAST_DAY(\'2003-03-32\');\n -> NULL\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (136,23,'MEDIUMINT','MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]\n\nA medium-sized integer. The signed range is -8388608 to 8388607. The\nunsigned range is 0 to 16777215.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (137,38,'RTRIM','Syntax:\nRTRIM(str)\n\nReturns the string str with trailing space characters removed.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT RTRIM(\'barbar \');\n -> \'barbar\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (138,29,'EXPLAIN','Syntax:\n{EXPLAIN | DESCRIBE | DESC}\n tbl_name [col_name | wild]\n\n{EXPLAIN | DESCRIBE | DESC}\n [explain_type] SELECT select_options\n\nexplain_type: {EXTENDED | PARTITIONS}\n\nThe DESCRIBE and EXPLAIN statements are synonyms. In practice, the\nDESCRIBE keyword is more often used to obtain information about table\nstructure, whereas EXPLAIN is used to obtain a query execution plan\n(that is, an explanation of how MySQL would execute a query). The\nfollowing discussion uses the DESCRIBE and EXPLAIN keywords in\naccordance with those uses, but the MySQL parser treats them as\ncompletely synonymous.\n\nObtaining Table Structure Information\n\nDESCRIBE provides information about the columns in a table:\n\nmysql> DESCRIBE City;\n+------------+----------+------+-----+---------+----------------+\n| Field | Type | Null | Key | Default | Extra |\n+------------+----------+------+-----+---------+----------------+\n| Id | int(11) | NO | PRI | NULL | auto_increment |\n| Name | char(35) | NO | | | |\n| Country | char(3) | NO | UNI | | |\n| District | char(20) | YES | MUL | | |\n| Population | int(11) | NO | | 0 | |\n+------------+----------+------+-----+---------+----------------+\n\nDESCRIBE is a shortcut for SHOW COLUMNS. These statements also display\ninformation for views. The description for SHOW COLUMNS provides more\ninformation about the output columns. See [HELP SHOW COLUMNS].\n\nBy default, DESCRIBE displays information about all columns in the\ntable. col_name, if given, is the name of a column in the table. In\nthis case, the statement displays information only for the named\ncolumn. wild, if given, is a pattern string. It can contain the SQL "%"\nand "_" wildcard characters. In this case, the statement displays\noutput only for the columns with names matching the string. There is no\nneed to enclose the string within quotation marks unless it contains\nspaces or other special characters.\n\nThe DESCRIBE statement is provided for compatibility with Oracle.\n\nThe SHOW CREATE TABLE, SHOW TABLE STATUS, and SHOW INDEX statements\nalso provide information about tables. See [HELP SHOW].\n\nObtaining Execution Plan Information\n\nThe EXPLAIN statement provides information about how MySQL executes\nstatements:\n\no When you precede a SELECT statement with the keyword EXPLAIN, MySQL\n displays information from the optimizer about the statement execution\n plan. That is, MySQL explains how it would process the statement,\n including information about how tables are joined and in which order.\n For information about using EXPLAIN to obtain execution plan\n information, see\n http://dev.mysql.com/doc/refman/5.5/en/explain-output.html.\n\no EXPLAIN EXTENDED can be used to obtain additional execution plan\n information. See\n http://dev.mysql.com/doc/refman/5.5/en/explain-extended.html.\n\no EXPLAIN PARTITIONS is useful for examining queries involving\n partitioned tables. See\n http://dev.mysql.com/doc/refman/5.5/en/partitioning-info.html.\n\nWith the help of EXPLAIN, you can see where you should add indexes to\ntables so that the statement executes faster by using indexes to find\nrows. You can also use EXPLAIN to check whether the optimizer joins the\ntables in an optimal order. To give a hint to the optimizer to use a\njoin order corresponding to the order in which the tables are named in\na SELECT statement, begin the statement with SELECT STRAIGHT_JOIN\nrather than just SELECT. (See\nhttp://dev.mysql.com/doc/refman/5.5/en/select.html.)\n\nIf you have a problem with indexes not being used when you believe that\nthey should be, run ANALYZE TABLE to update table statistics, such as\ncardinality of keys, that can affect the choices the optimizer makes.\nSee [HELP ANALYZE TABLE].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/explain.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/explain.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (139,3,'DEGREES','Syntax:\nDEGREES(X)\n\nReturns the argument X, converted from radians to degrees.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT DEGREES(PI());\n -> 180\nmysql> SELECT DEGREES(PI() / 2);\n -> 90\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (140,3,'- UNARY','Syntax:\n-\n\nUnary minus. This operator changes the sign of the operand.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html\n\n','mysql> SELECT - 2;\n -> -2\n','http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (141,23,'VARCHAR','[NATIONAL] VARCHAR(M) [CHARACTER SET charset_name] [COLLATE\ncollation_name]\n\nA variable-length string. M represents the maximum column length in\ncharacters. The range of M is 0 to 65,535. The effective maximum length\nof a VARCHAR is subject to the maximum row size (65,535 bytes, which is\nshared among all columns) and the character set used. For example, utf8\ncharacters can require up to three bytes per character, so a VARCHAR\ncolumn that uses the utf8 character set can be declared to be a maximum\nof 21,844 characters. See\nhttp://dev.mysql.com/doc/refman/5.5/en/column-count-limit.html.\n\nMySQL stores VARCHAR values as a 1-byte or 2-byte length prefix plus\ndata. The length prefix indicates the number of bytes in the value. A\nVARCHAR column uses one length byte if values require no more than 255\nbytes, two length bytes if values may require more than 255 bytes.\n\n*Note*: MySQL 5.5 follows the standard SQL specification, and does not\nremove trailing spaces from VARCHAR values.\n\nVARCHAR is shorthand for CHARACTER VARYING. NATIONAL VARCHAR is the\nstandard SQL way to define that a VARCHAR column should use some\npredefined character set. MySQL 4.1 and up uses utf8 as this predefined\ncharacter set.\nhttp://dev.mysql.com/doc/refman/5.5/en/charset-national.html. NVARCHAR\nis shorthand for NATIONAL VARCHAR.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (142,38,'UNHEX','Syntax:\n\nUNHEX(str)\n\nFor a string argument str, UNHEX(str) interprets each pair of\ncharacters in the argument as a hexadecimal number and converts it to\nthe byte represented by the number. The return value is a binary\nstring.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT UNHEX(\'4D7953514C\');\n -> \'MySQL\'\nmysql> SELECT 0x4D7953514C;\n -> \'MySQL\'\nmysql> SELECT UNHEX(HEX(\'string\'));\n -> \'string\'\nmysql> SELECT HEX(UNHEX(\'1267\'));\n -> \'1267\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (143,40,'DROP TRIGGER','Syntax:\nDROP TRIGGER [IF EXISTS] [schema_name.]trigger_name\n\nThis statement drops a trigger. The schema (database) name is optional.\nIf the schema is omitted, the trigger is dropped from the default\nschema. DROP TRIGGER requires the TRIGGER privilege for the table\nassociated with the trigger.\n\nUse IF EXISTS to prevent an error from occurring for a trigger that\ndoes not exist. A NOTE is generated for a nonexistent trigger when\nusing IF EXISTS. See [HELP SHOW WARNINGS].\n\nTriggers for a table are also dropped if you drop the table.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/drop-trigger.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/drop-trigger.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (144,8,'RESET MASTER','Syntax:\nRESET MASTER\n\nDeletes all binary log files listed in the index file, resets the\nbinary log index file to be empty, and creates a new binary log file.\nThis statement is intended to be used only when the master is started\nfor the first time.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/reset-master.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/reset-master.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (145,3,'PI','Syntax:\nPI()\n\nReturns the value of π (pi). The default number of decimal places\ndisplayed is seven, but MySQL uses the full double-precision value\ninternally.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT PI();\n -> 3.141593\nmysql> SELECT PI()+0.000000000000000000;\n -> 3.141592653589793116\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (146,3,'/','Syntax:\n/\n\nDivision:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html\n\n','mysql> SELECT 3/5;\n -> 0.60\n','http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (147,8,'PURGE BINARY LOGS','Syntax:\nPURGE { BINARY | MASTER } LOGS\n { TO \'log_name\' | BEFORE datetime_expr }\n\nThe binary log is a set of files that contain information about data\nmodifications made by the MySQL server. The log consists of a set of\nbinary log files, plus an index file (see\nhttp://dev.mysql.com/doc/refman/5.5/en/binary-log.html).\n\nThe PURGE BINARY LOGS statement deletes all the binary log files listed\nin the log index file prior to the specified log file name or date.\nBINARY and MASTER are synonyms. Deleted log files also are removed from\nthe list recorded in the index file, so that the given log file becomes\nthe first in the list.\n\nThis statement has no effect if the server was not started with the\n--log-bin option to enable binary logging.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/purge-binary-logs.html\n\n','PURGE BINARY LOGS TO \'mysql-bin.010\';\nPURGE BINARY LOGS BEFORE \'2008-04-02 22:46:26\';\n','http://dev.mysql.com/doc/refman/5.5/en/purge-binary-logs.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (148,16,'STDDEV_SAMP','Syntax:\nSTDDEV_SAMP(expr)\n\nReturns the sample standard deviation of expr (the square root of\nVAR_SAMP().\n\nSTDDEV_SAMP() returns NULL if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (149,17,'SCHEMA','Syntax:\nSCHEMA()\n\nThis function is a synonym for DATABASE().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (150,33,'MLINEFROMWKB','MLineFromWKB(wkb[,srid]), MultiLineStringFromWKB(wkb[,srid])\n\nConstructs a MultiLineString value using its WKB representation and\nSRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (151,27,'SHOW CREATE TABLE','Syntax:\nSHOW CREATE TABLE tbl_name\n\nShows the CREATE TABLE statement that creates the named table. To use\nthis statement, you must have some privilege for the table. This\nstatement also works with views.\nSHOW CREATE TABLE quotes table and column names according to the value\nof the sql_quote_show_create option. See\nhttp://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-create-table.html\n\n','mysql> SHOW CREATE TABLE t\\G\n*************************** 1. row ***************************\n Table: t\nCreate Table: CREATE TABLE t (\n id INT(11) default NULL auto_increment,\n s char(60) default NULL,\n PRIMARY KEY (id)\n) ENGINE=MyISAM\n','http://dev.mysql.com/doc/refman/5.5/en/show-create-table.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (152,28,'DUAL','You are permitted to specify DUAL as a dummy table name in situations\nwhere no tables are referenced:\n\nmysql> SELECT 1 + 1 FROM DUAL;\n -> 2\n\nDUAL is purely for the convenience of people who require that all\nSELECT statements should have FROM and possibly other clauses. MySQL\nmay ignore the clauses. MySQL does not require FROM DUAL if no tables\nare referenced.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/select.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/select.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (153,38,'INSTR','Syntax:\nINSTR(str,substr)\n\nReturns the position of the first occurrence of substring substr in\nstring str. This is the same as the two-argument form of LOCATE(),\nexcept that the order of the arguments is reversed.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT INSTR(\'foobarbar\', \'bar\');\n -> 4\nmysql> SELECT INSTR(\'xbar\', \'foobar\');\n -> 0\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (154,20,'>=','Syntax:\n>=\n\nGreater than or equal:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT 2 >= 2;\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (155,3,'EXP','Syntax:\nEXP(X)\n\nReturns the value of e (the base of natural logarithms) raised to the\npower of X. The inverse of this function is LOG() (using a single\nargument only) or LN().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT EXP(2);\n -> 7.3890560989307\nmysql> SELECT EXP(-2);\n -> 0.13533528323661\nmysql> SELECT EXP(0);\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (156,13,'POINTN','PointN(ls,N)\n\nReturns the N-th Point in the Linestring value ls. Points are numbered\nbeginning with 1.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-linestring-property-functions.html\n\n','mysql> SET @ls = \'LineString(1 1,2 2,3 3)\';\nmysql> SELECT AsText(PointN(GeomFromText(@ls),2));\n+-------------------------------------+\n| AsText(PointN(GeomFromText(@ls),2)) |\n+-------------------------------------+\n| POINT(2 2) |\n+-------------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-linestring-property-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (157,38,'OCT','Syntax:\nOCT(N)\n\nReturns a string representation of the octal value of N, where N is a\nlonglong (BIGINT) number. This is equivalent to CONV(N,10,8). Returns\nNULL if N is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT OCT(12);\n -> \'14\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (158,32,'SYSDATE','Syntax:\nSYSDATE()\n\nReturns the current date and time as a value in \'YYYY-MM-DD HH:MM:SS\'\nor YYYYMMDDHHMMSS.uuuuuu format, depending on whether the function is\nused in a string or numeric context.\n\nSYSDATE() returns the time at which it executes. This differs from the\nbehavior for NOW(), which returns a constant time that indicates the\ntime at which the statement began to execute. (Within a stored function\nor trigger, NOW() returns the time at which the function or triggering\nstatement began to execute.)\n\nmysql> SELECT NOW(), SLEEP(2), NOW();\n+---------------------+----------+---------------------+\n| NOW() | SLEEP(2) | NOW() |\n+---------------------+----------+---------------------+\n| 2006-04-12 13:47:36 | 0 | 2006-04-12 13:47:36 |\n+---------------------+----------+---------------------+\n\nmysql> SELECT SYSDATE(), SLEEP(2), SYSDATE();\n+---------------------+----------+---------------------+\n| SYSDATE() | SLEEP(2) | SYSDATE() |\n+---------------------+----------+---------------------+\n| 2006-04-12 13:47:44 | 0 | 2006-04-12 13:47:46 |\n+---------------------+----------+---------------------+\n\nIn addition, the SET TIMESTAMP statement affects the value returned by\nNOW() but not by SYSDATE(). This means that timestamp settings in the\nbinary log have no effect on invocations of SYSDATE().\n\nBecause SYSDATE() can return different values even within the same\nstatement, and is not affected by SET TIMESTAMP, it is nondeterministic\nand therefore unsafe for replication if statement-based binary logging\nis used. If that is a problem, you can use row-based logging.\n\nAlternatively, you can use the --sysdate-is-now option to cause\nSYSDATE() to be an alias for NOW(). This works if the option is used on\nboth the master and the slave.\n\nThe nondeterministic nature of SYSDATE() also means that indexes cannot\nbe used for evaluating expressions that refer to it.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (159,5,'UNINSTALL PLUGIN','Syntax:\nUNINSTALL PLUGIN plugin_name\n\nThis statement removes an installed server plugin. It requires the\nDELETE privilege for the mysql.plugin table.\n\nplugin_name must be the name of some plugin that is listed in the\nmysql.plugin table. The server executes the plugin\'s deinitialization\nfunction and removes the row for the plugin from the mysql.plugin\ntable, so that subsequent server restarts will not load and initialize\nthe plugin. UNINSTALL PLUGIN does not remove the plugin\'s shared\nlibrary file.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/uninstall-plugin.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/uninstall-plugin.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (160,33,'ASBINARY','AsBinary(g), AsWKB(g)\n\nConverts a value in internal geometry format to its WKB representation\nand returns the binary result.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-format-conversion-functions.html\n\n','SELECT AsBinary(g) FROM geom;\n','http://dev.mysql.com/doc/refman/5.5/en/gis-format-conversion-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (161,27,'SHOW TABLES','Syntax:\nSHOW [FULL] TABLES [{FROM | IN} db_name]\n [LIKE \'pattern\' | WHERE expr]\n\nSHOW TABLES lists the non-TEMPORARY tables in a given database. You can\nalso get this list using the mysqlshow db_name command. The LIKE\nclause, if present, indicates which table names to match. The WHERE\nclause can be given to select rows using more general conditions, as\ndiscussed in http://dev.mysql.com/doc/refman/5.5/en/extended-show.html.\n\nMatching performed by the LIKE clause is dependent on the setting of\nthe lower_case_table_names system variable.\n\nThis statement also lists any views in the database. The FULL modifier\nis supported such that SHOW FULL TABLES displays a second output\ncolumn. Values for the second column are BASE TABLE for a table and\nVIEW for a view.\n\nIf you have no privileges for a base table or view, it does not show up\nin the output from SHOW TABLES or mysqlshow db_name.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-tables.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-tables.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (162,32,'MAKEDATE','Syntax:\nMAKEDATE(year,dayofyear)\n\nReturns a date, given year and day-of-year values. dayofyear must be\ngreater than 0 or the result is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT MAKEDATE(2011,31), MAKEDATE(2011,32);\n -> \'2011-01-31\', \'2011-02-01\'\nmysql> SELECT MAKEDATE(2011,365), MAKEDATE(2014,365);\n -> \'2011-12-31\', \'2014-12-31\'\nmysql> SELECT MAKEDATE(2011,0);\n -> NULL\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (163,38,'BINARY OPERATOR','Syntax:\nBINARY\n\nThe BINARY operator casts the string following it to a binary string.\nThis is an easy way to force a column comparison to be done byte by\nbyte rather than character by character. This causes the comparison to\nbe case sensitive even if the column is not defined as BINARY or BLOB.\nBINARY also causes trailing spaces to be significant.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/cast-functions.html\n\n','mysql> SELECT \'a\' = \'A\';\n -> 1\nmysql> SELECT BINARY \'a\' = \'A\';\n -> 0\nmysql> SELECT \'a\' = \'a \';\n -> 1\nmysql> SELECT BINARY \'a\' = \'a \';\n -> 0\n','http://dev.mysql.com/doc/refman/5.5/en/cast-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (164,7,'MBROVERLAPS','MBROverlaps(g1,g2)\n\nReturns 1 or 0 to indicate whether the minimum bounding rectangles of\nthe two geometries g1 and g2 overlap. The term spatially overlaps is\nused if two geometries intersect and their intersection results in a\ngeometry of the same dimension but not equal to either of the given\ngeometries.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (165,28,'INSERT SELECT','Syntax:\nINSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]\n [INTO] tbl_name [(col_name,...)]\n SELECT ...\n [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]\n\nWith INSERT ... SELECT, you can quickly insert many rows into a table\nfrom one or many tables. For example:\n\nINSERT INTO tbl_temp2 (fld_id)\n SELECT tbl_temp1.fld_order_id\n FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/insert-select.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/insert-select.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (166,40,'CREATE PROCEDURE','Syntax:\nCREATE\n [DEFINER = { user | CURRENT_USER }]\n PROCEDURE sp_name ([proc_parameter[,...]])\n [characteristic ...] routine_body\n\nCREATE\n [DEFINER = { user | CURRENT_USER }]\n FUNCTION sp_name ([func_parameter[,...]])\n RETURNS type\n [characteristic ...] routine_body\n\nproc_parameter:\n [ IN | OUT | INOUT ] param_name type\n\nfunc_parameter:\n param_name type\n\ntype:\n Any valid MySQL data type\n\ncharacteristic:\n COMMENT \'string\'\n | LANGUAGE SQL\n | [NOT] DETERMINISTIC\n | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }\n | SQL SECURITY { DEFINER | INVOKER }\n\nroutine_body:\n Valid SQL routine statement\n\nThese statements create stored routines. By default, a routine is\nassociated with the default database. To associate the routine\nexplicitly with a given database, specify the name as db_name.sp_name\nwhen you create it.\n\nThe CREATE FUNCTION statement is also used in MySQL to support UDFs\n(user-defined functions). See\nhttp://dev.mysql.com/doc/refman/5.5/en/adding-functions.html. A UDF can\nbe regarded as an external stored function. Stored functions share\ntheir namespace with UDFs. See\nhttp://dev.mysql.com/doc/refman/5.5/en/function-resolution.html, for\nthe rules describing how the server interprets references to different\nkinds of functions.\n\nTo invoke a stored procedure, use the CALL statement (see [HELP CALL]).\nTo invoke a stored function, refer to it in an expression. The function\nreturns a value during expression evaluation.\n\nCREATE PROCEDURE and CREATE FUNCTION require the CREATE ROUTINE\nprivilege. They might also require the SUPER privilege, depending on\nthe DEFINER value, as described later in this section. If binary\nlogging is enabled, CREATE FUNCTION might require the SUPER privilege,\nas described in\nhttp://dev.mysql.com/doc/refman/5.5/en/stored-programs-logging.html.\n\nBy default, MySQL automatically grants the ALTER ROUTINE and EXECUTE\nprivileges to the routine creator. This behavior can be changed by\ndisabling the automatic_sp_privileges system variable. See\nhttp://dev.mysql.com/doc/refman/5.5/en/stored-routines-privileges.html.\n\nThe DEFINER and SQL SECURITY clauses specify the security context to be\nused when checking access privileges at routine execution time, as\ndescribed later in this section.\n\nIf the routine name is the same as the name of a built-in SQL function,\na syntax error occurs unless you use a space between the name and the\nfollowing parenthesis when defining the routine or invoking it later.\nFor this reason, avoid using the names of existing SQL functions for\nyour own stored routines.\n\nThe IGNORE_SPACE SQL mode applies to built-in functions, not to stored\nroutines. It is always permissible to have spaces after a stored\nroutine name, regardless of whether IGNORE_SPACE is enabled.\n\nThe parameter list enclosed within parentheses must always be present.\nIf there are no parameters, an empty parameter list of () should be\nused. Parameter names are not case sensitive.\n\nEach parameter is an IN parameter by default. To specify otherwise for\na parameter, use the keyword OUT or INOUT before the parameter name.\n\n*Note*: Specifying a parameter as IN, OUT, or INOUT is valid only for a\nPROCEDURE. For a FUNCTION, parameters are always regarded as IN\nparameters.\n\nAn IN parameter passes a value into a procedure. The procedure might\nmodify the value, but the modification is not visible to the caller\nwhen the procedure returns. An OUT parameter passes a value from the\nprocedure back to the caller. Its initial value is NULL within the\nprocedure, and its value is visible to the caller when the procedure\nreturns. An INOUT parameter is initialized by the caller, can be\nmodified by the procedure, and any change made by the procedure is\nvisible to the caller when the procedure returns.\n\nFor each OUT or INOUT parameter, pass a user-defined variable in the\nCALL statement that invokes the procedure so that you can obtain its\nvalue when the procedure returns. If you are calling the procedure from\nwithin another stored procedure or function, you can also pass a\nroutine parameter or local routine variable as an IN or INOUT\nparameter.\n\nRoutine parameters cannot be referenced in statements prepared within\nthe routine; see\nhttp://dev.mysql.com/doc/refman/5.5/en/stored-program-restrictions.html\n.\n\nThe following example shows a simple stored procedure that uses an OUT\nparameter:\n\nmysql> delimiter //\n\nmysql> CREATE PROCEDURE simpleproc (OUT param1 INT)\n -> BEGIN\n -> SELECT COUNT(*) INTO param1 FROM t;\n -> END//\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> delimiter ;\n\nmysql> CALL simpleproc(@a);\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SELECT @a;\n+------+\n| @a |\n+------+\n| 3 |\n+------+\n1 row in set (0.00 sec)\n\nThe example uses the mysql client delimiter command to change the\nstatement delimiter from ; to // while the procedure is being defined.\nThis enables the ; delimiter used in the procedure body to be passed\nthrough to the server rather than being interpreted by mysql itself.\nSee\nhttp://dev.mysql.com/doc/refman/5.5/en/stored-programs-defining.html.\n\nThe RETURNS clause may be specified only for a FUNCTION, for which it\nis mandatory. It indicates the return type of the function, and the\nfunction body must contain a RETURN value statement. If the RETURN\nstatement returns a value of a different type, the value is coerced to\nthe proper type. For example, if a function specifies an ENUM or SET\nvalue in the RETURNS clause, but the RETURN statement returns an\ninteger, the value returned from the function is the string for the\ncorresponding ENUM member of set of SET members.\n\nThe following example function takes a parameter, performs an operation\nusing an SQL function, and returns the result. In this case, it is\nunnecessary to use delimiter because the function definition contains\nno internal ; statement delimiters:\n\nmysql> CREATE FUNCTION hello (s CHAR(20))\nmysql> RETURNS CHAR(50) DETERMINISTIC\n -> RETURN CONCAT(\'Hello, \',s,\'!\');\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SELECT hello(\'world\');\n+----------------+\n| hello(\'world\') |\n+----------------+\n| Hello, world! |\n+----------------+\n1 row in set (0.00 sec)\n\nParameter types and function return types can be declared to use any\nvalid data type, except that the COLLATE attribute cannot be used prior\nto MySQL 5.5.3. As of 5.5.3, COLLATE can be used if preceded by the\nCHARACTER SET attribute.\n\nThe routine_body consists of a valid SQL routine statement. This can be\na simple statement such as SELECT or INSERT, or a compound statement\nwritten using BEGIN and END. Compound statements can contain\ndeclarations, loops, and other control structure statements. The syntax\nfor these statements is described in\nhttp://dev.mysql.com/doc/refman/5.5/en/sql-syntax-compound-statements.h\ntml.\n\nMySQL permits routines to contain DDL statements, such as CREATE and\nDROP. MySQL also permits stored procedures (but not stored functions)\nto contain SQL transaction statements such as COMMIT. Stored functions\nmay not contain statements that perform explicit or implicit commit or\nrollback. Support for these statements is not required by the SQL\nstandard, which states that each DBMS vendor may decide whether to\npermit them.\n\nStatements that return a result set can be used within a stored\nprocedure but not within a stored function. This prohibition includes\nSELECT statements that do not have an INTO var_list clause and other\nstatements such as SHOW, EXPLAIN, and CHECK TABLE. For statements that\ncan be determined at function definition time to return a result set, a\nNot allowed to return a result set from a function error occurs\n(ER_SP_NO_RETSET). For statements that can be determined only at\nruntime to return a result set, a PROCEDURE %s can\'t return a result\nset in the given context error occurs (ER_SP_BADSELECT).\n\nUSE statements within stored routines are not permitted. When a routine\nis invoked, an implicit USE db_name is performed (and undone when the\nroutine terminates). The causes the routine to have the given default\ndatabase while it executes. References to objects in databases other\nthan the routine default database should be qualified with the\nappropriate database name.\n\nFor additional information about statements that are not permitted in\nstored routines, see\nhttp://dev.mysql.com/doc/refman/5.5/en/stored-program-restrictions.html\n.\n\nFor information about invoking stored procedures from within programs\nwritten in a language that has a MySQL interface, see [HELP CALL].\n\nMySQL stores the sql_mode system variable setting in effect when a\nroutine is created or altered, and always executes the routine with\nthis setting in force, regardless of the current server SQL mode when\nthe routine begins executing.\n\nThe switch from the SQL mode of the invoker to that of the routine\noccurs after evaluation of arguments and assignment of the resulting\nvalues to routine parameters. If you define a routine in strict SQL\nmode but invoke it in nonstrict mode, assignment of arguments to\nroutine parameters does not take place in strict mode. If you require\nthat expressions passed to a routine be assigned in strict SQL mode,\nyou should invoke the routine with strict mode in effect.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-procedure.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/create-procedure.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (167,38,'NOT REGEXP','Syntax:\nexpr NOT REGEXP pat, expr NOT RLIKE pat\n\nThis is the same as NOT (expr REGEXP pat).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/regexp.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/regexp.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (168,24,'LEAVE','Syntax:\nLEAVE label\n\nThis statement is used to exit the flow control construct that has the\ngiven label. If the label is for the outermost stored program block,\nLEAVE exits the program.\n\nLEAVE can be used within BEGIN ... END or loop constructs (LOOP,\nREPEAT, WHILE).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/leave.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/leave.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (169,20,'NOT IN','Syntax:\nexpr NOT IN (value,...)\n\nThis is the same as NOT (expr IN (value,...)).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (170,15,'&&','Syntax:\nAND, &&\n\nLogical AND. Evaluates to 1 if all operands are nonzero and not NULL,\nto 0 if one or more operands are 0, otherwise NULL is returned.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/logical-operators.html\n\n','mysql> SELECT 1 && 1;\n -> 1\nmysql> SELECT 1 && 0;\n -> 0\nmysql> SELECT 1 && NULL;\n -> NULL\nmysql> SELECT 0 && NULL;\n -> 0\nmysql> SELECT NULL && 0;\n -> 0\n','http://dev.mysql.com/doc/refman/5.5/en/logical-operators.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (171,11,'X','X(p)\n\nReturns the X-coordinate value for the Point object p as a\ndouble-precision number.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-point-property-functions.html\n\n','mysql> SELECT X(POINT(56.7, 53.34));\n+-----------------------+\n| X(POINT(56.7, 53.34)) |\n+-----------------------+\n| 56.7 |\n+-----------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-point-property-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (172,17,'FOUND_ROWS','Syntax:\nFOUND_ROWS()\n\nA SELECT statement may include a LIMIT clause to restrict the number of\nrows the server returns to the client. In some cases, it is desirable\nto know how many rows the statement would have returned without the\nLIMIT, but without running the statement again. To obtain this row\ncount, include a SQL_CALC_FOUND_ROWS option in the SELECT statement,\nand then invoke FOUND_ROWS() afterward:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name\n -> WHERE id > 100 LIMIT 10;\nmysql> SELECT FOUND_ROWS();\n','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (173,31,'CROSSES','Crosses(g1,g2)\n\nReturns 1 if g1 spatially crosses g2. Returns NULL if g1 is a Polygon\nor a MultiPolygon, or if g2 is a Point or a MultiPoint. Otherwise,\nreturns 0.\n\nThe term spatially crosses denotes a spatial relation between two given\ngeometries that has the following properties:\n\no The two geometries intersect\n\no Their intersection results in a geometry that has a dimension that is\n one less than the maximum dimension of the two given geometries\n\no Their intersection is not equal to either of the two given geometries\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (174,16,'BIT_XOR','Syntax:\nBIT_XOR(expr)\n\nReturns the bitwise XOR of all bits in expr. The calculation is\nperformed with 64-bit (BIGINT) precision.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (175,27,'FLUSH','Syntax:\nFLUSH [NO_WRITE_TO_BINLOG | LOCAL]\n flush_option [, flush_option] ...\n\nThe FLUSH statement has several variant forms that clear or reload\nvarious internal caches, flush tables, or acquire locks. To execute\nFLUSH, you must have the RELOAD privilege. Specific flush options might\nrequire additional privileges, as described later.\n\nBy default, the server writes FLUSH statements to the binary log so\nthat they replicate to replication slaves. To suppress logging, specify\nthe optional NO_WRITE_TO_BINLOG keyword or its alias LOCAL.\n\n*Note*: FLUSH LOGS, FLUSH MASTER, FLUSH SLAVE, and FLUSH TABLES WITH\nREAD LOCK (with or without a table list) are not written to the binary\nlog in any case because they would cause problems if replicated to a\nslave.\n\nSending a SIGHUP signal to the server causes several flush operations\nto occur that are similar to various forms of the FLUSH statement. See\nhttp://dev.mysql.com/doc/refman/5.5/en/server-signal-response.html.\n\nThe FLUSH statement causes an implicit commit. See\nhttp://dev.mysql.com/doc/refman/5.5/en/implicit-commit.html.\n\nThe RESET statement is similar to FLUSH. See [HELP RESET], for\ninformation about using the RESET statement with replication.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/flush.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/flush.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (176,24,'BEGIN END','Syntax:\n[begin_label:] BEGIN\n [statement_list]\nEND [end_label]\n\nBEGIN ... END syntax is used for writing compound statements, which can\nappear within stored programs (stored procedures and functions,\ntriggers, and events). A compound statement can contain multiple\nstatements, enclosed by the BEGIN and END keywords. statement_list\nrepresents a list of one or more statements, each terminated by a\nsemicolon (;) statement delimiter. The statement_list itself is\noptional, so the empty compound statement (BEGIN END) is legal.\n\nBEGIN ... END blocks can be nested.\n\nUse of multiple statements requires that a client is able to send\nstatement strings containing the ; statement delimiter. In the mysql\ncommand-line client, this is handled with the delimiter command.\nChanging the ; end-of-statement delimiter (for example, to //) permit ;\nto be used in a program body. For an example, see\nhttp://dev.mysql.com/doc/refman/5.5/en/stored-programs-defining.html.\n\nA BEGIN ... END block can be labeled. See [HELP labels].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/begin-end.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/begin-end.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (177,27,'SHOW PROCEDURE STATUS','Syntax:\nSHOW PROCEDURE STATUS\n [LIKE \'pattern\' | WHERE expr]\n\nThis statement is a MySQL extension. It returns characteristics of a\nstored procedure, such as the database, name, type, creator, creation\nand modification dates, and character set information. A similar\nstatement, SHOW FUNCTION STATUS, displays information about stored\nfunctions (see [HELP SHOW FUNCTION STATUS]).\n\nThe LIKE clause, if present, indicates which procedure or function\nnames to match. The WHERE clause can be given to select rows using more\ngeneral conditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.5/en/extended-show.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-procedure-status.html\n\n','mysql> SHOW PROCEDURE STATUS LIKE \'sp1\'\\G\n*************************** 1. row ***************************\n Db: test\n Name: sp1\n Type: PROCEDURE\n Definer: testuser@localhost\n Modified: 2004-08-03 15:29:37\n Created: 2004-08-03 15:29:37\n Security_type: DEFINER\n Comment:\ncharacter_set_client: latin1\ncollation_connection: latin1_swedish_ci\n Database Collation: latin1_swedish_ci\n','http://dev.mysql.com/doc/refman/5.5/en/show-procedure-status.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (178,16,'STDDEV_POP','Syntax:\nSTDDEV_POP(expr)\n\nReturns the population standard deviation of expr (the square root of\nVAR_POP()). You can also use STD() or STDDEV(), which are equivalent\nbut not standard SQL.\n\nSTDDEV_POP() returns NULL if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (179,27,'SHOW CHARACTER SET','Syntax:\nSHOW CHARACTER SET\n [LIKE \'pattern\' | WHERE expr]\n\nThe SHOW CHARACTER SET statement shows all available character sets.\nThe LIKE clause, if present, indicates which character set names to\nmatch. The WHERE clause can be given to select rows using more general\nconditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.5/en/extended-show.html. For example:\n\nmysql> SHOW CHARACTER SET LIKE \'latin%\';\n+---------+-----------------------------+-------------------+--------+\n| Charset | Description | Default collation | Maxlen |\n+---------+-----------------------------+-------------------+--------+\n| latin1 | cp1252 West European | latin1_swedish_ci | 1 |\n| latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 |\n| latin5 | ISO 8859-9 Turkish | latin5_turkish_ci | 1 |\n| latin7 | ISO 8859-13 Baltic | latin7_general_ci | 1 |\n+---------+-----------------------------+-------------------+--------+\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-character-set.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-character-set.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (180,31,'INTERSECTS','Intersects(g1,g2)\n\nReturns 1 or 0 to indicate whether g1 spatially intersects g2.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (181,24,'LOOP','Syntax:\n[begin_label:] LOOP\n statement_list\nEND LOOP [end_label]\n\nLOOP implements a simple loop construct, enabling repeated execution of\nthe statement list, which consists of one or more statements, each\nterminated by a semicolon (;) statement delimiter. The statements\nwithin the loop are repeated until the loop is terminated. Usually,\nthis is accomplished with a LEAVE statement. Within a stored function,\nRETURN can also be used, which exits the function entirely.\n\nNeglecting to include a loop-termination statement results in an\ninfinite loop.\n\nA LOOP statement can be labeled. For the rules regarding label use, see\n[HELP labels].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/loop.html\n\n','CREATE PROCEDURE doiterate(p1 INT)\nBEGIN\n label1: LOOP\n SET p1 = p1 + 1;\n IF p1 < 10 THEN\n ITERATE label1;\n END IF;\n LEAVE label1;\n END LOOP label1;\n SET @x = p1;\nEND;\n','http://dev.mysql.com/doc/refman/5.5/en/loop.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (182,20,'GREATEST','Syntax:\nGREATEST(value1,value2,...)\n\nWith two or more arguments, returns the largest (maximum-valued)\nargument. The arguments are compared using the same rules as for\nLEAST().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT GREATEST(2,0);\n -> 2\nmysql> SELECT GREATEST(34.0,3.0,5.0,767.0);\n -> 767.0\nmysql> SELECT GREATEST(\'B\',\'A\',\'C\');\n -> \'C\'\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (183,16,'BIT_AND','Syntax:\nBIT_AND(expr)\n\nReturns the bitwise AND of all bits in expr. The calculation is\nperformed with 64-bit (BIGINT) precision.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (184,32,'SECOND','Syntax:\nSECOND(time)\n\nReturns the second for time, in the range 0 to 59.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT SECOND(\'10:05:03\');\n -> 3\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (185,7,'MBRCONTAINS','MBRContains(g1,g2)\n\nReturns 1 or 0 to indicate whether the minimum bounding rectangle of g1\ncontains the minimum bounding rectangle of g2. This tests the opposite\nrelationship as MBRWithin().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html\n\n','mysql> SET @g1 = GeomFromText(\'Polygon((0 0,0 3,3 3,3 0,0 0))\');\nmysql> SET @g2 = GeomFromText(\'Point(1 1)\');\nmysql> SELECT MBRContains(@g1,@g2), MBRWithin(@g2,@g1);\n+----------------------+--------------------+\n| MBRContains(@g1,@g2) | MBRWithin(@g2,@g1) |\n+----------------------+--------------------+\n| 1 | 1 |\n+----------------------+--------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (186,3,'COT','Syntax:\nCOT(X)\n\nReturns the cotangent of X.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT COT(12);\n -> -1.5726734063977\nmysql> SELECT COT(0);\n -> NULL\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (187,27,'SHOW CREATE EVENT','Syntax:\nSHOW CREATE EVENT event_name\n\nThis statement displays the CREATE EVENT statement needed to re-create\na given event. It requires the EVENT privilege for the database from\nwhich the event is to be shown. For example (using the same event\ne_daily defined and then altered in [HELP SHOW EVENTS]):\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-create-event.html\n\n','mysql> SHOW CREATE EVENT test.e_daily\\G\n*************************** 1. row ***************************\n Event: e_daily\n sql_mode:\n time_zone: SYSTEM\n Create Event: CREATE EVENT `e_daily`\n ON SCHEDULE EVERY 1 DAY\n STARTS CURRENT_TIMESTAMP + INTERVAL 6 HOUR\n ON COMPLETION NOT PRESERVE\n ENABLE\n COMMENT \'Saves total number of sessions then\n clears the table each day\'\n DO BEGIN\n INSERT INTO site_activity.totals (time, total)\n SELECT CURRENT_TIMESTAMP, COUNT(*)\n FROM site_activity.sessions;\n DELETE FROM site_activity.sessions;\n END\ncharacter_set_client: latin1\ncollation_connection: latin1_swedish_ci\n Database Collation: latin1_swedish_ci\n','http://dev.mysql.com/doc/refman/5.5/en/show-create-event.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (188,38,'LOAD_FILE','Syntax:\nLOAD_FILE(file_name)\n\nReads the file and returns the file contents as a string. To use this\nfunction, the file must be located on the server host, you must specify\nthe full path name to the file, and you must have the FILE privilege.\nThe file must be readable by all and its size less than\nmax_allowed_packet bytes. If the secure_file_priv system variable is\nset to a nonempty directory name, the file to be loaded must be located\nin that directory.\n\nIf the file does not exist or cannot be read because one of the\npreceding conditions is not satisfied, the function returns NULL.\n\nThe character_set_filesystem system variable controls interpretation of\nfile names that are given as literal strings.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> UPDATE t\n SET blob_col=LOAD_FILE(\'/tmp/picture\')\n WHERE id=1;\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (189,4,'POINTFROMTEXT','PointFromText(wkt[,srid])\n\nConstructs a Point value using its WKT representation and SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (190,32,'DATE_FORMAT','Syntax:\nDATE_FORMAT(date,format)\n\nFormats the date value according to the format string.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT DATE_FORMAT(\'2009-10-04 22:23:00\', \'%W %M %Y\');\n -> \'Sunday October 2009\'\nmysql> SELECT DATE_FORMAT(\'2007-10-04 22:23:00\', \'%H:%i:%s\');\n -> \'22:23:00\'\nmysql> SELECT DATE_FORMAT(\'1900-10-04 22:23:00\',\n -> \'%D %y %a %d %m %b %j\');\n -> \'4th 00 Thu 04 10 Oct 277\'\nmysql> SELECT DATE_FORMAT(\'1997-10-04 22:23:00\',\n -> \'%H %k %I %r %T %S %w\');\n -> \'22 22 10 10:23:00 PM 22:23:00 00 6\'\nmysql> SELECT DATE_FORMAT(\'1999-01-01\', \'%X %V\');\n -> \'1998 52\'\nmysql> SELECT DATE_FORMAT(\'2006-06-00\', \'%d\');\n -> \'00\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (191,32,'YEAR','Syntax:\nYEAR(date)\n\nReturns the year for date, in the range 1000 to 9999, or 0 for the\n"zero" date.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT YEAR(\'1987-01-01\');\n -> 1987\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (192,20,'IS NULL','Syntax:\nIS NULL\n\nTests whether a value is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT 1 IS NULL, 0 IS NULL, NULL IS NULL;\n -> 0, 0, 1\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (193,40,'ALTER SERVER','Syntax:\nALTER SERVER server_name\n OPTIONS (option [, option] ...)\n\nAlters the server information for server_name, adjusting any of the\noptions permitted in the CREATE SERVER statement. The corresponding\nfields in the mysql.servers table are updated accordingly. This\nstatement requires the SUPER privilege.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/alter-server.html\n\n','ALTER SERVER s OPTIONS (USER \'sally\');\n','http://dev.mysql.com/doc/refman/5.5/en/alter-server.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (194,24,'RESIGNAL','Syntax:\nRESIGNAL [condition_value]\n [SET signal_information_item\n [, signal_information_item] ...]\n\ncondition_value:\n SQLSTATE [VALUE] sqlstate_value\n | condition_name\n\nsignal_information_item:\n condition_information_item_name = simple_value_specification\n\ncondition_information_item_name:\n CLASS_ORIGIN\n | SUBCLASS_ORIGIN\n | MESSAGE_TEXT\n | MYSQL_ERRNO\n | CONSTRAINT_CATALOG\n | CONSTRAINT_SCHEMA\n | CONSTRAINT_NAME\n | CATALOG_NAME\n | SCHEMA_NAME\n | TABLE_NAME\n | COLUMN_NAME\n | CURSOR_NAME\n\ncondition_name, simple_value_specification:\n (see following discussion)\n\nRESIGNAL passes on the error condition information that is available\nduring execution of a condition handler within a compound statement\ninside a stored procedure or function, trigger, or event. RESIGNAL may\nchange some or all information before passing it on. RESIGNAL is\nrelated to SIGNAL, but instead of originating a condition as SIGNAL\ndoes, RESIGNAL relays existing condition information, possibly after\nmodifying it.\n\nRESIGNAL makes it possible to both handle an error and return the error\ninformation. Otherwise, by executing an SQL statement within the\nhandler, information that caused the handler\'s activation is destroyed.\nRESIGNAL also can make some procedures shorter if a given handler can\nhandle part of a situation, then pass the condition "up the line" to\nanother handler.\n\nNo special privileges are required to execute the RESIGNAL statement.\n\nAll forms of RESIGNAL require that the current context be a condition\nhandler. Otherwise, RESIGNAL is illegal and a RESIGNAL when handler not\nactive error occurs.\n\nFor condition_value and signal_information_item, the definitions and\nrules are the same for RESIGNAL as for SIGNAL. For example, the\ncondition_value can be an SQLSTATE value, and the value can indicate\nerrors, warnings, or "not found." For additional information, see [HELP\nSIGNAL].\n\nThe RESIGNAL statement takes condition_value and SET clauses, both of\nwhich are optional. This leads to several possible uses:\n\no RESIGNAL alone:\n\nRESIGNAL;\n\no RESIGNAL with new signal information:\n\nRESIGNAL SET signal_information_item [, signal_information_item] ...;\n\no RESIGNAL with a condition value and possibly new signal information:\n\nRESIGNAL condition_value\n [SET signal_information_item [, signal_information_item] ...];\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/resignal.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/resignal.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (195,32,'TIME FUNCTION','Syntax:\nTIME(expr)\n\nExtracts the time part of the time or datetime expression expr and\nreturns it as a string.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT TIME(\'2003-12-31 01:02:03\');\n -> \'01:02:03\'\nmysql> SELECT TIME(\'2003-12-31 01:02:03.000123\');\n -> \'01:02:03.000123\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (196,32,'DATE_ADD','Syntax:\nDATE_ADD(date,INTERVAL expr unit), DATE_SUB(date,INTERVAL expr unit)\n\nThese functions perform date arithmetic. The date argument specifies\nthe starting date or datetime value. expr is an expression specifying\nthe interval value to be added or subtracted from the starting date.\nexpr is a string; it may start with a "-" for negative intervals. unit\nis a keyword indicating the units in which the expression should be\ninterpreted.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT \'2008-12-31 23:59:59\' + INTERVAL 1 SECOND;\n -> \'2009-01-01 00:00:00\'\nmysql> SELECT INTERVAL 1 DAY + \'2008-12-31\';\n -> \'2009-01-01\'\nmysql> SELECT \'2005-01-01\' - INTERVAL 1 SECOND;\n -> \'2004-12-31 23:59:59\'\nmysql> SELECT DATE_ADD(\'2000-12-31 23:59:59\',\n -> INTERVAL 1 SECOND);\n -> \'2001-01-01 00:00:00\'\nmysql> SELECT DATE_ADD(\'2010-12-31 23:59:59\',\n -> INTERVAL 1 DAY);\n -> \'2011-01-01 23:59:59\'\nmysql> SELECT DATE_ADD(\'2100-12-31 23:59:59\',\n -> INTERVAL \'1:1\' MINUTE_SECOND);\n -> \'2101-01-01 00:01:00\'\nmysql> SELECT DATE_SUB(\'2005-01-01 00:00:00\',\n -> INTERVAL \'1 1:1:1\' DAY_SECOND);\n -> \'2004-12-30 22:58:59\'\nmysql> SELECT DATE_ADD(\'1900-01-01 00:00:00\',\n -> INTERVAL \'-1 10\' DAY_HOUR);\n -> \'1899-12-30 14:00:00\'\nmysql> SELECT DATE_SUB(\'1998-01-02\', INTERVAL 31 DAY);\n -> \'1997-12-02\'\nmysql> SELECT DATE_ADD(\'1992-12-31 23:59:59.000002\',\n -> INTERVAL \'1.999999\' SECOND_MICROSECOND);\n -> \'1993-01-01 00:00:01.000001\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (197,38,'LIKE','Syntax:\nexpr LIKE pat [ESCAPE \'escape_char\']\n\nPattern matching using SQL simple regular expression comparison.\nReturns 1 (TRUE) or 0 (FALSE). If either expr or pat is NULL, the\nresult is NULL.\n\nThe pattern need not be a literal string. For example, it can be\nspecified as a string expression or table column.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-comparison-functions.html\n\n','mysql> SELECT \'David!\' LIKE \'David_\';\n -> 1\nmysql> SELECT \'David!\' LIKE \'%D%v%\';\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/string-comparison-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (198,25,'MULTIPOINT','MultiPoint(pt1,pt2,...)\n\nConstructs a MultiPoint value using Point or WKB Point arguments.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (199,19,'>>','Syntax:\n>>\n\nShifts a longlong (BIGINT) number to the right.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html\n\n','mysql> SELECT 4 >> 2;\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (200,24,'FETCH','Syntax:\nFETCH [[NEXT] FROM] cursor_name INTO var_name [, var_name] ...\n\nThis statement fetches the next row for the SELECT statement associated\nwith the specified cursor (which must be open), and advances the cursor\npointer. If a row exists, the fetched columns are stored in the named\nvariables. The number of columns retrieved by the SELECT statement must\nmatch the number of output variables specified in the FETCH statement.\n\nIf no more rows are available, a No Data condition occurs with SQLSTATE\nvalue \'02000\'. To detect this condition, you can set up a handler for\nit (or for a NOT FOUND condition). For an example, see\nhttp://dev.mysql.com/doc/refman/5.5/en/cursors.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/fetch.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/fetch.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (201,30,'TRUE FALSE','The constants TRUE and FALSE evaluate to 1 and 0, respectively. The\nconstant names can be written in any lettercase.\n\nmysql> SELECT TRUE, true, FALSE, false;\n -> 1, 1, 0, 0\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/boolean-literals.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/boolean-literals.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (202,7,'MBRWITHIN','MBRWithin(g1,g2)\n\nReturns 1 or 0 to indicate whether the minimum bounding rectangle of g1\nis within the minimum bounding rectangle of g2. This tests the opposite\nrelationship as MBRContains().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html\n\n','mysql> SET @g1 = GeomFromText(\'Polygon((0 0,0 3,3 3,3 0,0 0))\');\nmysql> SET @g2 = GeomFromText(\'Polygon((0 0,0 5,5 5,5 0,0 0))\');\nmysql> SELECT MBRWithin(@g1,@g2), MBRWithin(@g2,@g1);\n+--------------------+--------------------+\n| MBRWithin(@g1,@g2) | MBRWithin(@g2,@g1) |\n+--------------------+--------------------+\n| 1 | 0 |\n+--------------------+--------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (203,17,'SESSION_USER','Syntax:\nSESSION_USER()\n\nSESSION_USER() is a synonym for USER().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (204,27,'SHOW CREATE FUNCTION','Syntax:\nSHOW CREATE FUNCTION func_name\n\nThis statement is similar to SHOW CREATE PROCEDURE but for stored\nfunctions. See [HELP SHOW CREATE PROCEDURE].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-create-function.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-create-function.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (205,32,'STR_TO_DATE','Syntax:\nSTR_TO_DATE(str,format)\n\nThis is the inverse of the DATE_FORMAT() function. It takes a string\nstr and a format string format. STR_TO_DATE() returns a DATETIME value\nif the format string contains both date and time parts, or a DATE or\nTIME value if the string contains only date or time parts. If the date,\ntime, or datetime value extracted from str is illegal, STR_TO_DATE()\nreturns NULL and produces a warning.\n\nThe server scans str attempting to match format to it. The format\nstring can contain literal characters and format specifiers beginning\nwith %. Literal characters in format must match literally in str.\nFormat specifiers in format must match a date or time part in str. For\nthe specifiers that can be used in format, see the DATE_FORMAT()\nfunction description.\n\nmysql> SELECT STR_TO_DATE(\'01,5,2013\',\'%d,%m,%Y\');\n -> \'2013-05-01\'\nmysql> SELECT STR_TO_DATE(\'May 1, 2013\',\'%M %d,%Y\');\n -> \'2013-05-01\'\n\nScanning starts at the beginning of str and fails if format is found\nnot to match. Extra characters at the end of str are ignored.\n\nmysql> SELECT STR_TO_DATE(\'a09:30:17\',\'a%h:%i:%s\');\n -> \'09:30:17\'\nmysql> SELECT STR_TO_DATE(\'a09:30:17\',\'%h:%i:%s\');\n -> NULL\nmysql> SELECT STR_TO_DATE(\'09:30:17a\',\'%h:%i:%s\');\n -> \'09:30:17\'\n\nUnspecified date or time parts have a value of 0, so incompletely\nspecified values in str produce a result with some or all parts set to\n0:\n\nmysql> SELECT STR_TO_DATE(\'abc\',\'abc\');\n -> \'0000-00-00\'\nmysql> SELECT STR_TO_DATE(\'9\',\'%m\');\n -> \'0000-09-00\'\nmysql> SELECT STR_TO_DATE(\'9\',\'%s\');\n -> \'00:00:09\'\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (206,11,'Y','Y(p)\n\nReturns the Y-coordinate value for the Point object p as a\ndouble-precision number.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-point-property-functions.html\n\n','mysql> SELECT Y(POINT(56.7, 53.34));\n+-----------------------+\n| Y(POINT(56.7, 53.34)) |\n+-----------------------+\n| 53.34 |\n+-----------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-point-property-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (207,21,'CHECKSUM TABLE','Syntax:\nCHECKSUM TABLE tbl_name [, tbl_name] ... [ QUICK | EXTENDED ]\n\nCHECKSUM TABLE reports a table checksum. During the checksum operation,\nthe table is locked with a read lock for InnoDB and MyISAM. This\nstatement requires the SELECT privilege for the table.\n\nWith QUICK, the live table checksum is reported if it is available, or\nNULL otherwise. This is very fast. A live checksum is enabled by\nspecifying the CHECKSUM=1 table option when you create the table;\ncurrently, this is supported only for MyISAM tables. See [HELP CREATE\nTABLE].\n\nWith EXTENDED, the entire table is read row by row and the checksum is\ncalculated. This can be very slow for large tables.\n\nIf neither QUICK nor EXTENDED is specified, MySQL returns a live\nchecksum if the table storage engine supports it and scans the table\notherwise.\n\nFor a nonexistent table, CHECKSUM TABLE returns NULL and generates a\nwarning.\n\nIn MySQL 5.5, CHECKSUM TABLE returns 0 for partitioned tables unless\nyou include the EXTENDED option. This issue is resolved in MySQL 5.6.\n(Bug #11933226, Bug #60681)\n\nThe checksum value depends on the table row format. If the row format\nchanges, the checksum also changes. For example, the storage format for\nVARCHAR changed between MySQL 4.1 and 5.0, so if a 4.1 table is\nupgraded to MySQL 5.0, the checksum value may change.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/checksum-table.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/checksum-table.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (208,2,'NUMINTERIORRINGS','NumInteriorRings(poly)\n\nReturns the number of interior rings in the Polygon value poly.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-polygon-property-functions.html\n\n','mysql> SET @poly =\n -> \'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))\';\nmysql> SELECT NumInteriorRings(GeomFromText(@poly));\n+---------------------------------------+\n| NumInteriorRings(GeomFromText(@poly)) |\n+---------------------------------------+\n| 1 |\n+---------------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-polygon-property-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (209,2,'INTERIORRINGN','InteriorRingN(poly,N)\n\nReturns the N-th interior ring for the Polygon value poly as a\nLineString. Rings are numbered beginning with 1.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-polygon-property-functions.html\n\n','mysql> SET @poly =\n -> \'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))\';\nmysql> SELECT AsText(InteriorRingN(GeomFromText(@poly),1));\n+----------------------------------------------+\n| AsText(InteriorRingN(GeomFromText(@poly),1)) |\n+----------------------------------------------+\n| LINESTRING(1 1,1 2,2 2,2 1,1 1) |\n+----------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-polygon-property-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (210,32,'UTC_TIME','Syntax:\nUTC_TIME, UTC_TIME()\n\nReturns the current UTC time as a value in \'HH:MM:SS\' or HHMMSS.uuuuuu\nformat, depending on whether the function is used in a string or\nnumeric context.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT UTC_TIME(), UTC_TIME() + 0;\n -> \'18:07:53\', 180753.000000\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (211,40,'DROP FUNCTION','The DROP FUNCTION statement is used to drop stored functions and\nuser-defined functions (UDFs):\n\no For information about dropping stored functions, see [HELP DROP\n PROCEDURE].\n\no For information about dropping user-defined functions, see [HELP DROP\n FUNCTION UDF].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/drop-function.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/drop-function.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (212,16,'STDDEV','Syntax:\nSTDDEV(expr)\n\nReturns the population standard deviation of expr. This function is\nprovided for compatibility with Oracle. The standard SQL function\nSTDDEV_POP() can be used instead.\n\nThis function returns NULL if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (213,32,'PERIOD_ADD','Syntax:\nPERIOD_ADD(P,N)\n\nAdds N months to period P (in the format YYMM or YYYYMM). Returns a\nvalue in the format YYYYMM. Note that the period argument P is not a\ndate value.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT PERIOD_ADD(200801,2);\n -> 200803\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (214,38,'RIGHT','Syntax:\nRIGHT(str,len)\n\nReturns the rightmost len characters from the string str, or NULL if\nany argument is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT RIGHT(\'foobarbar\', 4);\n -> \'rbar\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (215,40,'DROP TABLESPACE','Syntax:\nDROP TABLESPACE tablespace_name\n ENGINE [=] engine_name\n\nThis statement drops a tablespace that was previously created using\nCREATE TABLESPACE (see [HELP CREATE TABLESPACE]).\n\n*Important*: The tablespace to be dropped must not contain any data\nfiles; in other words, before you can drop a tablespace, you must first\ndrop each of its data files using ALTER TABLESPACE ... DROP DATAFILE\n(see [HELP ALTER TABLESPACE]).\n\nThe ENGINE clause (required) specifies the storage engine used by the\ntablespace. Currently, the only accepted values for engine_name are NDB\nand NDBCLUSTER.\n\nDROP TABLESPACE is useful only with Disk Data storage for MySQL\nCluster. See\nhttp://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-disk-data.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/drop-tablespace.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/drop-tablespace.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (216,21,'CHECK TABLE','Syntax:\nCHECK TABLE tbl_name [, tbl_name] ... [option] ...\n\noption = {FOR UPGRADE | QUICK | FAST | MEDIUM | EXTENDED | CHANGED}\n\nCHECK TABLE checks a table or tables for errors. CHECK TABLE works for\nInnoDB, MyISAM, ARCHIVE, and CSV tables. For MyISAM tables, the key\nstatistics are updated as well.\n\nTo check a table, you must have some privilege for it.\n\nCHECK TABLE can also check views for problems, such as tables that are\nreferenced in the view definition that no longer exist.\n\nCHECK TABLE is supported for partitioned tables, and you can use ALTER\nTABLE ... CHECK PARTITION to check one or more partitions; for more\ninformation, see [HELP ALTER TABLE], and\nhttp://dev.mysql.com/doc/refman/5.5/en/partitioning-maintenance.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/check-table.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/check-table.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (217,38,'BIN','Syntax:\nBIN(N)\n\nReturns a string representation of the binary value of N, where N is a\nlonglong (BIGINT) number. This is equivalent to CONV(N,10,2). Returns\nNULL if N is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT BIN(12);\n -> \'1100\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (218,25,'MULTILINESTRING','MultiLineString(ls1,ls2,...)\n\nConstructs a MultiLineString value using LineString or WKB LineString\narguments.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (219,27,'SHOW RELAYLOG EVENTS','Syntax:\nSHOW RELAYLOG EVENTS\n [IN \'log_name\'] [FROM pos] [LIMIT [offset,] row_count]\n\nShows the events in the relay log of a replication slave. If you do not\nspecify \'log_name\', the first relay log is displayed. This statement\nhas no effect on the master.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-relaylog-events.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-relaylog-events.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (220,4,'MPOINTFROMTEXT','MPointFromText(wkt[,srid]), MultiPointFromText(wkt[,srid])\n\nConstructs a MultiPoint value using its WKT representation and SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (221,38,'SUBSTR','Syntax:\nSUBSTR(str,pos), SUBSTR(str FROM pos), SUBSTR(str,pos,len), SUBSTR(str\nFROM pos FOR len)\n\nSUBSTR() is a synonym for SUBSTRING().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (222,23,'CHAR','[NATIONAL] CHAR[(M)] [CHARACTER SET charset_name] [COLLATE\ncollation_name]\n\nA fixed-length string that is always right-padded with spaces to the\nspecified length when stored. M represents the column length in\ncharacters. The range of M is 0 to 255. If M is omitted, the length is\n1.\n\n*Note*: Trailing spaces are removed when CHAR values are retrieved\nunless the PAD_CHAR_TO_FULL_LENGTH SQL mode is enabled.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (223,16,'COUNT DISTINCT','Syntax:\nCOUNT(DISTINCT expr,[expr...])\n\nReturns a count of the number of rows with different non-NULL expr\nvalues.\n\nCOUNT(DISTINCT) returns 0 if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','mysql> SELECT COUNT(DISTINCT results) FROM student;\n','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (224,27,'SHOW CREATE VIEW','Syntax:\nSHOW CREATE VIEW view_name\n\nThis statement shows the CREATE VIEW statement that creates the named\nview.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-create-view.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-create-view.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (225,20,'INTERVAL','Syntax:\nINTERVAL(N,N1,N2,N3,...)\n\nReturns 0 if N < N1, 1 if N < N2 and so on or -1 if N is NULL. All\narguments are treated as integers. It is required that N1 < N2 < N3 <\n... < Nn for this function to work correctly. This is because a binary\nsearch is used (very fast).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT INTERVAL(23, 1, 15, 17, 30, 44, 200);\n -> 3\nmysql> SELECT INTERVAL(10, 1, 10, 100, 1000);\n -> 2\nmysql> SELECT INTERVAL(22, 23, 30, 44, 200);\n -> 0\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (226,32,'FROM_DAYS','Syntax:\nFROM_DAYS(N)\n\nGiven a day number N, returns a DATE value.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT FROM_DAYS(730669);\n -> \'2007-07-03\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (227,40,'ALTER PROCEDURE','Syntax:\nALTER PROCEDURE proc_name [characteristic ...]\n\ncharacteristic:\n COMMENT \'string\'\n | LANGUAGE SQL\n | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }\n | SQL SECURITY { DEFINER | INVOKER }\n\nThis statement can be used to change the characteristics of a stored\nprocedure. More than one change may be specified in an ALTER PROCEDURE\nstatement. However, you cannot change the parameters or body of a\nstored procedure using this statement; to make such changes, you must\ndrop and re-create the procedure using DROP PROCEDURE and CREATE\nPROCEDURE.\n\nYou must have the ALTER ROUTINE privilege for the procedure. By\ndefault, that privilege is granted automatically to the procedure\ncreator. This behavior can be changed by disabling the\nautomatic_sp_privileges system variable. See\nhttp://dev.mysql.com/doc/refman/5.5/en/stored-routines-privileges.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/alter-procedure.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/alter-procedure.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (228,19,'BIT_COUNT','Syntax:\nBIT_COUNT(N)\n\nReturns the number of bits that are set in the argument N.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html\n\n','mysql> SELECT BIT_COUNT(29), BIT_COUNT(b\'101010\');\n -> 4, 3\n','http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (229,3,'ACOS','Syntax:\nACOS(X)\n\nReturns the arc cosine of X, that is, the value whose cosine is X.\nReturns NULL if X is not in the range -1 to 1.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT ACOS(1);\n -> 0\nmysql> SELECT ACOS(1.0001);\n -> NULL\nmysql> SELECT ACOS(0);\n -> 1.5707963267949\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (230,8,'ISOLATION','Syntax:\nSET [GLOBAL | SESSION] TRANSACTION ISOLATION LEVEL\n {\n REPEATABLE READ\n | READ COMMITTED\n | READ UNCOMMITTED\n | SERIALIZABLE\n }\n\nThis statement sets the transaction isolation level, used for\noperations on InnoDB tables.\n\nScope of the Isolation Level\n\nYou can set the isolation level globally, for the current session, or\nfor the next transaction:\n\no With the GLOBAL keyword, the statement sets the default transaction\n level globally for all subsequent sessions. Existing sessions are\n unaffected.\n\no With the SESSION keyword, the statement sets the default transaction\n level for all subsequent transactions performed within the current\n session.\n\no Without any SESSION or GLOBAL keyword, the statement sets the\n isolation level for the next (not started) transaction performed\n within the current session.\n\nA change to the global default isolation level requires the SUPER\nprivilege. Any session is free to change its session isolation level\n(even in the middle of a transaction), or the isolation level for its\nnext transaction.\n\nSET TRANSACTION ISOLATION LEVEL without GLOBAL or SESSION is not\npermitted while there is an active transaction:\n\nmysql> START TRANSACTION;\nQuery OK, 0 rows affected (0.02 sec)\n\nmysql> SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;\nERROR 1568 (25001): Transaction isolation level can\'t be changed\nwhile a transaction is in progress\n\nTo set the global default isolation level at server startup, use the\n--transaction-isolation=level option to mysqld on the command line or\nin an option file. Values of level for this option use dashes rather\nthan spaces, so the permissible values are READ-UNCOMMITTED,\nREAD-COMMITTED, REPEATABLE-READ, or SERIALIZABLE. For example, to set\nthe default isolation level to REPEATABLE READ, use these lines in the\n[mysqld] section of an option file:\n\n[mysqld]\ntransaction-isolation = REPEATABLE-READ\n\nIt is possible to check or set the global and session transaction\nisolation levels at runtime by using the tx_isolation system variable:\n\nSELECT @@GLOBAL.tx_isolation, @@tx_isolation;\nSET GLOBAL tx_isolation=\'REPEATABLE-READ\';\nSET SESSION tx_isolation=\'SERIALIZABLE\';\n\nDetails and Usage of Isolation Levels\n\nInnoDB supports each of the transaction isolation levels described here\nusing different locking strategies. You can enforce a high degree of\nconsistency with the default REPEATABLE READ level, for operations on\ncrucial data where ACID compliance is important. Or you can relax the\nconsistency rules with READ COMMITTED or even READ UNCOMMITTED, in\nsituations such as bulk reporting where precise consistency and\nrepeatable results are less important than minimizing the amount of\noverhead for locking. SERIALIZABLE enforces even stricter rules than\nREPEATABLE READ, and is used mainly in specialized situations, such as\nwith XA transactions and for troubleshooting issues with concurrency\nand deadlocks.\n\nFor full information about how these isolation levels work with InnoDB\ntransactions, see\nhttp://dev.mysql.com/doc/refman/5.5/en/innodb-transaction-model.html.\nIn particular, for additional information about InnoDB record-level\nlocks and how it uses them to execute various types of statements, see\nhttp://dev.mysql.com/doc/refman/5.5/en/innodb-record-level-locks.html\nand http://dev.mysql.com/doc/refman/5.5/en/innodb-locks-set.html.\n\nThe following list describes how MySQL supports the different\ntransaction levels. The list goes from the most commonly used level to\nthe least used.\n\no REPEATABLE READ\n\n This is the default isolation level for InnoDB. For consistent reads,\n there is an important difference from the READ COMMITTED isolation\n level: All consistent reads within the same transaction read the\n snapshot established by the first read. This convention means that if\n you issue several plain (nonlocking) SELECT statements within the\n same transaction, these SELECT statements are consistent also with\n respect to each other. See\n http://dev.mysql.com/doc/refman/5.5/en/innodb-consistent-read.html.\n\n For locking reads (SELECT with FOR UPDATE or LOCK IN SHARE MODE),\n UPDATE, and DELETE statements, locking depends on whether the\n statement uses a unique index with a unique search condition, or a\n range-type search condition. For a unique index with a unique search\n condition, InnoDB locks only the index record found, not the gap\n before it. For other search conditions, InnoDB locks the index range\n scanned, using gap locks or next-key (gap plus index-record) locks to\n block insertions by other sessions into the gaps covered by the\n range.\n\no READ COMMITTED\n\n A somewhat Oracle-like isolation level with respect to consistent\n (nonlocking) reads: Each consistent read, even within the same\n transaction, sets and reads its own fresh snapshot. See\n http://dev.mysql.com/doc/refman/5.5/en/innodb-consistent-read.html.\n\n For locking reads (SELECT with FOR UPDATE or LOCK IN SHARE MODE),\n UPDATE statements, and DELETE statements, InnoDB locks only index\n records, not the gaps before them, and thus permits the free\n insertion of new records next to locked records.\n\n *Note*: In MySQL 5.5, when READ COMMITTED isolation level is used or\n the innodb_locks_unsafe_for_binlog system variable is enabled, there\n is no InnoDB gap locking except for foreign-key constraint checking\n and duplicate-key checking. Also, record locks for nonmatching rows\n are released after MySQL has evaluated the WHERE condition. If you\n use READ COMMITTED or enable innodb_locks_unsafe_for_binlog, you must\n use row-based binary logging.\n\no READ UNCOMMITTED\n\n SELECT statements are performed in a nonlocking fashion, but a\n possible earlier version of a row might be used. Thus, using this\n isolation level, such reads are not consistent. This is also called a\n "dirty read." Otherwise, this isolation level works like READ\n COMMITTED.\n\no SERIALIZABLE\n\n This level is like REPEATABLE READ, but InnoDB implicitly converts\n all plain SELECT statements to SELECT ... LOCK IN SHARE MODE if\n autocommit is disabled. If autocommit is enabled, the SELECT is its\n own transaction. It therefore is known to be read only and can be\n serialized if performed as a consistent (nonlocking) read and need\n not block for other transactions. (To force a plain SELECT to block\n if other transactions have modified the selected rows, disable\n autocommit.)\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/set-transaction.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/set-transaction.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (231,3,'SIN','Syntax:\nSIN(X)\n\nReturns the sine of X, where X is given in radians.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT SIN(PI());\n -> 1.2246063538224e-16\nmysql> SELECT ROUND(SIN(PI()));\n -> 0\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (232,20,'IS','Syntax:\nIS boolean_value\n\nTests a value against a boolean value, where boolean_value can be TRUE,\nFALSE, or UNKNOWN.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT 1 IS TRUE, 0 IS FALSE, NULL IS UNKNOWN;\n -> 1, 1, 1\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (233,32,'GET_FORMAT','Syntax:\nGET_FORMAT({DATE|TIME|DATETIME}, {\'EUR\'|\'USA\'|\'JIS\'|\'ISO\'|\'INTERNAL\'})\n\nReturns a format string. This function is useful in combination with\nthe DATE_FORMAT() and the STR_TO_DATE() functions.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT DATE_FORMAT(\'2003-10-03\',GET_FORMAT(DATE,\'EUR\'));\n -> \'03.10.2003\'\nmysql> SELECT STR_TO_DATE(\'10.31.2003\',GET_FORMAT(DATE,\'USA\'));\n -> \'2003-10-31\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (234,23,'TINYBLOB','TINYBLOB\n\nA BLOB column with a maximum length of 255 (28 - 1) bytes. Each\nTINYBLOB value is stored using a 1-byte length prefix that indicates\nthe number of bytes in the value.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (235,17,'USER','Syntax:\nUSER()\n\nReturns the current MySQL user name and host name as a string in the\nutf8 character set.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','mysql> SELECT USER();\n -> \'davida@localhost\'\n','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (236,21,'REPAIR TABLE','Syntax:\nREPAIR [NO_WRITE_TO_BINLOG | LOCAL] TABLE\n tbl_name [, tbl_name] ...\n [QUICK] [EXTENDED] [USE_FRM]\n\nREPAIR TABLE repairs a possibly corrupted table. By default, it has the\nsame effect as myisamchk --recover tbl_name. REPAIR TABLE works for\nMyISAM, ARCHIVE, and CSV tables. See\nhttp://dev.mysql.com/doc/refman/5.5/en/myisam-storage-engine.html, and\nhttp://dev.mysql.com/doc/refman/5.5/en/archive-storage-engine.html, and\nhttp://dev.mysql.com/doc/refman/5.5/en/csv-storage-engine.html\n\nThis statement requires SELECT and INSERT privileges for the table.\n\nREPAIR TABLE is supported for partitioned tables. However, the USE_FRM\noption cannot be used with this statement on a partitioned table.\n\nYou can use ALTER TABLE ... REPAIR PARTITION to repair one or more\npartitions; for more information, see [HELP ALTER TABLE], and\nhttp://dev.mysql.com/doc/refman/5.5/en/partitioning-maintenance.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/repair-table.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/repair-table.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (237,18,'MERGE','The MERGE storage engine, also known as the MRG_MyISAM engine, is a\ncollection of identical MyISAM tables that can be used as one.\n"Identical" means that all tables have identical column and index\ninformation. You cannot merge MyISAM tables in which the columns are\nlisted in a different order, do not have exactly the same columns, or\nhave the indexes in different order. However, any or all of the MyISAM\ntables can be compressed with myisampack. See\nhttp://dev.mysql.com/doc/refman/5.5/en/myisampack.html. Differences in\ntable options such as AVG_ROW_LENGTH, MAX_ROWS, or PACK_KEYS do not\nmatter.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/merge-storage-engine.html\n\n','mysql> CREATE TABLE t1 (\n -> a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,\n -> message CHAR(20)) ENGINE=MyISAM;\nmysql> CREATE TABLE t2 (\n -> a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,\n -> message CHAR(20)) ENGINE=MyISAM;\nmysql> INSERT INTO t1 (message) VALUES (\'Testing\'),(\'table\'),(\'t1\');\nmysql> INSERT INTO t2 (message) VALUES (\'Testing\'),(\'table\'),(\'t2\');\nmysql> CREATE TABLE total (\n -> a INT NOT NULL AUTO_INCREMENT,\n -> message CHAR(20), INDEX(a))\n -> ENGINE=MERGE UNION=(t1,t2) INSERT_METHOD=LAST;\n','http://dev.mysql.com/doc/refman/5.5/en/merge-storage-engine.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (238,40,'CREATE TABLE','Syntax:\nCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name\n (create_definition,...)\n [table_options]\n [partition_options]\n\nOr:\n\nCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name\n [(create_definition,...)]\n [table_options]\n [partition_options]\n select_statement\n\nOr:\n\nCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name\n { LIKE old_tbl_name | (LIKE old_tbl_name) }\n\ncreate_definition:\n col_name column_definition\n | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...)\n [index_option] ...\n | {INDEX|KEY} [index_name] [index_type] (index_col_name,...)\n [index_option] ...\n | [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY]\n [index_name] [index_type] (index_col_name,...)\n [index_option] ...\n | {FULLTEXT|SPATIAL} [INDEX|KEY] [index_name] (index_col_name,...)\n [index_option] ...\n | [CONSTRAINT [symbol]] FOREIGN KEY\n [index_name] (index_col_name,...) reference_definition\n | CHECK (expr)\n\ncolumn_definition:\n data_type [NOT NULL | NULL] [DEFAULT default_value]\n [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY]\n [COMMENT \'string\']\n [COLUMN_FORMAT {FIXED|DYNAMIC|DEFAULT}]\n [STORAGE {DISK|MEMORY|DEFAULT}]\n [reference_definition]\n\ndata_type:\n BIT[(length)]\n | TINYINT[(length)] [UNSIGNED] [ZEROFILL]\n | SMALLINT[(length)] [UNSIGNED] [ZEROFILL]\n | MEDIUMINT[(length)] [UNSIGNED] [ZEROFILL]\n | INT[(length)] [UNSIGNED] [ZEROFILL]\n | INTEGER[(length)] [UNSIGNED] [ZEROFILL]\n | BIGINT[(length)] [UNSIGNED] [ZEROFILL]\n | REAL[(length,decimals)] [UNSIGNED] [ZEROFILL]\n | DOUBLE[(length,decimals)] [UNSIGNED] [ZEROFILL]\n | FLOAT[(length,decimals)] [UNSIGNED] [ZEROFILL]\n | DECIMAL[(length[,decimals])] [UNSIGNED] [ZEROFILL]\n | NUMERIC[(length[,decimals])] [UNSIGNED] [ZEROFILL]\n | DATE\n | TIME\n | TIMESTAMP\n | DATETIME\n | YEAR\n | CHAR[(length)]\n [CHARACTER SET charset_name] [COLLATE collation_name]\n | VARCHAR(length)\n [CHARACTER SET charset_name] [COLLATE collation_name]\n | BINARY[(length)]\n | VARBINARY(length)\n | TINYBLOB\n | BLOB\n | MEDIUMBLOB\n | LONGBLOB\n | TINYTEXT [BINARY]\n [CHARACTER SET charset_name] [COLLATE collation_name]\n | TEXT [BINARY]\n [CHARACTER SET charset_name] [COLLATE collation_name]\n | MEDIUMTEXT [BINARY]\n [CHARACTER SET charset_name] [COLLATE collation_name]\n | LONGTEXT [BINARY]\n [CHARACTER SET charset_name] [COLLATE collation_name]\n | ENUM(value1,value2,value3,...)\n [CHARACTER SET charset_name] [COLLATE collation_name]\n | SET(value1,value2,value3,...)\n [CHARACTER SET charset_name] [COLLATE collation_name]\n | spatial_type\n\nindex_col_name:\n col_name [(length)] [ASC | DESC]\n\nindex_type:\n USING {BTREE | HASH}\n\nindex_option:\n KEY_BLOCK_SIZE [=] value\n | index_type\n | WITH PARSER parser_name\n | COMMENT \'string\'\n\nreference_definition:\n REFERENCES tbl_name (index_col_name,...)\n [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE]\n [ON DELETE reference_option]\n [ON UPDATE reference_option]\n\nreference_option:\n RESTRICT | CASCADE | SET NULL | NO ACTION\n\ntable_options:\n table_option [[,] table_option] ...\n\ntable_option:\n ENGINE [=] engine_name\n | AUTO_INCREMENT [=] value\n | AVG_ROW_LENGTH [=] value\n | [DEFAULT] CHARACTER SET [=] charset_name\n | CHECKSUM [=] {0 | 1}\n | [DEFAULT] COLLATE [=] collation_name\n | COMMENT [=] \'string\'\n | CONNECTION [=] \'connect_string\'\n | DATA DIRECTORY [=] \'absolute path to directory\'\n | DELAY_KEY_WRITE [=] {0 | 1}\n | INDEX DIRECTORY [=] \'absolute path to directory\'\n | INSERT_METHOD [=] { NO | FIRST | LAST }\n | KEY_BLOCK_SIZE [=] value\n | MAX_ROWS [=] value\n | MIN_ROWS [=] value\n | PACK_KEYS [=] {0 | 1 | DEFAULT}\n | PASSWORD [=] \'string\'\n | ROW_FORMAT [=] {DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT}\n | TABLESPACE tablespace_name [STORAGE {DISK|MEMORY|DEFAULT}]\n | UNION [=] (tbl_name[,tbl_name]...)\n\npartition_options:\n PARTITION BY\n { [LINEAR] HASH(expr)\n | [LINEAR] KEY [ALGORITHM={1|2}] (column_list)\n | RANGE{(expr) | COLUMNS(column_list)}\n | LIST{(expr) | COLUMNS(column_list)} }\n [PARTITIONS num]\n [SUBPARTITION BY\n { [LINEAR] HASH(expr)\n | [LINEAR] KEY [ALGORITHM={1|2}] (column_list) }\n [SUBPARTITIONS num]\n ]\n [(partition_definition [, partition_definition] ...)]\n\npartition_definition:\n PARTITION partition_name\n [VALUES \n {LESS THAN {(expr | value_list) | MAXVALUE} \n | \n IN (value_list)}]\n [[STORAGE] ENGINE [=] engine_name]\n [COMMENT [=] \'comment_text\' ]\n [DATA DIRECTORY [=] \'data_dir\']\n [INDEX DIRECTORY [=] \'index_dir\']\n [MAX_ROWS [=] max_number_of_rows]\n [MIN_ROWS [=] min_number_of_rows]\n [TABLESPACE [=] tablespace_name]\n [NODEGROUP [=] node_group_id]\n [(subpartition_definition [, subpartition_definition] ...)]\n\nsubpartition_definition:\n SUBPARTITION logical_name\n [[STORAGE] ENGINE [=] engine_name]\n [COMMENT [=] \'comment_text\' ]\n [DATA DIRECTORY [=] \'data_dir\']\n [INDEX DIRECTORY [=] \'index_dir\']\n [MAX_ROWS [=] max_number_of_rows]\n [MIN_ROWS [=] min_number_of_rows]\n [TABLESPACE [=] tablespace_name]\n [NODEGROUP [=] node_group_id]\n\nselect_statement:\n [IGNORE | REPLACE] [AS] SELECT ... (Some valid select statement)\n\nCREATE TABLE creates a table with the given name. You must have the\nCREATE privilege for the table.\n\nRules for permissible table names are given in\nhttp://dev.mysql.com/doc/refman/5.5/en/identifiers.html. By default,\nthe table is created in the default database, using the InnoDB storage\nengine. An error occurs if the table exists, if there is no default\ndatabase, or if the database does not exist.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-table.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/create-table.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (239,32,'MICROSECOND','Syntax:\nMICROSECOND(expr)\n\nReturns the microseconds from the time or datetime expression expr as a\nnumber in the range from 0 to 999999.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT MICROSECOND(\'12:00:00.123456\');\n -> 123456\nmysql> SELECT MICROSECOND(\'2009-12-31 23:59:59.000010\');\n -> 10\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (240,40,'CREATE SERVER','Syntax:\nCREATE SERVER server_name\n FOREIGN DATA WRAPPER wrapper_name\n OPTIONS (option [, option] ...)\n\noption:\n { HOST character-literal\n | DATABASE character-literal\n | USER character-literal\n | PASSWORD character-literal\n | SOCKET character-literal\n | OWNER character-literal\n | PORT numeric-literal }\n\nThis statement creates the definition of a server for use with the\nFEDERATED storage engine. The CREATE SERVER statement creates a new row\nin the servers table in the mysql database. This statement requires the\nSUPER privilege.\n\nThe server_name should be a unique reference to the server. Server\ndefinitions are global within the scope of the server, it is not\npossible to qualify the server definition to a specific database.\nserver_name has a maximum length of 64 characters (names longer than 64\ncharacters are silently truncated), and is case insensitive. You may\nspecify the name as a quoted string.\n\nThe wrapper_name should be mysql, and may be quoted with single\nquotation marks. Other values for wrapper_name are not currently\nsupported.\n\nFor each option you must specify either a character literal or numeric\nliteral. Character literals are UTF-8, support a maximum length of 64\ncharacters and default to a blank (empty) string. String literals are\nsilently truncated to 64 characters. Numeric literals must be a number\nbetween 0 and 9999, default value is 0.\n\n*Note*: The OWNER option is currently not applied, and has no effect on\nthe ownership or operation of the server connection that is created.\n\nThe CREATE SERVER statement creates an entry in the mysql.servers table\nthat can later be used with the CREATE TABLE statement when creating a\nFEDERATED table. The options that you specify will be used to populate\nthe columns in the mysql.servers table. The table columns are\nServer_name, Host, Db, Username, Password, Port and Socket.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-server.html\n\n','CREATE SERVER s\nFOREIGN DATA WRAPPER mysql\nOPTIONS (USER \'Remote\', HOST \'192.168.1.106\', DATABASE \'test\');\n','http://dev.mysql.com/doc/refman/5.5/en/create-server.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (241,32,'MAKETIME','Syntax:\nMAKETIME(hour,minute,second)\n\nReturns a time value calculated from the hour, minute, and second\narguments.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT MAKETIME(12,15,30);\n -> \'12:15:30\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (242,32,'CURDATE','Syntax:\nCURDATE()\n\nReturns the current date as a value in \'YYYY-MM-DD\' or YYYYMMDD format,\ndepending on whether the function is used in a string or numeric\ncontext.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT CURDATE();\n -> \'2008-06-13\'\nmysql> SELECT CURDATE() + 0;\n -> 20080613\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (243,10,'SET PASSWORD','Syntax:\nSET PASSWORD [FOR user] =\n {\n PASSWORD(\'cleartext password\')\n | OLD_PASSWORD(\'cleartext password\')\n | \'encrypted password\'\n }\n\nThe SET PASSWORD statement assigns a password to a MySQL user account:\n\no With no FOR user clause, this statement sets the password for the\n current user:\n\nSET PASSWORD = PASSWORD(\'cleartext password\');\n\n Any client who connects to the server using a nonanonymous account\n can change the password for that account. To see which account the\n server authenticated you for, invoke the CURRENT_USER() function:\n\nSELECT CURRENT_USER();\n\no With a FOR user clause, this statement sets the password for the\n named account, which must exist:\n\nSET PASSWORD FOR \'jeffrey\'@\'localhost\' = PASSWORD(\'cleartext password\');\n\n In this case, you must have the UPDATE privilege for the mysql\n database.\n\nWhen the read_only system variable is enabled, SET PASSWORD requires\nthe SUPER privilege, in addition to any other required privileges.\n\nIf a FOR user clause is given, the account name uses the format\ndescribed in http://dev.mysql.com/doc/refman/5.5/en/account-names.html.\nThe user value should be given as \'user_name\'@\'host_name\', where\n\'user_name\' and \'host_name\' are exactly as listed in the User and Host\ncolumns of the account\'s mysql.user table row. (If you specify only a\nuser name, a host name of \'%\' is used.) For example, to set the\npassword for an account with User and Host column values of \'bob\' and\n\'%.example.org\', write the statement like this:\n\nSET PASSWORD FOR \'bob\'@\'%.example.org\' = PASSWORD(\'cleartext password\');\n\nThe password can be specified in these ways:\n\no Using the PASSWORD() function\n\n The function argument is the cleartext (unencrypted) password.\n PASSWORD() hashes the password and returns the encrypted password\n string.\n\n The old_passwords system variable value determines the hashing method\n used by PASSWORD(). It should be set to a value compatible with the\n hash format required by the account authentication plugin. For\n example, if the account uses the mysql_native_password authentication\n plugin, old_passwords should be 0 for PASSWORD() to produce a hash\n value in the correct format. For mysql_old_password, old_passwords\n should be 1.\n\no Using the OLD_PASSWORD() function:\n\n The function argument is the cleartext (unencrypted) password.\n OLD_PASSWORD() hashes the password using pre-4.1 hashing and returns\n the encrypted password string. This hashing method is appropriate\n only for accounts that use the mysql_old_password authentication\n plugin.\n\no Using an already encrypted password string\n\n The password is specified as a string literal. It must represent the\n already encrypted password value, in the hash format required by the\n authentication method used for the account.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/set-password.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/set-password.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (244,17,'DATABASE','Syntax:\nDATABASE()\n\nReturns the default (current) database name as a string in the utf8\ncharacter set. If there is no default database, DATABASE() returns\nNULL. Within a stored routine, the default database is the database\nthat the routine is associated with, which is not necessarily the same\nas the database that is the default in the calling context.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','mysql> SELECT DATABASE();\n -> \'test\'\n','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (245,6,'IF FUNCTION','Syntax:\nIF(expr1,expr2,expr3)\n\nIf expr1 is TRUE (expr1 <> 0 and expr1 <> NULL) then IF() returns\nexpr2; otherwise it returns expr3. IF() returns a numeric or string\nvalue, depending on the context in which it is used.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/control-flow-functions.html\n\n','mysql> SELECT IF(1>2,2,3);\n -> 3\nmysql> SELECT IF(1<2,\'yes\',\'no\');\n -> \'yes\'\nmysql> SELECT IF(STRCMP(\'test\',\'test1\'),\'no\',\'yes\');\n -> \'no\'\n','http://dev.mysql.com/doc/refman/5.5/en/control-flow-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (246,33,'POINTFROMWKB','PointFromWKB(wkb[,srid])\n\nConstructs a Point value using its WKB representation and SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (247,3,'POWER','Syntax:\nPOWER(X,Y)\n\nThis is a synonym for POW().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (248,3,'ATAN','Syntax:\nATAN(X)\n\nReturns the arc tangent of X, that is, the value whose tangent is X.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT ATAN(2);\n -> 1.1071487177941\nmysql> SELECT ATAN(-2);\n -> -1.1071487177941\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (249,27,'SHOW PROFILE','Syntax:\nSHOW PROFILE [type [, type] ... ]\n [FOR QUERY n]\n [LIMIT row_count [OFFSET offset]]\n\ntype:\n ALL\n | BLOCK IO\n | CONTEXT SWITCHES\n | CPU\n | IPC\n | MEMORY\n | PAGE FAULTS\n | SOURCE\n | SWAPS\n\nThe SHOW PROFILE and SHOW PROFILES statements display profiling\ninformation that indicates resource usage for statements executed\nduring the course of the current session.\n\nProfiling is controlled by the profiling session variable, which has a\ndefault value of 0 (OFF). Profiling is enabled by setting profiling to\n1 or ON:\n\nmysql> SET profiling = 1;\n\nSHOW PROFILES displays a list of the most recent statements sent to the\nserver. The size of the list is controlled by the\nprofiling_history_size session variable, which has a default value of\n15. The maximum value is 100. Setting the value to 0 has the practical\neffect of disabling profiling.\n\nAll statements are profiled except SHOW PROFILE and SHOW PROFILES, so\nyou will find neither of those statements in the profile list.\nMalformed statements are profiled. For example, SHOW PROFILING is an\nillegal statement, and a syntax error occurs if you try to execute it,\nbut it will show up in the profiling list.\n\nSHOW PROFILE displays detailed information about a single statement.\nWithout the FOR QUERY n clause, the output pertains to the most\nrecently executed statement. If FOR QUERY n is included, SHOW PROFILE\ndisplays information for statement n. The values of n correspond to the\nQuery_ID values displayed by SHOW PROFILES.\n\nThe LIMIT row_count clause may be given to limit the output to\nrow_count rows. If LIMIT is given, OFFSET offset may be added to begin\nthe output offset rows into the full set of rows.\n\nBy default, SHOW PROFILE displays Status and Duration columns. The\nStatus values are like the State values displayed by SHOW PROCESSLIST,\nalthough there might be some minor differences in interpretion for the\ntwo statements for some status values (see\nhttp://dev.mysql.com/doc/refman/5.5/en/thread-information.html).\n\nOptional type values may be specified to display specific additional\ntypes of information:\n\no ALL displays all information\n\no BLOCK IO displays counts for block input and output operations\n\no CONTEXT SWITCHES displays counts for voluntary and involuntary\n context switches\n\no CPU displays user and system CPU usage times\n\no IPC displays counts for messages sent and received\n\no MEMORY is not currently implemented\n\no PAGE FAULTS displays counts for major and minor page faults\n\no SOURCE displays the names of functions from the source code, together\n with the name and line number of the file in which the function\n occurs\n\no SWAPS displays swap counts\n\nProfiling is enabled per session. When a session ends, its profiling\ninformation is lost.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-profile.html\n\n','mysql> SELECT @@profiling;\n+-------------+\n| @@profiling |\n+-------------+\n| 0 |\n+-------------+\n1 row in set (0.00 sec)\n\nmysql> SET profiling = 1;\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> DROP TABLE IF EXISTS t1;\nQuery OK, 0 rows affected, 1 warning (0.00 sec)\n\nmysql> CREATE TABLE T1 (id INT);\nQuery OK, 0 rows affected (0.01 sec)\n\nmysql> SHOW PROFILES;\n+----------+----------+--------------------------+\n| Query_ID | Duration | Query |\n+----------+----------+--------------------------+\n| 0 | 0.000088 | SET PROFILING = 1 |\n| 1 | 0.000136 | DROP TABLE IF EXISTS t1 |\n| 2 | 0.011947 | CREATE TABLE t1 (id INT) |\n+----------+----------+--------------------------+\n3 rows in set (0.00 sec)\n\nmysql> SHOW PROFILE;\n+----------------------+----------+\n| Status | Duration |\n+----------------------+----------+\n| checking permissions | 0.000040 |\n| creating table | 0.000056 |\n| After create | 0.011363 |\n| query end | 0.000375 |\n| freeing items | 0.000089 |\n| logging slow query | 0.000019 |\n| cleaning up | 0.000005 |\n+----------------------+----------+\n7 rows in set (0.00 sec)\n\nmysql> SHOW PROFILE FOR QUERY 1;\n+--------------------+----------+\n| Status | Duration |\n+--------------------+----------+\n| query end | 0.000107 |\n| freeing items | 0.000008 |\n| logging slow query | 0.000015 |\n| cleaning up | 0.000006 |\n+--------------------+----------+\n4 rows in set (0.00 sec)\n\nmysql> SHOW PROFILE CPU FOR QUERY 2;\n+----------------------+----------+----------+------------+\n| Status | Duration | CPU_user | CPU_system |\n+----------------------+----------+----------+------------+\n| checking permissions | 0.000040 | 0.000038 | 0.000002 |\n| creating table | 0.000056 | 0.000028 | 0.000028 |\n| After create | 0.011363 | 0.000217 | 0.001571 |\n| query end | 0.000375 | 0.000013 | 0.000028 |\n| freeing items | 0.000089 | 0.000010 | 0.000014 |\n| logging slow query | 0.000019 | 0.000009 | 0.000010 |\n| cleaning up | 0.000005 | 0.000003 | 0.000002 |\n+----------------------+----------+----------+------------+\n7 rows in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.5/en/show-profile.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (250,3,'LN','Syntax:\nLN(X)\n\nReturns the natural logarithm of X; that is, the base-e logarithm of X.\nIf X is less than or equal to 0, then NULL is returned.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT LN(2);\n -> 0.69314718055995\nmysql> SELECT LN(-2);\n -> NULL\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (251,24,'RETURN','Syntax:\nRETURN expr\n\nThe RETURN statement terminates execution of a stored function and\nreturns the value expr to the function caller. There must be at least\none RETURN statement in a stored function. There may be more than one\nif the function has multiple exit points.\n\nThis statement is not used in stored procedures, triggers, or events.\nThe LEAVE statement can be used to exit a stored program of those\ntypes.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/return.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/return.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (252,8,'SET SQL_LOG_BIN','Syntax:\nSET sql_log_bin = {0|1}\n\nThe sql_log_bin variable controls whether logging to the binary log is\ndone. The default value is 1 (do logging). To change logging for the\ncurrent session, change the session value of this variable. The session\nuser must have the SUPER privilege to set this variable. Set this\nvariable to 0 for a session to temporarily disable binary logging while\nmaking changes to the master which you do not want to replicate to the\nslave.\n\nAs of MySQL 5.5, sql_log_bin can be set as a global or session\nvariable. Setting sql_log_bin globally is only detected when a new\nsession is started. Any sessions previously running are not impacted\nwhen setting sql_log_bin globally.\n\n*Warning*: Incorrect use of sql_log_bin with a global scope means any\nchanges made in an already running session are still being recorded to\nthe binary log and therefore replicated. Exercise extreme caution using\nsql_log_bin with a global scope as the above situation could cause\nunexpected results including replication failure.\n\nBeginning with MySQL 5.5.5, it is no longer possible to set\n@@session.sql_log_bin within a transaction or subquery. (Bug #53437)\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/set-sql-log-bin.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/set-sql-log-bin.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (253,12,'AES_DECRYPT','Syntax:\nAES_DECRYPT(crypt_str,key_str)\n\nThis function decrypts data using the official AES (Advanced Encryption\nStandard) algorithm. For more information, see the description of\nAES_ENCRYPT().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (254,17,'COERCIBILITY','Syntax:\nCOERCIBILITY(str)\n\nReturns the collation coercibility value of the string argument.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','mysql> SELECT COERCIBILITY(\'abc\' COLLATE latin1_swedish_ci);\n -> 0\nmysql> SELECT COERCIBILITY(USER());\n -> 3\nmysql> SELECT COERCIBILITY(\'abc\');\n -> 4\n','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (255,23,'INT','INT[(M)] [UNSIGNED] [ZEROFILL]\n\nA normal-size integer. The signed range is -2147483648 to 2147483647.\nThe unsigned range is 0 to 4294967295.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (256,13,'GLENGTH','GLength(ls)\n\nReturns a double-precision number indicating the length of the\nLineString value ls in its associated spatial reference.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-linestring-property-functions.html\n\n','mysql> SET @ls = \'LineString(1 1,2 2,3 3)\';\nmysql> SELECT GLength(GeomFromText(@ls));\n+----------------------------+\n| GLength(GeomFromText(@ls)) |\n+----------------------------+\n| 2.8284271247462 |\n+----------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-linestring-property-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (257,38,'MAKE_SET','Syntax:\nMAKE_SET(bits,str1,str2,...)\n\nReturns a set value (a string containing substrings separated by ","\ncharacters) consisting of the strings that have the corresponding bit\nin bits set. str1 corresponds to bit 0, str2 to bit 1, and so on. NULL\nvalues in str1, str2, ... are not appended to the result.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT MAKE_SET(1,\'a\',\'b\',\'c\');\n -> \'a\'\nmysql> SELECT MAKE_SET(1 | 4,\'hello\',\'nice\',\'world\');\n -> \'hello,world\'\nmysql> SELECT MAKE_SET(1 | 4,\'hello\',\'nice\',NULL,\'world\');\n -> \'hello\'\nmysql> SELECT MAKE_SET(0,\'a\',\'b\',\'c\');\n -> \'\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (258,38,'FIND_IN_SET','Syntax:\nFIND_IN_SET(str,strlist)\n\nReturns a value in the range of 1 to N if the string str is in the\nstring list strlist consisting of N substrings. A string list is a\nstring composed of substrings separated by "," characters. If the first\nargument is a constant string and the second is a column of type SET,\nthe FIND_IN_SET() function is optimized to use bit arithmetic. Returns\n0 if str is not in strlist or if strlist is the empty string. Returns\nNULL if either argument is NULL. This function does not work properly\nif the first argument contains a comma (",") character.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT FIND_IN_SET(\'b\',\'a,b,c,d\');\n -> 2\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (259,16,'MIN','Syntax:\nMIN([DISTINCT] expr)\n\nReturns the minimum value of expr. MIN() may take a string argument; in\nsuch cases, it returns the minimum string value. See\nhttp://dev.mysql.com/doc/refman/5.5/en/mysql-indexes.html. The DISTINCT\nkeyword can be used to find the minimum of the distinct values of expr,\nhowever, this produces the same result as omitting DISTINCT.\n\nMIN() returns NULL if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','mysql> SELECT student_name, MIN(test_score), MAX(test_score)\n -> FROM student\n -> GROUP BY student_name;\n','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (260,28,'REPLACE','Syntax:\nREPLACE [LOW_PRIORITY | DELAYED]\n [INTO] tbl_name [(col_name,...)]\n {VALUES | VALUE} ({expr | DEFAULT},...),(...),...\n\nOr:\n\nREPLACE [LOW_PRIORITY | DELAYED]\n [INTO] tbl_name\n SET col_name={expr | DEFAULT}, ...\n\nOr:\n\nREPLACE [LOW_PRIORITY | DELAYED]\n [INTO] tbl_name [(col_name,...)]\n SELECT ...\n\nREPLACE works exactly like INSERT, except that if an old row in the\ntable has the same value as a new row for a PRIMARY KEY or a UNIQUE\nindex, the old row is deleted before the new row is inserted. See [HELP\nINSERT].\n\nREPLACE is a MySQL extension to the SQL standard. It either inserts, or\ndeletes and inserts. For another MySQL extension to standard SQL---that\neither inserts or updates---see\nhttp://dev.mysql.com/doc/refman/5.5/en/insert-on-duplicate.html.\n\nNote that unless the table has a PRIMARY KEY or UNIQUE index, using a\nREPLACE statement makes no sense. It becomes equivalent to INSERT,\nbecause there is no index to be used to determine whether a new row\nduplicates another.\n\nValues for all columns are taken from the values specified in the\nREPLACE statement. Any missing columns are set to their default values,\njust as happens for INSERT. You cannot refer to values from the current\nrow and use them in the new row. If you use an assignment such as SET\ncol_name = col_name + 1, the reference to the column name on the right\nhand side is treated as DEFAULT(col_name), so the assignment is\nequivalent to SET col_name = DEFAULT(col_name) + 1.\n\nTo use REPLACE, you must have both the INSERT and DELETE privileges for\nthe table.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/replace.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/replace.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (261,32,'CURRENT_TIMESTAMP','Syntax:\nCURRENT_TIMESTAMP, CURRENT_TIMESTAMP()\n\nCURRENT_TIMESTAMP and CURRENT_TIMESTAMP() are synonyms for NOW().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (262,16,'VAR_SAMP','Syntax:\nVAR_SAMP(expr)\n\nReturns the sample variance of expr. That is, the denominator is the\nnumber of rows minus one.\n\nVAR_SAMP() returns NULL if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (263,23,'DATETIME','DATETIME\n\nA date and time combination. The supported range is \'1000-01-01\n00:00:00\' to \'9999-12-31 23:59:59\'. MySQL displays DATETIME values in\n\'YYYY-MM-DD HH:MM:SS\' format, but permits assignment of values to\nDATETIME columns using either strings or numbers.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (264,23,'INTEGER','INTEGER[(M)] [UNSIGNED] [ZEROFILL]\n\nThis type is a synonym for INT.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (265,27,'SHOW COLUMNS','Syntax:\nSHOW [FULL] COLUMNS {FROM | IN} tbl_name [{FROM | IN} db_name]\n [LIKE \'pattern\' | WHERE expr]\n\nSHOW COLUMNS displays information about the columns in a given table.\nIt also works for views. The LIKE clause, if present, indicates which\ncolumn names to match. The WHERE clause can be given to select rows\nusing more general conditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.5/en/extended-show.html.\n\nSHOW COLUMNS displays information only for those columns for which you\nhave some privilege.\n\nmysql> SHOW COLUMNS FROM City;\n+------------+----------+------+-----+---------+----------------+\n| Field | Type | Null | Key | Default | Extra |\n+------------+----------+------+-----+---------+----------------+\n| Id | int(11) | NO | PRI | NULL | auto_increment |\n| Name | char(35) | NO | | | |\n| Country | char(3) | NO | UNI | | |\n| District | char(20) | YES | MUL | | |\n| Population | int(11) | NO | | 0 | |\n+------------+----------+------+-----+---------+----------------+\n5 rows in set (0.00 sec)\n\nIf the data types differ from what you expect them to be based on a\nCREATE TABLE statement, note that MySQL sometimes changes data types\nwhen you create or alter a table. The conditions under which this\noccurs are described in\nhttp://dev.mysql.com/doc/refman/5.5/en/silent-column-changes.html.\n\nThe FULL keyword causes the output to include the column collation and\ncomments, as well as the privileges you have for each column.\n\nYou can use db_name.tbl_name as an alternative to the tbl_name FROM\ndb_name syntax. In other words, these two statements are equivalent:\n\nmysql> SHOW COLUMNS FROM mytable FROM mydb;\nmysql> SHOW COLUMNS FROM mydb.mytable;\n\nSHOW COLUMNS displays the following values for each table column:\n\nField indicates the column name.\n\nType indicates the column data type.\n\nCollation indicates the collation for nonbinary string columns, or NULL\nfor other columns. This value is displayed only if you use the FULL\nkeyword.\n\nThe Null field contains YES if NULL values can be stored in the column,\nNO if not.\n\nThe Key field indicates whether the column is indexed:\n\no If Key is empty, the column either is not indexed or is indexed only\n as a secondary column in a multiple-column, nonunique index.\n\no If Key is PRI, the column is a PRIMARY KEY or is one of the columns\n in a multiple-column PRIMARY KEY.\n\no If Key is UNI, the column is the first column of a UNIQUE index. (A\n UNIQUE index permits multiple NULL values, but you can tell whether\n the column permits NULL by checking the Null field.)\n\no If Key is MUL, the column is the first column of a nonunique index in\n which multiple occurrences of a given value are permitted within the\n column.\n\nIf more than one of the Key values applies to a given column of a\ntable, Key displays the one with the highest priority, in the order\nPRI, UNI, MUL.\n\nA UNIQUE index may be displayed as PRI if it cannot contain NULL values\nand there is no PRIMARY KEY in the table. A UNIQUE index may display as\nMUL if several columns form a composite UNIQUE index; although the\ncombination of the columns is unique, each column can still hold\nmultiple occurrences of a given value.\n\nThe Default field indicates the default value that is assigned to the\ncolumn. This is NULL if the column has an explicit default of NULL, or\nif the column definition has no DEFAULT clause.\n\nThe Extra field contains any additional information that is available\nabout a given column. The value is nonempty in these cases:\nauto_increment for columns that have the AUTO_INCREMENT attribute; on\nupdate CURRENT_TIMESTAMP for TIMESTAMP columns that have the ON UPDATE\nCURRENT_TIMESTAMP attribute.\n\nPrivileges indicates the privileges you have for the column. This value\nis displayed only if you use the FULL keyword.\n\nComment indicates any comment the column has. This value is displayed\nonly if you use the FULL keyword.\n\nSHOW FIELDS is a synonym for SHOW COLUMNS. You can also list a table\'s\ncolumns with the mysqlshow db_name tbl_name command.\n\nThe DESCRIBE statement provides information similar to SHOW COLUMNS.\nSee http://dev.mysql.com/doc/refman/5.5/en/describe.html.\n\nThe SHOW CREATE TABLE, SHOW TABLE STATUS, and SHOW INDEX statements\nalso provide information about tables. See [HELP SHOW].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-columns.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-columns.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (266,23,'TINYINT','TINYINT[(M)] [UNSIGNED] [ZEROFILL]\n\nA very small integer. The signed range is -128 to 127. The unsigned\nrange is 0 to 255.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (267,14,'MASTER_POS_WAIT','Syntax:\nMASTER_POS_WAIT(log_name,log_pos[,timeout])\n\nThis function is useful for control of master/slave synchronization. It\nblocks until the slave has read and applied all updates up to the\nspecified position in the master log. The return value is the number of\nlog events the slave had to wait for to advance to the specified\nposition. The function returns NULL if the slave SQL thread is not\nstarted, the slave\'s master information is not initialized, the\narguments are incorrect, or an error occurs. It returns -1 if the\ntimeout has been exceeded. If the slave SQL thread stops while\nMASTER_POS_WAIT() is waiting, the function returns NULL. If the slave\nis past the specified position, the function returns immediately.\n\nIf a timeout value is specified, MASTER_POS_WAIT() stops waiting when\ntimeout seconds have elapsed. timeout must be greater than 0; a zero or\nnegative timeout means no timeout.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (268,19,'^','Syntax:\n^\n\nBitwise XOR:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html\n\n','mysql> SELECT 1 ^ 1;\n -> 0\nmysql> SELECT 1 ^ 0;\n -> 1\nmysql> SELECT 11 ^ 3;\n -> 8\n','http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (269,40,'DROP VIEW','Syntax:\nDROP VIEW [IF EXISTS]\n view_name [, view_name] ...\n [RESTRICT | CASCADE]\n\nDROP VIEW removes one or more views. You must have the DROP privilege\nfor each view. If any of the views named in the argument list do not\nexist, MySQL returns an error indicating by name which nonexisting\nviews it was unable to drop, but it also drops all of the views in the\nlist that do exist.\n\nThe IF EXISTS clause prevents an error from occurring for views that\ndon\'t exist. When this clause is given, a NOTE is generated for each\nnonexistent view. See [HELP SHOW WARNINGS].\n\nRESTRICT and CASCADE, if given, are parsed and ignored.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/drop-view.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/drop-view.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (270,32,'WEEK','Syntax:\nWEEK(date[,mode])\n\nThis function returns the week number for date. The two-argument form\nof WEEK() enables you to specify whether the week starts on Sunday or\nMonday and whether the return value should be in the range from 0 to 53\nor from 1 to 53. If the mode argument is omitted, the value of the\ndefault_week_format system variable is used. See\nhttp://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT WEEK(\'2008-02-20\');\n -> 7\nmysql> SELECT WEEK(\'2008-02-20\',0);\n -> 7\nmysql> SELECT WEEK(\'2008-02-20\',1);\n -> 8\nmysql> SELECT WEEK(\'2008-12-31\',1);\n -> 53\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (271,22,'DROP FUNCTION UDF','Syntax:\nDROP FUNCTION function_name\n\nThis statement drops the user-defined function (UDF) named\nfunction_name.\n\nTo drop a function, you must have the DELETE privilege for the mysql\ndatabase. This is because DROP FUNCTION removes a row from the\nmysql.func system table that records the function\'s name, type, and\nshared library name.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/drop-function-udf.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/drop-function-udf.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (272,38,'UPDATEXML','Syntax:\nUpdateXML(xml_target, xpath_expr, new_xml)\n\nThis function replaces a single portion of a given fragment of XML\nmarkup xml_target with a new XML fragment new_xml, and then returns the\nchanged XML. The portion of xml_target that is replaced matches an\nXPath expression xpath_expr supplied by the user. In MySQL 5.5, the\nXPath expression can contain at most 127 characters. (This limitation\nis lifted in MySQL 5.6.)\n\nIf no expression matching xpath_expr is found, or if multiple matches\nare found, the function returns the original xml_target XML fragment.\nAll three arguments should be strings.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/xml-functions.html\n\n','mysql> SELECT\n -> UpdateXML(\'ccc\', \'/a\', \'fff\') AS val1,\n -> UpdateXML(\'ccc\', \'/b\', \'fff\') AS val2,\n -> UpdateXML(\'ccc\', \'//b\', \'fff\') AS val3,\n -> UpdateXML(\'ccc\', \'/a/d\', \'fff\') AS val4,\n -> UpdateXML(\'ccc\', \'/a/d\', \'fff\') AS val5\n -> \\G\n\n*************************** 1. row ***************************\nval1: fff\nval2: ccc\nval3: fff\nval4: cccfff\nval5: ccc\n','http://dev.mysql.com/doc/refman/5.5/en/xml-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (273,8,'RESET SLAVE','Syntax:\nRESET SLAVE [ALL]\n\nRESET SLAVE makes the slave forget its replication position in the\nmaster\'s binary log. This statement is meant to be used for a clean\nstart: It deletes the master.info and relay-log.info files, all the\nrelay log files, and starts a new relay log file. To use RESET SLAVE,\nthe slave replication threads must be stopped (use STOP SLAVE if\nnecessary).\n\n*Note*: All relay log files are deleted, even if they have not been\ncompletely executed by the slave SQL thread. (This is a condition\nlikely to exist on a replication slave if you have issued a STOP SLAVE\nstatement or if the slave is highly loaded.)\n\nIn MySQL 5.5 (unlike the case in MySQL 5.1 and earlier), RESET SLAVE\ndoes not change any replication connection parameters such as master\nhost, master port, master user, or master password, which are retained\nin memory. This means that START SLAVE can be issued without requiring\na CHANGE MASTER TO statement following RESET SLAVE.\n\nConnection parameters are reset if the slave mysqld is shut down\nfollowing RESET SLAVE. In MySQL 5.5.16 and later, you can instead use\nRESET SLAVE ALL to reset these connection parameters (Bug #11809016).\n\nRESET SLAVE ALL does not clear the IGNORE_SERVER_IDS list set by CHANGE\nMASTER TO. This issue is fixed in MySQL 5.7. (Bug #18816897)\n\nIf the slave SQL thread was in the middle of replicating temporary\ntables when it was stopped, and RESET SLAVE is issued, these replicated\ntemporary tables are deleted on the slave.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/reset-slave.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/reset-slave.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (274,32,'DAY','Syntax:\nDAY(date)\n\nDAY() is a synonym for DAYOFMONTH().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (275,14,'UUID','Syntax:\nUUID()\n\nReturns a Universal Unique Identifier (UUID) generated according to\n"DCE 1.1: Remote Procedure Call" (Appendix A) CAE (Common Applications\nEnvironment) Specifications published by The Open Group in October 1997\n(Document Number C706,\nhttp://www.opengroup.org/public/pubs/catalog/c706.htm).\n\nA UUID is designed as a number that is globally unique in space and\ntime. Two calls to UUID() are expected to generate two different\nvalues, even if these calls are performed on two separate computers\nthat are not connected to each other.\n\nA UUID is a 128-bit number represented by a utf8 string of five\nhexadecimal numbers in aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee format:\n\no The first three numbers are generated from a timestamp.\n\no The fourth number preserves temporal uniqueness in case the timestamp\n value loses monotonicity (for example, due to daylight saving time).\n\no The fifth number is an IEEE 802 node number that provides spatial\n uniqueness. A random number is substituted if the latter is not\n available (for example, because the host computer has no Ethernet\n card, or we do not know how to find the hardware address of an\n interface on your operating system). In this case, spatial uniqueness\n cannot be guaranteed. Nevertheless, a collision should have very low\n probability.\n\n Currently, the MAC address of an interface is taken into account only\n on FreeBSD and Linux. On other operating systems, MySQL uses a\n randomly generated 48-bit number.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html\n\n','mysql> SELECT UUID();\n -> \'6ccd780c-baba-1026-9564-0040f4311e29\'\n','http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (276,25,'LINESTRING','LineString(pt1,pt2,...)\n\nConstructs a LineString value from a number of Point or WKB Point\narguments. If the number of arguments is less than two, the return\nvalue is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (277,14,'SLEEP','Syntax:\nSLEEP(duration)\n\nSleeps (pauses) for the number of seconds given by the duration\nargument, then returns 0. If SLEEP() is interrupted, it returns 1. The\nduration may have a fractional part.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (278,40,'CREATE LOGFILE GROUP','Syntax:\nCREATE LOGFILE GROUP logfile_group\n ADD UNDOFILE \'undo_file\'\n [INITIAL_SIZE [=] initial_size]\n [UNDO_BUFFER_SIZE [=] undo_buffer_size]\n [REDO_BUFFER_SIZE [=] redo_buffer_size]\n [NODEGROUP [=] nodegroup_id]\n [WAIT]\n [COMMENT [=] comment_text]\n ENGINE [=] engine_name\n\nThis statement creates a new log file group named logfile_group having\na single UNDO file named \'undo_file\'. A CREATE LOGFILE GROUP statement\nhas one and only one ADD UNDOFILE clause. For rules covering the naming\nof log file groups, see\nhttp://dev.mysql.com/doc/refman/5.5/en/identifiers.html.\n\n*Note*: All MySQL Cluster Disk Data objects share the same namespace.\nThis means that each Disk Data object must be uniquely named (and not\nmerely each Disk Data object of a given type). For example, you cannot\nhave a tablespace and a log file group with the same name, or a\ntablespace and a data file with the same name.\n\nIn MySQL Cluster NDB 7.2, you can have only one log file group per\nCluster at any given time. (See Bug #16386)\n\nThe optional INITIAL_SIZE parameter sets the UNDO file\'s initial size;\nif not specified, it defaults to 128M (128 megabytes). The optional\nUNDO_BUFFER_SIZE parameter sets the size used by the UNDO buffer for\nthe log file group; The default value for UNDO_BUFFER_SIZE is 8M (eight\nmegabytes); this value cannot exceed the amount of system memory\navailable. Both of these parameters are specified in bytes. In MySQL\nCluster NDB 7.2.14 and later, you may optionally follow either or both\nof these with a one-letter abbreviation for an order of magnitude,\nsimilar to those used in my.cnf. Generally, this is one of the letters\nM (for megabytes) or G (for gigabytes). Prior to MySQL Cluster NDB\n7.2.14, the values for these options could only be specified using\ndigits. (Bug #13116514, Bug #16104705, Bug #62858)\n\nThe memory used for both INITIAL_SIZE and UNDO_BUFFER_SIZE comes from\nthe global pool whose size is determined by the value of the\nSharedGlobalMemory data node configuration parameter. This includes any\ndefault value implied for these options by the setting of the\nInitialLogFileGroup data node configuration parameter.\n\nThe maximum permitted for UNDO_BUFFER_SIZE is 629145600 (600 MB).\n\nOn 32-bit systems, the maximum supported value for INITIAL_SIZE is\n4294967296 (4 GB). (Bug #29186)\n\nThe minimum allowed value for INITIAL_SIZE is 1048576 (1 MB).\n\nThe ENGINE option determines the storage engine to be used by this log\nfile group, with engine_name being the name of the storage engine. In\nMySQL 5.5, this must be NDB (or NDBCLUSTER). If ENGINE is not set,\nMySQL tries to use the engine specified by the default_storage_engine\nserver system variable (formerly storage_engine). In any case, if the\nengine is not specified as NDB or NDBCLUSTER, the CREATE LOGFILE GROUP\nstatement appears to succeed but actually fails to create the log file\ngroup, as shown here:\n\nmysql> CREATE LOGFILE GROUP lg1 \n -> ADD UNDOFILE \'undo.dat\' INITIAL_SIZE = 10M;\nQuery OK, 0 rows affected, 1 warning (0.00 sec)\n\nmysql> SHOW WARNINGS;\n+-------+------+------------------------------------------------------------------------------------------------+\n| Level | Code | Message |\n+-------+------+------------------------------------------------------------------------------------------------+\n| Error | 1478 | Table storage engine \'InnoDB\' does not support the create option \'TABLESPACE or LOGFILE GROUP\' |\n+-------+------+------------------------------------------------------------------------------------------------+\n1 row in set (0.00 sec)\n\nmysql> DROP LOGFILE GROUP lg1 ENGINE = NDB; \nERROR 1529 (HY000): Failed to drop LOGFILE GROUP\n\nmysql> CREATE LOGFILE GROUP lg1 \n -> ADD UNDOFILE \'undo.dat\' INITIAL_SIZE = 10M\n -> ENGINE = NDB;\nQuery OK, 0 rows affected (2.97 sec)\n\nThe fact that the CREATE LOGFILE GROUP statement does not actually\nreturn an error when a non-NDB storage engine is named, but rather\nappears to succeed, is a known issue which we hope to address in a\nfuture release of MySQL Cluster.\n\nREDO_BUFFER_SIZE, NODEGROUP, WAIT, and COMMENT are parsed but ignored,\nand so have no effect in MySQL 5.5. These options are intended for\nfuture expansion.\n\nWhen used with ENGINE [=] NDB, a log file group and associated UNDO log\nfile are created on each Cluster data node. You can verify that the\nUNDO files were created and obtain information about them by querying\nthe INFORMATION_SCHEMA.FILES table. For example:\n\nmysql> SELECT LOGFILE_GROUP_NAME, LOGFILE_GROUP_NUMBER, EXTRA\n -> FROM INFORMATION_SCHEMA.FILES\n -> WHERE FILE_NAME = \'undo_10.dat\';\n+--------------------+----------------------+----------------+\n| LOGFILE_GROUP_NAME | LOGFILE_GROUP_NUMBER | EXTRA |\n+--------------------+----------------------+----------------+\n| lg_3 | 11 | CLUSTER_NODE=3 |\n| lg_3 | 11 | CLUSTER_NODE=4 |\n+--------------------+----------------------+----------------+\n2 rows in set (0.06 sec)\n\nCREATE LOGFILE GROUP is useful only with Disk Data storage for MySQL\nCluster. See\nhttp://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-disk-data.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-logfile-group.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/create-logfile-group.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (279,6,'NULLIF','Syntax:\nNULLIF(expr1,expr2)\n\nReturns NULL if expr1 = expr2 is true, otherwise returns expr1. This is\nthe same as CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/control-flow-functions.html\n\n','mysql> SELECT NULLIF(1,1);\n -> NULL\nmysql> SELECT NULLIF(1,2);\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/control-flow-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (280,3,'ROUND','Syntax:\nROUND(X), ROUND(X,D)\n\nRounds the argument X to D decimal places. The rounding algorithm\ndepends on the data type of X. D defaults to 0 if not specified. D can\nbe negative to cause D digits left of the decimal point of the value X\nto become zero.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT ROUND(-1.23);\n -> -1\nmysql> SELECT ROUND(-1.58);\n -> -2\nmysql> SELECT ROUND(1.58);\n -> 2\nmysql> SELECT ROUND(1.298, 1);\n -> 1.3\nmysql> SELECT ROUND(1.298, 0);\n -> 1\nmysql> SELECT ROUND(23.298, -1);\n -> 20\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (281,32,'TIMEDIFF','Syntax:\nTIMEDIFF(expr1,expr2)\n\nTIMEDIFF() returns expr1 - expr2 expressed as a time value. expr1 and\nexpr2 are time or date-and-time expressions, but both must be of the\nsame type.\n\nThe result returned by TIMEDIFF() is limited to the range allowed for\nTIME values. Alternatively, you can use either of the functions\nTIMESTAMPDIFF() and UNIX_TIMESTAMP(), both of which return integers.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT TIMEDIFF(\'2000:01:01 00:00:00\',\n -> \'2000:01:01 00:00:00.000001\');\n -> \'-00:00:00.000001\'\nmysql> SELECT TIMEDIFF(\'2008-12-31 23:59:59.000001\',\n -> \'2008-12-30 01:01:01.000002\');\n -> \'46:58:57.999999\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (282,8,'STOP SLAVE','Syntax:\nSTOP SLAVE [thread_types]\n\nthread_types:\n [thread_type [, thread_type] ... ]\n\nthread_type: IO_THREAD | SQL_THREAD\n\nStops the slave threads. STOP SLAVE requires the SUPER privilege.\nRecommended best practice is to execute STOP SLAVE on the slave before\nstopping the slave server (see\nhttp://dev.mysql.com/doc/refman/5.5/en/server-shutdown.html, for more\ninformation).\n\nWhen using the row-based logging format: You should execute STOP SLAVE\non the slave prior to shutting down the slave server if you are\nreplicating any tables that use a nontransactional storage engine (see\nthe Note later in this section). In MySQL 5.5.9 and later, you can also\nuse STOP SLAVE SQL_THREAD for this purpose.\n\nLike START SLAVE, this statement may be used with the IO_THREAD and\nSQL_THREAD options to name the thread or threads to be stopped.\n\n*Note*: In MySQL 5.5, STOP SLAVE waits until the current replication\nevent group affecting one or more nontransactional tables has finished\nexecuting (if there is any such replication group), or until the user\nissues a KILL QUERY or KILL CONNECTION statement. (Bug #319, Bug\n#38205)\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/stop-slave.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/stop-slave.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (283,4,'LINEFROMTEXT','LineFromText(wkt[,srid]), LineStringFromText(wkt[,srid])\n\nConstructs a LineString value using its WKT representation and SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (284,32,'ADDTIME','Syntax:\nADDTIME(expr1,expr2)\n\nADDTIME() adds expr2 to expr1 and returns the result. expr1 is a time\nor datetime expression, and expr2 is a time expression.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT ADDTIME(\'2007-12-31 23:59:59.999999\', \'1 1:1:1.000002\');\n -> \'2008-01-02 01:01:01.000001\'\nmysql> SELECT ADDTIME(\'01:00:00.999999\', \'02:00:00.999998\');\n -> \'03:00:01.999997\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (285,38,'UPPER','Syntax:\nUPPER(str)\n\nReturns the string str with all characters changed to uppercase\naccording to the current character set mapping. The default is latin1\n(cp1252 West European).\n\nmysql> SELECT UPPER(\'Hej\');\n -> \'HEJ\'\n\nSee the description of LOWER() for information that also applies to\nUPPER(), such as information about how to perform lettercase conversion\nof binary strings (BINARY, VARBINARY, BLOB) for which these functions\nare ineffective.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (286,23,'MEDIUMBLOB','MEDIUMBLOB\n\nA BLOB column with a maximum length of 16,777,215 (224 - 1) bytes. Each\nMEDIUMBLOB value is stored using a 3-byte length prefix that indicates\nthe number of bytes in the value.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (287,32,'FROM_UNIXTIME','Syntax:\nFROM_UNIXTIME(unix_timestamp), FROM_UNIXTIME(unix_timestamp,format)\n\nReturns a representation of the unix_timestamp argument as a value in\n\'YYYY-MM-DD HH:MM:SS\' or YYYYMMDDHHMMSS.uuuuuu format, depending on\nwhether the function is used in a string or numeric context. The value\nis expressed in the current time zone. unix_timestamp is an internal\ntimestamp value such as is produced by the UNIX_TIMESTAMP() function.\n\nIf format is given, the result is formatted according to the format\nstring, which is used the same way as listed in the entry for the\nDATE_FORMAT() function.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT FROM_UNIXTIME(1196440219);\n -> \'2007-11-30 10:30:19\'\nmysql> SELECT FROM_UNIXTIME(1196440219) + 0;\n -> 20071130103019.000000\nmysql> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(),\n -> \'%Y %D %M %h:%i:%s %x\');\n -> \'2007 30th November 10:30:59 2007\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (288,12,'SHA2','Syntax:\nSHA2(str, hash_length)\n\nCalculates the SHA-2 family of hash functions (SHA-224, SHA-256,\nSHA-384, and SHA-512). The first argument is the cleartext string to be\nhashed. The second argument indicates the desired bit length of the\nresult, which must have a value of 224, 256, 384, 512, or 0 (which is\nequivalent to 256). If either argument is NULL or the hash length is\nnot one of the permitted values, the return value is NULL. Otherwise,\nthe function result is a hash value containing the desired number of\nbits. See the notes at the beginning of this section about storing hash\nvalues efficiently.\n\nAs of MySQL 5.5.6, the return value is a nonbinary string in the\nconnection character set. Before 5.5.6, the return value is a binary\nstring; see the notes at the beginning of this section about using the\nvalue as a nonbinary string.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','mysql> SELECT SHA2(\'abc\', 224);\n -> \'23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7\'\n','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (289,6,'IFNULL','Syntax:\nIFNULL(expr1,expr2)\n\nIf expr1 is not NULL, IFNULL() returns expr1; otherwise it returns\nexpr2. IFNULL() returns a numeric or string value, depending on the\ncontext in which it is used.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/control-flow-functions.html\n\n','mysql> SELECT IFNULL(1,0);\n -> 1\nmysql> SELECT IFNULL(NULL,10);\n -> 10\nmysql> SELECT IFNULL(1/0,10);\n -> 10\nmysql> SELECT IFNULL(1/0,\'yes\');\n -> \'yes\'\n','http://dev.mysql.com/doc/refman/5.5/en/control-flow-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (290,27,'SHOW FUNCTION CODE','Syntax:\nSHOW FUNCTION CODE func_name\n\nThis statement is similar to SHOW PROCEDURE CODE but for stored\nfunctions. See [HELP SHOW PROCEDURE CODE].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-function-code.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-function-code.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (291,20,'LEAST','Syntax:\nLEAST(value1,value2,...)\n\nWith two or more arguments, returns the smallest (minimum-valued)\nargument. The arguments are compared using the following rules:\n\no If any argument is NULL, the result is NULL. No comparison is needed.\n\no If the return value is used in an INTEGER context or all arguments\n are integer-valued, they are compared as integers.\n\no If the return value is used in a REAL context or all arguments are\n real-valued, they are compared as reals.\n\no If the arguments comprise a mix of numbers and strings, they are\n compared as numbers.\n\no If any argument is a nonbinary (character) string, the arguments are\n compared as nonbinary strings.\n\no In all other cases, the arguments are compared as binary strings.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT LEAST(2,0);\n -> 0\nmysql> SELECT LEAST(34.0,3.0,5.0,767.0);\n -> 3.0\nmysql> SELECT LEAST(\'B\',\'A\',\'C\');\n -> \'A\'\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (292,27,'SHOW ERRORS','Syntax:\nSHOW ERRORS [LIMIT [offset,] row_count]\nSHOW COUNT(*) ERRORS\n\nSHOW ERRORS is a diagnostic statement that is similar to SHOW WARNINGS,\nexcept that it displays information only for errors, rather than for\nerrors, warnings, and notes.\n\nThe LIMIT clause has the same syntax as for the SELECT statement. See\nhttp://dev.mysql.com/doc/refman/5.5/en/select.html.\n\nThe SHOW COUNT(*) ERRORS statement displays the number of errors. You\ncan also retrieve this number from the error_count variable:\n\nSHOW COUNT(*) ERRORS;\nSELECT @@error_count;\n\nSHOW ERRORS and error_count apply only to errors, not warnings or\nnotes. In other respects, they are similar to SHOW WARNINGS and\nwarning_count. In particular, SHOW ERRORS cannot display information\nfor more than max_error_count messages, and error_count can exceed the\nvalue of max_error_count if the number of errors exceeds\nmax_error_count.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-errors.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-errors.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (293,20,'=','=\n\nEqual:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT 1 = 0;\n -> 0\nmysql> SELECT \'0\' = 0;\n -> 1\nmysql> SELECT \'0.0\' = 0;\n -> 1\nmysql> SELECT \'0.01\' = 0;\n -> 0\nmysql> SELECT \'.01\' = 0.01;\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (294,37,'BOUNDARY','Boundary(g)\n\nReturns a geometry that is the closure of the combinatorial boundary of\nthe geometry value g.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (295,10,'CREATE USER','Syntax:\nCREATE USER user_specification [, user_specification] ...\n\nuser_specification:\n user\n [\n | IDENTIFIED WITH auth_plugin [AS \'auth_string\']\n IDENTIFIED BY [PASSWORD] \'password\'\n ]\n\nThe CREATE USER statement creates new MySQL accounts. An error occurs\nfor accounts that already exist. To use this statement, you must have\nthe global CREATE USER privilege or the INSERT privilege for the mysql\ndatabase. For each account, CREATE USER creates a new row in the\nmysql.user table with no privileges and (as of MySQL 5.5.7) assigns the\naccount an authentication plugin. Depending on the syntax used, CREATE\nUSER may also assign the account a password.\n\nEach user_specification clause consists of an account name and\ninformation about how authentication occurs for clients that use the\naccount. This part of CREATE USER syntax is shared with GRANT, so the\ndescription here applies to GRANT as well.\n\nEach account name uses the format described in\nhttp://dev.mysql.com/doc/refman/5.5/en/account-names.html. For example:\n\nCREATE USER \'jeffrey\'@\'localhost\' IDENTIFIED BY \'mypass\';\n\nIf you specify only the user name part of the account name, a host name\npart of \'%\' is used.\n\nThe server assigns an authentication plugin and password to each\naccount as follows, depending on whether the user specification clause\nincludes IDENTIFIED WITH to specify a plugin or IDENTIFIED BY to\nspecify a password:\n\n*Note*: IDENTIFIED WITH is available as of MySQL 5.5.7. Before 5.5.7,\nauthentication plugins are not used, so only the remarks about\nIDENTIFIED BY apply.\n\no With IDENTIFIED WITH, the server assigns the specified plugin and the\n account has no password.\n\no With IDENTIFIED BY, the server assigns no plugin and assigns the\n specified password.\n\no With neither IDENTIFIED WITH nor IDENTIFIED BY, the server assigns no\n plugin and the account has no password.\n\nIf the account has no password, the Password column in the account\'s\nmysql.user table row remains empty, which is insecure. To set the\npassword, use SET PASSWORD. See [HELP SET PASSWORD].\n\nIf the server assigns no plugin to the account, the plugin column in\nthe account\'s mysql.user table row remains empty.\n\nFor client connections that use a given account, the server invokes the\nauthentication plugin assigned to the account and the client must\nprovide credentials as required by the authentication method that the\nplugin implements. If the server cannot find the plugin, either at\naccount-creation time or connect time, an error occurs.\n\nIf an account\'s mysql.user table row has a nonempty plugin column:\n\no The server authenticates client connection attempts using the named\n plugin.\n\no Changes to the account password using SET PASSWORD with PASSWORD()\n must be made with the old_passwords system variable set to the value\n required by the authentication plugin, so that PASSWORD() uses the\n appropriate password hashing method. If the plugin is\n mysql_old_password, the password can also be changed using SET\n PASSWORD with OLD_PASSWORD(), which uses pre-4.1 password hashing\n regardless of the value of old_passwords.\n\nIf an account\'s mysql.user table row has an empty plugin column:\n\no The server authenticates client connection attempts using the\n mysql_native_password or mysql_old_password authentication plugin,\n depending on the hash format of the password stored in the Password\n column.\n\no Changes to the account password using SET PASSWORD can be made with\n PASSWORD(), with old_passwords set to 0 or 1 for 4.1 or pre-4.1\n password hashing, respectively, or with OLD_PASSWORD(), which uses\n pre-4.1 password hashing regardless of the value of old_passwords.\n\nCREATE USER examples:\n\no To specify an authentication plugin for an account, use IDENTIFIED\n WITH auth_plugin. The plugin name can be a quoted string literal or\n an unquoted name. \'auth_string\' is an optional quoted string literal\n to pass to the plugin. The plugin interprets the meaning of the\n string, so its format is plugin specific. Consult the documentation\n for a given plugin for information about the authentication string\n values it accepts, if any.\n\nCREATE USER \'jeffrey\'@\'localhost\' IDENTIFIED WITH mysql_native_password;\n\n The server assigns the given authentication plugin to the account but\n no password. Clients must provide no password when they connect.\n However, an account with no password is insecure. To ensure that an\n account uses a specific authentication plugin and has a password with\n the corresponding hash format, specify the plugin explicitly with\n IDENTIFIED WITH, then use SET PASSWORD to set the password:\n\nCREATE USER \'jeffrey\'@\'localhost\' IDENTIFIED WITH mysql_native_password;\nSET old_passwords = 0;\nSET PASSWORD FOR \'jeffrey\'@\'localhost\' = PASSWORD(\'mypass\');\n\n Changes to the account password using SET PASSWORD with PASSWORD()\n must be made with the old_passwords system variable set to the value\n required by the account\'s authentication plugin, so that PASSWORD()\n uses the appropriate password hashing method. Therefore, to use the\n mysql_old_password plugin instead, name that plugin in the CREATE\n USER statement and set old_passwords to 1 before using SET PASSWORD.\n\no To specify a password for an account at account-creation time, use\n IDENTIFIED BY with the literal plaintext password value:\n\nCREATE USER \'jeffrey\'@\'localhost\' IDENTIFIED BY \'mypass\';\n\n The server assigns the given password to the account but no\n authentication plugin. Clients must provide the password when they\n connect.\n\no To avoid specifying the plaintext password if you know its hash value\n (the value that PASSWORD() would return for the password), specify\n the hash value preceded by the keyword PASSWORD:\n\nCREATE USER \'jeffrey\'@\'localhost\'\nIDENTIFIED BY PASSWORD \'*90E462C37378CED12064BB3388827D2BA3A9B689\';\n\n The server assigns the given password to the account but no\n authentication plugin. Clients must provide the password when they\n connect.\n\no To enable the user to connect with no password, include no IDENTIFIED\n BY clause:\n\nCREATE USER \'jeffrey\'@\'localhost\';\n\n The server assigns no authentication plugin or password to the\n account. Clients must provide no password when they connect. However,\n an account with no password is insecure. To avoid this, use SET\n PASSWORD to set the account password.\n\nFor additional information about setting passwords and authentication\nplugins, see\nhttp://dev.mysql.com/doc/refman/5.5/en/assigning-passwords.html, and\nhttp://dev.mysql.com/doc/refman/5.5/en/pluggable-authentication.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-user.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/create-user.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (296,25,'POINT','Point(x,y)\n\nConstructs a Point using its coordinates.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (297,38,'LCASE','Syntax:\nLCASE(str)\n\nLCASE() is a synonym for LOWER().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (298,20,'IS NOT NULL','Syntax:\nIS NOT NULL\n\nTests whether a value is not NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT 1 IS NOT NULL, 0 IS NOT NULL, NULL IS NOT NULL;\n -> 1, 1, 0\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (299,38,'MATCH AGAINST','Syntax:\nMATCH (col1,col2,...) AGAINST (expr [search_modifier])\n\nMySQL has support for full-text indexing and searching:\n\no A full-text index in MySQL is an index of type FULLTEXT.\n\no Full-text indexes can be used only with MyISAM tables. (In MySQL 5.6\n and up, they can also be used with InnoDB tables.) Full-text indexes\n can be created only for CHAR, VARCHAR, or TEXT columns.\n\no A FULLTEXT index definition can be given in the CREATE TABLE\n statement when a table is created, or added later using ALTER TABLE\n or CREATE INDEX.\n\no For large data sets, it is much faster to load your data into a table\n that has no FULLTEXT index and then create the index after that, than\n to load data into a table that has an existing FULLTEXT index.\n\nFull-text searching is performed using MATCH() ... AGAINST syntax.\nMATCH() takes a comma-separated list that names the columns to be\nsearched. AGAINST takes a string to search for, and an optional\nmodifier that indicates what type of search to perform. The search\nstring must be a string value that is constant during query evaluation.\nThis rules out, for example, a table column because that can differ for\neach row.\n\nThere are three types of full-text searches:\n\no A natural language search interprets the search string as a phrase in\n natural human language (a phrase in free text). There are no special\n operators. The stopword list applies. In addition, words that are\n present in 50% or more of the rows are considered common and do not\n match.\n\n Full-text searches are natural language searches if the IN NATURAL\n LANGUAGE MODE modifier is given or if no modifier is given. For more\n information, see\n http://dev.mysql.com/doc/refman/5.5/en/fulltext-natural-language.html\n .\n\no A boolean search interprets the search string using the rules of a\n special query language. The string contains the words to search for.\n It can also contain operators that specify requirements such that a\n word must be present or absent in matching rows, or that it should be\n weighted higher or lower than usual. Common words such as "some" or\n "then" are stopwords and do not match if present in the search\n string. The IN BOOLEAN MODE modifier specifies a boolean search. For\n more information, see\n http://dev.mysql.com/doc/refman/5.5/en/fulltext-boolean.html.\n\no A query expansion search is a modification of a natural language\n search. The search string is used to perform a natural language\n search. Then words from the most relevant rows returned by the search\n are added to the search string and the search is done again. The\n query returns the rows from the second search. The IN NATURAL\n LANGUAGE MODE WITH QUERY EXPANSION or WITH QUERY EXPANSION modifier\n specifies a query expansion search. For more information, see\n http://dev.mysql.com/doc/refman/5.5/en/fulltext-query-expansion.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html\n\n','mysql> SELECT id, body, MATCH (title,body) AGAINST\n -> (\'Security implications of running MySQL as root\'\n -> IN NATURAL LANGUAGE MODE) AS score\n -> FROM articles WHERE MATCH (title,body) AGAINST\n -> (\'Security implications of running MySQL as root\'\n -> IN NATURAL LANGUAGE MODE);\n+----+-------------------------------------+-----------------+\n| id | body | score |\n+----+-------------------------------------+-----------------+\n| 4 | 1. Never run mysqld as root. 2. ... | 1.5219271183014 |\n| 6 | When configured properly, MySQL ... | 1.3114095926285 |\n+----+-------------------------------------+-----------------+\n2 rows in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (300,40,'CREATE EVENT','Syntax:\nCREATE\n [DEFINER = { user | CURRENT_USER }]\n EVENT\n [IF NOT EXISTS]\n event_name\n ON SCHEDULE schedule\n [ON COMPLETION [NOT] PRESERVE]\n [ENABLE | DISABLE | DISABLE ON SLAVE]\n [COMMENT \'comment\']\n DO event_body;\n\nschedule:\n AT timestamp [+ INTERVAL interval] ...\n | EVERY interval\n [STARTS timestamp [+ INTERVAL interval] ...]\n [ENDS timestamp [+ INTERVAL interval] ...]\n\ninterval:\n quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |\n WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |\n DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}\n\nThis statement creates and schedules a new event. The event will not\nrun unless the Event Scheduler is enabled. For information about\nchecking Event Scheduler status and enabling it if necessary, see\nhttp://dev.mysql.com/doc/refman/5.5/en/events-configuration.html.\n\nCREATE EVENT requires the EVENT privilege for the schema in which the\nevent is to be created. It might also require the SUPER privilege,\ndepending on the DEFINER value, as described later in this section.\n\nThe minimum requirements for a valid CREATE EVENT statement are as\nfollows:\n\no The keywords CREATE EVENT plus an event name, which uniquely\n identifies the event in a database schema.\n\no An ON SCHEDULE clause, which determines when and how often the event\n executes.\n\no A DO clause, which contains the SQL statement to be executed by an\n event.\n\nThis is an example of a minimal CREATE EVENT statement:\n\nCREATE EVENT myevent\n ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR\n DO\n UPDATE myschema.mytable SET mycol = mycol + 1;\n\nThe previous statement creates an event named myevent. This event\nexecutes once---one hour following its creation---by running an SQL\nstatement that increments the value of the myschema.mytable table\'s\nmycol column by 1.\n\nThe event_name must be a valid MySQL identifier with a maximum length\nof 64 characters. Event names are not case sensitive, so you cannot\nhave two events named myevent and MyEvent in the same schema. In\ngeneral, the rules governing event names are the same as those for\nnames of stored routines. See\nhttp://dev.mysql.com/doc/refman/5.5/en/identifiers.html.\n\nAn event is associated with a schema. If no schema is indicated as part\nof event_name, the default (current) schema is assumed. To create an\nevent in a specific schema, qualify the event name with a schema using\nschema_name.event_name syntax.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-event.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/create-event.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (301,7,'MBR DEFINITION','Its MBR (minimum bounding rectangle), or envelope. This is the bounding\ngeometry, formed by the minimum and maximum (X,Y) coordinates:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-class-geometry.html\n\n','((MINX MINY, MAXX MINY, MAXX MAXY, MINX MAXY, MINX MINY))\n','http://dev.mysql.com/doc/refman/5.5/en/gis-class-geometry.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (302,25,'GEOMETRYCOLLECTION','GeometryCollection(g1,g2,...)\n\nConstructs a GeometryCollection.\n\nIf the argument contains a nonsupported geometry, the return value is\nNULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-mysql-specific-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (303,3,'*','Syntax:\n*\n\nMultiplication:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html\n\n','mysql> SELECT 3*5;\n -> 15\nmysql> SELECT 18014398509481984*18014398509481984.0;\n -> 324518553658426726783156020576256.0\nmysql> SELECT 18014398509481984*18014398509481984;\n -> out-of-range error\n','http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (304,12,'DES_DECRYPT','Syntax:\nDES_DECRYPT(crypt_str[,key_str])\n\nDecrypts a string encrypted with DES_ENCRYPT(). If an error occurs,\nthis function returns NULL.\n\nThis function works only if MySQL has been configured with SSL support.\nSee http://dev.mysql.com/doc/refman/5.5/en/ssl-connections.html.\n\nIf no key_str argument is given, DES_DECRYPT() examines the first byte\nof the encrypted string to determine the DES key number that was used\nto encrypt the original string, and then reads the key from the DES key\nfile to decrypt the message. For this to work, the user must have the\nSUPER privilege. The key file can be specified with the --des-key-file\nserver option.\n\nIf you pass this function a key_str argument, that string is used as\nthe key for decrypting the message.\n\nIf the crypt_str argument does not appear to be an encrypted string,\nMySQL returns the given crypt_str.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (305,13,'ENDPOINT','EndPoint(ls)\n\nReturns the Point that is the endpoint of the LineString value ls.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-linestring-property-functions.html\n\n','mysql> SET @ls = \'LineString(1 1,2 2,3 3)\';\nmysql> SELECT AsText(EndPoint(GeomFromText(@ls)));\n+-------------------------------------+\n| AsText(EndPoint(GeomFromText(@ls))) |\n+-------------------------------------+\n| POINT(3 3) |\n+-------------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-linestring-property-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (306,16,'COUNT','Syntax:\nCOUNT(expr)\n\nReturns a count of the number of non-NULL values of expr in the rows\nretrieved by a SELECT statement. The result is a BIGINT value.\n\nCOUNT() returns 0 if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','mysql> SELECT student.student_name,COUNT(*)\n -> FROM student,course\n -> WHERE student.student_id=course.student_id\n -> GROUP BY student_name;\n','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (307,28,'INSERT','Syntax:\nINSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]\n [INTO] tbl_name [(col_name,...)]\n {VALUES | VALUE} ({expr | DEFAULT},...),(...),...\n [ ON DUPLICATE KEY UPDATE\n col_name=expr\n [, col_name=expr] ... ]\n\nOr:\n\nINSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]\n [INTO] tbl_name\n SET col_name={expr | DEFAULT}, ...\n [ ON DUPLICATE KEY UPDATE\n col_name=expr\n [, col_name=expr] ... ]\n\nOr:\n\nINSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]\n [INTO] tbl_name [(col_name,...)]\n SELECT ...\n [ ON DUPLICATE KEY UPDATE\n col_name=expr\n [, col_name=expr] ... ]\n\nINSERT inserts new rows into an existing table. The INSERT ... VALUES\nand INSERT ... SET forms of the statement insert rows based on\nexplicitly specified values. The INSERT ... SELECT form inserts rows\nselected from another table or tables. INSERT ... SELECT is discussed\nfurther in [HELP INSERT SELECT].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/insert.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/insert.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (308,4,'MLINEFROMTEXT','MLineFromText(wkt[,srid]), MultiLineStringFromText(wkt[,srid])\n\nConstructs a MultiLineString value using its WKT representation and\nSRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (309,33,'GEOMCOLLFROMWKB','GeomCollFromWKB(wkb[,srid]), GeometryCollectionFromWKB(wkb[,srid])\n\nConstructs a GeometryCollection value using its WKB representation and\nSRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (310,23,'TINYTEXT','TINYTEXT [CHARACTER SET charset_name] [COLLATE collation_name]\n\nA TEXT column with a maximum length of 255 (28 - 1) characters. The\neffective maximum length is less if the value contains multibyte\ncharacters. Each TINYTEXT value is stored using a 1-byte length prefix\nthat indicates the number of bytes in the value.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (311,14,'DEFAULT','Syntax:\nDEFAULT(col_name)\n\nReturns the default value for a table column. An error results if the\ncolumn has no default value.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html\n\n','mysql> UPDATE t SET i = DEFAULT(i)+1 WHERE id < 100;\n','http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (312,12,'DECODE','Syntax:\nDECODE(crypt_str,pass_str)\n\nDecrypts the encrypted string crypt_str using pass_str as the password.\ncrypt_str should be a string returned from ENCODE().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (313,21,'OPTIMIZE TABLE','Syntax:\nOPTIMIZE [NO_WRITE_TO_BINLOG | LOCAL] TABLE\n tbl_name [, tbl_name] ...\n\nReorganizes the physical storage of table data and associated index\ndata, to reduce storage space and improve I/O efficiency when accessing\nthe table. The exact changes made to each table depend on the storage\nengine used by that table.\n\nUse OPTIMIZE TABLE in these cases, depending on the type of table:\n\no After doing substantial insert, update, or delete operations on an\n InnoDB table that has its own .ibd file because it was created with\n the innodb_file_per_table option enabled. The table and indexes are\n reorganized, and disk space can be reclaimed for use by the operating\n system.\n\no After deleting a large part of a MyISAM or ARCHIVE table, or making\n many changes to a MyISAM or ARCHIVE table with variable-length rows\n (tables that have VARCHAR, VARBINARY, BLOB, or TEXT columns). Deleted\n rows are maintained in a linked list and subsequent INSERT operations\n reuse old row positions. You can use OPTIMIZE TABLE to reclaim the\n unused space and to defragment the data file. After extensive changes\n to a table, this statement may also improve performance of statements\n that use the table, sometimes significantly.\n\nThis statement requires SELECT and INSERT privileges for the table.\n\nOPTIMIZE TABLE is also supported for partitioned tables. For\ninformation about using this statement with partitioned tables and\ntable partitions, see\nhttp://dev.mysql.com/doc/refman/5.5/en/partitioning-maintenance.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/optimize-table.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/optimize-table.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (314,20,'<=>','Syntax:\n<=>\n\nNULL-safe equal. This operator performs an equality comparison like the\n= operator, but returns 1 rather than NULL if both operands are NULL,\nand 0 rather than NULL if one operand is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT 1 <=> 1, NULL <=> NULL, 1 <=> NULL;\n -> 1, 1, 0\nmysql> SELECT 1 = 1, NULL = NULL, 1 = NULL;\n -> 1, NULL, NULL\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (315,14,'GET_LOCK','Syntax:\nGET_LOCK(str,timeout)\n\nTries to obtain a lock with a name given by the string str, using a\ntimeout of timeout seconds. Before MySQL 5.5.8, a negative timeout\nvalue means infinite timeout on Windows. As of 5.5.8, this behavior\napplies on all platforms.\n\nReturns 1 if the lock was obtained successfully, 0 if the attempt timed\nout (for example, because another client has previously locked the\nname), or NULL if an error occurred (such as running out of memory or\nthe thread was killed with mysqladmin kill). If you have a lock\nobtained with GET_LOCK(), it is released when you execute\nRELEASE_LOCK(), execute a new GET_LOCK(), or your connection terminates\n(either normally or abnormally). Locks obtained with GET_LOCK() do not\ninteract with transactions. That is, committing a transaction does not\nrelease any such locks obtained during the transaction.\n\nGET_LOCK() can be used to implement application locks or to simulate\nrecord locks. Names are locked on a server-wide basis. If a name has\nbeen locked within one session, GET_LOCK() blocks any request by\nanother session for a lock with the same name. This enables clients\nthat agree on a given lock name to use the name to perform cooperative\nadvisory locking. But be aware that it also enables a client that is\nnot among the set of cooperating clients to lock a name, either\ninadvertently or deliberately, and thus prevent any of the cooperating\nclients from locking that name. One way to reduce the likelihood of\nthis is to use lock names that are database-specific or\napplication-specific. For example, use lock names of the form\ndb_name.str or app_name.str.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html\n\n','mysql> SELECT GET_LOCK(\'lock1\',10);\n -> 1\nmysql> SELECT IS_FREE_LOCK(\'lock2\');\n -> 1\nmysql> SELECT GET_LOCK(\'lock2\',10);\n -> 1\nmysql> SELECT RELEASE_LOCK(\'lock2\');\n -> 1\nmysql> SELECT RELEASE_LOCK(\'lock1\');\n -> NULL\n','http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (316,27,'RESET','Syntax:\nRESET reset_option [, reset_option] ...\n\nThe RESET statement is used to clear the state of various server\noperations. You must have the RELOAD privilege to execute RESET.\n\nRESET acts as a stronger version of the FLUSH statement. See [HELP\nFLUSH].\n\nThe RESET statement causes an implicit commit. See\nhttp://dev.mysql.com/doc/refman/5.5/en/implicit-commit.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/reset.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/reset.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (317,23,'BIGINT','BIGINT[(M)] [UNSIGNED] [ZEROFILL]\n\nA large integer. The signed range is -9223372036854775808 to\n9223372036854775807. The unsigned range is 0 to 18446744073709551615.\n\nSERIAL is an alias for BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (318,32,'CURTIME','Syntax:\nCURTIME()\n\nReturns the current time as a value in \'HH:MM:SS\' or HHMMSS.uuuuuu\nformat, depending on whether the function is used in a string or\nnumeric context. The value is expressed in the current time zone.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT CURTIME();\n -> \'23:50:26\'\nmysql> SELECT CURTIME() + 0;\n -> 235026.000000\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (319,27,'SET','Syntax:\nSET variable_assignment [, variable_assignment] ...\n\nvariable_assignment:\n user_var_name = expr\n | [GLOBAL | SESSION] system_var_name = expr\n | [@@global. | @@session. | @@]system_var_name = expr\n\nThe SET statement assigns values to different types of variables that\naffect the operation of the server or your client. Older versions of\nMySQL employed SET OPTION, but this syntax is deprecated in favor of\nSET without OPTION.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/set-statement.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/set-statement.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (320,3,'CONV','Syntax:\nCONV(N,from_base,to_base)\n\nConverts numbers between different number bases. Returns a string\nrepresentation of the number N, converted from base from_base to base\nto_base. Returns NULL if any argument is NULL. The argument N is\ninterpreted as an integer, but may be specified as an integer or a\nstring. The minimum base is 2 and the maximum base is 36. If to_base is\na negative number, N is regarded as a signed number. Otherwise, N is\ntreated as unsigned. CONV() works with 64-bit precision.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT CONV(\'a\',16,2);\n -> \'1010\'\nmysql> SELECT CONV(\'6E\',18,8);\n -> \'172\'\nmysql> SELECT CONV(-17,10,-18);\n -> \'-H\'\nmysql> SELECT CONV(10+\'10\'+\'10\'+0xa,10,10);\n -> \'40\'\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (321,28,'LOAD XML','Syntax:\nLOAD XML [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE \'file_name\'\n [REPLACE | IGNORE]\n INTO TABLE [db_name.]tbl_name\n [CHARACTER SET charset_name]\n [ROWS IDENTIFIED BY \'\']\n [IGNORE number {LINES | ROWS}]\n [(column_or_user_var,...)]\n [SET col_name = expr,...]\n\nThe LOAD XML statement reads data from an XML file into a table. The\nfile_name must be given as a literal string. The tagname in the\noptional ROWS IDENTIFIED BY clause must also be given as a literal\nstring, and must be surrounded by angle brackets (< and >).\n\nLOAD XML acts as the complement of running the mysql client in XML\noutput mode (that is, starting the client with the --xml option). To\nwrite data from a table to an XML file, use a command such as the\nfollowing one from the system shell:\n\nshell> mysql --xml -e \'SELECT * FROM mytable\' > file.xml\n\nTo read the file back into a table, use LOAD XML INFILE. By default,\nthe element is considered to be the equivalent of a database\ntable row; this can be changed using the ROWS IDENTIFIED BY clause.\n\nThis statement supports three different XML formats:\n\no Column names as attributes and column values as attribute values:\n\n\n\no Column names as tags and column values as the content of these tags:\n\n\n value1\n value2\n\n\no Column names are the name attributes of tags, and values are\n the contents of these tags:\n\n\n value1\n value2\n\n\n This is the format used by other MySQL tools, such as mysqldump.\n\nAll three formats can be used in the same XML file; the import routine\nautomatically detects the format for each row and interprets it\ncorrectly. Tags are matched based on the tag or attribute name and the\ncolumn name.\n\nThe following clauses work essentially the same way for LOAD XML as\nthey do for LOAD DATA:\n\no LOW_PRIORITY or CONCURRENT\n\no LOCAL\n\no REPLACE or IGNORE\n\no CHARACTER SET\n\no (column_or_user_var,...)\n\no SET\n\nSee [HELP LOAD DATA], for more information about these clauses.\n\nThe IGNORE number LINES or IGNORE number ROWS clause causes the first\nnumber rows in the XML file to be skipped. It is analogous to the LOAD\nDATA statement\'s IGNORE ... LINES clause.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/load-xml.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/load-xml.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (322,15,'ASSIGN-VALUE','Syntax:\n:=\n\nAssignment operator. Causes the user variable on the left hand side of\nthe operator to take on the value to its right. The value on the right\nhand side may be a literal value, another variable storing a value, or\nany legal expression that yields a scalar value, including the result\nof a query (provided that this value is a scalar value). You can\nperform multiple assignments in the same SET statement. You can perform\nmultiple assignments in the same statement-\n\nUnlike =, the := operator is never interpreted as a comparison\noperator. This means you can use := in any valid SQL statement (not\njust in SET statements) to assign a value to a variable.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/assignment-operators.html\n\n','mysql> SELECT @var1, @var2;\n -> NULL, NULL\nmysql> SELECT @var1 := 1, @var2;\n -> 1, NULL\nmysql> SELECT @var1, @var2;\n -> 1, NULL\nmysql> SELECT @var1, @var2 := @var1;\n -> 1, 1\nmysql> SELECT @var1, @var2;\n -> 1, 1\n\nmysql> SELECT @var1:=COUNT(*) FROM t1;\n -> 4\nmysql> SELECT @var1;\n -> 4\n','http://dev.mysql.com/doc/refman/5.5/en/assignment-operators.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (323,27,'SHOW OPEN TABLES','Syntax:\nSHOW OPEN TABLES [{FROM | IN} db_name]\n [LIKE \'pattern\' | WHERE expr]\n\nSHOW OPEN TABLES lists the non-TEMPORARY tables that are currently open\nin the table cache. See\nhttp://dev.mysql.com/doc/refman/5.5/en/table-cache.html. The FROM\nclause, if present, restricts the tables shown to those present in the\ndb_name database. The LIKE clause, if present, indicates which table\nnames to match. The WHERE clause can be given to select rows using more\ngeneral conditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.5/en/extended-show.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-open-tables.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-open-tables.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (324,32,'EXTRACT','Syntax:\nEXTRACT(unit FROM date)\n\nThe EXTRACT() function uses the same kinds of unit specifiers as\nDATE_ADD() or DATE_SUB(), but extracts parts from the date rather than\nperforming date arithmetic.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT EXTRACT(YEAR FROM \'2009-07-02\');\n -> 2009\nmysql> SELECT EXTRACT(YEAR_MONTH FROM \'2009-07-02 01:02:03\');\n -> 200907\nmysql> SELECT EXTRACT(DAY_MINUTE FROM \'2009-07-02 01:02:03\');\n -> 20102\nmysql> SELECT EXTRACT(MICROSECOND\n -> FROM \'2003-01-02 10:30:00.000123\');\n -> 123\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (325,12,'ENCRYPT','Syntax:\nENCRYPT(str[,salt])\n\nEncrypts str using the Unix crypt() system call and returns a binary\nstring. The salt argument must be a string with at least two characters\nor the result will be NULL. If no salt argument is given, a random\nvalue is used.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','mysql> SELECT ENCRYPT(\'hello\');\n -> \'VxuFAJXVARROc\'\n','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (326,27,'SHOW STATUS','Syntax:\nSHOW [GLOBAL | SESSION] STATUS\n [LIKE \'pattern\' | WHERE expr]\n\nSHOW STATUS provides server status information. This information also\ncan be obtained using the mysqladmin extended-status command. The LIKE\nclause, if present, indicates which variable names to match. The WHERE\nclause can be given to select rows using more general conditions, as\ndiscussed in http://dev.mysql.com/doc/refman/5.5/en/extended-show.html.\nThis statement does not require any privilege. It requires only the\nability to connect to the server.\nWith a LIKE clause, the statement displays only rows for those\nvariables with names that match the pattern:\n\nmysql> SHOW STATUS LIKE \'Key%\';\n+--------------------+----------+\n| Variable_name | Value |\n+--------------------+----------+\n| Key_blocks_used | 14955 |\n| Key_read_requests | 96854827 |\n| Key_reads | 162040 |\n| Key_write_requests | 7589728 |\n| Key_writes | 3813196 |\n+--------------------+----------+\n\nWith the GLOBAL modifier, SHOW STATUS displays the status values for\nall connections to MySQL. With SESSION, it displays the status values\nfor the current connection. If no modifier is present, the default is\nSESSION. LOCAL is a synonym for SESSION.\n\nSome status variables have only a global value. For these, you get the\nsame value for both GLOBAL and SESSION. The scope for each status\nvariable is listed at\nhttp://dev.mysql.com/doc/refman/5.5/en/server-status-variables.html.\n\nEach invocation of the SHOW STATUS statement uses an internal temporary\ntable and increments the global Created_tmp_tables value.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-status.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-status.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (327,8,'START TRANSACTION','Syntax:\nSTART TRANSACTION [WITH CONSISTENT SNAPSHOT]\nBEGIN [WORK]\nCOMMIT [WORK] [AND [NO] CHAIN] [[NO] RELEASE]\nROLLBACK [WORK] [AND [NO] CHAIN] [[NO] RELEASE]\nSET autocommit = {0 | 1}\n\nThese statements provide control over use of transactions:\n\no START TRANSACTION or BEGIN start a new transaction.\n\no COMMIT commits the current transaction, making its changes permanent.\n\no ROLLBACK rolls back the current transaction, canceling its changes.\n\no SET autocommit disables or enables the default autocommit mode for\n the current session.\n\nBy default, MySQL runs with autocommit mode enabled. This means that as\nsoon as you execute a statement that updates (modifies) a table, MySQL\nstores the update on disk to make it permanent. The change cannot be\nrolled back.\n\nTo disable autocommit mode implicitly for a single series of\nstatements, use the START TRANSACTION statement:\n\nSTART TRANSACTION;\nSELECT @A:=SUM(salary) FROM table1 WHERE type=1;\nUPDATE table2 SET summary=@A WHERE type=1;\nCOMMIT;\n\nWith START TRANSACTION, autocommit remains disabled until you end the\ntransaction with COMMIT or ROLLBACK. The autocommit mode then reverts\nto its previous state.\n\nYou can also begin a transaction like this:\n\nSTART TRANSACTION WITH CONSISTENT SNAPSHOT;\n\nThe WITH CONSISTENT SNAPSHOT option starts a consistent read for\nstorage engines that are capable of it. This applies only to InnoDB.\nThe effect is the same as issuing a START TRANSACTION followed by a\nSELECT from any InnoDB table. See\nhttp://dev.mysql.com/doc/refman/5.5/en/innodb-consistent-read.html. The\nWITH CONSISTENT SNAPSHOT option does not change the current transaction\nisolation level, so it provides a consistent snapshot only if the\ncurrent isolation level is one that permits a consistent read. The only\nisolation level that permits a consistent read is REPEATABLE READ. For\nall other isolation levels, the WITH CONSISTENT SNAPSHOT clause is\nignored. As of MySQL 5.5.34, a warning is generated when the WITH\nCONSISTENT SNAPSHOT is ignored.\n\n*Important*: Many APIs used for writing MySQL client applications (such\nas JDBC) provide their own methods for starting transactions that can\n(and sometimes should) be used instead of sending a START TRANSACTION\nstatement from the client. See\nhttp://dev.mysql.com/doc/refman/5.5/en/connectors-apis.html, or the\ndocumentation for your API, for more information.\n\nTo disable autocommit mode explicitly, use the following statement:\n\nSET autocommit=0;\n\nAfter disabling autocommit mode by setting the autocommit variable to\nzero, changes to transaction-safe tables (such as those for InnoDB or\nNDBCLUSTER) are not made permanent immediately. You must use COMMIT to\nstore your changes to disk or ROLLBACK to ignore the changes.\n\nautocommit is a session variable and must be set for each session. To\ndisable autocommit mode for each new connection, see the description of\nthe autocommit system variable at\nhttp://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html.\n\nBEGIN and BEGIN WORK are supported as aliases of START TRANSACTION for\ninitiating a transaction. START TRANSACTION is standard SQL syntax and\nis the recommended way to start an ad-hoc transaction.\n\nThe BEGIN statement differs from the use of the BEGIN keyword that\nstarts a BEGIN ... END compound statement. The latter does not begin a\ntransaction. See [HELP BEGIN END].\n\n*Note*: Within all stored programs (stored procedures and functions,\ntriggers, and events), the parser treats BEGIN [WORK] as the beginning\nof a BEGIN ... END block. Begin a transaction in this context with\nSTART TRANSACTION instead.\n\nThe optional WORK keyword is supported for COMMIT and ROLLBACK, as are\nthe CHAIN and RELEASE clauses. CHAIN and RELEASE can be used for\nadditional control over transaction completion. The value of the\ncompletion_type system variable determines the default completion\nbehavior. See\nhttp://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html.\n\nThe AND CHAIN clause causes a new transaction to begin as soon as the\ncurrent one ends, and the new transaction has the same isolation level\nas the just-terminated transaction. The RELEASE clause causes the\nserver to disconnect the current client session after terminating the\ncurrent transaction. Including the NO keyword suppresses CHAIN or\nRELEASE completion, which can be useful if the completion_type system\nvariable is set to cause chaining or release completion by default.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/commit.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/commit.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (328,27,'SHOW SLAVE HOSTS','Syntax:\nSHOW SLAVE HOSTS\n\nDisplays a list of replication slaves currently registered with the\nmaster. (Before MySQL 5.5.3, only slaves started with the\n--report-host=host_name option are visible in this list.)\n\nSHOW SLAVE HOSTS should be executed on a server that acts as a\nreplication master. The statement displays information about servers\nthat are or have been connected as replication slaves, with each row of\nthe result corresponding to one slave server, as shown here:\n\nmysql> SHOW SLAVE HOSTS;\n+------------+-----------+------+-----------+\n| Server_id | Host | Port | Master_id |\n+------------+-----------+------+-----------+\n| 192168010 | iconnect2 | 3306 | 192168011 |\n| 1921680101 | athena | 3306 | 192168011 |\n+------------+-----------+------+-----------+\n\no Server_id: The unique server ID of the slave server, as configured in\n the slave server\'s option file, or on the command line with\n --server-id=value.\n\no Host: The host name of the slave server, as configured in the slave\n server\'s option file, or on the command line with\n --report-host=host_name. Note that this can differ from the machine\n name as configured in the operating system.\n\no Port: The port on the master to which the slave server is listening.\n\n In MySQL 5.5.23 and later, a zero in this column means that the slave\n port (--report-port) was not set. Prior to MySQL 5.5.23, 3306 was\n used as the default in such cases (Bug #13333431).\n\no Master_id: The unique server ID of the master server that the slave\n server is replicating from. This is the server ID of the server on\n which SHOW SLAVE HOSTS is executed, so this same value is listed for\n each row in the result.\n\nSome MySQL versions report another variable, Rpl_recovery_rank. This\nvariable was never used, and was removed in MySQL 5.5.3. (Bug #13963)\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-slave-hosts.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-slave-hosts.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (329,32,'TIME_FORMAT','Syntax:\nTIME_FORMAT(time,format)\n\nThis is used like the DATE_FORMAT() function, but the format string may\ncontain format specifiers only for hours, minutes, seconds, and\nmicroseconds. Other specifiers produce a NULL value or 0.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT TIME_FORMAT(\'100:00:00\', \'%H %k %h %I %l\');\n -> \'100 100 04 04 4\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (330,40,'CREATE DATABASE','Syntax:\nCREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name\n [create_specification] ...\n\ncreate_specification:\n [DEFAULT] CHARACTER SET [=] charset_name\n | [DEFAULT] COLLATE [=] collation_name\n\nCREATE DATABASE creates a database with the given name. To use this\nstatement, you need the CREATE privilege for the database. CREATE\nSCHEMA is a synonym for CREATE DATABASE.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-database.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/create-database.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (331,16,'VAR_POP','Syntax:\nVAR_POP(expr)\n\nReturns the population standard variance of expr. It considers rows as\nthe whole population, not as a sample, so it has the number of rows as\nthe denominator. You can also use VARIANCE(), which is equivalent but\nis not standard SQL.\n\nVAR_POP() returns NULL if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (332,38,'CONCAT_WS','Syntax:\nCONCAT_WS(separator,str1,str2,...)\n\nCONCAT_WS() stands for Concatenate With Separator and is a special form\nof CONCAT(). The first argument is the separator for the rest of the\narguments. The separator is added between the strings to be\nconcatenated. The separator can be a string, as can the rest of the\narguments. If the separator is NULL, the result is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT CONCAT_WS(\',\',\'First name\',\'Second name\',\'Last Name\');\n -> \'First name,Second name,Last Name\'\nmysql> SELECT CONCAT_WS(\',\',\'First name\',NULL,\'Last Name\');\n -> \'First name,Last Name\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (333,23,'TEXT','TEXT[(M)] [CHARACTER SET charset_name] [COLLATE collation_name]\n\nA TEXT column with a maximum length of 65,535 (216 - 1) characters. The\neffective maximum length is less if the value contains multibyte\ncharacters. Each TEXT value is stored using a 2-byte length prefix that\nindicates the number of bytes in the value.\n\nAn optional length M can be given for this type. If this is done, MySQL\ncreates the column as the smallest TEXT type large enough to hold\nvalues M characters long.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (334,19,'~','Syntax:\n~\n\nInvert all bits.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html\n\n','mysql> SELECT 5 & ~1;\n -> 4\n','http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (335,3,'ASIN','Syntax:\nASIN(X)\n\nReturns the arc sine of X, that is, the value whose sine is X. Returns\nNULL if X is not in the range -1 to 1.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT ASIN(0.2);\n -> 0.20135792079033\nmysql> SELECT ASIN(\'foo\');\n\n+-------------+\n| ASIN(\'foo\') |\n+-------------+\n| 0 |\n+-------------+\n1 row in set, 1 warning (0.00 sec)\n\nmysql> SHOW WARNINGS;\n+---------+------+-----------------------------------------+\n| Level | Code | Message |\n+---------+------+-----------------------------------------+\n| Warning | 1292 | Truncated incorrect DOUBLE value: \'foo\' |\n+---------+------+-----------------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (336,17,'ROW_COUNT','Syntax:\nROW_COUNT()\n\nBefore MySQL 5.5.5, ROW_COUNT() returns the number of rows changed,\ndeleted, or inserted by the last statement if it was an UPDATE, DELETE,\nor INSERT. For other statements, the value may not be meaningful.\n\nAs of MySQL 5.5.5, ROW_COUNT() returns a value as follows:\n\no DDL statements: 0. This applies to statements such as CREATE TABLE or\n DROP TABLE.\n\no DML statements other than SELECT: The number of affected rows. This\n applies to statements such as UPDATE, INSERT, or DELETE (as before),\n but now also to statements such as ALTER TABLE and LOAD DATA INFILE.\n\no SELECT: -1 if the statement returns a result set, or the number of\n rows "affected" if it does not. For example, for SELECT * FROM t1,\n ROW_COUNT() returns -1. For SELECT * FROM t1 INTO OUTFILE\n \'file_name\', ROW_COUNT() returns the number of rows written to the\n file.\n\no SIGNAL statements: 0.\n\nFor UPDATE statements, the affected-rows value by default is the number\nof rows actually changed. If you specify the CLIENT_FOUND_ROWS flag to\nmysql_real_connect() when connecting to mysqld, the affected-rows value\nis the number of rows "found"; that is, matched by the WHERE clause.\n\nFor REPLACE statements, the affected-rows value is 2 if the new row\nreplaced an old row, because in this case, one row was inserted after\nthe duplicate was deleted.\n\nFor INSERT ... ON DUPLICATE KEY UPDATE statements, the affected-rows\nvalue per row is 1 if the row is inserted as a new row, 2 if an\nexisting row is updated, and 0 if an existing row is set to its current\nvalues. If you specify the CLIENT_FOUND_ROWS flag, the affected-rows\nvalue is 1 (not 0) if an existing row is set to its current values.\n\nThe ROW_COUNT() value is similar to the value from the\nmysql_affected_rows() C API function and the row count that the mysql\nclient displays following statement execution.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','mysql> INSERT INTO t VALUES(1),(2),(3);\nQuery OK, 3 rows affected (0.00 sec)\nRecords: 3 Duplicates: 0 Warnings: 0\n\nmysql> SELECT ROW_COUNT();\n+-------------+\n| ROW_COUNT() |\n+-------------+\n| 3 |\n+-------------+\n1 row in set (0.00 sec)\n\nmysql> DELETE FROM t WHERE i IN(1,2);\nQuery OK, 2 rows affected (0.00 sec)\n\nmysql> SELECT ROW_COUNT();\n+-------------+\n| ROW_COUNT() |\n+-------------+\n| 2 |\n+-------------+\n1 row in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (337,3,'SIGN','Syntax:\nSIGN(X)\n\nReturns the sign of the argument as -1, 0, or 1, depending on whether X\nis negative, zero, or positive.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT SIGN(-32);\n -> -1\nmysql> SELECT SIGN(0);\n -> 0\nmysql> SELECT SIGN(234);\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (338,23,'FLOAT','FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]\n\nA small (single-precision) floating-point number. Permissible values\nare -3.402823466E+38 to -1.175494351E-38, 0, and 1.175494351E-38 to\n3.402823466E+38. These are the theoretical limits, based on the IEEE\nstandard. The actual range might be slightly smaller depending on your\nhardware or operating system.\n\nM is the total number of digits and D is the number of digits following\nthe decimal point. If M and D are omitted, values are stored to the\nlimits permitted by the hardware. A single-precision floating-point\nnumber is accurate to approximately 7 decimal places.\n\nUNSIGNED, if specified, disallows negative values.\n\nUsing FLOAT might give you some unexpected problems because all\ncalculations in MySQL are done with double precision. See\nhttp://dev.mysql.com/doc/refman/5.5/en/no-matching-rows.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (339,17,'CHARSET','Syntax:\nCHARSET(str)\n\nReturns the character set of the string argument.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','mysql> SELECT CHARSET(\'abc\');\n -> \'latin1\'\nmysql> SELECT CHARSET(CONVERT(\'abc\' USING utf8));\n -> \'utf8\'\nmysql> SELECT CHARSET(USER());\n -> \'utf8\'\n','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (340,32,'SUBDATE','Syntax:\nSUBDATE(date,INTERVAL expr unit), SUBDATE(expr,days)\n\nWhen invoked with the INTERVAL form of the second argument, SUBDATE()\nis a synonym for DATE_SUB(). For information on the INTERVAL unit\nargument, see the discussion for DATE_ADD().\n\nmysql> SELECT DATE_SUB(\'2008-01-02\', INTERVAL 31 DAY);\n -> \'2007-12-02\'\nmysql> SELECT SUBDATE(\'2008-01-02\', INTERVAL 31 DAY);\n -> \'2007-12-02\'\n\nThe second form enables the use of an integer value for days. In such\ncases, it is interpreted as the number of days to be subtracted from\nthe date or datetime expression expr.\n\nmysql> SELECT SUBDATE(\'2008-01-02 12:00:00\', 31);\n -> \'2007-12-02 12:00:00\'\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (341,32,'DAYOFYEAR','Syntax:\nDAYOFYEAR(date)\n\nReturns the day of the year for date, in the range 1 to 366.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT DAYOFYEAR(\'2007-02-03\');\n -> 34\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (342,3,'%','Syntax:\nN % M, N MOD M\n\nModulo operation. Returns the remainder of N divided by M. For more\ninformation, see the description for the MOD() function in\nhttp://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (343,4,'ASTEXT','AsText(g), AsWKT(g)\n\nConverts a value in internal geometry format to its WKT representation\nand returns the string result.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-format-conversion-functions.html\n\n','mysql> SET @g = \'LineString(1 1,2 2,3 3)\';\nmysql> SELECT AsText(GeomFromText(@g));\n+--------------------------+\n| AsText(GeomFromText(@g)) |\n+--------------------------+\n| LINESTRING(1 1,2 2,3 3) |\n+--------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-format-conversion-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (344,24,'DECLARE CONDITION','Syntax:\nDECLARE condition_name CONDITION FOR condition_value\n\ncondition_value:\n mysql_error_code\n | SQLSTATE [VALUE] sqlstate_value\n\nThe DECLARE ... CONDITION statement declares a named error condition,\nassociating a name with a condition that needs specific handling. The\nname can be referred to in a subsequent DECLARE ... HANDLER statement\n(see [HELP DECLARE HANDLER]).\n\nCondition declarations must appear before cursor or handler\ndeclarations.\n\nThe condition_value for DECLARE ... CONDITION can be a MySQL error code\n(a number) or an SQLSTATE value (a 5-character string literal). You\nshould not use MySQL error code 0 or SQLSTATE values that begin with\n\'00\', because those indicate success rather than an error condition.\nFor a list of MySQL error codes and SQLSTATE values, see\nhttp://dev.mysql.com/doc/refman/5.5/en/error-messages-server.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/declare-condition.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/declare-condition.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (345,32,'MONTHNAME','Syntax:\nMONTHNAME(date)\n\nReturns the full name of the month for date. The language used for the\nname is controlled by the value of the lc_time_names system variable\n(http://dev.mysql.com/doc/refman/5.5/en/locale-support.html).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT MONTHNAME(\'2008-02-03\');\n -> \'February\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (346,26,'NUMGEOMETRIES','NumGeometries(gc)\n\nReturns the number of geometries in the GeometryCollection value gc.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-geometrycollection-property-functions.html\n\n','mysql> SET @gc = \'GeometryCollection(Point(1 1),LineString(2 2, 3 3))\';\nmysql> SELECT NumGeometries(GeomFromText(@gc));\n+----------------------------------+\n| NumGeometries(GeomFromText(@gc)) |\n+----------------------------------+\n| 2 |\n+----------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-geometrycollection-property-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (347,32,'TIMESTAMP FUNCTION','Syntax:\nTIMESTAMP(expr), TIMESTAMP(expr1,expr2)\n\nWith a single argument, this function returns the date or datetime\nexpression expr as a datetime value. With two arguments, it adds the\ntime expression expr2 to the date or datetime expression expr1 and\nreturns the result as a datetime value.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT TIMESTAMP(\'2003-12-31\');\n -> \'2003-12-31 00:00:00\'\nmysql> SELECT TIMESTAMP(\'2003-12-31 12:00:00\',\'12:00:00\');\n -> \'2004-01-01 00:00:00\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (348,40,'DROP DATABASE','Syntax:\nDROP {DATABASE | SCHEMA} [IF EXISTS] db_name\n\nDROP DATABASE drops all tables in the database and deletes the\ndatabase. Be very careful with this statement! To use DROP DATABASE,\nyou need the DROP privilege on the database. DROP SCHEMA is a synonym\nfor DROP DATABASE.\n\n*Important*: When a database is dropped, user privileges on the\ndatabase are not automatically dropped. See [HELP GRANT].\n\nIF EXISTS is used to prevent an error from occurring if the database\ndoes not exist.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/drop-database.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/drop-database.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (349,8,'CHANGE MASTER TO','Syntax:\nCHANGE MASTER TO option [, option] ...\n\noption:\n MASTER_BIND = \'interface_name\'\n | MASTER_HOST = \'host_name\'\n | MASTER_USER = \'user_name\'\n | MASTER_PASSWORD = \'password\'\n | MASTER_PORT = port_num\n | MASTER_CONNECT_RETRY = interval\n | MASTER_HEARTBEAT_PERIOD = interval\n | MASTER_LOG_FILE = \'master_log_name\'\n | MASTER_LOG_POS = master_log_pos\n | RELAY_LOG_FILE = \'relay_log_name\'\n | RELAY_LOG_POS = relay_log_pos\n | MASTER_SSL = {0|1}\n | MASTER_SSL_CA = \'ca_file_name\'\n | MASTER_SSL_CAPATH = \'ca_directory_name\'\n | MASTER_SSL_CERT = \'cert_file_name\'\n | MASTER_SSL_KEY = \'key_file_name\'\n | MASTER_SSL_CIPHER = \'cipher_list\'\n | MASTER_SSL_VERIFY_SERVER_CERT = {0|1}\n | IGNORE_SERVER_IDS = (server_id_list)\n\nserver_id_list:\n [server_id [, server_id] ... ]\n\nCHANGE MASTER TO changes the parameters that the slave server uses for\nconnecting to the master server, for reading the master binary log, and\nreading the slave relay log. It also updates the contents of the\nmaster.info and relay-log.info files. To use CHANGE MASTER TO, the\nslave replication threads must be stopped (use STOP SLAVE if\nnecessary).\n\nOptions not specified retain their value, except as indicated in the\nfollowing discussion. Thus, in most cases, there is no need to specify\noptions that do not change. For example, if the password to connect to\nyour MySQL master has changed, you just need to issue these statements\nto tell the slave about the new password:\n\nSTOP SLAVE; -- if replication was running\nCHANGE MASTER TO MASTER_PASSWORD=\'new3cret\';\nSTART SLAVE; -- if you want to restart replication\n\nMASTER_HOST, MASTER_USER, MASTER_PASSWORD, and MASTER_PORT provide\ninformation to the slave about how to connect to its master:\n\no MASTER_HOST and MASTER_PORT are the host name (or IP address) of the\n master host and its TCP/IP port.\n\n *Note*: Replication cannot use Unix socket files. You must be able to\n connect to the master MySQL server using TCP/IP.\n\n If you specify the MASTER_HOST or MASTER_PORT option, the slave\n assumes that the master server is different from before (even if the\n option value is the same as its current value.) In this case, the old\n values for the master binary log file name and position are\n considered no longer applicable, so if you do not specify\n MASTER_LOG_FILE and MASTER_LOG_POS in the statement,\n MASTER_LOG_FILE=\'\' and MASTER_LOG_POS=4 are silently appended to it.\n\n Setting MASTER_HOST=\'\' (that is, setting its value explicitly to an\n empty string) is not the same as not setting MASTER_HOST at all.\n Beginning with MySQL 5.5, trying to set MASTER_HOST to an empty\n string fails with an error. Previously, setting MASTER_HOST to an\n empty string caused START SLAVE subsequently to fail. (Bug #28796)\n\no MASTER_USER and MASTER_PASSWORD are the user name and password of the\n account to use for connecting to the master.\n\n In MySQL 5.5.20 and later, MASTER_USER cannot be made empty; setting\n MASTER_USER = \'\' or leaving it unset when setting a value for\n MASTER_PASSWORD causes an error (Bug #13427949).\n\n The password used for a MySQL Replication slave account in a CHANGE\n MASTER TO statement is limited to 32 characters in length; if the\n password is longer, the statement succeeds, but any excess characters\n are silently truncated. This is an issue specific to MySQL\n Replication, which is fixed in MySQL 5.7. (Bug #11752299, Bug #43439)\n\n The text of a running CHANGE MASTER TO statement, including values\n for MASTER_USER and MASTER_PASSWORD, can be seen in the output of a\n concurrent SHOW PROCESSLIST statement.\n\nThe MASTER_SSL_xxx options provide information about using SSL for the\nconnection. They correspond to the --ssl-xxx options described in\nhttp://dev.mysql.com/doc/refman/5.5/en/ssl-options.html, and\nhttp://dev.mysql.com/doc/refman/5.5/en/replication-solutions-ssl.html.\nThese options can be changed even on slaves that are compiled without\nSSL support. They are saved to the master.info file, but are ignored if\nthe slave does not have SSL support enabled.\n\nMASTER_CONNECT_RETRY specifies how many seconds to wait between connect\nretries. The default is 60. The number of reconnection attempts is\nlimited by the --master-retry-count server option; for more\ninformation, see\nhttp://dev.mysql.com/doc/refman/5.5/en/replication-options.html.\n\nThe MASTER_BIND option is available in MySQL Cluster NDB 7.2 and later,\nbut is not supported in mainline MySQL 5.5.\n\nMASTER_BIND is for use on replication slaves having multiple network\ninterfaces, and determines which of the slave\'s network interfaces is\nchosen for connecting to the master.\n\nMASTER_HEARTBEAT_PERIOD sets the interval in seconds between\nreplication heartbeats. Whenever the master\'s binary log is updated\nwith an event, the waiting period for the next heartbeat is reset.\ninterval is a decimal value having the range 0 to 4294967 seconds and a\nresolution in milliseconds; the smallest nonzero value is 0.001.\nHeartbeats are sent by the master only if there are no unsent events in\nthe binary log file for a period longer than interval.\n\nSetting interval to 0 disables heartbeats altogether. The default value\nfor interval is equal to the value of slave_net_timeout divided by 2.\n\nSetting @@global.slave_net_timeout to a value less than that of the\ncurrent heartbeat interval results in a warning being issued. The\neffect of issuing RESET SLAVE on the heartbeat interval is to reset it\nto the default value.\n\nMASTER_LOG_FILE and MASTER_LOG_POS are the coordinates at which the\nslave I/O thread should begin reading from the master the next time the\nthread starts. RELAY_LOG_FILE and RELAY_LOG_POS are the coordinates at\nwhich the slave SQL thread should begin reading from the relay log the\nnext time the thread starts. If you specify either of MASTER_LOG_FILE\nor MASTER_LOG_POS, you cannot specify RELAY_LOG_FILE or RELAY_LOG_POS.\nIf neither of MASTER_LOG_FILE or MASTER_LOG_POS is specified, the slave\nuses the last coordinates of the slave SQL thread before CHANGE MASTER\nTO was issued. This ensures that there is no discontinuity in\nreplication, even if the slave SQL thread was late compared to the\nslave I/O thread, when you merely want to change, say, the password to\nuse.\n\nCHANGE MASTER TO deletes all relay log files and starts a new one,\nunless you specify RELAY_LOG_FILE or RELAY_LOG_POS. In that case, relay\nlog files are kept; the relay_log_purge global variable is set silently\nto 0.\n\nPrior to MySQL 5.5, RELAY_LOG_FILE required an absolute path. In MySQL\n5.5, the path can be relative, in which case the path is assumed to be\nrelative to the slave\'s data directory. (Bug #12190)\n\nIGNORE_SERVER_IDS was added in MySQL 5.5. This option takes a\ncomma-separated list of 0 or more server IDs. Events originating from\nthe corresponding servers are ignored, with the exception of log\nrotation and deletion events, which are still recorded in the relay\nlog.\n\nIn circular replication, the originating server normally acts as the\nterminator of its own events, so that they are not applied more than\nonce. Thus, this option is useful in circular replication when one of\nthe servers in the circle is removed. Suppose that you have a circular\nreplication setup with 4 servers, having server IDs 1, 2, 3, and 4, and\nserver 3 fails. When bridging the gap by starting replication from\nserver 2 to server 4, you can include IGNORE_SERVER_IDS = (3) in the\nCHANGE MASTER TO statement that you issue on server 4 to tell it to use\nserver 2 as its master instead of server 3. Doing so causes it to\nignore and not to propagate any statements that originated with the\nserver that is no longer in use.\n\nWhen a CHANGE MASTER TO statement is issued without any\nIGNORE_SERVER_IDS option, any existing list is preserved. To clear the\nlist of ignored servers, it is necessary to use the option with an\nempty list:\n\nCHANGE MASTER TO IGNORE_SERVER_IDS = ();\n\nRESET SLAVE ALL has no effect on the server ID list. This issue is\nfixed in MySQL 5.7. (Bug #18816897)\n\nIf IGNORE_SERVER_IDS contains the server\'s own ID and the server was\nstarted with the --replicate-same-server-id option enabled, an error\nresults.\n\nAlso beginning with MySQL 5.5, the master.info file and the output of\nSHOW SLAVE STATUS are extended to provide the list of servers that are\ncurrently ignored. For more information, see\nhttp://dev.mysql.com/doc/refman/5.5/en/slave-logs-status.html, and\n[HELP SHOW SLAVE STATUS].\n\nBeginning with MySQL 5.5.5, invoking CHANGE MASTER TO causes the\nprevious values for MASTER_HOST, MASTER_PORT, MASTER_LOG_FILE, and\nMASTER_LOG_POS to be written to the error log, along with other\ninformation about the slave\'s state prior to execution.\n\nCHANGE MASTER TO is useful for setting up a slave when you have the\nsnapshot of the master and have recorded the master binary log\ncoordinates corresponding to the time of the snapshot. After loading\nthe snapshot into the slave to synchronize it with the master, you can\nrun CHANGE MASTER TO MASTER_LOG_FILE=\'log_name\', MASTER_LOG_POS=log_pos\non the slave to specify the coordinates at which the slave should begin\nreading the master binary log.\n\nThe following example changes the master server the slave uses and\nestablishes the master binary log coordinates from which the slave\nbegins reading. This is used when you want to set up the slave to\nreplicate the master:\n\nCHANGE MASTER TO\n MASTER_HOST=\'master2.mycompany.com\',\n MASTER_USER=\'replication\',\n MASTER_PASSWORD=\'bigs3cret\',\n MASTER_PORT=3306,\n MASTER_LOG_FILE=\'master2-bin.001\',\n MASTER_LOG_POS=4,\n MASTER_CONNECT_RETRY=10;\n\nThe next example shows an operation that is less frequently employed.\nIt is used when the slave has relay log files that you want it to\nexecute again for some reason. To do this, the master need not be\nreachable. You need only use CHANGE MASTER TO and start the SQL thread\n(START SLAVE SQL_THREAD):\n\nCHANGE MASTER TO\n RELAY_LOG_FILE=\'slave-relay-bin.006\',\n RELAY_LOG_POS=4025;\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/change-master-to.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/change-master-to.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (350,27,'SHOW GRANTS','Syntax:\nSHOW GRANTS [FOR user]\n\nThis statement lists the GRANT statement or statements that must be\nissued to duplicate the privileges that are granted to a MySQL user\naccount. The account is named using the same format as for the GRANT\nstatement; for example, \'jeffrey\'@\'localhost\'. If you specify only the\nuser name part of the account name, a host name part of \'%\' is used.\nFor additional information about specifying account names, see [HELP\nGRANT].\n\nmysql> SHOW GRANTS FOR \'root\'@\'localhost\';\n+---------------------------------------------------------------------+\n| Grants for root@localhost |\n+---------------------------------------------------------------------+\n| GRANT ALL PRIVILEGES ON *.* TO \'root\'@\'localhost\' WITH GRANT OPTION |\n+---------------------------------------------------------------------+\n\nTo list the privileges granted to the account that you are using to\nconnect to the server, you can use any of the following statements:\n\nSHOW GRANTS;\nSHOW GRANTS FOR CURRENT_USER;\nSHOW GRANTS FOR CURRENT_USER();\n\nIf SHOW GRANTS FOR CURRENT_USER (or any of the equivalent syntaxes) is\nused in DEFINER context, such as within a stored procedure that is\ndefined with SQL SECURITY DEFINER), the grants displayed are those of\nthe definer and not the invoker.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-grants.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-grants.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (351,3,'CRC32','Syntax:\nCRC32(expr)\n\nComputes a cyclic redundancy check value and returns a 32-bit unsigned\nvalue. The result is NULL if the argument is NULL. The argument is\nexpected to be a string and (if possible) is treated as one if it is\nnot.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT CRC32(\'MySQL\');\n -> 3259397556\nmysql> SELECT CRC32(\'mysql\');\n -> 2501908538\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (352,13,'STARTPOINT','StartPoint(ls)\n\nReturns the Point that is the start point of the LineString value ls.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-linestring-property-functions.html\n\n','mysql> SET @ls = \'LineString(1 1,2 2,3 3)\';\nmysql> SELECT AsText(StartPoint(GeomFromText(@ls)));\n+---------------------------------------+\n| AsText(StartPoint(GeomFromText(@ls))) |\n+---------------------------------------+\n| POINT(1 1) |\n+---------------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-linestring-property-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (353,4,'MPOLYFROMTEXT','MPolyFromText(wkt[,srid]), MultiPolygonFromText(wkt[,srid])\n\nConstructs a MultiPolygon value using its WKT representation and SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (354,24,'DECLARE VARIABLE','Syntax:\nDECLARE var_name [, var_name] ... type [DEFAULT value]\n\nThis statement declares local variables within stored programs. To\nprovide a default value for a variable, include a DEFAULT clause. The\nvalue can be specified as an expression; it need not be a constant. If\nthe DEFAULT clause is missing, the initial value is NULL.\n\nLocal variables are treated like stored routine parameters with respect\nto data type and overflow checking. See [HELP CREATE PROCEDURE].\n\nVariable declarations must appear before cursor or handler\ndeclarations.\n\nLocal variable names are not case sensitive. Permissible characters and\nquoting rules are the same as for other identifiers, as described in\nhttp://dev.mysql.com/doc/refman/5.5/en/identifiers.html.\n\nThe scope of a local variable is the BEGIN ... END block within which\nit is declared. The variable can be referred to in blocks nested within\nthe declaring block, except those blocks that declare a variable with\nthe same name.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/declare-local-variable.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/declare-local-variable.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (355,20,'NOT BETWEEN','Syntax:\nexpr NOT BETWEEN min AND max\n\nThis is the same as NOT (expr BETWEEN min AND max).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (356,32,'YEARWEEK','Syntax:\nYEARWEEK(date), YEARWEEK(date,mode)\n\nReturns year and week for a date. The mode argument works exactly like\nthe mode argument to WEEK(). The year in the result may be different\nfrom the year in the date argument for the first and the last week of\nthe year.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT YEARWEEK(\'1987-01-01\');\n -> 198653\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (357,16,'BIT_OR','Syntax:\nBIT_OR(expr)\n\nReturns the bitwise OR of all bits in expr. The calculation is\nperformed with 64-bit (BIGINT) precision.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (358,3,'LOG10','Syntax:\nLOG10(X)\n\nReturns the base-10 logarithm of X.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT LOG10(2);\n -> 0.30102999566398\nmysql> SELECT LOG10(100);\n -> 2\nmysql> SELECT LOG10(-100);\n -> NULL\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (359,23,'DECIMAL','DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]\n\nA packed "exact" fixed-point number. M is the total number of digits\n(the precision) and D is the number of digits after the decimal point\n(the scale). The decimal point and (for negative numbers) the "-" sign\nare not counted in M. If D is 0, values have no decimal point or\nfractional part. The maximum number of digits (M) for DECIMAL is 65.\nThe maximum number of supported decimals (D) is 30. If D is omitted,\nthe default is 0. If M is omitted, the default is 10.\n\nUNSIGNED, if specified, disallows negative values.\n\nAll basic calculations (+, -, *, /) with DECIMAL columns are done with\na precision of 65 digits.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (360,40,'CREATE FUNCTION','The CREATE FUNCTION statement is used to create stored functions and\nuser-defined functions (UDFs):\n\no For information about creating stored functions, see [HELP CREATE\n PROCEDURE].\n\no For information about creating user-defined functions, see [HELP\n CREATE FUNCTION UDF].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-function.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/create-function.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (361,20,'<','Syntax:\n<\n\nLess than:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT 2 < 2;\n -> 0\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (362,12,'MD5','Syntax:\nMD5(str)\n\nCalculates an MD5 128-bit checksum for the string. The value is\nreturned as a string of 32 hex digits, or NULL if the argument was\nNULL. The return value can, for example, be used as a hash key. See the\nnotes at the beginning of this section about storing hash values\nefficiently.\n\nAs of MySQL 5.5.3, the return value is a nonbinary string in the\nconnection character set. Before 5.5.3, the return value is a binary\nstring; see the notes at the beginning of this section about using the\nvalue as a nonbinary string.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','mysql> SELECT MD5(\'testing\');\n -> \'ae2b1fca515949e5d54fb22b8ed95575\'\n','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (363,32,'DAYOFMONTH','Syntax:\nDAYOFMONTH(date)\n\nReturns the day of the month for date, in the range 1 to 31, or 0 for\ndates such as \'0000-00-00\' or \'2008-00-00\' that have a zero day part.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT DAYOFMONTH(\'2007-02-03\');\n -> 3\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (364,32,'UNIX_TIMESTAMP','Syntax:\nUNIX_TIMESTAMP(), UNIX_TIMESTAMP(date)\n\nIf called with no argument, returns a Unix timestamp (seconds since\n\'1970-01-01 00:00:00\' UTC) as an unsigned integer. If UNIX_TIMESTAMP()\nis called with a date argument, it returns the value of the argument as\nseconds since \'1970-01-01 00:00:00\' UTC. date may be a DATE string, a\nDATETIME string, a TIMESTAMP, or a number in the format YYMMDD or\nYYYYMMDD. The server interprets date as a value in the current time\nzone and converts it to an internal value in UTC. Clients can set their\ntime zone as described in\nhttp://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT UNIX_TIMESTAMP();\n -> 1196440210\nmysql> SELECT UNIX_TIMESTAMP(\'2007-11-30 10:30:19\');\n -> 1196440219\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (365,10,'RENAME USER','Syntax:\nRENAME USER old_user TO new_user\n [, old_user TO new_user] ...\n\nThe RENAME USER statement renames existing MySQL accounts. An error\noccurs for old accounts that do not exist or new accounts that already\nexist. To use this statement, you must have the global CREATE USER\nprivilege or the UPDATE privilege for the mysql database.\n\nEach account name uses the format described in\nhttp://dev.mysql.com/doc/refman/5.5/en/account-names.html. For example:\n\nRENAME USER \'jeffrey\'@\'localhost\' TO \'jeff\'@\'127.0.0.1\';\n\nIf you specify only the user name part of the account name, a host name\npart of \'%\' is used.\n\nRENAME USER causes the privileges held by the old user to be those held\nby the new user. However, RENAME USER does not automatically drop or\ninvalidate databases or objects within them that the old user created.\nThis includes stored programs or views for which the DEFINER attribute\nnames the old user. Attempts to access such objects may produce an\nerror if they execute in definer security context. (For information\nabout security context, see\nhttp://dev.mysql.com/doc/refman/5.5/en/stored-programs-security.html.)\n\nThe privilege changes take effect as indicated in\nhttp://dev.mysql.com/doc/refman/5.5/en/privilege-changes.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/rename-user.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/rename-user.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (366,13,'NUMPOINTS','NumPoints(ls)\n\nReturns the number of Point objects in the LineString value ls.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-linestring-property-functions.html\n\n','mysql> SET @ls = \'LineString(1 1,2 2,3 3)\';\nmysql> SELECT NumPoints(GeomFromText(@ls));\n+------------------------------+\n| NumPoints(GeomFromText(@ls)) |\n+------------------------------+\n| 3 |\n+------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-linestring-property-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (367,40,'ALTER LOGFILE GROUP','Syntax:\nALTER LOGFILE GROUP logfile_group\n ADD UNDOFILE \'file_name\'\n [INITIAL_SIZE [=] size]\n [WAIT]\n ENGINE [=] engine_name\n\nThis statement adds an UNDO file named \'file_name\' to an existing log\nfile group logfile_group. An ALTER LOGFILE GROUP statement has one and\nonly one ADD UNDOFILE clause. No DROP UNDOFILE clause is currently\nsupported.\n\n*Note*: All MySQL Cluster Disk Data objects share the same namespace.\nThis means that each Disk Data object must be uniquely named (and not\nmerely each Disk Data object of a given type). For example, you cannot\nhave a tablespace and an undo log file with the same name, or an undo\nlog file and a data file with the same name.\n\nThe optional INITIAL_SIZE parameter sets the UNDO file\'s initial size\nin bytes; if not specified, the initial size defaults to 134217728 (128\nMB). Prior to MySQL Cluster NDB 7.2.14, this value was required to be\nspecified using digits (Bug #13116514, Bug #16104705, Bug #62858); in\nMySQL Cluster NDB 7.2.14 and later, you may optionally follow size with\na one-letter abbreviation for an order of magnitude, similar to those\nused in my.cnf. Generally, this is one of the letters M (megabytes) or\nG (gigabytes).\n\nOn 32-bit systems, the maximum supported value for INITIAL_SIZE is\n4294967296 (4 GB). (Bug #29186)\n\nThe minimum allowed value for INITIAL_SIZE is 1048576 (1 MB). (Bug\n#29574)\n\n*Note*: WAIT is parsed but otherwise ignored. This keyword currently\nhas no effect, and is intended for future expansion.\n\nThe ENGINE parameter (required) determines the storage engine which is\nused by this log file group, with engine_name being the name of the\nstorage engine. Currently, the only accepted values for engine_name are\n"NDBCLUSTER" and "NDB". The two values are equivalent.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/alter-logfile-group.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/alter-logfile-group.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (368,32,'LOCALTIMESTAMP','Syntax:\nLOCALTIMESTAMP, LOCALTIMESTAMP()\n\nLOCALTIMESTAMP and LOCALTIMESTAMP() are synonyms for NOW().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (369,32,'ADDDATE','Syntax:\nADDDATE(date,INTERVAL expr unit), ADDDATE(expr,days)\n\nWhen invoked with the INTERVAL form of the second argument, ADDDATE()\nis a synonym for DATE_ADD(). The related function SUBDATE() is a\nsynonym for DATE_SUB(). For information on the INTERVAL unit argument,\nsee the discussion for DATE_ADD().\n\nmysql> SELECT DATE_ADD(\'2008-01-02\', INTERVAL 31 DAY);\n -> \'2008-02-02\'\nmysql> SELECT ADDDATE(\'2008-01-02\', INTERVAL 31 DAY);\n -> \'2008-02-02\'\n\nWhen invoked with the days form of the second argument, MySQL treats it\nas an integer number of days to be added to expr.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT ADDDATE(\'2008-01-02\', 31);\n -> \'2008-02-02\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (370,40,'ALTER FUNCTION','Syntax:\nALTER FUNCTION func_name [characteristic ...]\n\ncharacteristic:\n COMMENT \'string\'\n | LANGUAGE SQL\n | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }\n | SQL SECURITY { DEFINER | INVOKER }\n\nThis statement can be used to change the characteristics of a stored\nfunction. More than one change may be specified in an ALTER FUNCTION\nstatement. However, you cannot change the parameters or body of a\nstored function using this statement; to make such changes, you must\ndrop and re-create the function using DROP FUNCTION and CREATE\nFUNCTION.\n\nYou must have the ALTER ROUTINE privilege for the function. (That\nprivilege is granted automatically to the function creator.) If binary\nlogging is enabled, the ALTER FUNCTION statement might also require the\nSUPER privilege, as described in\nhttp://dev.mysql.com/doc/refman/5.5/en/stored-programs-logging.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/alter-function.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/alter-function.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (371,14,'IS_FREE_LOCK','Syntax:\nIS_FREE_LOCK(str)\n\nChecks whether the lock named str is free to use (that is, not locked).\nReturns 1 if the lock is free (no one is using the lock), 0 if the lock\nis in use, and NULL if an error occurs (such as an incorrect argument).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (372,8,'DEALLOCATE PREPARE','Syntax:\n{DEALLOCATE | DROP} PREPARE stmt_name\n\nTo deallocate a prepared statement produced with PREPARE, use a\nDEALLOCATE PREPARE statement that refers to the prepared statement\nname. Attempting to execute a prepared statement after deallocating it\nresults in an error.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/deallocate-prepare.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/deallocate-prepare.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (373,31,'TOUCHES','Touches(g1,g2)\n\nReturns 1 or 0 to indicate whether g1 spatially touches g2. Two\ngeometries spatially touch if the interiors of the geometries do not\nintersect, but the boundary of one of the geometries intersects either\nthe boundary or the interior of the other.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (374,23,'AUTO_INCREMENT','The AUTO_INCREMENT attribute can be used to generate a unique identity\nfor new rows:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/example-auto-increment.html\n\n','CREATE TABLE animals (\n id MEDIUMINT NOT NULL AUTO_INCREMENT,\n name CHAR(30) NOT NULL,\n PRIMARY KEY (id)\n);\n\nINSERT INTO animals (name) VALUES\n (\'dog\'),(\'cat\'),(\'penguin\'),\n (\'lax\'),(\'whale\'),(\'ostrich\');\n\nSELECT * FROM animals;\n','http://dev.mysql.com/doc/refman/5.5/en/example-auto-increment.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (375,12,'UNCOMPRESS','Syntax:\nUNCOMPRESS(string_to_uncompress)\n\nUncompresses a string compressed by the COMPRESS() function. If the\nargument is not a compressed value, the result is NULL. This function\nrequires MySQL to have been compiled with a compression library such as\nzlib. Otherwise, the return value is always NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','mysql> SELECT UNCOMPRESS(COMPRESS(\'any string\'));\n -> \'any string\'\nmysql> SELECT UNCOMPRESS(\'any string\');\n -> NULL\n','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (376,4,'GEOMCOLLFROMTEXT','GeomCollFromText(wkt[,srid]), GeometryCollectionFromText(wkt[,srid])\n\nConstructs a GeometryCollection value using its WKT representation and\nSRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (377,17,'LAST_INSERT_ID','Syntax:\nLAST_INSERT_ID(), LAST_INSERT_ID(expr)\n\nWith no argument, LAST_INSERT_ID() returns a 64-bit value representing\nthe first automatically generated value successfully inserted for an\nAUTO_INCREMENT column as a result of the most recently executed INSERT\nstatement. The value has a type of BIGINT UNSIGNED as of MySQL 5.5.29,\nBIGINT (signed) before that. The value of LAST_INSERT_ID() remains\nunchanged if no rows are successfully inserted.\n\nWith an argument, LAST_INSERT_ID() returns an unsigned integer as of\nMySQL 5.5.29, a signed integer before that.\n\nFor example, after inserting a row that generates an AUTO_INCREMENT\nvalue, you can get the value like this:\n\nmysql> SELECT LAST_INSERT_ID();\n -> 195\n\nThe currently executing statement does not affect the value of\nLAST_INSERT_ID(). Suppose that you generate an AUTO_INCREMENT value\nwith one statement, and then refer to LAST_INSERT_ID() in a\nmultiple-row INSERT statement that inserts rows into a table with its\nown AUTO_INCREMENT column. The value of LAST_INSERT_ID() will remain\nstable in the second statement; its value for the second and later rows\nis not affected by the earlier row insertions. (However, if you mix\nreferences to LAST_INSERT_ID() and LAST_INSERT_ID(expr), the effect is\nundefined.)\n\nIf the previous statement returned an error, the value of\nLAST_INSERT_ID() is undefined. For transactional tables, if the\nstatement is rolled back due to an error, the value of LAST_INSERT_ID()\nis left undefined. For manual ROLLBACK, the value of LAST_INSERT_ID()\nis not restored to that before the transaction; it remains as it was at\nthe point of the ROLLBACK.\n\nPrior to MySQL 5.5.35, this function was not replicated correctly if\nreplication filtering rules were in use. (Bug #17234370, Bug #69861)\n\nWithin the body of a stored routine (procedure or function) or a\ntrigger, the value of LAST_INSERT_ID() changes the same way as for\nstatements executed outside the body of these kinds of objects. The\neffect of a stored routine or trigger upon the value of\nLAST_INSERT_ID() that is seen by following statements depends on the\nkind of routine:\n\no If a stored procedure executes statements that change the value of\n LAST_INSERT_ID(), the changed value is seen by statements that follow\n the procedure call.\n\no For stored functions and triggers that change the value, the value is\n restored when the function or trigger ends, so following statements\n will not see a changed value.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (378,3,'FLOOR','Syntax:\nFLOOR(X)\n\nReturns the largest integer value not greater than X.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT FLOOR(1.23);\n -> 1\nmysql> SELECT FLOOR(-1.23);\n -> -2\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (379,3,'COS','Syntax:\nCOS(X)\n\nReturns the cosine of X, where X is given in radians.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT COS(PI());\n -> -1\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (380,16,'STD','Syntax:\nSTD(expr)\n\nReturns the population standard deviation of expr. This is an extension\nto standard SQL. The standard SQL function STDDEV_POP() can be used\ninstead.\n\nThis function returns NULL if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (381,32,'DATE FUNCTION','Syntax:\nDATE(expr)\n\nExtracts the date part of the date or datetime expression expr.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT DATE(\'2003-12-31 01:02:03\');\n -> \'2003-12-31\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (382,3,'TAN','Syntax:\nTAN(X)\n\nReturns the tangent of X, where X is given in radians.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT TAN(PI());\n -> -1.2246063538224e-16\nmysql> SELECT TAN(PI()+1);\n -> 1.5574077246549\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (383,32,'WEEKOFYEAR','Syntax:\nWEEKOFYEAR(date)\n\nReturns the calendar week of the date as a number in the range from 1\nto 53. WEEKOFYEAR() is a compatibility function that is equivalent to\nWEEK(date,3).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT WEEKOFYEAR(\'2008-02-20\');\n -> 8\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (384,12,'UNCOMPRESSED_LENGTH','Syntax:\nUNCOMPRESSED_LENGTH(compressed_string)\n\nReturns the length that the compressed string had before being\ncompressed.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','mysql> SELECT UNCOMPRESSED_LENGTH(COMPRESS(REPEAT(\'a\',30)));\n -> 30\n','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (385,32,'SUBTIME','Syntax:\nSUBTIME(expr1,expr2)\n\nSUBTIME() returns expr1 - expr2 expressed as a value in the same format\nas expr1. expr1 is a time or datetime expression, and expr2 is a time\nexpression.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT SUBTIME(\'2007-12-31 23:59:59.999999\',\'1 1:1:1.000002\');\n -> \'2007-12-30 22:58:58.999997\'\nmysql> SELECT SUBTIME(\'01:00:00.999999\', \'02:00:00.999998\');\n -> \'-00:59:59.999999\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (386,3,'LOG2','Syntax:\nLOG2(X)\n\nReturns the base-2 logarithm of X.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT LOG2(65536);\n -> 16\nmysql> SELECT LOG2(-100);\n -> NULL\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (387,3,'POW','Syntax:\nPOW(X,Y)\n\nReturns the value of X raised to the power of Y.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT POW(2,2);\n -> 4\nmysql> SELECT POW(2,-2);\n -> 0.25\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (388,40,'DROP TABLE','Syntax:\nDROP [TEMPORARY] TABLE [IF EXISTS]\n tbl_name [, tbl_name] ...\n [RESTRICT | CASCADE]\n\nDROP TABLE removes one or more tables. You must have the DROP privilege\nfor each table. All table data and the table definition are removed, so\nbe careful with this statement! If any of the tables named in the\nargument list do not exist, MySQL returns an error indicating by name\nwhich nonexisting tables it was unable to drop, but it also drops all\nof the tables in the list that do exist.\n\n*Important*: When a table is dropped, user privileges on the table are\nnot automatically dropped. See [HELP GRANT].\n\nNote that for a partitioned table, DROP TABLE permanently removes the\ntable definition, all of its partitions, and all of the data which was\nstored in those partitions. It also removes the partitioning definition\n(.par) file associated with the dropped table.\n\nUse IF EXISTS to prevent an error from occurring for tables that do not\nexist. A NOTE is generated for each nonexistent table when using IF\nEXISTS. See [HELP SHOW WARNINGS].\n\nRESTRICT and CASCADE are permitted to make porting easier. In MySQL\n5.5, they do nothing.\n\n*Note*: DROP TABLE automatically commits the current active\ntransaction, unless you use the TEMPORARY keyword.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/drop-table.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/drop-table.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (389,32,'NOW','Syntax:\nNOW()\n\nReturns the current date and time as a value in \'YYYY-MM-DD HH:MM:SS\'\nor YYYYMMDDHHMMSS.uuuuuu format, depending on whether the function is\nused in a string or numeric context. The value is expressed in the\ncurrent time zone.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT NOW();\n -> \'2007-12-15 23:50:26\'\nmysql> SELECT NOW() + 0;\n -> 20071215235026.000000\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (390,27,'SHOW ENGINES','Syntax:\nSHOW [STORAGE] ENGINES\n\nSHOW ENGINES displays status information about the server\'s storage\nengines. This is particularly useful for checking whether a storage\nengine is supported, or to see what the default engine is. This\ninformation can also be obtained from the INFORMATION_SCHEMA ENGINES\ntable. See http://dev.mysql.com/doc/refman/5.5/en/engines-table.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-engines.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-engines.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (391,23,'LONGBLOB','LONGBLOB\n\nA BLOB column with a maximum length of 4,294,967,295 or 4GB (232 - 1)\nbytes. The effective maximum length of LONGBLOB columns depends on the\nconfigured maximum packet size in the client/server protocol and\navailable memory. Each LONGBLOB value is stored using a 4-byte length\nprefix that indicates the number of bytes in the value.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (392,23,'YEAR DATA TYPE','YEAR[(2|4)]\n\nA year in two-digit or four-digit format. The default is four-digit\nformat. YEAR(2) or YEAR(4) differ in display format, but have the same\nrange of values. In four-digit format, values display as 1901 to 2155,\nand 0000. In two-digit format, values display as 70 to 69, representing\nyears from 1970 to 2069. MySQL displays YEAR values in YYYY or YY\nformat, but permits assignment of values to YEAR columns using either\nstrings or numbers.\n\n*Note*: The YEAR(2) data type has certain issues that you should\nconsider before choosing to use it. As of MySQL 5.5.27, YEAR(2) is\ndeprecated. For more information, see\nhttp://dev.mysql.com/doc/refman/5.5/en/migrating-to-year4.html.\n\nFor additional information about YEAR display format and interpretation\nof input values, see http://dev.mysql.com/doc/refman/5.5/en/year.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (393,16,'SUM','Syntax:\nSUM([DISTINCT] expr)\n\nReturns the sum of expr. If the return set has no rows, SUM() returns\nNULL. The DISTINCT keyword can be used to sum only the distinct values\nof expr.\n\nSUM() returns NULL if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (394,38,'REPEAT FUNCTION','Syntax:\nREPEAT(str,count)\n\nReturns a string consisting of the string str repeated count times. If\ncount is less than 1, returns an empty string. Returns NULL if str or\ncount are NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT REPEAT(\'MySQL\', 3);\n -> \'MySQLMySQLMySQL\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (395,38,'SOUNDEX','Syntax:\nSOUNDEX(str)\n\nReturns a soundex string from str. Two strings that sound almost the\nsame should have identical soundex strings. A standard soundex string\nis four characters long, but the SOUNDEX() function returns an\narbitrarily long string. You can use SUBSTRING() on the result to get a\nstandard soundex string. All nonalphabetic characters in str are\nignored. All international alphabetic characters outside the A-Z range\nare treated as vowels.\n\n*Important*: When using SOUNDEX(), you should be aware of the following\nlimitations:\n\no This function, as currently implemented, is intended to work well\n with strings that are in the English language only. Strings in other\n languages may not produce reliable results.\n\no This function is not guaranteed to provide consistent results with\n strings that use multibyte character sets, including utf-8.\n\n We hope to remove these limitations in a future release. See Bug\n #22638 for more information.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT SOUNDEX(\'Hello\');\n -> \'H400\'\nmysql> SELECT SOUNDEX(\'Quadratically\');\n -> \'Q36324\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (396,7,'MBRTOUCHES','MBRTouches(g1,g2)\n\nReturns 1 or 0 to indicate whether the minimum bounding rectangles of\nthe two geometries g1 and g2 touch. Two geometries spatially touch if\nthe interiors of the geometries do not intersect, but the boundary of\none of the geometries intersects either the boundary or the interior of\nthe other.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (397,40,'DROP EVENT','Syntax:\nDROP EVENT [IF EXISTS] event_name\n\nThis statement drops the event named event_name. The event immediately\nceases being active, and is deleted completely from the server.\n\nIf the event does not exist, the error ERROR 1517 (HY000): Unknown\nevent \'event_name\' results. You can override this and cause the\nstatement to generate a warning for nonexistent events instead using IF\nEXISTS.\n\nThis statement requires the EVENT privilege for the schema to which the\nevent to be dropped belongs.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/drop-event.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/drop-event.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (398,23,'VARBINARY','VARBINARY(M)\n\nThe VARBINARY type is similar to the VARCHAR type, but stores binary\nbyte strings rather than nonbinary character strings. M represents the\nmaximum column length in bytes.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (399,27,'LOAD INDEX','Syntax:\nLOAD INDEX INTO CACHE\n tbl_index_list [, tbl_index_list] ...\n\ntbl_index_list:\n tbl_name\n [PARTITION (partition_list | ALL)]\n [[INDEX|KEY] (index_name[, index_name] ...)]\n [IGNORE LEAVES]\n\npartition_list:\n partition_name[, partition_name][, ...]\n\nThe LOAD INDEX INTO CACHE statement preloads a table index into the key\ncache to which it has been assigned by an explicit CACHE INDEX\nstatement, or into the default key cache otherwise.\n\nLOAD INDEX INTO CACHE is used only for MyISAM tables. In MySQL 5.5, it\nis also supported for partitioned MyISAM tables; in addition, indexes\non partitioned tables can be preloaded for one, several, or all\npartitions.\n\nThe IGNORE LEAVES modifier causes only blocks for the nonleaf nodes of\nthe index to be preloaded.\n\nIGNORE LEAVES is also supported for partitioned MyISAM tables.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/load-index.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/load-index.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (400,28,'UNION','Syntax:\nSELECT ...\nUNION [ALL | DISTINCT] SELECT ...\n[UNION [ALL | DISTINCT] SELECT ...]\n\nUNION is used to combine the result from multiple SELECT statements\ninto a single result set.\n\nThe column names from the first SELECT statement are used as the column\nnames for the results returned. Selected columns listed in\ncorresponding positions of each SELECT statement should have the same\ndata type. (For example, the first column selected by the first\nstatement should have the same type as the first column selected by the\nother statements.)\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/union.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/union.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (401,32,'TO_DAYS','Syntax:\nTO_DAYS(date)\n\nGiven a date date, returns a day number (the number of days since year\n0).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT TO_DAYS(950501);\n -> 728779\nmysql> SELECT TO_DAYS(\'2007-10-07\');\n -> 733321\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (402,27,'SHOW CREATE DATABASE','Syntax:\nSHOW CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name\n\nShows the CREATE DATABASE statement that creates the named database. If\nthe SHOW statement includes an IF NOT EXISTS clause, the output too\nincludes such a clause. SHOW CREATE SCHEMA is a synonym for SHOW CREATE\nDATABASE.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-create-database.html\n\n','mysql> SHOW CREATE DATABASE test\\G\n*************************** 1. row ***************************\n Database: test\nCreate Database: CREATE DATABASE `test`\n /*!40100 DEFAULT CHARACTER SET latin1 */\n\nmysql> SHOW CREATE SCHEMA test\\G\n*************************** 1. row ***************************\n Database: test\nCreate Database: CREATE DATABASE `test`\n /*!40100 DEFAULT CHARACTER SET latin1 */\n','http://dev.mysql.com/doc/refman/5.5/en/show-create-database.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (403,27,'SHOW INDEX','Syntax:\nSHOW {INDEX | INDEXES | KEYS}\n {FROM | IN} tbl_name\n [{FROM | IN} db_name]\n [WHERE expr]\n\nSHOW INDEX returns table index information. The format resembles that\nof the SQLStatistics call in ODBC. This statement requires some\nprivilege for any column in the table.\nYou can use db_name.tbl_name as an alternative to the tbl_name FROM\ndb_name syntax. These two statements are equivalent:\n\nSHOW INDEX FROM mytable FROM mydb;\nSHOW INDEX FROM mydb.mytable;\n\nThe WHERE clause can be given to select rows using more general\nconditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.5/en/extended-show.html.\n\nYou can also list a table\'s indexes with the mysqlshow -k db_name\ntbl_name command.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-index.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-index.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (404,15,'!','Syntax:\nNOT, !\n\nLogical NOT. Evaluates to 1 if the operand is 0, to 0 if the operand is\nnonzero, and NOT NULL returns NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/logical-operators.html\n\n','mysql> SELECT NOT 10;\n -> 0\nmysql> SELECT NOT 0;\n -> 1\nmysql> SELECT NOT NULL;\n -> NULL\nmysql> SELECT ! (1+1);\n -> 0\nmysql> SELECT ! 1+1;\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/logical-operators.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (405,23,'DOUBLE','DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]\n\nA normal-size (double-precision) floating-point number. Permissible\nvalues are -1.7976931348623157E+308 to -2.2250738585072014E-308, 0, and\n2.2250738585072014E-308 to 1.7976931348623157E+308. These are the\ntheoretical limits, based on the IEEE standard. The actual range might\nbe slightly smaller depending on your hardware or operating system.\n\nM is the total number of digits and D is the number of digits following\nthe decimal point. If M and D are omitted, values are stored to the\nlimits permitted by the hardware. A double-precision floating-point\nnumber is accurate to approximately 15 decimal places.\n\nUNSIGNED, if specified, disallows negative values.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (406,24,'DECLARE HANDLER','Syntax:\nDECLARE handler_action HANDLER\n FOR condition_value [, condition_value] ...\n statement\n\nhandler_action:\n CONTINUE\n | EXIT\n | UNDO\n\ncondition_value:\n mysql_error_code\n | SQLSTATE [VALUE] sqlstate_value\n | condition_name\n | SQLWARNING\n | NOT FOUND\n | SQLEXCEPTION\n\nThe DECLARE ... HANDLER statement specifies a handler that deals with\none or more conditions. If one of these conditions occurs, the\nspecified statement executes. statement can be a simple statement such\nas SET var_name = value, or a compound statement written using BEGIN\nand END (see [HELP BEGIN END]).\n\nHandler declarations must appear after variable or condition\ndeclarations.\n\nThe handler_action value indicates what action the handler takes after\nexecution of the handler statement:\n\no CONTINUE: Execution of the current program continues.\n\no EXIT: Execution terminates for the BEGIN ... END compound statement\n in which the handler is declared. This is true even if the condition\n occurs in an inner block.\n\no UNDO: Not supported.\n\nThe condition_value for DECLARE ... HANDLER indicates the specific\ncondition or class of conditions that activates the handler:\n\no A MySQL error code (a number) or an SQLSTATE value (a 5-character\n string literal). You should not use MySQL error code 0 or SQLSTATE\n values that begin with \'00\', because those indicate success rather\n than an error condition. For a list of MySQL error codes and SQLSTATE\n values, see\n http://dev.mysql.com/doc/refman/5.5/en/error-messages-server.html.\n\no A condition name previously specified with DECLARE ... CONDITION. A\n condition name can be associated with a MySQL error code or SQLSTATE\n value. See [HELP DECLARE CONDITION].\n\no SQLWARNING is shorthand for the class of SQLSTATE values that begin\n with \'01\'.\n\no NOT FOUND is shorthand for the class of SQLSTATE values that begin\n with \'02\'. This is relevant within the context of cursors and is used\n to control what happens when a cursor reaches the end of a data set.\n If no more rows are available, a No Data condition occurs with\n SQLSTATE value \'02000\'. To detect this condition, you can set up a\n handler for it (or for a NOT FOUND condition). For an example, see\n http://dev.mysql.com/doc/refman/5.5/en/cursors.html. This condition\n also occurs for SELECT ... INTO var_list statements that retrieve no\n rows.\n\no SQLEXCEPTION is shorthand for the class of SQLSTATE values that do\n not begin with \'00\', \'01\', or \'02\'.\n\nIf a condition occurs for which no handler has been declared, the\naction taken depends on the condition class:\n\no For SQLEXCEPTION conditions, the stored program terminates at the\n statement that raised the condition, as if there were an EXIT\n handler. If the program was called by another stored program, the\n calling program handles the condition using the handler selection\n rules applied to its own handlers.\n\no For SQLWARNING conditions, the program continues executing, as if\n there were a CONTINUE handler.\n\no For NOT FOUND conditions, if the condition was raised normally, the\n action is CONTINUE. If it was raised by SIGNAL or RESIGNAL, the\n action is EXIT.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/declare-handler.html\n\n','mysql> CREATE TABLE test.t (s1 INT, PRIMARY KEY (s1));\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> delimiter //\n\nmysql> CREATE PROCEDURE handlerdemo ()\n -> BEGIN\n -> DECLARE CONTINUE HANDLER FOR SQLSTATE \'23000\' SET @x2 = 1;\n -> SET @x = 1;\n -> INSERT INTO test.t VALUES (1);\n -> SET @x = 2;\n -> INSERT INTO test.t VALUES (1);\n -> SET @x = 3;\n -> END;\n -> //\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> CALL handlerdemo()//\nQuery OK, 0 rows affected, 1 warning (0.01 sec)\n\nmysql> SHOW WARNINGS//\n+-------+------+---------------------------------------+\n| Level | Code | Message |\n+-------+------+---------------------------------------+\n| Error | 1062 | Duplicate entry \'1\' for key \'PRIMARY\' |\n+-------+------+---------------------------------------+\n1 row in set (0.00 sec)\n\n\nmysql> SELECT @x//\n +------+\n | @x |\n +------+\n | 3 |\n +------+\n 1 row in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.5/en/declare-handler.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (407,23,'TIME','TIME\n\nA time. The range is \'-838:59:59\' to \'838:59:59\'. MySQL displays TIME\nvalues in \'HH:MM:SS\' format, but permits assignment of values to TIME\ncolumns using either strings or numbers.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (408,17,'SYSTEM_USER','Syntax:\nSYSTEM_USER()\n\nSYSTEM_USER() is a synonym for USER().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (409,32,'CURRENT_DATE','Syntax:\nCURRENT_DATE, CURRENT_DATE()\n\nCURRENT_DATE and CURRENT_DATE() are synonyms for CURDATE().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (410,40,'TRUNCATE TABLE','Syntax:\nTRUNCATE [TABLE] tbl_name\n\nTRUNCATE TABLE empties a table completely. It requires the DROP\nprivilege.\n\nLogically, TRUNCATE TABLE is similar to a DELETE statement that deletes\nall rows, or a sequence of DROP TABLE and CREATE TABLE statements. To\nachieve high performance, it bypasses the DML method of deleting data.\nThus, it cannot be rolled back, it does not cause ON DELETE triggers to\nfire, and it cannot be performed for InnoDB tables with parent-child\nforeign key relationships.\n\nAlthough TRUNCATE TABLE is similar to DELETE, it is classified as a DDL\nstatement rather than a DML statement. It differs from DELETE in the\nfollowing ways in MySQL 5.5:\n\no Truncate operations drop and re-create the table, which is much\n faster than deleting rows one by one, particularly for large tables.\n\no Truncate operations cause an implicit commit, and so cannot be rolled\n back.\n\no Truncation operations cannot be performed if the session holds an\n active table lock.\n\no TRUNCATE TABLE fails for an InnoDB table if there are any FOREIGN KEY\n constraints from other tables that reference the table. Foreign key\n constraints between columns of the same table are permitted.\n\no Truncation operations do not return a meaningful value for the number\n of deleted rows. The usual result is "0 rows affected," which should\n be interpreted as "no information."\n\no As long as the table format file tbl_name.frm is valid, the table can\n be re-created as an empty table with TRUNCATE TABLE, even if the data\n or index files have become corrupted.\n\no Any AUTO_INCREMENT value is reset to its start value. This is true\n even for MyISAM and InnoDB, which normally do not reuse sequence\n values.\n\no When used with partitioned tables, TRUNCATE TABLE preserves the\n partitioning; that is, the data and index files are dropped and\n re-created, while the partition definitions (.par) file is\n unaffected.\n\no The TRUNCATE TABLE statement does not invoke ON DELETE triggers.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/truncate-table.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/truncate-table.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (411,2,'AREA','Area(poly)\n\nReturns a double-precision number indicating the area of the Polygon or\nMultiPolygon value poly, as measured in its spatial reference system.\nThe result is 0 for arguments of dimension 0 or 1.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-polygon-property-functions.html\n\n','mysql> SET @poly = \'Polygon((0 0,0 3,3 0,0 0),(1 1,1 2,2 1,1 1))\';\nmysql> SELECT Area(GeomFromText(@poly));\n+---------------------------+\n| Area(GeomFromText(@poly)) |\n+---------------------------+\n| 4 |\n+---------------------------+\n\nmysql> SET @mpoly =\n -> \'MultiPolygon(((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1)))\';\nmysql> SELECT Area(GeomFromText(@mpoly));\n+----------------------------+\n| Area(GeomFromText(@mpoly)) |\n+----------------------------+\n| 8 |\n+----------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-polygon-property-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (412,8,'START SLAVE','Syntax:\nSTART SLAVE [thread_types]\n\nSTART SLAVE [SQL_THREAD] UNTIL\n MASTER_LOG_FILE = \'log_name\', MASTER_LOG_POS = log_pos\n\nSTART SLAVE [SQL_THREAD] UNTIL\n RELAY_LOG_FILE = \'log_name\', RELAY_LOG_POS = log_pos\n\nthread_types:\n [thread_type [, thread_type] ... ]\n\nthread_type: IO_THREAD | SQL_THREAD\n\nSTART SLAVE with no thread_type options starts both of the slave\nthreads. The I/O thread reads events from the master server and stores\nthem in the relay log. The SQL thread reads events from the relay log\nand executes them. START SLAVE requires the SUPER privilege.\n\nIf START SLAVE succeeds in starting the slave threads, it returns\nwithout any error. However, even in that case, it might be that the\nslave threads start and then later stop (for example, because they do\nnot manage to connect to the master or read its binary log, or some\nother problem). START SLAVE does not warn you about this. You must\ncheck the slave\'s error log for error messages generated by the slave\nthreads, or check that they are running satisfactorily with SHOW SLAVE\nSTATUS.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/start-slave.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/start-slave.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (413,27,'SHOW WARNINGS','Syntax:\nSHOW WARNINGS [LIMIT [offset,] row_count]\nSHOW COUNT(*) WARNINGS\n\nSHOW WARNINGS is a diagnostic statement that displays information about\nthe conditions (errors, warnings, and notes) resulting from executing a\nstatement in the current session. Warnings are generated for DML\nstatements such as INSERT, UPDATE, and LOAD DATA INFILE as well as DDL\nstatements such as CREATE TABLE and ALTER TABLE.\n\nThe LIMIT clause has the same syntax as for the SELECT statement. See\nhttp://dev.mysql.com/doc/refman/5.5/en/select.html.\n\nSHOW WARNINGS is also used following EXPLAIN EXTENDED, to display the\nextra information generated by EXPLAIN when the EXTENDED keyword is\nused. See http://dev.mysql.com/doc/refman/5.5/en/explain-extended.html.\n\nSHOW WARNINGS displays information about the conditions resulting from\nthe most recent statement in the current session that generated\nmessages. It shows nothing if the most recent statement used a table\nand generated no messages. (That is, statements that use a table but\ngenerate no messages clear the message list.) Statements that do not\nuse tables and do not generate messages have no effect on the message\nlist.\n\nThe SHOW COUNT(*) WARNINGS diagnostic statement displays the total\nnumber of errors, warnings, and notes. You can also retrieve this\nnumber from the warning_count system variable:\n\nSHOW COUNT(*) WARNINGS;\nSELECT @@warning_count;\n\nA related diagnostic statement, SHOW ERRORS, shows only error\nconditions (it excludes warnings and notes), and SHOW COUNT(*) ERRORS\nstatement displays the total number of errors. See [HELP SHOW ERRORS].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-warnings.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-warnings.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (414,10,'DROP USER','Syntax:\nDROP USER user [, user] ...\n\nThe DROP USER statement removes one or more MySQL accounts and their\nprivileges. It removes privilege rows for the account from all grant\ntables. An error occurs for accounts that do not exist. To use this\nstatement, you must have the global CREATE USER privilege or the DELETE\nprivilege for the mysql database.\n\nEach account name uses the format described in\nhttp://dev.mysql.com/doc/refman/5.5/en/account-names.html. For example:\n\nDROP USER \'jeffrey\'@\'localhost\';\n\nIf you specify only the user name part of the account name, a host name\npart of \'%\' is used.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/drop-user.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/drop-user.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (415,38,'SUBSTRING','Syntax:\nSUBSTRING(str,pos), SUBSTRING(str FROM pos), SUBSTRING(str,pos,len),\nSUBSTRING(str FROM pos FOR len)\n\nThe forms without a len argument return a substring from string str\nstarting at position pos. The forms with a len argument return a\nsubstring len characters long from string str, starting at position\npos. The forms that use FROM are standard SQL syntax. It is also\npossible to use a negative value for pos. In this case, the beginning\nof the substring is pos characters from the end of the string, rather\nthan the beginning. A negative value may be used for pos in any of the\nforms of this function.\n\nFor all forms of SUBSTRING(), the position of the first character in\nthe string from which the substring is to be extracted is reckoned as\n1.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT SUBSTRING(\'Quadratically\',5);\n -> \'ratically\'\nmysql> SELECT SUBSTRING(\'foobarbar\' FROM 4);\n -> \'barbar\'\nmysql> SELECT SUBSTRING(\'Quadratically\',5,6);\n -> \'ratica\'\nmysql> SELECT SUBSTRING(\'Sakila\', -3);\n -> \'ila\'\nmysql> SELECT SUBSTRING(\'Sakila\', -5, 3);\n -> \'aki\'\nmysql> SELECT SUBSTRING(\'Sakila\' FROM -4 FOR 2);\n -> \'ki\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (416,37,'ISEMPTY','IsEmpty(g)\n\nThis function is a placeholder that returns 0 for any valid geometry\nvalue, 1 for any invalid geometry value or NULL.\n\nMySQL does not support GIS EMPTY values such as POINT EMPTY.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (417,27,'SHOW FUNCTION STATUS','Syntax:\nSHOW FUNCTION STATUS\n [LIKE \'pattern\' | WHERE expr]\n\nThis statement is similar to SHOW PROCEDURE STATUS but for stored\nfunctions. See [HELP SHOW PROCEDURE STATUS].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-function-status.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-function-status.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (418,38,'LTRIM','Syntax:\nLTRIM(str)\n\nReturns the string str with leading space characters removed.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT LTRIM(\' barbar\');\n -> \'barbar\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (419,7,'MBRDISJOINT','MBRDisjoint(g1,g2)\n\nReturns 1 or 0 to indicate whether the minimum bounding rectangles of\nthe two geometries g1 and g2 are disjoint (do not intersect).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mysql-specific.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (420,14,'VALUES','Syntax:\nVALUES(col_name)\n\nIn an INSERT ... ON DUPLICATE KEY UPDATE statement, you can use the\nVALUES(col_name) function in the UPDATE clause to refer to column\nvalues from the INSERT portion of the statement. In other words,\nVALUES(col_name) in the UPDATE clause refers to the value of col_name\nthat would be inserted, had no duplicate-key conflict occurred. This\nfunction is especially useful in multiple-row inserts. The VALUES()\nfunction is meaningful only in the ON DUPLICATE KEY UPDATE clause of\nINSERT statements and returns NULL otherwise. See\nhttp://dev.mysql.com/doc/refman/5.5/en/insert-on-duplicate.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html\n\n','mysql> INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6)\n -> ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b);\n','http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (421,28,'CALL','Syntax:\nCALL sp_name([parameter[,...]])\nCALL sp_name[()]\n\nThe CALL statement invokes a stored procedure that was defined\npreviously with CREATE PROCEDURE.\n\nStored procedures that take no arguments can be invoked without\nparentheses. That is, CALL p() and CALL p are equivalent.\n\nCALL can pass back values to its caller using parameters that are\ndeclared as OUT or INOUT parameters. When the procedure returns, a\nclient program can also obtain the number of rows affected for the\nfinal statement executed within the routine: At the SQL level, call the\nROW_COUNT() function; from the C API, call the mysql_affected_rows()\nfunction.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/call.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/call.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (422,12,'ENCODE','Syntax:\nENCODE(str,pass_str)\n\nEncrypt str using pass_str as the password. The result is a binary\nstring of the same length as str. To decrypt the result, use DECODE().\n\nThe ENCODE() function should no longer be used. If you still need to\nuse ENCODE(), a salt value must be used with it to reduce risk. For\nexample:\n\nENCODE(\'plaintext\', CONCAT(\'my_random_salt\',\'my_secret_password\'))\n\nA new random salt value must be used whenever a password is updated.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (423,38,'SUBSTRING_INDEX','Syntax:\nSUBSTRING_INDEX(str,delim,count)\n\nReturns the substring from string str before count occurrences of the\ndelimiter delim. If count is positive, everything to the left of the\nfinal delimiter (counting from the left) is returned. If count is\nnegative, everything to the right of the final delimiter (counting from\nthe right) is returned. SUBSTRING_INDEX() performs a case-sensitive\nmatch when searching for delim.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT SUBSTRING_INDEX(\'www.mysql.com\', \'.\', 2);\n -> \'www.mysql\'\nmysql> SELECT SUBSTRING_INDEX(\'www.mysql.com\', \'.\', -2);\n -> \'mysql.com\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (424,32,'TIMESTAMPADD','Syntax:\nTIMESTAMPADD(unit,interval,datetime_expr)\n\nAdds the integer expression interval to the date or datetime expression\ndatetime_expr. The unit for interval is given by the unit argument,\nwhich should be one of the following values: MICROSECOND\n(microseconds), SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, or\nYEAR.\n\nIt is possible to use FRAC_SECOND in place of MICROSECOND, but\nFRAC_SECOND is deprecated. FRAC_SECOND was removed in MySQL 5.5.3.\n\nThe unit value may be specified using one of keywords as shown, or with\na prefix of SQL_TSI_. For example, DAY and SQL_TSI_DAY both are legal.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT TIMESTAMPADD(MINUTE,1,\'2003-01-02\');\n -> \'2003-01-02 00:01:00\'\nmysql> SELECT TIMESTAMPADD(WEEK,1,\'2003-01-02\');\n -> \'2003-01-09\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (425,3,'TRUNCATE','Syntax:\nTRUNCATE(X,D)\n\nReturns the number X, truncated to D decimal places. If D is 0, the\nresult has no decimal point or fractional part. D can be negative to\ncause D digits left of the decimal point of the value X to become zero.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT TRUNCATE(1.223,1);\n -> 1.2\nmysql> SELECT TRUNCATE(1.999,1);\n -> 1.9\nmysql> SELECT TRUNCATE(1.999,0);\n -> 1\nmysql> SELECT TRUNCATE(-1.999,1);\n -> -1.9\nmysql> SELECT TRUNCATE(122,-2);\n -> 100\nmysql> SELECT TRUNCATE(10.28*100,0);\n -> 1028\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (426,27,'SHOW','SHOW has many forms that provide information about databases, tables,\ncolumns, or status information about the server. This section describes\nthose following:\n\nSHOW AUTHORS\nSHOW {BINARY | MASTER} LOGS\nSHOW BINLOG EVENTS [IN \'log_name\'] [FROM pos] [LIMIT [offset,] row_count]\nSHOW CHARACTER SET [like_or_where]\nSHOW COLLATION [like_or_where]\nSHOW [FULL] COLUMNS FROM tbl_name [FROM db_name] [like_or_where]\nSHOW CONTRIBUTORS\nSHOW CREATE DATABASE db_name\nSHOW CREATE EVENT event_name\nSHOW CREATE FUNCTION func_name\nSHOW CREATE PROCEDURE proc_name\nSHOW CREATE TABLE tbl_name\nSHOW CREATE TRIGGER trigger_name\nSHOW CREATE VIEW view_name\nSHOW DATABASES [like_or_where]\nSHOW ENGINE engine_name {STATUS | MUTEX}\nSHOW [STORAGE] ENGINES\nSHOW ERRORS [LIMIT [offset,] row_count]\nSHOW EVENTS\nSHOW FUNCTION CODE func_name\nSHOW FUNCTION STATUS [like_or_where]\nSHOW GRANTS FOR user\nSHOW INDEX FROM tbl_name [FROM db_name]\nSHOW MASTER STATUS\nSHOW OPEN TABLES [FROM db_name] [like_or_where]\nSHOW PLUGINS\nSHOW PROCEDURE CODE proc_name\nSHOW PROCEDURE STATUS [like_or_where]\nSHOW PRIVILEGES\nSHOW [FULL] PROCESSLIST\nSHOW PROFILE [types] [FOR QUERY n] [OFFSET n] [LIMIT n]\nSHOW PROFILES\nSHOW SLAVE HOSTS\nSHOW SLAVE STATUS\nSHOW [GLOBAL | SESSION] STATUS [like_or_where]\nSHOW TABLE STATUS [FROM db_name] [like_or_where]\nSHOW [FULL] TABLES [FROM db_name] [like_or_where]\nSHOW TRIGGERS [FROM db_name] [like_or_where]\nSHOW [GLOBAL | SESSION] VARIABLES [like_or_where]\nSHOW WARNINGS [LIMIT [offset,] row_count]\n\nlike_or_where:\n LIKE \'pattern\'\n | WHERE expr\n\nIf the syntax for a given SHOW statement includes a LIKE \'pattern\'\npart, \'pattern\' is a string that can contain the SQL "%" and "_"\nwildcard characters. The pattern is useful for restricting statement\noutput to matching values.\n\nSeveral SHOW statements also accept a WHERE clause that provides more\nflexibility in specifying which rows to display. See\nhttp://dev.mysql.com/doc/refman/5.5/en/extended-show.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (427,27,'SHOW VARIABLES','Syntax:\nSHOW [GLOBAL | SESSION] VARIABLES\n [LIKE \'pattern\' | WHERE expr]\n\nSHOW VARIABLES shows the values of MySQL system variables. This\ninformation also can be obtained using the mysqladmin variables\ncommand. The LIKE clause, if present, indicates which variable names to\nmatch. The WHERE clause can be given to select rows using more general\nconditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.5/en/extended-show.html. This\nstatement does not require any privilege. It requires only the ability\nto connect to the server.\n\nWith the GLOBAL modifier, SHOW VARIABLES displays the values that are\nused for new connections to MySQL. As of MySQL 5.5.3, if a variable has\nno global value, no value is displayed. Before 5.5.3, the session value\nis displayed. With SESSION, SHOW VARIABLES displays the values that are\nin effect for the current connection. If no modifier is present, the\ndefault is SESSION. LOCAL is a synonym for SESSION.\nWith a LIKE clause, the statement displays only rows for those\nvariables with names that match the pattern. To obtain the row for a\nspecific variable, use a LIKE clause as shown:\n\nSHOW VARIABLES LIKE \'max_join_size\';\nSHOW SESSION VARIABLES LIKE \'max_join_size\';\n\nTo get a list of variables whose name match a pattern, use the "%"\nwildcard character in a LIKE clause:\n\nSHOW VARIABLES LIKE \'%size%\';\nSHOW GLOBAL VARIABLES LIKE \'%size%\';\n\nWildcard characters can be used in any position within the pattern to\nbe matched. Strictly speaking, because "_" is a wildcard that matches\nany single character, you should escape it as "\\_" to match it\nliterally. In practice, this is rarely necessary.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-variables.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-variables.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (428,27,'BINLOG','Syntax:\nBINLOG \'str\'\n\nBINLOG is an internal-use statement. It is generated by the mysqlbinlog\nprogram as the printable representation of certain events in binary log\nfiles. (See http://dev.mysql.com/doc/refman/5.5/en/mysqlbinlog.html.)\nThe \'str\' value is a base 64-encoded string the that server decodes to\ndetermine the data change indicated by the corresponding event. This\nstatement requires the SUPER privilege.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/binlog.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/binlog.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (429,3,'ATAN2','Syntax:\nATAN(Y,X), ATAN2(Y,X)\n\nReturns the arc tangent of the two variables X and Y. It is similar to\ncalculating the arc tangent of Y / X, except that the signs of both\narguments are used to determine the quadrant of the result.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT ATAN(-2,2);\n -> -0.78539816339745\nmysql> SELECT ATAN2(PI(),0);\n -> 1.5707963267949\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (430,32,'HOUR','Syntax:\nHOUR(time)\n\nReturns the hour for time. The range of the return value is 0 to 23 for\ntime-of-day values. However, the range of TIME values actually is much\nlarger, so HOUR can return values greater than 23.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT HOUR(\'10:05:03\');\n -> 10\nmysql> SELECT HOUR(\'272:59:59\');\n -> 272\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (431,28,'SELECT','Syntax:\nSELECT\n [ALL | DISTINCT | DISTINCTROW ]\n [HIGH_PRIORITY]\n [STRAIGHT_JOIN]\n [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]\n [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]\n select_expr [, select_expr ...]\n [FROM table_references\n [WHERE where_condition]\n [GROUP BY {col_name | expr | position}\n [ASC | DESC], ... [WITH ROLLUP]]\n [HAVING where_condition]\n [ORDER BY {col_name | expr | position}\n [ASC | DESC], ...]\n [LIMIT {[offset,] row_count | row_count OFFSET offset}]\n [PROCEDURE procedure_name(argument_list)]\n [INTO OUTFILE \'file_name\'\n [CHARACTER SET charset_name]\n export_options\n | INTO DUMPFILE \'file_name\'\n | INTO var_name [, var_name]]\n [FOR UPDATE | LOCK IN SHARE MODE]]\n\nSELECT is used to retrieve rows selected from one or more tables, and\ncan include UNION statements and subqueries. See [HELP UNION], and\nhttp://dev.mysql.com/doc/refman/5.5/en/subqueries.html.\n\nThe most commonly used clauses of SELECT statements are these:\n\no Each select_expr indicates a column that you want to retrieve. There\n must be at least one select_expr.\n\no table_references indicates the table or tables from which to retrieve\n rows. Its syntax is described in [HELP JOIN].\n\no The WHERE clause, if given, indicates the condition or conditions\n that rows must satisfy to be selected. where_condition is an\n expression that evaluates to true for each row to be selected. The\n statement selects all rows if there is no WHERE clause.\n\n In the WHERE expression, you can use any of the functions and\n operators that MySQL supports, except for aggregate (summary)\n functions. See\n http://dev.mysql.com/doc/refman/5.5/en/expressions.html, and\n http://dev.mysql.com/doc/refman/5.5/en/functions.html.\n\nSELECT can also be used to retrieve rows computed without reference to\nany table.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/select.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/select.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (432,16,'GROUP_CONCAT','Syntax:\nGROUP_CONCAT(expr)\n\nThis function returns a string result with the concatenated non-NULL\nvalues from a group. It returns NULL if there are no non-NULL values.\nThe full syntax is as follows:\n\nGROUP_CONCAT([DISTINCT] expr [,expr ...]\n [ORDER BY {unsigned_integer | col_name | expr}\n [ASC | DESC] [,col_name ...]]\n [SEPARATOR str_val])\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','mysql> SELECT student_name,\n -> GROUP_CONCAT(test_score)\n -> FROM student\n -> GROUP BY student_name;\n','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (433,17,'BENCHMARK','Syntax:\nBENCHMARK(count,expr)\n\nThe BENCHMARK() function executes the expression expr repeatedly count\ntimes. It may be used to time how quickly MySQL processes the\nexpression. The result value is always 0. The intended use is from\nwithin the mysql client, which reports query execution times:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','mysql> SELECT BENCHMARK(1000000,ENCODE(\'hello\',\'goodbye\'));\n+----------------------------------------------+\n| BENCHMARK(1000000,ENCODE(\'hello\',\'goodbye\')) |\n+----------------------------------------------+\n| 0 |\n+----------------------------------------------+\n1 row in set (4.74 sec)\n','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (434,14,'NAME_CONST','Syntax:\nNAME_CONST(name,value)\n\nReturns the given value. When used to produce a result set column,\nNAME_CONST() causes the column to have the given name. The arguments\nshould be constants.\n\nmysql> SELECT NAME_CONST(\'myname\', 14);\n+--------+\n| myname |\n+--------+\n| 14 |\n+--------+\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (435,27,'SHOW ENGINE','Syntax:\nSHOW ENGINE engine_name {STATUS | MUTEX}\n\nSHOW ENGINE displays operational information about a storage engine. It\nrequires the PROCESS privilege. The statement has these variants:\n\nSHOW ENGINE INNODB STATUS\nSHOW ENGINE INNODB MUTEX\nSHOW ENGINE {NDB | NDBCLUSTER} STATUS\nSHOW ENGINE PERFORMANCE_SCHEMA STATUS\n\nSHOW ENGINE INNODB STATUS displays extensive information from the\nstandard InnoDB Monitor about the state of the InnoDB storage engine.\nFor information about the standard monitor and other InnoDB Monitors\nthat provide information about InnoDB processing, see\nhttp://dev.mysql.com/doc/refman/5.5/en/innodb-monitors.html.\n\nSHOW ENGINE INNODB MUTEX displays InnoDB mutex and rw-lock statistics.\nStatement output has the following columns:\n\no Type\n\n Always InnoDB.\n\no Name\n\n The source file where the mutex is implemented, and the line number\n in the file where the mutex is created. The line number is specific\n to your version of MySQL.\n\no Status\n\n The mutex status. This field displays several values if UNIV_DEBUG\n was defined at MySQL compilation time (for example, in include/univ.i\n in the InnoDB part of the MySQL source tree). If UNIV_DEBUG was not\n defined, the statement displays only the os_waits value. In the\n latter case (without UNIV_DEBUG), the information on which the output\n is based is insufficient to distinguish regular mutexes and mutexes\n that protect rw-locks (which permit multiple readers or a single\n writer). Consequently, the output may appear to contain multiple rows\n for the same mutex.\n\n o count indicates how many times the mutex was requested.\n\n o spin_waits indicates how many times the spinlock had to run.\n\n o spin_rounds indicates the number of spinlock rounds. (spin_rounds\n divided by spin_waits provides the average round count.)\n\n o os_waits indicates the number of operating system waits. This\n occurs when the spinlock did not work (the mutex was not locked\n during the spinlock and it was necessary to yield to the operating\n system and wait).\n\n o os_yields indicates the number of times a thread trying to lock a\n mutex gave up its timeslice and yielded to the operating system (on\n the presumption that permitting other threads to run will free the\n mutex so that it can be locked).\n\n o os_wait_times indicates the amount of time (in ms) spent in\n operating system waits. In MySQL 5.5 timing is disabled and this\n value is always 0.\n\nAs of MySQL 5.5, SHOW ENGINE INNODB MUTEX skips the mutexes and\nrw-locks of buffer pool blocks, as the amount of output can be\noverwhelming on systems with a large buffer pool. (There is one mutex\nand one rw-lock in each 16K buffer pool block, and there are 65,536\nblocks per gigabyte.) SHOW ENGINE INNODB MUTEX also does not list any\nmutexes or rw-locks that have never been waited on (os_waits=0). Thus,\nSHOW ENGINE INNODB MUTEX only displays information about mutexes and\nrw-locks outside of the buffer pool that have caused at least one\nOS-level wait.\n\nSHOW ENGINE INNODB MUTEX information can be used to diagnose system\nproblems. For example, large values of spin_waits and spin_rounds may\nindicate scalability problems.\n\nUse SHOW ENGINE PERFORMANCE_SCHEMA STATUS to inspect the internal\noperation of the Performance Schema code:\n\nmysql> SHOW ENGINE PERFORMANCE_SCHEMA STATUS\\G\n...\n*************************** 3. row ***************************\n Type: performance_schema\n Name: events_waits_history.row_size\nStatus: 76\n*************************** 4. row ***************************\n Type: performance_schema\n Name: events_waits_history.row_count\nStatus: 10000\n*************************** 5. row ***************************\n Type: performance_schema\n Name: events_waits_history.memory\nStatus: 760000\n...\n*************************** 57. row ***************************\n Type: performance_schema\n Name: performance_schema.memory\nStatus: 26459600\n...\n\nThis statement is intended to help the DBA understand the effects that\ndifferent Performance Schema options have on memory requirements.\n\nName values consist of two parts, which name an internal buffer and a\nbuffer attribute, respectively. Interpret buffer names as follows:\n\no An internal buffer that is not exposed as a table is named within\n parentheses. Examples: (pfs_cond_class).row_size,\n (pfs_mutex_class).memory.\n\no An internal buffer that is exposed as a table in the\n performance_schema database is named after the table, without\n parentheses. Examples: events_waits_history.row_size,\n mutex_instances.row_count.\n\no A value that applies to the Performance Schema as a whole begins with\n performance_schema. Example: performance_schema.memory.\n\nBuffer attributes have these meanings:\n\no row_size is the size of the internal record used by the\n implementation, such as the size of a row in a table. row_size values\n cannot be changed.\n\no row_count is the number of internal records, such as the number of\n rows in a table. row_count values can be changed using Performance\n Schema configuration options.\n\no For a table, tbl_name.memory is the product of row_size and\n row_count. For the Performance Schema as a whole,\n performance_schema.memory is the sum of all the memory used (the sum\n of all other memory values).\n\nIn some cases, there is a direct relationship between a Performance\nSchema configuration parameter and a SHOW ENGINE value. For example,\nevents_waits_history_long.row_count corresponds to\nperformance_schema_events_waits_history_long_size. In other cases, the\nrelationship is more complex. For example,\nevents_waits_history.row_count corresponds to\nperformance_schema_events_waits_history_size (the number of rows per\nthread) multiplied by performance_schema_max_thread_instances ( the\nnumber of threads).\n\nIf the server has the NDBCLUSTER storage engine enabled, SHOW ENGINE\nNDB STATUS displays cluster status information such as the number of\nconnected data nodes, the cluster connectstring, and cluster binary log\nepochs, as well as counts of various Cluster API objects created by the\nMySQL Server when connected to the cluster. Sample output from this\nstatement is shown here:\n\nmysql> SHOW ENGINE NDB STATUS;\n+------------+-----------------------+--------------------------------------------------+\n| Type | Name | Status |\n+------------+-----------------------+--------------------------------------------------+\n| ndbcluster | connection | cluster_node_id=7,\n connected_host=192.168.0.103, connected_port=1186, number_of_data_nodes=4,\n number_of_ready_data_nodes=3, connect_count=0 |\n| ndbcluster | NdbTransaction | created=6, free=0, sizeof=212 |\n| ndbcluster | NdbOperation | created=8, free=8, sizeof=660 |\n| ndbcluster | NdbIndexScanOperation | created=1, free=1, sizeof=744 |\n| ndbcluster | NdbIndexOperation | created=0, free=0, sizeof=664 |\n| ndbcluster | NdbRecAttr | created=1285, free=1285, sizeof=60 |\n| ndbcluster | NdbApiSignal | created=16, free=16, sizeof=136 |\n| ndbcluster | NdbLabel | created=0, free=0, sizeof=196 |\n| ndbcluster | NdbBranch | created=0, free=0, sizeof=24 |\n| ndbcluster | NdbSubroutine | created=0, free=0, sizeof=68 |\n| ndbcluster | NdbCall | created=0, free=0, sizeof=16 |\n| ndbcluster | NdbBlob | created=1, free=1, sizeof=264 |\n| ndbcluster | NdbReceiver | created=4, free=0, sizeof=68 |\n| ndbcluster | binlog | latest_epoch=155467, latest_trans_epoch=148126,\n latest_received_binlog_epoch=0, latest_handled_binlog_epoch=0,\n latest_applied_binlog_epoch=0 |\n+------------+-----------------------+--------------------------------------------------+\n\nThe rows with connection and binlog in the Name column were added to\nthe output of this statement in MySQL 5.1. The Status column in each of\nthese rows provides information about the MySQL server\'s connection to\nthe cluster and about the cluster binary log\'s status, respectively.\nThe Status information is in the form of comma-delimited set of\nname/value pairs.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-engine.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-engine.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (436,14,'RELEASE_LOCK','Syntax:\nRELEASE_LOCK(str)\n\nReleases the lock named by the string str that was obtained with\nGET_LOCK(). Returns 1 if the lock was released, 0 if the lock was not\nestablished by this thread (in which case the lock is not released),\nand NULL if the named lock did not exist. The lock does not exist if it\nwas never obtained by a call to GET_LOCK() or if it has previously been\nreleased.\n\nThe DO statement is convenient to use with RELEASE_LOCK(). See [HELP\nDO].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (437,32,'WEEKDAY','Syntax:\nWEEKDAY(date)\n\nReturns the weekday index for date (0 = Monday, 1 = Tuesday, ... 6 =\nSunday).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT WEEKDAY(\'2008-02-03 22:23:00\');\n -> 6\nmysql> SELECT WEEKDAY(\'2007-11-06\');\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (438,32,'TIME_TO_SEC','Syntax:\nTIME_TO_SEC(time)\n\nReturns the time argument, converted to seconds.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT TIME_TO_SEC(\'22:23:00\');\n -> 80580\nmysql> SELECT TIME_TO_SEC(\'00:39:38\');\n -> 2378\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (439,32,'CONVERT_TZ','Syntax:\nCONVERT_TZ(dt,from_tz,to_tz)\n\nCONVERT_TZ() converts a datetime value dt from the time zone given by\nfrom_tz to the time zone given by to_tz and returns the resulting\nvalue. Time zones are specified as described in\nhttp://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html. This\nfunction returns NULL if the arguments are invalid.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT CONVERT_TZ(\'2004-01-01 12:00:00\',\'GMT\',\'MET\');\n -> \'2004-01-01 13:00:00\'\nmysql> SELECT CONVERT_TZ(\'2004-01-01 12:00:00\',\'+00:00\',\'+10:00\');\n -> \'2004-01-01 22:00:00\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (440,38,'EXPORT_SET','Syntax:\nEXPORT_SET(bits,on,off[,separator[,number_of_bits]])\n\nReturns a string such that for every bit set in the value bits, you get\nan on string and for every bit not set in the value, you get an off\nstring. Bits in bits are examined from right to left (from low-order to\nhigh-order bits). Strings are added to the result from left to right,\nseparated by the separator string (the default being the comma\ncharacter ","). The number of bits examined is given by number_of_bits,\nwhich has a default of 64 if not specified. number_of_bits is silently\nclipped to 64 if larger than 64. It is treated as an unsigned integer,\nso a value of -1 is effectively the same as 64.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT EXPORT_SET(5,\'Y\',\'N\',\',\',4);\n -> \'Y,N,Y,N\'\nmysql> SELECT EXPORT_SET(6,\'1\',\'0\',\',\',10);\n -> \'0,1,1,0,0,0,0,0,0,0\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (441,38,'CAST','Syntax:\nCAST(expr AS type)\n\nThe CAST() function takes an expression of any type and produces a\nresult value of a specified type, similar to CONVERT(). See the\ndescription of CONVERT() for more information.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/cast-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/cast-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (442,38,'SOUNDS LIKE','Syntax:\nexpr1 SOUNDS LIKE expr2\n\nThis is the same as SOUNDEX(expr1) = SOUNDEX(expr2).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (443,32,'PERIOD_DIFF','Syntax:\nPERIOD_DIFF(P1,P2)\n\nReturns the number of months between periods P1 and P2. P1 and P2\nshould be in the format YYMM or YYYYMM. Note that the period arguments\nP1 and P2 are not date values.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT PERIOD_DIFF(200802,200703);\n -> 11\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (444,16,'AVG','Syntax:\nAVG([DISTINCT] expr)\n\nReturns the average value of expr. The DISTINCT option can be used to\nreturn the average of the distinct values of expr.\n\nAVG() returns NULL if there were no matching rows.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html\n\n','mysql> SELECT student_name, AVG(test_score)\n -> FROM student\n -> GROUP BY student_name;\n','http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (445,38,'QUOTE','Syntax:\nQUOTE(str)\n\nQuotes a string to produce a result that can be used as a properly\nescaped data value in an SQL statement. The string is returned enclosed\nby single quotation marks and with each instance of backslash ("\\"),\nsingle quote ("\'"), ASCII NUL, and Control+Z preceded by a backslash.\nIf the argument is NULL, the return value is the word "NULL" without\nenclosing single quotation marks.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT QUOTE(\'Don\\\'t!\');\n -> \'Don\\\'t!\'\nmysql> SELECT QUOTE(NULL);\n -> NULL\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (446,20,'IN','Syntax:\nexpr IN (value,...)\n\nReturns 1 if expr is equal to any of the values in the IN list, else\nreturns 0. If all values are constants, they are evaluated according to\nthe type of expr and sorted. The search for the item then is done using\na binary search. This means IN is very quick if the IN value list\nconsists entirely of constants. Otherwise, type conversion takes place\naccording to the rules described in\nhttp://dev.mysql.com/doc/refman/5.5/en/type-conversion.html, but\napplied to all the arguments.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT 2 IN (0,3,5,7);\n -> 0\nmysql> SELECT \'wefwf\' IN (\'wee\',\'wefwf\',\'weg\');\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (447,32,'QUARTER','Syntax:\nQUARTER(date)\n\nReturns the quarter of the year for date, in the range 1 to 4.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT QUARTER(\'2008-04-01\');\n -> 2\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (448,27,'HELP COMMAND','Syntax:\nmysql> help search_string\n\nIf you provide an argument to the help command, mysql uses it as a\nsearch string to access server-side help from the contents of the MySQL\nReference Manual. The proper operation of this command requires that\nthe help tables in the mysql database be initialized with help topic\ninformation (see\nhttp://dev.mysql.com/doc/refman/5.5/en/server-side-help-support.html).\n\nIf there is no match for the search string, the search fails:\n\nmysql> help me\n\nNothing found\nPlease try to run \'help contents\' for a list of all accessible topics\n\nUse help contents to see a list of the help categories:\n\nmysql> help contents\nYou asked for help about help category: "Contents"\nFor more information, type \'help \', where is one of the\nfollowing categories:\n Account Management\n Administration\n Data Definition\n Data Manipulation\n Data Types\n Functions\n Functions and Modifiers for Use with GROUP BY\n Geographic Features\n Language Structure\n Plugins\n Storage Engines\n Stored Routines\n Table Maintenance\n Transactions\n Triggers\n\nIf the search string matches multiple items, mysql shows a list of\nmatching topics:\n\nmysql> help logs\nMany help items for your request exist.\nTo make a more specific request, please type \'help \',\nwhere is one of the following topics:\n SHOW\n SHOW BINARY LOGS\n SHOW ENGINE\n SHOW LOGS\n\nUse a topic as the search string to see the help entry for that topic:\n\nmysql> help show binary logs\nName: \'SHOW BINARY LOGS\'\nDescription:\nSyntax:\nSHOW BINARY LOGS\nSHOW MASTER LOGS\n\nLists the binary log files on the server. This statement is used as\npart of the procedure described in [purge-binary-logs], that shows how\nto determine which logs can be purged.\n\nmysql> SHOW BINARY LOGS;\n+---------------+-----------+\n| Log_name | File_size |\n+---------------+-----------+\n| binlog.000015 | 724935 |\n| binlog.000016 | 733481 |\n+---------------+-----------+\n\nThe search string can contain the wildcard characters "%" and "_".\nThese have the same meaning as for pattern-matching operations\nperformed with the LIKE operator. For example, HELP rep% returns a list\nof topics that begin with rep:\n\nmysql> HELP rep%\nMany help items for your request exist.\nTo make a more specific request, please type \'help \',\nwhere is one of the following\ntopics:\n REPAIR TABLE\n REPEAT FUNCTION\n REPEAT LOOP\n REPLACE\n REPLACE FUNCTION\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mysql-server-side-help.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/mysql-server-side-help.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (449,38,'POSITION','Syntax:\nPOSITION(substr IN str)\n\nPOSITION(substr IN str) is a synonym for LOCATE(substr,str).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (450,14,'IS_USED_LOCK','Syntax:\nIS_USED_LOCK(str)\n\nChecks whether the lock named str is in use (that is, locked). If so,\nit returns the connection identifier of the client that holds the lock.\nOtherwise, it returns NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (451,4,'POLYFROMTEXT','PolyFromText(wkt[,srid]), PolygonFromText(wkt[,srid])\n\nConstructs a Polygon value using its WKT representation and SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (452,12,'DES_ENCRYPT','Syntax:\nDES_ENCRYPT(str[,{key_num|key_str}])\n\nEncrypts the string with the given key using the Triple-DES algorithm.\n\nThis function works only if MySQL has been configured with SSL support.\nSee http://dev.mysql.com/doc/refman/5.5/en/ssl-connections.html.\n\nThe encryption key to use is chosen based on the second argument to\nDES_ENCRYPT(), if one was given. With no argument, the first key from\nthe DES key file is used. With a key_num argument, the given key number\n(0 to 9) from the DES key file is used. With a key_str argument, the\ngiven key string is used to encrypt str.\n\nThe key file can be specified with the --des-key-file server option.\n\nThe return string is a binary string where the first character is\nCHAR(128 | key_num). If an error occurs, DES_ENCRYPT() returns NULL.\n\nThe 128 is added to make it easier to recognize an encrypted key. If\nyou use a string key, key_num is 127.\n\nThe string length for the result is given by this formula:\n\nnew_len = orig_len + (8 - (orig_len % 8)) + 1\n\nEach line in the DES key file has the following format:\n\nkey_num des_key_str\n\nEach key_num value must be a number in the range from 0 to 9. Lines in\nthe file may be in any order. des_key_str is the string that is used to\nencrypt the message. There should be at least one space between the\nnumber and the key. The first key is the default key that is used if\nyou do not specify any key argument to DES_ENCRYPT().\n\nYou can tell MySQL to read new key values from the key file with the\nFLUSH DES_KEY_FILE statement. This requires the RELOAD privilege.\n\nOne benefit of having a set of default keys is that it gives\napplications a way to check for the existence of encrypted column\nvalues, without giving the end user the right to decrypt those values.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','mysql> SELECT customer_address FROM customer_table \n > WHERE crypted_credit_card = DES_ENCRYPT(\'credit_card_number\');\n','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (453,3,'CEIL','Syntax:\nCEIL(X)\n\nCEIL() is a synonym for CEILING().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (454,38,'LENGTH','Syntax:\nLENGTH(str)\n\nReturns the length of the string str, measured in bytes. A multibyte\ncharacter counts as multiple bytes. This means that for a string\ncontaining five 2-byte characters, LENGTH() returns 10, whereas\nCHAR_LENGTH() returns 5.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT LENGTH(\'text\');\n -> 4\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (455,40,'ALTER EVENT','Syntax:\nALTER\n [DEFINER = { user | CURRENT_USER }]\n EVENT event_name\n [ON SCHEDULE schedule]\n [ON COMPLETION [NOT] PRESERVE]\n [RENAME TO new_event_name]\n [ENABLE | DISABLE | DISABLE ON SLAVE]\n [COMMENT \'comment\']\n [DO event_body]\n\nThe ALTER EVENT statement changes one or more of the characteristics of\nan existing event without the need to drop and recreate it. The syntax\nfor each of the DEFINER, ON SCHEDULE, ON COMPLETION, COMMENT, ENABLE /\nDISABLE, and DO clauses is exactly the same as when used with CREATE\nEVENT. (See [HELP CREATE EVENT].)\n\nAny user can alter an event defined on a database for which that user\nhas the EVENT privilege. When a user executes a successful ALTER EVENT\nstatement, that user becomes the definer for the affected event.\n\nALTER EVENT works only with an existing event:\n\nmysql> ALTER EVENT no_such_event \n > ON SCHEDULE \n > EVERY \'2:3\' DAY_HOUR;\nERROR 1517 (HY000): Unknown event \'no_such_event\'\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/alter-event.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/alter-event.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (456,32,'DATE_SUB','Syntax:\nDATE_SUB(date,INTERVAL expr unit)\n\nSee the description for DATE_ADD().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (457,19,'|','Syntax:\n|\n\nBitwise OR:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html\n\n','mysql> SELECT 29 | 15;\n -> 31\n','http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (458,4,'GEOMFROMTEXT','GeomFromText(wkt[,srid]), GeometryFromText(wkt[,srid])\n\nConstructs a geometry value of any type using its WKT representation\nand SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkt-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (459,14,'UUID_SHORT','Syntax:\nUUID_SHORT()\n\nReturns a "short" universal identifier as a 64-bit unsigned integer\n(rather than a string-form 128-bit identifier as returned by the UUID()\nfunction).\n\nThe value of UUID_SHORT() is guaranteed to be unique if the following\nconditions hold:\n\no The server_id of the current host is unique among your set of master\n and slave servers\n\no server_id is between 0 and 255\n\no You do not set back your system time for your server between mysqld\n restarts\n\no You do not invoke UUID_SHORT() on average more than 16 million times\n per second between mysqld restarts\n\nThe UUID_SHORT() return value is constructed this way:\n\n (server_id & 255) << 56\n+ (server_startup_time_in_seconds << 24)\n+ incremented_variable++;\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html\n\n','mysql> SELECT UUID_SHORT();\n -> 92395783831158784\n','http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (460,32,'DATEDIFF','Syntax:\nDATEDIFF(expr1,expr2)\n\nDATEDIFF() returns expr1 - expr2 expressed as a value in days from one\ndate to the other. expr1 and expr2 are date or date-and-time\nexpressions. Only the date parts of the values are used in the\ncalculation.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT DATEDIFF(\'2007-12-31 23:59:59\',\'2007-12-30\');\n -> 1\nmysql> SELECT DATEDIFF(\'2010-11-30 23:59:59\',\'2010-12-31\');\n -> -31\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (461,40,'DROP PROCEDURE','Syntax:\nDROP {PROCEDURE | FUNCTION} [IF EXISTS] sp_name\n\nThis statement is used to drop a stored procedure or function. That is,\nthe specified routine is removed from the server. You must have the\nALTER ROUTINE privilege for the routine. (If the\nautomatic_sp_privileges system variable is enabled, that privilege and\nEXECUTE are granted automatically to the routine creator when the\nroutine is created and dropped from the creator when the routine is\ndropped. See\nhttp://dev.mysql.com/doc/refman/5.5/en/stored-routines-privileges.html.\n)\n\nThe IF EXISTS clause is a MySQL extension. It prevents an error from\noccurring if the procedure or function does not exist. A warning is\nproduced that can be viewed with SHOW WARNINGS.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/drop-procedure.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/drop-procedure.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (462,5,'INSTALL PLUGIN','Syntax:\nINSTALL PLUGIN plugin_name SONAME \'shared_library_name\'\n\nThis statement installs a server plugin. It requires the INSERT\nprivilege for the mysql.plugin table.\n\nplugin_name is the name of the plugin as defined in the plugin\ndescriptor structure contained in the library file (see\nhttp://dev.mysql.com/doc/refman/5.5/en/plugin-data-structures.html).\nPlugin names are not case sensitive. For maximal compatibility, plugin\nnames should be limited to ASCII letters, digits, and underscore\nbecause they are used in C source files, shell command lines, M4 and\nBourne shell scripts, and SQL environments.\n\nshared_library_name is the name of the shared library that contains the\nplugin code. The name includes the file name extension (for example,\nlibmyplugin.so, libmyplugin.dll, or libmyplugin.dylib).\n\nThe shared library must be located in the plugin directory (the\ndirectory named by the plugin_dir system variable). The library must be\nin the plugin directory itself, not in a subdirectory. By default,\nplugin_dir is the plugin directory under the directory named by the\npkglibdir configuration variable, but it can be changed by setting the\nvalue of plugin_dir at server startup. For example, set its value in a\nmy.cnf file:\n\n[mysqld]\nplugin_dir=/path/to/plugin/directory\n\nIf the value of plugin_dir is a relative path name, it is taken to be\nrelative to the MySQL base directory (the value of the basedir system\nvariable).\n\nINSTALL PLUGIN loads and initializes the plugin code to make the plugin\navailable for use. A plugin is initialized by executing its\ninitialization function, which handles any setup that the plugin must\nperform before it can be used. When the server shuts down, it executes\nthe deinitialization function for each plugin that is loaded so that\nthe plugin has a change to perform any final cleanup.\n\nINSTALL PLUGIN also registers the plugin by adding a line that\nindicates the plugin name and library file name to the mysql.plugin\ntable. At server startup, the server loads and initializes any plugin\nthat is listed in the mysql.plugin table. This means that a plugin is\ninstalled with INSTALL PLUGIN only once, not every time the server\nstarts. Plugin loading at startup does not occur if the server is\nstarted with the --skip-grant-tables option.\n\nA plugin library can contain multiple plugins. For each of them to be\ninstalled, use a separate INSTALL PLUGIN statement. Each statement\nnames a different plugin, but all of them specify the same library\nname.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/install-plugin.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/install-plugin.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (463,28,'LOAD DATA','Syntax:\nLOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE \'file_name\'\n [REPLACE | IGNORE]\n INTO TABLE tbl_name\n [CHARACTER SET charset_name]\n [{FIELDS | COLUMNS}\n [TERMINATED BY \'string\']\n [[OPTIONALLY] ENCLOSED BY \'char\']\n [ESCAPED BY \'char\']\n ]\n [LINES\n [STARTING BY \'string\']\n [TERMINATED BY \'string\']\n ]\n [IGNORE number {LINES | ROWS}]\n [(col_name_or_user_var,...)]\n [SET col_name = expr,...]\n\nThe LOAD DATA INFILE statement reads rows from a text file into a table\nat a very high speed. LOAD DATA INFILE is the complement of SELECT ...\nINTO OUTFILE. (See\nhttp://dev.mysql.com/doc/refman/5.5/en/select-into.html.) To write data\nfrom a table to a file, use SELECT ... INTO OUTFILE. To read the file\nback into a table, use LOAD DATA INFILE. The syntax of the FIELDS and\nLINES clauses is the same for both statements. Both clauses are\noptional, but FIELDS must precede LINES if both are specified.\n\nYou can also load data files by using the mysqlimport utility; it\noperates by sending a LOAD DATA INFILE statement to the server. The\n--local option causes mysqlimport to read data files from the client\nhost. You can specify the --compress option to get better performance\nover slow networks if the client and server support the compressed\nprotocol. See http://dev.mysql.com/doc/refman/5.5/en/mysqlimport.html.\n\nFor more information about the efficiency of INSERT versus LOAD DATA\nINFILE and speeding up LOAD DATA INFILE, see\nhttp://dev.mysql.com/doc/refman/5.5/en/insert-speed.html.\n\nThe file name must be given as a literal string. On Windows, specify\nbackslashes in path names as forward slashes or doubled backslashes.\nThe character_set_filesystem system variable controls the\ninterpretation of the file name.\n\nThe character set indicated by the character_set_database system\nvariable is used to interpret the information in the file. SET NAMES\nand the setting of character_set_client do not affect interpretation of\ninput. If the contents of the input file use a character set that\ndiffers from the default, it is usually preferable to specify the\ncharacter set of the file by using the CHARACTER SET clause. A\ncharacter set of binary specifies "no conversion."\n\nLOAD DATA INFILE interprets all fields in the file as having the same\ncharacter set, regardless of the data types of the columns into which\nfield values are loaded. For proper interpretation of file contents,\nyou must ensure that it was written with the correct character set. For\nexample, if you write a data file with mysqldump -T or by issuing a\nSELECT ... INTO OUTFILE statement in mysql, be sure to use a\n--default-character-set option so that output is written in the\ncharacter set to be used when the file is loaded with LOAD DATA INFILE.\n\n*Note*: It is not possible to load data files that use the ucs2, utf16,\nor utf32 character set.\n\nIf you use LOW_PRIORITY, execution of the LOAD DATA statement is\ndelayed until no other clients are reading from the table. This affects\nonly storage engines that use only table-level locking (such as MyISAM,\nMEMORY, and MERGE).\n\nIf you specify CONCURRENT with a MyISAM table that satisfies the\ncondition for concurrent inserts (that is, it contains no free blocks\nin the middle), other threads can retrieve data from the table while\nLOAD DATA is executing. This option affects the performance of LOAD\nDATA a bit, even if no other thread is using the table at the same\ntime.\n\nWith row-based replication, CONCURRENT is replicated regardless of\nMySQL version. With statement-based replication CONCURRENT is not\nreplicated prior to MySQL 5.5.1 (see Bug #34628). For more information,\nsee\nhttp://dev.mysql.com/doc/refman/5.5/en/replication-features-load-data.h\ntml.\n\nThe LOCAL keyword affects expected location of the file and error\nhandling, as described later. LOCAL works only if your server and your\nclient both have been configured to permit it. For example, if mysqld\nwas started with --local-infile=0, LOCAL does not work. See\nhttp://dev.mysql.com/doc/refman/5.5/en/load-data-local.html.\n\nThe LOCAL keyword affects where the file is expected to be found:\n\no If LOCAL is specified, the file is read by the client program on the\n client host and sent to the server. The file can be given as a full\n path name to specify its exact location. If given as a relative path\n name, the name is interpreted relative to the directory in which the\n client program was started.\n\n When using LOCAL with LOAD DATA, a copy of the file is created in the\n server\'s temporary directory. This is not the directory determined by\n the value of tmpdir or slave_load_tmpdir, but rather the operating\n system\'s temporary directory, and is not configurable in the MySQL\n Server. (Typically the system temporary directory is /tmp on Linux\n systems and C:\\WINDOWS\\TEMP on Windows.) Lack of sufficient space for\n the copy in this directory can cause the LOAD DATA LOCAL statement to\n fail.\n\no If LOCAL is not specified, the file must be located on the server\n host and is read directly by the server. The server uses the\n following rules to locate the file:\n\n o If the file name is an absolute path name, the server uses it as\n given.\n\n o If the file name is a relative path name with one or more leading\n components, the server searches for the file relative to the\n server\'s data directory.\n\n o If a file name with no leading components is given, the server\n looks for the file in the database directory of the default\n database.\n\nIn the non-LOCAL case, these rules mean that a file named as\n./myfile.txt is read from the server\'s data directory, whereas the file\nnamed as myfile.txt is read from the database directory of the default\ndatabase. For example, if db1 is the default database, the following\nLOAD DATA statement reads the file data.txt from the database directory\nfor db1, even though the statement explicitly loads the file into a\ntable in the db2 database:\n\nLOAD DATA INFILE \'data.txt\' INTO TABLE db2.my_table;\n\nFor security reasons, when reading text files located on the server,\nthe files must either reside in the database directory or be readable\nby all. Also, to use LOAD DATA INFILE on server files, you must have\nthe FILE privilege. See\nhttp://dev.mysql.com/doc/refman/5.5/en/privileges-provided.html. For\nnon-LOCAL load operations, if the secure_file_priv system variable is\nset to a nonempty directory name, the file to be loaded must be located\nin that directory.\n\nUsing LOCAL is a bit slower than letting the server access the files\ndirectly, because the contents of the file must be sent over the\nconnection by the client to the server. On the other hand, you do not\nneed the FILE privilege to load local files.\n\nLOCAL also affects error handling:\n\no With LOAD DATA INFILE, data-interpretation and duplicate-key errors\n terminate the operation.\n\no With LOAD DATA LOCAL INFILE, data-interpretation and duplicate-key\n errors become warnings and the operation continues because the server\n has no way to stop transmission of the file in the middle of the\n operation. For duplicate-key errors, this is the same as if IGNORE is\n specified. IGNORE is explained further later in this section.\n\nThe REPLACE and IGNORE keywords control handling of input rows that\nduplicate existing rows on unique key values:\n\no If you specify REPLACE, input rows replace existing rows. In other\n words, rows that have the same value for a primary key or unique\n index as an existing row. See [HELP REPLACE].\n\no If you specify IGNORE, rows that duplicate an existing row on a\n unique key value are discarded.\n\no If you do not specify either option, the behavior depends on whether\n the LOCAL keyword is specified. Without LOCAL, an error occurs when a\n duplicate key value is found, and the rest of the text file is\n ignored. With LOCAL, the default behavior is the same as if IGNORE is\n specified; this is because the server has no way to stop transmission\n of the file in the middle of the operation.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/load-data.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/load-data.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (464,24,'DECLARE CURSOR','Syntax:\nDECLARE cursor_name CURSOR FOR select_statement\n\nThis statement declares a cursor and associates it with a SELECT\nstatement that retrieves the rows to be traversed by the cursor. To\nfetch the rows later, use a FETCH statement. The number of columns\nretrieved by the SELECT statement must match the number of output\nvariables specified in the FETCH statement.\n\nThe SELECT statement cannot have an INTO clause.\n\nCursor declarations must appear before handler declarations and after\nvariable and condition declarations.\n\nA stored program may contain multiple cursor declarations, but each\ncursor declared in a given block must have a unique name. For an\nexample, see http://dev.mysql.com/doc/refman/5.5/en/cursors.html.\n\nFor information available through SHOW statements, it is possible in\nmany cases to obtain equivalent information by using a cursor with an\nINFORMATION_SCHEMA table.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/declare-cursor.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/declare-cursor.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (465,32,'LOCALTIME','Syntax:\nLOCALTIME, LOCALTIME()\n\nLOCALTIME and LOCALTIME() are synonyms for NOW().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (466,12,'SHA1','Syntax:\nSHA1(str), SHA(str)\n\nCalculates an SHA-1 160-bit checksum for the string, as described in\nRFC 3174 (Secure Hash Algorithm). The value is returned as a string of\n40 hex digits, or NULL if the argument was NULL. One of the possible\nuses for this function is as a hash key. See the notes at the beginning\nof this section about storing hash values efficiently. You can also use\nSHA1() as a cryptographic function for storing passwords. SHA() is\nsynonymous with SHA1().\n\nAs of MySQL 5.5.3, the return value is a nonbinary string in the\nconnection character set. Before 5.5.3, the return value is a binary\nstring; see the notes at the beginning of this section about using the\nvalue as a nonbinary string.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','mysql> SELECT SHA1(\'abc\');\n -> \'a9993e364706816aba3e25717850c26c9cd0d89d\'\n','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (467,23,'BLOB','BLOB[(M)]\n\nA BLOB column with a maximum length of 65,535 (216 - 1) bytes. Each\nBLOB value is stored using a 2-byte length prefix that indicates the\nnumber of bytes in the value.\n\nAn optional length M can be given for this type. If this is done, MySQL\ncreates the column as the smallest BLOB type large enough to hold\nvalues M bytes long.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (468,12,'PASSWORD','Syntax:\nPASSWORD(str)\n\nReturns a hashed password string calculated from the cleartext password\nstr. The return value is a nonbinary string in the connection character\nset (a binary string before MySQL 5.5.3), or NULL if the argument is\nNULL. This function is the SQL interface to the algorithm used by the\nserver to encrypt MySQL passwords for storage in the mysql.user grant\ntable.\n\nThe old_passwords system variable controls the password hashing method\nused by the PASSWORD() function. It also influences password hashing\nperformed by CREATE USER and GRANT statements that specify a password\nusing an IDENTIFIED BY clause.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','mysql> SET old_passwords = 0;\nmysql> SELECT PASSWORD(\'mypass\'), OLD_PASSWORD(\'mypass\');\n+-------------------------------------------+------------------------+\n| PASSWORD(\'mypass\') | OLD_PASSWORD(\'mypass\') |\n+-------------------------------------------+------------------------+\n| *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 | 6f8c114b58f2ce9e |\n+-------------------------------------------+------------------------+\n\nmysql> SET old_passwords = 1;\nmysql> SELECT PASSWORD(\'mypass\'), OLD_PASSWORD(\'mypass\');\n+--------------------+------------------------+\n| PASSWORD(\'mypass\') | OLD_PASSWORD(\'mypass\') |\n+--------------------+------------------------+\n| 6f8c114b58f2ce9e | 6f8c114b58f2ce9e |\n+--------------------+------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (469,32,'UTC_DATE','Syntax:\nUTC_DATE, UTC_DATE()\n\nReturns the current UTC date as a value in \'YYYY-MM-DD\' or YYYYMMDD\nformat, depending on whether the function is used in a string or\nnumeric context.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT UTC_DATE(), UTC_DATE() + 0;\n -> \'2003-08-14\', 20030814\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (470,37,'DIMENSION','Dimension(g)\n\nReturns the inherent dimension of the geometry value g. The result can\nbe -1, 0, 1, or 2. The meaning of these values is given in\nhttp://dev.mysql.com/doc/refman/5.5/en/gis-class-geometry.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html\n\n','mysql> SELECT Dimension(GeomFromText(\'LineString(1 1,2 2)\'));\n+------------------------------------------------+\n| Dimension(GeomFromText(\'LineString(1 1,2 2)\')) |\n+------------------------------------------------+\n| 1 |\n+------------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (471,23,'BIT','BIT[(M)]\n\nA bit-field type. M indicates the number of bits per value, from 1 to\n64. The default is 1 if M is omitted.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (472,31,'EQUALS','Equals(g1,g2)\n\nReturns 1 or 0 to indicate whether g1 is spatially equal to g2.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/spatial-relation-functions-mbr.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (473,8,'XA','Syntax:\nXA {START|BEGIN} xid [JOIN|RESUME]\n\nXA END xid [SUSPEND [FOR MIGRATE]]\n\nXA PREPARE xid\n\nXA COMMIT xid [ONE PHASE]\n\nXA ROLLBACK xid\n\nXA RECOVER\n\nFor XA START, the JOIN and RESUME clauses are not supported.\n\nFor XA END the SUSPEND [FOR MIGRATE] clause is not supported.\n\nEach XA statement begins with the XA keyword, and most of them require\nan xid value. An xid is an XA transaction identifier. It indicates\nwhich transaction the statement applies to. xid values are supplied by\nthe client, or generated by the MySQL server. An xid value has from one\nto three parts:\n\nxid: gtrid [, bqual [, formatID ]]\n\ngtrid is a global transaction identifier, bqual is a branch qualifier,\nand formatID is a number that identifies the format used by the gtrid\nand bqual values. As indicated by the syntax, bqual and formatID are\noptional. The default bqual value is \'\' if not given. The default\nformatID value is 1 if not given.\n\ngtrid and bqual must be string literals, each up to 64 bytes (not\ncharacters) long. gtrid and bqual can be specified in several ways. You\ncan use a quoted string (\'ab\'), hex string (0x6162, X\'ab\'), or bit\nvalue (b\'nnnn\').\n\nformatID is an unsigned integer.\n\nThe gtrid and bqual values are interpreted in bytes by the MySQL\nserver\'s underlying XA support routines. However, while an SQL\nstatement containing an XA statement is being parsed, the server works\nwith some specific character set. To be safe, write gtrid and bqual as\nhex strings.\n\nxid values typically are generated by the Transaction Manager. Values\ngenerated by one TM must be different from values generated by other\nTMs. A given TM must be able to recognize its own xid values in a list\nof values returned by the XA RECOVER statement.\n\nFor XA START xid starts an XA transaction with the given xid value.\nEach XA transaction must have a unique xid value, so the value must not\ncurrently be used by another XA transaction. Uniqueness is assessed\nusing the gtrid and bqual values. All following XA statements for the\nXA transaction must be specified using the same xid value as that given\nin the XA START statement. If you use any of those statements but\nspecify an xid value that does not correspond to some existing XA\ntransaction, an error occurs.\n\nOne or more XA transactions can be part of the same global transaction.\nAll XA transactions within a given global transaction must use the same\ngtrid value in the xid value. For this reason, gtrid values must be\nglobally unique so that there is no ambiguity about which global\ntransaction a given XA transaction is part of. The bqual part of the\nxid value must be different for each XA transaction within a global\ntransaction. (The requirement that bqual values be different is a\nlimitation of the current MySQL XA implementation. It is not part of\nthe XA specification.)\n\nThe XA RECOVER statement returns information for those XA transactions\non the MySQL server that are in the PREPARED state. (See\nhttp://dev.mysql.com/doc/refman/5.5/en/xa-states.html.) The output\nincludes a row for each such XA transaction on the server, regardless\nof which client started it.\n\nXA RECOVER output rows look like this (for an example xid value\nconsisting of the parts \'abc\', \'def\', and 7):\n\nmysql> XA RECOVER;\n+----------+--------------+--------------+--------+\n| formatID | gtrid_length | bqual_length | data |\n+----------+--------------+--------------+--------+\n| 7 | 3 | 3 | abcdef |\n+----------+--------------+--------------+--------+\n\nThe output columns have the following meanings:\n\no formatID is the formatID part of the transaction xid\n\no gtrid_length is the length in bytes of the gtrid part of the xid\n\no bqual_length is the length in bytes of the bqual part of the xid\n\no data is the concatenation of the gtrid and bqual parts of the xid\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/xa-statements.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/xa-statements.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (474,2,'CENTROID','Centroid(mpoly)\n\nReturns the mathematical centroid for the MultiPolygon value mpoly as a\nPoint. The result is not guaranteed to be on the MultiPolygon.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-multipolygon-property-functions.html\n\n','mysql> SET @poly =\n -> GeomFromText(\'POLYGON((0 0,10 0,10 10,0 10,0 0),(5 5,7 5,7 7,5 7,5 5))\');\nmysql> SELECT GeometryType(@poly),AsText(Centroid(@poly));\n+---------------------+--------------------------------------------+\n| GeometryType(@poly) | AsText(Centroid(@poly)) |\n+---------------------+--------------------------------------------+\n| POLYGON | POINT(4.958333333333333 4.958333333333333) |\n+---------------------+--------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-multipolygon-property-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (475,38,'OCTET_LENGTH','Syntax:\nOCTET_LENGTH(str)\n\nOCTET_LENGTH() is a synonym for LENGTH().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (476,32,'UTC_TIMESTAMP','Syntax:\nUTC_TIMESTAMP, UTC_TIMESTAMP()\n\nReturns the current UTC date and time as a value in \'YYYY-MM-DD\nHH:MM:SS\' or YYYYMMDDHHMMSS.uuuuuu format, depending on whether the\nfunction is used in a string or numeric context.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT UTC_TIMESTAMP(), UTC_TIMESTAMP() + 0;\n -> \'2003-08-14 18:08:04\', 20030814180804.000000\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (477,12,'AES_ENCRYPT','Syntax:\nAES_ENCRYPT(str,key_str)\n\nAES_ENCRYPT() and AES_DECRYPT() implement encryption and decryption of\ndata using the official AES (Advanced Encryption Standard) algorithm,\npreviously known as "Rijndael." The AES standard permits various key\nlengths. These functions implement AES with a 128-bit key length, but\nyou can extend them to 256 bits by modifying the source. The key length\nis a trade off between performance and security.\n\nAES_ENCRYPT() encrypts the string str using the key string key_str and\nreturns a binary string containing the encrypted output. AES_DECRYPT()\ndecrypts the encrypted string crypt_str using the key string key_str\nand returns the original plaintext string. If either function argument\nis NULL, the function returns NULL.\n\nThe str and crypt_str arguments can be any length, and padding is\nautomatically added to str so it is a multiple of a block as required\nby block-based algorithms such as AES. This padding is automatically\nremoved by the AES_DECRYPT() function. The length of crypt_str can be\ncalculated using this formula:\n\n16 * (trunc(string_length / 16) + 1)\n\nFor a key length of 128 bits, the most secure way to pass a key to the\nkey_str argument is to create a truly random 128-bit value and pass it\nas a binary value. For example:\n\nINSERT INTO t\nVALUES (1,AES_ENCRYPT(\'text\',UNHEX(\'F3229A0B371ED2D9441B830D21A390C3\')));\n\nA passphrase can be used to generate an AES key by hashing the\npassphrase. For example:\n\nINSERT INTO t VALUES (1,AES_ENCRYPT(\'text\', SHA2(\'My secret passphrase\',512)));\n\nDo not pass a password or passphrase directly to crypt_str, hash it\nfirst. Previous versions of this documentation suggested the former\napproach, but it is no longer recommended as the examples shown here\nare more secure.\n\nIf AES_DECRYPT() detects invalid data or incorrect padding, it returns\nNULL. However, it is possible for AES_DECRYPT() to return a non-NULL\nvalue (possibly garbage) if the input data or the key is invalid.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (478,3,'+','Syntax:\n+\n\nAddition:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html\n\n','mysql> SELECT 3+5;\n -> 8\n','http://dev.mysql.com/doc/refman/5.5/en/arithmetic-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (479,14,'INET_NTOA','Syntax:\nINET_NTOA(expr)\n\nGiven a numeric IPv4 network address in network byte order, returns the\ndotted-quad representation of the address as a string. INET_NTOA()\nreturns NULL if it does not understand its argument.\n\nAs of MySQL 5.5.3, the return value is a nonbinary string in the\nconnection character set. Before 5.5.3, the return value is a binary\nstring.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html\n\n','mysql> SELECT INET_NTOA(167773449);\n -> \'10.0.5.9\'\n','http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (480,32,'DAYOFWEEK','Syntax:\nDAYOFWEEK(date)\n\nReturns the weekday index for date (1 = Sunday, 2 = Monday, ..., 7 =\nSaturday). These index values correspond to the ODBC standard.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT DAYOFWEEK(\'2007-02-03\');\n -> 7\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (481,3,'CEILING','Syntax:\nCEILING(X)\n\nReturns the smallest integer value not less than X.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT CEILING(1.23);\n -> 2\nmysql> SELECT CEILING(-1.23);\n -> -1\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (482,33,'LINEFROMWKB','LineFromWKB(wkb[,srid]), LineStringFromWKB(wkb[,srid])\n\nConstructs a LineString value using its WKB representation and SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (483,27,'SHOW PROCESSLIST','Syntax:\nSHOW [FULL] PROCESSLIST\n\nSHOW PROCESSLIST shows you which threads are running. You can also get\nthis information from the INFORMATION_SCHEMA PROCESSLIST table or the\nmysqladmin processlist command. If you have the PROCESS privilege, you\ncan see all threads. Otherwise, you can see only your own threads (that\nis, threads associated with the MySQL account that you are using). If\nyou do not use the FULL keyword, only the first 100 characters of each\nstatement are shown in the Info field.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-processlist.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-processlist.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (484,37,'GEOMETRYTYPE','GeometryType(g)\n\nReturns a binary string indicating the name of the geometry type of\nwhich the geometry instance g is a member. The name corresponds to one\nof the instantiable Geometry subclasses.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html\n\n','mysql> SELECT GeometryType(GeomFromText(\'POINT(1 1)\'));\n+------------------------------------------+\n| GeometryType(GeomFromText(\'POINT(1 1)\')) |\n+------------------------------------------+\n| POINT |\n+------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (485,40,'CREATE VIEW','Syntax:\nCREATE\n [OR REPLACE]\n [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]\n [DEFINER = { user | CURRENT_USER }]\n [SQL SECURITY { DEFINER | INVOKER }]\n VIEW view_name [(column_list)]\n AS select_statement\n [WITH [CASCADED | LOCAL] CHECK OPTION]\n\nThe CREATE VIEW statement creates a new view, or replaces an existing\none if the OR REPLACE clause is given. If the view does not exist,\nCREATE OR REPLACE VIEW is the same as CREATE VIEW. If the view does\nexist, CREATE OR REPLACE VIEW is the same as ALTER VIEW.\n\nThe select_statement is a SELECT statement that provides the definition\nof the view. (When you select from the view, you select in effect using\nthe SELECT statement.) select_statement can select from base tables or\nother views.\n\nThe view definition is "frozen" at creation time, so changes to the\nunderlying tables afterward do not affect the view definition. For\nexample, if a view is defined as SELECT * on a table, new columns added\nto the table later do not become part of the view.\n\nThe ALGORITHM clause affects how MySQL processes the view. The DEFINER\nand SQL SECURITY clauses specify the security context to be used when\nchecking access privileges at view invocation time. The WITH CHECK\nOPTION clause can be given to constrain inserts or updates to rows in\ntables referenced by the view. These clauses are described later in\nthis section.\n\nThe CREATE VIEW statement requires the CREATE VIEW privilege for the\nview, and some privilege for each column selected by the SELECT\nstatement. For columns used elsewhere in the SELECT statement you must\nhave the SELECT privilege. If the OR REPLACE clause is present, you\nmust also have the DROP privilege for the view. CREATE VIEW might also\nrequire the SUPER privilege, depending on the DEFINER value, as\ndescribed later in this section.\n\nWhen a view is referenced, privilege checking occurs as described later\nin this section.\n\nA view belongs to a database. By default, a new view is created in the\ndefault database. To create the view explicitly in a given database,\nspecify the name as db_name.view_name when you create it:\n\nmysql> CREATE VIEW test.v AS SELECT * FROM t;\n\nWithin a database, base tables and views share the same namespace, so a\nbase table and a view cannot have the same name.\n\nColumns retrieved by the SELECT statement can be simple references to\ntable columns. They can also be expressions that use functions,\nconstant values, operators, and so forth.\n\nViews must have unique column names with no duplicates, just like base\ntables. By default, the names of the columns retrieved by the SELECT\nstatement are used for the view column names. To define explicit names\nfor the view columns, the optional column_list clause can be given as a\nlist of comma-separated identifiers. The number of names in column_list\nmust be the same as the number of columns retrieved by the SELECT\nstatement.\n\nUnqualified table or view names in the SELECT statement are interpreted\nwith respect to the default database. A view can refer to tables or\nviews in other databases by qualifying the table or view name with the\nproper database name.\n\nA view can be created from many kinds of SELECT statements. It can\nrefer to base tables or other views. It can use joins, UNION, and\nsubqueries. The SELECT need not even refer to any tables. The following\nexample defines a view that selects two columns from another table, as\nwell as an expression calculated from those columns:\n\nmysql> CREATE TABLE t (qty INT, price INT);\nmysql> INSERT INTO t VALUES(3, 50);\nmysql> CREATE VIEW v AS SELECT qty, price, qty*price AS value FROM t;\nmysql> SELECT * FROM v;\n+------+-------+-------+\n| qty | price | value |\n+------+-------+-------+\n| 3 | 50 | 150 |\n+------+-------+-------+\n\nA view definition is subject to the following restrictions:\n\no The SELECT statement cannot contain a subquery in the FROM clause.\n\no The SELECT statement cannot refer to system or user variables.\n\no Within a stored program, the definition cannot refer to program\n parameters or local variables.\n\no The SELECT statement cannot refer to prepared statement parameters.\n\no Any table or view referred to in the definition must exist. However,\n after a view has been created, it is possible to drop a table or view\n that the definition refers to. In this case, use of the view results\n in an error. To check a view definition for problems of this kind,\n use the CHECK TABLE statement.\n\no The definition cannot refer to a TEMPORARY table, and you cannot\n create a TEMPORARY view.\n\no Any tables named in the view definition must exist at definition\n time.\n\no You cannot associate a trigger with a view.\n\no Aliases for column names in the SELECT statement are checked against\n the maximum column length of 64 characters (not the maximum alias\n length of 256 characters).\n\nORDER BY is permitted in a view definition, but it is ignored if you\nselect from a view using a statement that has its own ORDER BY.\n\nFor other options or clauses in the definition, they are added to the\noptions or clauses of the statement that references the view, but the\neffect is undefined. For example, if a view definition includes a LIMIT\nclause, and you select from the view using a statement that has its own\nLIMIT clause, it is undefined which limit applies. This same principle\napplies to options such as ALL, DISTINCT, or SQL_SMALL_RESULT that\nfollow the SELECT keyword, and to clauses such as INTO, FOR UPDATE,\nLOCK IN SHARE MODE, and PROCEDURE.\n\nIf you create a view and then change the query processing environment\nby changing system variables, that may affect the results that you get\nfrom the view:\n\nmysql> CREATE VIEW v (mycol) AS SELECT \'abc\';\nQuery OK, 0 rows affected (0.01 sec)\n\nmysql> SET sql_mode = \'\';\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SELECT "mycol" FROM v;\n+-------+\n| mycol |\n+-------+\n| mycol |\n+-------+\n1 row in set (0.01 sec)\n\nmysql> SET sql_mode = \'ANSI_QUOTES\';\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SELECT "mycol" FROM v;\n+-------+\n| mycol |\n+-------+\n| abc |\n+-------+\n1 row in set (0.00 sec)\n\nThe DEFINER and SQL SECURITY clauses determine which MySQL account to\nuse when checking access privileges for the view when a statement is\nexecuted that references the view. The valid SQL SECURITY\ncharacteristic values are DEFINER and INVOKER. These indicate that the\nrequired privileges must be held by the user who defined or invoked the\nview, respectively. The default SQL SECURITY value is DEFINER.\n\nIf a user value is given for the DEFINER clause, it should be a MySQL\naccount specified as \'user_name\'@\'host_name\' (the same format used in\nthe GRANT statement), CURRENT_USER, or CURRENT_USER(). The default\nDEFINER value is the user who executes the CREATE VIEW statement. This\nis the same as specifying DEFINER = CURRENT_USER explicitly.\n\nIf you specify the DEFINER clause, these rules determine the valid\nDEFINER user values:\n\no If you do not have the SUPER privilege, the only valid user value is\n your own account, either specified literally or by using\n CURRENT_USER. You cannot set the definer to some other account.\n\no If you have the SUPER privilege, you can specify any syntactically\n valid account name. If the account does not actually exist, a warning\n is generated.\n\no Although it is possible to create a view with a nonexistent DEFINER\n account, an error occurs when the view is referenced if the SQL\n SECURITY value is DEFINER but the definer account does not exist.\n\nFor more information about view security, see\nhttp://dev.mysql.com/doc/refman/5.5/en/stored-programs-security.html.\n\nWithin a view definition, CURRENT_USER returns the view\'s DEFINER value\nby default. For views defined with the SQL SECURITY INVOKER\ncharacteristic, CURRENT_USER returns the account for the view\'s\ninvoker. For information about user auditing within views, see\nhttp://dev.mysql.com/doc/refman/5.5/en/account-activity-auditing.html.\n\nWithin a stored routine that is defined with the SQL SECURITY DEFINER\ncharacteristic, CURRENT_USER returns the routine\'s DEFINER value. This\nalso affects a view defined within such a routine, if the view\ndefinition contains a DEFINER value of CURRENT_USER.\n\nView privileges are checked like this:\n\no At view definition time, the view creator must have the privileges\n needed to use the top-level objects accessed by the view. For\n example, if the view definition refers to table columns, the creator\n must have some privilege for each column in the select list of the\n definition, and the SELECT privilege for each column used elsewhere\n in the definition. If the definition refers to a stored function,\n only the privileges needed to invoke the function can be checked. The\n privileges required at function invocation time can be checked only\n as it executes: For different invocations, different execution paths\n within the function might be taken.\n\no The user who references a view must have appropriate privileges to\n access it (SELECT to select from it, INSERT to insert into it, and so\n forth.)\n\no When a view has been referenced, privileges for objects accessed by\n the view are checked against the privileges held by the view DEFINER\n account or invoker, depending on whether the SQL SECURITY\n characteristic is DEFINER or INVOKER, respectively.\n\no If reference to a view causes execution of a stored function,\n privilege checking for statements executed within the function depend\n on whether the function SQL SECURITY characteristic is DEFINER or\n INVOKER. If the security characteristic is DEFINER, the function runs\n with the privileges of the DEFINER account. If the characteristic is\n INVOKER, the function runs with the privileges determined by the\n view\'s SQL SECURITY characteristic.\n\nExample: A view might depend on a stored function, and that function\nmight invoke other stored routines. For example, the following view\ninvokes a stored function f():\n\nCREATE VIEW v AS SELECT * FROM t WHERE t.id = f(t.name);\n\nSuppose that f() contains a statement such as this:\n\nIF name IS NULL then\n CALL p1();\nELSE\n CALL p2();\nEND IF;\n\nThe privileges required for executing statements within f() need to be\nchecked when f() executes. This might mean that privileges are needed\nfor p1() or p2(), depending on the execution path within f(). Those\nprivileges must be checked at runtime, and the user who must possess\nthe privileges is determined by the SQL SECURITY values of the view v\nand the function f().\n\nThe DEFINER and SQL SECURITY clauses for views are extensions to\nstandard SQL. In standard SQL, views are handled using the rules for\nSQL SECURITY DEFINER. The standard says that the definer of the view,\nwhich is the same as the owner of the view\'s schema, gets applicable\nprivileges on the view (for example, SELECT) and may grant them. MySQL\nhas no concept of a schema "owner", so MySQL adds a clause to identify\nthe definer. The DEFINER clause is an extension where the intent is to\nhave what the standard has; that is, a permanent record of who defined\nthe view. This is why the default DEFINER value is the account of the\nview creator.\n\nThe optional ALGORITHM clause is a MySQL extension to standard SQL. It\naffects how MySQL processes the view. ALGORITHM takes three values:\nMERGE, TEMPTABLE, or UNDEFINED. The default algorithm is UNDEFINED if\nno ALGORITHM clause is present. For more information, see\nhttp://dev.mysql.com/doc/refman/5.5/en/view-algorithms.html.\n\nSome views are updatable. That is, you can use them in statements such\nas UPDATE, DELETE, or INSERT to update the contents of the underlying\ntable. For a view to be updatable, there must be a one-to-one\nrelationship between the rows in the view and the rows in the\nunderlying table. There are also certain other constructs that make a\nview nonupdatable.\n\nThe WITH CHECK OPTION clause can be given for an updatable view to\nprevent inserts or updates to rows except those for which the WHERE\nclause in the select_statement is true.\n\nIn a WITH CHECK OPTION clause for an updatable view, the LOCAL and\nCASCADED keywords determine the scope of check testing when the view is\ndefined in terms of another view. The LOCAL keyword restricts the CHECK\nOPTION only to the view being defined. CASCADED causes the checks for\nunderlying views to be evaluated as well. When neither keyword is\ngiven, the default is CASCADED.\n\nFor more information about updatable views and the WITH CHECK OPTION\nclause, see\nhttp://dev.mysql.com/doc/refman/5.5/en/view-updatability.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-view.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/create-view.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (486,38,'TRIM','Syntax:\nTRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str), TRIM([remstr\nFROM] str)\n\nReturns the string str with all remstr prefixes or suffixes removed. If\nnone of the specifiers BOTH, LEADING, or TRAILING is given, BOTH is\nassumed. remstr is optional and, if not specified, spaces are removed.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT TRIM(\' bar \');\n -> \'bar\'\nmysql> SELECT TRIM(LEADING \'x\' FROM \'xxxbarxxx\');\n -> \'barxxx\'\nmysql> SELECT TRIM(BOTH \'x\' FROM \'xxxbarxxx\');\n -> \'bar\'\nmysql> SELECT TRIM(TRAILING \'xyz\' FROM \'barxxyz\');\n -> \'barx\'\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (487,24,'SIGNAL','Syntax:\nSIGNAL condition_value\n [SET signal_information_item\n [, signal_information_item] ...]\n\ncondition_value:\n SQLSTATE [VALUE] sqlstate_value\n | condition_name\n\nsignal_information_item:\n condition_information_item_name = simple_value_specification\n\ncondition_information_item_name:\n CLASS_ORIGIN\n | SUBCLASS_ORIGIN\n | MESSAGE_TEXT\n | MYSQL_ERRNO\n | CONSTRAINT_CATALOG\n | CONSTRAINT_SCHEMA\n | CONSTRAINT_NAME\n | CATALOG_NAME\n | SCHEMA_NAME\n | TABLE_NAME\n | COLUMN_NAME\n | CURSOR_NAME\n\ncondition_name, simple_value_specification:\n (see following discussion)\n\nSIGNAL is the way to "return" an error. SIGNAL provides error\ninformation to a handler, to an outer portion of the application, or to\nthe client. Also, it provides control over the error\'s characteristics\n(error number, SQLSTATE value, message). Without SIGNAL, it is\nnecessary to resort to workarounds such as deliberately referring to a\nnonexistent table to cause a routine to return an error.\n\nNo special privileges are required to execute the SIGNAL statement.\n\nThe condition_value in a SIGNAL statement indicates the error value to\nbe returned. It can be an SQLSTATE value (a 5-character string literal)\nor a condition_name that refers to a named condition previously defined\nwith DECLARE ... CONDITION (see [HELP DECLARE CONDITION]).\n\nAn SQLSTATE value can indicate errors, warnings, or "not found." The\nfirst two characters of the value indicate its error class, as\ndiscussed in\nhttp://dev.mysql.com/doc/refman/5.5/en/signal.html#signal-condition-inf\normation-items. Some signal values cause statement termination; see\nhttp://dev.mysql.com/doc/refman/5.5/en/signal.html#signal-effects.\n\nThe SQLSTATE value for a SIGNAL statement should not start with \'00\'\nbecause such values indicate success and are not valid for signaling an\nerror. This is true whether the SQLSTATE value is specified directly in\nthe SIGNAL statement or in a named condition referred to in the\nstatement. If the value is invalid, a Bad SQLSTATE error occurs.\n\nTo signal a generic SQLSTATE value, use \'45000\', which means "unhandled\nuser-defined exception."\n\nThe SIGNAL statement optionally includes a SET clause that contains\nmultiple signal items, in a comma-separated list of\ncondition_information_item_name = simple_value_specification\nassignments.\n\nEach condition_information_item_name may be specified only once in the\nSET clause. Otherwise, a Duplicate condition information item error\noccurs.\n\nValid simple_value_specification designators can be specified using\nstored procedure or function parameters, stored program local variables\ndeclared with DECLARE, user-defined variables, system variables, or\nliterals. A character literal may include a _charset introducer.\n\nFor information about permissible condition_information_item_name\nvalues, see\nhttp://dev.mysql.com/doc/refman/5.5/en/signal.html#signal-condition-inf\normation-items.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/signal.html\n\n','CREATE PROCEDURE p (pval INT)\nBEGIN\n DECLARE specialty CONDITION FOR SQLSTATE \'45000\';\n IF pval = 0 THEN\n SIGNAL SQLSTATE \'01000\';\n ELSEIF pval = 1 THEN\n SIGNAL SQLSTATE \'45000\'\n SET MESSAGE_TEXT = \'An error occurred\';\n ELSEIF pval = 2 THEN\n SIGNAL specialty\n SET MESSAGE_TEXT = \'An error occurred\';\n ELSE\n SIGNAL SQLSTATE \'01000\'\n SET MESSAGE_TEXT = \'A warning occurred\', MYSQL_ERRNO = 1000;\n SIGNAL SQLSTATE \'45000\'\n SET MESSAGE_TEXT = \'An error occurred\', MYSQL_ERRNO = 1001;\n END IF;\nEND;\n','http://dev.mysql.com/doc/refman/5.5/en/signal.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (488,8,'SAVEPOINT','Syntax:\nSAVEPOINT identifier\nROLLBACK [WORK] TO [SAVEPOINT] identifier\nRELEASE SAVEPOINT identifier\n\nInnoDB supports the SQL statements SAVEPOINT, ROLLBACK TO SAVEPOINT,\nRELEASE SAVEPOINT and the optional WORK keyword for ROLLBACK.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/savepoint.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/savepoint.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (489,33,'MPOINTFROMWKB','MPointFromWKB(wkb[,srid]), MultiPointFromWKB(wkb[,srid])\n\nConstructs a MultiPoint value using its WKB representation and SRID.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/gis-wkb-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (490,40,'ALTER TABLE','Syntax:\nALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name\n [alter_specification [, alter_specification] ...]\n [partition_options]\n\nalter_specification:\n table_options\n | ADD [COLUMN] col_name column_definition\n [FIRST | AFTER col_name ]\n | ADD [COLUMN] (col_name column_definition,...)\n | ADD {INDEX|KEY} [index_name]\n [index_type] (index_col_name,...) [index_option] ...\n | ADD [CONSTRAINT [symbol]] PRIMARY KEY\n [index_type] (index_col_name,...) [index_option] ...\n | ADD [CONSTRAINT [symbol]]\n UNIQUE [INDEX|KEY] [index_name]\n [index_type] (index_col_name,...) [index_option] ...\n | ADD FULLTEXT [INDEX|KEY] [index_name]\n (index_col_name,...) [index_option] ...\n | ADD SPATIAL [INDEX|KEY] [index_name]\n (index_col_name,...) [index_option] ...\n | ADD [CONSTRAINT [symbol]]\n FOREIGN KEY [index_name] (index_col_name,...)\n reference_definition\n | ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}\n | CHANGE [COLUMN] old_col_name new_col_name column_definition\n [FIRST|AFTER col_name]\n | MODIFY [COLUMN] col_name column_definition\n [FIRST | AFTER col_name]\n | DROP [COLUMN] col_name\n | DROP PRIMARY KEY\n | DROP {INDEX|KEY} index_name\n | DROP FOREIGN KEY fk_symbol\n | DISABLE KEYS\n | ENABLE KEYS\n | RENAME [TO|AS] new_tbl_name\n | ORDER BY col_name [, col_name] ...\n | CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]\n | [DEFAULT] CHARACTER SET [=] charset_name [COLLATE [=] collation_name]\n | DISCARD TABLESPACE\n | IMPORT TABLESPACE\n | FORCE\n | ADD PARTITION (partition_definition)\n | DROP PARTITION partition_names\n | TRUNCATE PARTITION {partition_names | ALL}\n | COALESCE PARTITION number\n | REORGANIZE PARTITION [partition_names INTO (partition_definitions)]\n | ANALYZE PARTITION {partition_names | ALL}\n | CHECK PARTITION {partition_names | ALL}\n | OPTIMIZE PARTITION {partition_names | ALL}\n | REBUILD PARTITION {partition_names | ALL}\n | REPAIR PARTITION {partition_names | ALL}\n | PARTITION BY partitioning_expression\n | REMOVE PARTITIONING\n\nindex_col_name:\n col_name [(length)] [ASC | DESC]\n\nindex_type:\n USING {BTREE | HASH}\n\nindex_option:\n KEY_BLOCK_SIZE [=] value\n | index_type\n | WITH PARSER parser_name\n | COMMENT \'string\'\n\ntable_options:\n table_option [[,] table_option] ... (see CREATE TABLE options)\n\npartition_options:\n (see CREATE TABLE options)\n\nALTER TABLE changes the structure of a table. For example, you can add\nor delete columns, create or destroy indexes, change the type of\nexisting columns, or rename columns or the table itself. You can also\nchange characteristics such as the storage engine used for the table or\nthe table comment.\n\nFollowing the table name, specify the alterations to be made. If none\nare given, ALTER TABLE does nothing.\n\nThe syntax for many of the permissible alterations is similar to\nclauses of the CREATE TABLE statement. See [HELP CREATE TABLE], for\nmore information.\n\ntable_options signifies table options of the kind that can be used in\nthe CREATE TABLE statement, such as ENGINE, AUTO_INCREMENT,\nAVG_ROW_LENGTH, MAX_ROWS, or ROW_FORMAT. For a list of all table\noptions and a description of each, see [HELP CREATE TABLE]. However,\nALTER TABLE ignores the DATA DIRECTORY and INDEX DIRECTORY table\noptions.\n\npartition_options signifies options that can be used with partitioned\ntables for repartitioning, for adding, dropping, merging, and splitting\npartitions, and for performing partitioning maintenance. It is possible\nfor an ALTER TABLE statement to contain a PARTITION BY or REMOVE\nPARTITIONING clause in an addition to other alter specifications, but\nthe PARTITION BY or REMOVE PARTITIONING clause must be specified last\nafter any other specifications. The ADD PARTITION, DROP PARTITION,\nCOALESCE PARTITION, REORGANIZE PARTITION, ANALYZE PARTITION, CHECK\nPARTITION, and REPAIR PARTITION options cannot be combined with other\nalter specifications in a single ALTER TABLE, since the options just\nlisted act on individual partitions. For a list of partition options\nand a description of each, see [HELP CREATE TABLE]. For additional\ninformation, see\nhttp://dev.mysql.com/doc/refman/5.5/en/alter-table-partition-operations\n.html.\n\nSome operations may result in warnings if attempted on a table for\nwhich the storage engine does not support the operation. These warnings\ncan be displayed with SHOW WARNINGS. See [HELP SHOW WARNINGS].\n\nFor information on troubleshooting ALTER TABLE, see\nhttp://dev.mysql.com/doc/refman/5.5/en/alter-table-problems.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/alter-table.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/alter-table.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (491,24,'LABELS','Syntax:\n[begin_label:] BEGIN\n [statement_list]\nEND [end_label]\n\n[begin_label:] LOOP\n statement_list\nEND LOOP [end_label]\n\n[begin_label:] REPEAT\n statement_list\nUNTIL search_condition\nEND REPEAT [end_label]\n\n[begin_label:] WHILE search_condition DO\n statement_list\nEND WHILE [end_label]\n\nLabels are permitted for BEGIN ... END blocks and for the LOOP, REPEAT,\nand WHILE statements. Label use for those statements follows these\nrules:\n\no begin_label must be followed by a colon.\n\no begin_label can be given without end_label. If end_label is present,\n it must be the same as begin_label.\n\no end_label cannot be given without begin_label.\n\no Labels at the same nesting level must be distinct.\n\no Labels can be up to 16 characters long.\n\nTo refer to a label within the labeled construct, use an ITERATE or\nLEAVE statement. The following example uses those statements to\ncontinue iterating or terminate the loop:\n\nCREATE PROCEDURE doiterate(p1 INT)\nBEGIN\n label1: LOOP\n SET p1 = p1 + 1;\n IF p1 < 10 THEN ITERATE label1; END IF;\n LEAVE label1;\n END LOOP label1;\nEND;\n\nThe scope of a block label does not include the code for handlers\ndeclared within the block. For details, see [HELP DECLARE HANDLER].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/statement-labels.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/statement-labels.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (492,23,'CHAR BYTE','The CHAR BYTE data type is an alias for the BINARY data type. This is a\ncompatibility feature.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (493,20,'>','Syntax:\n>\n\nGreater than:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT 2 > 2;\n -> 0\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (494,21,'ANALYZE TABLE','Syntax:\nANALYZE [NO_WRITE_TO_BINLOG | LOCAL] TABLE\n tbl_name [, tbl_name] ...\n\nANALYZE TABLE analyzes and stores the key distribution for a table.\nDuring the analysis, the table is locked with a read lock for InnoDB\nand MyISAM. This statement works with InnoDB, NDB, and MyISAM tables.\nFor MyISAM tables, this statement is equivalent to using myisamchk\n--analyze.\n\nFor more information on how the analysis works within InnoDB, see\nhttp://dev.mysql.com/doc/refman/5.5/en/innodb-statistics-estimation.htm\nl. Also see\nhttp://dev.mysql.com/doc/refman/5.5/en/innodb-analyze-table-complexity.\nhtml and\nhttp://dev.mysql.com/doc/refman/5.5/en/innodb-restrictions.html.\n\nMySQL uses the stored key distribution to decide the order in which\ntables should be joined when you perform a join on something other than\na constant. In addition, key distributions can be used when deciding\nwhich indexes to use for a specific table within a query.\n\nThis statement requires SELECT and INSERT privileges for the table.\n\nANALYZE TABLE is supported for partitioned tables, and you can use\nALTER TABLE ... ANALYZE PARTITION to analyze one or more partitions;\nfor more information, see [HELP ALTER TABLE], and\nhttp://dev.mysql.com/doc/refman/5.5/en/partitioning-maintenance.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/analyze-table.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/analyze-table.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (495,38,'FIELD','Syntax:\nFIELD(str,str1,str2,str3,...)\n\nReturns the index (position) of str in the str1, str2, str3, ... list.\nReturns 0 if str is not found.\n\nIf all arguments to FIELD() are strings, all arguments are compared as\nstrings. If all arguments are numbers, they are compared as numbers.\nOtherwise, the arguments are compared as double.\n\nIf str is NULL, the return value is 0 because NULL fails equality\ncomparison with any value. FIELD() is the complement of ELT().\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html\n\n','mysql> SELECT FIELD(\'ej\', \'Hej\', \'ej\', \'Heja\', \'hej\', \'foo\');\n -> 2\nmysql> SELECT FIELD(\'fo\', \'Hej\', \'ej\', \'Heja\', \'hej\', \'foo\');\n -> 0\n','http://dev.mysql.com/doc/refman/5.5/en/string-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (496,40,'CONSTRAINT','MySQL supports foreign keys, which let you cross-reference related data\nacross tables, and foreign key constraints, which help keep this\nspread-out data consistent. The essential syntax for a foreign key\nconstraint definition in a CREATE TABLE or ALTER TABLE statement looks\nlike this:\n\n[CONSTRAINT [symbol]] FOREIGN KEY\n [index_name] (index_col_name, ...)\n REFERENCES tbl_name (index_col_name,...)\n [ON DELETE reference_option]\n [ON UPDATE reference_option]\n\nreference_option:\n RESTRICT | CASCADE | SET NULL | NO ACTION\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/create-table-foreign-keys.html\n\n','CREATE TABLE product (\n category INT NOT NULL, id INT NOT NULL,\n price DECIMAL,\n PRIMARY KEY(category, id)\n) ENGINE=INNODB;\n\nCREATE TABLE customer (\n id INT NOT NULL,\n PRIMARY KEY (id)\n) ENGINE=INNODB;\n\nCREATE TABLE product_order (\n no INT NOT NULL AUTO_INCREMENT,\n product_category INT NOT NULL,\n product_id INT NOT NULL,\n customer_id INT NOT NULL,\n\n PRIMARY KEY(no),\n INDEX (product_category, product_id),\n INDEX (customer_id),\n\n FOREIGN KEY (product_category, product_id)\n REFERENCES product(category, id)\n ON UPDATE CASCADE ON DELETE RESTRICT,\n\n FOREIGN KEY (customer_id)\n REFERENCES customer(id)\n) ENGINE=INNODB;\n','http://dev.mysql.com/doc/refman/5.5/en/create-table-foreign-keys.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (497,40,'ALTER TABLESPACE','Syntax:\nALTER TABLESPACE tablespace_name\n {ADD|DROP} DATAFILE \'file_name\'\n [INITIAL_SIZE [=] size]\n [WAIT]\n ENGINE [=] engine_name\n\nThis statement can be used either to add a new data file, or to drop a\ndata file from a tablespace.\n\nThe ADD DATAFILE variant enables you to specify an initial size using\nan INITIAL_SIZE clause, where size is measured in bytes; the default\nvalue is 134217728 (128 MB). Prior to MySQL Cluster NDB 7.2.14, this\nvalue was required to be specified using digits (Bug #13116514, Bug\n#16104705, Bug #62858); in MySQL Cluster NDB 7.2.14 and later, you may\noptionally follow size with a one-letter abbreviation for an order of\nmagnitude, similar to those used in my.cnf. Generally, this is one of\nthe letters M (megabytes) or G (gigabytes).\n\n*Note*: All MySQL Cluster Disk Data objects share the same namespace.\nThis means that each Disk Data object must be uniquely named (and not\nmerely each Disk Data object of a given type). For example, you cannot\nhave a tablespace and an data file with the same name, or an undo log\nfile and a tablespace with the same name.\n\nOn 32-bit systems, the maximum supported value for INITIAL_SIZE is\n4294967296 (4 GB). (Bug #29186)\n\nINITIAL_SIZE is rounded, explicitly, as for CREATE TABLESPACE.\n\nOnce a data file has been created, its size cannot be changed; however,\nyou can add more data files to the tablespace using additional ALTER\nTABLESPACE ... ADD DATAFILE statements.\n\nUsing DROP DATAFILE with ALTER TABLESPACE drops the data file\n\'file_name\' from the tablespace. You cannot drop a data file from a\ntablespace which is in use by any table; in other words, the data file\nmust be empty (no extents used). See\nhttp://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-disk-data-objects.\nhtml. In addition, any data file to be dropped must previously have\nbeen added to the tablespace with CREATE TABLESPACE or ALTER\nTABLESPACE.\n\nBoth ALTER TABLESPACE ... ADD DATAFILE and ALTER TABLESPACE ... DROP\nDATAFILE require an ENGINE clause which specifies the storage engine\nused by the tablespace. Currently, the only accepted values for\nengine_name are NDB and NDBCLUSTER.\n\nWAIT is parsed but otherwise ignored, and so has no effect in MySQL\n5.5. It is intended for future expansion.\n\nWhen ALTER TABLESPACE ... ADD DATAFILE is used with ENGINE = NDB, a\ndata file is created on each Cluster data node. You can verify that the\ndata files were created and obtain information about them by querying\nthe INFORMATION_SCHEMA.FILES table. For example, the following query\nshows all data files belonging to the tablespace named newts:\n\nmysql> SELECT LOGFILE_GROUP_NAME, FILE_NAME, EXTRA\n -> FROM INFORMATION_SCHEMA.FILES\n -> WHERE TABLESPACE_NAME = \'newts\' AND FILE_TYPE = \'DATAFILE\';\n+--------------------+--------------+----------------+\n| LOGFILE_GROUP_NAME | FILE_NAME | EXTRA |\n+--------------------+--------------+----------------+\n| lg_3 | newdata.dat | CLUSTER_NODE=3 |\n| lg_3 | newdata.dat | CLUSTER_NODE=4 |\n| lg_3 | newdata2.dat | CLUSTER_NODE=3 |\n| lg_3 | newdata2.dat | CLUSTER_NODE=4 |\n+--------------------+--------------+----------------+\n2 rows in set (0.03 sec)\n\nSee http://dev.mysql.com/doc/refman/5.5/en/files-table.html.\n\nALTER TABLESPACE is useful only with Disk Data storage for MySQL\nCluster. See\nhttp://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-disk-data.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/alter-tablespace.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/alter-tablespace.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (498,23,'ENUM','ENUM(\'value1\',\'value2\',...) [CHARACTER SET charset_name] [COLLATE\ncollation_name]\n\nAn enumeration. A string object that can have only one value, chosen\nfrom the list of values \'value1\', \'value2\', ..., NULL or the special \'\'\nerror value. ENUM values are represented internally as integers.\n\nAn ENUM column can have a maximum of 65,535 distinct elements. (The\npractical limit is less than 3000.) A table can have no more than 255\nunique element list definitions among its ENUM and SET columns\nconsidered as a group. For more information on these limits, see\nhttp://dev.mysql.com/doc/refman/5.5/en/limits-frm-file.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (499,38,'STRCMP','Syntax:\nSTRCMP(expr1,expr2)\n\nSTRCMP() returns 0 if the strings are the same, -1 if the first\nargument is smaller than the second according to the current sort\norder, and 1 otherwise.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-comparison-functions.html\n\n','mysql> SELECT STRCMP(\'text\', \'text2\');\n -> -1\nmysql> SELECT STRCMP(\'text2\', \'text\');\n -> 1\nmysql> SELECT STRCMP(\'text\', \'text\');\n -> 0\n','http://dev.mysql.com/doc/refman/5.5/en/string-comparison-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (500,28,'INSERT DELAYED','Syntax:\nINSERT DELAYED ...\n\nThe DELAYED option for the INSERT statement is a MySQL extension to\nstandard SQL that is very useful if you have clients that cannot or\nneed not wait for the INSERT to complete. This is a common situation\nwhen you use MySQL for logging and you also periodically run SELECT and\nUPDATE statements that take a long time to complete.\n\nWhen a client uses INSERT DELAYED, it gets an okay from the server at\nonce, and the row is queued to be inserted when the table is not in use\nby any other thread.\n\nAnother major benefit of using INSERT DELAYED is that inserts from many\nclients are bundled together and written in one block. This is much\nfaster than performing many separate inserts.\n\nNote that INSERT DELAYED is slower than a normal INSERT if the table is\nnot otherwise in use. There is also the additional overhead for the\nserver to handle a separate thread for each table for which there are\ndelayed rows. This means that you should use INSERT DELAYED only when\nyou are really sure that you need it.\n\nThe queued rows are held only in memory until they are inserted into\nthe table. This means that if you terminate mysqld forcibly (for\nexample, with kill -9) or if mysqld dies unexpectedly, any queued rows\nthat have not been written to disk are lost.\n\nThere are some constraints on the use of DELAYED:\n\no INSERT DELAYED works only with MyISAM, MEMORY, ARCHIVE, and BLACKHOLE\n tables. For engines that do not support DELAYED, an error occurs.\n\no An error occurs for INSERT DELAYED if used with a table that has been\n locked with LOCK TABLES because the insert must be handled by a\n separate thread, not by the session that holds the lock.\n\no For MyISAM tables, if there are no free blocks in the middle of the\n data file, concurrent SELECT and INSERT statements are supported.\n Under these circumstances, you very seldom need to use INSERT DELAYED\n with MyISAM.\n\no INSERT DELAYED should be used only for INSERT statements that specify\n value lists. The server ignores DELAYED for INSERT ... SELECT or\n INSERT ... ON DUPLICATE KEY UPDATE statements.\n\no Because the INSERT DELAYED statement returns immediately, before the\n rows are inserted, you cannot use LAST_INSERT_ID() to get the\n AUTO_INCREMENT value that the statement might generate.\n\no DELAYED rows are not visible to SELECT statements until they actually\n have been inserted.\n\no Prior to MySQL 5.5.7, INSERT DELAYED was treated as a normal INSERT\n if the statement inserted multiple rows, binary logging was enabled,\n and the global logging format was statement-based (that is, whenever\n binlog_format was set to STATEMENT). Beginning with MySQL 5.5.7,\n INSERT DELAYED is always handled as a simple INSERT (that is, without\n the DELAYED option) whenever the value of binlog_format is STATEMENT\n or MIXED. (In the latter case, the statement no longer triggers a\n switch to row-based logging, and so is logged using the\n statement-based format.)\n\n This does not apply when using row-based binary logging mode\n (binlog_format set to ROW), in which INSERT DELAYED statements are\n always executed using the DELAYED option as specified, and logged as\n row-update events.\n\no DELAYED is ignored on slave replication servers, so that INSERT\n DELAYED is treated as a normal INSERT on slaves. This is because\n DELAYED could cause the slave to have different data than the master.\n\no Pending INSERT DELAYED statements are lost if a table is write locked\n and ALTER TABLE is used to modify the table structure.\n\no INSERT DELAYED is not supported for views.\n\no INSERT DELAYED is not supported for partitioned tables.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/insert-delayed.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/insert-delayed.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (501,27,'SHOW PROCEDURE CODE','Syntax:\nSHOW PROCEDURE CODE proc_name\n\nThis statement is a MySQL extension that is available only for servers\nthat have been built with debugging support. It displays a\nrepresentation of the internal implementation of the named stored\nprocedure. A similar statement, SHOW FUNCTION CODE, displays\ninformation about stored functions (see [HELP SHOW FUNCTION CODE]).\n\nTo use either statement, you must be the owner of the routine or have\nSELECT access to the mysql.proc table.\n\nIf the named routine is available, each statement produces a result\nset. Each row in the result set corresponds to one "instruction" in the\nroutine. The first column is Pos, which is an ordinal number beginning\nwith 0. The second column is Instruction, which contains an SQL\nstatement (usually changed from the original source), or a directive\nwhich has meaning only to the stored-routine handler.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-procedure-code.html\n\n','mysql> DELIMITER //\nmysql> CREATE PROCEDURE p1 ()\n -> BEGIN\n -> DECLARE fanta INT DEFAULT 55;\n -> DROP TABLE t2;\n -> LOOP\n -> INSERT INTO t3 VALUES (fanta);\n -> END LOOP;\n -> END//\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SHOW PROCEDURE CODE p1//\n+-----+----------------------------------------+\n| Pos | Instruction |\n+-----+----------------------------------------+\n| 0 | set fanta@0 55 |\n| 1 | stmt 9 "DROP TABLE t2" |\n| 2 | stmt 5 "INSERT INTO t3 VALUES (fanta)" |\n| 3 | jump 2 |\n+-----+----------------------------------------+\n4 rows in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.5/en/show-procedure-code.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (502,23,'MEDIUMTEXT','MEDIUMTEXT [CHARACTER SET charset_name] [COLLATE collation_name]\n\nA TEXT column with a maximum length of 16,777,215 (224 - 1) characters.\nThe effective maximum length is less if the value contains multibyte\ncharacters. Each MEDIUMTEXT value is stored using a 3-byte length\nprefix that indicates the number of bytes in the value.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (503,3,'LOG','Syntax:\nLOG(X), LOG(B,X)\n\nIf called with one parameter, this function returns the natural\nlogarithm of X. If X is less than or equal to 0, then NULL is returned.\n\nThe inverse of this function (when called with a single argument) is\nthe EXP() function.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT LOG(2);\n -> 0.69314718055995\nmysql> SELECT LOG(-2);\n -> NULL\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (504,27,'SHOW COLLATION','Syntax:\nSHOW COLLATION\n [LIKE \'pattern\' | WHERE expr]\n\nThis statement lists collations supported by the server. By default,\nthe output from SHOW COLLATION includes all available collations. The\nLIKE clause, if present, indicates which collation names to match. The\nWHERE clause can be given to select rows using more general conditions,\nas discussed in\nhttp://dev.mysql.com/doc/refman/5.5/en/extended-show.html. For example:\n\nmysql> SHOW COLLATION LIKE \'latin1%\';\n+-------------------+---------+----+---------+----------+---------+\n| Collation | Charset | Id | Default | Compiled | Sortlen |\n+-------------------+---------+----+---------+----------+---------+\n| latin1_german1_ci | latin1 | 5 | | | 0 |\n| latin1_swedish_ci | latin1 | 8 | Yes | Yes | 0 |\n| latin1_danish_ci | latin1 | 15 | | | 0 |\n| latin1_german2_ci | latin1 | 31 | | Yes | 2 |\n| latin1_bin | latin1 | 47 | | Yes | 0 |\n| latin1_general_ci | latin1 | 48 | | | 0 |\n| latin1_general_cs | latin1 | 49 | | | 0 |\n| latin1_spanish_ci | latin1 | 94 | | | 0 |\n+-------------------+---------+----+---------+----------+---------+\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/show-collation.html\n\n','','http://dev.mysql.com/doc/refman/5.5/en/show-collation.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (505,20,'!=','Syntax:\n<>, !=\n\nNot equal:\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT \'.01\' <> \'0.01\';\n -> 1\nmysql> SELECT .01 <> \'0.01\';\n -> 0\nmysql> SELECT \'zapp\' <> \'zappp\';\n -> 1\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (506,24,'WHILE','Syntax:\n[begin_label:] WHILE search_condition DO\n statement_list\nEND WHILE [end_label]\n\nThe statement list within a WHILE statement is repeated as long as the\nsearch_condition expression is true. statement_list consists of one or\nmore SQL statements, each terminated by a semicolon (;) statement\ndelimiter.\n\nA WHILE statement can be labeled. For the rules regarding label use,\nsee [HELP labels].\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/while.html\n\n','CREATE PROCEDURE dowhile()\nBEGIN\n DECLARE v1 INT DEFAULT 5;\n\n WHILE v1 > 0 DO\n ...\n SET v1 = v1 - 1;\n END WHILE;\nEND;\n','http://dev.mysql.com/doc/refman/5.5/en/while.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (507,32,'DAYNAME','Syntax:\nDAYNAME(date)\n\nReturns the name of the weekday for date. The language used for the\nname is controlled by the value of the lc_time_names system variable\n(http://dev.mysql.com/doc/refman/5.5/en/locale-support.html).\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html\n\n','mysql> SELECT DAYNAME(\'2007-02-03\');\n -> \'Saturday\'\n','http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (508,3,'RADIANS','Syntax:\nRADIANS(X)\n\nReturns the argument X, converted from degrees to radians. (Note that\nπ radians equals 180 degrees.)\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html\n\n','mysql> SELECT RADIANS(90);\n -> 1.5707963267949\n','http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (509,17,'COLLATION','Syntax:\nCOLLATION(str)\n\nReturns the collation of the string argument.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','mysql> SELECT COLLATION(\'abc\');\n -> \'latin1_swedish_ci\'\nmysql> SELECT COLLATION(_utf8\'abc\');\n -> \'utf8_general_ci\'\n','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (510,20,'COALESCE','Syntax:\nCOALESCE(value,...)\n\nReturns the first non-NULL value in the list, or NULL if there are no\nnon-NULL values.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html\n\n','mysql> SELECT COALESCE(NULL,1);\n -> 1\nmysql> SELECT COALESCE(NULL,NULL,NULL);\n -> NULL\n','http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html'); +INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (511,17,'VERSION','Syntax:\nVERSION()\n\nReturns a string that indicates the MySQL server version. The string\nuses the utf8 character set. The value might have a suffix in addition\nto the version number. See the description of the version system\nvariable in\nhttp://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html.\n\nURL: http://dev.mysql.com/doc/refman/5.5/en/information-functions.html\n\n','mysql> SELECT VERSION();\n -> \'5.5.42-standard\'\n','http://dev.mysql.com/doc/refman/5.5/en/information-functions.html'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (0,'JOIN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (1,'HOST'); @@ -785,1319 +788,1328 @@ INSERT INTO help_keyword (help_keyword_id,name) VALUES (197,'COLLATE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (198,'POLYGONFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (199,'BYTE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (200,'GLOBAL'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (201,'LINESTRINGFROMWKB'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (202,'WHEN'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (203,'HAVING'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (204,'AS'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (205,'STARTING'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (206,'RELOAD'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (207,'AUTOCOMMIT'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (208,'REVOKE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (209,'GRANTS'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (210,'OUTER'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (211,'CURSOR_NAME'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (212,'FLOOR'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (213,'EXPLAIN'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (214,'WITH'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (215,'AFTER'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (216,'STD'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (217,'CSV'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (218,'DISABLE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (219,'UNINSTALL'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (220,'OUTFILE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (221,'LOW_PRIORITY'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (222,'FILE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (223,'NODEGROUP'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (224,'SCHEMA'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (225,'SONAME'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (226,'POW'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (227,'DUAL'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (228,'INDEX'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (229,'MULTIPOINTFROMWKB'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (230,'MULTIPOINTFROMTEXT'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (231,'DEFINER'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (232,'MASTER_BIND'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (233,'REMOVE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (234,'EXTENDED'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (235,'MULTILINESTRINGFROMWKB'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (236,'CROSS'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (237,'CONTRIBUTORS'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (238,'NATIONAL'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (239,'GROUP'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (240,'SHA'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (241,'ONLINE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (242,'UNDO'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (243,'IGNORE_SERVER_IDS'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (244,'ZEROFILL'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (245,'CLIENT'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (246,'MASTER_PASSWORD'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (247,'OWNER'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (248,'RELAY_LOG_FILE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (249,'TRUE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (250,'CHARACTER'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (251,'MASTER_USER'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (252,'SCHEMA_NAME'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (253,'TABLE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (254,'ENGINE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (255,'INSERT_METHOD'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (256,'CASCADE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (257,'RELAY_LOG_POS'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (258,'SQL_CALC_FOUND_ROWS'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (259,'UNION'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (260,'MYISAM'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (261,'LEAVE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (262,'MODIFY'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (263,'MATCH'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (264,'MASTER_LOG_POS'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (265,'DISTINCTROW'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (266,'DESC'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (267,'TIME'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (268,'NUMERIC'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (269,'EXPANSION'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (270,'CODE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (271,'CURSOR'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (272,'GEOMETRYCOLLECTIONFROMTEXT'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (273,'CHAIN'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (274,'LOGFILE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (275,'FLUSH'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (276,'CREATE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (277,'DESCRIBE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (278,'EXTENT_SIZE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (279,'MAX_UPDATES_PER_HOUR'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (280,'INT2'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (281,'PROCESSLIST'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (282,'ENDS'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (283,'LOGS'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (284,'RECOVER'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (285,'DISCARD'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (286,'HEAP'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (287,'SOUNDS'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (288,'BETWEEN'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (289,'MULTILINESTRINGFROMTEXT'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (290,'REPAIR'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (291,'PACK_KEYS'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (292,'FAST'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (293,'VALUES'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (294,'CALL'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (295,'LOOP'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (296,'VARCHARACTER'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (297,'BEFORE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (298,'TRUNCATE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (299,'SHOW'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (300,'ALL'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (301,'REDUNDANT'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (302,'USER_RESOURCES'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (303,'PARTIAL'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (304,'BINLOG'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (305,'END'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (306,'SECOND'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (307,'AND'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (308,'FLOAT8'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (309,'PREV'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (310,'HOUR'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (311,'SELECT'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (312,'DATABASES'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (313,'OR'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (314,'IDENTIFIED'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (315,'WRAPPER'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (316,'MASTER_SSL_CIPHER'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (317,'SQL_SLAVE_SKIP_COUNTER'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (318,'BOOL'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (319,'BOTH'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (320,'YEAR'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (321,'MASTER_PORT'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (322,'CONCURRENT'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (323,'HELP'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (324,'UNIQUE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (325,'TRIGGERS'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (326,'PROCESS'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (327,'OPTIONS'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (328,'RESIGNAL'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (329,'CONSISTENT'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (330,'MASTER_SSL'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (331,'DATE_ADD'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (332,'MAX_CONNECTIONS_PER_HOUR'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (333,'LIKE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (334,'PLUGIN'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (335,'FETCH'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (336,'IN'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (337,'COLUMN'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (338,'DUMPFILE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (339,'USAGE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (340,'EXECUTE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (341,'MEMORY'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (342,'CEIL'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (343,'QUERY'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (344,'MASTER_HOST'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (345,'LINES'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (346,'SQL_THREAD'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (347,'SERVER'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (348,'MAX_QUERIES_PER_HOUR'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (349,'MASTER_SSL_CERT'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (350,'MULTIPOLYGONFROMWKB'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (351,'TRANSACTION'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (352,'DAY_MINUTE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (353,'DATE_SUB'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (354,'STDDEV'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (355,'REBUILD'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (356,'GEOMETRYFROMWKB'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (357,'INT1'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (358,'RENAME'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (359,'PARSER'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (360,'RIGHT'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (361,'ALTER'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (362,'MAX_ROWS'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (363,'SOCKET'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (364,'STRAIGHT_JOIN'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (365,'NATURAL'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (366,'VARIABLES'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (367,'ESCAPED'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (368,'SHA1'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (369,'KEY_BLOCK_SIZE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (370,'PASSWORD'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (371,'OFFSET'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (372,'CHAR'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (373,'NEXT'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (374,'ERRORS'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (375,'SQL_LOG_BIN'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (376,'TEMPORARY'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (377,'COMMITTED'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (378,'SQL_SMALL_RESULT'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (379,'UPGRADE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (380,'XA'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (381,'BEGIN'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (382,'DELAY_KEY_WRITE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (383,'PROFILE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (384,'MEDIUM'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (385,'INTERVAL'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (386,'SSL'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (387,'DAY_HOUR'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (388,'NAME'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (389,'REFERENCES'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (390,'AES_ENCRYPT'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (391,'STORAGE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (392,'ISOLATION'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (393,'CEILING'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (394,'EVERY'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (395,'INT8'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (396,'AUTHORS'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (397,'RESTRICT'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (398,'UNCOMMITTED'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (399,'LINESTRINGFROMTEXT'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (400,'IS'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (401,'NOT'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (402,'ANALYSE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (403,'DATAFILE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (404,'DES_KEY_FILE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (405,'SIGNAL'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (406,'COMPRESSED'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (407,'START'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (408,'PLUGINS'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (409,'SAVEPOINT'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (410,'IF'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (411,'ROWS'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (412,'PRIMARY'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (413,'PURGE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (414,'LAST'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (415,'USER'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (416,'EXIT'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (417,'KEYS'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (418,'LIMIT'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (419,'KEY'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (420,'MERGE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (421,'UNTIL'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (422,'SQL_NO_CACHE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (423,'DELAYED'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (424,'CONSTRAINT_SCHEMA'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (425,'ANALYZE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (426,'CONSTRAINT'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (427,'SERIAL'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (428,'ACTION'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (429,'WRITE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (430,'INITIAL_SIZE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (431,'SESSION'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (432,'DATABASE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (433,'NULL'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (434,'POWER'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (435,'USE_FRM'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (436,'TERMINATED'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (437,'SLAVE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (438,'NVARCHAR'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (439,'ASC'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (440,'RETURN'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (441,'OPTIONALLY'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (442,'ENABLE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (443,'DIRECTORY'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (444,'MAX_USER_CONNECTIONS'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (445,'WHILE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (446,'LOCAL'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (447,'DISTINCT'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (448,'AES_DECRYPT'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (449,'MASTER_SSL_KEY'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (450,'NONE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (451,'TABLES'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (452,'<>'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (453,'RLIKE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (454,'TRIGGER'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (455,'COLLATION'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (456,'SHUTDOWN'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (457,'HIGH_PRIORITY'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (458,'BTREE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (459,'FIRST'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (460,'COALESCE'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (461,'WAIT'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (462,'CATALOG_NAME'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (463,'MASTER'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (464,'FIXED'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (465,'MULTIPOLYGONFROMTEXT'); -INSERT INTO help_keyword (help_keyword_id,name) VALUES (466,'ROW_FORMAT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (200,'ENVELOPE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (201,'GLOBAL'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (202,'LINESTRINGFROMWKB'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (203,'WHEN'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (204,'HAVING'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (205,'AS'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (206,'STARTING'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (207,'RELOAD'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (208,'AUTOCOMMIT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (209,'REVOKE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (210,'GRANTS'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (211,'OUTER'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (212,'CURSOR_NAME'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (213,'FLOOR'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (214,'EXPLAIN'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (215,'WITH'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (216,'AFTER'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (217,'STD'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (218,'CSV'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (219,'DISABLE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (220,'UNINSTALL'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (221,'OUTFILE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (222,'LOW_PRIORITY'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (223,'FILE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (224,'NODEGROUP'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (225,'SCHEMA'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (226,'SONAME'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (227,'POW'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (228,'DUAL'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (229,'INDEX'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (230,'MULTIPOINTFROMWKB'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (231,'MULTIPOINTFROMTEXT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (232,'DEFINER'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (233,'MASTER_BIND'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (234,'REMOVE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (235,'EXTENDED'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (236,'MULTILINESTRINGFROMWKB'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (237,'CROSS'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (238,'CONTRIBUTORS'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (239,'NATIONAL'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (240,'GROUP'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (241,'SHA'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (242,'ONLINE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (243,'UNDO'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (244,'IGNORE_SERVER_IDS'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (245,'ZEROFILL'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (246,'CLIENT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (247,'MASTER_PASSWORD'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (248,'OWNER'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (249,'RELAY_LOG_FILE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (250,'TRUE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (251,'CHARACTER'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (252,'MASTER_USER'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (253,'SCHEMA_NAME'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (254,'TABLE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (255,'ENGINE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (256,'INSERT_METHOD'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (257,'CASCADE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (258,'RELAY_LOG_POS'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (259,'SQL_CALC_FOUND_ROWS'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (260,'UNION'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (261,'MYISAM'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (262,'LEAVE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (263,'MODIFY'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (264,'MATCH'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (265,'MASTER_LOG_POS'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (266,'DISTINCTROW'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (267,'DESC'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (268,'TIME'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (269,'NUMERIC'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (270,'EXPANSION'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (271,'CODE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (272,'CURSOR'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (273,'GEOMETRYCOLLECTIONFROMTEXT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (274,'AREA'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (275,'CHAIN'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (276,'LOGFILE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (277,'FLUSH'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (278,'CREATE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (279,'DESCRIBE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (280,'EXTENT_SIZE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (281,'MAX_UPDATES_PER_HOUR'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (282,'INT2'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (283,'PROCESSLIST'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (284,'ENDS'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (285,'LOGS'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (286,'RECOVER'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (287,'DISCARD'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (288,'HEAP'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (289,'SOUNDS'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (290,'BETWEEN'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (291,'MULTILINESTRINGFROMTEXT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (292,'REPAIR'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (293,'PACK_KEYS'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (294,'FAST'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (295,'VALUES'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (296,'CALL'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (297,'LOOP'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (298,'VARCHARACTER'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (299,'BEFORE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (300,'TRUNCATE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (301,'SHOW'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (302,'ALL'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (303,'REDUNDANT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (304,'USER_RESOURCES'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (305,'PARTIAL'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (306,'BINLOG'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (307,'END'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (308,'SECOND'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (309,'AND'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (310,'FLOAT8'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (311,'PREV'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (312,'HOUR'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (313,'SELECT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (314,'DATABASES'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (315,'OR'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (316,'IDENTIFIED'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (317,'WRAPPER'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (318,'MASTER_SSL_CIPHER'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (319,'SQL_SLAVE_SKIP_COUNTER'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (320,'BOOL'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (321,'BOTH'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (322,'YEAR'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (323,'MASTER_PORT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (324,'CONCURRENT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (325,'HELP'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (326,'UNIQUE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (327,'TRIGGERS'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (328,'PROCESS'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (329,'OPTIONS'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (330,'RESIGNAL'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (331,'CONSISTENT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (332,'MASTER_SSL'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (333,'DATE_ADD'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (334,'MAX_CONNECTIONS_PER_HOUR'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (335,'LIKE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (336,'PLUGIN'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (337,'FETCH'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (338,'IN'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (339,'COLUMN'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (340,'DUMPFILE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (341,'USAGE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (342,'EXECUTE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (343,'MEMORY'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (344,'CEIL'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (345,'QUERY'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (346,'MASTER_HOST'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (347,'LINES'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (348,'SQL_THREAD'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (349,'SERVER'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (350,'MAX_QUERIES_PER_HOUR'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (351,'MASTER_SSL_CERT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (352,'MULTIPOLYGONFROMWKB'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (353,'TRANSACTION'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (354,'DAY_MINUTE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (355,'DATE_SUB'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (356,'STDDEV'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (357,'REBUILD'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (358,'GEOMETRYFROMWKB'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (359,'INT1'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (360,'RENAME'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (361,'PARSER'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (362,'RIGHT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (363,'ALTER'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (364,'MAX_ROWS'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (365,'SOCKET'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (366,'STRAIGHT_JOIN'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (367,'NATURAL'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (368,'VARIABLES'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (369,'ESCAPED'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (370,'SHA1'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (371,'KEY_BLOCK_SIZE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (372,'PASSWORD'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (373,'OFFSET'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (374,'CHAR'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (375,'NEXT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (376,'ERRORS'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (377,'SQL_LOG_BIN'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (378,'TEMPORARY'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (379,'COMMITTED'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (380,'SQL_SMALL_RESULT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (381,'UPGRADE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (382,'XA'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (383,'BEGIN'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (384,'DELAY_KEY_WRITE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (385,'PROFILE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (386,'MEDIUM'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (387,'INTERVAL'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (388,'CENTROID'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (389,'SSL'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (390,'DAY_HOUR'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (391,'NAME'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (392,'REFERENCES'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (393,'AES_ENCRYPT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (394,'STORAGE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (395,'ISOLATION'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (396,'CEILING'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (397,'EVERY'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (398,'INT8'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (399,'AUTHORS'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (400,'RESTRICT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (401,'UNCOMMITTED'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (402,'LINESTRINGFROMTEXT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (403,'IS'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (404,'NOT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (405,'ANALYSE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (406,'DATAFILE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (407,'DES_KEY_FILE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (408,'SIGNAL'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (409,'COMPRESSED'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (410,'START'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (411,'PLUGINS'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (412,'SAVEPOINT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (413,'IF'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (414,'ROWS'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (415,'PRIMARY'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (416,'PURGE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (417,'LAST'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (418,'USER'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (419,'EXIT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (420,'KEYS'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (421,'LIMIT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (422,'KEY'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (423,'MERGE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (424,'UNTIL'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (425,'SQL_NO_CACHE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (426,'DELAYED'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (427,'CONSTRAINT_SCHEMA'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (428,'ANALYZE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (429,'CONSTRAINT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (430,'SERIAL'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (431,'ACTION'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (432,'WRITE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (433,'INITIAL_SIZE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (434,'SESSION'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (435,'DATABASE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (436,'NULL'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (437,'POWER'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (438,'USE_FRM'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (439,'TERMINATED'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (440,'SLAVE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (441,'NVARCHAR'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (442,'ASC'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (443,'RETURN'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (444,'OPTIONALLY'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (445,'ENABLE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (446,'DIRECTORY'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (447,'MAX_USER_CONNECTIONS'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (448,'WHILE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (449,'LOCAL'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (450,'AES_DECRYPT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (451,'DISTINCT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (452,'MASTER_SSL_KEY'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (453,'NONE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (454,'TABLES'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (455,'<>'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (456,'RLIKE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (457,'TRIGGER'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (458,'COLLATION'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (459,'SHUTDOWN'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (460,'HIGH_PRIORITY'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (461,'BTREE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (462,'FIRST'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (463,'COALESCE'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (464,'WAIT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (465,'CATALOG_NAME'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (466,'MASTER'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (467,'FIXED'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (468,'MULTIPOLYGONFROMTEXT'); +INSERT INTO help_keyword (help_keyword_id,name) VALUES (469,'ROW_FORMAT'); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (1,0); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,0); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (476,1); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (235,2); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (450,3); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (3,4); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (132,4); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (423,4); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (91,5); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (408,6); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (91,6); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (99,7); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (91,8); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (187,9); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (432,10); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,11); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,12); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (21,12); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,12); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (423,12); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,12); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (408,13); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (91,13); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (148,14); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (232,15); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (90,16); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,16); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (18,17); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (136,17); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,17); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (108,17); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (503,18); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (99,18); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (382,19); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (462,20); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (3,20); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (376,20); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (106,20); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (246,20); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (187,21); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,22); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (481,23); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (35,23); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (240,23); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (303,23); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (9,23); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (417,23); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (279,23); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (418,23); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (31,23); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (89,23); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (266,23); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (188,23); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (407,23); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (233,23); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (333,23); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,23); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (110,24); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,25); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (124,25); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (172,25); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (378,26); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (84,27); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (106,28); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,29); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (37,30); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,31); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,31); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (378,32); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,33); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (36,34); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (240,34); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,34); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (37,35); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,35); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,36); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (419,37); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,37); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,37); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,38); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (21,38); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (297,38); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,38); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (454,38); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (503,39); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (132,40); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (50,40); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,40); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (85,40); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,40); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,40); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (423,40); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (79,40); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (362,40); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,40); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (475,41); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,41); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (378,42); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,43); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,43); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (476,44); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,44); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (214,44); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (423,44); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (378,45); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,46); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (317,47); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (99,47); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (362,48); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (462,49); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (376,49); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (187,50); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (475,51); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (50,51); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,51); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (408,52); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (1,52); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (475,52); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (91,52); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (462,53); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (376,53); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (178,54); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,54); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (53,55); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (108,55); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,56); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,57); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (57,57); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (1,57); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (462,58); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (376,58); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (50,59); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (85,59); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (108,59); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (195,60); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (252,60); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,60); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (212,61); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,61); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (408,62); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (91,62); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (303,62); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (360,62); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,63); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,64); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (1,65); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (132,65); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,65); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (106,65); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (85,65); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (423,65); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,65); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (68,66); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (469,67); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (419,67); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (50,67); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (232,68); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (89,69); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (212,69); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,69); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,70); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,71); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,72); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (93,73); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (485,73); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (387,74); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (450,75); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (1,76); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (40,77); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (272,77); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (232,77); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (272,78); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (463,78); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (187,78); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (187,79); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,79); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (408,80); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (91,80); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (378,81); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (475,82); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,82); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (106,82); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (85,82); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (408,83); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (91,83); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (462,84); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (376,84); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,0); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,0); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (240,1); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (124,2); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (230,3); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (260,4); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (321,4); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (463,4); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (300,5); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (455,6); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (300,6); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (55,7); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (300,8); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,9); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (222,10); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (473,11); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,12); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (265,12); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,12); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (463,12); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,12); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (455,13); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (300,13); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (327,14); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (122,15); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (299,16); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,16); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (13,17); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (323,17); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,17); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (59,17); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (255,18); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (55,18); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (197,19); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (487,20); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (260,20); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (194,20); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (307,20); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (374,20); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,21); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,22); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (497,23); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (271,23); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (372,23); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (397,23); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (6,23); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (388,23); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (211,23); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,23); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (215,23); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (461,23); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (49,23); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (269,23); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (143,23); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (348,23); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (123,23); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (414,23); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (309,24); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (219,25); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (66,25); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (92,25); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,26); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (45,27); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (307,28); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,29); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (24,30); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,31); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,31); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,32); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,33); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (23,34); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (372,34); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (473,34); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (24,35); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,35); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,36); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (216,37); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,37); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,37); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,38); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (265,38); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (161,38); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,38); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (483,38); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (255,39); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (321,40); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (30,40); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,40); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (46,40); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,40); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,40); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (463,40); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (295,40); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (432,40); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,40); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (496,41); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,41); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,42); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,43); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,43); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (240,44); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,44); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (112,44); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (463,44); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,45); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,46); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (405,47); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (55,47); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (432,48); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (487,49); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (194,49); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,50); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (496,51); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (30,51); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,51); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (455,52); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,52); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (496,52); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (300,52); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (487,53); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (194,53); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (94,54); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,54); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (31,55); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (59,55); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,56); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (104,57); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (33,57); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,57); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (487,58); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (194,58); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (30,59); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (46,59); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (59,59); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (103,60); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (134,60); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,60); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (111,61); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,61); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (455,62); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (300,62); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (397,62); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (187,62); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,63); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,64); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,65); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (321,65); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,65); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (307,65); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (46,65); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (463,65); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,65); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (288,66); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (236,67); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (216,67); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (30,67); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (122,68); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (49,69); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (111,69); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,69); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,70); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (104,71); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,72); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (51,73); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (246,73); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,74); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (230,75); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,76); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (25,77); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (147,77); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (122,77); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (147,78); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (488,78); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,78); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,79); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,79); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (455,80); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (300,80); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,81); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (496,82); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,82); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (307,82); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (46,82); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (455,83); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (300,83); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (487,84); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (194,84); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (399,85); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (260,85); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,85); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (307,85); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (3,85); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,85); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (106,85); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,86); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (261,87); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,88); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (378,89); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (131,90); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (148,91); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (463,91); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,91); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (17,92); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (418,92); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,92); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (442,92); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (331,92); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,92); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (191,92); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (305,92); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (491,92); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (190,93); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (101,93); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (423,94); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,94); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (90,95); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (403,96); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,96); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (71,97); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (435,97); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (332,97); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (197,98); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (106,98); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (489,98); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (304,98); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (288,99); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (87,100); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (59,100); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (29,100); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,101); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (285,101); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (316,102); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (108,102); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (476,103); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (378,104); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (157,105); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (31,105); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (91,105); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (303,105); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (188,105); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (9,105); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (279,105); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,106); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (367,106); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (111,107); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (148,108); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (463,108); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,108); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (90,109); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (24,109); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (115,110); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (176,110); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (3,111); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (157,111); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,111); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (202,111); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (214,111); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (106,111); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (246,111); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,111); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,112); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (469,113); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (329,113); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (117,113); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (473,113); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (117,114); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,114); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (462,115); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (376,115); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (39,116); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (121,116); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (267,116); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (153,116); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (462,117); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (376,117); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (421,118); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,119); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (408,120); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (91,120); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (127,120); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (499,120); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (223,121); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (335,122); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (131,122); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (3,122); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (157,122); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (132,122); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (462,122); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (376,122); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (497,122); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (214,122); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (106,122); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,122); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,122); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,122); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (85,122); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (148,122); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (475,122); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (184,122); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,122); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (480,122); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (423,122); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,123); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (265,124); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (134,124); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (232,124); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (378,124); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,125); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (338,125); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (367,125); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (225,125); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (60,125); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (331,125); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (139,125); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (217,125); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,126); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (212,126); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,126); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,127); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (408,127); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (91,127); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,127); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (212,127); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (187,128); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (1,129); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,130); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (54,131); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (187,132); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,133); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (317,134); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,135); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (458,136); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (258,137); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (288,138); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (252,139); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,139); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,140); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (87,141); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (59,141); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (240,142); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (54,143); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (327,143); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (87,144); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (59,144); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,145); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (316,146); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,86); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (141,87); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (104,88); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,89); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (319,90); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (327,91); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (488,91); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (473,91); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (12,92); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,92); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (227,92); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (166,92); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (501,92); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (461,92); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (177,92); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (100,92); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,92); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (347,93); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (56,93); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (463,94); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,94); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (299,95); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (207,96); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,96); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (292,97); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (223,97); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (413,97); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (105,98); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (307,98); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (500,98); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (165,98); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (391,99); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (47,100); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (34,100); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (20,100); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,101); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (390,101); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (406,102); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (59,102); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (240,103); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,104); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (330,105); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (269,105); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (300,105); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (397,105); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (348,105); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (6,105); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (388,105); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,106); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (435,106); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (60,107); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (327,108); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (488,108); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (473,108); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (299,109); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (266,109); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (63,110); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (342,110); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (260,111); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (330,111); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,111); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (354,111); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (112,111); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (307,111); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (374,111); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,111); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,112); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (236,113); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (175,113); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (313,113); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (494,113); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (313,114); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,114); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (487,115); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (194,115); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (273,116); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (316,116); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (144,116); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (82,116); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (487,117); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (194,117); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (462,118); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (68,119); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (455,120); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (300,120); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (69,120); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (506,120); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (117,121); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (179,122); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (319,122); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (260,122); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (330,122); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (321,122); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (487,122); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (194,122); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (252,122); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (112,122); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (307,122); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,122); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,122); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,122); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (46,122); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (327,122); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (496,122); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (98,122); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,122); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (243,122); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (463,122); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,123); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (381,124); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (71,124); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (122,124); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,124); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,125); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (417,125); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (435,125); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (118,125); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (35,125); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (177,125); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (326,125); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (115,125); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,126); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (111,126); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,126); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (104,127); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (455,127); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (300,127); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,127); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (111,127); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,128); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,129); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (219,130); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (282,131); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,132); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,133); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (405,134); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,135); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (486,136); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (138,137); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (391,138); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (134,139); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,139); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,140); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (47,141); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (34,141); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (372,142); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (282,143); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (412,143); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (47,144); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (34,144); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,145); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (406,146); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (219,147); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,147); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,147); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (458,147); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (50,147); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (124,147); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,147); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (450,148); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (37,148); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,148); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (108,148); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (1,149); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (29,150); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (378,151); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,152); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (211,153); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,154); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (316,154); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (182,154); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,154); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (422,154); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,155); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (332,155); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,156); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (99,157); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (182,158); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (423,159); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (70,160); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,160); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (338,160); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (35,160); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (99,160); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (305,160); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (418,160); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (395,160); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (213,160); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (407,160); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (236,160); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (99,161); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,162); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (423,162); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (255,163); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,164); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,165); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,165); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,166); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (481,166); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (65,166); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,166); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (178,167); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (170,168); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,169); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (481,169); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (417,169); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,169); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (457,170); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (31,170); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (161,170); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (450,171); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (132,172); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (423,172); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (192,173); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (50,174); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,174); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (85,174); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,174); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (362,174); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (1,175); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (88,175); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (50,175); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (462,176); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (376,176); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (255,177); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (252,178); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,178); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (486,147); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (30,147); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (66,147); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,147); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (230,148); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (24,148); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (473,148); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (59,148); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,149); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (20,150); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,151); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,152); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (359,153); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,154); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (406,154); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (344,154); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,154); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (464,154); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,155); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (413,155); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,156); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (55,157); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (344,158); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (463,159); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (290,160); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,160); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (417,160); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (271,160); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (55,160); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (166,160); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (461,160); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (204,160); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (360,160); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (211,160); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (370,160); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (55,161); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,162); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (463,162); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (136,163); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,164); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,165); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,165); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (104,166); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (497,166); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (38,166); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,166); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (94,167); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (338,168); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (104,169); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (497,169); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (215,169); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,169); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (485,170); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (269,170); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (88,170); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (230,171); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (321,172); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (463,172); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (101,173); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (30,174); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,174); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (46,174); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,174); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (432,174); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,175); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (48,175); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (30,175); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (487,176); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (194,176); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (136,177); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (134,178); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,178); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (405,179); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (255,179); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (359,179); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (122,179); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (266,179); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (338,179); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (317,179); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (503,179); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (211,179); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (232,179); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (24,179); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (170,179); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (130,179); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (158,180); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (99,180); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (232,180); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (414,181); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,182); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (475,183); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (476,183); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,183); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,183); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (307,184); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (103,184); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (153,184); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (147,185); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,185); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (462,186); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (376,186); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (148,187); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,187); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,188); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (162,188); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (458,189); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (148,190); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,190); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (462,191); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (376,191); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (316,192); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (182,192); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (422,192); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (202,192); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (307,193); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (423,193); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,194); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (232,195); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (379,195); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,196); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (157,197); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,197); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (214,197); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (397,198); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (468,199); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (131,200); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (450,200); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (184,200); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (351,200); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (139,200); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (455,201); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (87,202); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (59,202); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,203); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (1,204); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (37,204); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,204); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (423,205); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,206); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (148,207); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (252,208); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,209); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (194,209); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (1,210); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (462,211); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (376,211); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (223,212); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (258,213); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (90,214); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,214); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (212,214); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,214); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,214); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,215); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (263,216); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,217); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (423,217); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (408,218); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (91,218); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,218); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (294,219); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,220); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (3,221); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (37,221); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (132,221); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (50,221); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (106,221); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (85,221); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (423,221); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,222); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,223); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,224); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (157,224); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (312,224); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (188,224); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (214,224); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (99,225); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (280,226); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (282,227); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,228); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (1,228); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,228); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (307,228); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (89,228); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (103,228); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (65,228); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (311,228); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (212,228); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,228); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (467,229); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (427,230); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (408,231); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (91,231); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (187,232); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,233); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (469,234); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (258,234); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (275,235); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (1,236); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,237); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (7,237); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (261,238); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (432,238); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,239); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (49,239); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (228,239); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,239); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (233,239); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (429,240); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (89,241); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (212,241); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (86,180); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (55,180); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (122,180); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (458,181); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,182); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (496,183); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (240,183); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,183); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,183); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (399,184); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (57,184); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (82,184); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (328,185); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,185); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (487,186); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (194,186); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (327,187); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (473,187); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,188); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (89,188); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (486,189); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (327,190); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (473,190); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (487,191); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (194,191); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (406,192); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (344,192); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (464,192); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (354,192); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (399,193); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (463,193); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,194); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (122,195); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (441,195); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,196); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (330,197); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,197); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (112,197); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (451,198); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (492,199); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (128,200); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (319,201); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (230,201); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (98,201); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (427,201); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (326,201); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (482,202); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (47,203); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (34,203); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,204); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,205); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (24,205); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,205); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (463,206); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,207); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (327,208); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (134,209); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,210); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (350,210); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,211); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (487,212); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (194,212); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (117,213); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (138,214); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (299,215); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,215); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (111,215); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,215); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,215); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,216); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (380,217); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,218); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (463,218); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (455,219); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (300,219); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,219); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (159,220); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,221); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (260,222); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (24,222); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (321,222); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (30,222); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (307,222); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (46,222); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (463,222); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,223); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (104,224); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,225); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (330,225); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (402,225); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (348,225); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (112,225); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (55,226); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (387,227); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (152,228); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,229); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,229); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,229); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (399,229); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (49,229); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (57,229); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (38,229); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (403,229); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (111,229); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,229); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (489,230); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (220,231); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (455,232); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (300,232); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,233); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,234); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (236,235); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (138,235); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (150,236); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,237); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,238); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (4,238); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (141,239); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (222,239); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (104,240); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (278,240); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (367,240); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,240); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (123,240); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,241); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (316,242); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (187,243); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (317,244); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (503,244); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (211,244); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (24,244); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (170,244); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (130,244); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,245); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (187,246); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (476,247); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (187,248); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (387,249); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (335,250); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,250); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (157,250); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (432,250); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (132,250); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,250); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (261,250); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (214,250); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,250); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (423,250); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (187,251); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (462,252); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (376,252); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,253); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (469,253); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (112,253); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,253); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (117,253); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (324,253); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (473,253); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (279,253); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (281,253); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (419,253); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (403,253); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (65,253); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (217,253); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,253); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,254); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (481,254); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,254); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (367,254); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,254); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (417,254); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,254); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,255); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (475,256); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (31,256); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,256); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (279,256); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (187,257); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,258); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (308,259); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,260); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (313,261); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,262); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (90,263); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (187,264); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,265); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,266); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (258,266); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (362,266); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (318,267); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (377,267); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (232,267); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (211,268); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (90,269); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (70,270); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (491,270); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (422,271); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (249,272); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (148,273); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,274); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (49,274); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (228,274); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (233,274); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (329,275); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (153,275); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (457,276); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,276); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (157,276); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (99,276); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (305,276); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (281,276); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (312,276); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (213,276); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (212,276); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (79,276); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (17,276); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (49,276); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,276); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (22,276); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,276); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (476,276); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (395,276); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (91,276); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (65,276); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (360,276); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (258,277); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,278); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,279); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (237,280); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,281); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (454,281); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (91,282); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (40,283); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,283); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (272,283); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,284); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,285); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,286); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (380,287); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (149,288); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (109,289); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (469,290); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,290); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,291); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (419,292); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (3,293); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (106,293); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (341,294); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (346,295); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (261,296); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (272,297); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (324,298); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,298); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (195,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (70,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (335,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (71,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (338,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (7,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (136,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (281,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (10,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (285,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (139,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (217,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (17,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (21,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (351,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (84,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (225,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (25,299); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (49,242); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (111,242); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,242); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (406,243); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,244); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (405,245); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (255,245); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (359,245); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (266,245); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (338,245); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (317,245); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,246); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,247); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (240,248); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,249); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,250); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (179,251); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,251); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (330,251); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (222,251); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (321,251); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,251); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (141,251); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (112,251); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,251); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (463,251); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,252); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (487,253); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (194,253); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,254); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (236,254); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (61,254); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,254); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (313,254); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (410,254); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (494,254); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (388,254); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (151,254); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (207,254); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (216,254); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (38,254); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (115,254); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,254); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (104,255); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (497,255); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,255); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (435,255); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,255); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (215,255); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,255); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,256); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (496,257); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (269,257); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,257); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (388,257); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,258); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,259); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (400,260); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,261); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (168,262); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,263); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (299,264); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,265); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,266); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,267); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (138,267); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (432,267); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (407,268); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (195,268); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (122,268); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (359,269); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (299,270); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (290,271); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (501,271); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (464,272); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (376,273); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (411,274); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (327,275); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (104,276); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (278,276); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (367,276); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (123,276); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (175,277); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (82,277); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (485,278); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (104,278); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (330,278); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (55,278); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (166,278); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (151,278); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (402,278); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (360,278); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (111,278); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (295,278); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (12,278); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (278,278); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,278); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (15,278); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,278); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (240,278); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (204,278); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (300,278); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (38,278); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (187,278); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (138,279); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (104,280); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,281); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (125,282); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,283); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (483,283); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (300,284); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (25,285); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,285); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (147,285); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (473,286); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,287); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,288); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (442,289); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (79,290); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (308,291); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (236,292); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,292); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,293); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (216,294); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (260,295); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (307,295); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (421,296); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (181,297); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (141,298); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (147,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (297,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (360,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (34,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (367,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (162,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (491,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (40,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (312,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (495,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (311,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (172,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (60,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (395,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (331,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (332,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (124,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (194,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (454,299); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (39,300); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (308,300); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (252,300); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,300); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,300); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,301); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (329,302); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,303); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (124,304); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (352,304); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (59,305); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (87,305); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (330,305); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (29,305); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,305); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (346,305); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (235,305); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (499,305); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (378,306); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (149,307); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (319,307); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (317,308); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (108,309); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (378,310); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (3,311); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,311); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (106,311); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (304,311); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (258,311); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,312); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (162,312); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (143,313); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (132,314); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,314); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (79,314); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (476,315); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (187,316); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (184,317); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (113,318); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (24,318); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (458,319); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (378,320); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (187,321); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (132,322); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (423,322); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (392,323); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (120,323); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,324); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (25,325); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,325); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,326); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (375,327); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (476,327); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (376,328); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (148,329); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,329); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (187,330); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (378,331); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,332); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,333); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (380,333); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,334); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (294,334); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (421,334); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (385,335); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (410,300); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,300); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (103,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (290,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (179,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (292,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (417,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (4,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (323,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (151,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (7,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (390,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (326,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (115,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (12,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (265,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (427,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (45,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (118,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (17,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (328,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (161,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (187,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (219,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (22,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (435,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (89,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (501,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (249,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (25,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (504,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (402,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (403,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (92,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (35,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (204,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (177,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (413,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (66,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (350,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (483,301); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (273,302); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (400,302); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (134,302); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,302); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,302); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,303); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (175,304); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,305); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (66,306); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (428,306); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (34,307); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (47,307); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (176,307); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (20,307); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (473,307); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (181,307); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (124,307); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (506,307); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,308); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (79,309); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (170,309); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (405,310); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (59,311); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,312); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (260,313); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,313); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (307,313); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (165,313); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (138,313); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,314); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (89,314); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (75,315); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (321,316); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,316); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (295,316); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (240,317); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,318); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (98,319); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (62,320); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (266,320); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (486,321); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,322); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,323); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (321,324); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (463,324); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (448,325); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (64,325); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,326); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (17,327); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,327); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,328); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (193,329); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (240,329); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (194,330); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (327,331); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (473,331); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,332); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,333); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,334); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,335); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (442,335); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,336); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (90,336); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (124,336); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,336); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,337); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,338); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,339); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (88,340); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,340); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,341); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (399,342); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (90,343); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (178,343); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (153,343); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (187,344); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (132,345); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (423,345); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (54,346); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (327,346); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (375,347); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (476,347); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (9,347); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,348); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (187,349); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (125,350); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (148,351); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (450,351); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (378,352); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (378,353); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (409,354); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,355); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (146,356); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (24,357); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (408,358); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (112,358); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (224,358); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,358); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,359); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (212,359); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,359); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (1,360); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (481,361); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (408,361); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (442,361); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (161,361); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,361); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (375,361); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (228,361); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (65,361); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (214,361); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (236,361); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,361); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,362); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (476,363); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (1,364); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,364); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (1,365); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,366); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (351,366); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (423,367); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (429,368); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,369); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (476,370); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (480,370); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,370); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (79,370); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,371); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (468,372); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (232,372); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (108,373); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (71,374); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,374); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (497,375); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (279,376); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (450,377); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,378); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (419,379); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (214,379); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,380); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (148,381); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (330,381); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,381); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,382); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,383); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (419,384); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (91,385); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (378,385); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,386); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (378,387); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (214,388); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (475,389); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,389); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,389); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (446,390); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (285,391); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (450,392); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (451,393); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (91,394); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (130,395); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (10,396); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,396); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (475,397); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (31,397); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (279,397); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (450,398); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (58,399); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (86,400); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (208,400); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (459,400); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (370,400); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (86,401); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (208,401); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (157,401); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (91,401); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (315,401); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (191,402); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,403); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (481,403); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (329,404); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (462,405); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,406); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (148,407); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,407); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (327,407); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (34,408); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (463,409); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (483,410); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (157,410); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (303,410); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (9,410); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (279,410); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (29,410); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (31,410); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (91,410); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (188,410); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (132,411); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,412); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (272,413); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (108,414); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (476,415); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (224,415); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (333,415); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (79,415); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (316,416); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,417); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (311,417); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,417); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,418); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (50,418); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (124,418); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,418); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (85,418); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (108,418); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (475,419); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (65,419); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (106,419); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,419); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,419); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,420); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (235,421); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,422); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (3,423); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (106,423); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (489,423); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (462,424); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (376,424); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (473,425); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,425); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,426); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,426); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,427); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (246,427); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (475,428); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,428); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (37,429); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,429); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,430); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (481,430); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (131,431); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (450,431); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (351,431); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (139,431); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,432); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (476,432); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (157,432); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (312,432); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (188,432); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (214,432); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (86,433); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (475,433); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (370,433); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (486,434); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (469,435); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (423,436); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (147,437); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (39,437); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (408,437); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (91,437); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (225,437); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (54,437); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (327,437); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (261,438); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,439); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (362,439); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (494,440); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (423,441); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (408,442); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (91,442); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,442); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,443); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (214,443); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,444); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (499,445); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (469,446); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (329,446); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (37,446); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (132,446); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (117,446); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (423,446); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (473,446); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,447); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (97,447); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (386,447); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (291,447); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (435,447); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (308,447); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,447); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (362,447); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (500,448); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (187,449); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,450); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (136,451); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,451); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (297,451); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (37,451); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (498,452); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (28,453); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,454); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (22,454); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (266,454); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,455); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (495,455); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,456); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (358,457); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (106,457); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (212,458); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,459); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (108,459); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,459); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,460); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,461); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (481,461); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (462,462); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (376,462); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (40,463); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (60,463); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (272,463); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (187,463); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (267,463); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (211,464); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,464); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (203,465); -INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (471,466); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (159,336); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (462,336); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (200,337); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (219,338); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (299,338); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (66,338); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,338); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,339); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,340); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,341); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (48,342); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,342); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,343); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (453,344); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (299,345); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (94,345); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (82,345); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,346); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (321,347); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (463,347); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (282,348); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (412,348); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (193,349); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (240,349); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (6,349); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,350); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,351); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (67,352); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (327,353); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (230,353); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,354); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,355); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (212,356); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,357); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (78,358); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (266,359); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (455,360); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (61,360); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (365,360); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,360); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,361); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (111,361); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,361); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,362); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (497,363); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (455,363); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (227,363); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (88,363); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,363); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (193,363); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (367,363); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (38,363); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (112,363); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (370,363); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,363); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,364); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (240,365); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,366); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,366); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,367); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,368); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (427,368); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (463,369); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,370); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,371); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (240,372); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (243,372); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,372); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (295,372); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,373); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (492,374); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (122,374); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (59,375); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (292,376); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,376); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (252,377); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (388,378); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (230,379); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,380); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (216,381); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (112,381); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (473,382); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (327,383); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (176,383); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (473,383); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,384); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (249,385); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (216,386); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (300,387); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,387); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (474,388); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,389); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,390); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (112,391); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (496,392); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,392); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,392); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (477,393); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (390,394); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (230,395); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (481,396); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (300,397); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (317,398); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (7,399); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,399); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (496,400); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (269,400); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (388,400); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (230,401); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (283,402); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (298,403); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (109,403); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (232,403); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (192,403); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (298,404); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (109,404); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (330,404); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (300,404); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (404,404); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (100,405); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (104,406); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (497,406); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (175,407); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (487,408); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,409); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (327,410); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (473,410); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (412,410); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (22,411); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (488,412); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (245,413); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (330,413); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (397,413); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (6,413); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (388,413); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (20,413); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (269,413); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (300,413); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (348,413); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (321,414); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,415); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (147,416); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (59,417); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (240,418); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (365,418); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (414,418); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (295,418); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (406,419); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,420); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (403,420); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,420); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (219,421); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (30,421); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (66,421); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,421); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (46,421); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (59,421); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (496,422); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (38,422); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (307,422); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,422); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,422); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,423); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (124,424); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,425); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (260,426); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (307,426); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (500,426); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (487,427); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (194,427); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (494,428); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,428); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,429); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,429); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,430); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (374,430); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (496,431); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,431); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (24,432); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (473,432); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (104,433); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (497,433); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (319,434); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (230,434); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (427,434); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (326,434); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,435); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (240,435); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (330,435); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (402,435); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (348,435); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (112,435); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (298,436); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (496,436); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (192,436); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (247,437); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (236,438); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (463,439); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (328,440); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (273,440); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (455,440); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (300,440); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (118,440); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (282,440); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (412,440); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (141,441); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,442); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (432,442); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (251,443); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (463,444); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (455,445); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (300,445); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,445); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,446); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (112,446); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,447); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (506,448); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (236,449); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (175,449); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (24,449); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (321,449); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (313,449); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (463,449); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (494,449); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (253,450); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (259,451); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (54,451); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (444,451); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (393,451); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (223,451); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (400,451); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,451); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (432,451); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,452); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,453); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (323,454); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,454); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (161,454); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (24,454); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (505,455); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (19,456); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,457); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (15,457); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (143,457); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,458); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (504,458); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (107,459); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (431,460); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (307,460); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (111,461); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,462); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (59,462); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,462); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,463); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (104,464); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (497,464); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (487,465); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (194,465); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (25,466); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (35,466); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (147,466); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,466); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (144,466); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (359,467); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,467); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (353,468); +INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,469); + + +COMMIT; diff -Nru mysql-5.5-5.5.40/scripts/mysql_setpermission.sh mysql-5.5-5.5.41/scripts/mysql_setpermission.sh --- mysql-5.5-5.5.40/scripts/mysql_setpermission.sh 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/scripts/mysql_setpermission.sh 2014-11-04 07:49:52.000000000 +0000 @@ -264,13 +264,13 @@ foreach $host (@hosts) { # user privileges: SELECT if (($todo == 2) || ($todo == 3)) { - $sth = $dbh->do("GRANT SELECT ON $db.* TO $user@\"$host\" IDENTIFIED BY \'$pass\'") || die $dbh->errstr; + $sth = $dbh->do("GRANT SELECT ON $db.* TO \'$user\'@\'$host\' IDENTIFIED BY \'$pass\'") || die $dbh->errstr; } elsif ($todo == 4) { # user privileges: SELECT,INSERT,UPDATE,DELETE - $sth = $dbh->do("GRANT SELECT,INSERT,UPDATE,DELETE ON $db.* TO $user@\"$host\" IDENTIFIED BY \'$pass\'") || die $dbh->errstr; + $sth = $dbh->do("GRANT SELECT,INSERT,UPDATE,DELETE ON $db.* TO \'$user\'@\'$host\' IDENTIFIED BY \'$pass\'") || die $dbh->errstr; } elsif ($todo == 5) { # user privileges: SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,LOCK TABLES,CREATE TEMPORARY TABLES - $sth = $dbh->do("GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,LOCK TABLES,CREATE TEMPORARY TABLES ON $db.* TO $user@\"$host\" IDENTIFIED BY \'$pass\'") || die $dbh->errstr; + $sth = $dbh->do("GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,LOCK TABLES,CREATE TEMPORARY TABLES ON $db.* TO \'$user\'@\'$host\' IDENTIFIED BY \'$pass\'") || die $dbh->errstr; } elsif ($todo == 6) { # all privileges $sth = $dbh->do("GRANT ALL ON $db.* TO \'$user\'\@\'$host\' IDENTIFIED BY \'$pass\'") || die $dbh->errstr; diff -Nru mysql-5.5-5.5.40/sql/CMakeLists.txt mysql-5.5-5.5.41/sql/CMakeLists.txt --- mysql-5.5-5.5.40/sql/CMakeLists.txt 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/sql/CMakeLists.txt 2014-11-04 07:49:52.000000000 +0000 @@ -80,6 +80,14 @@ ${GEN_SOURCES} ${MYSYS_LIBWRAP_SOURCE}) +# These files have unused result errors, so we skip Werror +CHECK_C_COMPILER_FLAG("-Werror" HAVE_WERROR_FLAG) +IF(HAVE_WERROR_FLAG) + INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake) + ADD_COMPILE_FLAGS(filesort.cc COMPILE_FLAGS "-Wno-error") + ADD_COMPILE_FLAGS(opt_range.cc COMPILE_FLAGS "-Wno-error") +ENDIF() + MYSQL_ADD_PLUGIN(partition ha_partition.cc STORAGE_ENGINE DEFAULT STATIC_ONLY RECOMPILE_FOR_EMBEDDED) diff -Nru mysql-5.5-5.5.40/sql/handler.h mysql-5.5-5.5.41/sql/handler.h --- mysql-5.5-5.5.40/sql/handler.h 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/sql/handler.h 2014-11-04 07:49:52.000000000 +0000 @@ -868,6 +868,7 @@ #define HTON_TEMPORARY_NOT_SUPPORTED (1 << 6) //Having temporary tables not supported #define HTON_SUPPORT_LOG_TABLES (1 << 7) //Engine supports log tables #define HTON_NO_PARTITION (1 << 8) //You can not partition these tables +#define HTON_SUPPORTS_FOREIGN_KEYS (1 << 9) //Foreign key constraint supported. class Ha_trx_info; diff -Nru mysql-5.5-5.5.40/sql/item_func.cc mysql-5.5-5.5.41/sql/item_func.cc --- mysql-5.5-5.5.40/sql/item_func.cc 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/sql/item_func.cc 2014-11-04 07:49:52.000000000 +0000 @@ -1760,7 +1760,13 @@ if ((null_value= args[0]->null_value)) return 0; if (args[0]->unsigned_flag && - (ulonglong) value > (ulonglong) LONGLONG_MAX + 1) + (ulonglong) value > (ulonglong) LONGLONG_MAX + 1ULL) + return raise_integer_overflow(); + // For some platforms we need special handling of LONGLONG_MIN to + // guarantee overflow. + if (value == LONGLONG_MIN && + !args[0]->unsigned_flag && + !unsigned_flag) return raise_integer_overflow(); return check_integer_overflow(-value, !args[0]->unsigned_flag && value < 0); } @@ -6159,21 +6165,24 @@ DBUG_ASSERT(fixed == 1); String *res=args[0]->val_str(&value); User_level_lock *ull; + longlong ret_val= 0LL; null_value=0; if (!res || !res->length()) { null_value=1; - return 0; + return ret_val; } mysql_mutex_lock(&LOCK_user_locks); ull= (User_level_lock *) my_hash_search(&hash_user_locks, (uchar*) res->ptr(), (size_t) res->length()); - mysql_mutex_unlock(&LOCK_user_locks); if (!ull || !ull->locked) - return 1; - return 0; + ret_val= 1; + mysql_mutex_unlock(&LOCK_user_locks); + DEBUG_SYNC(current_thd, "after_getting_user_level_lock_info"); + + return ret_val; } longlong Item_func_is_used_lock::val_int() @@ -6181,6 +6190,7 @@ DBUG_ASSERT(fixed == 1); String *res=args[0]->val_str(&value); User_level_lock *ull; + my_thread_id thread_id= 0UL; null_value=1; if (!res || !res->length()) @@ -6189,12 +6199,15 @@ mysql_mutex_lock(&LOCK_user_locks); ull= (User_level_lock *) my_hash_search(&hash_user_locks, (uchar*) res->ptr(), (size_t) res->length()); + if ((ull != NULL) && ull->locked) + { + null_value= 0; + thread_id= ull->thread_id; + } mysql_mutex_unlock(&LOCK_user_locks); - if (!ull || !ull->locked) - return 0; + DEBUG_SYNC(current_thd, "after_getting_user_level_lock_info"); - null_value=0; - return ull->thread_id; + return thread_id; } diff -Nru mysql-5.5-5.5.40/sql/item_func.h mysql-5.5-5.5.41/sql/item_func.h --- mysql-5.5-5.5.40/sql/item_func.h 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/sql/item_func.h 2014-11-04 07:49:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef ITEM_FUNC_INCLUDED #define ITEM_FUNC_INCLUDED -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. 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 @@ -251,7 +251,8 @@ inline longlong check_integer_overflow(longlong value, bool val_unsigned) { if ((unsigned_flag && !val_unsigned && value < 0) || - (!unsigned_flag && val_unsigned && (ulonglong) value > LONGLONG_MAX)) + (!unsigned_flag && val_unsigned && + (ulonglong) value > (ulonglong) LONGLONG_MAX)) return raise_integer_overflow(); return value; } diff -Nru mysql-5.5-5.5.40/sql/log_event.cc mysql-5.5-5.5.41/sql/log_event.cc --- mysql-5.5-5.5.40/sql/log_event.cc 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/sql/log_event.cc 2014-11-04 07:49:52.000000000 +0000 @@ -1307,7 +1307,7 @@ ev = new Execute_load_log_event(buf, event_len, description_event); break; case START_EVENT_V3: /* this is sent only by MySQL <=4.x */ - ev = new Start_log_event_v3(buf, description_event); + ev = new Start_log_event_v3(buf, event_len, description_event); break; case STOP_EVENT: ev = new Stop_log_event(buf, description_event); @@ -2162,13 +2162,8 @@ DBUG_ENTER("Log_event::print_timestamp"); if (!ts) ts = &when; -#ifdef MYSQL_SERVER // This is always false struct tm tm_tmp; localtime_r(ts,(res= &tm_tmp)); -#else - res=localtime(ts); -#endif - my_b_printf(file,"%02d%02d%02d %2d:%02d:%02d", res->tm_year % 100, res->tm_mon+1, @@ -3788,11 +3783,17 @@ Start_log_event_v3::Start_log_event_v3() */ -Start_log_event_v3::Start_log_event_v3(const char* buf, +Start_log_event_v3::Start_log_event_v3(const char* buf, uint event_len, const Format_description_log_event *description_event) - :Log_event(buf, description_event) + :Log_event(buf, description_event), binlog_version(BINLOG_VERSION) { + if (event_len < (uint)description_event->common_header_len + + ST_COMMON_HEADER_LEN_OFFSET) + { + server_version[0]= 0; + return; + } buf+= description_event->common_header_len; binlog_version= uint2korr(buf+ST_BINLOG_VER_OFFSET); memcpy(server_version, buf+ST_SERVER_VER_OFFSET, @@ -4082,9 +4083,12 @@ const Format_description_log_event* description_event) - :Start_log_event_v3(buf, description_event), event_type_permutation(0) + :Start_log_event_v3(buf, event_len, description_event), + common_header_len(0), post_header_len(NULL), event_type_permutation(0) { DBUG_ENTER("Format_description_log_event::Format_description_log_event(char*,...)"); + if (!Start_log_event_v3::is_valid()) + DBUG_VOID_RETURN; /* sanity check */ buf+= LOG_EVENT_MINIMAL_HEADER_LEN; if ((common_header_len=buf[ST_COMMON_HEADER_LEN_OFFSET]) < OLD_HEADER_LEN) DBUG_VOID_RETURN; /* sanity check */ diff -Nru mysql-5.5-5.5.40/sql/log_event.h mysql-5.5-5.5.41/sql/log_event.h --- mysql-5.5-5.5.40/sql/log_event.h 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/sql/log_event.h 2014-11-04 07:49:52.000000000 +0000 @@ -2276,14 +2276,14 @@ void print(FILE* file, PRINT_EVENT_INFO* print_event_info); #endif - Start_log_event_v3(const char* buf, + Start_log_event_v3(const char* buf, uint event_len, const Format_description_log_event* description_event); ~Start_log_event_v3() {} Log_event_type get_type_code() { return START_EVENT_V3;} #ifdef MYSQL_SERVER bool write(IO_CACHE* file); #endif - bool is_valid() const { return 1; } + bool is_valid() const { return server_version[0] != 0; } int get_data_size() { return START_V3_HEADER_LEN; //no variable-sized part diff -Nru mysql-5.5-5.5.40/sql/sql_parse.cc mysql-5.5-5.5.41/sql/sql_parse.cc --- mysql-5.5-5.5.40/sql/sql_parse.cc 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/sql/sql_parse.cc 2014-11-04 07:49:52.000000000 +0000 @@ -5251,6 +5251,121 @@ #endif } + +/** + Checks foreign key's parent table access. + + @param thd [in] Thread handler + @param create_info [in] Create information (like MAX_ROWS, ENGINE or + temporary table flag) + @param alter_info [in] Initial list of columns and indexes for the + table to be created + + @retval + false ok. + @retval + true error or access denied. Error is sent to client in this case. +*/ +bool check_fk_parent_table_access(THD *thd, + HA_CREATE_INFO *create_info, + Alter_info *alter_info) +{ + Key *key; + List_iterator key_iterator(alter_info->key_list); + handlerton *db_type= create_info->db_type ? create_info->db_type : + ha_default_handlerton(thd); + + // Return if engine does not support Foreign key Constraint. + if (!ha_check_storage_engine_flag(db_type, HTON_SUPPORTS_FOREIGN_KEYS)) + return false; + + while ((key= key_iterator++)) + { + if (key->type == Key::FOREIGN_KEY) + { + TABLE_LIST parent_table; + bool is_qualified_table_name; + Foreign_key *fk_key= (Foreign_key *)key; + LEX_STRING db_name; + LEX_STRING table_name= { fk_key->ref_table->table.str, + fk_key->ref_table->table.length }; + const ulong privileges= (SELECT_ACL | INSERT_ACL | UPDATE_ACL | + DELETE_ACL | REFERENCES_ACL); + + // Check if tablename is valid or not. + DBUG_ASSERT(table_name.str != NULL); + if (check_table_name(table_name.str, table_name.length, false)) + { + my_error(ER_WRONG_TABLE_NAME, MYF(0), table_name.str); + return true; + } + + if (fk_key->ref_table->db.str) + { + is_qualified_table_name= true; + db_name.str= (char *) thd->memdup(fk_key->ref_table->db.str, + fk_key->ref_table->db.length+1); + db_name.length= fk_key->ref_table->db.length; + + // Check if database name is valid or not. + if (fk_key->ref_table->db.str && check_db_name(&db_name)) + { + my_error(ER_WRONG_DB_NAME, MYF(0), db_name.str); + return true; + } + } + else if (thd->lex->copy_db_to(&db_name.str, &db_name.length)) + return true; + else + is_qualified_table_name= false; + + // if lower_case_table_names is set then convert tablename to lower case. + if (lower_case_table_names) + { + table_name.str= (char *) thd->memdup(fk_key->ref_table->table.str, + fk_key->ref_table->table.length+1); + table_name.length= my_casedn_str(files_charset_info, table_name.str); + } + + parent_table.init_one_table(db_name.str, db_name.length, + table_name.str, table_name.length, + table_name.str, TL_IGNORE); + + /* + Check if user has any of the "privileges" at table level on + "parent_table". + Having privilege on any of the parent_table column is not + enough so checking whether user has any of the "privileges" + at table level only here. + */ + if (check_some_access(thd, privileges, &parent_table) || + parent_table.grant.want_privilege) + { + if (is_qualified_table_name) + { + const size_t qualified_table_name_len= NAME_LEN + 1 + NAME_LEN + 1; + char *qualified_table_name= (char *) thd->alloc(qualified_table_name_len); + + my_snprintf(qualified_table_name, qualified_table_name_len, "%s.%s", + db_name.str, table_name.str); + table_name.str= qualified_table_name; + } + + my_error(ER_TABLEACCESS_DENIED_ERROR, MYF(0), + "REFERENCES", + thd->security_ctx->priv_user, + thd->security_ctx->host_or_ip, + table_name.str); + + return true; + } + } + } + + return false; +} + + /**************************************************************************** Check stack size; Send error if there isn't enough stack to continue ****************************************************************************/ @@ -7072,8 +7187,11 @@ if (check_table_access(thd, SELECT_ACL, tables, FALSE, UINT_MAX, FALSE)) goto err; } - error= FALSE; + if (check_fk_parent_table_access(thd, &lex->create_info, &lex->alter_info)) + goto err; + + error= FALSE; err: DBUG_RETURN(error); } diff -Nru mysql-5.5-5.5.40/sql/sql_parse.h mysql-5.5-5.5.41/sql/sql_parse.h --- mysql-5.5-5.5.40/sql/sql_parse.h 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/sql/sql_parse.h 2014-11-04 07:49:52.000000000 +0000 @@ -45,6 +45,9 @@ bool insert_precheck(THD *thd, TABLE_LIST *tables); bool create_table_precheck(THD *thd, TABLE_LIST *tables, TABLE_LIST *create_table); +bool check_fk_parent_table_access(THD *thd, + HA_CREATE_INFO *create_info, + Alter_info *alter_info); bool parse_sql(THD *thd, Parser_state *parser_state, diff -Nru mysql-5.5-5.5.40/sql/sql_repl.cc mysql-5.5-5.5.41/sql/sql_repl.cc --- mysql-5.5-5.5.40/sql/sql_repl.cc 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/sql/sql_repl.cc 2014-11-04 07:49:52.000000000 +0000 @@ -248,7 +248,10 @@ size_t log_name_len = strlen(log_name) + 1; THD *tmp; bool result = 0; - DEBUG_SYNC(current_thd,"purge_logs_after_lock_index_before_thread_count"); +#ifndef BDUG_OFF + if (current_thd) + DEBUG_SYNC(current_thd,"purge_logs_after_lock_index_before_thread_count"); +#endif mysql_mutex_lock(&LOCK_thread_count); I_List_iterator it(threads); diff -Nru mysql-5.5-5.5.40/sql/sql_table.cc mysql-5.5-5.5.41/sql/sql_table.cc --- mysql-5.5-5.5.40/sql/sql_table.cc 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/sql/sql_table.cc 2014-11-04 07:49:52.000000000 +0000 @@ -6005,6 +6005,18 @@ } /* + If foreign key is added then check permission to access parent table. + + In function "check_fk_parent_table_access", create_info->db_type is used + to identify whether engine supports FK constraint or not. Since + create_info->db_type is set here, check to parent table access is delayed + till this point for the alter operation. + */ + if ((alter_info->flags & ALTER_FOREIGN_KEY) && + check_fk_parent_table_access(thd, create_info, alter_info)) + goto err; + + /* If this is an ALTER TABLE and no explicit row type specified reuse the table's row type. Note : this is the same as if the row type was specified explicitly. diff -Nru mysql-5.5-5.5.40/sql/sql_yacc.cc mysql-5.5-5.5.41/sql/sql_yacc.cc --- mysql-5.5-5.5.40/sql/sql_yacc.cc 2014-09-08 09:53:32.000000000 +0000 +++ mysql-5.5-5.5.41/sql/sql_yacc.cc 2014-11-04 07:50:07.000000000 +0000 @@ -76,7 +76,7 @@ /* Copy the first part of user declarations. */ /* Line 189 of yacc.c */ -#line 24 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 24 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" /* Note: YYTHD is passed as an argument to yyparse(), and subsequently to yylex(). @@ -786,7 +786,7 @@ /* Line 189 of yacc.c */ -#line 790 "/export/home/pb2/build/sb_0-13157554-1410169644.69/dist_GPL/sql/sql_yacc.cc" +#line 790 "/export/home/pb2/build/sb_0-13594661-1415086934.35/dist_GPL/sql/sql_yacc.cc" /* Enabling traces. */ #ifndef YYDEBUG @@ -2005,7 +2005,7 @@ { /* Line 214 of yacc.c */ -#line 731 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 731 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" int num; ulong ulong_num; @@ -2057,7 +2057,7 @@ /* Line 214 of yacc.c */ -#line 2061 "/export/home/pb2/build/sb_0-13157554-1410169644.69/dist_GPL/sql/sql_yacc.cc" +#line 2061 "/export/home/pb2/build/sb_0-13594661-1415086934.35/dist_GPL/sql/sql_yacc.cc" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -2068,13 +2068,13 @@ /* Copy the second part of user declarations. */ /* Line 264 of yacc.c */ -#line 780 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 780 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize); /* Line 264 of yacc.c */ -#line 2078 "/export/home/pb2/build/sb_0-13157554-1410169644.69/dist_GPL/sql/sql_yacc.cc" +#line 2078 "/export/home/pb2/build/sb_0-13594661-1415086934.35/dist_GPL/sql/sql_yacc.cc" #ifdef short # undef short @@ -16936,7 +16936,7 @@ case 2: /* Line 1455 of yacc.c */ -#line 1664 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1664 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; if (!thd->bootstrap && @@ -16953,7 +16953,7 @@ case 3: /* Line 1455 of yacc.c */ -#line 1676 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1676 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex_input_stream *lip = YYLIP; @@ -16981,7 +16981,7 @@ case 5: /* Line 1455 of yacc.c */ -#line 1701 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1701 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* Single query, not terminated. */ YYLIP->found_semicolon= NULL; @@ -16991,7 +16991,7 @@ case 61: /* Line 1455 of yacc.c */ -#line 1774 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1774 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -17003,7 +17003,7 @@ case 64: /* Line 1455 of yacc.c */ -#line 1789 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1789 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -17015,7 +17015,7 @@ case 65: /* Line 1455 of yacc.c */ -#line 1799 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1799 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -17027,7 +17027,7 @@ case 66: /* Line 1455 of yacc.c */ -#line 1806 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1806 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -17039,7 +17039,7 @@ case 67: /* Line 1455 of yacc.c */ -#line 1816 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1816 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -17051,14 +17051,14 @@ case 68: /* Line 1455 of yacc.c */ -#line 1823 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1823 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 73: /* Line 1455 of yacc.c */ -#line 1838 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1838 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; LEX_STRING *lexstr= (LEX_STRING*)sql_memdup(&(yyvsp[(2) - (2)].lex_str), sizeof(LEX_STRING)); @@ -17070,7 +17070,7 @@ case 74: /* Line 1455 of yacc.c */ -#line 1850 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1850 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (Lex->sphead) { @@ -17083,7 +17083,7 @@ case 75: /* Line 1455 of yacc.c */ -#line 1858 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1858 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_HELP; @@ -17094,7 +17094,7 @@ case 76: /* Line 1455 of yacc.c */ -#line 1869 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1869 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex = Lex; lex->sql_command = SQLCOM_CHANGE_MASTER; @@ -17108,14 +17108,14 @@ case 77: /* Line 1455 of yacc.c */ -#line 1878 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1878 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 80: /* Line 1455 of yacc.c */ -#line 1888 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1888 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->mi.host = (yyvsp[(3) - (3)].lex_str).str; } @@ -17124,7 +17124,7 @@ case 81: /* Line 1455 of yacc.c */ -#line 1892 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1892 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->mi.user = (yyvsp[(3) - (3)].lex_str).str; } @@ -17133,7 +17133,7 @@ case 82: /* Line 1455 of yacc.c */ -#line 1896 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1896 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->mi.password = (yyvsp[(3) - (3)].lex_str).str; } @@ -17142,7 +17142,7 @@ case 83: /* Line 1455 of yacc.c */ -#line 1900 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1900 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->mi.port = (yyvsp[(3) - (3)].ulong_num); } @@ -17151,7 +17151,7 @@ case 84: /* Line 1455 of yacc.c */ -#line 1904 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1904 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->mi.connect_retry = (yyvsp[(3) - (3)].ulong_num); } @@ -17160,7 +17160,7 @@ case 85: /* Line 1455 of yacc.c */ -#line 1908 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1908 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->mi.ssl= (yyvsp[(3) - (3)].ulong_num) ? LEX_MASTER_INFO::LEX_MI_ENABLE : LEX_MASTER_INFO::LEX_MI_DISABLE; @@ -17170,7 +17170,7 @@ case 86: /* Line 1455 of yacc.c */ -#line 1913 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1913 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->mi.ssl_ca= (yyvsp[(3) - (3)].lex_str).str; } @@ -17179,7 +17179,7 @@ case 87: /* Line 1455 of yacc.c */ -#line 1917 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1917 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->mi.ssl_capath= (yyvsp[(3) - (3)].lex_str).str; } @@ -17188,7 +17188,7 @@ case 88: /* Line 1455 of yacc.c */ -#line 1921 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1921 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->mi.ssl_cert= (yyvsp[(3) - (3)].lex_str).str; } @@ -17197,7 +17197,7 @@ case 89: /* Line 1455 of yacc.c */ -#line 1925 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1925 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->mi.ssl_cipher= (yyvsp[(3) - (3)].lex_str).str; } @@ -17206,7 +17206,7 @@ case 90: /* Line 1455 of yacc.c */ -#line 1929 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1929 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->mi.ssl_key= (yyvsp[(3) - (3)].lex_str).str; } @@ -17215,7 +17215,7 @@ case 91: /* Line 1455 of yacc.c */ -#line 1933 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1933 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->mi.ssl_verify_server_cert= (yyvsp[(3) - (3)].ulong_num) ? LEX_MASTER_INFO::LEX_MI_ENABLE : LEX_MASTER_INFO::LEX_MI_DISABLE; @@ -17225,7 +17225,7 @@ case 92: /* Line 1455 of yacc.c */ -#line 1939 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1939 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->mi.heartbeat_period= (float) (yyvsp[(3) - (3)].item_num)->val_real(); if (Lex->mi.heartbeat_period > SLAVE_MAX_HEARTBEAT_PERIOD || @@ -17261,7 +17261,7 @@ case 93: /* Line 1455 of yacc.c */ -#line 1970 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1970 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->mi.repl_ignore_server_ids_opt= LEX_MASTER_INFO::LEX_MI_ENABLE; } @@ -17270,7 +17270,7 @@ case 98: /* Line 1455 of yacc.c */ -#line 1985 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1985 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (Lex->mi.repl_ignore_server_ids.elements == 0) { @@ -17287,7 +17287,7 @@ case 99: /* Line 1455 of yacc.c */ -#line 1999 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 1999 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->mi.log_file_name = (yyvsp[(3) - (3)].lex_str).str; } @@ -17296,7 +17296,7 @@ case 100: /* Line 1455 of yacc.c */ -#line 2003 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2003 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->mi.pos = (yyvsp[(3) - (3)].ulonglong_number); /* @@ -17317,7 +17317,7 @@ case 101: /* Line 1455 of yacc.c */ -#line 2019 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2019 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->mi.relay_log_name = (yyvsp[(3) - (3)].lex_str).str; } @@ -17326,7 +17326,7 @@ case 102: /* Line 1455 of yacc.c */ -#line 2023 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2023 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->mi.relay_log_pos = (yyvsp[(3) - (3)].ulong_num); /* Adjust if < BIN_LOG_HEADER_SIZE (same comment as Lex->mi.pos) */ @@ -17337,7 +17337,7 @@ case 103: /* Line 1455 of yacc.c */ -#line 2034 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2034 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -17367,7 +17367,7 @@ case 104: /* Line 1455 of yacc.c */ -#line 2059 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2059 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= YYTHD->lex; lex->current_select= &lex->select_lex; @@ -17388,7 +17388,7 @@ case 105: /* Line 1455 of yacc.c */ -#line 2075 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2075 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (add_create_index_prepare(Lex, (yyvsp[(7) - (7)].table))) MYSQL_YYABORT; @@ -17398,7 +17398,7 @@ case 106: /* Line 1455 of yacc.c */ -#line 2080 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2080 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (add_create_index(Lex, (yyvsp[(2) - (12)].key_type), (yyvsp[(4) - (12)].lex_str))) MYSQL_YYABORT; @@ -17408,7 +17408,7 @@ case 107: /* Line 1455 of yacc.c */ -#line 2086 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2086 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (add_create_index_prepare(Lex, (yyvsp[(7) - (7)].table))) MYSQL_YYABORT; @@ -17418,7 +17418,7 @@ case 108: /* Line 1455 of yacc.c */ -#line 2091 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2091 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (add_create_index(Lex, (yyvsp[(2) - (12)].key_type), (yyvsp[(4) - (12)].lex_str))) MYSQL_YYABORT; @@ -17428,7 +17428,7 @@ case 109: /* Line 1455 of yacc.c */ -#line 2097 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2097 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (add_create_index_prepare(Lex, (yyvsp[(7) - (7)].table))) MYSQL_YYABORT; @@ -17438,7 +17438,7 @@ case 110: /* Line 1455 of yacc.c */ -#line 2102 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2102 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (add_create_index(Lex, (yyvsp[(2) - (12)].key_type), (yyvsp[(4) - (12)].lex_str))) MYSQL_YYABORT; @@ -17448,7 +17448,7 @@ case 111: /* Line 1455 of yacc.c */ -#line 2107 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2107 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_info.default_table_charset= NULL; Lex->create_info.used_fields= 0; @@ -17458,7 +17458,7 @@ case 112: /* Line 1455 of yacc.c */ -#line 2112 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2112 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command=SQLCOM_CREATE_DB; @@ -17470,7 +17470,7 @@ case 113: /* Line 1455 of yacc.c */ -#line 2119 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2119 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_view_mode= VIEW_CREATE_NEW; Lex->create_view_algorithm= VIEW_ALGORITHM_UNDEFINED; @@ -17481,14 +17481,14 @@ case 114: /* Line 1455 of yacc.c */ -#line 2125 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2125 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 115: /* Line 1455 of yacc.c */ -#line 2127 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2127 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_CREATE_USER; } @@ -17497,7 +17497,7 @@ case 116: /* Line 1455 of yacc.c */ -#line 2131 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2131 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->alter_tablespace_info->ts_cmd_type= CREATE_LOGFILE_GROUP; } @@ -17506,7 +17506,7 @@ case 117: /* Line 1455 of yacc.c */ -#line 2135 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2135 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->alter_tablespace_info->ts_cmd_type= CREATE_TABLESPACE; } @@ -17515,7 +17515,7 @@ case 118: /* Line 1455 of yacc.c */ -#line 2139 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2139 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_CREATE_SERVER; } @@ -17524,7 +17524,7 @@ case 119: /* Line 1455 of yacc.c */ -#line 2150 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2150 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->server_options.server_name= (yyvsp[(2) - (10)].lex_str).str; Lex->server_options.server_name_length= (yyvsp[(2) - (10)].lex_str).length; @@ -17535,7 +17535,7 @@ case 122: /* Line 1455 of yacc.c */ -#line 2164 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2164 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->server_options.username= (yyvsp[(2) - (2)].lex_str).str; } @@ -17544,7 +17544,7 @@ case 123: /* Line 1455 of yacc.c */ -#line 2168 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2168 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->server_options.host= (yyvsp[(2) - (2)].lex_str).str; } @@ -17553,7 +17553,7 @@ case 124: /* Line 1455 of yacc.c */ -#line 2172 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2172 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->server_options.db= (yyvsp[(2) - (2)].lex_str).str; } @@ -17562,7 +17562,7 @@ case 125: /* Line 1455 of yacc.c */ -#line 2176 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2176 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->server_options.owner= (yyvsp[(2) - (2)].lex_str).str; } @@ -17571,7 +17571,7 @@ case 126: /* Line 1455 of yacc.c */ -#line 2180 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2180 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->server_options.password= (yyvsp[(2) - (2)].lex_str).str; } @@ -17580,7 +17580,7 @@ case 127: /* Line 1455 of yacc.c */ -#line 2184 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2184 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->server_options.socket= (yyvsp[(2) - (2)].lex_str).str; } @@ -17589,7 +17589,7 @@ case 128: /* Line 1455 of yacc.c */ -#line 2188 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2188 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->server_options.port= (yyvsp[(2) - (2)].ulong_num); } @@ -17598,7 +17598,7 @@ case 129: /* Line 1455 of yacc.c */ -#line 2195 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2195 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex=Lex; @@ -17619,7 +17619,7 @@ case 130: /* Line 1455 of yacc.c */ -#line 2215 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2215 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* sql_command is set here because some rules in ev_sql_stmt @@ -17632,7 +17632,7 @@ case 131: /* Line 1455 of yacc.c */ -#line 2226 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2226 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->event_parse_data->item_expression= (yyvsp[(2) - (3)].item); Lex->event_parse_data->interval= (yyvsp[(3) - (3)].interval); @@ -17642,7 +17642,7 @@ case 133: /* Line 1455 of yacc.c */ -#line 2233 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2233 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->event_parse_data->item_execute_at= (yyvsp[(2) - (2)].item); } @@ -17651,14 +17651,14 @@ case 134: /* Line 1455 of yacc.c */ -#line 2239 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2239 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= 0; } break; case 135: /* Line 1455 of yacc.c */ -#line 2241 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2241 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->event_parse_data->status= Event_parse_data::ENABLED; Lex->event_parse_data->status_changed= true; @@ -17669,7 +17669,7 @@ case 136: /* Line 1455 of yacc.c */ -#line 2247 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2247 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->event_parse_data->status= Event_parse_data::SLAVESIDE_DISABLED; Lex->event_parse_data->status_changed= true; @@ -17680,7 +17680,7 @@ case 137: /* Line 1455 of yacc.c */ -#line 2253 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2253 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->event_parse_data->status= Event_parse_data::DISABLED; Lex->event_parse_data->status_changed= true; @@ -17691,7 +17691,7 @@ case 138: /* Line 1455 of yacc.c */ -#line 2262 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2262 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Item *item= new (YYTHD->mem_root) Item_func_now_local(); if (item == NULL) @@ -17703,7 +17703,7 @@ case 139: /* Line 1455 of yacc.c */ -#line 2269 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2269 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->event_parse_data->item_starts= (yyvsp[(2) - (2)].item); } @@ -17712,7 +17712,7 @@ case 141: /* Line 1455 of yacc.c */ -#line 2277 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2277 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->event_parse_data->item_ends= (yyvsp[(2) - (2)].item); } @@ -17721,14 +17721,14 @@ case 142: /* Line 1455 of yacc.c */ -#line 2283 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2283 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= 0; } break; case 144: /* Line 1455 of yacc.c */ -#line 2289 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2289 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->event_parse_data->on_completion= Event_parse_data::ON_COMPLETION_PRESERVE; @@ -17739,7 +17739,7 @@ case 145: /* Line 1455 of yacc.c */ -#line 2295 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2295 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->event_parse_data->on_completion= Event_parse_data::ON_COMPLETION_DROP; @@ -17750,14 +17750,14 @@ case 146: /* Line 1455 of yacc.c */ -#line 2303 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2303 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= 0; } break; case 147: /* Line 1455 of yacc.c */ -#line 2305 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2305 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->comment= Lex->event_parse_data->comment= (yyvsp[(2) - (2)].lex_str); (yyval.num)= 1; @@ -17767,7 +17767,7 @@ case 148: /* Line 1455 of yacc.c */ -#line 2312 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2312 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -17815,7 +17815,7 @@ case 149: /* Line 1455 of yacc.c */ -#line 2355 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2355 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -17833,7 +17833,7 @@ case 163: /* Line 1455 of yacc.c */ -#line 2387 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2387 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->users_list.empty(); @@ -17850,7 +17850,7 @@ case 164: /* Line 1455 of yacc.c */ -#line 2402 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2402 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (!(yyvsp[(1) - (3)].lex_str).str || check_db_name(&(yyvsp[(1) - (3)].lex_str))) { @@ -17871,7 +17871,7 @@ case 165: /* Line 1455 of yacc.c */ -#line 2418 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2418 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -17892,105 +17892,105 @@ case 166: /* Line 1455 of yacc.c */ -#line 2436 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2436 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 167: /* Line 1455 of yacc.c */ -#line 2437 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2437 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 168: /* Line 1455 of yacc.c */ -#line 2441 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2441 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 169: /* Line 1455 of yacc.c */ -#line 2442 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2442 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 170: /* Line 1455 of yacc.c */ -#line 2448 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2448 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sp_chistics.comment= (yyvsp[(2) - (2)].lex_str); } break; case 171: /* Line 1455 of yacc.c */ -#line 2450 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2450 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* Just parse it, we only have one language for now. */ } break; case 172: /* Line 1455 of yacc.c */ -#line 2452 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2452 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sp_chistics.daccess= SP_NO_SQL; } break; case 173: /* Line 1455 of yacc.c */ -#line 2454 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2454 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sp_chistics.daccess= SP_CONTAINS_SQL; } break; case 174: /* Line 1455 of yacc.c */ -#line 2456 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2456 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sp_chistics.daccess= SP_READS_SQL_DATA; } break; case 175: /* Line 1455 of yacc.c */ -#line 2458 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2458 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sp_chistics.daccess= SP_MODIFIES_SQL_DATA; } break; case 176: /* Line 1455 of yacc.c */ -#line 2460 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2460 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 177: /* Line 1455 of yacc.c */ -#line 2465 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2465 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { } break; case 178: /* Line 1455 of yacc.c */ -#line 2466 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2466 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sp_chistics.detistic= TRUE; } break; case 179: /* Line 1455 of yacc.c */ -#line 2467 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2467 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sp_chistics.detistic= FALSE; } break; case 180: /* Line 1455 of yacc.c */ -#line 2472 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2472 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sp_chistics.suid= SP_IS_SUID; } @@ -17999,7 +17999,7 @@ case 181: /* Line 1455 of yacc.c */ -#line 2476 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2476 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sp_chistics.suid= SP_IS_NOT_SUID; } @@ -18008,7 +18008,7 @@ case 182: /* Line 1455 of yacc.c */ -#line 2483 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2483 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex = Lex; @@ -18022,14 +18022,14 @@ case 183: /* Line 1455 of yacc.c */ -#line 2491 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2491 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 188: /* Line 1455 of yacc.c */ -#line 2507 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2507 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->value_list.push_back((yyvsp[(3) - (3)].item)); } @@ -18038,7 +18038,7 @@ case 189: /* Line 1455 of yacc.c */ -#line 2511 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2511 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->value_list.push_back((yyvsp[(1) - (1)].item)); } @@ -18047,7 +18047,7 @@ case 194: /* Line 1455 of yacc.c */ -#line 2529 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2529 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; @@ -18069,7 +18069,7 @@ case 195: /* Line 1455 of yacc.c */ -#line 2549 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2549 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_pcontext *spc= lex->spcont; @@ -18097,7 +18097,7 @@ case 200: /* Line 1455 of yacc.c */ -#line 2586 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2586 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_pcontext *spc= lex->spcont; @@ -18125,49 +18125,49 @@ case 201: /* Line 1455 of yacc.c */ -#line 2611 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2611 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= sp_param_in; } break; case 202: /* Line 1455 of yacc.c */ -#line 2612 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2612 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= sp_param_in; } break; case 203: /* Line 1455 of yacc.c */ -#line 2613 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2613 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= sp_param_out; } break; case 204: /* Line 1455 of yacc.c */ -#line 2614 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2614 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= sp_param_inout; } break; case 205: /* Line 1455 of yacc.c */ -#line 2618 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2618 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 207: /* Line 1455 of yacc.c */ -#line 2623 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2623 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 209: /* Line 1455 of yacc.c */ -#line 2629 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2629 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0; } @@ -18176,7 +18176,7 @@ case 210: /* Line 1455 of yacc.c */ -#line 2633 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2633 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* We check for declarations out of (standard) order this way because letting the grammar rules reflect it caused tricky @@ -18204,7 +18204,7 @@ case 211: /* Line 1455 of yacc.c */ -#line 2659 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2659 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; @@ -18216,7 +18216,7 @@ case 212: /* Line 1455 of yacc.c */ -#line 2667 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2667 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= Lex; @@ -18278,7 +18278,7 @@ case 213: /* Line 1455 of yacc.c */ -#line 2724 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2724 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_pcontext *spc= lex->spcont; @@ -18298,7 +18298,7 @@ case 214: /* Line 1455 of yacc.c */ -#line 2739 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2739 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -18325,7 +18325,7 @@ case 215: /* Line 1455 of yacc.c */ -#line 2761 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2761 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -18362,7 +18362,7 @@ case 216: /* Line 1455 of yacc.c */ -#line 2793 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2793 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -18390,7 +18390,7 @@ case 217: /* Line 1455 of yacc.c */ -#line 2818 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2818 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sphead->reset_lex(YYTHD); } @@ -18399,7 +18399,7 @@ case 218: /* Line 1455 of yacc.c */ -#line 2822 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2822 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; @@ -18421,35 +18421,35 @@ case 219: /* Line 1455 of yacc.c */ -#line 2841 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2841 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= SP_HANDLER_EXIT; } break; case 220: /* Line 1455 of yacc.c */ -#line 2842 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2842 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= SP_HANDLER_CONTINUE; } break; case 221: /* Line 1455 of yacc.c */ -#line 2848 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2848 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= 1; } break; case 222: /* Line 1455 of yacc.c */ -#line 2850 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2850 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)+= 1; } break; case 223: /* Line 1455 of yacc.c */ -#line 2855 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2855 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -18474,7 +18474,7 @@ case 224: /* Line 1455 of yacc.c */ -#line 2878 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2878 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* mysql errno */ if ((yyvsp[(1) - (1)].ulong_num) == 0) { @@ -18492,7 +18492,7 @@ case 226: /* Line 1455 of yacc.c */ -#line 2895 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2895 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* SQLSTATE */ if (!sp_cond_check(&(yyvsp[(3) - (3)].lex_str))) { @@ -18511,21 +18511,21 @@ case 227: /* Line 1455 of yacc.c */ -#line 2911 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2911 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 228: /* Line 1455 of yacc.c */ -#line 2912 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2912 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 229: /* Line 1455 of yacc.c */ -#line 2917 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2917 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.spcondtype)= (yyvsp[(1) - (1)].spcondtype); } @@ -18534,7 +18534,7 @@ case 230: /* Line 1455 of yacc.c */ -#line 2921 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2921 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.spcondtype)= Lex->spcont->find_cond(&(yyvsp[(1) - (1)].lex_str)); if ((yyval.spcondtype) == NULL) @@ -18548,7 +18548,7 @@ case 231: /* Line 1455 of yacc.c */ -#line 2930 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2930 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.spcondtype)= (sp_cond_type_t *)YYTHD->alloc(sizeof(sp_cond_type_t)); if ((yyval.spcondtype) == NULL) @@ -18560,7 +18560,7 @@ case 232: /* Line 1455 of yacc.c */ -#line 2937 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2937 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.spcondtype)= (sp_cond_type_t *)YYTHD->alloc(sizeof(sp_cond_type_t)); if ((yyval.spcondtype) == NULL) @@ -18572,7 +18572,7 @@ case 233: /* Line 1455 of yacc.c */ -#line 2944 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2944 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.spcondtype)= (sp_cond_type_t *)YYTHD->alloc(sizeof(sp_cond_type_t)); if ((yyval.spcondtype) == NULL) @@ -18584,7 +18584,7 @@ case 234: /* Line 1455 of yacc.c */ -#line 2954 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2954 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -18601,7 +18601,7 @@ case 235: /* Line 1455 of yacc.c */ -#line 2969 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2969 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_cond_type_t *cond; @@ -18629,28 +18629,28 @@ case 236: /* Line 1455 of yacc.c */ -#line 2992 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2992 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.spcondtype)= (yyvsp[(1) - (1)].spcondtype); } break; case 237: /* Line 1455 of yacc.c */ -#line 2997 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2997 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.spcondtype)= NULL; } break; case 238: /* Line 1455 of yacc.c */ -#line 2999 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 2999 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.spcondtype)= (yyvsp[(1) - (1)].spcondtype); } break; case 239: /* Line 1455 of yacc.c */ -#line 3004 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3004 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { YYTHD->m_parser_state->m_yacc.m_set_signal_info.clear(); } @@ -18659,7 +18659,7 @@ case 241: /* Line 1455 of yacc.c */ -#line 3012 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3012 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Set_signal_information *info; info= & YYTHD->m_parser_state->m_yacc.m_set_signal_info; @@ -18672,7 +18672,7 @@ case 242: /* Line 1455 of yacc.c */ -#line 3021 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3021 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Set_signal_information *info; info= & YYTHD->m_parser_state->m_yacc.m_set_signal_info; @@ -18690,14 +18690,14 @@ case 243: /* Line 1455 of yacc.c */ -#line 3040 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3040 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[(1) - (1)].item); } break; case 244: /* Line 1455 of yacc.c */ -#line 3042 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3042 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if ((yyvsp[(1) - (1)].item)->type() == Item::FUNC_ITEM) { @@ -18720,98 +18720,98 @@ case 245: /* Line 1455 of yacc.c */ -#line 3060 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3060 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[(1) - (1)].item); } break; case 246: /* Line 1455 of yacc.c */ -#line 3066 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3066 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_CLASS_ORIGIN; } break; case 247: /* Line 1455 of yacc.c */ -#line 3068 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3068 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_SUBCLASS_ORIGIN; } break; case 248: /* Line 1455 of yacc.c */ -#line 3070 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3070 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_CATALOG; } break; case 249: /* Line 1455 of yacc.c */ -#line 3072 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3072 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_SCHEMA; } break; case 250: /* Line 1455 of yacc.c */ -#line 3074 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3074 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_NAME; } break; case 251: /* Line 1455 of yacc.c */ -#line 3076 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3076 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_CATALOG_NAME; } break; case 252: /* Line 1455 of yacc.c */ -#line 3078 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3078 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_SCHEMA_NAME; } break; case 253: /* Line 1455 of yacc.c */ -#line 3080 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3080 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_TABLE_NAME; } break; case 254: /* Line 1455 of yacc.c */ -#line 3082 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3082 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_COLUMN_NAME; } break; case 255: /* Line 1455 of yacc.c */ -#line 3084 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3084 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_CURSOR_NAME; } break; case 256: /* Line 1455 of yacc.c */ -#line 3086 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3086 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_MESSAGE_TEXT; } break; case 257: /* Line 1455 of yacc.c */ -#line 3088 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3088 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_MYSQL_ERRNO; } break; case 258: /* Line 1455 of yacc.c */ -#line 3093 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3093 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -18828,7 +18828,7 @@ case 259: /* Line 1455 of yacc.c */ -#line 3108 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3108 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* NOTE: field definition is filled in sp_decl section. */ @@ -18848,7 +18848,7 @@ case 260: /* Line 1455 of yacc.c */ -#line 3123 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3123 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* NOTE: field definition is filled in sp_decl section. */ @@ -18868,35 +18868,35 @@ case 261: /* Line 1455 of yacc.c */ -#line 3140 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3140 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item) = NULL; } break; case 262: /* Line 1455 of yacc.c */ -#line 3141 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3141 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item) = (yyvsp[(2) - (2)].item); } break; case 276: /* Line 1455 of yacc.c */ -#line 3162 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3162 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sphead->new_cont_backpatch(NULL); } break; case 277: /* Line 1455 of yacc.c */ -#line 3164 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3164 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sphead->do_cont_backpatch(); } break; case 278: /* Line 1455 of yacc.c */ -#line 3168 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3168 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -18910,7 +18910,7 @@ case 279: /* Line 1455 of yacc.c */ -#line 3177 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3177 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -18960,14 +18960,14 @@ case 280: /* Line 1455 of yacc.c */ -#line 3225 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3225 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sphead->reset_lex(YYTHD); } break; case 281: /* Line 1455 of yacc.c */ -#line 3227 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3227 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -18996,7 +18996,7 @@ case 282: /* Line 1455 of yacc.c */ -#line 3253 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3253 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* Unlabeled controls get a secret label. */ LEX *lex= Lex; @@ -19007,7 +19007,7 @@ case 283: /* Line 1455 of yacc.c */ -#line 3259 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3259 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; @@ -19018,7 +19018,7 @@ case 284: /* Line 1455 of yacc.c */ -#line 3268 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3268 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp = lex->sphead; @@ -19073,7 +19073,7 @@ case 285: /* Line 1455 of yacc.c */ -#line 3321 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3321 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -19118,7 +19118,7 @@ case 286: /* Line 1455 of yacc.c */ -#line 3364 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3364 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -19140,7 +19140,7 @@ case 287: /* Line 1455 of yacc.c */ -#line 3384 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3384 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -19162,14 +19162,14 @@ case 288: /* Line 1455 of yacc.c */ -#line 3401 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3401 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 289: /* Line 1455 of yacc.c */ -#line 3406 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3406 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -19191,7 +19191,7 @@ case 293: /* Line 1455 of yacc.c */ -#line 3432 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3432 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -19216,7 +19216,7 @@ case 294: /* Line 1455 of yacc.c */ -#line 3452 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3452 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -19241,14 +19241,14 @@ case 295: /* Line 1455 of yacc.c */ -#line 3474 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3474 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sphead->reset_lex(YYTHD); } break; case 296: /* Line 1455 of yacc.c */ -#line 3476 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3476 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -19269,7 +19269,7 @@ case 297: /* Line 1455 of yacc.c */ -#line 3492 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3492 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { sp_head *sp= Lex->sphead; sp_pcontext *ctx= Lex->spcont; @@ -19286,7 +19286,7 @@ case 298: /* Line 1455 of yacc.c */ -#line 3504 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3504 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; @@ -19297,7 +19297,7 @@ case 304: /* Line 1455 of yacc.c */ -#line 3524 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3524 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; case_stmt_action_case(lex); @@ -19308,7 +19308,7 @@ case 305: /* Line 1455 of yacc.c */ -#line 3530 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3530 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (case_stmt_action_expr(lex, (yyvsp[(3) - (3)].item))) @@ -19323,7 +19323,7 @@ case 306: /* Line 1455 of yacc.c */ -#line 3543 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3543 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; case_stmt_action_end_case(lex, true); @@ -19333,7 +19333,7 @@ case 307: /* Line 1455 of yacc.c */ -#line 3551 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3551 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; case_stmt_action_case(lex); @@ -19343,7 +19343,7 @@ case 308: /* Line 1455 of yacc.c */ -#line 3559 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3559 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; case_stmt_action_end_case(lex, false); @@ -19353,7 +19353,7 @@ case 313: /* Line 1455 of yacc.c */ -#line 3577 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3577 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sphead->reset_lex(YYTHD); /* For expr $3 */ } @@ -19362,7 +19362,7 @@ case 314: /* Line 1455 of yacc.c */ -#line 3581 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3581 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* Simple case: = */ @@ -19378,7 +19378,7 @@ case 315: /* Line 1455 of yacc.c */ -#line 3593 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3593 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (case_stmt_action_then(lex)) @@ -19389,7 +19389,7 @@ case 316: /* Line 1455 of yacc.c */ -#line 3602 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3602 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sphead->reset_lex(YYTHD); /* For expr $3 */ } @@ -19398,7 +19398,7 @@ case 317: /* Line 1455 of yacc.c */ -#line 3606 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3606 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (case_stmt_action_when(lex, (yyvsp[(3) - (3)].item), false)) @@ -19412,7 +19412,7 @@ case 318: /* Line 1455 of yacc.c */ -#line 3616 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3616 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (case_stmt_action_then(lex)) @@ -19423,7 +19423,7 @@ case 319: /* Line 1455 of yacc.c */ -#line 3625 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3625 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -19439,7 +19439,7 @@ case 321: /* Line 1455 of yacc.c */ -#line 3640 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3640 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_pcontext *ctx= lex->spcont; @@ -19462,7 +19462,7 @@ case 322: /* Line 1455 of yacc.c */ -#line 3658 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3658 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_label_t *lab= lex->spcont->pop_label(); @@ -19482,21 +19482,21 @@ case 323: /* Line 1455 of yacc.c */ -#line 3675 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3675 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str)= null_lex_str; } break; case 324: /* Line 1455 of yacc.c */ -#line 3676 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3676 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); } break; case 325: /* Line 1455 of yacc.c */ -#line 3681 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3681 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_pcontext *ctx= lex->spcont; @@ -19517,7 +19517,7 @@ case 326: /* Line 1455 of yacc.c */ -#line 3697 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3697 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_label_t *lab= lex->spcont->pop_label(); @@ -19536,7 +19536,7 @@ case 327: /* Line 1455 of yacc.c */ -#line 3713 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3713 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* Unlabeled blocks get a secret label. */ LEX *lex= Lex; uint ip= lex->sphead->instructions(); @@ -19548,7 +19548,7 @@ case 328: /* Line 1455 of yacc.c */ -#line 3720 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3720 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->spcont->pop_label(); @@ -19558,7 +19558,7 @@ case 329: /* Line 1455 of yacc.c */ -#line 3728 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3728 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* QQ This is just a dummy for grouping declarations and statements together. No [[NOT] ATOMIC] yet, and we need to figure out how make it coexist with the existing BEGIN COMMIT/ROLLBACK. */ @@ -19570,7 +19570,7 @@ case 330: /* Line 1455 of yacc.c */ -#line 3737 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3737 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -19599,7 +19599,7 @@ case 331: /* Line 1455 of yacc.c */ -#line 3765 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3765 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; uint ip= lex->sphead->instructions(); @@ -19614,14 +19614,14 @@ case 332: /* Line 1455 of yacc.c */ -#line 3775 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3775 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sphead->reset_lex(YYTHD); } break; case 333: /* Line 1455 of yacc.c */ -#line 3777 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3777 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -19642,7 +19642,7 @@ case 334: /* Line 1455 of yacc.c */ -#line 3793 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3793 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; uint ip= lex->sphead->instructions(); @@ -19658,14 +19658,14 @@ case 335: /* Line 1455 of yacc.c */ -#line 3804 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3804 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sphead->reset_lex(YYTHD); } break; case 336: /* Line 1455 of yacc.c */ -#line 3806 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3806 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; uint ip= lex->sphead->instructions(); @@ -19686,49 +19686,49 @@ case 337: /* Line 1455 of yacc.c */ -#line 3825 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3825 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->trg_chistics.action_time= TRG_ACTION_BEFORE; } break; case 338: /* Line 1455 of yacc.c */ -#line 3827 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3827 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->trg_chistics.action_time= TRG_ACTION_AFTER; } break; case 339: /* Line 1455 of yacc.c */ -#line 3832 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3832 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->trg_chistics.event= TRG_EVENT_INSERT; } break; case 340: /* Line 1455 of yacc.c */ -#line 3834 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3834 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->trg_chistics.event= TRG_EVENT_UPDATE; } break; case 341: /* Line 1455 of yacc.c */ -#line 3836 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3836 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->trg_chistics.event= TRG_EVENT_DELETE; } break; case 345: /* Line 1455 of yacc.c */ -#line 3870 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3870 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 346: /* Line 1455 of yacc.c */ -#line 3872 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3872 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->logfile_group_name= (yyvsp[(4) - (4)].lex_str).str; @@ -19738,7 +19738,7 @@ case 347: /* Line 1455 of yacc.c */ -#line 3882 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3882 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->alter_tablespace_info->ts_alter_tablespace_type= ALTER_TABLESPACE_ADD_FILE; } @@ -19747,7 +19747,7 @@ case 348: /* Line 1455 of yacc.c */ -#line 3888 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3888 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->alter_tablespace_info->ts_alter_tablespace_type= ALTER_TABLESPACE_DROP_FILE; } @@ -19756,14 +19756,14 @@ case 353: /* Line 1455 of yacc.c */ -#line 3911 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 3911 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 400: /* Line 1455 of yacc.c */ -#line 4005 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4005 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->data_file_name= (yyvsp[(2) - (2)].lex_str).str; @@ -19773,7 +19773,7 @@ case 401: /* Line 1455 of yacc.c */ -#line 4013 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4013 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->undo_file_name= (yyvsp[(2) - (2)].lex_str).str; @@ -19783,7 +19783,7 @@ case 402: /* Line 1455 of yacc.c */ -#line 4021 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4021 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->redo_file_name= (yyvsp[(2) - (2)].lex_str).str; @@ -19793,7 +19793,7 @@ case 403: /* Line 1455 of yacc.c */ -#line 4029 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4029 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info= new st_alter_tablespace(); @@ -19807,7 +19807,7 @@ case 404: /* Line 1455 of yacc.c */ -#line 4041 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4041 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info= new st_alter_tablespace(); @@ -19821,7 +19821,7 @@ case 405: /* Line 1455 of yacc.c */ -#line 4053 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4053 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_access_mode= TS_READ_ONLY; @@ -19831,7 +19831,7 @@ case 406: /* Line 1455 of yacc.c */ -#line 4058 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4058 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_access_mode= TS_READ_WRITE; @@ -19841,7 +19841,7 @@ case 407: /* Line 1455 of yacc.c */ -#line 4063 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4063 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_access_mode= TS_NOT_ACCESSIBLE; @@ -19851,7 +19851,7 @@ case 408: /* Line 1455 of yacc.c */ -#line 4071 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4071 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->initial_size= (yyvsp[(3) - (3)].ulonglong_number); @@ -19861,7 +19861,7 @@ case 409: /* Line 1455 of yacc.c */ -#line 4079 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4079 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->autoextend_size= (yyvsp[(3) - (3)].ulonglong_number); @@ -19871,7 +19871,7 @@ case 410: /* Line 1455 of yacc.c */ -#line 4087 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4087 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->max_size= (yyvsp[(3) - (3)].ulonglong_number); @@ -19881,7 +19881,7 @@ case 411: /* Line 1455 of yacc.c */ -#line 4095 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4095 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->extent_size= (yyvsp[(3) - (3)].ulonglong_number); @@ -19891,7 +19891,7 @@ case 412: /* Line 1455 of yacc.c */ -#line 4103 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4103 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->undo_buffer_size= (yyvsp[(3) - (3)].ulonglong_number); @@ -19901,7 +19901,7 @@ case 413: /* Line 1455 of yacc.c */ -#line 4111 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4111 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->redo_buffer_size= (yyvsp[(3) - (3)].ulonglong_number); @@ -19911,7 +19911,7 @@ case 414: /* Line 1455 of yacc.c */ -#line 4119 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4119 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->alter_tablespace_info->nodegroup_id != UNDEF_NODEGROUP) @@ -19926,7 +19926,7 @@ case 415: /* Line 1455 of yacc.c */ -#line 4132 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4132 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->alter_tablespace_info->ts_comment != NULL) @@ -19941,7 +19941,7 @@ case 416: /* Line 1455 of yacc.c */ -#line 4145 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4145 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->alter_tablespace_info->storage_engine != NULL) @@ -19957,7 +19957,7 @@ case 419: /* Line 1455 of yacc.c */ -#line 4164 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4164 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->wait_until_completed= TRUE; @@ -19967,7 +19967,7 @@ case 420: /* Line 1455 of yacc.c */ -#line 4169 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4169 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (!(lex->alter_tablespace_info->wait_until_completed)) @@ -19982,14 +19982,14 @@ case 421: /* Line 1455 of yacc.c */ -#line 4181 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4181 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.ulonglong_number)= (yyvsp[(1) - (1)].ulonglong_number);} break; case 422: /* Line 1455 of yacc.c */ -#line 4183 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4183 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { ulonglong number; uint text_shift_number= 0; @@ -20038,21 +20038,21 @@ case 423: /* Line 1455 of yacc.c */ -#line 4233 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4233 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 424: /* Line 1455 of yacc.c */ -#line 4236 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4236 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 425: /* Line 1455 of yacc.c */ -#line 4238 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4238 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; TABLE_LIST *src_table; @@ -20072,7 +20072,7 @@ case 426: /* Line 1455 of yacc.c */ -#line 4253 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4253 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; TABLE_LIST *src_table; @@ -20092,63 +20092,63 @@ case 427: /* Line 1455 of yacc.c */ -#line 4272 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4272 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 428: /* Line 1455 of yacc.c */ -#line 4275 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4275 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->set_braces(1);} break; case 429: /* Line 1455 of yacc.c */ -#line 4276 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4276 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 430: /* Line 1455 of yacc.c */ -#line 4280 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4280 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 431: /* Line 1455 of yacc.c */ -#line 4282 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4282 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->set_braces(0);} break; case 432: /* Line 1455 of yacc.c */ -#line 4283 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4283 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 433: /* Line 1455 of yacc.c */ -#line 4285 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4285 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->set_braces(1);} break; case 434: /* Line 1455 of yacc.c */ -#line 4286 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4286 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 435: /* Line 1455 of yacc.c */ -#line 4291 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4291 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* Remove all tables used in PARTITION clause from the global table @@ -20163,14 +20163,14 @@ case 436: /* Line 1455 of yacc.c */ -#line 4327 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4327 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 438: /* Line 1455 of yacc.c */ -#line 4333 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4333 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->part_info= new partition_info(); @@ -20189,7 +20189,7 @@ case 440: /* Line 1455 of yacc.c */ -#line 4351 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4351 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { #ifdef WITH_PARTITION_STORAGE_ENGINE LEX_STRING partition_name={C_STRING_WITH_LEN("partition")}; @@ -20210,7 +20210,7 @@ case 441: /* Line 1455 of yacc.c */ -#line 4370 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4370 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (!lex->part_info) @@ -20228,14 +20228,14 @@ case 442: /* Line 1455 of yacc.c */ -#line 4382 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4382 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 444: /* Line 1455 of yacc.c */ -#line 4391 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4391 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; part_info->list_of_part_fields= TRUE; @@ -20247,70 +20247,70 @@ case 445: /* Line 1455 of yacc.c */ -#line 4398 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4398 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->part_info->part_type= HASH_PARTITION; } break; case 446: /* Line 1455 of yacc.c */ -#line 4399 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4399 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 447: /* Line 1455 of yacc.c */ -#line 4401 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4401 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->part_info->part_type= RANGE_PARTITION; } break; case 448: /* Line 1455 of yacc.c */ -#line 4403 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4403 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->part_info->part_type= RANGE_PARTITION; } break; case 449: /* Line 1455 of yacc.c */ -#line 4405 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4405 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->part_info->part_type= LIST_PARTITION; } break; case 450: /* Line 1455 of yacc.c */ -#line 4407 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4407 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->part_info->part_type= LIST_PARTITION; } break; case 451: /* Line 1455 of yacc.c */ -#line 4411 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4411 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 452: /* Line 1455 of yacc.c */ -#line 4413 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4413 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->part_info->linear_hash_ind= TRUE;} break; case 453: /* Line 1455 of yacc.c */ -#line 4418 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4418 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->part_info->key_algorithm= partition_info::KEY_ALGORITHM_NONE;} break; case 454: /* Line 1455 of yacc.c */ -#line 4420 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4420 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { switch ((yyvsp[(3) - (3)].ulong_num)) { case 1: @@ -20329,35 +20329,35 @@ case 455: /* Line 1455 of yacc.c */ -#line 4436 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4436 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 456: /* Line 1455 of yacc.c */ -#line 4437 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4437 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 457: /* Line 1455 of yacc.c */ -#line 4441 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4441 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 458: /* Line 1455 of yacc.c */ -#line 4442 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4442 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 459: /* Line 1455 of yacc.c */ -#line 4447 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4447 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; part_info->num_columns++; @@ -20378,7 +20378,7 @@ case 460: /* Line 1455 of yacc.c */ -#line 4466 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4466 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; part_info->column_list= TRUE; @@ -20389,7 +20389,7 @@ case 461: /* Line 1455 of yacc.c */ -#line 4476 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4476 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; if (part_info->set_part_expr((yyvsp[(2) - (5)].simple_string)+1, (yyvsp[(3) - (5)].item), (yyvsp[(4) - (5)].simple_string), FALSE)) @@ -20402,7 +20402,7 @@ case 462: /* Line 1455 of yacc.c */ -#line 4487 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4487 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (Lex->part_info->set_part_expr((yyvsp[(2) - (5)].simple_string)+1, (yyvsp[(3) - (5)].item), (yyvsp[(4) - (5)].simple_string), TRUE)) { MYSQL_YYABORT; } @@ -20412,14 +20412,14 @@ case 463: /* Line 1455 of yacc.c */ -#line 4495 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4495 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 464: /* Line 1455 of yacc.c */ -#line 4497 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4497 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { uint num_parts= (yyvsp[(2) - (2)].ulong_num); partition_info *part_info= Lex->part_info; @@ -20437,28 +20437,28 @@ case 465: /* Line 1455 of yacc.c */ -#line 4512 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4512 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 466: /* Line 1455 of yacc.c */ -#line 4514 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4514 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->part_info->subpart_type= HASH_PARTITION; } break; case 467: /* Line 1455 of yacc.c */ -#line 4515 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4515 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 468: /* Line 1455 of yacc.c */ -#line 4518 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4518 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; part_info->subpart_type= HASH_PARTITION; @@ -20469,28 +20469,28 @@ case 469: /* Line 1455 of yacc.c */ -#line 4523 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4523 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 470: /* Line 1455 of yacc.c */ -#line 4527 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4527 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 471: /* Line 1455 of yacc.c */ -#line 4528 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4528 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 472: /* Line 1455 of yacc.c */ -#line 4533 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4533 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; if (part_info->subpart_field_list.push_back((yyvsp[(1) - (1)].lex_str).str)) @@ -20510,7 +20510,7 @@ case 473: /* Line 1455 of yacc.c */ -#line 4551 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4551 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; bool not_corr_func; @@ -20528,14 +20528,14 @@ case 474: /* Line 1455 of yacc.c */ -#line 4566 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4566 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 475: /* Line 1455 of yacc.c */ -#line 4568 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4568 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { uint num_parts= (yyvsp[(2) - (2)].ulong_num); LEX *lex= Lex; @@ -20552,7 +20552,7 @@ case 476: /* Line 1455 of yacc.c */ -#line 4583 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4583 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; if (part_info->part_type == RANGE_PARTITION) @@ -20573,7 +20573,7 @@ case 477: /* Line 1455 of yacc.c */ -#line 4599 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4599 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; uint count_curr_parts= part_info->partitions.elements; @@ -20597,21 +20597,21 @@ case 478: /* Line 1455 of yacc.c */ -#line 4620 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4620 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 479: /* Line 1455 of yacc.c */ -#line 4621 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4621 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 480: /* Line 1455 of yacc.c */ -#line 4626 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4626 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; partition_element *p_elem= new partition_element(); @@ -20632,14 +20632,14 @@ case 481: /* Line 1455 of yacc.c */ -#line 4645 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4645 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 482: /* Line 1455 of yacc.c */ -#line 4650 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4650 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; partition_element *p_elem= part_info->curr_part_elem; @@ -20650,7 +20650,7 @@ case 483: /* Line 1455 of yacc.c */ -#line 4659 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4659 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; partition_info *part_info= lex->part_info; @@ -20677,7 +20677,7 @@ case 484: /* Line 1455 of yacc.c */ -#line 4681 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4681 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; partition_info *part_info= lex->part_info; @@ -20698,14 +20698,14 @@ case 485: /* Line 1455 of yacc.c */ -#line 4696 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4696 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 486: /* Line 1455 of yacc.c */ -#line 4698 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4698 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; partition_info *part_info= lex->part_info; @@ -20726,14 +20726,14 @@ case 487: /* Line 1455 of yacc.c */ -#line 4713 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4713 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 488: /* Line 1455 of yacc.c */ -#line 4718 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4718 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; @@ -20760,14 +20760,14 @@ case 489: /* Line 1455 of yacc.c */ -#line 4739 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4739 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 490: /* Line 1455 of yacc.c */ -#line 4744 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4744 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; partition_info *part_info= lex->part_info; @@ -20801,7 +20801,7 @@ case 491: /* Line 1455 of yacc.c */ -#line 4773 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4773 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; if (part_info->num_columns < 2U) @@ -20815,21 +20815,21 @@ case 492: /* Line 1455 of yacc.c */ -#line 4784 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4784 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 493: /* Line 1455 of yacc.c */ -#line 4785 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4785 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 494: /* Line 1455 of yacc.c */ -#line 4790 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4790 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; part_info->print_debug("( part_value_item", NULL); @@ -20846,14 +20846,14 @@ case 495: /* Line 1455 of yacc.c */ -#line 4801 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4801 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 496: /* Line 1455 of yacc.c */ -#line 4803 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4803 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; part_info->print_debug(") part_value_item", NULL); @@ -20879,21 +20879,21 @@ case 497: /* Line 1455 of yacc.c */ -#line 4826 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4826 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 498: /* Line 1455 of yacc.c */ -#line 4827 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4827 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 499: /* Line 1455 of yacc.c */ -#line 4832 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4832 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; if (part_info->part_type == LIST_PARTITION) @@ -20911,7 +20911,7 @@ case 500: /* Line 1455 of yacc.c */ -#line 4845 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4845 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; partition_info *part_info= lex->part_info; @@ -20932,7 +20932,7 @@ case 501: /* Line 1455 of yacc.c */ -#line 4865 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4865 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; if (part_info->num_subparts != 0 && @@ -20951,7 +20951,7 @@ case 502: /* Line 1455 of yacc.c */ -#line 4879 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4879 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; if (part_info->num_subparts != 0) @@ -20979,21 +20979,21 @@ case 503: /* Line 1455 of yacc.c */ -#line 4904 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4904 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 504: /* Line 1455 of yacc.c */ -#line 4905 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4905 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 505: /* Line 1455 of yacc.c */ -#line 4910 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4910 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; partition_element *curr_part= part_info->current_partition; @@ -21031,56 +21031,56 @@ case 506: /* Line 1455 of yacc.c */ -#line 4942 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4942 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 507: /* Line 1455 of yacc.c */ -#line 4947 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4947 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->part_info->curr_part_elem->partition_name= (yyvsp[(1) - (1)].lex_str).str; } break; case 508: /* Line 1455 of yacc.c */ -#line 4951 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4951 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 509: /* Line 1455 of yacc.c */ -#line 4952 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4952 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 510: /* Line 1455 of yacc.c */ -#line 4956 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4956 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 511: /* Line 1455 of yacc.c */ -#line 4957 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4957 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 512: /* Line 1455 of yacc.c */ -#line 4962 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4962 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->part_info->curr_part_elem->tablespace_name= (yyvsp[(3) - (3)].lex_str).str; } break; case 513: /* Line 1455 of yacc.c */ -#line 4964 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4964 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; part_info->curr_part_elem->engine_type= (yyvsp[(4) - (4)].db_type); @@ -21091,49 +21091,49 @@ case 514: /* Line 1455 of yacc.c */ -#line 4970 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4970 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->part_info->curr_part_elem->nodegroup_id= (uint16) (yyvsp[(3) - (3)].ulong_num); } break; case 515: /* Line 1455 of yacc.c */ -#line 4972 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4972 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->part_info->curr_part_elem->part_max_rows= (ha_rows) (yyvsp[(3) - (3)].ulonglong_number); } break; case 516: /* Line 1455 of yacc.c */ -#line 4974 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4974 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->part_info->curr_part_elem->part_min_rows= (ha_rows) (yyvsp[(3) - (3)].ulonglong_number); } break; case 517: /* Line 1455 of yacc.c */ -#line 4976 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4976 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->part_info->curr_part_elem->data_file_name= (yyvsp[(4) - (4)].lex_str).str; } break; case 518: /* Line 1455 of yacc.c */ -#line 4978 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4978 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->part_info->curr_part_elem->index_file_name= (yyvsp[(4) - (4)].lex_str).str; } break; case 519: /* Line 1455 of yacc.c */ -#line 4980 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4980 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->part_info->curr_part_elem->part_comment= (yyvsp[(3) - (3)].lex_str).str; } break; case 520: /* Line 1455 of yacc.c */ -#line 4989 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 4989 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (lex->sql_command == SQLCOM_INSERT) @@ -21153,7 +21153,7 @@ case 521: /* Line 1455 of yacc.c */ -#line 5004 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5004 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->parsing_place= NO_MATTER; } @@ -21162,7 +21162,7 @@ case 522: /* Line 1455 of yacc.c */ -#line 5008 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5008 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* The following work only with the local list, the global list @@ -21175,112 +21175,112 @@ case 523: /* Line 1455 of yacc.c */ -#line 5018 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5018 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 524: /* Line 1455 of yacc.c */ -#line 5019 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5019 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 525: /* Line 1455 of yacc.c */ -#line 5023 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5023 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 526: /* Line 1455 of yacc.c */ -#line 5024 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5024 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 527: /* Line 1455 of yacc.c */ -#line 5028 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5028 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 528: /* Line 1455 of yacc.c */ -#line 5029 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5029 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 529: /* Line 1455 of yacc.c */ -#line 5033 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5033 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 530: /* Line 1455 of yacc.c */ -#line 5034 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5034 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 531: /* Line 1455 of yacc.c */ -#line 5038 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5038 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= 0; } break; case 532: /* Line 1455 of yacc.c */ -#line 5039 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5039 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= (yyvsp[(1) - (1)].num);} break; case 533: /* Line 1455 of yacc.c */ -#line 5043 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5043 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=(yyvsp[(1) - (1)].num); } break; case 534: /* Line 1455 of yacc.c */ -#line 5044 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5044 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= (yyvsp[(1) - (2)].num) | (yyvsp[(2) - (2)].num); } break; case 535: /* Line 1455 of yacc.c */ -#line 5048 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5048 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=HA_LEX_CREATE_TMP_TABLE; } break; case 536: /* Line 1455 of yacc.c */ -#line 5052 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5052 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= 0; } break; case 537: /* Line 1455 of yacc.c */ -#line 5053 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5053 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=HA_LEX_CREATE_IF_NOT_EXISTS; } break; case 545: /* Line 1455 of yacc.c */ -#line 5074 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5074 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_info.db_type= (yyvsp[(3) - (3)].db_type); Lex->create_info.used_fields|= HA_CREATE_USED_ENGINE; @@ -21290,7 +21290,7 @@ case 546: /* Line 1455 of yacc.c */ -#line 5079 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5079 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_info.max_rows= (yyvsp[(3) - (3)].ulonglong_number); Lex->create_info.used_fields|= HA_CREATE_USED_MAX_ROWS; @@ -21300,7 +21300,7 @@ case 547: /* Line 1455 of yacc.c */ -#line 5084 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5084 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_info.min_rows= (yyvsp[(3) - (3)].ulonglong_number); Lex->create_info.used_fields|= HA_CREATE_USED_MIN_ROWS; @@ -21310,7 +21310,7 @@ case 548: /* Line 1455 of yacc.c */ -#line 5089 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5089 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_info.avg_row_length=(yyvsp[(3) - (3)].ulong_num); Lex->create_info.used_fields|= HA_CREATE_USED_AVG_ROW_LENGTH; @@ -21320,7 +21320,7 @@ case 549: /* Line 1455 of yacc.c */ -#line 5094 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5094 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_info.password=(yyvsp[(3) - (3)].lex_str).str; Lex->create_info.used_fields|= HA_CREATE_USED_PASSWORD; @@ -21330,7 +21330,7 @@ case 550: /* Line 1455 of yacc.c */ -#line 5099 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5099 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_info.comment=(yyvsp[(3) - (3)].lex_str); Lex->create_info.used_fields|= HA_CREATE_USED_COMMENT; @@ -21340,7 +21340,7 @@ case 551: /* Line 1455 of yacc.c */ -#line 5104 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5104 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_info.auto_increment_value=(yyvsp[(3) - (3)].ulonglong_number); Lex->create_info.used_fields|= HA_CREATE_USED_AUTO; @@ -21350,7 +21350,7 @@ case 552: /* Line 1455 of yacc.c */ -#line 5109 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5109 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { switch((yyvsp[(3) - (3)].ulong_num)) { case 0: @@ -21370,7 +21370,7 @@ case 553: /* Line 1455 of yacc.c */ -#line 5124 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5124 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_info.table_options&= ~(HA_OPTION_PACK_KEYS | HA_OPTION_NO_PACK_KEYS); @@ -21381,7 +21381,7 @@ case 554: /* Line 1455 of yacc.c */ -#line 5130 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5130 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_info.table_options|= (yyvsp[(3) - (3)].ulong_num) ? HA_OPTION_CHECKSUM : HA_OPTION_NO_CHECKSUM; Lex->create_info.used_fields|= HA_CREATE_USED_CHECKSUM; @@ -21391,7 +21391,7 @@ case 555: /* Line 1455 of yacc.c */ -#line 5135 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5135 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_info.table_options|= (yyvsp[(3) - (3)].ulong_num) ? HA_OPTION_CHECKSUM : HA_OPTION_NO_CHECKSUM; Lex->create_info.used_fields|= HA_CREATE_USED_CHECKSUM; @@ -21401,7 +21401,7 @@ case 556: /* Line 1455 of yacc.c */ -#line 5140 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5140 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_info.table_options|= (yyvsp[(3) - (3)].ulong_num) ? HA_OPTION_DELAY_KEY_WRITE : HA_OPTION_NO_DELAY_KEY_WRITE; Lex->create_info.used_fields|= HA_CREATE_USED_DELAY_KEY_WRITE; @@ -21411,7 +21411,7 @@ case 557: /* Line 1455 of yacc.c */ -#line 5145 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5145 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_info.row_type= (yyvsp[(3) - (3)].row_type); Lex->create_info.used_fields|= HA_CREATE_USED_ROW_FORMAT; @@ -21421,7 +21421,7 @@ case 558: /* Line 1455 of yacc.c */ -#line 5150 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5150 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->select_lex.table_list.save_and_clear(&Lex->save_list); } @@ -21430,7 +21430,7 @@ case 559: /* Line 1455 of yacc.c */ -#line 5154 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5154 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* Move the union list to the merge_list and exclude its tables @@ -21457,7 +21457,7 @@ case 562: /* Line 1455 of yacc.c */ -#line 5178 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5178 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_info.merge_insert_method= (yyvsp[(3) - (3)].ulong_num); Lex->create_info.used_fields|= HA_CREATE_USED_INSERT_METHOD; @@ -21467,7 +21467,7 @@ case 563: /* Line 1455 of yacc.c */ -#line 5183 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5183 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_info.data_file_name= (yyvsp[(4) - (4)].lex_str).str; Lex->create_info.used_fields|= HA_CREATE_USED_DATADIR; @@ -21477,7 +21477,7 @@ case 564: /* Line 1455 of yacc.c */ -#line 5188 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5188 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_info.index_file_name= (yyvsp[(4) - (4)].lex_str).str; Lex->create_info.used_fields|= HA_CREATE_USED_INDEXDIR; @@ -21487,28 +21487,28 @@ case 565: /* Line 1455 of yacc.c */ -#line 5193 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5193 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {Lex->create_info.tablespace= (yyvsp[(2) - (2)].lex_str).str;} break; case 566: /* Line 1455 of yacc.c */ -#line 5195 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5195 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {Lex->create_info.storage_media= HA_SM_DISK;} break; case 567: /* Line 1455 of yacc.c */ -#line 5197 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5197 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {Lex->create_info.storage_media= HA_SM_MEMORY;} break; case 568: /* Line 1455 of yacc.c */ -#line 5199 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5199 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_info.connect_string.str= (yyvsp[(3) - (3)].lex_str).str; Lex->create_info.connect_string.length= (yyvsp[(3) - (3)].lex_str).length; @@ -21519,7 +21519,7 @@ case 569: /* Line 1455 of yacc.c */ -#line 5205 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5205 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_info.used_fields|= HA_CREATE_USED_KEY_BLOCK_SIZE; Lex->create_info.key_block_size= (yyvsp[(3) - (3)].ulong_num); @@ -21529,7 +21529,7 @@ case 570: /* Line 1455 of yacc.c */ -#line 5213 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5213 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { HA_CREATE_INFO *cinfo= &Lex->create_info; if ((cinfo->used_fields & HA_CREATE_USED_DEFAULT_CHARSET) && @@ -21549,7 +21549,7 @@ case 571: /* Line 1455 of yacc.c */ -#line 5231 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5231 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { HA_CREATE_INFO *cinfo= &Lex->create_info; if ((cinfo->used_fields & HA_CREATE_USED_DEFAULT_CHARSET) && @@ -21568,7 +21568,7 @@ case 572: /* Line 1455 of yacc.c */ -#line 5248 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5248 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { plugin_ref plugin= ha_resolve_by_name(YYTHD, &(yyvsp[(1) - (1)].lex_str)); @@ -21593,7 +21593,7 @@ case 573: /* Line 1455 of yacc.c */ -#line 5271 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5271 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { plugin_ref plugin; if ((plugin= ha_resolve_by_name(YYTHD, &(yyvsp[(1) - (1)].lex_str)))) @@ -21609,105 +21609,105 @@ case 574: /* Line 1455 of yacc.c */ -#line 5284 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5284 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_DEFAULT; } break; case 575: /* Line 1455 of yacc.c */ -#line 5285 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5285 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_FIXED; } break; case 576: /* Line 1455 of yacc.c */ -#line 5286 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5286 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_DYNAMIC; } break; case 577: /* Line 1455 of yacc.c */ -#line 5287 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5287 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_COMPRESSED; } break; case 578: /* Line 1455 of yacc.c */ -#line 5288 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5288 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_REDUNDANT; } break; case 579: /* Line 1455 of yacc.c */ -#line 5289 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5289 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_COMPACT; } break; case 580: /* Line 1455 of yacc.c */ -#line 5293 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5293 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.ulong_num)= MERGE_INSERT_DISABLED; } break; case 581: /* Line 1455 of yacc.c */ -#line 5294 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5294 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.ulong_num)= MERGE_INSERT_TO_FIRST; } break; case 582: /* Line 1455 of yacc.c */ -#line 5295 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5295 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.ulong_num)= MERGE_INSERT_TO_LAST; } break; case 583: /* Line 1455 of yacc.c */ -#line 5299 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5299 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 585: /* Line 1455 of yacc.c */ -#line 5304 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5304 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {(yyval.num) = (int) STRING_RESULT; } break; case 586: /* Line 1455 of yacc.c */ -#line 5305 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5305 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {(yyval.num) = (int) REAL_RESULT; } break; case 587: /* Line 1455 of yacc.c */ -#line 5306 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5306 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {(yyval.num) = (int) DECIMAL_RESULT; } break; case 588: /* Line 1455 of yacc.c */ -#line 5307 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5307 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {(yyval.num) = (int) INT_RESULT; } break; case 589: /* Line 1455 of yacc.c */ -#line 5313 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5313 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_last_non_select_table= Lex->last_table(); } @@ -21716,7 +21716,7 @@ case 595: /* Line 1455 of yacc.c */ -#line 5331 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5331 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->col_list.empty(); /* Alloced by sql_alloc */ } @@ -21725,7 +21725,7 @@ case 596: /* Line 1455 of yacc.c */ -#line 5338 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5338 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (add_create_index (Lex, (yyvsp[(1) - (7)].key_type), (yyvsp[(2) - (7)].lex_str))) MYSQL_YYABORT; @@ -21735,7 +21735,7 @@ case 597: /* Line 1455 of yacc.c */ -#line 5344 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5344 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (add_create_index (Lex, (yyvsp[(1) - (8)].key_type), (yyvsp[(3) - (8)].lex_str))) MYSQL_YYABORT; @@ -21745,7 +21745,7 @@ case 598: /* Line 1455 of yacc.c */ -#line 5350 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5350 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (add_create_index (Lex, (yyvsp[(1) - (8)].key_type), (yyvsp[(3) - (8)].lex_str))) MYSQL_YYABORT; @@ -21755,7 +21755,7 @@ case 599: /* Line 1455 of yacc.c */ -#line 5356 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5356 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (add_create_index (Lex, (yyvsp[(2) - (8)].key_type), (yyvsp[(3) - (8)].lex_str).str ? (yyvsp[(3) - (8)].lex_str) : (yyvsp[(1) - (8)].lex_str))) MYSQL_YYABORT; @@ -21765,7 +21765,7 @@ case 600: /* Line 1455 of yacc.c */ -#line 5361 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5361 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; Key *key= new Foreign_key((yyvsp[(4) - (8)].lex_str).str ? (yyvsp[(4) - (8)].lex_str) : (yyvsp[(1) - (8)].lex_str), lex->col_list, @@ -21788,7 +21788,7 @@ case 601: /* Line 1455 of yacc.c */ -#line 5379 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5379 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->col_list.empty(); /* Alloced by sql_alloc */ } @@ -21797,28 +21797,28 @@ case 605: /* Line 1455 of yacc.c */ -#line 5394 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5394 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str)= null_lex_str; } break; case 606: /* Line 1455 of yacc.c */ -#line 5395 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5395 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); } break; case 607: /* Line 1455 of yacc.c */ -#line 5399 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5399 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[(2) - (2)].lex_str); } break; case 608: /* Line 1455 of yacc.c */ -#line 5404 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5404 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->length=lex->dec=0; @@ -21832,7 +21832,7 @@ case 609: /* Line 1455 of yacc.c */ -#line 5413 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5413 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (add_field_to_list(lex->thd, &(yyvsp[(1) - (4)].lex_str), (enum enum_field_types) (yyvsp[(3) - (4)].num), @@ -21848,28 +21848,28 @@ case 610: /* Line 1455 of yacc.c */ -#line 5426 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5426 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=(yyvsp[(1) - (3)].num); } break; case 611: /* Line 1455 of yacc.c */ -#line 5427 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5427 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=(yyvsp[(1) - (3)].num); } break; case 612: /* Line 1455 of yacc.c */ -#line 5428 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5428 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_FLOAT; } break; case 613: /* Line 1455 of yacc.c */ -#line 5430 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5430 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->length= (char*) "1"; (yyval.num)=MYSQL_TYPE_BIT; @@ -21879,7 +21879,7 @@ case 614: /* Line 1455 of yacc.c */ -#line 5435 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5435 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_BIT; } @@ -21888,7 +21888,7 @@ case 615: /* Line 1455 of yacc.c */ -#line 5439 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5439 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->length= (char*) "1"; (yyval.num)=MYSQL_TYPE_TINY; @@ -21898,7 +21898,7 @@ case 616: /* Line 1455 of yacc.c */ -#line 5444 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5444 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->length= (char*) "1"; (yyval.num)=MYSQL_TYPE_TINY; @@ -21908,7 +21908,7 @@ case 617: /* Line 1455 of yacc.c */ -#line 5449 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5449 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_STRING; } @@ -21917,7 +21917,7 @@ case 618: /* Line 1455 of yacc.c */ -#line 5453 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5453 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->length= (char*) "1"; (yyval.num)=MYSQL_TYPE_STRING; @@ -21927,7 +21927,7 @@ case 619: /* Line 1455 of yacc.c */ -#line 5458 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5458 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_STRING; Lex->charset=national_charset_info; @@ -21937,7 +21937,7 @@ case 620: /* Line 1455 of yacc.c */ -#line 5463 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5463 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->length= (char*) "1"; (yyval.num)=MYSQL_TYPE_STRING; @@ -21948,7 +21948,7 @@ case 621: /* Line 1455 of yacc.c */ -#line 5469 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5469 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.num)=MYSQL_TYPE_STRING; @@ -21958,7 +21958,7 @@ case 622: /* Line 1455 of yacc.c */ -#line 5474 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5474 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->length= (char*) "1"; Lex->charset=&my_charset_bin; @@ -21969,7 +21969,7 @@ case 623: /* Line 1455 of yacc.c */ -#line 5480 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5480 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= MYSQL_TYPE_VARCHAR; } @@ -21978,7 +21978,7 @@ case 624: /* Line 1455 of yacc.c */ -#line 5484 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5484 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= MYSQL_TYPE_VARCHAR; Lex->charset=national_charset_info; @@ -21988,7 +21988,7 @@ case 625: /* Line 1455 of yacc.c */ -#line 5489 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5489 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.num)= MYSQL_TYPE_VARCHAR; @@ -21998,7 +21998,7 @@ case 626: /* Line 1455 of yacc.c */ -#line 5494 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5494 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (Lex->length) { @@ -22021,21 +22021,21 @@ case 627: /* Line 1455 of yacc.c */ -#line 5512 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5512 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_DATE; } break; case 628: /* Line 1455 of yacc.c */ -#line 5514 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5514 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_TIME; } break; case 629: /* Line 1455 of yacc.c */ -#line 5516 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5516 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (YYTHD->variables.sql_mode & MODE_MAXDB) (yyval.num)=MYSQL_TYPE_DATETIME; @@ -22053,14 +22053,14 @@ case 630: /* Line 1455 of yacc.c */ -#line 5529 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5529 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_DATETIME; } break; case 631: /* Line 1455 of yacc.c */ -#line 5531 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5531 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.num)=MYSQL_TYPE_TINY_BLOB; @@ -22070,7 +22070,7 @@ case 632: /* Line 1455 of yacc.c */ -#line 5536 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5536 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.num)=MYSQL_TYPE_BLOB; @@ -22080,7 +22080,7 @@ case 633: /* Line 1455 of yacc.c */ -#line 5541 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5541 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { #ifdef HAVE_SPATIAL Lex->charset=&my_charset_bin; @@ -22097,7 +22097,7 @@ case 634: /* Line 1455 of yacc.c */ -#line 5553 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5553 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB; @@ -22107,7 +22107,7 @@ case 635: /* Line 1455 of yacc.c */ -#line 5558 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5558 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.num)=MYSQL_TYPE_LONG_BLOB; @@ -22117,7 +22117,7 @@ case 636: /* Line 1455 of yacc.c */ -#line 5563 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5563 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB; @@ -22127,98 +22127,98 @@ case 637: /* Line 1455 of yacc.c */ -#line 5568 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5568 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB; } break; case 638: /* Line 1455 of yacc.c */ -#line 5570 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5570 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_TINY_BLOB; } break; case 639: /* Line 1455 of yacc.c */ -#line 5572 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5572 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_BLOB; } break; case 640: /* Line 1455 of yacc.c */ -#line 5574 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5574 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB; } break; case 641: /* Line 1455 of yacc.c */ -#line 5576 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5576 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_LONG_BLOB; } break; case 642: /* Line 1455 of yacc.c */ -#line 5578 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5578 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_NEWDECIMAL;} break; case 643: /* Line 1455 of yacc.c */ -#line 5580 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5580 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_NEWDECIMAL;} break; case 644: /* Line 1455 of yacc.c */ -#line 5582 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5582 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_NEWDECIMAL;} break; case 645: /* Line 1455 of yacc.c */ -#line 5584 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5584 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {Lex->interval_list.empty();} break; case 646: /* Line 1455 of yacc.c */ -#line 5586 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5586 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_ENUM; } break; case 647: /* Line 1455 of yacc.c */ -#line 5588 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5588 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->interval_list.empty();} break; case 648: /* Line 1455 of yacc.c */ -#line 5590 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5590 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_SET; } break; case 649: /* Line 1455 of yacc.c */ -#line 5592 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5592 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB; } break; case 650: /* Line 1455 of yacc.c */ -#line 5594 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5594 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_LONGLONG; Lex->type|= (AUTO_INCREMENT_FLAG | NOT_NULL_FLAG | UNSIGNED_FLAG | @@ -22229,21 +22229,21 @@ case 651: /* Line 1455 of yacc.c */ -#line 5602 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5602 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= Field::GEOM_GEOMETRY; } break; case 652: /* Line 1455 of yacc.c */ -#line 5603 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5603 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= Field::GEOM_GEOMETRYCOLLECTION; } break; case 653: /* Line 1455 of yacc.c */ -#line 5605 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5605 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->length= const_cast(STRINGIFY_ARG (MAX_LEN_GEOM_POINT_FIELD)); @@ -22254,147 +22254,147 @@ case 654: /* Line 1455 of yacc.c */ -#line 5610 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5610 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= Field::GEOM_MULTIPOINT; } break; case 655: /* Line 1455 of yacc.c */ -#line 5611 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5611 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= Field::GEOM_LINESTRING; } break; case 656: /* Line 1455 of yacc.c */ -#line 5612 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5612 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= Field::GEOM_MULTILINESTRING; } break; case 657: /* Line 1455 of yacc.c */ -#line 5613 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5613 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= Field::GEOM_POLYGON; } break; case 658: /* Line 1455 of yacc.c */ -#line 5614 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5614 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= Field::GEOM_MULTIPOLYGON; } break; case 659: /* Line 1455 of yacc.c */ -#line 5618 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5618 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 660: /* Line 1455 of yacc.c */ -#line 5622 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5622 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 661: /* Line 1455 of yacc.c */ -#line 5623 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5623 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 662: /* Line 1455 of yacc.c */ -#line 5627 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5627 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 663: /* Line 1455 of yacc.c */ -#line 5628 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5628 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 664: /* Line 1455 of yacc.c */ -#line 5632 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5632 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 665: /* Line 1455 of yacc.c */ -#line 5633 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5633 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 666: /* Line 1455 of yacc.c */ -#line 5634 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5634 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 667: /* Line 1455 of yacc.c */ -#line 5635 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5635 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 668: /* Line 1455 of yacc.c */ -#line 5636 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5636 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 669: /* Line 1455 of yacc.c */ -#line 5640 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5640 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_LONG; } break; case 670: /* Line 1455 of yacc.c */ -#line 5641 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5641 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_TINY; } break; case 671: /* Line 1455 of yacc.c */ -#line 5642 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5642 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_SHORT; } break; case 672: /* Line 1455 of yacc.c */ -#line 5643 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5643 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_INT24; } break; case 673: /* Line 1455 of yacc.c */ -#line 5644 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5644 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_LONGLONG; } break; case 674: /* Line 1455 of yacc.c */ -#line 5649 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5649 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= YYTHD->variables.sql_mode & MODE_REAL_AS_FLOAT ? MYSQL_TYPE_FLOAT : MYSQL_TYPE_DOUBLE; @@ -22404,42 +22404,42 @@ case 675: /* Line 1455 of yacc.c */ -#line 5654 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5654 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_DOUBLE; } break; case 676: /* Line 1455 of yacc.c */ -#line 5656 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5656 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_DOUBLE; } break; case 677: /* Line 1455 of yacc.c */ -#line 5661 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5661 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->dec=Lex->length= (char*)0; } break; case 678: /* Line 1455 of yacc.c */ -#line 5663 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5663 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->dec= (char*)0; } break; case 679: /* Line 1455 of yacc.c */ -#line 5665 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5665 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 680: /* Line 1455 of yacc.c */ -#line 5670 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5670 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->length=(yyvsp[(2) - (5)].lex_str).str; @@ -22450,154 +22450,154 @@ case 681: /* Line 1455 of yacc.c */ -#line 5678 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5678 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 682: /* Line 1455 of yacc.c */ -#line 5679 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5679 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 683: /* Line 1455 of yacc.c */ -#line 5683 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5683 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 684: /* Line 1455 of yacc.c */ -#line 5684 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5684 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 685: /* Line 1455 of yacc.c */ -#line 5688 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5688 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 686: /* Line 1455 of yacc.c */ -#line 5689 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5689 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type|= UNSIGNED_FLAG;} break; case 687: /* Line 1455 of yacc.c */ -#line 5690 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5690 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type|= UNSIGNED_FLAG | ZEROFILL_FLAG; } break; case 688: /* Line 1455 of yacc.c */ -#line 5694 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5694 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->length= (yyvsp[(2) - (3)].lex_str).str; } break; case 689: /* Line 1455 of yacc.c */ -#line 5695 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5695 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->length= (yyvsp[(2) - (3)].lex_str).str; } break; case 690: /* Line 1455 of yacc.c */ -#line 5696 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5696 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->length= (yyvsp[(2) - (3)].lex_str).str; } break; case 691: /* Line 1455 of yacc.c */ -#line 5697 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5697 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->length= (yyvsp[(2) - (3)].lex_str).str; } break; case 692: /* Line 1455 of yacc.c */ -#line 5700 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5700 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->length=(char*) 0; /* use default length */ } break; case 693: /* Line 1455 of yacc.c */ -#line 5701 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5701 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { } break; case 694: /* Line 1455 of yacc.c */ -#line 5705 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5705 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 695: /* Line 1455 of yacc.c */ -#line 5706 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5706 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 696: /* Line 1455 of yacc.c */ -#line 5710 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5710 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 697: /* Line 1455 of yacc.c */ -#line 5711 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5711 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 698: /* Line 1455 of yacc.c */ -#line 5715 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5715 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 700: /* Line 1455 of yacc.c */ -#line 5720 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5720 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type&= ~ NOT_NULL_FLAG; } break; case 701: /* Line 1455 of yacc.c */ -#line 5721 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5721 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type|= NOT_NULL_FLAG; } break; case 702: /* Line 1455 of yacc.c */ -#line 5722 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5722 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->default_value=(yyvsp[(2) - (2)].item); } break; case 703: /* Line 1455 of yacc.c */ -#line 5724 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5724 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Item *item= new (YYTHD->mem_root) Item_func_now_local(); if (item == NULL) @@ -22609,14 +22609,14 @@ case 704: /* Line 1455 of yacc.c */ -#line 5730 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5730 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG; } break; case 705: /* Line 1455 of yacc.c */ -#line 5732 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5732 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->type|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG | UNIQUE_FLAG; @@ -22627,7 +22627,7 @@ case 706: /* Line 1455 of yacc.c */ -#line 5738 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5738 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->type|= PRI_KEY_FLAG | NOT_NULL_FLAG; @@ -22638,7 +22638,7 @@ case 707: /* Line 1455 of yacc.c */ -#line 5744 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5744 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->type|= UNIQUE_FLAG; @@ -22649,7 +22649,7 @@ case 708: /* Line 1455 of yacc.c */ -#line 5750 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5750 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->type|= UNIQUE_KEY_FLAG; @@ -22660,14 +22660,14 @@ case 709: /* Line 1455 of yacc.c */ -#line 5755 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5755 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->comment= (yyvsp[(2) - (2)].lex_str); } break; case 710: /* Line 1455 of yacc.c */ -#line 5757 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5757 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (Lex->charset && !my_charset_same(Lex->charset,(yyvsp[(2) - (2)].charset))) { @@ -22685,7 +22685,7 @@ case 711: /* Line 1455 of yacc.c */ -#line 5774 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5774 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= (yyvsp[(1) - (2)].num); @@ -22707,7 +22707,7 @@ case 712: /* Line 1455 of yacc.c */ -#line 5795 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5795 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_now_local(); if ((yyval.item) == NULL) @@ -22718,28 +22718,28 @@ case 713: /* Line 1455 of yacc.c */ -#line 5801 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5801 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)=(yyvsp[(1) - (1)].item); } break; case 714: /* Line 1455 of yacc.c */ -#line 5805 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5805 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 715: /* Line 1455 of yacc.c */ -#line 5806 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5806 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 716: /* Line 1455 of yacc.c */ -#line 5811 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5811 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (!((yyval.charset)=get_charset_by_csname((yyvsp[(1) - (1)].lex_str).str,MY_CS_PRIMARY,MYF(0)))) { @@ -22752,42 +22752,42 @@ case 717: /* Line 1455 of yacc.c */ -#line 5818 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5818 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.charset)= &my_charset_bin; } break; case 718: /* Line 1455 of yacc.c */ -#line 5822 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5822 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.charset)=(yyvsp[(1) - (1)].charset); } break; case 719: /* Line 1455 of yacc.c */ -#line 5823 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5823 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.charset)=NULL; } break; case 720: /* Line 1455 of yacc.c */ -#line 5827 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5827 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.charset)= NULL; } break; case 721: /* Line 1455 of yacc.c */ -#line 5828 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5828 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.charset)= (yyvsp[(2) - (2)].charset); } break; case 722: /* Line 1455 of yacc.c */ -#line 5833 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5833 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (!((yyval.charset)=get_charset_by_csname((yyvsp[(1) - (1)].lex_str).str,MY_CS_PRIMARY,MYF(0))) && !((yyval.charset)=get_old_charset_by_name((yyvsp[(1) - (1)].lex_str).str))) @@ -22801,28 +22801,28 @@ case 723: /* Line 1455 of yacc.c */ -#line 5841 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5841 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.charset)= &my_charset_bin; } break; case 724: /* Line 1455 of yacc.c */ -#line 5845 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5845 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.charset)=(yyvsp[(1) - (1)].charset); } break; case 725: /* Line 1455 of yacc.c */ -#line 5846 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5846 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.charset)=NULL; } break; case 726: /* Line 1455 of yacc.c */ -#line 5851 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5851 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (!((yyval.charset)=get_charset_by_name((yyvsp[(1) - (1)].lex_str).str,MYF(0)))) { @@ -22835,56 +22835,56 @@ case 727: /* Line 1455 of yacc.c */ -#line 5861 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5861 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.charset)=NULL; } break; case 728: /* Line 1455 of yacc.c */ -#line 5862 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5862 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.charset)=(yyvsp[(2) - (2)].charset); } break; case 729: /* Line 1455 of yacc.c */ -#line 5866 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5866 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.charset)=(yyvsp[(1) - (1)].charset); } break; case 730: /* Line 1455 of yacc.c */ -#line 5867 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5867 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.charset)=NULL; } break; case 731: /* Line 1455 of yacc.c */ -#line 5871 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5871 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 732: /* Line 1455 of yacc.c */ -#line 5872 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5872 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 733: /* Line 1455 of yacc.c */ -#line 5877 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5877 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->charset= &my_charset_latin1; } break; case 734: /* Line 1455 of yacc.c */ -#line 5879 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5879 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->charset= &my_charset_latin1_bin; } @@ -22893,7 +22893,7 @@ case 735: /* Line 1455 of yacc.c */ -#line 5883 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5883 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->charset= &my_charset_latin1_bin; } @@ -22902,7 +22902,7 @@ case 736: /* Line 1455 of yacc.c */ -#line 5890 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5890 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (!(Lex->charset=get_charset_by_csname("ucs2", MY_CS_PRIMARY,MYF(0)))) @@ -22916,7 +22916,7 @@ case 737: /* Line 1455 of yacc.c */ -#line 5899 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5899 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (!(Lex->charset=get_charset_by_name("ucs2_bin", MYF(0)))) { @@ -22929,7 +22929,7 @@ case 738: /* Line 1455 of yacc.c */ -#line 5907 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5907 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (!(Lex->charset=get_charset_by_name("ucs2_bin", MYF(0)))) { @@ -22942,28 +22942,28 @@ case 739: /* Line 1455 of yacc.c */ -#line 5917 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5917 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->charset=NULL; } break; case 742: /* Line 1455 of yacc.c */ -#line 5920 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5920 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->charset=&my_charset_bin; } break; case 743: /* Line 1455 of yacc.c */ -#line 5921 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5921 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->charset=(yyvsp[(2) - (3)].charset); } break; case 744: /* Line 1455 of yacc.c */ -#line 5923 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5923 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->charset= NULL; Lex->type|= BINCMP_FLAG; @@ -22973,7 +22973,7 @@ case 745: /* Line 1455 of yacc.c */ -#line 5928 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5928 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->charset= (yyvsp[(3) - (3)].charset); Lex->type|= BINCMP_FLAG; @@ -22983,21 +22983,21 @@ case 746: /* Line 1455 of yacc.c */ -#line 5935 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5935 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { } break; case 747: /* Line 1455 of yacc.c */ -#line 5936 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5936 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type|= BINCMP_FLAG; } break; case 750: /* Line 1455 of yacc.c */ -#line 5951 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5951 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.table)=(yyvsp[(2) - (5)].table); } @@ -23006,14 +23006,14 @@ case 751: /* Line 1455 of yacc.c */ -#line 5958 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5958 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->ref_list.empty(); } break; case 753: /* Line 1455 of yacc.c */ -#line 5964 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5964 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Key_part_spec *key= new Key_part_spec((yyvsp[(3) - (3)].lex_str), 0); if (key == NULL) @@ -23025,7 +23025,7 @@ case 754: /* Line 1455 of yacc.c */ -#line 5971 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5971 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Key_part_spec *key= new Key_part_spec((yyvsp[(1) - (1)].lex_str), 0); if (key == NULL) @@ -23039,35 +23039,35 @@ case 755: /* Line 1455 of yacc.c */ -#line 5983 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5983 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->fk_match_option= Foreign_key::FK_MATCH_UNDEF; } break; case 756: /* Line 1455 of yacc.c */ -#line 5985 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5985 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->fk_match_option= Foreign_key::FK_MATCH_FULL; } break; case 757: /* Line 1455 of yacc.c */ -#line 5987 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5987 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->fk_match_option= Foreign_key::FK_MATCH_PARTIAL; } break; case 758: /* Line 1455 of yacc.c */ -#line 5989 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5989 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->fk_match_option= Foreign_key::FK_MATCH_SIMPLE; } break; case 759: /* Line 1455 of yacc.c */ -#line 5994 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 5994 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->fk_update_opt= Foreign_key::FK_OPTION_UNDEF; @@ -23078,7 +23078,7 @@ case 760: /* Line 1455 of yacc.c */ -#line 6000 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6000 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->fk_update_opt= (yyvsp[(3) - (3)].m_fk_option); @@ -23089,7 +23089,7 @@ case 761: /* Line 1455 of yacc.c */ -#line 6006 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6006 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->fk_update_opt= Foreign_key::FK_OPTION_UNDEF; @@ -23100,7 +23100,7 @@ case 762: /* Line 1455 of yacc.c */ -#line 6013 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6013 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->fk_update_opt= (yyvsp[(3) - (6)].m_fk_option); @@ -23111,7 +23111,7 @@ case 763: /* Line 1455 of yacc.c */ -#line 6020 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6020 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->fk_update_opt= (yyvsp[(6) - (6)].m_fk_option); @@ -23122,126 +23122,126 @@ case 764: /* Line 1455 of yacc.c */ -#line 6028 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6028 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.m_fk_option)= Foreign_key::FK_OPTION_RESTRICT; } break; case 765: /* Line 1455 of yacc.c */ -#line 6029 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6029 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.m_fk_option)= Foreign_key::FK_OPTION_CASCADE; } break; case 766: /* Line 1455 of yacc.c */ -#line 6030 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6030 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.m_fk_option)= Foreign_key::FK_OPTION_SET_NULL; } break; case 767: /* Line 1455 of yacc.c */ -#line 6031 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6031 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.m_fk_option)= Foreign_key::FK_OPTION_NO_ACTION; } break; case 768: /* Line 1455 of yacc.c */ -#line 6032 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6032 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.m_fk_option)= Foreign_key::FK_OPTION_DEFAULT; } break; case 769: /* Line 1455 of yacc.c */ -#line 6036 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6036 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.key_type)= Key::MULTIPLE; } break; case 770: /* Line 1455 of yacc.c */ -#line 6040 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6040 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.key_type)= Key::PRIMARY; } break; case 771: /* Line 1455 of yacc.c */ -#line 6041 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6041 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.key_type)= Key::UNIQUE; } break; case 772: /* Line 1455 of yacc.c */ -#line 6045 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6045 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 773: /* Line 1455 of yacc.c */ -#line 6046 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6046 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 774: /* Line 1455 of yacc.c */ -#line 6050 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6050 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 776: /* Line 1455 of yacc.c */ -#line 6055 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6055 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 777: /* Line 1455 of yacc.c */ -#line 6056 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6056 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 778: /* Line 1455 of yacc.c */ -#line 6057 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6057 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 779: /* Line 1455 of yacc.c */ -#line 6061 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6061 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.key_type)= Key::MULTIPLE; } break; case 780: /* Line 1455 of yacc.c */ -#line 6062 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6062 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.key_type)= Key::UNIQUE; } break; case 781: /* Line 1455 of yacc.c */ -#line 6066 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6066 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.key_type)= Key::FULLTEXT;} break; case 782: /* Line 1455 of yacc.c */ -#line 6071 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6071 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { #ifdef HAVE_SPATIAL (yyval.key_type)= Key::SPATIAL; @@ -23256,7 +23256,7 @@ case 783: /* Line 1455 of yacc.c */ -#line 6083 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6083 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->key_create_info= default_key_create_info; } @@ -23265,56 +23265,56 @@ case 786: /* Line 1455 of yacc.c */ -#line 6100 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6100 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 788: /* Line 1455 of yacc.c */ -#line 6105 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6105 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 790: /* Line 1455 of yacc.c */ -#line 6110 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6110 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 798: /* Line 1455 of yacc.c */ -#line 6130 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6130 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->key_create_info.algorithm= (yyvsp[(2) - (2)].key_alg); } break; case 799: /* Line 1455 of yacc.c */ -#line 6131 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6131 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->key_create_info.algorithm= (yyvsp[(2) - (2)].key_alg); } break; case 800: /* Line 1455 of yacc.c */ -#line 6136 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6136 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->key_create_info.block_size= (yyvsp[(3) - (3)].ulong_num); } break; case 801: /* Line 1455 of yacc.c */ -#line 6137 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6137 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->key_create_info.comment= (yyvsp[(2) - (2)].lex_str); } break; case 806: /* Line 1455 of yacc.c */ -#line 6152 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6152 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (plugin_is_ready(&(yyvsp[(3) - (3)].lex_str), MYSQL_FTPARSER_PLUGIN)) Lex->key_create_info.parser_name= (yyvsp[(3) - (3)].lex_str); @@ -23329,42 +23329,42 @@ case 807: /* Line 1455 of yacc.c */ -#line 6164 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6164 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.key_alg)= HA_KEY_ALG_BTREE; } break; case 808: /* Line 1455 of yacc.c */ -#line 6165 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6165 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.key_alg)= HA_KEY_ALG_RTREE; } break; case 809: /* Line 1455 of yacc.c */ -#line 6166 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6166 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.key_alg)= HA_KEY_ALG_HASH; } break; case 810: /* Line 1455 of yacc.c */ -#line 6170 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6170 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->col_list.push_back((yyvsp[(3) - (4)].key_part)); } break; case 811: /* Line 1455 of yacc.c */ -#line 6171 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6171 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->col_list.push_back((yyvsp[(1) - (2)].key_part)); } break; case 812: /* Line 1455 of yacc.c */ -#line 6176 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6176 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.key_part)= new Key_part_spec((yyvsp[(1) - (1)].lex_str), 0); if ((yyval.key_part) == NULL) @@ -23375,7 +23375,7 @@ case 813: /* Line 1455 of yacc.c */ -#line 6182 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6182 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { int key_part_len= atoi((yyvsp[(3) - (4)].lex_str).str); if (!key_part_len) @@ -23391,49 +23391,49 @@ case 814: /* Line 1455 of yacc.c */ -#line 6195 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6195 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str)= null_lex_str; } break; case 815: /* Line 1455 of yacc.c */ -#line 6196 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6196 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); } break; case 816: /* Line 1455 of yacc.c */ -#line 6200 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6200 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str)= null_lex_str; } break; case 817: /* Line 1455 of yacc.c */ -#line 6201 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6201 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[(2) - (2)].lex_str); } break; case 818: /* Line 1455 of yacc.c */ -#line 6205 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6205 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->interval_list.push_back((yyvsp[(1) - (1)].string)); } break; case 819: /* Line 1455 of yacc.c */ -#line 6206 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6206 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->interval_list.push_back((yyvsp[(3) - (3)].string)); } break; case 820: /* Line 1455 of yacc.c */ -#line 6214 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6214 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -23464,7 +23464,7 @@ case 821: /* Line 1455 of yacc.c */ -#line 6240 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6240 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -23481,7 +23481,7 @@ case 822: /* Line 1455 of yacc.c */ -#line 6252 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6252 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_info.default_table_charset= NULL; Lex->create_info.used_fields= 0; @@ -23491,7 +23491,7 @@ case 823: /* Line 1455 of yacc.c */ -#line 6257 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6257 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command=SQLCOM_ALTER_DB; @@ -23505,7 +23505,7 @@ case 824: /* Line 1455 of yacc.c */ -#line 6266 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6266 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->sphead) @@ -23521,7 +23521,7 @@ case 825: /* Line 1455 of yacc.c */ -#line 6277 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6277 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; @@ -23537,7 +23537,7 @@ case 826: /* Line 1455 of yacc.c */ -#line 6288 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6288 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; @@ -23549,7 +23549,7 @@ case 827: /* Line 1455 of yacc.c */ -#line 6295 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6295 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; @@ -23565,7 +23565,7 @@ case 828: /* Line 1455 of yacc.c */ -#line 6306 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6306 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; @@ -23577,7 +23577,7 @@ case 829: /* Line 1455 of yacc.c */ -#line 6313 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6313 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; @@ -23593,14 +23593,14 @@ case 830: /* Line 1455 of yacc.c */ -#line 6324 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6324 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 831: /* Line 1455 of yacc.c */ -#line 6331 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6331 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; @@ -23617,14 +23617,14 @@ case 832: /* Line 1455 of yacc.c */ -#line 6343 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6343 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 833: /* Line 1455 of yacc.c */ -#line 6345 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6345 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* It is safe to use Lex->spname because @@ -23645,7 +23645,7 @@ case 834: /* Line 1455 of yacc.c */ -#line 6365 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6365 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (!((yyvsp[(6) - (10)].num) || (yyvsp[(7) - (10)].num) || (yyvsp[(8) - (10)].num) || (yyvsp[(9) - (10)].num) || (yyvsp[(10) - (10)].num))) { @@ -23663,7 +23663,7 @@ case 835: /* Line 1455 of yacc.c */ -#line 6378 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6378 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_cmd_type= ALTER_TABLESPACE; @@ -23673,7 +23673,7 @@ case 836: /* Line 1455 of yacc.c */ -#line 6383 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6383 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_cmd_type= ALTER_LOGFILE_GROUP; @@ -23683,7 +23683,7 @@ case 837: /* Line 1455 of yacc.c */ -#line 6388 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6388 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_cmd_type= CHANGE_FILE_TABLESPACE; @@ -23693,7 +23693,7 @@ case 838: /* Line 1455 of yacc.c */ -#line 6393 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6393 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_cmd_type= ALTER_ACCESS_MODE_TABLESPACE; @@ -23703,7 +23703,7 @@ case 839: /* Line 1455 of yacc.c */ -#line 6398 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6398 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_ALTER_SERVER; @@ -23715,42 +23715,42 @@ case 840: /* Line 1455 of yacc.c */ -#line 6407 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6407 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= 0;} break; case 841: /* Line 1455 of yacc.c */ -#line 6408 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6408 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= 1; } break; case 842: /* Line 1455 of yacc.c */ -#line 6409 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6409 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= 1; } break; case 843: /* Line 1455 of yacc.c */ -#line 6410 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6410 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= 1; } break; case 844: /* Line 1455 of yacc.c */ -#line 6414 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6414 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= 0;} break; case 845: /* Line 1455 of yacc.c */ -#line 6416 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6416 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* Use lex's spname to hold the new name. @@ -23764,49 +23764,49 @@ case 846: /* Line 1455 of yacc.c */ -#line 6427 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6427 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= 0;} break; case 847: /* Line 1455 of yacc.c */ -#line 6428 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6428 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= 1; } break; case 848: /* Line 1455 of yacc.c */ -#line 6432 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6432 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str).str= 0; (yyval.lex_str).length= 0; } break; case 849: /* Line 1455 of yacc.c */ -#line 6433 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6433 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); } break; case 851: /* Line 1455 of yacc.c */ -#line 6438 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6438 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->alter_info.tablespace_op= DISCARD_TABLESPACE; } break; case 852: /* Line 1455 of yacc.c */ -#line 6439 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6439 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->alter_info.tablespace_op= IMPORT_TABLESPACE; } break; case 858: /* Line 1455 of yacc.c */ -#line 6456 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6456 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_DROP_PARTITION; } @@ -23815,7 +23815,7 @@ case 859: /* Line 1455 of yacc.c */ -#line 6461 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6461 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_info.flags|= ALTER_REBUILD_PARTITION; @@ -23826,7 +23826,7 @@ case 860: /* Line 1455 of yacc.c */ -#line 6468 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6468 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -23843,7 +23843,7 @@ case 862: /* Line 1455 of yacc.c */ -#line 6482 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6482 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -23860,7 +23860,7 @@ case 863: /* Line 1455 of yacc.c */ -#line 6494 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6494 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -23876,7 +23876,7 @@ case 865: /* Line 1455 of yacc.c */ -#line 6507 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6507 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -23893,7 +23893,7 @@ case 867: /* Line 1455 of yacc.c */ -#line 6520 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6520 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_info.flags|= ALTER_COALESCE_PARTITION; @@ -23905,7 +23905,7 @@ case 868: /* Line 1455 of yacc.c */ -#line 6527 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6527 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -23921,7 +23921,7 @@ case 870: /* Line 1455 of yacc.c */ -#line 6542 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6542 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_REMOVE_PARTITIONING; } @@ -23930,7 +23930,7 @@ case 871: /* Line 1455 of yacc.c */ -#line 6549 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6549 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_ALL_PARTITION; } @@ -23939,7 +23939,7 @@ case 873: /* Line 1455 of yacc.c */ -#line 6557 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6557 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->part_info= new partition_info(); @@ -23956,14 +23956,14 @@ case 874: /* Line 1455 of yacc.c */ -#line 6569 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6569 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 876: /* Line 1455 of yacc.c */ -#line 6575 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6575 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->part_info->num_parts= lex->part_info->partitions.elements; @@ -23973,7 +23973,7 @@ case 877: /* Line 1455 of yacc.c */ -#line 6580 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6580 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->part_info->num_parts= (yyvsp[(2) - (2)].ulong_num); } @@ -23982,7 +23982,7 @@ case 878: /* Line 1455 of yacc.c */ -#line 6587 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6587 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->part_info= new partition_info(); @@ -23998,7 +23998,7 @@ case 880: /* Line 1455 of yacc.c */ -#line 6602 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6602 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_TABLE_REORG; } @@ -24007,7 +24007,7 @@ case 881: /* Line 1455 of yacc.c */ -#line 6606 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6606 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_REORGANIZE_PARTITION; } @@ -24016,7 +24016,7 @@ case 882: /* Line 1455 of yacc.c */ -#line 6610 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6610 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; part_info->num_parts= part_info->partitions.elements; @@ -24026,21 +24026,21 @@ case 883: /* Line 1455 of yacc.c */ -#line 6617 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6617 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 884: /* Line 1455 of yacc.c */ -#line 6618 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6618 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 885: /* Line 1455 of yacc.c */ -#line 6623 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6623 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (Lex->alter_info.partition_names.push_back((yyvsp[(1) - (1)].lex_str).str)) { @@ -24053,7 +24053,7 @@ case 888: /* Line 1455 of yacc.c */ -#line 6643 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6643 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->change=0; @@ -24064,7 +24064,7 @@ case 889: /* Line 1455 of yacc.c */ -#line 6652 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6652 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_last_non_select_table= Lex->last_table(); } @@ -24073,7 +24073,7 @@ case 890: /* Line 1455 of yacc.c */ -#line 6656 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6656 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_last_non_select_table= Lex->last_table(); Lex->alter_info.flags|= ALTER_ADD_INDEX; @@ -24083,7 +24083,7 @@ case 891: /* Line 1455 of yacc.c */ -#line 6661 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6661 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_ADD_COLUMN | ALTER_ADD_INDEX; } @@ -24092,7 +24092,7 @@ case 892: /* Line 1455 of yacc.c */ -#line 6665 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6665 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->change= (yyvsp[(3) - (3)].lex_str).str; @@ -24103,7 +24103,7 @@ case 893: /* Line 1455 of yacc.c */ -#line 6671 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6671 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_last_non_select_table= Lex->last_table(); } @@ -24112,7 +24112,7 @@ case 894: /* Line 1455 of yacc.c */ -#line 6675 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6675 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->length=lex->dec=0; lex->type=0; @@ -24126,7 +24126,7 @@ case 895: /* Line 1455 of yacc.c */ -#line 6684 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6684 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (add_field_to_list(lex->thd,&(yyvsp[(3) - (6)].lex_str), @@ -24143,7 +24143,7 @@ case 896: /* Line 1455 of yacc.c */ -#line 6696 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6696 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_last_non_select_table= Lex->last_table(); } @@ -24152,7 +24152,7 @@ case 897: /* Line 1455 of yacc.c */ -#line 6700 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6700 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; Alter_drop *ad= new Alter_drop(Alter_drop::COLUMN, (yyvsp[(3) - (4)].lex_str).str); @@ -24166,7 +24166,7 @@ case 898: /* Line 1455 of yacc.c */ -#line 6709 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6709 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_DROP_INDEX | ALTER_FOREIGN_KEY; } @@ -24175,7 +24175,7 @@ case 899: /* Line 1455 of yacc.c */ -#line 6713 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6713 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; Alter_drop *ad= new Alter_drop(Alter_drop::KEY, primary_key_name); @@ -24189,7 +24189,7 @@ case 900: /* Line 1455 of yacc.c */ -#line 6722 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6722 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; Alter_drop *ad= new Alter_drop(Alter_drop::KEY, (yyvsp[(3) - (3)].lex_str).str); @@ -24203,7 +24203,7 @@ case 901: /* Line 1455 of yacc.c */ -#line 6731 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6731 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->alter_info.keys_onoff= DISABLE; @@ -24214,7 +24214,7 @@ case 902: /* Line 1455 of yacc.c */ -#line 6737 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6737 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->alter_info.keys_onoff= ENABLE; @@ -24225,7 +24225,7 @@ case 903: /* Line 1455 of yacc.c */ -#line 6743 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6743 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; Alter_column *ac= new Alter_column((yyvsp[(3) - (6)].lex_str).str,(yyvsp[(6) - (6)].item)); @@ -24239,7 +24239,7 @@ case 904: /* Line 1455 of yacc.c */ -#line 6752 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6752 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; Alter_column *ac= new Alter_column((yyvsp[(3) - (5)].lex_str).str, (Item*) 0); @@ -24253,7 +24253,7 @@ case 905: /* Line 1455 of yacc.c */ -#line 6761 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6761 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; size_t dummy; @@ -24277,7 +24277,7 @@ case 906: /* Line 1455 of yacc.c */ -#line 6780 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6780 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (!(yyvsp[(4) - (5)].charset)) { @@ -24303,7 +24303,7 @@ case 907: /* Line 1455 of yacc.c */ -#line 6801 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6801 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->alter_info.flags|= ALTER_OPTIONS; @@ -24318,7 +24318,7 @@ case 908: /* Line 1455 of yacc.c */ -#line 6811 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6811 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_RECREATE; } @@ -24327,7 +24327,7 @@ case 909: /* Line 1455 of yacc.c */ -#line 6815 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6815 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->alter_info.flags|= ALTER_ORDER; @@ -24337,105 +24337,105 @@ case 910: /* Line 1455 of yacc.c */ -#line 6822 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6822 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 911: /* Line 1455 of yacc.c */ -#line 6823 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6823 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 912: /* Line 1455 of yacc.c */ -#line 6827 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6827 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->ignore= 0;} break; case 913: /* Line 1455 of yacc.c */ -#line 6828 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6828 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->ignore= 1;} break; case 914: /* Line 1455 of yacc.c */ -#line 6832 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6832 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->drop_mode= DROP_DEFAULT; } break; case 915: /* Line 1455 of yacc.c */ -#line 6833 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6833 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->drop_mode= DROP_RESTRICT; } break; case 916: /* Line 1455 of yacc.c */ -#line 6834 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6834 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->drop_mode= DROP_CASCADE; } break; case 917: /* Line 1455 of yacc.c */ -#line 6838 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6838 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 918: /* Line 1455 of yacc.c */ -#line 6839 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6839 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { store_position_for_column((yyvsp[(2) - (2)].lex_str).str); } break; case 919: /* Line 1455 of yacc.c */ -#line 6840 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6840 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { store_position_for_column(first_keyword); } break; case 920: /* Line 1455 of yacc.c */ -#line 6844 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6844 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 921: /* Line 1455 of yacc.c */ -#line 6845 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6845 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 922: /* Line 1455 of yacc.c */ -#line 6846 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6846 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 923: /* Line 1455 of yacc.c */ -#line 6847 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6847 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 924: /* Line 1455 of yacc.c */ -#line 6856 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6856 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_SLAVE_START; @@ -24449,14 +24449,14 @@ case 925: /* Line 1455 of yacc.c */ -#line 6865 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6865 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 926: /* Line 1455 of yacc.c */ -#line 6867 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6867 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_SLAVE_STOP; @@ -24468,7 +24468,7 @@ case 927: /* Line 1455 of yacc.c */ -#line 6874 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6874 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_SLAVE_START; @@ -24481,14 +24481,14 @@ case 928: /* Line 1455 of yacc.c */ -#line 6882 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6882 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 929: /* Line 1455 of yacc.c */ -#line 6884 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6884 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_SLAVE_STOP; @@ -24499,7 +24499,7 @@ case 930: /* Line 1455 of yacc.c */ -#line 6893 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6893 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_BEGIN; @@ -24510,14 +24510,14 @@ case 931: /* Line 1455 of yacc.c */ -#line 6901 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6901 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num) = 0; } break; case 932: /* Line 1455 of yacc.c */ -#line 6903 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6903 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= MYSQL_START_TRANS_OPT_WITH_CONS_SNAPSHOT; } @@ -24526,49 +24526,49 @@ case 933: /* Line 1455 of yacc.c */ -#line 6909 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6909 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->slave_thd_opt= 0; } break; case 934: /* Line 1455 of yacc.c */ -#line 6911 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6911 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 937: /* Line 1455 of yacc.c */ -#line 6920 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6920 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 938: /* Line 1455 of yacc.c */ -#line 6921 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6921 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->slave_thd_opt|=SLAVE_SQL; } break; case 939: /* Line 1455 of yacc.c */ -#line 6922 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6922 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->slave_thd_opt|=SLAVE_IO; } break; case 940: /* Line 1455 of yacc.c */ -#line 6926 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6926 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 941: /* Line 1455 of yacc.c */ -#line 6928 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6928 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (((lex->mi.log_file_name || lex->mi.pos) && @@ -24586,7 +24586,7 @@ case 944: /* Line 1455 of yacc.c */ -#line 6949 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6949 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_CHECKSUM; @@ -24598,35 +24598,35 @@ case 945: /* Line 1455 of yacc.c */ -#line 6956 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6956 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 946: /* Line 1455 of yacc.c */ -#line 6960 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6960 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->check_opt.flags= 0; } break; case 947: /* Line 1455 of yacc.c */ -#line 6961 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6961 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->check_opt.flags= T_QUICK; } break; case 948: /* Line 1455 of yacc.c */ -#line 6962 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6962 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->check_opt.flags= T_EXTEND; } break; case 949: /* Line 1455 of yacc.c */ -#line 6967 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6967 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_REPAIR; @@ -24641,7 +24641,7 @@ case 950: /* Line 1455 of yacc.c */ -#line 6977 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6977 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX* lex= thd->lex; @@ -24655,56 +24655,56 @@ case 951: /* Line 1455 of yacc.c */ -#line 6988 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6988 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->check_opt.flags = T_MEDIUM; } break; case 952: /* Line 1455 of yacc.c */ -#line 6989 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6989 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 953: /* Line 1455 of yacc.c */ -#line 6993 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6993 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 954: /* Line 1455 of yacc.c */ -#line 6994 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6994 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 955: /* Line 1455 of yacc.c */ -#line 6998 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6998 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_QUICK; } break; case 956: /* Line 1455 of yacc.c */ -#line 6999 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 6999 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_EXTEND; } break; case 957: /* Line 1455 of yacc.c */ -#line 7000 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7000 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->check_opt.sql_flags|= TT_USEFRM; } break; case 958: /* Line 1455 of yacc.c */ -#line 7005 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7005 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_ANALYZE; @@ -24719,7 +24719,7 @@ case 959: /* Line 1455 of yacc.c */ -#line 7015 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7015 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX* lex= thd->lex; @@ -24733,7 +24733,7 @@ case 960: /* Line 1455 of yacc.c */ -#line 7027 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7027 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_BINLOG_BASE64_EVENT; Lex->comment= (yyvsp[(2) - (2)].lex_str); @@ -24743,7 +24743,7 @@ case 961: /* Line 1455 of yacc.c */ -#line 7035 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7035 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; @@ -24763,7 +24763,7 @@ case 962: /* Line 1455 of yacc.c */ -#line 7050 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7050 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX* lex= thd->lex; @@ -24777,77 +24777,77 @@ case 963: /* Line 1455 of yacc.c */ -#line 7061 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7061 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->check_opt.flags = T_MEDIUM; } break; case 964: /* Line 1455 of yacc.c */ -#line 7062 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7062 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 965: /* Line 1455 of yacc.c */ -#line 7066 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7066 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 966: /* Line 1455 of yacc.c */ -#line 7067 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7067 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 967: /* Line 1455 of yacc.c */ -#line 7071 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7071 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_QUICK; } break; case 968: /* Line 1455 of yacc.c */ -#line 7072 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7072 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_FAST; } break; case 969: /* Line 1455 of yacc.c */ -#line 7073 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7073 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_MEDIUM; } break; case 970: /* Line 1455 of yacc.c */ -#line 7074 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7074 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_EXTEND; } break; case 971: /* Line 1455 of yacc.c */ -#line 7075 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7075 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_CHECK_ONLY_CHANGED; } break; case 972: /* Line 1455 of yacc.c */ -#line 7076 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7076 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->check_opt.sql_flags|= TT_FOR_UPGRADE; } break; case 973: /* Line 1455 of yacc.c */ -#line 7081 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7081 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_OPTIMIZE; @@ -24862,7 +24862,7 @@ case 974: /* Line 1455 of yacc.c */ -#line 7091 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7091 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX* lex= thd->lex; @@ -24876,28 +24876,28 @@ case 975: /* Line 1455 of yacc.c */ -#line 7102 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7102 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= 0; } break; case 976: /* Line 1455 of yacc.c */ -#line 7103 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7103 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= 1; } break; case 977: /* Line 1455 of yacc.c */ -#line 7104 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7104 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= 1; } break; case 978: /* Line 1455 of yacc.c */ -#line 7109 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7109 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_RENAME_TABLE; } @@ -24906,14 +24906,14 @@ case 979: /* Line 1455 of yacc.c */ -#line 7113 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7113 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 980: /* Line 1455 of yacc.c */ -#line 7115 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7115 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_RENAME_USER; } @@ -24922,7 +24922,7 @@ case 981: /* Line 1455 of yacc.c */ -#line 7122 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7122 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (Lex->users_list.push_back((yyvsp[(1) - (3)].lex_user)) || Lex->users_list.push_back((yyvsp[(3) - (3)].lex_user))) MYSQL_YYABORT; @@ -24932,7 +24932,7 @@ case 982: /* Line 1455 of yacc.c */ -#line 7127 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7127 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (Lex->users_list.push_back((yyvsp[(3) - (5)].lex_user)) || Lex->users_list.push_back((yyvsp[(5) - (5)].lex_user))) MYSQL_YYABORT; @@ -24942,7 +24942,7 @@ case 985: /* Line 1455 of yacc.c */ -#line 7140 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7140 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; SELECT_LEX *sl= lex->current_select; @@ -24957,7 +24957,7 @@ case 986: /* Line 1455 of yacc.c */ -#line 7153 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7153 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->alter_info.reset(); } @@ -24966,7 +24966,7 @@ case 987: /* Line 1455 of yacc.c */ -#line 7157 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7157 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_ASSIGN_TO_KEYCACHE; @@ -24977,7 +24977,7 @@ case 992: /* Line 1455 of yacc.c */ -#line 7176 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7176 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (!Select->add_table_to_list(YYTHD, (yyvsp[(1) - (2)].table), NULL, 0, TL_READ, MDL_SHARED_READ, @@ -24989,7 +24989,7 @@ case 993: /* Line 1455 of yacc.c */ -#line 7186 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7186 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (!Select->add_table_to_list(YYTHD, (yyvsp[(1) - (3)].table), NULL, 0, TL_READ, MDL_SHARED_READ, @@ -25001,21 +25001,21 @@ case 994: /* Line 1455 of yacc.c */ -#line 7195 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7195 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); } break; case 995: /* Line 1455 of yacc.c */ -#line 7196 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7196 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str) = default_key_cache_base; } break; case 996: /* Line 1455 of yacc.c */ -#line 7201 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7201 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command=SQLCOM_PRELOAD_KEYS; @@ -25026,14 +25026,14 @@ case 997: /* Line 1455 of yacc.c */ -#line 7207 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7207 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1002: /* Line 1455 of yacc.c */ -#line 7222 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7222 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (!Select->add_table_to_list(YYTHD, (yyvsp[(1) - (3)].table), NULL, (yyvsp[(3) - (3)].num), TL_READ, MDL_SHARED_READ, @@ -25045,7 +25045,7 @@ case 1003: /* Line 1455 of yacc.c */ -#line 7232 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7232 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (!Select->add_table_to_list(YYTHD, (yyvsp[(1) - (4)].table), NULL, (yyvsp[(4) - (4)].num), TL_READ, MDL_SHARED_READ, @@ -25057,7 +25057,7 @@ case 1004: /* Line 1455 of yacc.c */ -#line 7242 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7242 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_ADMIN_PARTITION; } @@ -25066,7 +25066,7 @@ case 1006: /* Line 1455 of yacc.c */ -#line 7249 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7249 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->select_lex.alloc_index_hints(YYTHD); Select->set_index_hint_type(INDEX_HINT_USE, @@ -25079,28 +25079,28 @@ case 1008: /* Line 1455 of yacc.c */ -#line 7260 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7260 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { } break; case 1010: /* Line 1455 of yacc.c */ -#line 7266 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7266 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= 0; } break; case 1011: /* Line 1455 of yacc.c */ -#line 7267 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7267 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= TL_OPTION_IGNORE_LEAVES; } break; case 1012: /* Line 1455 of yacc.c */ -#line 7277 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7277 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SELECT; @@ -25110,7 +25110,7 @@ case 1015: /* Line 1455 of yacc.c */ -#line 7291 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7291 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (setup_select_in_parentheses(Lex)) MYSQL_YYABORT; @@ -25120,7 +25120,7 @@ case 1017: /* Line 1455 of yacc.c */ -#line 7301 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7301 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (setup_select_in_parentheses(Lex)) MYSQL_YYABORT; @@ -25130,7 +25130,7 @@ case 1019: /* Line 1455 of yacc.c */ -#line 7310 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7310 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; SELECT_LEX * sel= lex->current_select; @@ -25151,7 +25151,7 @@ case 1021: /* Line 1455 of yacc.c */ -#line 7329 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7329 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; SELECT_LEX *sel= lex->current_select; @@ -25164,7 +25164,7 @@ case 1022: /* Line 1455 of yacc.c */ -#line 7337 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7337 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->parsing_place= NO_MATTER; } @@ -25173,14 +25173,14 @@ case 1024: /* Line 1455 of yacc.c */ -#line 7344 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7344 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1029: /* Line 1455 of yacc.c */ -#line 7354 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7354 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->context.table_list= Select->context.first_name_resolution_table= @@ -25191,7 +25191,7 @@ case 1032: /* Line 1455 of yacc.c */ -#line 7369 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7369 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (Select->options & SELECT_DISTINCT && Select->options & SELECT_ALL) { @@ -25204,7 +25204,7 @@ case 1036: /* Line 1455 of yacc.c */ -#line 7386 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7386 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* Allow this flag only on the first top-level SELECT statement, if @@ -25237,7 +25237,7 @@ case 1037: /* Line 1455 of yacc.c */ -#line 7414 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7414 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* Allow this flag only on the first top-level SELECT statement, if @@ -25270,7 +25270,7 @@ case 1039: /* Line 1455 of yacc.c */ -#line 7446 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7446 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->current_select->set_lock_for_tables(TL_WRITE); @@ -25281,7 +25281,7 @@ case 1040: /* Line 1455 of yacc.c */ -#line 7452 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7452 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->current_select-> @@ -25293,7 +25293,7 @@ case 1043: /* Line 1455 of yacc.c */ -#line 7464 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7464 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; Item *item= new (thd->mem_root) @@ -25310,7 +25310,7 @@ case 1044: /* Line 1455 of yacc.c */ -#line 7479 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7479 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; @@ -25322,7 +25322,7 @@ case 1045: /* Line 1455 of yacc.c */ -#line 7486 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7486 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; DBUG_ASSERT((yyvsp[(1) - (4)].simple_string) < (yyvsp[(3) - (4)].simple_string)); @@ -25350,7 +25350,7 @@ case 1046: /* Line 1455 of yacc.c */ -#line 7511 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7511 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.simple_string)= (char*) YYLIP->get_cpp_tok_start(); } @@ -25359,7 +25359,7 @@ case 1047: /* Line 1455 of yacc.c */ -#line 7517 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7517 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.simple_string)= (char*) YYLIP->get_cpp_tok_end(); } @@ -25368,56 +25368,56 @@ case 1048: /* Line 1455 of yacc.c */ -#line 7523 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7523 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str)=null_lex_str;} break; case 1049: /* Line 1455 of yacc.c */ -#line 7524 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7524 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[(2) - (2)].lex_str); } break; case 1050: /* Line 1455 of yacc.c */ -#line 7525 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7525 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[(2) - (2)].lex_str); } break; case 1051: /* Line 1455 of yacc.c */ -#line 7526 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7526 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str); } break; case 1052: /* Line 1455 of yacc.c */ -#line 7527 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7527 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str); } break; case 1053: /* Line 1455 of yacc.c */ -#line 7531 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7531 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1054: /* Line 1455 of yacc.c */ -#line 7532 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7532 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1055: /* Line 1455 of yacc.c */ -#line 7538 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7538 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* Design notes: @@ -25473,7 +25473,7 @@ case 1056: /* Line 1455 of yacc.c */ -#line 7589 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7589 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* XOR is a proprietary extension */ (yyval.item) = new (YYTHD->mem_root) Item_cond_xor((yyvsp[(1) - (3)].item), (yyvsp[(3) - (3)].item)); @@ -25485,7 +25485,7 @@ case 1057: /* Line 1455 of yacc.c */ -#line 7596 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7596 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* See comments in rule expr: expr or expr */ Item_cond_and *item1; @@ -25533,7 +25533,7 @@ case 1058: /* Line 1455 of yacc.c */ -#line 7639 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7639 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= negate_expression(YYTHD, (yyvsp[(2) - (2)].item)); if ((yyval.item) == NULL) @@ -25544,7 +25544,7 @@ case 1059: /* Line 1455 of yacc.c */ -#line 7645 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7645 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_istrue((yyvsp[(1) - (3)].item)); if ((yyval.item) == NULL) @@ -25555,7 +25555,7 @@ case 1060: /* Line 1455 of yacc.c */ -#line 7651 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7651 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_isnottrue((yyvsp[(1) - (4)].item)); if ((yyval.item) == NULL) @@ -25566,7 +25566,7 @@ case 1061: /* Line 1455 of yacc.c */ -#line 7657 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7657 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_isfalse((yyvsp[(1) - (3)].item)); if ((yyval.item) == NULL) @@ -25577,7 +25577,7 @@ case 1062: /* Line 1455 of yacc.c */ -#line 7663 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7663 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_isnotfalse((yyvsp[(1) - (4)].item)); if ((yyval.item) == NULL) @@ -25588,7 +25588,7 @@ case 1063: /* Line 1455 of yacc.c */ -#line 7669 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7669 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_isnull((yyvsp[(1) - (3)].item)); if ((yyval.item) == NULL) @@ -25599,7 +25599,7 @@ case 1064: /* Line 1455 of yacc.c */ -#line 7675 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7675 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_isnotnull((yyvsp[(1) - (4)].item)); if ((yyval.item) == NULL) @@ -25610,7 +25610,7 @@ case 1066: /* Line 1455 of yacc.c */ -#line 7685 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7685 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_isnull((yyvsp[(1) - (3)].item)); if ((yyval.item) == NULL) @@ -25621,7 +25621,7 @@ case 1067: /* Line 1455 of yacc.c */ -#line 7691 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7691 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_isnotnull((yyvsp[(1) - (4)].item)); if ((yyval.item) == NULL) @@ -25632,7 +25632,7 @@ case 1068: /* Line 1455 of yacc.c */ -#line 7697 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7697 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_equal((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) @@ -25643,7 +25643,7 @@ case 1069: /* Line 1455 of yacc.c */ -#line 7703 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7703 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= (*(yyvsp[(2) - (3)].boolfunc2creator))(0)->create((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) @@ -25654,7 +25654,7 @@ case 1070: /* Line 1455 of yacc.c */ -#line 7709 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7709 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= all_any_subquery_creator((yyvsp[(1) - (6)].item), (yyvsp[(2) - (6)].boolfunc2creator), (yyvsp[(3) - (6)].num), (yyvsp[(5) - (6)].select_lex)); if ((yyval.item) == NULL) @@ -25665,7 +25665,7 @@ case 1072: /* Line 1455 of yacc.c */ -#line 7719 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7719 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_in_subselect((yyvsp[(1) - (5)].item), (yyvsp[(4) - (5)].select_lex)); if ((yyval.item) == NULL) @@ -25676,7 +25676,7 @@ case 1073: /* Line 1455 of yacc.c */ -#line 7725 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7725 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; Item *item= new (thd->mem_root) Item_in_subselect((yyvsp[(1) - (6)].item), (yyvsp[(5) - (6)].select_lex)); @@ -25691,7 +25691,7 @@ case 1074: /* Line 1455 of yacc.c */ -#line 7735 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7735 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= handle_sql2003_note184_exception(YYTHD, (yyvsp[(1) - (5)].item), true, (yyvsp[(4) - (5)].item)); if ((yyval.item) == NULL) @@ -25702,7 +25702,7 @@ case 1075: /* Line 1455 of yacc.c */ -#line 7741 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7741 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyvsp[(6) - (7)].item_list)->push_front((yyvsp[(4) - (7)].item)); (yyvsp[(6) - (7)].item_list)->push_front((yyvsp[(1) - (7)].item)); @@ -25715,7 +25715,7 @@ case 1076: /* Line 1455 of yacc.c */ -#line 7749 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7749 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= handle_sql2003_note184_exception(YYTHD, (yyvsp[(1) - (6)].item), false, (yyvsp[(5) - (6)].item)); if ((yyval.item) == NULL) @@ -25726,7 +25726,7 @@ case 1077: /* Line 1455 of yacc.c */ -#line 7755 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7755 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyvsp[(7) - (8)].item_list)->push_front((yyvsp[(5) - (8)].item)); (yyvsp[(7) - (8)].item_list)->push_front((yyvsp[(1) - (8)].item)); @@ -25741,7 +25741,7 @@ case 1078: /* Line 1455 of yacc.c */ -#line 7765 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7765 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_between((yyvsp[(1) - (5)].item),(yyvsp[(3) - (5)].item),(yyvsp[(5) - (5)].item)); if ((yyval.item) == NULL) @@ -25752,7 +25752,7 @@ case 1079: /* Line 1455 of yacc.c */ -#line 7771 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7771 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Item_func_between *item; item= new (YYTHD->mem_root) Item_func_between((yyvsp[(1) - (6)].item),(yyvsp[(4) - (6)].item),(yyvsp[(6) - (6)].item)); @@ -25766,7 +25766,7 @@ case 1080: /* Line 1455 of yacc.c */ -#line 7780 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7780 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Item *item1= new (YYTHD->mem_root) Item_func_soundex((yyvsp[(1) - (4)].item)); Item *item4= new (YYTHD->mem_root) Item_func_soundex((yyvsp[(4) - (4)].item)); @@ -25781,7 +25781,7 @@ case 1081: /* Line 1455 of yacc.c */ -#line 7790 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7790 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_like((yyvsp[(1) - (4)].item),(yyvsp[(3) - (4)].item),(yyvsp[(4) - (4)].item),Lex->escape_used); if ((yyval.item) == NULL) @@ -25792,7 +25792,7 @@ case 1082: /* Line 1455 of yacc.c */ -#line 7796 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7796 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Item *item= new (YYTHD->mem_root) Item_func_like((yyvsp[(1) - (5)].item),(yyvsp[(4) - (5)].item),(yyvsp[(5) - (5)].item), Lex->escape_used); @@ -25807,7 +25807,7 @@ case 1083: /* Line 1455 of yacc.c */ -#line 7806 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7806 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_regex((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) @@ -25818,7 +25818,7 @@ case 1084: /* Line 1455 of yacc.c */ -#line 7812 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7812 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Item *item= new (YYTHD->mem_root) Item_func_regex((yyvsp[(1) - (4)].item),(yyvsp[(4) - (4)].item)); if (item == NULL) @@ -25832,7 +25832,7 @@ case 1086: /* Line 1455 of yacc.c */ -#line 7825 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7825 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_bit_or((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) @@ -25843,7 +25843,7 @@ case 1087: /* Line 1455 of yacc.c */ -#line 7831 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7831 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_bit_and((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) @@ -25854,7 +25854,7 @@ case 1088: /* Line 1455 of yacc.c */ -#line 7837 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7837 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_shift_left((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) @@ -25865,7 +25865,7 @@ case 1089: /* Line 1455 of yacc.c */ -#line 7843 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7843 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_shift_right((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) @@ -25876,7 +25876,7 @@ case 1090: /* Line 1455 of yacc.c */ -#line 7849 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7849 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_plus((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) @@ -25887,7 +25887,7 @@ case 1091: /* Line 1455 of yacc.c */ -#line 7855 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7855 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_minus((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) @@ -25898,7 +25898,7 @@ case 1092: /* Line 1455 of yacc.c */ -#line 7861 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7861 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_date_add_interval((yyvsp[(1) - (5)].item),(yyvsp[(4) - (5)].item),(yyvsp[(5) - (5)].interval),0); if ((yyval.item) == NULL) @@ -25909,7 +25909,7 @@ case 1093: /* Line 1455 of yacc.c */ -#line 7867 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7867 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_date_add_interval((yyvsp[(1) - (5)].item),(yyvsp[(4) - (5)].item),(yyvsp[(5) - (5)].interval),1); if ((yyval.item) == NULL) @@ -25920,7 +25920,7 @@ case 1094: /* Line 1455 of yacc.c */ -#line 7873 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7873 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_mul((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) @@ -25931,7 +25931,7 @@ case 1095: /* Line 1455 of yacc.c */ -#line 7879 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7879 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_div((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) @@ -25942,7 +25942,7 @@ case 1096: /* Line 1455 of yacc.c */ -#line 7885 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7885 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_mod((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) @@ -25953,7 +25953,7 @@ case 1097: /* Line 1455 of yacc.c */ -#line 7891 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7891 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_int_div((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) @@ -25964,7 +25964,7 @@ case 1098: /* Line 1455 of yacc.c */ -#line 7897 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7897 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_mod((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) @@ -25975,7 +25975,7 @@ case 1099: /* Line 1455 of yacc.c */ -#line 7903 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7903 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_bit_xor((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) @@ -25986,63 +25986,63 @@ case 1109: /* Line 1455 of yacc.c */ -#line 7932 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7932 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_eq_creator; } break; case 1110: /* Line 1455 of yacc.c */ -#line 7933 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7933 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_ge_creator; } break; case 1111: /* Line 1455 of yacc.c */ -#line 7934 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7934 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_gt_creator; } break; case 1112: /* Line 1455 of yacc.c */ -#line 7935 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7935 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_le_creator; } break; case 1113: /* Line 1455 of yacc.c */ -#line 7936 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7936 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_lt_creator; } break; case 1114: /* Line 1455 of yacc.c */ -#line 7937 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7937 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_ne_creator; } break; case 1115: /* Line 1455 of yacc.c */ -#line 7941 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7941 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num) = 1; } break; case 1116: /* Line 1455 of yacc.c */ -#line 7942 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7942 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num) = 0; } break; case 1122: /* Line 1455 of yacc.c */ -#line 7952 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7952 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; Item *i1= new (thd->mem_root) Item_string((yyvsp[(3) - (3)].lex_str).str, @@ -26059,7 +26059,7 @@ case 1127: /* Line 1455 of yacc.c */ -#line 7968 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7968 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_concat((yyvsp[(1) - (3)].item), (yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) @@ -26070,7 +26070,7 @@ case 1128: /* Line 1455 of yacc.c */ -#line 7974 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7974 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[(2) - (2)].item); } @@ -26079,7 +26079,7 @@ case 1129: /* Line 1455 of yacc.c */ -#line 7978 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7978 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_neg((yyvsp[(2) - (2)].item)); if ((yyval.item) == NULL) @@ -26090,7 +26090,7 @@ case 1130: /* Line 1455 of yacc.c */ -#line 7984 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7984 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_bit_neg((yyvsp[(2) - (2)].item)); if ((yyval.item) == NULL) @@ -26101,7 +26101,7 @@ case 1131: /* Line 1455 of yacc.c */ -#line 7990 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7990 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= negate_expression(YYTHD, (yyvsp[(2) - (2)].item)); if ((yyval.item) == NULL) @@ -26112,7 +26112,7 @@ case 1132: /* Line 1455 of yacc.c */ -#line 7996 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 7996 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_singlerow_subselect((yyvsp[(2) - (3)].select_lex)); if ((yyval.item) == NULL) @@ -26123,14 +26123,14 @@ case 1133: /* Line 1455 of yacc.c */ -#line 8002 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8002 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[(2) - (3)].item); } break; case 1134: /* Line 1455 of yacc.c */ -#line 8004 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8004 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyvsp[(4) - (5)].item_list)->push_front((yyvsp[(2) - (5)].item)); (yyval.item)= new (YYTHD->mem_root) Item_row(*(yyvsp[(4) - (5)].item_list)); @@ -26142,7 +26142,7 @@ case 1135: /* Line 1455 of yacc.c */ -#line 8011 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8011 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyvsp[(5) - (6)].item_list)->push_front((yyvsp[(3) - (6)].item)); (yyval.item)= new (YYTHD->mem_root) Item_row(*(yyvsp[(5) - (6)].item_list)); @@ -26154,7 +26154,7 @@ case 1136: /* Line 1455 of yacc.c */ -#line 8018 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8018 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_exists_subselect((yyvsp[(3) - (4)].select_lex)); if ((yyval.item) == NULL) @@ -26165,14 +26165,14 @@ case 1137: /* Line 1455 of yacc.c */ -#line 8024 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8024 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[(3) - (4)].item); } break; case 1138: /* Line 1455 of yacc.c */ -#line 8026 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8026 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyvsp[(2) - (7)].item_list)->push_front((yyvsp[(5) - (7)].item)); Item_func_match *i1= new (YYTHD->mem_root) Item_func_match(*(yyvsp[(2) - (7)].item_list), (yyvsp[(6) - (7)].num)); @@ -26186,7 +26186,7 @@ case 1139: /* Line 1455 of yacc.c */ -#line 8035 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8035 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= create_func_cast(YYTHD, (yyvsp[(2) - (2)].item), ITEM_CAST_CHAR, NULL, NULL, &my_charset_bin); @@ -26198,7 +26198,7 @@ case 1140: /* Line 1455 of yacc.c */ -#line 8042 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8042 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; (yyval.item)= create_func_cast(YYTHD, (yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].cast_type), lex->length, lex->dec, @@ -26211,7 +26211,7 @@ case 1141: /* Line 1455 of yacc.c */ -#line 8050 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8050 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_case(* (yyvsp[(3) - (5)].item_list), (yyvsp[(2) - (5)].item), (yyvsp[(4) - (5)].item) ); if ((yyval.item) == NULL) @@ -26222,7 +26222,7 @@ case 1142: /* Line 1455 of yacc.c */ -#line 8056 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8056 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= create_func_cast(YYTHD, (yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].cast_type), Lex->length, Lex->dec, Lex->charset); @@ -26234,7 +26234,7 @@ case 1143: /* Line 1455 of yacc.c */ -#line 8063 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8063 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_conv_charset((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].charset)); if ((yyval.item) == NULL) @@ -26245,7 +26245,7 @@ case 1144: /* Line 1455 of yacc.c */ -#line 8069 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8069 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if ((yyvsp[(3) - (4)].item)->is_splocal()) { @@ -26264,7 +26264,7 @@ case 1145: /* Line 1455 of yacc.c */ -#line 8083 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8083 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_insert_value(Lex->current_context(), (yyvsp[(3) - (4)].item)); @@ -26276,7 +26276,7 @@ case 1146: /* Line 1455 of yacc.c */ -#line 8091 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8091 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_date_add_interval((yyvsp[(5) - (5)].item),(yyvsp[(2) - (5)].item),(yyvsp[(3) - (5)].interval),0); if ((yyval.item) == NULL) @@ -26287,7 +26287,7 @@ case 1147: /* Line 1455 of yacc.c */ -#line 8106 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8106 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_char(*(yyvsp[(3) - (4)].item_list)); if ((yyval.item) == NULL) @@ -26298,7 +26298,7 @@ case 1148: /* Line 1455 of yacc.c */ -#line 8112 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8112 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_char(*(yyvsp[(3) - (6)].item_list), (yyvsp[(5) - (6)].charset)); if ((yyval.item) == NULL) @@ -26309,7 +26309,7 @@ case 1149: /* Line 1455 of yacc.c */ -#line 8118 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8118 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_current_user(Lex->current_context()); if ((yyval.item) == NULL) @@ -26322,7 +26322,7 @@ case 1150: /* Line 1455 of yacc.c */ -#line 8126 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8126 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_date_typecast((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) @@ -26333,7 +26333,7 @@ case 1151: /* Line 1455 of yacc.c */ -#line 8132 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8132 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_dayofmonth((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) @@ -26344,7 +26344,7 @@ case 1152: /* Line 1455 of yacc.c */ -#line 8138 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8138 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_hour((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) @@ -26355,7 +26355,7 @@ case 1153: /* Line 1455 of yacc.c */ -#line 8144 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8144 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_insert((yyvsp[(3) - (10)].item),(yyvsp[(5) - (10)].item),(yyvsp[(7) - (10)].item),(yyvsp[(9) - (10)].item)); if ((yyval.item) == NULL) @@ -26366,7 +26366,7 @@ case 1154: /* Line 1455 of yacc.c */ -#line 8150 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8150 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; List *list= new (thd->mem_root) List; @@ -26386,7 +26386,7 @@ case 1155: /* Line 1455 of yacc.c */ -#line 8165 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8165 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; (yyvsp[(7) - (8)].item_list)->push_front((yyvsp[(5) - (8)].item)); @@ -26403,7 +26403,7 @@ case 1156: /* Line 1455 of yacc.c */ -#line 8177 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8177 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_left((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item)); if ((yyval.item) == NULL) @@ -26414,7 +26414,7 @@ case 1157: /* Line 1455 of yacc.c */ -#line 8183 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8183 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_minute((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) @@ -26425,7 +26425,7 @@ case 1158: /* Line 1455 of yacc.c */ -#line 8189 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8189 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_month((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) @@ -26436,7 +26436,7 @@ case 1159: /* Line 1455 of yacc.c */ -#line 8195 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8195 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_right((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item)); if ((yyval.item) == NULL) @@ -26447,7 +26447,7 @@ case 1160: /* Line 1455 of yacc.c */ -#line 8201 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8201 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_second((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) @@ -26458,7 +26458,7 @@ case 1161: /* Line 1455 of yacc.c */ -#line 8207 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8207 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_time_typecast((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) @@ -26469,7 +26469,7 @@ case 1162: /* Line 1455 of yacc.c */ -#line 8213 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8213 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_datetime_typecast((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) @@ -26480,7 +26480,7 @@ case 1163: /* Line 1455 of yacc.c */ -#line 8219 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8219 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_add_time((yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].item), 1, 0); if ((yyval.item) == NULL) @@ -26491,7 +26491,7 @@ case 1164: /* Line 1455 of yacc.c */ -#line 8225 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8225 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_trim((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) @@ -26502,7 +26502,7 @@ case 1165: /* Line 1455 of yacc.c */ -#line 8231 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8231 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_ltrim((yyvsp[(6) - (7)].item),(yyvsp[(4) - (7)].item)); if ((yyval.item) == NULL) @@ -26513,7 +26513,7 @@ case 1166: /* Line 1455 of yacc.c */ -#line 8237 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8237 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_rtrim((yyvsp[(6) - (7)].item),(yyvsp[(4) - (7)].item)); if ((yyval.item) == NULL) @@ -26524,7 +26524,7 @@ case 1167: /* Line 1455 of yacc.c */ -#line 8243 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8243 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_trim((yyvsp[(6) - (7)].item),(yyvsp[(4) - (7)].item)); if ((yyval.item) == NULL) @@ -26535,7 +26535,7 @@ case 1168: /* Line 1455 of yacc.c */ -#line 8249 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8249 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_ltrim((yyvsp[(5) - (6)].item)); if ((yyval.item) == NULL) @@ -26546,7 +26546,7 @@ case 1169: /* Line 1455 of yacc.c */ -#line 8255 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8255 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_rtrim((yyvsp[(5) - (6)].item)); if ((yyval.item) == NULL) @@ -26557,7 +26557,7 @@ case 1170: /* Line 1455 of yacc.c */ -#line 8261 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8261 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_trim((yyvsp[(5) - (6)].item)); if ((yyval.item) == NULL) @@ -26568,7 +26568,7 @@ case 1171: /* Line 1455 of yacc.c */ -#line 8267 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8267 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_trim((yyvsp[(5) - (6)].item),(yyvsp[(3) - (6)].item)); if ((yyval.item) == NULL) @@ -26579,7 +26579,7 @@ case 1172: /* Line 1455 of yacc.c */ -#line 8273 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8273 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_user(); if ((yyval.item) == NULL) @@ -26592,7 +26592,7 @@ case 1173: /* Line 1455 of yacc.c */ -#line 8281 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8281 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_year((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) @@ -26603,7 +26603,7 @@ case 1174: /* Line 1455 of yacc.c */ -#line 8302 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8302 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_date_add_interval((yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].item), INTERVAL_DAY, 0); @@ -26615,7 +26615,7 @@ case 1175: /* Line 1455 of yacc.c */ -#line 8309 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8309 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_date_add_interval((yyvsp[(3) - (8)].item), (yyvsp[(6) - (8)].item), (yyvsp[(7) - (8)].interval), 0); if ((yyval.item) == NULL) @@ -26626,7 +26626,7 @@ case 1176: /* Line 1455 of yacc.c */ -#line 8315 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8315 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_curdate_local(); if ((yyval.item) == NULL) @@ -26638,7 +26638,7 @@ case 1177: /* Line 1455 of yacc.c */ -#line 8322 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8322 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_curtime_local(); if ((yyval.item) == NULL) @@ -26650,7 +26650,7 @@ case 1178: /* Line 1455 of yacc.c */ -#line 8329 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8329 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_curtime_local((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) @@ -26662,7 +26662,7 @@ case 1179: /* Line 1455 of yacc.c */ -#line 8337 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8337 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_date_add_interval((yyvsp[(3) - (8)].item),(yyvsp[(6) - (8)].item),(yyvsp[(7) - (8)].interval),0); if ((yyval.item) == NULL) @@ -26673,7 +26673,7 @@ case 1180: /* Line 1455 of yacc.c */ -#line 8344 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8344 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_date_add_interval((yyvsp[(3) - (8)].item),(yyvsp[(6) - (8)].item),(yyvsp[(7) - (8)].interval),1); if ((yyval.item) == NULL) @@ -26684,7 +26684,7 @@ case 1181: /* Line 1455 of yacc.c */ -#line 8350 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8350 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)=new (YYTHD->mem_root) Item_extract( (yyvsp[(3) - (6)].interval), (yyvsp[(5) - (6)].item)); if ((yyval.item) == NULL) @@ -26695,7 +26695,7 @@ case 1182: /* Line 1455 of yacc.c */ -#line 8356 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8356 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_get_format((yyvsp[(3) - (6)].date_time_type), (yyvsp[(5) - (6)].item)); if ((yyval.item) == NULL) @@ -26706,7 +26706,7 @@ case 1183: /* Line 1455 of yacc.c */ -#line 8362 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8362 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_now_local(); if ((yyval.item) == NULL) @@ -26718,7 +26718,7 @@ case 1184: /* Line 1455 of yacc.c */ -#line 8369 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8369 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_now_local((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) @@ -26730,7 +26730,7 @@ case 1185: /* Line 1455 of yacc.c */ -#line 8376 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8376 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item) = new (YYTHD->mem_root) Item_func_locate((yyvsp[(5) - (6)].item),(yyvsp[(3) - (6)].item)); if ((yyval.item) == NULL) @@ -26741,7 +26741,7 @@ case 1186: /* Line 1455 of yacc.c */ -#line 8382 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8382 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_date_add_interval((yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].item), INTERVAL_DAY, 1); @@ -26753,7 +26753,7 @@ case 1187: /* Line 1455 of yacc.c */ -#line 8389 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8389 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_date_add_interval((yyvsp[(3) - (8)].item), (yyvsp[(6) - (8)].item), (yyvsp[(7) - (8)].interval), 1); if ((yyval.item) == NULL) @@ -26764,7 +26764,7 @@ case 1188: /* Line 1455 of yacc.c */ -#line 8395 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8395 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_substr((yyvsp[(3) - (8)].item),(yyvsp[(5) - (8)].item),(yyvsp[(7) - (8)].item)); if ((yyval.item) == NULL) @@ -26775,7 +26775,7 @@ case 1189: /* Line 1455 of yacc.c */ -#line 8401 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8401 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_substr((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item)); if ((yyval.item) == NULL) @@ -26786,7 +26786,7 @@ case 1190: /* Line 1455 of yacc.c */ -#line 8407 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8407 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_substr((yyvsp[(3) - (8)].item),(yyvsp[(5) - (8)].item),(yyvsp[(7) - (8)].item)); if ((yyval.item) == NULL) @@ -26797,7 +26797,7 @@ case 1191: /* Line 1455 of yacc.c */ -#line 8413 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8413 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_substr((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item)); if ((yyval.item) == NULL) @@ -26808,7 +26808,7 @@ case 1192: /* Line 1455 of yacc.c */ -#line 8419 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8419 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* Unlike other time-related functions, SYSDATE() is @@ -26831,7 +26831,7 @@ case 1193: /* Line 1455 of yacc.c */ -#line 8437 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8437 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (global_system_variables.sysdate_is_now == 0) (yyval.item)= new (YYTHD->mem_root) Item_func_sysdate_local((yyvsp[(3) - (4)].item)); @@ -26846,7 +26846,7 @@ case 1194: /* Line 1455 of yacc.c */ -#line 8447 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8447 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_date_add_interval((yyvsp[(7) - (8)].item),(yyvsp[(5) - (8)].item),(yyvsp[(3) - (8)].interval_time_st),0); if ((yyval.item) == NULL) @@ -26857,7 +26857,7 @@ case 1195: /* Line 1455 of yacc.c */ -#line 8453 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8453 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_timestamp_diff((yyvsp[(5) - (8)].item),(yyvsp[(7) - (8)].item),(yyvsp[(3) - (8)].interval_time_st)); if ((yyval.item) == NULL) @@ -26868,7 +26868,7 @@ case 1196: /* Line 1455 of yacc.c */ -#line 8459 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8459 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_curdate_utc(); if ((yyval.item) == NULL) @@ -26880,7 +26880,7 @@ case 1197: /* Line 1455 of yacc.c */ -#line 8466 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8466 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_curtime_utc(); if ((yyval.item) == NULL) @@ -26892,7 +26892,7 @@ case 1198: /* Line 1455 of yacc.c */ -#line 8473 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8473 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_now_utc(); if ((yyval.item) == NULL) @@ -26904,7 +26904,7 @@ case 1199: /* Line 1455 of yacc.c */ -#line 8488 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8488 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_ascii((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) @@ -26915,7 +26915,7 @@ case 1200: /* Line 1455 of yacc.c */ -#line 8494 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8494 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_charset((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) @@ -26926,7 +26926,7 @@ case 1201: /* Line 1455 of yacc.c */ -#line 8500 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8500 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_coalesce(* (yyvsp[(3) - (4)].item_list)); if ((yyval.item) == NULL) @@ -26937,7 +26937,7 @@ case 1202: /* Line 1455 of yacc.c */ -#line 8506 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8506 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_collation((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) @@ -26948,7 +26948,7 @@ case 1203: /* Line 1455 of yacc.c */ -#line 8512 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8512 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_database(); if ((yyval.item) == NULL) @@ -26960,7 +26960,7 @@ case 1204: /* Line 1455 of yacc.c */ -#line 8519 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8519 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_if((yyvsp[(3) - (8)].item),(yyvsp[(5) - (8)].item),(yyvsp[(7) - (8)].item)); if ((yyval.item) == NULL) @@ -26971,7 +26971,7 @@ case 1205: /* Line 1455 of yacc.c */ -#line 8525 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8525 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_microsecond((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) @@ -26982,7 +26982,7 @@ case 1206: /* Line 1455 of yacc.c */ -#line 8531 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8531 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item) = new (YYTHD->mem_root) Item_func_mod((yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].item)); if ((yyval.item) == NULL) @@ -26993,7 +26993,7 @@ case 1207: /* Line 1455 of yacc.c */ -#line 8537 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8537 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_old_password((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) @@ -27004,7 +27004,7 @@ case 1208: /* Line 1455 of yacc.c */ -#line 8543 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8543 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; Item* i1; @@ -27021,7 +27021,7 @@ case 1209: /* Line 1455 of yacc.c */ -#line 8555 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8555 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item) = new (YYTHD->mem_root) Item_func_quarter((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) @@ -27032,7 +27032,7 @@ case 1210: /* Line 1455 of yacc.c */ -#line 8561 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8561 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_repeat((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item)); if ((yyval.item) == NULL) @@ -27043,7 +27043,7 @@ case 1211: /* Line 1455 of yacc.c */ -#line 8567 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8567 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_replace((yyvsp[(3) - (8)].item),(yyvsp[(5) - (8)].item),(yyvsp[(7) - (8)].item)); if ((yyval.item) == NULL) @@ -27054,7 +27054,7 @@ case 1212: /* Line 1455 of yacc.c */ -#line 8573 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8573 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_round((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item),1); if ((yyval.item) == NULL) @@ -27065,7 +27065,7 @@ case 1213: /* Line 1455 of yacc.c */ -#line 8579 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8579 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; Item *i1= new (thd->mem_root) Item_int((char*) "0", @@ -27082,7 +27082,7 @@ case 1214: /* Line 1455 of yacc.c */ -#line 8591 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8591 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_week((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item)); if ((yyval.item) == NULL) @@ -27093,7 +27093,7 @@ case 1215: /* Line 1455 of yacc.c */ -#line 8597 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8597 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { #ifdef HAVE_SPATIAL (yyval.item)= (yyvsp[(1) - (1)].item); @@ -27111,7 +27111,7 @@ case 1216: /* Line 1455 of yacc.c */ -#line 8613 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8613 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= GEOM_NEW(YYTHD, Item_func_spatial_rel((yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].item), @@ -27122,7 +27122,7 @@ case 1217: /* Line 1455 of yacc.c */ -#line 8619 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8619 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= GEOM_NEW(YYTHD, Item_func_spatial_collection(* (yyvsp[(3) - (4)].item_list), @@ -27134,7 +27134,7 @@ case 1218: /* Line 1455 of yacc.c */ -#line 8626 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8626 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= GEOM_NEW(YYTHD, Item_func_spatial_collection(* (yyvsp[(3) - (4)].item_list), @@ -27146,7 +27146,7 @@ case 1219: /* Line 1455 of yacc.c */ -#line 8633 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8633 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= GEOM_NEW(YYTHD, Item_func_spatial_collection(* (yyvsp[(3) - (4)].item_list), @@ -27158,7 +27158,7 @@ case 1220: /* Line 1455 of yacc.c */ -#line 8640 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8640 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= GEOM_NEW(YYTHD, Item_func_spatial_collection(* (yyvsp[(3) - (4)].item_list), @@ -27170,7 +27170,7 @@ case 1221: /* Line 1455 of yacc.c */ -#line 8647 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8647 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= GEOM_NEW(YYTHD, Item_func_spatial_collection(* (yyvsp[(3) - (4)].item_list), @@ -27182,7 +27182,7 @@ case 1222: /* Line 1455 of yacc.c */ -#line 8654 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8654 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= GEOM_NEW(YYTHD, Item_func_point((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item))); } @@ -27191,7 +27191,7 @@ case 1223: /* Line 1455 of yacc.c */ -#line 8658 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8658 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= GEOM_NEW(YYTHD, Item_func_spatial_collection(* (yyvsp[(3) - (4)].item_list), @@ -27203,7 +27203,7 @@ case 1224: /* Line 1455 of yacc.c */ -#line 8677 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8677 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { #ifdef HAVE_DLOPEN udf_func *udf= 0; @@ -27227,7 +27227,7 @@ case 1225: /* Line 1455 of yacc.c */ -#line 8696 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8696 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; Create_func *builder; @@ -27286,7 +27286,7 @@ case 1226: /* Line 1455 of yacc.c */ -#line 8750 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8750 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; Create_qfunc *builder; @@ -27330,63 +27330,63 @@ case 1227: /* Line 1455 of yacc.c */ -#line 8792 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8792 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= (yyvsp[(1) - (2)].num) | (yyvsp[(2) - (2)].num); } break; case 1228: /* Line 1455 of yacc.c */ -#line 8794 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8794 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= FT_BOOL; } break; case 1229: /* Line 1455 of yacc.c */ -#line 8798 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8798 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= FT_NL; } break; case 1230: /* Line 1455 of yacc.c */ -#line 8799 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8799 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= FT_NL; } break; case 1231: /* Line 1455 of yacc.c */ -#line 8803 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8803 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= 0; } break; case 1232: /* Line 1455 of yacc.c */ -#line 8804 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8804 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= FT_EXPAND; } break; case 1233: /* Line 1455 of yacc.c */ -#line 8808 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8808 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item_list)= NULL; } break; case 1234: /* Line 1455 of yacc.c */ -#line 8809 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8809 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item_list)= (yyvsp[(1) - (1)].item_list); } break; case 1235: /* Line 1455 of yacc.c */ -#line 8814 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8814 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item_list)= new (YYTHD->mem_root) List; if ((yyval.item_list) == NULL) @@ -27398,7 +27398,7 @@ case 1236: /* Line 1455 of yacc.c */ -#line 8821 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8821 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyvsp[(1) - (3)].item_list)->push_back((yyvsp[(3) - (3)].item)); (yyval.item_list)= (yyvsp[(1) - (3)].item_list); @@ -27408,7 +27408,7 @@ case 1237: /* Line 1455 of yacc.c */ -#line 8829 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8829 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* Use Item::name as a storage for the attribute value of user @@ -27436,7 +27436,7 @@ case 1238: /* Line 1455 of yacc.c */ -#line 8855 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8855 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_avg((yyvsp[(3) - (4)].item), FALSE); if ((yyval.item) == NULL) @@ -27447,7 +27447,7 @@ case 1239: /* Line 1455 of yacc.c */ -#line 8861 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8861 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_avg((yyvsp[(4) - (5)].item), TRUE); if ((yyval.item) == NULL) @@ -27458,7 +27458,7 @@ case 1240: /* Line 1455 of yacc.c */ -#line 8867 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8867 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_and((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) @@ -27469,7 +27469,7 @@ case 1241: /* Line 1455 of yacc.c */ -#line 8873 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8873 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_or((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) @@ -27480,7 +27480,7 @@ case 1242: /* Line 1455 of yacc.c */ -#line 8879 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8879 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_xor((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) @@ -27491,7 +27491,7 @@ case 1243: /* Line 1455 of yacc.c */ -#line 8885 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8885 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Item *item= new (YYTHD->mem_root) Item_int((int32) 0L,1); if (item == NULL) @@ -27505,7 +27505,7 @@ case 1244: /* Line 1455 of yacc.c */ -#line 8894 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8894 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_count((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) @@ -27516,21 +27516,21 @@ case 1245: /* Line 1455 of yacc.c */ -#line 8900 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8900 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->in_sum_expr++; } break; case 1246: /* Line 1455 of yacc.c */ -#line 8902 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8902 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->in_sum_expr--; } break; case 1247: /* Line 1455 of yacc.c */ -#line 8904 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8904 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_count(* (yyvsp[(5) - (7)].item_list)); if ((yyval.item) == NULL) @@ -27541,7 +27541,7 @@ case 1248: /* Line 1455 of yacc.c */ -#line 8910 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8910 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_min((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) @@ -27552,7 +27552,7 @@ case 1249: /* Line 1455 of yacc.c */ -#line 8921 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8921 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_min((yyvsp[(4) - (5)].item)); if ((yyval.item) == NULL) @@ -27563,7 +27563,7 @@ case 1250: /* Line 1455 of yacc.c */ -#line 8927 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8927 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_max((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) @@ -27574,7 +27574,7 @@ case 1251: /* Line 1455 of yacc.c */ -#line 8933 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8933 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_max((yyvsp[(4) - (5)].item)); if ((yyval.item) == NULL) @@ -27585,7 +27585,7 @@ case 1252: /* Line 1455 of yacc.c */ -#line 8939 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8939 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_std((yyvsp[(3) - (4)].item), 0); if ((yyval.item) == NULL) @@ -27596,7 +27596,7 @@ case 1253: /* Line 1455 of yacc.c */ -#line 8945 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8945 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_variance((yyvsp[(3) - (4)].item), 0); if ((yyval.item) == NULL) @@ -27607,7 +27607,7 @@ case 1254: /* Line 1455 of yacc.c */ -#line 8951 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8951 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_std((yyvsp[(3) - (4)].item), 1); if ((yyval.item) == NULL) @@ -27618,7 +27618,7 @@ case 1255: /* Line 1455 of yacc.c */ -#line 8957 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8957 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_variance((yyvsp[(3) - (4)].item), 1); if ((yyval.item) == NULL) @@ -27629,7 +27629,7 @@ case 1256: /* Line 1455 of yacc.c */ -#line 8963 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8963 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_sum((yyvsp[(3) - (4)].item), FALSE); if ((yyval.item) == NULL) @@ -27640,7 +27640,7 @@ case 1257: /* Line 1455 of yacc.c */ -#line 8969 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8969 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_sum((yyvsp[(4) - (5)].item), TRUE); if ((yyval.item) == NULL) @@ -27651,14 +27651,14 @@ case 1258: /* Line 1455 of yacc.c */ -#line 8975 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8975 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->in_sum_expr++; } break; case 1259: /* Line 1455 of yacc.c */ -#line 8979 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8979 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { SELECT_LEX *sel= Select; sel->in_sum_expr--; @@ -27675,7 +27675,7 @@ case 1260: /* Line 1455 of yacc.c */ -#line 8994 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 8994 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (! Lex->parsing_options.allows_variable) { @@ -27688,7 +27688,7 @@ case 1261: /* Line 1455 of yacc.c */ -#line 9002 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9002 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[(3) - (3)].item); } @@ -27697,7 +27697,7 @@ case 1262: /* Line 1455 of yacc.c */ -#line 9009 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9009 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Item_func_set_user_var *item; (yyval.item)= item= new (YYTHD->mem_root) Item_func_set_user_var((yyvsp[(1) - (3)].lex_str), (yyvsp[(3) - (3)].item), false); @@ -27712,7 +27712,7 @@ case 1263: /* Line 1455 of yacc.c */ -#line 9019 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9019 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_get_user_var((yyvsp[(1) - (1)].lex_str)); if ((yyval.item) == NULL) @@ -27725,7 +27725,7 @@ case 1264: /* Line 1455 of yacc.c */ -#line 9027 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9027 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* disallow "SELECT @@global.global.variable" */ if ((yyvsp[(3) - (4)].lex_str).str && (yyvsp[(4) - (4)].lex_str).str && check_reserved_words(&(yyvsp[(3) - (4)].lex_str))) @@ -27743,21 +27743,21 @@ case 1265: /* Line 1455 of yacc.c */ -#line 9042 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9042 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num) = 0; } break; case 1266: /* Line 1455 of yacc.c */ -#line 9043 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9043 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num) = 1; } break; case 1267: /* Line 1455 of yacc.c */ -#line 9048 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9048 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.string)= new (YYTHD->mem_root) String(",", 1, &my_charset_latin1); if ((yyval.string) == NULL) @@ -27768,14 +27768,14 @@ case 1268: /* Line 1455 of yacc.c */ -#line 9053 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9053 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.string) = (yyvsp[(2) - (2)].string); } break; case 1270: /* Line 1455 of yacc.c */ -#line 9059 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9059 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; SELECT_LEX *sel= lex->current_select; @@ -27793,21 +27793,21 @@ case 1272: /* Line 1455 of yacc.c */ -#line 9076 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9076 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (add_gorder_to_list(YYTHD, (yyvsp[(3) - (4)].item),(bool) (yyvsp[(4) - (4)].num))) MYSQL_YYABORT; } break; case 1273: /* Line 1455 of yacc.c */ -#line 9078 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9078 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (add_gorder_to_list(YYTHD, (yyvsp[(1) - (2)].item),(bool) (yyvsp[(2) - (2)].num))) MYSQL_YYABORT; } break; case 1274: /* Line 1455 of yacc.c */ -#line 9083 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9083 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->current_select->inc_in_sum_expr()) @@ -27821,7 +27821,7 @@ case 1275: /* Line 1455 of yacc.c */ -#line 9092 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9092 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->in_sum_expr--; (yyval.item)= (yyvsp[(3) - (3)].item); @@ -27831,98 +27831,98 @@ case 1276: /* Line 1455 of yacc.c */ -#line 9100 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9100 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_CHAR; Lex->charset= &my_charset_bin; Lex->dec= 0; } break; case 1277: /* Line 1455 of yacc.c */ -#line 9102 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9102 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_CHAR; Lex->dec= 0; } break; case 1278: /* Line 1455 of yacc.c */ -#line 9104 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9104 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_CHAR; Lex->charset= national_charset_info; Lex->dec=0; } break; case 1279: /* Line 1455 of yacc.c */ -#line 9106 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9106 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_SIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; } break; case 1280: /* Line 1455 of yacc.c */ -#line 9108 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9108 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_SIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; } break; case 1281: /* Line 1455 of yacc.c */ -#line 9110 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9110 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_UNSIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; } break; case 1282: /* Line 1455 of yacc.c */ -#line 9112 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9112 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_UNSIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; } break; case 1283: /* Line 1455 of yacc.c */ -#line 9114 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9114 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_DATE; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; } break; case 1284: /* Line 1455 of yacc.c */ -#line 9116 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9116 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_TIME; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; } break; case 1285: /* Line 1455 of yacc.c */ -#line 9118 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9118 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_DATETIME; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; } break; case 1286: /* Line 1455 of yacc.c */ -#line 9120 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9120 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_DECIMAL; Lex->charset= NULL; } break; case 1287: /* Line 1455 of yacc.c */ -#line 9124 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9124 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item_list)= NULL; } break; case 1288: /* Line 1455 of yacc.c */ -#line 9125 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9125 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item_list)= (yyvsp[(1) - (1)].item_list);} break; case 1289: /* Line 1455 of yacc.c */ -#line 9130 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9130 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item_list)= new (YYTHD->mem_root) List; if ((yyval.item_list) == NULL) @@ -27934,7 +27934,7 @@ case 1290: /* Line 1455 of yacc.c */ -#line 9137 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9137 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyvsp[(1) - (3)].item_list)->push_back((yyvsp[(3) - (3)].item)); (yyval.item_list)= (yyvsp[(1) - (3)].item_list); @@ -27944,21 +27944,21 @@ case 1291: /* Line 1455 of yacc.c */ -#line 9144 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9144 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item_list)= (yyvsp[(1) - (1)].item_list); } break; case 1292: /* Line 1455 of yacc.c */ -#line 9145 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9145 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item_list)= (yyvsp[(2) - (3)].item_list); } break; case 1293: /* Line 1455 of yacc.c */ -#line 9150 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9150 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item_list)= new (YYTHD->mem_root) List; if ((yyval.item_list) == NULL) @@ -27970,7 +27970,7 @@ case 1294: /* Line 1455 of yacc.c */ -#line 9157 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9157 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyvsp[(1) - (3)].item_list)->push_back((yyvsp[(3) - (3)].item)); (yyval.item_list)= (yyvsp[(1) - (3)].item_list); @@ -27980,35 +27980,35 @@ case 1295: /* Line 1455 of yacc.c */ -#line 9164 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9164 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= NULL; } break; case 1296: /* Line 1455 of yacc.c */ -#line 9165 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9165 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[(1) - (1)].item); } break; case 1297: /* Line 1455 of yacc.c */ -#line 9169 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9169 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= NULL; } break; case 1298: /* Line 1455 of yacc.c */ -#line 9170 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9170 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[(2) - (2)].item); } break; case 1299: /* Line 1455 of yacc.c */ -#line 9175 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9175 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item_list)= new List; if ((yyval.item_list) == NULL) @@ -28021,7 +28021,7 @@ case 1300: /* Line 1455 of yacc.c */ -#line 9183 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9183 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyvsp[(1) - (5)].item_list)->push_back((yyvsp[(3) - (5)].item)); (yyvsp[(1) - (5)].item_list)->push_back((yyvsp[(5) - (5)].item)); @@ -28032,14 +28032,14 @@ case 1301: /* Line 1455 of yacc.c */ -#line 9193 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9193 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.table_list)=(yyvsp[(1) - (1)].table_list); } break; case 1302: /* Line 1455 of yacc.c */ -#line 9195 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9195 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (!((yyval.table_list)= lex->current_select->nest_last_join(lex->thd))) @@ -28050,35 +28050,35 @@ case 1303: /* Line 1455 of yacc.c */ -#line 9203 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9203 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyval.table_list)=(yyvsp[(1) - (1)].table_list)); } break; case 1304: /* Line 1455 of yacc.c */ -#line 9214 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9214 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.table_list)=(yyvsp[(1) - (1)].table_list); } break; case 1305: /* Line 1455 of yacc.c */ -#line 9215 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9215 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.table_list)=(yyvsp[(3) - (4)].table_list); } break; case 1306: /* Line 1455 of yacc.c */ -#line 9221 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9221 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.table_list)=(yyvsp[(1) - (1)].table_list); } break; case 1307: /* Line 1455 of yacc.c */ -#line 9223 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9223 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (3)].table_list) && ((yyval.table_list)=(yyvsp[(3) - (3)].table_list))); } @@ -28087,21 +28087,21 @@ case 1308: /* Line 1455 of yacc.c */ -#line 9243 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9243 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (3)].table_list) && ((yyval.table_list)=(yyvsp[(3) - (3)].table_list))); } break; case 1309: /* Line 1455 of yacc.c */ -#line 9245 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9245 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (3)].table_list) && ((yyval.table_list)=(yyvsp[(3) - (3)].table_list))); (yyvsp[(3) - (3)].table_list)->straight=1; } break; case 1310: /* Line 1455 of yacc.c */ -#line 9248 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9248 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (4)].table_list) && (yyvsp[(3) - (4)].table_list)); /* Change the current name resolution context to a local context. */ @@ -28114,7 +28114,7 @@ case 1311: /* Line 1455 of yacc.c */ -#line 9256 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9256 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { add_join_on((yyvsp[(3) - (6)].table_list),(yyvsp[(6) - (6)].item)); Lex->pop_context(); @@ -28125,7 +28125,7 @@ case 1312: /* Line 1455 of yacc.c */ -#line 9263 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9263 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (4)].table_list) && (yyvsp[(3) - (4)].table_list)); /* Change the current name resolution context to a local context. */ @@ -28138,7 +28138,7 @@ case 1313: /* Line 1455 of yacc.c */ -#line 9271 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9271 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyvsp[(3) - (6)].table_list)->straight=1; add_join_on((yyvsp[(3) - (6)].table_list),(yyvsp[(6) - (6)].item)); @@ -28150,7 +28150,7 @@ case 1314: /* Line 1455 of yacc.c */ -#line 9279 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9279 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (4)].table_list) && (yyvsp[(3) - (4)].table_list)); } @@ -28159,14 +28159,14 @@ case 1315: /* Line 1455 of yacc.c */ -#line 9283 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9283 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { add_join_natural((yyvsp[(1) - (8)].table_list),(yyvsp[(3) - (8)].table_list),(yyvsp[(7) - (8)].string_list),Select); (yyval.table_list)=(yyvsp[(3) - (8)].table_list); } break; case 1316: /* Line 1455 of yacc.c */ -#line 9285 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9285 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (4)].table_list) && ((yyval.table_list)=(yyvsp[(4) - (4)].table_list))); add_join_natural((yyvsp[(1) - (4)].table_list),(yyvsp[(4) - (4)].table_list),NULL,Select); @@ -28176,7 +28176,7 @@ case 1317: /* Line 1455 of yacc.c */ -#line 9293 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9293 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (6)].table_list) && (yyvsp[(5) - (6)].table_list)); /* Change the current name resolution context to a local context. */ @@ -28189,7 +28189,7 @@ case 1318: /* Line 1455 of yacc.c */ -#line 9301 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9301 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { add_join_on((yyvsp[(5) - (8)].table_list),(yyvsp[(8) - (8)].item)); Lex->pop_context(); @@ -28202,7 +28202,7 @@ case 1319: /* Line 1455 of yacc.c */ -#line 9309 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9309 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (5)].table_list) && (yyvsp[(5) - (5)].table_list)); } @@ -28211,7 +28211,7 @@ case 1320: /* Line 1455 of yacc.c */ -#line 9313 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9313 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { add_join_natural((yyvsp[(1) - (10)].table_list),(yyvsp[(5) - (10)].table_list),(yyvsp[(9) - (10)].string_list),Select); (yyvsp[(5) - (10)].table_list)->outer_join|=JOIN_TYPE_LEFT; @@ -28222,7 +28222,7 @@ case 1321: /* Line 1455 of yacc.c */ -#line 9319 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9319 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (6)].table_list) && (yyvsp[(6) - (6)].table_list)); add_join_natural((yyvsp[(1) - (6)].table_list),(yyvsp[(6) - (6)].table_list),NULL,Select); @@ -28234,7 +28234,7 @@ case 1322: /* Line 1455 of yacc.c */ -#line 9329 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9329 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (6)].table_list) && (yyvsp[(5) - (6)].table_list)); /* Change the current name resolution context to a local context. */ @@ -28247,7 +28247,7 @@ case 1323: /* Line 1455 of yacc.c */ -#line 9337 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9337 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (!((yyval.table_list)= lex->current_select->convert_right_join())) @@ -28261,7 +28261,7 @@ case 1324: /* Line 1455 of yacc.c */ -#line 9346 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9346 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (5)].table_list) && (yyvsp[(5) - (5)].table_list)); } @@ -28270,7 +28270,7 @@ case 1325: /* Line 1455 of yacc.c */ -#line 9350 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9350 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (!((yyval.table_list)= lex->current_select->convert_right_join())) @@ -28282,7 +28282,7 @@ case 1326: /* Line 1455 of yacc.c */ -#line 9357 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9357 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (6)].table_list) && (yyvsp[(6) - (6)].table_list)); add_join_natural((yyvsp[(6) - (6)].table_list),(yyvsp[(1) - (6)].table_list),NULL,Select); @@ -28295,28 +28295,28 @@ case 1327: /* Line 1455 of yacc.c */ -#line 9367 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9367 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1328: /* Line 1455 of yacc.c */ -#line 9368 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9368 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1329: /* Line 1455 of yacc.c */ -#line 9369 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9369 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1330: /* Line 1455 of yacc.c */ -#line 9381 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9381 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { SELECT_LEX *sel= Select; sel->table_join_options= 0; @@ -28326,7 +28326,7 @@ case 1331: /* Line 1455 of yacc.c */ -#line 9386 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9386 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (!((yyval.table_list)= Select->add_table_to_list(YYTHD, (yyvsp[(2) - (4)].table), (yyvsp[(3) - (4)].lex_str_ptr), Select->get_table_join_options(), @@ -28341,7 +28341,7 @@ case 1332: /* Line 1455 of yacc.c */ -#line 9396 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9396 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; SELECT_LEX *sel= lex->current_select; @@ -28368,7 +28368,7 @@ case 1333: /* Line 1455 of yacc.c */ -#line 9436 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9436 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* Use $2 instead of Lex->current_select as derived table will alter value of Lex->current_select. */ @@ -28423,7 +28423,7 @@ case 1334: /* Line 1455 of yacc.c */ -#line 9508 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9508 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if ((yyvsp[(1) - (2)].table_list) && (yyvsp[(2) - (2)].is_not_empty)) { @@ -28436,7 +28436,7 @@ case 1335: /* Line 1455 of yacc.c */ -#line 9518 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9518 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (add_select_to_union_list(Lex, (bool)(yyvsp[(3) - (3)].num), FALSE)) MYSQL_YYABORT; @@ -28446,7 +28446,7 @@ case 1336: /* Line 1455 of yacc.c */ -#line 9523 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9523 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* Remove from the name resolution context stack the context of the @@ -28459,7 +28459,7 @@ case 1337: /* Line 1455 of yacc.c */ -#line 9531 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9531 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if ((yyvsp[(1) - (7)].table_list) != NULL) { @@ -28472,7 +28472,7 @@ case 1338: /* Line 1455 of yacc.c */ -#line 9543 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9543 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; SELECT_LEX * sel= lex->current_select; @@ -28493,7 +28493,7 @@ case 1339: /* Line 1455 of yacc.c */ -#line 9562 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9562 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; SELECT_LEX *sel= lex->current_select; @@ -28506,7 +28506,7 @@ case 1340: /* Line 1455 of yacc.c */ -#line 9570 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9570 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->parsing_place= NO_MATTER; } @@ -28515,7 +28515,7 @@ case 1342: /* Line 1455 of yacc.c */ -#line 9579 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9579 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if ((yyvsp[(1) - (1)].select_lex)->init_nested_join(lex->thd)) @@ -28526,7 +28526,7 @@ case 1343: /* Line 1455 of yacc.c */ -#line 9585 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9585 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; /* for normal joins, $3 != NULL and end_nested_join() != NULL, @@ -28545,7 +28545,7 @@ case 1344: /* Line 1455 of yacc.c */ -#line 9601 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9601 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->derived_tables|= DERIVED_SUBQUERY; @@ -28567,7 +28567,7 @@ case 1345: /* Line 1455 of yacc.c */ -#line 9618 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9618 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->parsing_place= NO_MATTER; } @@ -28576,14 +28576,14 @@ case 1347: /* Line 1455 of yacc.c */ -#line 9625 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9625 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.select_lex)= Select; } break; case 1348: /* Line 1455 of yacc.c */ -#line 9630 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9630 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; @@ -28611,21 +28611,21 @@ case 1349: /* Line 1455 of yacc.c */ -#line 9655 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9655 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1350: /* Line 1455 of yacc.c */ -#line 9656 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9656 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1351: /* Line 1455 of yacc.c */ -#line 9661 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9661 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= old_mode ? INDEX_HINT_MASK_JOIN : INDEX_HINT_MASK_ALL; } @@ -28634,42 +28634,42 @@ case 1352: /* Line 1455 of yacc.c */ -#line 9664 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9664 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= INDEX_HINT_MASK_JOIN; } break; case 1353: /* Line 1455 of yacc.c */ -#line 9665 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9665 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= INDEX_HINT_MASK_ORDER; } break; case 1354: /* Line 1455 of yacc.c */ -#line 9666 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9666 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= INDEX_HINT_MASK_GROUP; } break; case 1355: /* Line 1455 of yacc.c */ -#line 9670 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9670 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.index_hint)= INDEX_HINT_FORCE; } break; case 1356: /* Line 1455 of yacc.c */ -#line 9671 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9671 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.index_hint)= INDEX_HINT_IGNORE; } break; case 1357: /* Line 1455 of yacc.c */ -#line 9676 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9676 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->set_index_hint_type((yyvsp[(1) - (3)].index_hint), (yyvsp[(3) - (3)].num)); } @@ -28678,7 +28678,7 @@ case 1359: /* Line 1455 of yacc.c */ -#line 9681 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9681 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->set_index_hint_type(INDEX_HINT_USE, (yyvsp[(3) - (3)].num)); } @@ -28687,49 +28687,49 @@ case 1364: /* Line 1455 of yacc.c */ -#line 9694 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9694 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->alloc_index_hints(YYTHD); } break; case 1366: /* Line 1455 of yacc.c */ -#line 9698 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9698 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->clear_index_hints(); } break; case 1368: /* Line 1455 of yacc.c */ -#line 9703 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9703 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->add_index_hint(YYTHD, NULL, 0); } break; case 1369: /* Line 1455 of yacc.c */ -#line 9704 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9704 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1370: /* Line 1455 of yacc.c */ -#line 9709 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9709 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->add_index_hint(YYTHD, (yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); } break; case 1371: /* Line 1455 of yacc.c */ -#line 9711 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9711 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->add_index_hint(YYTHD, (char *)"PRIMARY", 7); } break; case 1374: /* Line 1455 of yacc.c */ -#line 9721 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9721 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (!((yyval.string_list)= new List)) MYSQL_YYABORT; @@ -28745,7 +28745,7 @@ case 1375: /* Line 1455 of yacc.c */ -#line 9732 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9732 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { String *s= new (YYTHD->mem_root) String((const char *) (yyvsp[(3) - (3)].lex_str).str, (yyvsp[(3) - (3)].lex_str).length, @@ -28760,189 +28760,189 @@ case 1376: /* Line 1455 of yacc.c */ -#line 9744 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9744 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1377: /* Line 1455 of yacc.c */ -#line 9745 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9745 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_DAY_HOUR; } break; case 1378: /* Line 1455 of yacc.c */ -#line 9746 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9746 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_DAY_MICROSECOND; } break; case 1379: /* Line 1455 of yacc.c */ -#line 9747 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9747 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_DAY_MINUTE; } break; case 1380: /* Line 1455 of yacc.c */ -#line 9748 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9748 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_DAY_SECOND; } break; case 1381: /* Line 1455 of yacc.c */ -#line 9749 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9749 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_HOUR_MICROSECOND; } break; case 1382: /* Line 1455 of yacc.c */ -#line 9750 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9750 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_HOUR_MINUTE; } break; case 1383: /* Line 1455 of yacc.c */ -#line 9751 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9751 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_HOUR_SECOND; } break; case 1384: /* Line 1455 of yacc.c */ -#line 9752 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9752 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_MINUTE_MICROSECOND; } break; case 1385: /* Line 1455 of yacc.c */ -#line 9753 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9753 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_MINUTE_SECOND; } break; case 1386: /* Line 1455 of yacc.c */ -#line 9754 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9754 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_SECOND_MICROSECOND; } break; case 1387: /* Line 1455 of yacc.c */ -#line 9755 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9755 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_YEAR_MONTH; } break; case 1388: /* Line 1455 of yacc.c */ -#line 9759 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9759 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_DAY; } break; case 1389: /* Line 1455 of yacc.c */ -#line 9760 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9760 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_WEEK; } break; case 1390: /* Line 1455 of yacc.c */ -#line 9761 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9761 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_HOUR; } break; case 1391: /* Line 1455 of yacc.c */ -#line 9762 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9762 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_MINUTE; } break; case 1392: /* Line 1455 of yacc.c */ -#line 9763 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9763 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_MONTH; } break; case 1393: /* Line 1455 of yacc.c */ -#line 9764 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9764 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_QUARTER; } break; case 1394: /* Line 1455 of yacc.c */ -#line 9765 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9765 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_SECOND; } break; case 1395: /* Line 1455 of yacc.c */ -#line 9766 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9766 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_MICROSECOND; } break; case 1396: /* Line 1455 of yacc.c */ -#line 9767 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9767 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_YEAR; } break; case 1397: /* Line 1455 of yacc.c */ -#line 9771 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9771 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATE;} break; case 1398: /* Line 1455 of yacc.c */ -#line 9772 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9772 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {(yyval.date_time_type)=MYSQL_TIMESTAMP_TIME;} break; case 1399: /* Line 1455 of yacc.c */ -#line 9773 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9773 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATETIME;} break; case 1400: /* Line 1455 of yacc.c */ -#line 9774 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9774 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATETIME;} break; case 1404: /* Line 1455 of yacc.c */ -#line 9784 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9784 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str_ptr)=0; } break; case 1405: /* Line 1455 of yacc.c */ -#line 9786 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9786 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str_ptr)= (LEX_STRING*) sql_memdup(&(yyvsp[(2) - (2)].lex_str),sizeof(LEX_STRING)); if ((yyval.lex_str_ptr) == NULL) @@ -28953,14 +28953,14 @@ case 1408: /* Line 1455 of yacc.c */ -#line 9799 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9799 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->where= 0; } break; case 1409: /* Line 1455 of yacc.c */ -#line 9801 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9801 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->parsing_place= IN_WHERE; } @@ -28969,7 +28969,7 @@ case 1410: /* Line 1455 of yacc.c */ -#line 9805 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9805 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { SELECT_LEX *select= Select; select->where= (yyvsp[(3) - (3)].item); @@ -28982,7 +28982,7 @@ case 1412: /* Line 1455 of yacc.c */ -#line 9817 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9817 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->parsing_place= IN_HAVING; } @@ -28991,7 +28991,7 @@ case 1413: /* Line 1455 of yacc.c */ -#line 9821 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9821 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { SELECT_LEX *sel= Select; sel->having= (yyvsp[(3) - (3)].item); @@ -29004,7 +29004,7 @@ case 1414: /* Line 1455 of yacc.c */ -#line 9832 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9832 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->escape_used= TRUE; (yyval.item)= (yyvsp[(2) - (2)].item); @@ -29014,7 +29014,7 @@ case 1415: /* Line 1455 of yacc.c */ -#line 9837 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9837 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; Lex->escape_used= FALSE; @@ -29029,28 +29029,28 @@ case 1418: /* Line 1455 of yacc.c */ -#line 9859 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9859 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (add_group_to_list(YYTHD, (yyvsp[(3) - (4)].item),(bool) (yyvsp[(4) - (4)].num))) MYSQL_YYABORT; } break; case 1419: /* Line 1455 of yacc.c */ -#line 9861 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9861 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (add_group_to_list(YYTHD, (yyvsp[(1) - (2)].item),(bool) (yyvsp[(2) - (2)].num))) MYSQL_YYABORT; } break; case 1420: /* Line 1455 of yacc.c */ -#line 9865 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9865 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1421: /* Line 1455 of yacc.c */ -#line 9867 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9867 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* 'WITH CUBE' is reserved in the MySQL syntax, but not implemented, @@ -29075,7 +29075,7 @@ case 1422: /* Line 1455 of yacc.c */ -#line 9887 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9887 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* 'WITH ROLLUP' is needed for backward compatibility, @@ -29098,7 +29098,7 @@ case 1426: /* Line 1455 of yacc.c */ -#line 9921 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9921 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; bool ascending= ((yyvsp[(2) - (2)].num) == 1) ? true : false; @@ -29110,7 +29110,7 @@ case 1429: /* Line 1455 of yacc.c */ -#line 9940 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9940 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; SELECT_LEX *sel= lex->current_select; @@ -29146,42 +29146,42 @@ case 1431: /* Line 1455 of yacc.c */ -#line 9975 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9975 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (add_order_to_list(YYTHD, (yyvsp[(3) - (4)].item),(bool) (yyvsp[(4) - (4)].num))) MYSQL_YYABORT; } break; case 1432: /* Line 1455 of yacc.c */ -#line 9977 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9977 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (add_order_to_list(YYTHD, (yyvsp[(1) - (2)].item),(bool) (yyvsp[(2) - (2)].num))) MYSQL_YYABORT; } break; case 1433: /* Line 1455 of yacc.c */ -#line 9981 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9981 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num) = 1; } break; case 1434: /* Line 1455 of yacc.c */ -#line 9982 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9982 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num) =1; } break; case 1435: /* Line 1455 of yacc.c */ -#line 9983 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9983 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num) =0; } break; case 1436: /* Line 1455 of yacc.c */ -#line 9988 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9988 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; SELECT_LEX *sel= lex->current_select; @@ -29193,28 +29193,28 @@ case 1437: /* Line 1455 of yacc.c */ -#line 9994 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9994 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1438: /* Line 1455 of yacc.c */ -#line 9998 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9998 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1439: /* Line 1455 of yacc.c */ -#line 9999 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 9999 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1440: /* Line 1455 of yacc.c */ -#line 10004 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10004 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT); } @@ -29223,7 +29223,7 @@ case 1441: /* Line 1455 of yacc.c */ -#line 10011 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10011 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { SELECT_LEX *sel= Select; sel->select_limit= (yyvsp[(1) - (1)].item); @@ -29235,7 +29235,7 @@ case 1442: /* Line 1455 of yacc.c */ -#line 10018 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10018 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { SELECT_LEX *sel= Select; sel->select_limit= (yyvsp[(3) - (3)].item); @@ -29247,7 +29247,7 @@ case 1443: /* Line 1455 of yacc.c */ -#line 10025 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10025 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { SELECT_LEX *sel= Select; sel->select_limit= (yyvsp[(1) - (3)].item); @@ -29259,7 +29259,7 @@ case 1444: /* Line 1455 of yacc.c */ -#line 10035 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10035 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Item_splocal *splocal; THD *thd= YYTHD; @@ -29298,7 +29298,7 @@ case 1445: /* Line 1455 of yacc.c */ -#line 10069 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10069 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { ((Item_param *) (yyvsp[(1) - (1)].item))->limit_clause_param= TRUE; } @@ -29307,7 +29307,7 @@ case 1446: /* Line 1455 of yacc.c */ -#line 10073 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10073 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_uint((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); if ((yyval.item) == NULL) @@ -29318,7 +29318,7 @@ case 1447: /* Line 1455 of yacc.c */ -#line 10079 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10079 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_uint((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); if ((yyval.item) == NULL) @@ -29329,7 +29329,7 @@ case 1448: /* Line 1455 of yacc.c */ -#line 10085 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10085 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_uint((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); if ((yyval.item) == NULL) @@ -29340,7 +29340,7 @@ case 1449: /* Line 1455 of yacc.c */ -#line 10094 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10094 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->current_select->select_limit= 0; @@ -29350,7 +29350,7 @@ case 1450: /* Line 1455 of yacc.c */ -#line 10099 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10099 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { SELECT_LEX *sel= Select; sel->select_limit= (yyvsp[(2) - (2)].item); @@ -29362,154 +29362,154 @@ case 1451: /* Line 1455 of yacc.c */ -#line 10108 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10108 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1452: /* Line 1455 of yacc.c */ -#line 10109 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10109 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.ulong_num)= (ulong) strtol((yyvsp[(1) - (1)].lex_str).str, (char**) 0, 16); } break; case 1453: /* Line 1455 of yacc.c */ -#line 10110 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10110 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1454: /* Line 1455 of yacc.c */ -#line 10111 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10111 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1455: /* Line 1455 of yacc.c */ -#line 10112 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10112 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1456: /* Line 1455 of yacc.c */ -#line 10113 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10113 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1457: /* Line 1455 of yacc.c */ -#line 10117 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10117 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1458: /* Line 1455 of yacc.c */ -#line 10118 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10118 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.ulong_num)= (ulong) strtol((yyvsp[(1) - (1)].lex_str).str, (char**) 0, 16); } break; case 1459: /* Line 1455 of yacc.c */ -#line 10119 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10119 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1460: /* Line 1455 of yacc.c */ -#line 10120 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10120 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1461: /* Line 1455 of yacc.c */ -#line 10121 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10121 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT; } break; case 1462: /* Line 1455 of yacc.c */ -#line 10125 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10125 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1463: /* Line 1455 of yacc.c */ -#line 10126 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10126 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1464: /* Line 1455 of yacc.c */ -#line 10127 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10127 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1465: /* Line 1455 of yacc.c */ -#line 10128 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10128 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1466: /* Line 1455 of yacc.c */ -#line 10129 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10129 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1467: /* Line 1455 of yacc.c */ -#line 10133 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10133 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1468: /* Line 1455 of yacc.c */ -#line 10134 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10134 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1469: /* Line 1455 of yacc.c */ -#line 10135 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10135 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1470: /* Line 1455 of yacc.c */ -#line 10136 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10136 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT; } break; case 1471: /* Line 1455 of yacc.c */ -#line 10141 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10141 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { my_parse_error(ER(ER_ONLY_INTEGERS_ALLOWED)); } break; case 1475: /* Line 1455 of yacc.c */ -#line 10152 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10152 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; @@ -29541,21 +29541,21 @@ case 1477: /* Line 1455 of yacc.c */ -#line 10182 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10182 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1478: /* Line 1455 of yacc.c */ -#line 10183 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10183 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1481: /* Line 1455 of yacc.c */ -#line 10193 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10193 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; @@ -29569,7 +29569,7 @@ case 1482: /* Line 1455 of yacc.c */ -#line 10204 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10204 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (!lex->describe && (!(lex->result= new select_dumpvar()))) @@ -29580,21 +29580,21 @@ case 1483: /* Line 1455 of yacc.c */ -#line 10210 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10210 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1485: /* Line 1455 of yacc.c */ -#line 10215 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10215 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1486: /* Line 1455 of yacc.c */ -#line 10220 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10220 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (lex->result) @@ -29618,7 +29618,7 @@ case 1487: /* Line 1455 of yacc.c */ -#line 10239 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10239 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; sp_variable_t *t; @@ -29652,7 +29652,7 @@ case 1488: /* Line 1455 of yacc.c */ -#line 10271 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10271 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (! Lex->parsing_options.allows_select_into) { @@ -29665,7 +29665,7 @@ case 1490: /* Line 1455 of yacc.c */ -#line 10283 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10283 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->uncacheable(UNCACHEABLE_SIDEEFFECT); @@ -29678,14 +29678,14 @@ case 1491: /* Line 1455 of yacc.c */ -#line 10291 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10291 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->exchange->cs= (yyvsp[(4) - (4)].charset); } break; case 1493: /* Line 1455 of yacc.c */ -#line 10294 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10294 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (!lex->describe) @@ -29702,7 +29702,7 @@ case 1494: /* Line 1455 of yacc.c */ -#line 10306 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10306 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->uncacheable(UNCACHEABLE_SIDEEFFECT); } @@ -29711,7 +29711,7 @@ case 1495: /* Line 1455 of yacc.c */ -#line 10317 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10317 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_DO; @@ -29722,7 +29722,7 @@ case 1496: /* Line 1455 of yacc.c */ -#line 10323 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10323 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->insert_list= (yyvsp[(3) - (3)].item_list); } @@ -29731,7 +29731,7 @@ case 1497: /* Line 1455 of yacc.c */ -#line 10334 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10334 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_DROP_TABLE; @@ -29745,21 +29745,21 @@ case 1498: /* Line 1455 of yacc.c */ -#line 10343 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10343 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1499: /* Line 1455 of yacc.c */ -#line 10344 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10344 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1500: /* Line 1455 of yacc.c */ -#line 10345 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10345 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; Alter_drop *ad= new Alter_drop(Alter_drop::KEY, (yyvsp[(3) - (6)].lex_str).str); @@ -29780,7 +29780,7 @@ case 1501: /* Line 1455 of yacc.c */ -#line 10361 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10361 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_DROP_DB; @@ -29792,7 +29792,7 @@ case 1502: /* Line 1455 of yacc.c */ -#line 10368 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10368 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -29820,7 +29820,7 @@ case 1503: /* Line 1455 of yacc.c */ -#line 10391 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10391 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -29846,7 +29846,7 @@ case 1504: /* Line 1455 of yacc.c */ -#line 10412 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10412 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (lex->sphead) @@ -29863,7 +29863,7 @@ case 1505: /* Line 1455 of yacc.c */ -#line 10424 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10424 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_DROP_USER; } @@ -29872,7 +29872,7 @@ case 1506: /* Line 1455 of yacc.c */ -#line 10428 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10428 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_DROP_VIEW; @@ -29885,14 +29885,14 @@ case 1507: /* Line 1455 of yacc.c */ -#line 10436 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10436 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1508: /* Line 1455 of yacc.c */ -#line 10438 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10438 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->drop_if_exists= (yyvsp[(3) - (4)].num); Lex->spname= (yyvsp[(4) - (4)].spname); @@ -29903,7 +29903,7 @@ case 1509: /* Line 1455 of yacc.c */ -#line 10444 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10444 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_DROP_TRIGGER; @@ -29915,7 +29915,7 @@ case 1510: /* Line 1455 of yacc.c */ -#line 10451 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10451 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_cmd_type= DROP_TABLESPACE; @@ -29925,7 +29925,7 @@ case 1511: /* Line 1455 of yacc.c */ -#line 10456 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10456 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_cmd_type= DROP_LOGFILE_GROUP; @@ -29935,7 +29935,7 @@ case 1512: /* Line 1455 of yacc.c */ -#line 10461 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10461 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_DROP_SERVER; Lex->drop_if_exists= (yyvsp[(3) - (4)].num); @@ -29947,7 +29947,7 @@ case 1515: /* Line 1455 of yacc.c */ -#line 10476 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10476 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (!Select->add_table_to_list(YYTHD, (yyvsp[(1) - (1)].table), NULL, TL_OPTION_UPDATING, @@ -29960,7 +29960,7 @@ case 1518: /* Line 1455 of yacc.c */ -#line 10492 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10492 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (!Select->add_table_to_list(YYTHD, (yyvsp[(1) - (1)].table), NULL, TL_OPTION_UPDATING | TL_OPTION_ALIAS, @@ -29973,35 +29973,35 @@ case 1519: /* Line 1455 of yacc.c */ -#line 10502 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10502 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= 0; } break; case 1520: /* Line 1455 of yacc.c */ -#line 10503 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10503 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= 1; } break; case 1521: /* Line 1455 of yacc.c */ -#line 10507 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10507 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= 0; } break; case 1522: /* Line 1455 of yacc.c */ -#line 10508 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10508 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= 1; } break; case 1523: /* Line 1455 of yacc.c */ -#line 10516 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10516 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_INSERT; @@ -30013,7 +30013,7 @@ case 1524: /* Line 1455 of yacc.c */ -#line 10524 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10524 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->set_lock_for_tables((yyvsp[(3) - (5)].lock_type)); Lex->current_select= &Lex->select_lex; @@ -30023,14 +30023,14 @@ case 1525: /* Line 1455 of yacc.c */ -#line 10529 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10529 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1526: /* Line 1455 of yacc.c */ -#line 10534 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10534 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_REPLACE; @@ -30042,7 +30042,7 @@ case 1527: /* Line 1455 of yacc.c */ -#line 10541 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10541 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->set_lock_for_tables((yyvsp[(3) - (4)].lock_type)); Lex->current_select= &Lex->select_lex; @@ -30052,14 +30052,14 @@ case 1528: /* Line 1455 of yacc.c */ -#line 10546 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10546 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1529: /* Line 1455 of yacc.c */ -#line 10551 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10551 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { #ifdef HAVE_QUERY_CACHE /* @@ -30077,14 +30077,14 @@ case 1530: /* Line 1455 of yacc.c */ -#line 10563 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10563 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; } break; case 1531: /* Line 1455 of yacc.c */ -#line 10565 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10565 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->keyword_delayed_begin_offset= (uint)(YYLIP->get_tok_start() - YYTHD->query()); @@ -30097,21 +30097,21 @@ case 1532: /* Line 1455 of yacc.c */ -#line 10572 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10572 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lock_type)= TL_WRITE; } break; case 1533: /* Line 1455 of yacc.c */ -#line 10576 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10576 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lock_type)= (yyvsp[(1) - (1)].lock_type); } break; case 1534: /* Line 1455 of yacc.c */ -#line 10578 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10578 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->keyword_delayed_begin_offset= (uint)(YYLIP->get_tok_start() - YYTHD->query()); @@ -30124,21 +30124,21 @@ case 1535: /* Line 1455 of yacc.c */ -#line 10588 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10588 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1536: /* Line 1455 of yacc.c */ -#line 10589 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10589 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1537: /* Line 1455 of yacc.c */ -#line 10594 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10594 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->field_list.empty(); @@ -30150,28 +30150,28 @@ case 1538: /* Line 1455 of yacc.c */ -#line 10602 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10602 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1539: /* Line 1455 of yacc.c */ -#line 10603 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10603 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1540: /* Line 1455 of yacc.c */ -#line 10604 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10604 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1541: /* Line 1455 of yacc.c */ -#line 10606 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10606 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (!(lex->insert_list = new List_item) || @@ -30183,63 +30183,63 @@ case 1543: /* Line 1455 of yacc.c */ -#line 10616 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10616 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->field_list.push_back((yyvsp[(3) - (3)].item)); } break; case 1544: /* Line 1455 of yacc.c */ -#line 10617 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10617 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->field_list.push_back((yyvsp[(1) - (1)].item)); } break; case 1545: /* Line 1455 of yacc.c */ -#line 10621 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10621 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1546: /* Line 1455 of yacc.c */ -#line 10622 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10622 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1547: /* Line 1455 of yacc.c */ -#line 10624 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10624 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->set_braces(0);} break; case 1548: /* Line 1455 of yacc.c */ -#line 10625 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10625 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1549: /* Line 1455 of yacc.c */ -#line 10627 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10627 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->set_braces(1);} break; case 1550: /* Line 1455 of yacc.c */ -#line 10628 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10628 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1555: /* Line 1455 of yacc.c */ -#line 10643 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10643 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (lex->field_list.push_back((yyvsp[(1) - (3)].item)) || @@ -30251,35 +30251,35 @@ case 1556: /* Line 1455 of yacc.c */ -#line 10652 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10652 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1557: /* Line 1455 of yacc.c */ -#line 10653 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10653 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1558: /* Line 1455 of yacc.c */ -#line 10657 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10657 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1559: /* Line 1455 of yacc.c */ -#line 10658 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10658 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1560: /* Line 1455 of yacc.c */ -#line 10663 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10663 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (!(Lex->insert_list = new List_item)) MYSQL_YYABORT; @@ -30289,7 +30289,7 @@ case 1561: /* Line 1455 of yacc.c */ -#line 10668 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10668 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (lex->many_values.push_back(lex->insert_list)) @@ -30300,14 +30300,14 @@ case 1562: /* Line 1455 of yacc.c */ -#line 10676 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10676 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1564: /* Line 1455 of yacc.c */ -#line 10682 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10682 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (Lex->insert_list->push_back((yyvsp[(3) - (3)].item))) MYSQL_YYABORT; @@ -30317,7 +30317,7 @@ case 1565: /* Line 1455 of yacc.c */ -#line 10687 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10687 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (Lex->insert_list->push_back((yyvsp[(1) - (1)].item))) MYSQL_YYABORT; @@ -30327,14 +30327,14 @@ case 1566: /* Line 1455 of yacc.c */ -#line 10694 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10694 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[(1) - (1)].item);} break; case 1567: /* Line 1455 of yacc.c */ -#line 10696 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10696 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_default_value(Lex->current_context()); if ((yyval.item) == NULL) @@ -30345,14 +30345,14 @@ case 1569: /* Line 1455 of yacc.c */ -#line 10705 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10705 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->duplicates= DUP_UPDATE; } break; case 1571: /* Line 1455 of yacc.c */ -#line 10713 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10713 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; mysql_init_select(lex); @@ -30364,7 +30364,7 @@ case 1572: /* Line 1455 of yacc.c */ -#line 10721 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10721 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->select_lex.table_list.elements > 1) @@ -30388,14 +30388,14 @@ case 1573: /* Line 1455 of yacc.c */ -#line 10739 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10739 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1576: /* Line 1455 of yacc.c */ -#line 10749 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10749 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (add_item_to_list(YYTHD, (yyvsp[(1) - (3)].item)) || add_value_to_list(YYTHD, (yyvsp[(3) - (3)].item))) MYSQL_YYABORT; @@ -30405,7 +30405,7 @@ case 1579: /* Line 1455 of yacc.c */ -#line 10762 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10762 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->update_list.push_back((yyvsp[(1) - (3)].item)) || @@ -30417,21 +30417,21 @@ case 1580: /* Line 1455 of yacc.c */ -#line 10771 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10771 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_DEFAULT; } break; case 1581: /* Line 1455 of yacc.c */ -#line 10772 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10772 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; } break; case 1582: /* Line 1455 of yacc.c */ -#line 10779 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10779 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_DELETE; @@ -30447,7 +30447,7 @@ case 1584: /* Line 1455 of yacc.c */ -#line 10794 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10794 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (!Select->add_table_to_list(YYTHD, (yyvsp[(2) - (2)].table), NULL, TL_OPTION_UPDATING, YYPS->m_lock_type, @@ -30461,14 +30461,14 @@ case 1585: /* Line 1455 of yacc.c */ -#line 10803 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10803 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1586: /* Line 1455 of yacc.c */ -#line 10805 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10805 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { mysql_init_multi_delete(Lex); YYPS->m_lock_type= TL_READ_DEFAULT; @@ -30479,7 +30479,7 @@ case 1587: /* Line 1455 of yacc.c */ -#line 10811 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10811 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (multi_delete_set_locks_and_link_aux_tables(Lex)) MYSQL_YYABORT; @@ -30489,7 +30489,7 @@ case 1588: /* Line 1455 of yacc.c */ -#line 10816 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10816 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { mysql_init_multi_delete(Lex); YYPS->m_lock_type= TL_READ_DEFAULT; @@ -30500,7 +30500,7 @@ case 1589: /* Line 1455 of yacc.c */ -#line 10822 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10822 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (multi_delete_set_locks_and_link_aux_tables(Lex)) MYSQL_YYABORT; @@ -30510,7 +30510,7 @@ case 1592: /* Line 1455 of yacc.c */ -#line 10835 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10835 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Table_ident *ti= new Table_ident((yyvsp[(1) - (2)].lex_str)); if (ti == NULL) @@ -30528,7 +30528,7 @@ case 1593: /* Line 1455 of yacc.c */ -#line 10848 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10848 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Table_ident *ti= new Table_ident(YYTHD, (yyvsp[(1) - (4)].lex_str), (yyvsp[(3) - (4)].lex_str), 0); if (ti == NULL) @@ -30546,56 +30546,56 @@ case 1594: /* Line 1455 of yacc.c */ -#line 10863 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10863 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1595: /* Line 1455 of yacc.c */ -#line 10864 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10864 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1596: /* Line 1455 of yacc.c */ -#line 10868 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10868 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1597: /* Line 1455 of yacc.c */ -#line 10869 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10869 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1598: /* Line 1455 of yacc.c */ -#line 10873 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10873 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->options|= OPTION_QUICK; } break; case 1599: /* Line 1455 of yacc.c */ -#line 10874 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10874 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { YYPS->m_lock_type= TL_WRITE_LOW_PRIORITY; } break; case 1600: /* Line 1455 of yacc.c */ -#line 10875 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10875 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->ignore= 1; } break; case 1601: /* Line 1455 of yacc.c */ -#line 10880 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10880 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX* lex= Lex; lex->sql_command= SQLCOM_TRUNCATE; @@ -30611,7 +30611,7 @@ case 1602: /* Line 1455 of yacc.c */ -#line 10891 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10891 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX* lex= thd->lex; @@ -30625,7 +30625,7 @@ case 1609: /* Line 1455 of yacc.c */ -#line 10916 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10916 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_CPU; } @@ -30634,7 +30634,7 @@ case 1610: /* Line 1455 of yacc.c */ -#line 10920 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10920 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_MEMORY; } @@ -30643,7 +30643,7 @@ case 1611: /* Line 1455 of yacc.c */ -#line 10924 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10924 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_BLOCK_IO; } @@ -30652,7 +30652,7 @@ case 1612: /* Line 1455 of yacc.c */ -#line 10928 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10928 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_CONTEXT; } @@ -30661,7 +30661,7 @@ case 1613: /* Line 1455 of yacc.c */ -#line 10932 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10932 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_PAGE_FAULTS; } @@ -30670,7 +30670,7 @@ case 1614: /* Line 1455 of yacc.c */ -#line 10936 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10936 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_IPC; } @@ -30679,7 +30679,7 @@ case 1615: /* Line 1455 of yacc.c */ -#line 10940 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10940 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_SWAPS; } @@ -30688,7 +30688,7 @@ case 1616: /* Line 1455 of yacc.c */ -#line 10944 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10944 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_SOURCE; } @@ -30697,7 +30697,7 @@ case 1617: /* Line 1455 of yacc.c */ -#line 10948 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10948 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_ALL; } @@ -30706,7 +30706,7 @@ case 1618: /* Line 1455 of yacc.c */ -#line 10955 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10955 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->profile_query_id= 0; } @@ -30715,7 +30715,7 @@ case 1619: /* Line 1455 of yacc.c */ -#line 10959 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10959 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->profile_query_id= atoi((yyvsp[(3) - (3)].lex_str).str); } @@ -30724,7 +30724,7 @@ case 1620: /* Line 1455 of yacc.c */ -#line 10968 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10968 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->wild=0; @@ -30737,7 +30737,7 @@ case 1621: /* Line 1455 of yacc.c */ -#line 10976 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10976 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->parsing_place= NO_MATTER; } @@ -30746,7 +30746,7 @@ case 1622: /* Line 1455 of yacc.c */ -#line 10983 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10983 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_DATABASES; @@ -30758,7 +30758,7 @@ case 1623: /* Line 1455 of yacc.c */ -#line 10990 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10990 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_TABLES; @@ -30771,7 +30771,7 @@ case 1624: /* Line 1455 of yacc.c */ -#line 10998 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 10998 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_TRIGGERS; @@ -30784,7 +30784,7 @@ case 1625: /* Line 1455 of yacc.c */ -#line 11006 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11006 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_EVENTS; @@ -30797,7 +30797,7 @@ case 1626: /* Line 1455 of yacc.c */ -#line 11014 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11014 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_TABLE_STATUS; @@ -30810,7 +30810,7 @@ case 1627: /* Line 1455 of yacc.c */ -#line 11022 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11022 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_OPEN_TABLES; @@ -30823,7 +30823,7 @@ case 1628: /* Line 1455 of yacc.c */ -#line 11030 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11030 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_PLUGINS; @@ -30835,21 +30835,21 @@ case 1629: /* Line 1455 of yacc.c */ -#line 11037 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11037 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_info.db_type= (yyvsp[(2) - (3)].db_type); } break; case 1630: /* Line 1455 of yacc.c */ -#line 11039 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11039 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_info.db_type= NULL; } break; case 1631: /* Line 1455 of yacc.c */ -#line 11041 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11041 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_FIELDS; @@ -30863,7 +30863,7 @@ case 1632: /* Line 1455 of yacc.c */ -#line 11050 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11050 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_BINLOGS; } @@ -30872,7 +30872,7 @@ case 1633: /* Line 1455 of yacc.c */ -#line 11054 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11054 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_SLAVE_HOSTS; } @@ -30881,7 +30881,7 @@ case 1634: /* Line 1455 of yacc.c */ -#line 11058 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11058 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_BINLOG_EVENTS; @@ -30891,7 +30891,7 @@ case 1636: /* Line 1455 of yacc.c */ -#line 11063 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11063 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_RELAYLOG_EVENTS; @@ -30901,7 +30901,7 @@ case 1638: /* Line 1455 of yacc.c */ -#line 11068 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11068 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_KEYS; @@ -30915,7 +30915,7 @@ case 1639: /* Line 1455 of yacc.c */ -#line 11077 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11077 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_STORAGE_ENGINES; @@ -30927,7 +30927,7 @@ case 1640: /* Line 1455 of yacc.c */ -#line 11084 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11084 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_AUTHORS; @@ -30941,7 +30941,7 @@ case 1641: /* Line 1455 of yacc.c */ -#line 11093 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11093 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_CONTRIBUTORS; @@ -30955,7 +30955,7 @@ case 1642: /* Line 1455 of yacc.c */ -#line 11102 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11102 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_PRIVILEGES; @@ -30965,42 +30965,42 @@ case 1643: /* Line 1455 of yacc.c */ -#line 11107 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11107 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (void) create_select_for_variable("warning_count"); } break; case 1644: /* Line 1455 of yacc.c */ -#line 11109 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11109 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (void) create_select_for_variable("error_count"); } break; case 1645: /* Line 1455 of yacc.c */ -#line 11111 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11111 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_WARNS;} break; case 1646: /* Line 1455 of yacc.c */ -#line 11113 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11113 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_ERRORS;} break; case 1647: /* Line 1455 of yacc.c */ -#line 11115 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11115 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_PROFILES; } break; case 1648: /* Line 1455 of yacc.c */ -#line 11117 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11117 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_PROFILE; @@ -31012,7 +31012,7 @@ case 1649: /* Line 1455 of yacc.c */ -#line 11124 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11124 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_STATUS; @@ -31025,14 +31025,14 @@ case 1650: /* Line 1455 of yacc.c */ -#line 11132 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11132 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_PROCESSLIST;} break; case 1651: /* Line 1455 of yacc.c */ -#line 11134 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11134 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_VARIABLES; @@ -31045,7 +31045,7 @@ case 1652: /* Line 1455 of yacc.c */ -#line 11142 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11142 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_CHARSETS; @@ -31057,7 +31057,7 @@ case 1653: /* Line 1455 of yacc.c */ -#line 11149 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11149 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_COLLATIONS; @@ -31069,7 +31069,7 @@ case 1654: /* Line 1455 of yacc.c */ -#line 11156 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11156 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_GRANTS; @@ -31084,7 +31084,7 @@ case 1655: /* Line 1455 of yacc.c */ -#line 11166 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11166 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_GRANTS; @@ -31096,7 +31096,7 @@ case 1656: /* Line 1455 of yacc.c */ -#line 11173 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11173 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command=SQLCOM_SHOW_CREATE_DB; Lex->create_info.options=(yyvsp[(3) - (4)].num); @@ -31107,7 +31107,7 @@ case 1657: /* Line 1455 of yacc.c */ -#line 11179 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11179 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command = SQLCOM_SHOW_CREATE; @@ -31121,7 +31121,7 @@ case 1658: /* Line 1455 of yacc.c */ -#line 11188 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11188 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command = SQLCOM_SHOW_CREATE; @@ -31134,7 +31134,7 @@ case 1659: /* Line 1455 of yacc.c */ -#line 11196 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11196 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_MASTER_STAT; } @@ -31143,7 +31143,7 @@ case 1660: /* Line 1455 of yacc.c */ -#line 11200 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11200 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_SLAVE_STAT; } @@ -31152,7 +31152,7 @@ case 1661: /* Line 1455 of yacc.c */ -#line 11204 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11204 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; @@ -31164,7 +31164,7 @@ case 1662: /* Line 1455 of yacc.c */ -#line 11211 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11211 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; @@ -31176,7 +31176,7 @@ case 1663: /* Line 1455 of yacc.c */ -#line 11218 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11218 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_CREATE_TRIGGER; @@ -31187,7 +31187,7 @@ case 1664: /* Line 1455 of yacc.c */ -#line 11224 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11224 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_STATUS_PROC; @@ -31199,7 +31199,7 @@ case 1665: /* Line 1455 of yacc.c */ -#line 11231 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11231 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_STATUS_FUNC; @@ -31211,7 +31211,7 @@ case 1666: /* Line 1455 of yacc.c */ -#line 11238 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11238 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_PROC_CODE; Lex->spname= (yyvsp[(3) - (3)].spname); @@ -31221,7 +31221,7 @@ case 1667: /* Line 1455 of yacc.c */ -#line 11243 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11243 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_FUNC_CODE; Lex->spname= (yyvsp[(3) - (3)].spname); @@ -31231,7 +31231,7 @@ case 1668: /* Line 1455 of yacc.c */ -#line 11248 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11248 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->spname= (yyvsp[(3) - (3)].spname); Lex->sql_command = SQLCOM_SHOW_CREATE_EVENT; @@ -31241,84 +31241,84 @@ case 1669: /* Line 1455 of yacc.c */ -#line 11256 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11256 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_ENGINE_STATUS; } break; case 1670: /* Line 1455 of yacc.c */ -#line 11258 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11258 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_ENGINE_MUTEX; } break; case 1671: /* Line 1455 of yacc.c */ -#line 11260 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11260 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_ENGINE_LOGS; } break; case 1676: /* Line 1455 of yacc.c */ -#line 11274 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11274 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.simple_string)= 0; } break; case 1677: /* Line 1455 of yacc.c */ -#line 11275 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11275 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.simple_string)= (yyvsp[(2) - (2)].lex_str).str; } break; case 1678: /* Line 1455 of yacc.c */ -#line 11279 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11279 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->verbose=0; } break; case 1679: /* Line 1455 of yacc.c */ -#line 11280 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11280 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->verbose=1; } break; case 1682: /* Line 1455 of yacc.c */ -#line 11289 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11289 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->mi.log_file_name = 0; } break; case 1683: /* Line 1455 of yacc.c */ -#line 11290 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11290 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->mi.log_file_name = (yyvsp[(2) - (2)].lex_str).str; } break; case 1684: /* Line 1455 of yacc.c */ -#line 11294 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11294 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->mi.pos = 4; /* skip magic number */ } break; case 1685: /* Line 1455 of yacc.c */ -#line 11295 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11295 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->mi.pos = (yyvsp[(2) - (2)].ulonglong_number); } break; case 1687: /* Line 1455 of yacc.c */ -#line 11301 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11301 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->wild= new (YYTHD->mem_root) String((yyvsp[(2) - (2)].lex_str).str, (yyvsp[(2) - (2)].lex_str).length, system_charset_info); @@ -31330,7 +31330,7 @@ case 1688: /* Line 1455 of yacc.c */ -#line 11308 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11308 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->where= (yyvsp[(2) - (2)].item); if ((yyvsp[(2) - (2)].item)) @@ -31341,7 +31341,7 @@ case 1689: /* Line 1455 of yacc.c */ -#line 11318 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11318 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; mysql_init_select(lex); @@ -31357,7 +31357,7 @@ case 1690: /* Line 1455 of yacc.c */ -#line 11329 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11329 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->parsing_place= NO_MATTER; } @@ -31366,14 +31366,14 @@ case 1691: /* Line 1455 of yacc.c */ -#line 11333 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11333 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->describe|= DESCRIBE_NORMAL; } break; case 1692: /* Line 1455 of yacc.c */ -#line 11335 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11335 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->select_lex.options|= SELECT_DESCRIBE; @@ -31383,42 +31383,42 @@ case 1695: /* Line 1455 of yacc.c */ -#line 11347 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11347 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1696: /* Line 1455 of yacc.c */ -#line 11348 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11348 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->describe|= DESCRIBE_EXTENDED; } break; case 1697: /* Line 1455 of yacc.c */ -#line 11349 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11349 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->describe|= DESCRIBE_PARTITIONS; } break; case 1698: /* Line 1455 of yacc.c */ -#line 11353 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11353 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1699: /* Line 1455 of yacc.c */ -#line 11354 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11354 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->wild= (yyvsp[(1) - (1)].string); } break; case 1700: /* Line 1455 of yacc.c */ -#line 11356 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11356 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->wild= new (YYTHD->mem_root) String((const char*) (yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length, @@ -31431,7 +31431,7 @@ case 1701: /* Line 1455 of yacc.c */ -#line 11370 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11370 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_FLUSH; @@ -31443,14 +31443,14 @@ case 1702: /* Line 1455 of yacc.c */ -#line 11377 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11377 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1703: /* Line 1455 of yacc.c */ -#line 11382 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11382 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_TABLES; /* @@ -31465,28 +31465,28 @@ case 1704: /* Line 1455 of yacc.c */ -#line 11391 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11391 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1705: /* Line 1455 of yacc.c */ -#line 11392 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11392 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1707: /* Line 1455 of yacc.c */ -#line 11397 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11397 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1708: /* Line 1455 of yacc.c */ -#line 11399 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11399 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { TABLE_LIST *tables= Lex->query_tables; Lex->type|= REFRESH_READ_LOCK; @@ -31502,91 +31502,91 @@ case 1710: /* Line 1455 of yacc.c */ -#line 11414 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11414 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1711: /* Line 1455 of yacc.c */ -#line 11419 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11419 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_ERROR_LOG; } break; case 1712: /* Line 1455 of yacc.c */ -#line 11421 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11421 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_ENGINE_LOG; } break; case 1713: /* Line 1455 of yacc.c */ -#line 11423 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11423 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_GENERAL_LOG; } break; case 1714: /* Line 1455 of yacc.c */ -#line 11425 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11425 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_SLOW_LOG; } break; case 1715: /* Line 1455 of yacc.c */ -#line 11427 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11427 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_BINARY_LOG; } break; case 1716: /* Line 1455 of yacc.c */ -#line 11429 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11429 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_RELAY_LOG; } break; case 1717: /* Line 1455 of yacc.c */ -#line 11431 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11431 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_QUERY_CACHE_FREE; } break; case 1718: /* Line 1455 of yacc.c */ -#line 11433 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11433 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_HOSTS; } break; case 1719: /* Line 1455 of yacc.c */ -#line 11435 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11435 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_GRANT; } break; case 1720: /* Line 1455 of yacc.c */ -#line 11437 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11437 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_LOG; } break; case 1721: /* Line 1455 of yacc.c */ -#line 11439 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11439 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_STATUS; } break; case 1722: /* Line 1455 of yacc.c */ -#line 11441 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11441 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_SLAVE; Lex->reset_slave_info.all= false; @@ -31596,42 +31596,42 @@ case 1723: /* Line 1455 of yacc.c */ -#line 11446 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11446 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_MASTER; } break; case 1724: /* Line 1455 of yacc.c */ -#line 11448 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11448 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_DES_KEY_FILE; } break; case 1725: /* Line 1455 of yacc.c */ -#line 11450 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11450 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_USER_RESOURCES; } break; case 1726: /* Line 1455 of yacc.c */ -#line 11454 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11454 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1727: /* Line 1455 of yacc.c */ -#line 11455 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11455 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1728: /* Line 1455 of yacc.c */ -#line 11460 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11460 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_RESET; lex->type=0; @@ -31641,56 +31641,56 @@ case 1729: /* Line 1455 of yacc.c */ -#line 11465 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11465 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1732: /* Line 1455 of yacc.c */ -#line 11474 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11474 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_SLAVE; } break; case 1733: /* Line 1455 of yacc.c */ -#line 11475 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11475 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { } break; case 1734: /* Line 1455 of yacc.c */ -#line 11476 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11476 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_MASTER; } break; case 1735: /* Line 1455 of yacc.c */ -#line 11477 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11477 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_QUERY_CACHE;} break; case 1736: /* Line 1455 of yacc.c */ -#line 11481 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11481 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->reset_slave_info.all= false; } break; case 1737: /* Line 1455 of yacc.c */ -#line 11482 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11482 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->reset_slave_info.all= true; } break; case 1738: /* Line 1455 of yacc.c */ -#line 11487 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11487 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->type=0; @@ -31701,14 +31701,14 @@ case 1739: /* Line 1455 of yacc.c */ -#line 11493 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11493 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1741: /* Line 1455 of yacc.c */ -#line 11502 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11502 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->to_log = (yyvsp[(2) - (2)].lex_str).str; } @@ -31717,7 +31717,7 @@ case 1742: /* Line 1455 of yacc.c */ -#line 11506 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11506 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->value_list.empty(); @@ -31729,7 +31729,7 @@ case 1743: /* Line 1455 of yacc.c */ -#line 11518 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11518 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->value_list.empty(); @@ -31741,28 +31741,28 @@ case 1744: /* Line 1455 of yacc.c */ -#line 11527 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11527 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type= 0; } break; case 1745: /* Line 1455 of yacc.c */ -#line 11528 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11528 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type= 0; } break; case 1746: /* Line 1455 of yacc.c */ -#line 11529 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11529 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->type= ONLY_KILL_QUERY; } break; case 1747: /* Line 1455 of yacc.c */ -#line 11536 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11536 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command=SQLCOM_CHANGE_DB; @@ -31773,7 +31773,7 @@ case 1748: /* Line 1455 of yacc.c */ -#line 11547 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11547 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -31790,7 +31790,7 @@ case 1749: /* Line 1455 of yacc.c */ -#line 11559 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11559 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_LOAD; @@ -31805,7 +31805,7 @@ case 1750: /* Line 1455 of yacc.c */ -#line 11569 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11569 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (!Select->add_table_to_list(YYTHD, (yyvsp[(12) - (12)].table), NULL, TL_OPTION_UPDATING, @@ -31820,56 +31820,56 @@ case 1751: /* Line 1455 of yacc.c */ -#line 11579 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11579 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->exchange->cs= (yyvsp[(14) - (14)].charset); } break; case 1752: /* Line 1455 of yacc.c */ -#line 11583 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11583 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1753: /* Line 1455 of yacc.c */ -#line 11587 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11587 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.filetype)= FILETYPE_CSV; } break; case 1754: /* Line 1455 of yacc.c */ -#line 11588 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11588 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.filetype)= FILETYPE_XML; } break; case 1755: /* Line 1455 of yacc.c */ -#line 11592 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11592 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=0;} break; case 1756: /* Line 1455 of yacc.c */ -#line 11593 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11593 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=1;} break; case 1757: /* Line 1455 of yacc.c */ -#line 11597 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11597 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_DEFAULT; } break; case 1758: /* Line 1455 of yacc.c */ -#line 11599 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11599 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { #ifdef HAVE_QUERY_CACHE /* @@ -31886,35 +31886,35 @@ case 1759: /* Line 1455 of yacc.c */ -#line 11610 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11610 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; } break; case 1760: /* Line 1455 of yacc.c */ -#line 11614 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11614 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->duplicates=DUP_ERROR; } break; case 1761: /* Line 1455 of yacc.c */ -#line 11615 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11615 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->duplicates=DUP_REPLACE; } break; case 1762: /* Line 1455 of yacc.c */ -#line 11616 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11616 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->ignore= 1; } break; case 1767: /* Line 1455 of yacc.c */ -#line 11631 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11631 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { DBUG_ASSERT(Lex->exchange != 0); Lex->exchange->field_term= (yyvsp[(3) - (3)].string); @@ -31924,7 +31924,7 @@ case 1768: /* Line 1455 of yacc.c */ -#line 11636 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11636 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; DBUG_ASSERT(lex->exchange != 0); @@ -31936,7 +31936,7 @@ case 1769: /* Line 1455 of yacc.c */ -#line 11643 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11643 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { DBUG_ASSERT(Lex->exchange != 0); Lex->exchange->enclosed= (yyvsp[(3) - (3)].string); @@ -31946,7 +31946,7 @@ case 1770: /* Line 1455 of yacc.c */ -#line 11648 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11648 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { DBUG_ASSERT(Lex->exchange != 0); Lex->exchange->escaped= (yyvsp[(3) - (3)].string); @@ -31956,7 +31956,7 @@ case 1775: /* Line 1455 of yacc.c */ -#line 11666 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11666 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { DBUG_ASSERT(Lex->exchange != 0); Lex->exchange->line_term= (yyvsp[(3) - (3)].string); @@ -31966,7 +31966,7 @@ case 1776: /* Line 1455 of yacc.c */ -#line 11671 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11671 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { DBUG_ASSERT(Lex->exchange != 0); Lex->exchange->line_start= (yyvsp[(3) - (3)].string); @@ -31976,21 +31976,21 @@ case 1777: /* Line 1455 of yacc.c */ -#line 11678 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11678 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { } break; case 1778: /* Line 1455 of yacc.c */ -#line 11680 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11680 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->exchange->line_term = (yyvsp[(4) - (4)].string); } break; case 1780: /* Line 1455 of yacc.c */ -#line 11685 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11685 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { DBUG_ASSERT(Lex->exchange != 0); Lex->exchange->skip_lines= atol((yyvsp[(2) - (3)].lex_str).str); @@ -32000,63 +32000,63 @@ case 1781: /* Line 1455 of yacc.c */ -#line 11692 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11692 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { } break; case 1782: /* Line 1455 of yacc.c */ -#line 11694 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11694 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { } break; case 1783: /* Line 1455 of yacc.c */ -#line 11698 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11698 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1784: /* Line 1455 of yacc.c */ -#line 11699 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11699 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1785: /* Line 1455 of yacc.c */ -#line 11700 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11700 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1786: /* Line 1455 of yacc.c */ -#line 11705 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11705 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->field_list.push_back((yyvsp[(3) - (3)].item)); } break; case 1787: /* Line 1455 of yacc.c */ -#line 11707 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11707 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->field_list.push_back((yyvsp[(1) - (1)].item)); } break; case 1788: /* Line 1455 of yacc.c */ -#line 11711 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11711 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {(yyval.item)= (yyvsp[(1) - (1)].item);} break; case 1789: /* Line 1455 of yacc.c */ -#line 11713 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11713 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_user_var_as_out_param((yyvsp[(2) - (2)].lex_str)); if ((yyval.item) == NULL) @@ -32067,21 +32067,21 @@ case 1790: /* Line 1455 of yacc.c */ -#line 11721 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11721 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1791: /* Line 1455 of yacc.c */ -#line 11722 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11722 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1794: /* Line 1455 of yacc.c */ -#line 11732 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11732 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; uint length= (uint) ((yyvsp[(5) - (5)].simple_string) - (yyvsp[(3) - (5)].simple_string)); @@ -32101,7 +32101,7 @@ case 1795: /* Line 1455 of yacc.c */ -#line 11752 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11752 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX_STRING tmp; THD *thd= YYTHD; @@ -32130,7 +32130,7 @@ case 1796: /* Line 1455 of yacc.c */ -#line 11776 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11776 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { uint repertoire= Lex->text_string_is_7bit ? MY_REPERTOIRE_ASCII : MY_REPERTOIRE_UNICODE30; @@ -32147,7 +32147,7 @@ case 1797: /* Line 1455 of yacc.c */ -#line 11788 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11788 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Item_string *str= new (YYTHD->mem_root) Item_string((yyvsp[(2) - (2)].lex_str).str, (yyvsp[(2) - (2)].lex_str).length, (yyvsp[(1) - (2)].charset)); @@ -32163,7 +32163,7 @@ case 1798: /* Line 1455 of yacc.c */ -#line 11799 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11799 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Item_string* item= (Item_string*) (yyvsp[(1) - (2)].item); item->append((yyvsp[(2) - (2)].lex_str).str, (yyvsp[(2) - (2)].lex_str).length); @@ -32184,7 +32184,7 @@ case 1799: /* Line 1455 of yacc.c */ -#line 11818 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11818 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.string)= new (YYTHD->mem_root) String((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length, @@ -32197,7 +32197,7 @@ case 1800: /* Line 1455 of yacc.c */ -#line 11826 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11826 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Item *tmp= new (YYTHD->mem_root) Item_hex_string((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); if (tmp == NULL) @@ -32214,7 +32214,7 @@ case 1801: /* Line 1455 of yacc.c */ -#line 11838 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11838 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Item *tmp= new (YYTHD->mem_root) Item_bin_string((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); if (tmp == NULL) @@ -32231,7 +32231,7 @@ case 1802: /* Line 1455 of yacc.c */ -#line 11853 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11853 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -32254,21 +32254,21 @@ case 1803: /* Line 1455 of yacc.c */ -#line 11873 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11873 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item) = (yyvsp[(1) - (1)].item); } break; case 1804: /* Line 1455 of yacc.c */ -#line 11874 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11874 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item) = (yyvsp[(2) - (2)].item_num); } break; case 1805: /* Line 1455 of yacc.c */ -#line 11876 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11876 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyvsp[(2) - (2)].item_num)->max_length++; (yyval.item)= (yyvsp[(2) - (2)].item_num)->neg(); @@ -32278,21 +32278,21 @@ case 1806: /* Line 1455 of yacc.c */ -#line 11883 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11883 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item) = (yyvsp[(1) - (1)].item); } break; case 1807: /* Line 1455 of yacc.c */ -#line 11884 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11884 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item) = (yyvsp[(1) - (1)].item_num); } break; case 1808: /* Line 1455 of yacc.c */ -#line 11886 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11886 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item) = new (YYTHD->mem_root) Item_null(); if ((yyval.item) == NULL) @@ -32304,7 +32304,7 @@ case 1809: /* Line 1455 of yacc.c */ -#line 11893 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11893 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_int((char*) "FALSE",0,1); if ((yyval.item) == NULL) @@ -32315,7 +32315,7 @@ case 1810: /* Line 1455 of yacc.c */ -#line 11899 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11899 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_int((char*) "TRUE",1,1); if ((yyval.item) == NULL) @@ -32326,7 +32326,7 @@ case 1811: /* Line 1455 of yacc.c */ -#line 11905 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11905 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item) = new (YYTHD->mem_root) Item_hex_string((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); if ((yyval.item) == NULL) @@ -32337,7 +32337,7 @@ case 1812: /* Line 1455 of yacc.c */ -#line 11911 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11911 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_bin_string((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); if ((yyval.item) == NULL) @@ -32348,7 +32348,7 @@ case 1813: /* Line 1455 of yacc.c */ -#line 11917 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11917 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Item *tmp= new (YYTHD->mem_root) Item_hex_string((yyvsp[(2) - (2)].lex_str).str, (yyvsp[(2) - (2)].lex_str).length); if (tmp == NULL) @@ -32382,7 +32382,7 @@ case 1814: /* Line 1455 of yacc.c */ -#line 11946 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11946 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Item *tmp= new (YYTHD->mem_root) Item_bin_string((yyvsp[(2) - (2)].lex_str).str, (yyvsp[(2) - (2)].lex_str).length); if (tmp == NULL) @@ -32415,28 +32415,28 @@ case 1815: /* Line 1455 of yacc.c */ -#line 11973 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11973 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item) = (yyvsp[(2) - (2)].item); } break; case 1816: /* Line 1455 of yacc.c */ -#line 11974 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11974 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item) = (yyvsp[(2) - (2)].item); } break; case 1817: /* Line 1455 of yacc.c */ -#line 11975 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11975 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item) = (yyvsp[(2) - (2)].item); } break; case 1818: /* Line 1455 of yacc.c */ -#line 11980 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11980 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { int error; (yyval.item_num)= new (YYTHD->mem_root) @@ -32451,7 +32451,7 @@ case 1819: /* Line 1455 of yacc.c */ -#line 11990 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 11990 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { int error; (yyval.item_num)= new (YYTHD->mem_root) @@ -32466,7 +32466,7 @@ case 1820: /* Line 1455 of yacc.c */ -#line 12000 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12000 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item_num)= new (YYTHD->mem_root) Item_uint((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); if ((yyval.item_num) == NULL) @@ -32477,7 +32477,7 @@ case 1821: /* Line 1455 of yacc.c */ -#line 12006 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12006 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item_num)= new (YYTHD->mem_root) Item_decimal((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length, YYTHD->charset()); @@ -32491,7 +32491,7 @@ case 1822: /* Line 1455 of yacc.c */ -#line 12015 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12015 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item_num)= new (YYTHD->mem_root) Item_float((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); if (((yyval.item_num) == NULL) || (YYTHD->is_error())) @@ -32504,21 +32504,21 @@ case 1823: /* Line 1455 of yacc.c */ -#line 12029 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12029 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)=(yyvsp[(1) - (1)].item); } break; case 1824: /* Line 1455 of yacc.c */ -#line 12030 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12030 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)=(yyvsp[(1) - (1)].item); } break; case 1825: /* Line 1455 of yacc.c */ -#line 12035 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12035 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { SELECT_LEX *sel= Select; (yyval.item)= new (YYTHD->mem_root) Item_field(Lex->current_context(), @@ -32532,7 +32532,7 @@ case 1826: /* Line 1455 of yacc.c */ -#line 12044 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12044 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; SELECT_LEX *sel= Select; @@ -32550,14 +32550,14 @@ case 1827: /* Line 1455 of yacc.c */ -#line 12059 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12059 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)=(yyvsp[(1) - (1)].item); } break; case 1828: /* Line 1455 of yacc.c */ -#line 12064 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12064 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -32609,14 +32609,14 @@ case 1829: /* Line 1455 of yacc.c */ -#line 12110 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12110 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[(1) - (1)].item); } break; case 1830: /* Line 1455 of yacc.c */ -#line 12115 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12115 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; SELECT_LEX *sel=Select; @@ -32639,14 +32639,14 @@ case 1831: /* Line 1455 of yacc.c */ -#line 12132 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12132 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[(1) - (1)].item); } break; case 1832: /* Line 1455 of yacc.c */ -#line 12137 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12137 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -32730,7 +32730,7 @@ case 1833: /* Line 1455 of yacc.c */ -#line 12216 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12216 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -32760,7 +32760,7 @@ case 1834: /* Line 1455 of yacc.c */ -#line 12241 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12241 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -32793,14 +32793,14 @@ case 1835: /* Line 1455 of yacc.c */ -#line 12271 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12271 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);} break; case 1836: /* Line 1455 of yacc.c */ -#line 12273 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12273 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { TABLE_LIST *table= Select->table_list.first; if (my_strcasecmp(table_alias_charset, (yyvsp[(1) - (5)].lex_str).str, table->db)) @@ -32821,7 +32821,7 @@ case 1837: /* Line 1455 of yacc.c */ -#line 12289 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12289 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { TABLE_LIST *table= Select->table_list.first; if (my_strcasecmp(table_alias_charset, (yyvsp[(1) - (3)].lex_str).str, table->alias)) @@ -32836,14 +32836,14 @@ case 1838: /* Line 1455 of yacc.c */ -#line 12298 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12298 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[(2) - (2)].lex_str);} break; case 1839: /* Line 1455 of yacc.c */ -#line 12303 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12303 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.table)= new Table_ident((yyvsp[(1) - (1)].lex_str)); if ((yyval.table) == NULL) @@ -32854,7 +32854,7 @@ case 1840: /* Line 1455 of yacc.c */ -#line 12309 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12309 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.table)= new Table_ident(YYTHD, (yyvsp[(1) - (3)].lex_str),(yyvsp[(3) - (3)].lex_str),0); if ((yyval.table) == NULL) @@ -32865,7 +32865,7 @@ case 1841: /* Line 1455 of yacc.c */ -#line 12315 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12315 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* For Delphi */ (yyval.table)= new Table_ident((yyvsp[(2) - (2)].lex_str)); @@ -32877,7 +32877,7 @@ case 1842: /* Line 1455 of yacc.c */ -#line 12325 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12325 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.table)= new Table_ident((yyvsp[(1) - (2)].lex_str)); if ((yyval.table) == NULL) @@ -32888,7 +32888,7 @@ case 1843: /* Line 1455 of yacc.c */ -#line 12331 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12331 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.table)= new Table_ident(YYTHD, (yyvsp[(1) - (4)].lex_str),(yyvsp[(3) - (4)].lex_str),0); if ((yyval.table) == NULL) @@ -32899,7 +32899,7 @@ case 1844: /* Line 1455 of yacc.c */ -#line 12340 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12340 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX_STRING db={(char*) any_db,3}; (yyval.table)= new Table_ident(YYTHD, db,(yyvsp[(1) - (1)].lex_str),0); @@ -32911,14 +32911,14 @@ case 1845: /* Line 1455 of yacc.c */ -#line 12349 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12349 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); } break; case 1846: /* Line 1455 of yacc.c */ -#line 12351 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12351 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; @@ -32950,7 +32950,7 @@ case 1847: /* Line 1455 of yacc.c */ -#line 12381 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12381 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; @@ -32968,7 +32968,7 @@ case 1848: /* Line 1455 of yacc.c */ -#line 12397 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12397 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; @@ -32986,7 +32986,7 @@ case 1849: /* Line 1455 of yacc.c */ -#line 12413 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12413 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; @@ -33005,14 +33005,14 @@ case 1850: /* Line 1455 of yacc.c */ -#line 12429 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12429 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str); } break; case 1851: /* Line 1455 of yacc.c */ -#line 12431 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12431 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; (yyval.lex_str).str= thd->strmake((yyvsp[(1) - (1)].symbol).str, (yyvsp[(1) - (1)].symbol).length); @@ -33025,14 +33025,14 @@ case 1852: /* Line 1455 of yacc.c */ -#line 12441 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12441 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str); } break; case 1853: /* Line 1455 of yacc.c */ -#line 12443 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12443 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; (yyval.lex_str).str= thd->strmake((yyvsp[(1) - (1)].symbol).str, (yyvsp[(1) - (1)].symbol).length); @@ -33045,28 +33045,28 @@ case 1854: /* Line 1455 of yacc.c */ -#line 12453 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12453 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);} break; case 1855: /* Line 1455 of yacc.c */ -#line 12454 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12454 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);} break; case 1856: /* Line 1455 of yacc.c */ -#line 12455 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12455 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);} break; case 1857: /* Line 1455 of yacc.c */ -#line 12460 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12460 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; if (!((yyval.lex_user)=(LEX_USER*) thd->alloc(sizeof(st_lex_user)))) @@ -33088,7 +33088,7 @@ case 1858: /* Line 1455 of yacc.c */ -#line 12477 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12477 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; if (!((yyval.lex_user)=(LEX_USER*) thd->alloc(sizeof(st_lex_user)))) @@ -33115,7 +33115,7 @@ case 1859: /* Line 1455 of yacc.c */ -#line 12499 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12499 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (!((yyval.lex_user)=(LEX_USER*) YYTHD->alloc(sizeof(st_lex_user)))) MYSQL_YYABORT; @@ -33131,2303 +33131,2303 @@ case 1860: /* Line 1455 of yacc.c */ -#line 12513 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12513 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1861: /* Line 1455 of yacc.c */ -#line 12514 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12514 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1862: /* Line 1455 of yacc.c */ -#line 12515 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12515 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1863: /* Line 1455 of yacc.c */ -#line 12516 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12516 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1864: /* Line 1455 of yacc.c */ -#line 12517 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12517 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1865: /* Line 1455 of yacc.c */ -#line 12518 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12518 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1866: /* Line 1455 of yacc.c */ -#line 12519 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12519 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1867: /* Line 1455 of yacc.c */ -#line 12520 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12520 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1868: /* Line 1455 of yacc.c */ -#line 12521 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12521 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1869: /* Line 1455 of yacc.c */ -#line 12522 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12522 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1870: /* Line 1455 of yacc.c */ -#line 12523 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12523 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1871: /* Line 1455 of yacc.c */ -#line 12524 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12524 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1872: /* Line 1455 of yacc.c */ -#line 12525 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12525 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1873: /* Line 1455 of yacc.c */ -#line 12526 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12526 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1874: /* Line 1455 of yacc.c */ -#line 12527 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12527 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1875: /* Line 1455 of yacc.c */ -#line 12528 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12528 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1876: /* Line 1455 of yacc.c */ -#line 12529 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12529 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1877: /* Line 1455 of yacc.c */ -#line 12530 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12530 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1878: /* Line 1455 of yacc.c */ -#line 12531 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12531 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1879: /* Line 1455 of yacc.c */ -#line 12532 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12532 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1880: /* Line 1455 of yacc.c */ -#line 12533 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12533 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1881: /* Line 1455 of yacc.c */ -#line 12534 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12534 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1882: /* Line 1455 of yacc.c */ -#line 12535 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12535 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1883: /* Line 1455 of yacc.c */ -#line 12536 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12536 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1884: /* Line 1455 of yacc.c */ -#line 12537 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12537 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1885: /* Line 1455 of yacc.c */ -#line 12538 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12538 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1886: /* Line 1455 of yacc.c */ -#line 12539 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12539 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1887: /* Line 1455 of yacc.c */ -#line 12540 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12540 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1888: /* Line 1455 of yacc.c */ -#line 12541 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12541 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1889: /* Line 1455 of yacc.c */ -#line 12542 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12542 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1890: /* Line 1455 of yacc.c */ -#line 12543 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12543 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1891: /* Line 1455 of yacc.c */ -#line 12544 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12544 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1892: /* Line 1455 of yacc.c */ -#line 12545 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12545 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1893: /* Line 1455 of yacc.c */ -#line 12546 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12546 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1894: /* Line 1455 of yacc.c */ -#line 12547 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12547 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1895: /* Line 1455 of yacc.c */ -#line 12548 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12548 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1896: /* Line 1455 of yacc.c */ -#line 12549 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12549 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1897: /* Line 1455 of yacc.c */ -#line 12550 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12550 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1898: /* Line 1455 of yacc.c */ -#line 12551 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12551 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1899: /* Line 1455 of yacc.c */ -#line 12552 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12552 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1900: /* Line 1455 of yacc.c */ -#line 12553 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12553 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1901: /* Line 1455 of yacc.c */ -#line 12554 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12554 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1902: /* Line 1455 of yacc.c */ -#line 12555 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12555 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1903: /* Line 1455 of yacc.c */ -#line 12556 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12556 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1904: /* Line 1455 of yacc.c */ -#line 12557 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12557 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1905: /* Line 1455 of yacc.c */ -#line 12558 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12558 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1906: /* Line 1455 of yacc.c */ -#line 12559 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12559 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1907: /* Line 1455 of yacc.c */ -#line 12560 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12560 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1908: /* Line 1455 of yacc.c */ -#line 12561 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12561 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1909: /* Line 1455 of yacc.c */ -#line 12562 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12562 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1910: /* Line 1455 of yacc.c */ -#line 12572 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12572 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1911: /* Line 1455 of yacc.c */ -#line 12573 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12573 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1912: /* Line 1455 of yacc.c */ -#line 12574 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12574 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1913: /* Line 1455 of yacc.c */ -#line 12575 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12575 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1914: /* Line 1455 of yacc.c */ -#line 12576 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12576 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1915: /* Line 1455 of yacc.c */ -#line 12577 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12577 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1916: /* Line 1455 of yacc.c */ -#line 12578 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12578 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1917: /* Line 1455 of yacc.c */ -#line 12579 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12579 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1918: /* Line 1455 of yacc.c */ -#line 12580 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12580 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1919: /* Line 1455 of yacc.c */ -#line 12581 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12581 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1920: /* Line 1455 of yacc.c */ -#line 12582 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12582 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1921: /* Line 1455 of yacc.c */ -#line 12583 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12583 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1922: /* Line 1455 of yacc.c */ -#line 12584 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12584 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1923: /* Line 1455 of yacc.c */ -#line 12585 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12585 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1924: /* Line 1455 of yacc.c */ -#line 12586 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12586 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1925: /* Line 1455 of yacc.c */ -#line 12587 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12587 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1926: /* Line 1455 of yacc.c */ -#line 12588 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12588 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1927: /* Line 1455 of yacc.c */ -#line 12589 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12589 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1928: /* Line 1455 of yacc.c */ -#line 12590 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12590 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1929: /* Line 1455 of yacc.c */ -#line 12591 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12591 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1930: /* Line 1455 of yacc.c */ -#line 12592 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12592 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1931: /* Line 1455 of yacc.c */ -#line 12593 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12593 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1932: /* Line 1455 of yacc.c */ -#line 12594 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12594 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1933: /* Line 1455 of yacc.c */ -#line 12595 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12595 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1934: /* Line 1455 of yacc.c */ -#line 12596 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12596 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1935: /* Line 1455 of yacc.c */ -#line 12597 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12597 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1936: /* Line 1455 of yacc.c */ -#line 12598 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12598 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1937: /* Line 1455 of yacc.c */ -#line 12599 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12599 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1938: /* Line 1455 of yacc.c */ -#line 12600 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12600 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1939: /* Line 1455 of yacc.c */ -#line 12601 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12601 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1940: /* Line 1455 of yacc.c */ -#line 12602 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12602 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1941: /* Line 1455 of yacc.c */ -#line 12603 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12603 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1942: /* Line 1455 of yacc.c */ -#line 12604 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12604 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1943: /* Line 1455 of yacc.c */ -#line 12605 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12605 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1944: /* Line 1455 of yacc.c */ -#line 12606 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12606 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1945: /* Line 1455 of yacc.c */ -#line 12607 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12607 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1946: /* Line 1455 of yacc.c */ -#line 12608 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12608 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1947: /* Line 1455 of yacc.c */ -#line 12609 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12609 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1948: /* Line 1455 of yacc.c */ -#line 12610 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12610 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1949: /* Line 1455 of yacc.c */ -#line 12611 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12611 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1950: /* Line 1455 of yacc.c */ -#line 12612 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12612 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1951: /* Line 1455 of yacc.c */ -#line 12613 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12613 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1952: /* Line 1455 of yacc.c */ -#line 12614 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12614 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1953: /* Line 1455 of yacc.c */ -#line 12615 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12615 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1954: /* Line 1455 of yacc.c */ -#line 12616 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12616 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1955: /* Line 1455 of yacc.c */ -#line 12617 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12617 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1956: /* Line 1455 of yacc.c */ -#line 12618 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12618 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1957: /* Line 1455 of yacc.c */ -#line 12619 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12619 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1958: /* Line 1455 of yacc.c */ -#line 12620 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12620 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1959: /* Line 1455 of yacc.c */ -#line 12621 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12621 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1960: /* Line 1455 of yacc.c */ -#line 12622 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12622 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1961: /* Line 1455 of yacc.c */ -#line 12623 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12623 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1962: /* Line 1455 of yacc.c */ -#line 12624 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12624 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1963: /* Line 1455 of yacc.c */ -#line 12625 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12625 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1964: /* Line 1455 of yacc.c */ -#line 12626 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12626 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1965: /* Line 1455 of yacc.c */ -#line 12627 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12627 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1966: /* Line 1455 of yacc.c */ -#line 12628 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12628 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1967: /* Line 1455 of yacc.c */ -#line 12629 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12629 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1968: /* Line 1455 of yacc.c */ -#line 12630 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12630 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1969: /* Line 1455 of yacc.c */ -#line 12631 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12631 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1970: /* Line 1455 of yacc.c */ -#line 12632 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12632 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1971: /* Line 1455 of yacc.c */ -#line 12633 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12633 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1972: /* Line 1455 of yacc.c */ -#line 12634 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12634 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1973: /* Line 1455 of yacc.c */ -#line 12635 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12635 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1974: /* Line 1455 of yacc.c */ -#line 12636 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12636 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1975: /* Line 1455 of yacc.c */ -#line 12637 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12637 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1976: /* Line 1455 of yacc.c */ -#line 12638 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12638 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1977: /* Line 1455 of yacc.c */ -#line 12639 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12639 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1978: /* Line 1455 of yacc.c */ -#line 12640 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12640 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1979: /* Line 1455 of yacc.c */ -#line 12641 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12641 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1980: /* Line 1455 of yacc.c */ -#line 12642 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12642 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1981: /* Line 1455 of yacc.c */ -#line 12643 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12643 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1982: /* Line 1455 of yacc.c */ -#line 12644 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12644 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1983: /* Line 1455 of yacc.c */ -#line 12645 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12645 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1984: /* Line 1455 of yacc.c */ -#line 12646 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12646 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1985: /* Line 1455 of yacc.c */ -#line 12647 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12647 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1986: /* Line 1455 of yacc.c */ -#line 12648 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12648 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1987: /* Line 1455 of yacc.c */ -#line 12649 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12649 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1988: /* Line 1455 of yacc.c */ -#line 12650 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12650 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1989: /* Line 1455 of yacc.c */ -#line 12651 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12651 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1990: /* Line 1455 of yacc.c */ -#line 12652 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12652 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1991: /* Line 1455 of yacc.c */ -#line 12653 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12653 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1992: /* Line 1455 of yacc.c */ -#line 12654 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12654 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1993: /* Line 1455 of yacc.c */ -#line 12655 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12655 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1994: /* Line 1455 of yacc.c */ -#line 12656 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12656 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1995: /* Line 1455 of yacc.c */ -#line 12657 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12657 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1996: /* Line 1455 of yacc.c */ -#line 12658 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12658 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1997: /* Line 1455 of yacc.c */ -#line 12659 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12659 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1998: /* Line 1455 of yacc.c */ -#line 12660 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12660 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 1999: /* Line 1455 of yacc.c */ -#line 12661 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12661 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2000: /* Line 1455 of yacc.c */ -#line 12662 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12662 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2001: /* Line 1455 of yacc.c */ -#line 12663 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12663 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2002: /* Line 1455 of yacc.c */ -#line 12664 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12664 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2003: /* Line 1455 of yacc.c */ -#line 12665 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12665 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2004: /* Line 1455 of yacc.c */ -#line 12666 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12666 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2005: /* Line 1455 of yacc.c */ -#line 12667 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12667 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2006: /* Line 1455 of yacc.c */ -#line 12668 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12668 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2007: /* Line 1455 of yacc.c */ -#line 12669 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12669 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2008: /* Line 1455 of yacc.c */ -#line 12670 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12670 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2009: /* Line 1455 of yacc.c */ -#line 12671 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12671 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2010: /* Line 1455 of yacc.c */ -#line 12672 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12672 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2011: /* Line 1455 of yacc.c */ -#line 12673 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12673 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2012: /* Line 1455 of yacc.c */ -#line 12674 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12674 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2013: /* Line 1455 of yacc.c */ -#line 12675 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12675 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2014: /* Line 1455 of yacc.c */ -#line 12676 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12676 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2015: /* Line 1455 of yacc.c */ -#line 12677 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12677 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2016: /* Line 1455 of yacc.c */ -#line 12678 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12678 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2017: /* Line 1455 of yacc.c */ -#line 12679 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12679 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2018: /* Line 1455 of yacc.c */ -#line 12680 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12680 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2019: /* Line 1455 of yacc.c */ -#line 12681 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12681 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2020: /* Line 1455 of yacc.c */ -#line 12682 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12682 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2021: /* Line 1455 of yacc.c */ -#line 12683 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12683 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2022: /* Line 1455 of yacc.c */ -#line 12684 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12684 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2023: /* Line 1455 of yacc.c */ -#line 12685 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12685 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2024: /* Line 1455 of yacc.c */ -#line 12686 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12686 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2025: /* Line 1455 of yacc.c */ -#line 12687 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12687 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2026: /* Line 1455 of yacc.c */ -#line 12688 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12688 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2027: /* Line 1455 of yacc.c */ -#line 12689 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12689 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2028: /* Line 1455 of yacc.c */ -#line 12690 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12690 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2029: /* Line 1455 of yacc.c */ -#line 12691 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12691 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2030: /* Line 1455 of yacc.c */ -#line 12692 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12692 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2031: /* Line 1455 of yacc.c */ -#line 12693 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12693 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2032: /* Line 1455 of yacc.c */ -#line 12694 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12694 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2033: /* Line 1455 of yacc.c */ -#line 12695 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12695 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2034: /* Line 1455 of yacc.c */ -#line 12696 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12696 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2035: /* Line 1455 of yacc.c */ -#line 12697 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12697 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2036: /* Line 1455 of yacc.c */ -#line 12698 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12698 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2037: /* Line 1455 of yacc.c */ -#line 12699 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12699 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2038: /* Line 1455 of yacc.c */ -#line 12700 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12700 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2039: /* Line 1455 of yacc.c */ -#line 12701 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12701 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2040: /* Line 1455 of yacc.c */ -#line 12702 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12702 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2041: /* Line 1455 of yacc.c */ -#line 12703 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12703 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2042: /* Line 1455 of yacc.c */ -#line 12704 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12704 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2043: /* Line 1455 of yacc.c */ -#line 12705 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12705 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2044: /* Line 1455 of yacc.c */ -#line 12706 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12706 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2045: /* Line 1455 of yacc.c */ -#line 12707 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12707 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2046: /* Line 1455 of yacc.c */ -#line 12708 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12708 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2047: /* Line 1455 of yacc.c */ -#line 12709 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12709 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2048: /* Line 1455 of yacc.c */ -#line 12710 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12710 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2049: /* Line 1455 of yacc.c */ -#line 12711 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12711 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2050: /* Line 1455 of yacc.c */ -#line 12712 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12712 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2051: /* Line 1455 of yacc.c */ -#line 12713 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12713 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2052: /* Line 1455 of yacc.c */ -#line 12714 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12714 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2053: /* Line 1455 of yacc.c */ -#line 12715 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12715 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2054: /* Line 1455 of yacc.c */ -#line 12716 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12716 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2055: /* Line 1455 of yacc.c */ -#line 12717 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12717 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2056: /* Line 1455 of yacc.c */ -#line 12718 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12718 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2057: /* Line 1455 of yacc.c */ -#line 12719 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12719 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2058: /* Line 1455 of yacc.c */ -#line 12720 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12720 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2059: /* Line 1455 of yacc.c */ -#line 12721 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12721 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2060: /* Line 1455 of yacc.c */ -#line 12722 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12722 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2061: /* Line 1455 of yacc.c */ -#line 12723 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12723 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2062: /* Line 1455 of yacc.c */ -#line 12724 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12724 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2063: /* Line 1455 of yacc.c */ -#line 12725 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12725 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2064: /* Line 1455 of yacc.c */ -#line 12726 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12726 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2065: /* Line 1455 of yacc.c */ -#line 12727 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12727 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2066: /* Line 1455 of yacc.c */ -#line 12728 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12728 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2067: /* Line 1455 of yacc.c */ -#line 12729 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12729 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2068: /* Line 1455 of yacc.c */ -#line 12730 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12730 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2069: /* Line 1455 of yacc.c */ -#line 12731 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12731 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2070: /* Line 1455 of yacc.c */ -#line 12732 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12732 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2071: /* Line 1455 of yacc.c */ -#line 12733 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12733 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2072: /* Line 1455 of yacc.c */ -#line 12734 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12734 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2073: /* Line 1455 of yacc.c */ -#line 12735 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12735 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2074: /* Line 1455 of yacc.c */ -#line 12736 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12736 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2075: /* Line 1455 of yacc.c */ -#line 12737 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12737 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2076: /* Line 1455 of yacc.c */ -#line 12738 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12738 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2077: /* Line 1455 of yacc.c */ -#line 12739 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12739 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2078: /* Line 1455 of yacc.c */ -#line 12740 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12740 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2079: /* Line 1455 of yacc.c */ -#line 12741 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12741 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2080: /* Line 1455 of yacc.c */ -#line 12742 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12742 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2081: /* Line 1455 of yacc.c */ -#line 12743 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12743 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2082: /* Line 1455 of yacc.c */ -#line 12744 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12744 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2083: /* Line 1455 of yacc.c */ -#line 12745 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12745 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2084: /* Line 1455 of yacc.c */ -#line 12746 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12746 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2085: /* Line 1455 of yacc.c */ -#line 12747 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12747 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2086: /* Line 1455 of yacc.c */ -#line 12748 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12748 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2087: /* Line 1455 of yacc.c */ -#line 12749 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12749 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2088: /* Line 1455 of yacc.c */ -#line 12750 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12750 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2089: /* Line 1455 of yacc.c */ -#line 12751 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12751 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2090: /* Line 1455 of yacc.c */ -#line 12752 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12752 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2091: /* Line 1455 of yacc.c */ -#line 12753 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12753 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2092: /* Line 1455 of yacc.c */ -#line 12754 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12754 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2093: /* Line 1455 of yacc.c */ -#line 12755 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12755 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2094: /* Line 1455 of yacc.c */ -#line 12756 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12756 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2095: /* Line 1455 of yacc.c */ -#line 12757 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12757 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2096: /* Line 1455 of yacc.c */ -#line 12758 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12758 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2097: /* Line 1455 of yacc.c */ -#line 12759 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12759 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2098: /* Line 1455 of yacc.c */ -#line 12760 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12760 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2099: /* Line 1455 of yacc.c */ -#line 12761 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12761 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2100: /* Line 1455 of yacc.c */ -#line 12762 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12762 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2101: /* Line 1455 of yacc.c */ -#line 12763 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12763 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2102: /* Line 1455 of yacc.c */ -#line 12764 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12764 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2103: /* Line 1455 of yacc.c */ -#line 12765 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12765 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2104: /* Line 1455 of yacc.c */ -#line 12766 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12766 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2105: /* Line 1455 of yacc.c */ -#line 12767 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12767 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2106: /* Line 1455 of yacc.c */ -#line 12768 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12768 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2107: /* Line 1455 of yacc.c */ -#line 12769 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12769 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2108: /* Line 1455 of yacc.c */ -#line 12770 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12770 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2109: /* Line 1455 of yacc.c */ -#line 12771 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12771 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2110: /* Line 1455 of yacc.c */ -#line 12772 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12772 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2111: /* Line 1455 of yacc.c */ -#line 12773 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12773 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2112: /* Line 1455 of yacc.c */ -#line 12774 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12774 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2113: /* Line 1455 of yacc.c */ -#line 12775 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12775 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2114: /* Line 1455 of yacc.c */ -#line 12776 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12776 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2115: /* Line 1455 of yacc.c */ -#line 12777 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12777 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2116: /* Line 1455 of yacc.c */ -#line 12778 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12778 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2117: /* Line 1455 of yacc.c */ -#line 12779 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12779 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2118: /* Line 1455 of yacc.c */ -#line 12780 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12780 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2119: /* Line 1455 of yacc.c */ -#line 12781 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12781 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2120: /* Line 1455 of yacc.c */ -#line 12782 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12782 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2121: /* Line 1455 of yacc.c */ -#line 12783 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12783 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2122: /* Line 1455 of yacc.c */ -#line 12784 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12784 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2123: /* Line 1455 of yacc.c */ -#line 12785 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12785 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2124: /* Line 1455 of yacc.c */ -#line 12786 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12786 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2125: /* Line 1455 of yacc.c */ -#line 12787 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12787 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2126: /* Line 1455 of yacc.c */ -#line 12788 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12788 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2127: /* Line 1455 of yacc.c */ -#line 12789 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12789 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2128: /* Line 1455 of yacc.c */ -#line 12790 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12790 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2129: /* Line 1455 of yacc.c */ -#line 12791 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12791 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2130: /* Line 1455 of yacc.c */ -#line 12792 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12792 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2131: /* Line 1455 of yacc.c */ -#line 12793 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12793 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2132: /* Line 1455 of yacc.c */ -#line 12794 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12794 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2133: /* Line 1455 of yacc.c */ -#line 12795 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12795 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2134: /* Line 1455 of yacc.c */ -#line 12796 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12796 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2135: /* Line 1455 of yacc.c */ -#line 12797 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12797 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2136: /* Line 1455 of yacc.c */ -#line 12798 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12798 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2137: /* Line 1455 of yacc.c */ -#line 12799 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12799 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2138: /* Line 1455 of yacc.c */ -#line 12800 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12800 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2139: /* Line 1455 of yacc.c */ -#line 12801 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12801 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2140: /* Line 1455 of yacc.c */ -#line 12802 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12802 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2141: /* Line 1455 of yacc.c */ -#line 12803 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12803 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2142: /* Line 1455 of yacc.c */ -#line 12804 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12804 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2143: /* Line 1455 of yacc.c */ -#line 12805 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12805 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2144: /* Line 1455 of yacc.c */ -#line 12806 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12806 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2145: /* Line 1455 of yacc.c */ -#line 12807 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12807 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2146: /* Line 1455 of yacc.c */ -#line 12808 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12808 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2147: /* Line 1455 of yacc.c */ -#line 12809 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12809 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2148: /* Line 1455 of yacc.c */ -#line 12810 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12810 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2149: /* Line 1455 of yacc.c */ -#line 12811 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12811 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2150: /* Line 1455 of yacc.c */ -#line 12812 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12812 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2151: /* Line 1455 of yacc.c */ -#line 12813 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12813 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2152: /* Line 1455 of yacc.c */ -#line 12814 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12814 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2153: /* Line 1455 of yacc.c */ -#line 12815 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12815 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2154: /* Line 1455 of yacc.c */ -#line 12816 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12816 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2155: /* Line 1455 of yacc.c */ -#line 12817 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12817 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2156: /* Line 1455 of yacc.c */ -#line 12818 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12818 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2157: /* Line 1455 of yacc.c */ -#line 12819 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12819 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2158: /* Line 1455 of yacc.c */ -#line 12820 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12820 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2159: /* Line 1455 of yacc.c */ -#line 12821 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12821 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2160: /* Line 1455 of yacc.c */ -#line 12822 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12822 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2161: /* Line 1455 of yacc.c */ -#line 12823 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12823 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2162: /* Line 1455 of yacc.c */ -#line 12824 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12824 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2163: /* Line 1455 of yacc.c */ -#line 12825 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12825 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2164: /* Line 1455 of yacc.c */ -#line 12826 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12826 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2165: /* Line 1455 of yacc.c */ -#line 12827 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12827 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2166: /* Line 1455 of yacc.c */ -#line 12828 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12828 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2167: /* Line 1455 of yacc.c */ -#line 12829 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12829 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2168: /* Line 1455 of yacc.c */ -#line 12830 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12830 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2169: /* Line 1455 of yacc.c */ -#line 12831 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12831 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2170: /* Line 1455 of yacc.c */ -#line 12832 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12832 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2171: /* Line 1455 of yacc.c */ -#line 12833 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12833 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2172: /* Line 1455 of yacc.c */ -#line 12834 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12834 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2173: /* Line 1455 of yacc.c */ -#line 12835 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12835 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2174: /* Line 1455 of yacc.c */ -#line 12836 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12836 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2175: /* Line 1455 of yacc.c */ -#line 12837 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12837 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2176: /* Line 1455 of yacc.c */ -#line 12838 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12838 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2177: /* Line 1455 of yacc.c */ -#line 12839 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12839 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2178: /* Line 1455 of yacc.c */ -#line 12840 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12840 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2179: /* Line 1455 of yacc.c */ -#line 12841 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12841 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2180: /* Line 1455 of yacc.c */ -#line 12842 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12842 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2181: /* Line 1455 of yacc.c */ -#line 12843 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12843 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2182: /* Line 1455 of yacc.c */ -#line 12844 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12844 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2183: /* Line 1455 of yacc.c */ -#line 12845 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12845 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2184: /* Line 1455 of yacc.c */ -#line 12846 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12846 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2185: /* Line 1455 of yacc.c */ -#line 12847 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12847 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2186: /* Line 1455 of yacc.c */ -#line 12848 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12848 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2187: /* Line 1455 of yacc.c */ -#line 12849 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12849 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2188: /* Line 1455 of yacc.c */ -#line 12856 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12856 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SET_OPTION; @@ -35442,28 +35442,28 @@ case 2189: /* Line 1455 of yacc.c */ -#line 12866 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12866 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2190: /* Line 1455 of yacc.c */ -#line 12870 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12870 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2191: /* Line 1455 of yacc.c */ -#line 12871 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12871 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2194: /* Line 1455 of yacc.c */ -#line 12880 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12880 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -35499,7 +35499,7 @@ case 2195: /* Line 1455 of yacc.c */ -#line 12911 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12911 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -35553,105 +35553,105 @@ case 2196: /* Line 1455 of yacc.c */ -#line 12962 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12962 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2197: /* Line 1455 of yacc.c */ -#line 12963 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12963 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.var_type)=OPT_GLOBAL; } break; case 2198: /* Line 1455 of yacc.c */ -#line 12964 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12964 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } break; case 2199: /* Line 1455 of yacc.c */ -#line 12965 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12965 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } break; case 2200: /* Line 1455 of yacc.c */ -#line 12969 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12969 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= OPT_DEFAULT; } break; case 2201: /* Line 1455 of yacc.c */ -#line 12970 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12970 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->one_shot_set= 1; (yyval.num)= OPT_SESSION; } break; case 2202: /* Line 1455 of yacc.c */ -#line 12974 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12974 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } break; case 2203: /* Line 1455 of yacc.c */ -#line 12975 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12975 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.var_type)=OPT_GLOBAL; } break; case 2204: /* Line 1455 of yacc.c */ -#line 12976 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12976 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } break; case 2205: /* Line 1455 of yacc.c */ -#line 12977 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12977 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } break; case 2206: /* Line 1455 of yacc.c */ -#line 12981 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12981 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.var_type)=OPT_DEFAULT; } break; case 2207: /* Line 1455 of yacc.c */ -#line 12982 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12982 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.var_type)=OPT_GLOBAL; } break; case 2208: /* Line 1455 of yacc.c */ -#line 12983 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12983 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } break; case 2209: /* Line 1455 of yacc.c */ -#line 12984 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12984 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } break; case 2212: /* Line 1455 of yacc.c */ -#line 12994 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 12994 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= Lex; @@ -35698,7 +35698,7 @@ case 2213: /* Line 1455 of yacc.c */ -#line 13036 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13036 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex=Lex; @@ -35719,7 +35719,7 @@ case 2214: /* Line 1455 of yacc.c */ -#line 13055 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13055 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Item_func_set_user_var *item; item= new (YYTHD->mem_root) Item_func_set_user_var((yyvsp[(2) - (4)].lex_str), (yyvsp[(4) - (4)].item), false); @@ -35735,7 +35735,7 @@ case 2215: /* Line 1455 of yacc.c */ -#line 13066 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13066 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; struct sys_var_with_base tmp= (yyvsp[(4) - (6)].variable); @@ -35753,7 +35753,7 @@ case 2216: /* Line 1455 of yacc.c */ -#line 13079 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13079 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -35772,7 +35772,7 @@ case 2217: /* Line 1455 of yacc.c */ -#line 13093 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13093 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_pcontext *spc= lex->spcont; @@ -35792,7 +35792,7 @@ case 2218: /* Line 1455 of yacc.c */ -#line 13108 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13108 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; CHARSET_INFO *cs2; @@ -35816,7 +35816,7 @@ case 2219: /* Line 1455 of yacc.c */ -#line 13127 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13127 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -35848,7 +35848,7 @@ case 2220: /* Line 1455 of yacc.c */ -#line 13154 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13154 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { set_var_password *var= new set_var_password((yyvsp[(3) - (5)].lex_user),(yyvsp[(5) - (5)].simple_string)); if (var == NULL) @@ -35863,7 +35863,7 @@ case 2221: /* Line 1455 of yacc.c */ -#line 13167 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13167 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; sp_pcontext *spc= thd->lex->spcont; @@ -35895,7 +35895,7 @@ case 2222: /* Line 1455 of yacc.c */ -#line 13194 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13194 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (check_reserved_words(&(yyvsp[(1) - (3)].lex_str))) @@ -35943,7 +35943,7 @@ case 2223: /* Line 1455 of yacc.c */ -#line 13237 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13237 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { sys_var *tmp=find_sys_var(YYTHD, (yyvsp[(3) - (3)].lex_str).str, (yyvsp[(3) - (3)].lex_str).length); if (!tmp) @@ -35959,42 +35959,42 @@ case 2224: /* Line 1455 of yacc.c */ -#line 13250 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13250 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.tx_isolation)= ISO_READ_UNCOMMITTED; } break; case 2225: /* Line 1455 of yacc.c */ -#line 13251 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13251 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.tx_isolation)= ISO_READ_COMMITTED; } break; case 2226: /* Line 1455 of yacc.c */ -#line 13252 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13252 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.tx_isolation)= ISO_REPEATABLE_READ; } break; case 2227: /* Line 1455 of yacc.c */ -#line 13253 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13253 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.tx_isolation)= ISO_SERIALIZABLE; } break; case 2228: /* Line 1455 of yacc.c */ -#line 13257 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13257 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.simple_string)=(yyvsp[(1) - (1)].lex_str).str;} break; case 2229: /* Line 1455 of yacc.c */ -#line 13259 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13259 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.simple_string)= (yyvsp[(3) - (4)].lex_str).length ? YYTHD->variables.old_passwords ? Item_func_old_password::alloc(YYTHD, (yyvsp[(3) - (4)].lex_str).str, (yyvsp[(3) - (4)].lex_str).length) : @@ -36008,7 +36008,7 @@ case 2230: /* Line 1455 of yacc.c */ -#line 13268 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13268 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.simple_string)= (yyvsp[(3) - (4)].lex_str).length ? Item_func_old_password::alloc(YYTHD, (yyvsp[(3) - (4)].lex_str).str, (yyvsp[(3) - (4)].lex_str).length) : @@ -36021,21 +36021,21 @@ case 2231: /* Line 1455 of yacc.c */ -#line 13279 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13279 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)=(yyvsp[(1) - (1)].item); } break; case 2232: /* Line 1455 of yacc.c */ -#line 13280 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13280 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)=0; } break; case 2233: /* Line 1455 of yacc.c */ -#line 13282 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13282 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)=new (YYTHD->mem_root) Item_string("ON", 2, system_charset_info); if ((yyval.item) == NULL) @@ -36046,7 +36046,7 @@ case 2234: /* Line 1455 of yacc.c */ -#line 13288 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13288 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)=new (YYTHD->mem_root) Item_string("ALL", 3, system_charset_info); if ((yyval.item) == NULL) @@ -36057,7 +36057,7 @@ case 2235: /* Line 1455 of yacc.c */ -#line 13294 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13294 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.item)=new (YYTHD->mem_root) Item_string("binary", 6, system_charset_info); if ((yyval.item) == NULL) @@ -36068,7 +36068,7 @@ case 2236: /* Line 1455 of yacc.c */ -#line 13305 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13305 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; @@ -36084,14 +36084,14 @@ case 2237: /* Line 1455 of yacc.c */ -#line 13316 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13316 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2242: /* Line 1455 of yacc.c */ -#line 13331 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13331 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { thr_lock_type lock_type= (thr_lock_type) (yyvsp[(3) - (3)].num); bool lock_for_write= (lock_type >= TL_WRITE_ALLOW_WRITE); @@ -36106,35 +36106,35 @@ case 2243: /* Line 1455 of yacc.c */ -#line 13343 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13343 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= TL_READ_NO_INSERT; } break; case 2244: /* Line 1455 of yacc.c */ -#line 13344 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13344 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= TL_WRITE_DEFAULT; } break; case 2245: /* Line 1455 of yacc.c */ -#line 13345 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13345 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= TL_WRITE_LOW_PRIORITY; } break; case 2246: /* Line 1455 of yacc.c */ -#line 13346 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13346 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= TL_READ; } break; case 2247: /* Line 1455 of yacc.c */ -#line 13351 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13351 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; @@ -36150,14 +36150,14 @@ case 2248: /* Line 1455 of yacc.c */ -#line 13362 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13362 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2249: /* Line 1455 of yacc.c */ -#line 13371 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13371 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->sphead) @@ -36174,7 +36174,7 @@ case 2250: /* Line 1455 of yacc.c */ -#line 13383 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13383 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->sphead) @@ -36191,7 +36191,7 @@ case 2251: /* Line 1455 of yacc.c */ -#line 13395 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13395 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (lex->sphead) @@ -36215,7 +36215,7 @@ case 2252: /* Line 1455 of yacc.c */ -#line 13414 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13414 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->expr_allows_subselect= TRUE; /* Stored functions are not supported for HANDLER READ. */ @@ -36231,63 +36231,63 @@ case 2253: /* Line 1455 of yacc.c */ -#line 13427 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13427 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->ident= null_lex_str; } break; case 2254: /* Line 1455 of yacc.c */ -#line 13428 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13428 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->ident= (yyvsp[(1) - (2)].lex_str); } break; case 2255: /* Line 1455 of yacc.c */ -#line 13432 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13432 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->ha_read_mode = RFIRST; } break; case 2256: /* Line 1455 of yacc.c */ -#line 13433 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13433 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->ha_read_mode = RNEXT; } break; case 2257: /* Line 1455 of yacc.c */ -#line 13437 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13437 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->ha_read_mode = RFIRST; } break; case 2258: /* Line 1455 of yacc.c */ -#line 13438 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13438 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->ha_read_mode = RNEXT; } break; case 2259: /* Line 1455 of yacc.c */ -#line 13439 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13439 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->ha_read_mode = RPREV; } break; case 2260: /* Line 1455 of yacc.c */ -#line 13440 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13440 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->ha_read_mode = RLAST; } break; case 2261: /* Line 1455 of yacc.c */ -#line 13442 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13442 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->ha_read_mode = RKEY; @@ -36300,56 +36300,56 @@ case 2262: /* Line 1455 of yacc.c */ -#line 13450 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13450 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2263: /* Line 1455 of yacc.c */ -#line 13454 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13454 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.ha_rkey_mode)=HA_READ_KEY_EXACT; } break; case 2264: /* Line 1455 of yacc.c */ -#line 13455 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13455 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.ha_rkey_mode)=HA_READ_KEY_OR_NEXT; } break; case 2265: /* Line 1455 of yacc.c */ -#line 13456 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13456 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.ha_rkey_mode)=HA_READ_KEY_OR_PREV; } break; case 2266: /* Line 1455 of yacc.c */ -#line 13457 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13457 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.ha_rkey_mode)=HA_READ_AFTER_KEY; } break; case 2267: /* Line 1455 of yacc.c */ -#line 13458 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13458 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.ha_rkey_mode)=HA_READ_BEFORE_KEY; } break; case 2268: /* Line 1455 of yacc.c */ -#line 13465 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13465 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2269: /* Line 1455 of yacc.c */ -#line 13470 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13470 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_REVOKE; @@ -36360,7 +36360,7 @@ case 2270: /* Line 1455 of yacc.c */ -#line 13476 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13476 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->columns.elements) @@ -36376,7 +36376,7 @@ case 2271: /* Line 1455 of yacc.c */ -#line 13487 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13487 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->columns.elements) @@ -36392,7 +36392,7 @@ case 2272: /* Line 1455 of yacc.c */ -#line 13498 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13498 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_REVOKE_ALL; } @@ -36401,7 +36401,7 @@ case 2273: /* Line 1455 of yacc.c */ -#line 13502 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13502 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->users_list.push_front ((yyvsp[(3) - (5)].lex_user)); @@ -36413,14 +36413,14 @@ case 2274: /* Line 1455 of yacc.c */ -#line 13512 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13512 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2275: /* Line 1455 of yacc.c */ -#line 13518 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13518 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_GRANT; @@ -36431,7 +36431,7 @@ case 2276: /* Line 1455 of yacc.c */ -#line 13525 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13525 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->columns.elements) @@ -36447,7 +36447,7 @@ case 2277: /* Line 1455 of yacc.c */ -#line 13537 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13537 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->columns.elements) @@ -36463,7 +36463,7 @@ case 2278: /* Line 1455 of yacc.c */ -#line 13548 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13548 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->users_list.push_front ((yyvsp[(3) - (6)].lex_user)); @@ -36475,14 +36475,14 @@ case 2281: /* Line 1455 of yacc.c */ -#line 13562 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13562 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2282: /* Line 1455 of yacc.c */ -#line 13564 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13564 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->all_privileges= 1; Lex->grant= GLOBAL_ACLS; @@ -36492,259 +36492,259 @@ case 2287: /* Line 1455 of yacc.c */ -#line 13582 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13582 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->which_columns = SELECT_ACL;} break; case 2288: /* Line 1455 of yacc.c */ -#line 13583 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13583 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2289: /* Line 1455 of yacc.c */ -#line 13585 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13585 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->which_columns = INSERT_ACL;} break; case 2290: /* Line 1455 of yacc.c */ -#line 13586 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13586 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2291: /* Line 1455 of yacc.c */ -#line 13588 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13588 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->which_columns = UPDATE_ACL; } break; case 2292: /* Line 1455 of yacc.c */ -#line 13589 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13589 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2293: /* Line 1455 of yacc.c */ -#line 13591 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13591 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->which_columns = REFERENCES_ACL;} break; case 2294: /* Line 1455 of yacc.c */ -#line 13592 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13592 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2295: /* Line 1455 of yacc.c */ -#line 13593 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13593 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= DELETE_ACL;} break; case 2296: /* Line 1455 of yacc.c */ -#line 13594 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13594 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2297: /* Line 1455 of yacc.c */ -#line 13595 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13595 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= INDEX_ACL;} break; case 2298: /* Line 1455 of yacc.c */ -#line 13596 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13596 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= ALTER_ACL;} break; case 2299: /* Line 1455 of yacc.c */ -#line 13597 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13597 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= CREATE_ACL;} break; case 2300: /* Line 1455 of yacc.c */ -#line 13598 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13598 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= DROP_ACL;} break; case 2301: /* Line 1455 of yacc.c */ -#line 13599 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13599 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= EXECUTE_ACL;} break; case 2302: /* Line 1455 of yacc.c */ -#line 13600 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13600 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= RELOAD_ACL;} break; case 2303: /* Line 1455 of yacc.c */ -#line 13601 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13601 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= SHUTDOWN_ACL;} break; case 2304: /* Line 1455 of yacc.c */ -#line 13602 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13602 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= PROCESS_ACL;} break; case 2305: /* Line 1455 of yacc.c */ -#line 13603 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13603 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= FILE_ACL;} break; case 2306: /* Line 1455 of yacc.c */ -#line 13604 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13604 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= GRANT_ACL;} break; case 2307: /* Line 1455 of yacc.c */ -#line 13605 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13605 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= SHOW_DB_ACL;} break; case 2308: /* Line 1455 of yacc.c */ -#line 13606 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13606 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= SUPER_ACL;} break; case 2309: /* Line 1455 of yacc.c */ -#line 13607 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13607 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= CREATE_TMP_ACL;} break; case 2310: /* Line 1455 of yacc.c */ -#line 13608 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13608 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= LOCK_TABLES_ACL; } break; case 2311: /* Line 1455 of yacc.c */ -#line 13609 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13609 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= REPL_SLAVE_ACL; } break; case 2312: /* Line 1455 of yacc.c */ -#line 13610 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13610 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= REPL_CLIENT_ACL; } break; case 2313: /* Line 1455 of yacc.c */ -#line 13611 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13611 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= CREATE_VIEW_ACL; } break; case 2314: /* Line 1455 of yacc.c */ -#line 13612 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13612 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= SHOW_VIEW_ACL; } break; case 2315: /* Line 1455 of yacc.c */ -#line 13613 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13613 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= CREATE_PROC_ACL; } break; case 2316: /* Line 1455 of yacc.c */ -#line 13614 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13614 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= ALTER_PROC_ACL; } break; case 2317: /* Line 1455 of yacc.c */ -#line 13615 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13615 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= CREATE_USER_ACL; } break; case 2318: /* Line 1455 of yacc.c */ -#line 13616 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13616 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= EVENT_ACL;} break; case 2319: /* Line 1455 of yacc.c */ -#line 13617 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13617 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= TRIGGER_ACL; } break; case 2320: /* Line 1455 of yacc.c */ -#line 13618 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13618 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= CREATE_TABLESPACE_ACL; } break; case 2321: /* Line 1455 of yacc.c */ -#line 13622 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13622 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2322: /* Line 1455 of yacc.c */ -#line 13623 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13623 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2325: /* Line 1455 of yacc.c */ -#line 13633 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13633 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (lex->x509_subject) @@ -36759,7 +36759,7 @@ case 2326: /* Line 1455 of yacc.c */ -#line 13643 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13643 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (lex->x509_issuer) @@ -36774,7 +36774,7 @@ case 2327: /* Line 1455 of yacc.c */ -#line 13653 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13653 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (lex->ssl_cipher) @@ -36789,7 +36789,7 @@ case 2328: /* Line 1455 of yacc.c */ -#line 13666 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13666 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; size_t dummy; @@ -36809,7 +36809,7 @@ case 2329: /* Line 1455 of yacc.c */ -#line 13681 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13681 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->current_select->db = (yyvsp[(1) - (3)].lex_str).str; @@ -36827,7 +36827,7 @@ case 2330: /* Line 1455 of yacc.c */ -#line 13694 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13694 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->current_select->db = NULL; @@ -36845,7 +36845,7 @@ case 2331: /* Line 1455 of yacc.c */ -#line 13707 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13707 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[(1) - (1)].table),NULL, @@ -36859,7 +36859,7 @@ case 2332: /* Line 1455 of yacc.c */ -#line 13719 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13719 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (Lex->users_list.push_back((yyvsp[(1) - (1)].lex_user))) MYSQL_YYABORT; @@ -36869,7 +36869,7 @@ case 2333: /* Line 1455 of yacc.c */ -#line 13724 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13724 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (Lex->users_list.push_back((yyvsp[(3) - (3)].lex_user))) MYSQL_YYABORT; @@ -36879,7 +36879,7 @@ case 2334: /* Line 1455 of yacc.c */ -#line 13732 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13732 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (Lex->users_list.push_back((yyvsp[(1) - (1)].lex_user))) MYSQL_YYABORT; @@ -36889,7 +36889,7 @@ case 2335: /* Line 1455 of yacc.c */ -#line 13737 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13737 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (Lex->users_list.push_back((yyvsp[(3) - (3)].lex_user))) MYSQL_YYABORT; @@ -36899,7 +36899,7 @@ case 2336: /* Line 1455 of yacc.c */ -#line 13745 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13745 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_user)=(yyvsp[(1) - (4)].lex_user); (yyvsp[(1) - (4)].lex_user)->password=(yyvsp[(4) - (4)].lex_str); if (Lex->sql_command == SQLCOM_REVOKE) @@ -36933,7 +36933,7 @@ case 2337: /* Line 1455 of yacc.c */ -#line 13774 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13774 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (Lex->sql_command == SQLCOM_REVOKE) MYSQL_YYABORT; @@ -36945,7 +36945,7 @@ case 2338: /* Line 1455 of yacc.c */ -#line 13781 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13781 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (Lex->sql_command == SQLCOM_REVOKE) MYSQL_YYABORT; @@ -36958,7 +36958,7 @@ case 2339: /* Line 1455 of yacc.c */ -#line 13789 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13789 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (Lex->sql_command == SQLCOM_REVOKE) MYSQL_YYABORT; @@ -36971,14 +36971,14 @@ case 2340: /* Line 1455 of yacc.c */ -#line 13797 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13797 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.lex_user)= (yyvsp[(1) - (1)].lex_user); (yyvsp[(1) - (1)].lex_user)->password= null_lex_str; } break; case 2341: /* Line 1455 of yacc.c */ -#line 13802 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13802 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->grant |= lex->which_columns; @@ -36988,7 +36988,7 @@ case 2345: /* Line 1455 of yacc.c */ -#line 13816 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13816 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { String *new_str = new (YYTHD->mem_root) String((const char*) (yyvsp[(1) - (1)].lex_str).str,(yyvsp[(1) - (1)].lex_str).length,system_charset_info); if (new_str == NULL) @@ -37018,7 +37018,7 @@ case 2347: /* Line 1455 of yacc.c */ -#line 13845 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13845 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->ssl_type=SSL_TYPE_SPECIFIED; } @@ -37027,7 +37027,7 @@ case 2348: /* Line 1455 of yacc.c */ -#line 13849 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13849 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->ssl_type=SSL_TYPE_ANY; } @@ -37036,7 +37036,7 @@ case 2349: /* Line 1455 of yacc.c */ -#line 13853 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13853 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->ssl_type=SSL_TYPE_X509; } @@ -37045,7 +37045,7 @@ case 2350: /* Line 1455 of yacc.c */ -#line 13857 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13857 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->ssl_type=SSL_TYPE_NONE; } @@ -37054,49 +37054,49 @@ case 2351: /* Line 1455 of yacc.c */ -#line 13863 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13863 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2353: /* Line 1455 of yacc.c */ -#line 13868 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13868 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2354: /* Line 1455 of yacc.c */ -#line 13869 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13869 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= GRANT_ACL;} break; case 2355: /* Line 1455 of yacc.c */ -#line 13873 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13873 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2356: /* Line 1455 of yacc.c */ -#line 13874 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13874 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2357: /* Line 1455 of yacc.c */ -#line 13878 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13878 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->grant |= GRANT_ACL;} break; case 2358: /* Line 1455 of yacc.c */ -#line 13880 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13880 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->mqh.questions=(yyvsp[(2) - (2)].ulong_num); @@ -37107,7 +37107,7 @@ case 2359: /* Line 1455 of yacc.c */ -#line 13886 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13886 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->mqh.updates=(yyvsp[(2) - (2)].ulong_num); @@ -37118,7 +37118,7 @@ case 2360: /* Line 1455 of yacc.c */ -#line 13892 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13892 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->mqh.conn_per_hour= (yyvsp[(2) - (2)].ulong_num); @@ -37129,7 +37129,7 @@ case 2361: /* Line 1455 of yacc.c */ -#line 13898 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13898 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->mqh.user_conn= (yyvsp[(2) - (2)].ulong_num); @@ -37140,7 +37140,7 @@ case 2362: /* Line 1455 of yacc.c */ -#line 13907 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13907 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_BEGIN; @@ -37151,84 +37151,84 @@ case 2363: /* Line 1455 of yacc.c */ -#line 13912 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13912 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2364: /* Line 1455 of yacc.c */ -#line 13916 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13916 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2365: /* Line 1455 of yacc.c */ -#line 13917 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13917 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2366: /* Line 1455 of yacc.c */ -#line 13922 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13922 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.m_yes_no_unk)= TVL_UNKNOWN; } break; case 2367: /* Line 1455 of yacc.c */ -#line 13923 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13923 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.m_yes_no_unk)= TVL_NO; } break; case 2368: /* Line 1455 of yacc.c */ -#line 13924 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13924 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.m_yes_no_unk)= TVL_YES; } break; case 2369: /* Line 1455 of yacc.c */ -#line 13929 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13929 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.m_yes_no_unk)= TVL_UNKNOWN; } break; case 2370: /* Line 1455 of yacc.c */ -#line 13930 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13930 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.m_yes_no_unk)= TVL_YES; } break; case 2371: /* Line 1455 of yacc.c */ -#line 13931 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13931 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.m_yes_no_unk)= TVL_NO; } break; case 2372: /* Line 1455 of yacc.c */ -#line 13935 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13935 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2373: /* Line 1455 of yacc.c */ -#line 13936 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13936 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2374: /* Line 1455 of yacc.c */ -#line 13941 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13941 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_COMMIT; @@ -37242,7 +37242,7 @@ case 2375: /* Line 1455 of yacc.c */ -#line 13953 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13953 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_ROLLBACK; @@ -37256,7 +37256,7 @@ case 2376: /* Line 1455 of yacc.c */ -#line 13963 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13963 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_ROLLBACK_TO_SAVEPOINT; @@ -37267,7 +37267,7 @@ case 2377: /* Line 1455 of yacc.c */ -#line 13972 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13972 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SAVEPOINT; @@ -37278,7 +37278,7 @@ case 2378: /* Line 1455 of yacc.c */ -#line 13981 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13981 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_RELEASE_SAVEPOINT; @@ -37289,14 +37289,14 @@ case 2379: /* Line 1455 of yacc.c */ -#line 13994 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 13994 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2381: /* Line 1455 of yacc.c */ -#line 14000 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14000 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (add_select_to_union_list(Lex, (bool)(yyvsp[(2) - (2)].num), TRUE)) MYSQL_YYABORT; @@ -37306,7 +37306,7 @@ case 2382: /* Line 1455 of yacc.c */ -#line 14005 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14005 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* Remove from the name resolution context stack the context of the @@ -37319,42 +37319,42 @@ case 2383: /* Line 1455 of yacc.c */ -#line 14015 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14015 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= 0; } break; case 2384: /* Line 1455 of yacc.c */ -#line 14016 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14016 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= 1; } break; case 2385: /* Line 1455 of yacc.c */ -#line 14017 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14017 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)= 1; } break; case 2386: /* Line 1455 of yacc.c */ -#line 14021 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14021 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.is_not_empty)= false; } break; case 2387: /* Line 1455 of yacc.c */ -#line 14022 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14022 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.is_not_empty)= true; } break; case 2388: /* Line 1455 of yacc.c */ -#line 14026 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14026 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -37375,7 +37375,7 @@ case 2389: /* Line 1455 of yacc.c */ -#line 14042 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14042 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; thd->lex->current_select->no_table_names_allowed= 0; @@ -37386,28 +37386,28 @@ case 2392: /* Line 1455 of yacc.c */ -#line 14055 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14055 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=1; } break; case 2393: /* Line 1455 of yacc.c */ -#line 14056 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14056 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=1; } break; case 2394: /* Line 1455 of yacc.c */ -#line 14057 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14057 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.num)=0; } break; case 2395: /* Line 1455 of yacc.c */ -#line 14062 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14062 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.select_lex)= Lex->current_select->master_unit()->first_select(); } @@ -37416,7 +37416,7 @@ case 2396: /* Line 1455 of yacc.c */ -#line 14066 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14066 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.select_lex)= Lex->current_select->master_unit()->first_select(); } @@ -37425,7 +37425,7 @@ case 2398: /* Line 1455 of yacc.c */ -#line 14075 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14075 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (add_select_to_union_list(Lex, (bool)(yyvsp[(3) - (3)].num), FALSE)) MYSQL_YYABORT; @@ -37435,7 +37435,7 @@ case 2399: /* Line 1455 of yacc.c */ -#line 14081 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14081 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->pop_context(); (yyval.select_lex)= (yyvsp[(1) - (6)].select_lex); @@ -37445,7 +37445,7 @@ case 2400: /* Line 1455 of yacc.c */ -#line 14090 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14090 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { (yyval.select_lex)= (yyvsp[(2) - (3)].select_lex); } @@ -37454,7 +37454,7 @@ case 2401: /* Line 1455 of yacc.c */ -#line 14096 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14096 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (!lex->expr_allows_subselect || @@ -37478,7 +37478,7 @@ case 2402: /* Line 1455 of yacc.c */ -#line 14117 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14117 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; @@ -37499,14 +37499,14 @@ case 2407: /* Line 1455 of yacc.c */ -#line 14145 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14145 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->options|= SELECT_STRAIGHT_JOIN; } break; case 2408: /* Line 1455 of yacc.c */ -#line 14147 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14147 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (check_simple_select()) MYSQL_YYABORT; @@ -37519,28 +37519,28 @@ case 2409: /* Line 1455 of yacc.c */ -#line 14154 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14154 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->options|= SELECT_DISTINCT; } break; case 2410: /* Line 1455 of yacc.c */ -#line 14155 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14155 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->options|= SELECT_SMALL_RESULT; } break; case 2411: /* Line 1455 of yacc.c */ -#line 14156 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14156 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->options|= SELECT_BIG_RESULT; } break; case 2412: /* Line 1455 of yacc.c */ -#line 14158 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14158 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (check_simple_select()) MYSQL_YYABORT; @@ -37551,7 +37551,7 @@ case 2413: /* Line 1455 of yacc.c */ -#line 14164 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14164 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { if (check_simple_select()) MYSQL_YYABORT; @@ -37562,35 +37562,35 @@ case 2414: /* Line 1455 of yacc.c */ -#line 14169 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14169 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Select->options|= SELECT_ALL; } break; case 2415: /* Line 1455 of yacc.c */ -#line 14180 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14180 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2416: /* Line 1455 of yacc.c */ -#line 14182 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14182 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2417: /* Line 1455 of yacc.c */ -#line 14184 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14184 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2431: /* Line 1455 of yacc.c */ -#line 14217 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14217 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* We have to distinguish missing DEFINER-clause from case when @@ -37606,7 +37606,7 @@ case 2432: /* Line 1455 of yacc.c */ -#line 14231 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14231 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { YYTHD->lex->definer= get_current_user(YYTHD, (yyvsp[(3) - (3)].lex_user)); } @@ -37615,77 +37615,77 @@ case 2433: /* Line 1455 of yacc.c */ -#line 14244 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14244 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2434: /* Line 1455 of yacc.c */ -#line 14246 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14246 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2435: /* Line 1455 of yacc.c */ -#line 14248 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14248 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2436: /* Line 1455 of yacc.c */ -#line 14253 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14253 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_view_mode= VIEW_CREATE_OR_REPLACE; } break; case 2437: /* Line 1455 of yacc.c */ -#line 14258 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14258 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_view_algorithm= VIEW_ALGORITHM_UNDEFINED; } break; case 2438: /* Line 1455 of yacc.c */ -#line 14260 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14260 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_view_algorithm= VIEW_ALGORITHM_MERGE; } break; case 2439: /* Line 1455 of yacc.c */ -#line 14262 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14262 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_view_algorithm= VIEW_ALGORITHM_TMPTABLE; } break; case 2440: /* Line 1455 of yacc.c */ -#line 14267 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14267 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_view_suid= VIEW_SUID_DEFAULT; } break; case 2441: /* Line 1455 of yacc.c */ -#line 14269 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14269 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_view_suid= VIEW_SUID_DEFINER; } break; case 2442: /* Line 1455 of yacc.c */ -#line 14271 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14271 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_view_suid= VIEW_SUID_INVOKER; } break; case 2443: /* Line 1455 of yacc.c */ -#line 14276 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14276 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -37703,14 +37703,14 @@ case 2445: /* Line 1455 of yacc.c */ -#line 14293 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14293 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2447: /* Line 1455 of yacc.c */ -#line 14299 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14299 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->view_list.push_back((LEX_STRING*) sql_memdup(&(yyvsp[(1) - (1)].lex_str), sizeof(LEX_STRING))); @@ -37720,7 +37720,7 @@ case 2448: /* Line 1455 of yacc.c */ -#line 14304 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14304 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->view_list.push_back((LEX_STRING*) sql_memdup(&(yyvsp[(3) - (3)].lex_str), sizeof(LEX_STRING))); @@ -37730,7 +37730,7 @@ case 2449: /* Line 1455 of yacc.c */ -#line 14311 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14311 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->parsing_options.allows_variable= FALSE; @@ -37744,7 +37744,7 @@ case 2450: /* Line 1455 of yacc.c */ -#line 14320 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14320 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= Lex; @@ -37763,35 +37763,35 @@ case 2453: /* Line 1455 of yacc.c */ -#line 14342 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14342 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_view_check= VIEW_CHECK_NONE; } break; case 2454: /* Line 1455 of yacc.c */ -#line 14344 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14344 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_view_check= VIEW_CHECK_CASCADED; } break; case 2455: /* Line 1455 of yacc.c */ -#line 14346 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14346 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_view_check= VIEW_CHECK_CASCADED; } break; case 2456: /* Line 1455 of yacc.c */ -#line 14348 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14348 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->create_view_check= VIEW_CHECK_LOCAL; } break; case 2457: /* Line 1455 of yacc.c */ -#line 14365 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14365 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* $8 */ Lex->raw_trg_on_table_name_begin= YYLIP->get_tok_start(); } @@ -37800,7 +37800,7 @@ case 2458: /* Line 1455 of yacc.c */ -#line 14371 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14371 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* $12 */ Lex->raw_trg_on_table_name_end= YYLIP->get_tok_start(); } @@ -37809,7 +37809,7 @@ case 2459: /* Line 1455 of yacc.c */ -#line 14376 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14376 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* $15 */ THD *thd= YYTHD; LEX *lex= thd->lex; @@ -37844,7 +37844,7 @@ case 2460: /* Line 1455 of yacc.c */ -#line 14406 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14406 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* $17 */ LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -37873,7 +37873,7 @@ case 2461: /* Line 1455 of yacc.c */ -#line 14440 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14440 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -37895,7 +37895,7 @@ case 2462: /* Line 1455 of yacc.c */ -#line 14458 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14458 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -37917,7 +37917,7 @@ case 2463: /* Line 1455 of yacc.c */ -#line 14481 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14481 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* $5 */ THD *thd= YYTHD; LEX *lex= thd->lex; @@ -37953,7 +37953,7 @@ case 2464: /* Line 1455 of yacc.c */ -#line 14513 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14513 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* $8 */ Lex->sphead->m_param_end= YYLIP->get_cpp_tok_start(); } @@ -37962,7 +37962,7 @@ case 2465: /* Line 1455 of yacc.c */ -#line 14517 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14517 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* $10 */ LEX *lex= Lex; lex->charset= NULL; @@ -37975,7 +37975,7 @@ case 2466: /* Line 1455 of yacc.c */ -#line 14525 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14525 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* $12 */ LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -38003,7 +38003,7 @@ case 2467: /* Line 1455 of yacc.c */ -#line 14548 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14548 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { /* $14 */ THD *thd= YYTHD; LEX *lex= thd->lex; @@ -38017,7 +38017,7 @@ case 2468: /* Line 1455 of yacc.c */ -#line 14557 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14557 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -38075,7 +38075,7 @@ case 2469: /* Line 1455 of yacc.c */ -#line 14613 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14613 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp; @@ -38104,7 +38104,7 @@ case 2470: /* Line 1455 of yacc.c */ -#line 14637 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14637 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { const char* tmp_param_begin; @@ -38117,7 +38117,7 @@ case 2471: /* Line 1455 of yacc.c */ -#line 14646 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14646 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -38130,7 +38130,7 @@ case 2472: /* Line 1455 of yacc.c */ -#line 14654 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14654 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -38143,7 +38143,7 @@ case 2473: /* Line 1455 of yacc.c */ -#line 14662 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14662 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -38157,7 +38157,7 @@ case 2474: /* Line 1455 of yacc.c */ -#line 14676 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14676 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_XA_START; } @@ -38166,7 +38166,7 @@ case 2475: /* Line 1455 of yacc.c */ -#line 14680 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14680 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_XA_END; } @@ -38175,7 +38175,7 @@ case 2476: /* Line 1455 of yacc.c */ -#line 14684 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14684 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_XA_PREPARE; } @@ -38184,7 +38184,7 @@ case 2477: /* Line 1455 of yacc.c */ -#line 14688 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14688 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_XA_COMMIT; } @@ -38193,7 +38193,7 @@ case 2478: /* Line 1455 of yacc.c */ -#line 14692 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14692 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_XA_ROLLBACK; } @@ -38202,7 +38202,7 @@ case 2479: /* Line 1455 of yacc.c */ -#line 14696 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14696 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_XA_RECOVER; } @@ -38211,7 +38211,7 @@ case 2480: /* Line 1455 of yacc.c */ -#line 14703 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14703 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (1)].string)->length() <= MAXGTRIDSIZE); if (!(Lex->xid=(XID *)YYTHD->alloc(sizeof(XID)))) @@ -38223,7 +38223,7 @@ case 2481: /* Line 1455 of yacc.c */ -#line 14710 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14710 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (3)].string)->length() <= MAXGTRIDSIZE && (yyvsp[(3) - (3)].string)->length() <= MAXBQUALSIZE); if (!(Lex->xid=(XID *)YYTHD->alloc(sizeof(XID)))) @@ -38235,7 +38235,7 @@ case 2482: /* Line 1455 of yacc.c */ -#line 14717 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14717 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (5)].string)->length() <= MAXGTRIDSIZE && (yyvsp[(3) - (5)].string)->length() <= MAXBQUALSIZE); if (!(Lex->xid=(XID *)YYTHD->alloc(sizeof(XID)))) @@ -38247,84 +38247,84 @@ case 2483: /* Line 1455 of yacc.c */ -#line 14726 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14726 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2484: /* Line 1455 of yacc.c */ -#line 14727 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14727 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2485: /* Line 1455 of yacc.c */ -#line 14731 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14731 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->xa_opt=XA_NONE; } break; case 2486: /* Line 1455 of yacc.c */ -#line 14732 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14732 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->xa_opt=XA_JOIN; } break; case 2487: /* Line 1455 of yacc.c */ -#line 14733 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14733 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->xa_opt=XA_RESUME; } break; case 2488: /* Line 1455 of yacc.c */ -#line 14737 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14737 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->xa_opt=XA_NONE; } break; case 2489: /* Line 1455 of yacc.c */ -#line 14738 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14738 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->xa_opt=XA_ONE_PHASE; } break; case 2490: /* Line 1455 of yacc.c */ -#line 14743 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14743 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->xa_opt=XA_NONE; } break; case 2491: /* Line 1455 of yacc.c */ -#line 14745 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14745 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->xa_opt=XA_SUSPEND; } break; case 2493: /* Line 1455 of yacc.c */ -#line 14750 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14750 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" {} break; case 2494: /* Line 1455 of yacc.c */ -#line 14751 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14751 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { Lex->xa_opt=XA_FOR_MIGRATE; } break; case 2495: /* Line 1455 of yacc.c */ -#line 14756 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14756 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_INSTALL_PLUGIN; @@ -38336,7 +38336,7 @@ case 2496: /* Line 1455 of yacc.c */ -#line 14766 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 14766 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_UNINSTALL_PLUGIN; @@ -38347,7 +38347,7 @@ /* Line 1455 of yacc.c */ -#line 38351 "/export/home/pb2/build/sb_0-13157554-1410169644.69/dist_GPL/sql/sql_yacc.cc" +#line 38351 "/export/home/pb2/build/sb_0-13594661-1415086934.35/dist_GPL/sql/sql_yacc.cc" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); diff -Nru mysql-5.5-5.5.40/sql/sql_yacc.h mysql-5.5-5.5.41/sql/sql_yacc.h --- mysql-5.5-5.5.40/sql/sql_yacc.h 2014-09-08 09:53:32.000000000 +0000 +++ mysql-5.5-5.5.41/sql/sql_yacc.h 2014-11-04 07:50:07.000000000 +0000 @@ -1231,7 +1231,7 @@ { /* Line 1676 of yacc.c */ -#line 731 "/export/home/pb2/build/sb_0-13157554-1410169644.69/mysql-5.5.40-release-export-7056900_gpl/sql/sql_yacc.yy" +#line 731 "/export/home/pb2/build/sb_0-13594661-1415086934.35/mysql-5.5.41-release-export-7248193_gpl/sql/sql_yacc.yy" int num; ulong ulong_num; @@ -1283,7 +1283,7 @@ /* Line 1676 of yacc.c */ -#line 1287 "/export/home/pb2/build/sb_0-13157554-1410169644.69/dist_GPL/sql/sql_yacc.h" +#line 1287 "/export/home/pb2/build/sb_0-13594661-1415086934.35/dist_GPL/sql/sql_yacc.h" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ diff -Nru mysql-5.5-5.5.40/sql/sys_vars.cc mysql-5.5-5.5.41/sql/sys_vars.cc --- mysql-5.5-5.5.40/sql/sys_vars.cc 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/sql/sys_vars.cc 2014-11-04 07:49:52.000000000 +0000 @@ -2447,13 +2447,13 @@ static bool fix_sql_log_bin_after_update(sys_var *self, THD *thd, enum_var_type type) { - if (type == OPT_SESSION) - { - if (thd->variables.sql_log_bin) - thd->variables.option_bits |= OPTION_BIN_LOG; - else - thd->variables.option_bits &= ~OPTION_BIN_LOG; - } + DBUG_ASSERT(type == OPT_SESSION); + + if (thd->variables.sql_log_bin) + thd->variables.option_bits |= OPTION_BIN_LOG; + else + thd->variables.option_bits &= ~OPTION_BIN_LOG; + return FALSE; } @@ -2475,7 +2475,7 @@ return TRUE; if (var->type == OPT_GLOBAL) - return FALSE; + return TRUE; /* If in a stored function/trigger, it's too late to change sql_log_bin. */ if (thd->in_sub_stmt) @@ -2494,9 +2494,9 @@ } static Sys_var_mybool Sys_log_binlog( - "sql_log_bin", "sql_log_bin", - SESSION_VAR(sql_log_bin), NO_CMD_LINE, - DEFAULT(TRUE), NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(check_sql_log_bin), + "sql_log_bin", "Controls whether logging to the binary log is done", + SESSION_VAR(sql_log_bin), NO_CMD_LINE, DEFAULT(TRUE), + NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(check_sql_log_bin), ON_UPDATE(fix_sql_log_bin_after_update)); static Sys_var_bit Sys_sql_warnings( diff -Nru mysql-5.5-5.5.40/storage/innobase/CMakeLists.txt mysql-5.5-5.5.41/storage/innobase/CMakeLists.txt --- mysql-5.5-5.5.40/storage/innobase/CMakeLists.txt 2014-09-08 09:53:16.000000000 +0000 +++ mysql-5.5-5.5.41/storage/innobase/CMakeLists.txt 2014-11-04 07:49:52.000000000 +0000 @@ -247,6 +247,14 @@ ut/ut0byte.c ut/ut0dbg.c ut/ut0list.c ut/ut0mem.c ut/ut0rbt.c ut/ut0rnd.c ut/ut0ut.c ut/ut0vec.c ut/ut0wqueue.c ut/ut0bh.c) +# These files have unused result errors, so we skip Werror +CHECK_C_COMPILER_FLAG("-Werror" HAVE_WERROR) +IF(HAVE_WERROR) + INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake) + ADD_COMPILE_FLAGS(page/page0zip.c COMPILE_FLAGS "-Wno-error") + ADD_COMPILE_FLAGS(ut/ut0ut.c COMPILE_FLAGS "-Wno-error") +ENDIF() + IF(WITH_INNODB) # Legacy option SET(WITH_INNOBASE_STORAGE_ENGINE TRUE) diff -Nru mysql-5.5-5.5.40/storage/innobase/dict/dict0dict.c mysql-5.5-5.5.41/storage/innobase/dict/dict0dict.c --- mysql-5.5-5.5.40/storage/innobase/dict/dict0dict.c 2014-09-08 09:53:16.000000000 +0000 +++ mysql-5.5-5.5.41/storage/innobase/dict/dict0dict.c 2014-11-04 07:49:52.000000000 +0000 @@ -42,6 +42,12 @@ UNIV_INTERN uint ibuf_debug; #endif /* UNIV_DEBUG || UNIV_IBUF_DEBUG */ +/********************************************************************** +Issue a warning that the row is too big. */ +void +ib_warn_row_too_big(const dict_table_t* table); + + #ifndef UNIV_HOTBACKUP #include "buf0buf.h" #include "data0type.h" @@ -1765,11 +1771,18 @@ new_index->n_fields = new_index->n_def; - if (strict && dict_index_too_big_for_tree(table, new_index)) { + if (dict_index_too_big_for_tree(table, new_index)) { + + if (strict) { too_big: - dict_mem_index_free(new_index); - dict_mem_index_free(index); - return(DB_TOO_BIG_RECORD); + dict_mem_index_free(new_index); + dict_mem_index_free(index); + return(DB_TOO_BIG_RECORD); + } else { + + ib_warn_row_too_big(table); + + } } if (UNIV_UNLIKELY(index->type & DICT_UNIVERSAL)) { @@ -2516,8 +2529,15 @@ foreign); rbt = foreign->referenced_table->referenced_rbt; + if (rbt != NULL) { - rbt_delete(rbt, foreign->id); + const ib_rbt_node_t* node + = rbt_lookup(rbt, foreign->id); + dict_foreign_t* val = *(dict_foreign_t**) node->value; + + if (val == foreign) { + rbt_delete(rbt, foreign->id); + } } } @@ -2530,7 +2550,13 @@ rbt = foreign->foreign_table->foreign_rbt; if (rbt != NULL) { - rbt_delete(rbt, foreign->id); + const ib_rbt_node_t* node + = rbt_lookup(rbt, foreign->id); + dict_foreign_t* val = *(dict_foreign_t**) node->value; + + if (val == foreign) { + rbt_delete(rbt, foreign->id); + } } } @@ -5485,11 +5511,11 @@ dict_index_copy_types(tuple, sys_index, 2); - btr_cur_search_to_nth_level(sys_index, 0, tuple, PAGE_CUR_GE, + btr_cur_search_to_nth_level(sys_index, 0, tuple, PAGE_CUR_LE, BTR_MODIFY_LEAF, &cursor, 0, __FILE__, __LINE__, &mtr); - if (cursor.up_match == dtuple_get_n_fields(tuple)) { + if (cursor.low_match == dtuple_get_n_fields(tuple)) { /* UPDATE SYS_INDEXES SET TYPE=index->type WHERE TABLE_ID=index->table->id AND INDEX_ID=index->id */ ulint len; diff -Nru mysql-5.5-5.5.40/storage/innobase/handler/ha_innodb.cc mysql-5.5-5.5.41/storage/innobase/handler/ha_innodb.cc --- mysql-5.5-5.5.40/storage/innobase/handler/ha_innodb.cc 2014-09-08 09:53:16.000000000 +0000 +++ mysql-5.5-5.5.41/storage/innobase/handler/ha_innodb.cc 2014-11-04 07:49:52.000000000 +0000 @@ -2251,7 +2251,7 @@ innobase_hton->start_consistent_snapshot=innobase_start_trx_and_assign_read_view; innobase_hton->flush_logs=innobase_flush_logs; innobase_hton->show_status=innobase_show_status; - innobase_hton->flags=HTON_NO_FLAGS; + innobase_hton->flags=HTON_SUPPORTS_FOREIGN_KEYS; innobase_hton->release_temporary_latches=innobase_release_temporary_latches; innobase_hton->alter_table_flags = innobase_alter_table_flags; @@ -9173,6 +9173,7 @@ thr_lock_type lock_type) { trx_t* trx; + DBUG_ENTER("ha_innobase::start_stmt"); update_thd(thd); @@ -9195,6 +9196,28 @@ prebuilt->hint_need_to_fetch_extra_cols = 0; reset_template(prebuilt); + if (dict_table_is_temporary(prebuilt->table) + && prebuilt->mysql_has_locked + && prebuilt->select_lock_type == LOCK_NONE) { + ulint error; + + switch (thd_sql_command(thd)) { + case SQLCOM_INSERT: + case SQLCOM_UPDATE: + case SQLCOM_DELETE: + init_table_handle_for_HANDLER(); + prebuilt->select_lock_type = LOCK_X; + error = row_lock_table_for_mysql(prebuilt, NULL, 1); + + if (error != DB_SUCCESS) { + error = convert_error_code_to_mysql( + (int) error, 0, thd); + DBUG_RETURN((int) error); + } + break; + } + } + if (!prebuilt->mysql_has_locked) { /* This handle is for a temporary table created inside this same LOCK TABLES; since MySQL does NOT call external_lock @@ -9227,7 +9250,7 @@ innobase_register_trx(ht, thd, trx); - return(0); + DBUG_RETURN(0); } /******************************************************************//** @@ -12063,3 +12086,30 @@ return(strconvert(cs_from, from, cs_to, to, len, &errors)); } + + +/********************************************************************** +Issue a warning that the row is too big. */ +extern "C" +void +ib_warn_row_too_big(const dict_table_t* table) +{ + /* If prefix is true then a 768-byte prefix is stored + locally for BLOB fields. Refer to dict_table_get_format() */ + const bool prefix = ((table->flags & DICT_TF_FORMAT_MASK) + >> DICT_TF_FORMAT_SHIFT) < UNIV_FORMAT_B; + + const ulint free_space = page_get_free_space_of_empty( + table->flags & DICT_TF_COMPACT) / 2; + + THD* thd = current_thd; + + push_warning_printf( + thd, MYSQL_ERROR::WARN_LEVEL_WARN, HA_ERR_TO_BIG_ROW, + "Row size too large (> %lu). Changing some columns to TEXT" + " or BLOB %smay help. In current row format, BLOB prefix of" + " %d bytes is stored inline.", free_space + , prefix ? "or using ROW_FORMAT=DYNAMIC or" + " ROW_FORMAT=COMPRESSED ": "" + , prefix ? DICT_MAX_FIXED_COL_LEN : 0); +} diff -Nru mysql-5.5-5.5.40/storage/innobase/include/btr0cur.ic mysql-5.5-5.5.41/storage/innobase/include/btr0cur.ic --- mysql-5.5-5.5.40/storage/innobase/include/btr0cur.ic 2014-09-08 09:53:16.000000000 +0000 +++ mysql-5.5-5.5.41/storage/innobase/include/btr0cur.ic 2014-11-04 07:49:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2012, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2014, Oracle and/or its affiliates. All Rights Reserved. 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 the Free Software @@ -28,7 +28,7 @@ #ifdef UNIV_DEBUG # define LIMIT_OPTIMISTIC_INSERT_DEBUG(NREC, CODE)\ -if (btr_cur_limit_optimistic_insert_debug\ +if (btr_cur_limit_optimistic_insert_debug > 1\ && (NREC) >= (ulint)btr_cur_limit_optimistic_insert_debug) {\ CODE;\ } diff -Nru mysql-5.5-5.5.40/storage/innobase/include/dict0dict.h mysql-5.5-5.5.41/storage/innobase/include/dict0dict.h --- mysql-5.5-5.5.40/storage/innobase/include/dict0dict.h 2014-09-08 09:53:16.000000000 +0000 +++ mysql-5.5-5.5.41/storage/innobase/include/dict0dict.h 2014-11-04 07:49:52.000000000 +0000 @@ -1367,6 +1367,14 @@ /*===========================*/ dict_table_t* table); /*!< in: the table object whose table->referenced_rbt will be initialized */ +/********************************************************************//** +Check if it is a temporary table. +@return true if temporary table flag is set. */ +UNIV_INLINE +ibool +dict_table_is_temporary( +/*====================*/ + const dict_table_t* table); /*!< in: table to check */ #ifndef UNIV_NONINL #include "dict0dict.ic" diff -Nru mysql-5.5-5.5.40/storage/innobase/include/dict0dict.ic mysql-5.5-5.5.41/storage/innobase/include/dict0dict.ic --- mysql-5.5-5.5.40/storage/innobase/include/dict0dict.ic 2014-09-08 09:53:16.000000000 +0000 +++ mysql-5.5-5.5.41/storage/innobase/include/dict0dict.ic 2014-11-04 07:49:52.000000000 +0000 @@ -1004,3 +1004,15 @@ ut_a(table->referenced_rbt != NULL); return(table->referenced_rbt); } + +/********************************************************************//** +Check if it is a temporary table. +@return true if temporary table flag is set. */ +UNIV_INLINE +ibool +dict_table_is_temporary( +/*====================*/ + const dict_table_t* table) /*!< in: table to check */ +{ + return(table->flags & (DICT_TF2_TEMPORARY << DICT_TF2_SHIFT)); +} diff -Nru mysql-5.5-5.5.40/storage/innobase/row/row0mysql.c mysql-5.5-5.5.41/storage/innobase/row/row0mysql.c --- mysql-5.5-5.5.40/storage/innobase/row/row0mysql.c 2014-09-08 09:53:16.000000000 +0000 +++ mysql-5.5-5.5.41/storage/innobase/row/row0mysql.c 2014-11-04 07:49:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2000, 2013, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2000, 2014, Oracle and/or its affiliates. All Rights Reserved. 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 the Free Software @@ -3089,6 +3089,9 @@ ulint namelen; ibool locked_dictionary = FALSE; pars_info_t* info = NULL; + DBUG_ENTER("row_drop_table_for_mysql"); + + DBUG_PRINT("row_drop_table_for_mysql", ("table: %s", name)); ut_a(name != NULL); @@ -3099,7 +3102,7 @@ "InnoDB: Shut down mysqld and edit my.cnf so that newraw" " is replaced with raw.\n", stderr); - return(DB_ERROR); + DBUG_RETURN(DB_ERROR); } trx->op_info = "dropping table"; @@ -3504,7 +3507,7 @@ srv_wake_master_thread(); - return((int) err); + DBUG_RETURN((int) err); } /*********************************************************************//** diff -Nru mysql-5.5-5.5.40/storage/myisam/ftbench/ft-test-run.sh mysql-5.5-5.5.41/storage/myisam/ftbench/ft-test-run.sh --- mysql-5.5-5.5.40/storage/myisam/ftbench/ft-test-run.sh 2014-09-08 09:53:16.000000000 +0000 +++ mysql-5.5-5.5.41/storage/myisam/ftbench/ft-test-run.sh 2014-11-04 07:49:51.000000000 +0000 @@ -2,7 +2,7 @@ # Copyright (c) 2003, 2005, 2006 MySQL AB # Use is subject to license terms - +# # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; version 2 diff -Nru mysql-5.5-5.5.40/support-files/MacOSX/ReadMe.txt mysql-5.5-5.5.41/support-files/MacOSX/ReadMe.txt --- mysql-5.5-5.5.40/support-files/MacOSX/ReadMe.txt 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/support-files/MacOSX/ReadMe.txt 2014-11-04 07:49:59.000000000 +0000 @@ -1,55 +1,59 @@ - 2.4 Installing MySQL on Mac OS X - For a list of supported Mac OS X versions that the MySQL server - supports, see - http://www.mysql.com/support/supportedplatforms/database.html. - - MySQL for Mac OS X is available in a number of different forms: - - * Native Package Installer format, which uses the native Mac OS - X installer (DMG) to walk you through the installation of - MySQL. For more information, see Section 2.4.2, "Installing - MySQL on Mac OS X Using Native Packages." You can use the - package installer with Mac OS X 10.6 and later, and the - package is available for both 32-bit and 64-bit architectures. - The user you use to perform the installation must have - administrator privileges. - - * Tar package format, which uses a file packaged using the Unix - tar and gzip commands. To use this method, you will need to - open a Terminal window. You do not need administrator - privileges using this method, as you can install the MySQL - server anywhere using this method. For more information on - using this method, you can use the generic instructions for - using a tarball, Section 2.2, "Installing MySQL on Unix/Linux - Using Generic Binaries."You can use the package installer with - Mac OS X 10.6 and later, and available for both 32-bit and - 64-bit architectures. - In addition to the core installation, the Package Installer - also includes Section 2.4.3, "Installing the MySQL Startup - Item" and Section 2.4.4, "Installing and Using the MySQL - Preference Pane," both of which simplify the management of - your installation. - - * Mac OS X server includes a version of MySQL as standard. If - you want to use a more recent version than that supplied with - the Mac OS X server release, you can make use of the package - or tar formats. For more information on using the MySQL - bundled with Mac OS X, see Section 2.4.5, "Using the Bundled - MySQL on Mac OS X Server." - - For additional information on using MySQL on Mac OS X, see Section - 2.4.1, "General Notes on Installing MySQL on Mac OS X." + For a list of supported Mac OS X versions that the MySQL + server supports, see + http://www.mysql.com/support/supportedplatforms/database.html + . + + MySQL for Mac OS X is available in a number of different + forms: + + * Native Package Installer format, which uses the native + Mac OS X installer (DMG) to walk you through the + installation of MySQL. For more information, see Section + 2.4.2, "Installing MySQL on Mac OS X Using Native + Packages." You can use the package installer with Mac OS + X 10.6 and later, and the package is available for both + 32-bit and 64-bit architectures. The user you use to + perform the installation must have administrator + privileges. + + * Tar package format, which uses a file packaged using the + Unix tar and gzip commands. To use this method, you will + need to open a Terminal window. You do not need + administrator privileges using this method, as you can + install the MySQL server anywhere using this method. For + more information on using this method, you can use the + generic instructions for using a tarball, Section 2.2, + "Installing MySQL on Unix/Linux Using Generic + Binaries."You can use the package installer with Mac OS X + 10.6 and later, and available for both 32-bit and 64-bit + architectures. + In addition to the core installation, the Package + Installer also includes Section 2.4.3, "Installing the + MySQL Startup Item" and Section 2.4.4, "Installing and + Using the MySQL Preference Pane," both of which simplify + the management of your installation. + + * Mac OS X server includes a version of MySQL as standard. + If you want to use a more recent version than that + supplied with the Mac OS X server release, you can make + use of the package or tar formats. For more information + on using the MySQL bundled with Mac OS X, see Section + 2.4.5, "Using the Bundled MySQL on Mac OS X Server." + + For additional information on using MySQL on Mac OS X, see + Section 2.4.1, "General Notes on Installing MySQL on Mac OS + X." 2.4.1 General Notes on Installing MySQL on Mac OS X You should keep the following issues and notes in mind: - * The default location for the MySQL Unix socket is different on - Mac OS X and Mac OS X Server depending on the installation - type you chose. The following table shows the default - locations by installation type. + * The default location for the MySQL Unix socket is + different on Mac OS X and Mac OS X Server depending on + the installation type you chose. The following table + shows the default locations by installation type. Table 2.8 MySQL Unix Socket Locations on Mac OS X by Installation Type @@ -57,90 +61,103 @@ Package Installer from MySQL /tmp/mysql.sock Tarball from MySQL /tmp/mysql.sock MySQL Bundled with Mac OS X Server /var/mysql/mysql.sock - To prevent issues, you should either change the configuration - of the socket used within your application (for example, - changing php.ini), or you should configure the socket location - using a MySQL configuration file and the socket option. For - more information, see Section 5.1.3, "Server Command Options." - - * You may need (or want) to create a specific mysql user to own - the MySQL directory and data. You can do this through the - Directory Utility, and the mysql user should already exist. - For use in single user mode, an entry for _mysql (note the - underscore prefix) should already exist within the system - /etc/passwd file. + To prevent issues, you should either change the + configuration of the socket used within your application + (for example, changing php.ini), or you should configure + the socket location using a MySQL configuration file and + the socket option. For more information, see Section + 5.1.3, "Server Command Options." + + * You may need (or want) to create a specific mysql user to + own the MySQL directory and data. You can do this through + the Directory Utility, and the mysql user should already + exist. For use in single user mode, an entry for _mysql + (note the underscore prefix) should already exist within + the system /etc/passwd file. * If you get an "insecure startup item disabled" error when MySQL launches, use the following procedure. Adjust the pathnames appropriately for your system. - 1. Modify the mysql.script using this command (enter it on a - single line): + 1. Modify the mysql.script using this command (enter it + on a single line): shell> sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit /usr/local/mysql/support-files/mysql.server - 2. Locate the option file that defines the basedir value and - modify it to contain these lines: + + 2. Locate the option file that defines the basedir + value and modify it to contain these lines: basedir=/usr/local/mysql datadir=/usr/local/mysql/data - In the /Library/StartupItems/MySQLCOM/ directory, make - the following group ID changes from staff to wheel: + + In the /Library/StartupItems/MySQLCOM/ directory, + make the following group ID changes from staff to + wheel: shell> sudo chgrp wheel MySQLCOM StartupParameters.plist - 3. Start the server from System Preferences or Terminal.app. + + 3. Start the server from System Preferences or + Terminal.app. * Because the MySQL package installer installs the MySQL - contents into a version and platform specific directory, you - can use this to upgrade and migrate your database between - versions. You will need to either copy the data directory from - the old version to the new version, or alternatively specify - an alternative datadir value to set location of the data - directory. - - * You might want to add aliases to your shell's resource file to - make it easier to access commonly used programs such as mysql - and mysqladmin from the command line. The syntax for bash is: + contents into a version and platform specific directory, + you can use this to upgrade and migrate your database + between versions. You will need to either copy the data + directory from the old version to the new version, or + alternatively specify an alternative datadir value to set + location of the data directory. + + * You might want to add aliases to your shell's resource + file to make it easier to access commonly used programs + such as mysql and mysqladmin from the command line. The + syntax for bash is: alias mysql=/usr/local/mysql/bin/mysql alias mysqladmin=/usr/local/mysql/bin/mysqladmin + For tcsh, use: alias mysql /usr/local/mysql/bin/mysql alias mysqladmin /usr/local/mysql/bin/mysqladmin - Even better, add /usr/local/mysql/bin to your PATH environment - variable. You can do this by modifying the appropriate startup - file for your shell. For more information, see Section 4.2.1, - "Invoking MySQL Programs." - - * After you have copied over the MySQL database files from the - previous installation and have successfully started the new - server, you should consider removing the old installation - files to save disk space. Additionally, you should also remove - older versions of the Package Receipt directories located in + + Even better, add /usr/local/mysql/bin to your PATH + environment variable. You can do this by modifying the + appropriate startup file for your shell. For more + information, see Section 4.2.1, "Invoking MySQL + Programs." + + * After you have copied over the MySQL database files from + the previous installation and have successfully started + the new server, you should consider removing the old + installation files to save disk space. Additionally, you + should also remove older versions of the Package Receipt + directories located in /Library/Receipts/mysql-VERSION.pkg. 2.4.2 Installing MySQL on Mac OS X Using Native Packages - The package is located inside a disk image (.dmg) file that you - first need to mount by double-clicking its icon in the Finder. It - should then mount the image and display its contents. + The package is located inside a disk image (.dmg) file that + you first need to mount by double-clicking its icon in the + Finder. It should then mount the image and display its + contents. Note Before proceeding with the installation, be sure to stop all - running MySQL server instances by using either the MySQL Manager - Application (on Mac OS X Server) or mysqladmin shutdown on the - command line. - - When installing from the package version, you should also install - the MySQL Preference Pane, which will enable you to control the - startup and execution of your MySQL server from System - Preferences. For more information, see Section 2.4.4, "Installing - and Using the MySQL Preference Pane." + running MySQL server instances by using either the MySQL + Manager Application (on Mac OS X Server) or mysqladmin + shutdown on the command line. + + When installing from the package version, you should also + install the MySQL Preference Pane, which will enable you to + control the startup and execution of your MySQL server from + System Preferences. For more information, see Section 2.4.4, + "Installing and Using the MySQL Preference Pane." When installing using the package installer, the files are - installed into a directory within /usr/local matching the name of - the installation version and platform. For example, the installer - file mysql-5.5-osx10.7-x86_64.dmg installs MySQL into - /usr/local/mysql-5.5-osx10.7-x86_64/ . The following table shows - the layout of the installation directory. + installed into a directory within /usr/local matching the + name of the installation version and platform. For example, + the installer file mysql-5.5-osx10.7-x86_64.dmg installs + MySQL into /usr/local/mysql-5.5-osx10.7-x86_64/ . The + following table shows the layout of the installation + directory. Table 2.9 MySQL Installation Layout on Mac OS X Directory Contents of Directory @@ -164,64 +181,67 @@ created during installation will be created automatically. 1. Download and open the MySQL package installer, which is - provided on a disk image (.dmg) that includes the main MySQL - installation package, the MySQLStartupItem.pkg installation - package, and the MySQL.prefPane. Double-click the disk image - to open it. - Figure 2.31 MySQL Package Installer: DMG Contents + provided on a disk image (.dmg) that includes the main + MySQL installation package, the MySQLStartupItem.pkg + installation package, and the MySQL.prefPane. + Double-click the disk image to open it. + Figure 2.41 MySQL Package Installer: DMG Contents MySQL Package Installer: DMG Contents - 2. Double-click the MySQL installer package. It will be named - according to the version of MySQL you have downloaded. For - example, if you have downloaded MySQL server 5.5.41, - double-click mysql-5.5.41-osx-10.7-x86_64.pkg. - - 3. You will be presented with the opening installer dialog. Click - Continue to begin installation. - Figure 2.32 MySQL Package Installer: Introduction + 2. Double-click the MySQL installer package. It will be + named according to the version of MySQL you have + downloaded. For example, if you have downloaded MySQL + server 5.5.42, double-click + mysql-5.5.42-osx-10.7-x86_64.pkg. + + 3. You will be presented with the opening installer dialog. + Click Continue to begin installation. + Figure 2.42 MySQL Package Installer: Introduction MySQL Package Installer: Introduction - 4. A copy of the installation instructions and other important - information relevant to this installation are displayed. Click - Continue . - - 5. If you have downloaded the community version of MySQL, you - will be shown a copy of the relevant GNU General Public - License. Click Continue . - - 6. Select the drive you want to use to install the MySQL Startup - Item. The drive must have a valid, bootable, Mac OS X - operating system installed. Click Continue. - Figure 2.33 MySQL Package Installer: Choose your Hard drive + 4. A copy of the installation instructions and other + important information relevant to this installation are + displayed. Click Continue . + + 5. If you have downloaded the community version of MySQL, + you will be shown a copy of the relevant GNU General + Public License. Click Continue . + + 6. Select the drive you want to use to install the MySQL + Startup Item. The drive must have a valid, bootable, Mac + OS X operating system installed. Click Continue. + Figure 2.43 MySQL Package Installer: Choose your Hard + drive MySQL Package Installer: Choose your Hard drive - 7. You will be asked to confirm the details of the installation, - including the space required for the installation. To change - the drive on which the MySQL server is installed, click either - Go Back or Change Install Location.... To install the MySQL - server, click Install. - - 8. Once the installation has been completed successfully, you - will be shown an Install Succeeded message. - - For convenience, you may also want to install the startup item and - preference pane. See Section 2.4.3, "Installing the MySQL Startup - Item," and Section 2.4.4, "Installing and Using the MySQL - Preference Pane." + 7. You will be asked to confirm the details of the + installation, including the space required for the + installation. To change the drive on which the MySQL + server is installed, click either Go Back or Change + Install Location.... To install the MySQL server, click + Install. + + 8. Once the installation has been completed successfully, + you will be shown an Install Succeeded message. + + For convenience, you may also want to install the startup + item and preference pane. See Section 2.4.3, "Installing the + MySQL Startup Item," and Section 2.4.4, "Installing and Using + the MySQL Preference Pane." 2.4.3 Installing the MySQL Startup Item - The MySQL Installation Package includes a startup item that can be - used to automatically start and stop MySQL. + The MySQL Installation Package includes a startup item that + can be used to automatically start and stop MySQL. To install the MySQL Startup Item: 1. Download and open the MySQL package installer, which is - provided on a disk image (.dmg) that includes the main MySQL - installation package, the MySQLStartupItem.pkg installation - package, and the MySQL.prefPane. Double-click the disk image - to open it. - Figure 2.34 MySQL Package Installer: DMG Contents + provided on a disk image (.dmg) that includes the main + MySQL installation package, the MySQLStartupItem.pkg + installation package, and the MySQL.prefPane. + Double-click the disk image to open it. + Figure 2.44 MySQL Package Installer: DMG Contents MySQL Package Installer: DMG Contents 2. Double-click the MySQLStartItem.pkg file to start the @@ -229,125 +249,130 @@ 3. You will be presented with the Install MySQL Startup Item dialog. - Figure 2.35 MySQL Startup Item Installer: Introduction + Figure 2.45 MySQL Startup Item Installer: Introduction MySQL Startup Item Installer: Introduction Click Continue to continue the installation process. - 4. A copy of the installation instructions and other important - information relevant to this installation are displayed. Click - Continue . - - 5. Select the drive you want to use to install the MySQL Startup - Item. The drive must have a valid, bootable, Mac OS X - operating system installed. Click Continue. - Figure 2.36 MySQL Startup Item Installer: Choose Your Hard - drive + 4. A copy of the installation instructions and other + important information relevant to this installation are + displayed. Click Continue . + + 5. Select the drive you want to use to install the MySQL + Startup Item. The drive must have a valid, bootable, Mac + OS X operating system installed. Click Continue. + Figure 2.46 MySQL Startup Item Installer: Choose Your + Hard drive MySQL Startup Item Installer: Choose Your Hard drive - 6. You will be asked to confirm the details of the installation. - To change the drive on which the startup item is installed, - click either Go Back or Change Install Location.... To install - the startup item, click Install. - - 7. Once the installation has been completed successfully, you - will be shown an Install Succeeded message. - Figure 2.37 MySQL Startup Item Installer: Summary + 6. You will be asked to confirm the details of the + installation. To change the drive on which the startup + item is installed, click either Go Back or Change Install + Location.... To install the startup item, click Install. + + 7. Once the installation has been completed successfully, + you will be shown an Install Succeeded message. + Figure 2.47 MySQL Startup Item Installer: Summary MySQL Startup Item Installer: Summary The Startup Item for MySQL is installed into - /Library/StartupItems/MySQLCOM. The Startup Item installation adds - a variable MYSQLCOM=-YES- to the system configuration file - /etc/hostconfig. If you want to disable the automatic startup of - MySQL, change this variable to MYSQLCOM=-NO-. + /Library/StartupItems/MySQLCOM. The Startup Item installation + adds a variable MYSQLCOM=-YES- to the system configuration + file /etc/hostconfig. If you want to disable the automatic + startup of MySQL, change this variable to MYSQLCOM=-NO-. Note - Deselecting Automatically Start MySQL Server on Startup from the - MySQL Preference Pane sets the MYSQLCOM variable to -NO-. + Deselecting Automatically Start MySQL Server on Startup from + the MySQL Preference Pane sets the MYSQLCOM variable to -NO-. - After the installation, you can start and stop the MySQL server - from the MySQL Preference Pane (preferred), or by running the - following commands in a terminal window. You must have - administrator privileges to perform these tasks, and you may be - prompted for your password. + After the installation, you can start and stop the MySQL + server from the MySQL Preference Pane (preferred), or by + running the following commands in a terminal window. You must + have administrator privileges to perform these tasks, and you + may be prompted for your password. - If you have installed the Startup Item, use this command to start - the server: + If you have installed the Startup Item, use this command to + start the server: shell> sudo /Library/StartupItems/MySQLCOM/MySQLCOM start - If you have installed the Startup Item, use this command to stop - the server: + If you have installed the Startup Item, use this command to + stop the server: shell> sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop 2.4.4 Installing and Using the MySQL Preference Pane The MySQL Package installer disk image also includes a custom - MySQL Preference Pane that enables you to start, stop, and control - automated startup during boot of your MySQL installation. + MySQL Preference Pane that enables you to start, stop, and + control automated startup during boot of your MySQL + installation. To install the MySQL Preference Pane: - 1. Download and open the MySQL package installer package, which - is provided on a disk image (.dmg) that includes the main - MySQL installation package, the MySQLStartupItem.pkg - installation package, and the MySQL.prefPane. Double-click the - disk image to open it. - Figure 2.38 MySQL Package Installer: DMG Contents + 1. Download and open the MySQL package installer package, + which is provided on a disk image (.dmg) that includes + the main MySQL installation package, the + MySQLStartupItem.pkg installation package, and the + MySQL.prefPane. Double-click the disk image to open it. + Figure 2.48 MySQL Package Installer: DMG Contents MySQL Package Installer: DMG Contents - 2. Double-click the MySQL.prefPane. The MySQL System Preferences - will open. + 2. Double-click the MySQL.prefPane. The MySQL System + Preferences will open. - 3. If this is the first time you have installed the preference - pane, you will be asked to confirm installation and whether - you want to install the preference pane for all users, or only - the current user. To install the preference pane for all users - you will need administrator privileges. If necessary, you will - be prompted for the username and password for a user with + 3. If this is the first time you have installed the + preference pane, you will be asked to confirm + installation and whether you want to install the + preference pane for all users, or only the current user. + To install the preference pane for all users you will + need administrator privileges. If necessary, you will be + prompted for the username and password for a user with administrator privileges. - 4. If you already have the MySQL Preference Pane installed, you - will be asked to confirm whether you want to overwrite the - existing MySQL Preference Pane. + 4. If you already have the MySQL Preference Pane installed, + you will be asked to confirm whether you want to + overwrite the existing MySQL Preference Pane. Note - The MySQL Preference Pane only starts and stops MySQL installation - installed from the MySQL package installation that have been - installed in the default location. - - Once the MySQL Preference Pane has been installed, you can control - your MySQL server instance using the preference pane. To use the - preference pane, open the System Preferences... from the Apple - menu. Select the MySQL preference pane by clicking the MySQL logo - within the Other section of the preference panes list. + The MySQL Preference Pane only starts and stops MySQL + installation installed from the MySQL package installation + that have been installed in the default location. + + Once the MySQL Preference Pane has been installed, you can + control your MySQL server instance using the preference pane. + To use the preference pane, open the System Preferences... + from the Apple menu. Select the MySQL preference pane by + clicking the MySQL logo within the Other section of the + preference panes list. - Figure 2.39 MySQL Preference Pane: Location + Figure 2.49 MySQL Preference Pane: Location MySQL Preference Pane: Location - The MySQL Preference Pane shows the current status of the MySQL - server, showing stopped (in red) if the server is not running and - running (in green) if the server has already been started. The - preference pane also shows the current setting for whether the - MySQL server has been set to start automatically. - - * To start the MySQL server using the preference pane: - Click Start MySQL Server. You may be prompted for the username - and password of a user with administrator privileges to start - the MySQL server. - - * To stop the MySQL server using the preference pane: - Click Stop MySQL Server. You may be prompted for the username - and password of a user with administrator privileges to stop - the MySQL server. - - * To automatically start the MySQL server when the system boots: - Check the check box next to Automatically Start MySQL Server - on Startup. + The MySQL Preference Pane shows the current status of the + MySQL server, showing stopped (in red) if the server is not + running and running (in green) if the server has already been + started. The preference pane also shows the current setting + for whether the MySQL server has been set to start + automatically. + + * To start the MySQL server using the preference pane: + Click Start MySQL Server. You may be prompted for the + username and password of a user with administrator + privileges to start the MySQL server. + + * To stop the MySQL server using the preference pane: + Click Stop MySQL Server. You may be prompted for the + username and password of a user with administrator + privileges to stop the MySQL server. + + * To automatically start the MySQL server when the system + boots: + Check the check box next to Automatically Start MySQL + Server on Startup. * To disable automatic MySQL server startup when the system boots: - Uncheck the check box next to Automatically Start MySQL Server - on Startup. + Uncheck the check box next to Automatically Start MySQL + Server on Startup. You can close the System Preferences... window once you have completed your settings. @@ -355,8 +380,8 @@ 2.4.5 Using the Bundled MySQL on Mac OS X Server If you are running Mac OS X Server, a version of MySQL should - already be installed. The following table shows the versions of - MySQL that ship with Mac OS X Server versions. + already be installed. The following table shows the versions + of MySQL that ship with Mac OS X Server versions. Table 2.10 MySQL Versions Preinstalled with Mac OS X Server Mac OS X Server Version MySQL Version @@ -368,8 +393,8 @@ 10.5.0 5.0.45 10.6.0 5.0.82 - The following table shows the installation layout of MySQL on Mac - OS X Server. + The following table shows the installation layout of MySQL on + Mac OS X Server. Table 2.11 MySQL Directory Layout for Preinstalled MySQL Installations on Mac OS X Server @@ -380,29 +405,31 @@ /usr/share/man Unix manual pages /usr/share/mysql/mysql-test MySQL test suite /usr/share/mysql Miscellaneous support files, including error - messages, character set files, sample configuration files, SQL for - database installation + messages, character set files, sample configuration files, + SQL for database installation /var/mysql/mysql.sock Location of the MySQL Unix socket Additional Resources - * For more information on managing the bundled MySQL instance in - Mac OS X Server 10.5, see Mac OS X Server: Web Technologies - Administration For Version 10.5 Leopard - (http://images.apple.com/server/macosx/docs/Web_Technologies_A - dmin_v10.5.pdf). - - * For more information on managing the bundled MySQL instance in - Mac OS X Server 10.6, see Mac OS X Server: Web Technologies - Administration Version 10.6 Snow Leopard + * For more information on managing the bundled MySQL + instance in Mac OS X Server 10.5, see Mac OS X Server: + Web Technologies Administration For Version 10.5 Leopard + (http://images.apple.com/server/macosx/docs/Web_Technolog + ies_Admin_v10.5.pdf). + + * For more information on managing the bundled MySQL + instance in Mac OS X Server 10.6, see Mac OS X Server: + Web Technologies Administration Version 10.6 Snow Leopard (http://manuals.info.apple.com/en_US/WebTech_v10.6.pdf). - * The MySQL server bundled with Mac OS X Server does not include - the MySQL client libraries and header files required to access - and use MySQL from a third-party driver, such as Perl DBI or - PHP. For more information on obtaining and installing MySQL - libraries, see Mac OS X Server version 10.5: MySQL libraries - available for download (http://support.apple.com/kb/TA25017). - Alternatively, you can ignore the bundled MySQL server and - install MySQL from the package or tarball installation. + * The MySQL server bundled with Mac OS X Server does not + include the MySQL client libraries and header files + required to access and use MySQL from a third-party + driver, such as Perl DBI or PHP. For more information on + obtaining and installing MySQL libraries, see Mac OS X + Server version 10.5: MySQL libraries available for + download (http://support.apple.com/kb/TA25017). + Alternatively, you can ignore the bundled MySQL server + and install MySQL from the package or tarball + installation. diff -Nru mysql-5.5-5.5.40/support-files/mysql.5.5.40.spec mysql-5.5-5.5.41/support-files/mysql.5.5.40.spec --- mysql-5.5-5.5.40/support-files/mysql.5.5.40.spec 2014-09-08 09:53:25.000000000 +0000 +++ mysql-5.5-5.5.41/support-files/mysql.5.5.40.spec 1970-01-01 00:00:00.000000000 +0000 @@ -1,2062 +0,0 @@ -# Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. -# -# 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 -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; see the file COPYING. If not, write to the -# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston -# MA 02110-1301 USA. - -############################################################################## -# Some common macro definitions -############################################################################## - -# NOTE: "vendor" is used in upgrade/downgrade check, so you can't -# change these, has to be exactly as is. -%global mysql_old_vendor MySQL AB -%global mysql_vendor_2 Sun Microsystems, Inc. -%global mysql_vendor Oracle and/or its affiliates - -%global mysql_version 5.5.40 - -%global mysqld_user mysql -%global mysqld_group mysql -%global mysqldatadir /var/lib/mysql - -%global release 1 - - -# -# Macros we use which are not available in all supported versions of RPM -# -# - defined/undefined are missing on RHEL4 -# -%if %{expand:%{?defined:0}%{!?defined:1}} -%define defined() %{expand:%%{?%{1}:1}%%{!?%{1}:0}} -%endif -%if %{expand:%{?undefined:0}%{!?undefined:1}} -%define undefined() %{expand:%%{?%{1}:0}%%{!?%{1}:1}} -%endif - -# ---------------------------------------------------------------------------- -# RPM build tools now automatically detect Perl module dependencies. This -# detection causes problems as it is broken in some versions, and it also -# provides unwanted dependencies from mandatory scripts in our package. -# It might not be possible to disable this in all versions of RPM, but here we -# try anyway. We keep the "AutoReqProv: no" for the "test" sub package, as -# disabling here might fail, and that package has the most problems. -# See: -# http://fedoraproject.org/wiki/Packaging/Perl#Filtering_Requires:_and_Provides -# http://www.wideopen.com/archives/rpm-list/2002-October/msg00343.html -# ---------------------------------------------------------------------------- -%undefine __perl_provides -%undefine __perl_requires - -############################################################################## -# Command line handling -############################################################################## -# -# To set options: -# -# $ rpmbuild --define="option " ... -# - -# ---------------------------------------------------------------------------- -# Commercial builds -# ---------------------------------------------------------------------------- -%if %{undefined commercial} -%define commercial 0 -%endif - -# ---------------------------------------------------------------------------- -# Source name -# ---------------------------------------------------------------------------- -%if %{undefined src_base} -%define src_base mysql -%endif -%define src_dir %{src_base}-%{mysql_version} - -# ---------------------------------------------------------------------------- -# Feature set (storage engines, options). Default to community (everything) -# ---------------------------------------------------------------------------- -%if %{undefined feature_set} -%define feature_set community -%endif - -# ---------------------------------------------------------------------------- -# Server comment strings -# ---------------------------------------------------------------------------- -%if %{undefined compilation_comment_debug} -%define compilation_comment_debug MySQL Community Server - Debug (GPL) -%endif -%if %{undefined compilation_comment_release} -%define compilation_comment_release MySQL Community Server (GPL) -%endif - -# ---------------------------------------------------------------------------- -# Product and server suffixes -# ---------------------------------------------------------------------------- -%if %{undefined product_suffix} - %if %{defined short_product_tag} - %define product_suffix -%{short_product_tag} - %else - %define product_suffix %{nil} - %endif -%endif - -%if %{undefined server_suffix} -%define server_suffix %{nil} -%endif - -# ---------------------------------------------------------------------------- -# Distribution support -# ---------------------------------------------------------------------------- -%if %{undefined distro_specific} -%define distro_specific 0 -%endif -%if %{distro_specific} - %if %(test -f /etc/enterprise-release && echo 1 || echo 0) - %define oelver %(rpm -qf --qf '%%{version}\\n' /etc/enterprise-release | sed -e 's/^\\([0-9]*\\).*/\\1/g') - %if "%oelver" == "4" - %define distro_description Oracle Enterprise Linux 4 - %define distro_releasetag oel4 - %define distro_buildreq gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel cmake libaio-devel - %define distro_requires chkconfig coreutils grep procps shadow-utils net-tools - %else - %if "%oelver" == "5" - %define distro_description Oracle Enterprise Linux 5 - %define distro_releasetag oel5 - %define distro_buildreq gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel cmake libaio-devel - %define distro_requires chkconfig coreutils grep procps shadow-utils net-tools - %else - %{error:Oracle Enterprise Linux %{oelver} is unsupported} - %endif - %endif - %else - %if %(test -f /etc/oracle-release && echo 1 || echo 0) - %define elver %(rpm -qf --qf '%%{version}\\n' /etc/oracle-release | sed -e 's/^\\([0-9]*\\).*/\\1/g') - %if "%elver" == "6" || "%elver" == "7" - %define distro_description Oracle Linux %elver - %define distro_releasetag el%elver - %define distro_buildreq gcc-c++ ncurses-devel perl readline-devel time zlib-devel cmake libaio-devel - %define distro_requires chkconfig coreutils grep procps shadow-utils net-tools - %else - %{error:Oracle Linux %{elver} is unsupported} - %endif - %else - %if %(test -f /etc/redhat-release && echo 1 || echo 0) - %define rhelver %(rpm -qf --qf '%%{version}\\n' /etc/redhat-release | sed -e 's/^\\([0-9]*\\).*/\\1/g') - %if "%rhelver" == "4" - %define distro_description Red Hat Enterprise Linux 4 - %define distro_releasetag rhel4 - %define distro_buildreq gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel cmake libaio-devel - %define distro_requires chkconfig coreutils grep procps shadow-utils net-tools - %else - %if "%rhelver" == "5" - %define distro_description Red Hat Enterprise Linux 5 - %define distro_releasetag rhel5 - %define distro_buildreq gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel cmake libaio-devel - %define distro_requires chkconfig coreutils grep procps shadow-utils net-tools - %else - %if "%rhelver" == "6" - %define distro_description Red Hat Enterprise Linux 6 - %define distro_releasetag rhel6 - %define distro_buildreq gcc-c++ ncurses-devel perl readline-devel time zlib-devel cmake libaio-devel - %define distro_requires chkconfig coreutils grep procps shadow-utils net-tools - %else - %{error:Red Hat Enterprise Linux %{rhelver} is unsupported} - %endif - %endif - %endif - %else - %if %(test -f /etc/SuSE-release && echo 1 || echo 0) - %define susever %(rpm -qf --qf '%%{version}\\n' /etc/SuSE-release | cut -d. -f1) - %if "%susever" == "10" - %define distro_description SUSE Linux Enterprise Server 10 - %define distro_releasetag sles10 - %define distro_buildreq gcc-c++ gdbm-devel gperf ncurses-devel openldap2-client readline-devel zlib-devel cmake libaio-devel - %define distro_requires aaa_base coreutils grep procps pwdutils - %else - %if "%susever" == "11" - %define distro_description SUSE Linux Enterprise Server 11 - %define distro_releasetag sles11 - %define distro_buildreq gcc-c++ gdbm-devel gperf ncurses-devel openldap2-client procps pwdutils readline-devel zlib-devel cmake libaio-devel - %define distro_requires aaa_base coreutils grep procps pwdutils - %else - %{error:SuSE %{susever} is unsupported} - %endif - %endif - %else - %{error:Unsupported distribution} - %endif - %endif - %endif - %endif -%else - %define generic_kernel %(uname -r | cut -d. -f1-2) - %define distro_description Generic Linux (kernel %{generic_kernel}) - %define distro_releasetag linux%{generic_kernel} - %define distro_buildreq gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel - %define distro_requires coreutils grep procps /sbin/chkconfig /usr/sbin/useradd /usr/sbin/groupadd -%endif - -# Avoid debuginfo RPMs, leaves binaries unstripped -%define debug_package %{nil} - -# Hack to work around bug in RHEL5 __os_install_post macro, wrong inverted -# test for __debug_package -%define __strip /bin/true - -# ---------------------------------------------------------------------------- -# Support optional "tcmalloc" library (experimental) -# ---------------------------------------------------------------------------- -%if %{defined malloc_lib_target} -%define WITH_TCMALLOC 1 -%else -%define WITH_TCMALLOC 0 -%endif - -############################################################################## -# Configuration based upon above user input, not to be set directly -############################################################################## - -%if 0%{?commercial} -%define license_files_server %{src_dir}/LICENSE.mysql -%define license_type Commercial -%else -%define license_files_server %{src_dir}/COPYING %{src_dir}/README -%define license_type GPL -%endif - -############################################################################## -# Main spec file section -############################################################################## - -Name: MySQL%{product_suffix} -Summary: MySQL: a very fast and reliable SQL database server -Group: Applications/Databases -Version: 5.5.40 -Release: %{release}%{?distro_releasetag:.%{distro_releasetag}} -Distribution: %{distro_description} -License: Copyright (c) 2000, 2014, %{mysql_vendor}. All rights reserved. Under %{license_type} license as shown in the Description field. -Source: http://www.mysql.com/Downloads/MySQL-5.5/%{src_dir}.tar.gz -URL: http://www.mysql.com/ -Packager: MySQL Release Engineering -Vendor: %{mysql_vendor} -BuildRequires: %{distro_buildreq} -%{?el7:Patch0: mysql-5.5-libmysqlclient-symbols.patch} - -# Regression tests may take a long time, override the default to skip them -%{!?runselftest:%global runselftest 1} - -# Think about what you use here since the first step is to -# run a rm -rf -BuildRoot: %{_tmppath}/%{name}-%{version}-build - -# From the manual -%description -The MySQL(TM) software delivers a very fast, multi-threaded, multi-user, -and robust SQL (Structured Query Language) database server. MySQL Server -is intended for mission-critical, heavy-load production systems as well -as for embedding into mass-deployed software. MySQL is a trademark of -%{mysql_vendor} - -The MySQL software has Dual Licensing, which means you can use the MySQL -software free of charge under the GNU General Public License -(http://www.gnu.org/licenses/). You can also purchase commercial MySQL -licenses from %{mysql_vendor} if you do not wish to be bound by the terms of -the GPL. See the chapter "Licensing and Support" in the manual for -further info. - -The MySQL web site (http://www.mysql.com/) provides the latest -news and information about the MySQL software. Also please see the -documentation and the manual for more information. - -############################################################################## -# Sub package definition -############################################################################## - -%package -n MySQL-server%{product_suffix} -Summary: MySQL: a very fast and reliable SQL database server -Group: Applications/Databases -Requires: %{distro_requires} -%if 0%{?commercial} -Obsoletes: MySQL-server -%else -Obsoletes: MySQL-server-advanced -%endif -Obsoletes: mysql-server < %{version}-%{release} -Obsoletes: mysql-server-advanced -Obsoletes: MySQL-server-classic MySQL-server-community MySQL-server-enterprise -Obsoletes: MySQL-server-advanced-gpl MySQL-server-enterprise-gpl -Provides: mysql-server = %{version}-%{release} -Provides: mysql-server%{?_isa} = %{version}-%{release} - -%description -n MySQL-server%{product_suffix} -The MySQL(TM) software delivers a very fast, multi-threaded, multi-user, -and robust SQL (Structured Query Language) database server. MySQL Server -is intended for mission-critical, heavy-load production systems as well -as for embedding into mass-deployed software. MySQL is a trademark of -%{mysql_vendor} - -The MySQL software has Dual Licensing, which means you can use the MySQL -software free of charge under the GNU General Public License -(http://www.gnu.org/licenses/). You can also purchase commercial MySQL -licenses from %{mysql_vendor} if you do not wish to be bound by the terms of -the GPL. See the chapter "Licensing and Support" in the manual for -further info. - -The MySQL web site (http://www.mysql.com/) provides the latest news and -information about the MySQL software. Also please see the documentation -and the manual for more information. - -This package includes the MySQL server binary as well as related utilities -to run and administer a MySQL server. - -If you want to access and work with the database, you have to install -package "MySQL-client%{product_suffix}" as well! - -# ---------------------------------------------------------------------------- -%package -n MySQL-client%{product_suffix} -Summary: MySQL - Client -Group: Applications/Databases -%if 0%{?commercial} -Obsoletes: MySQL-client -%else -Obsoletes: MySQL-client-advanced -%endif -Obsoletes: mysql < %{version}-%{release} -Obsoletes: mysql-advanced < %{version}-%{release} -Obsoletes: MySQL-client-classic MySQL-client-community MySQL-client-enterprise -Obsoletes: MySQL-client-advanced-gpl MySQL-client-enterprise-gpl -Provides: mysql = %{version}-%{release} -Provides: mysql%{?_isa} = %{version}-%{release} - -%description -n MySQL-client%{product_suffix} -This package contains the standard MySQL clients and administration tools. - -For a description of MySQL see the base MySQL RPM or http://www.mysql.com/ - -# ---------------------------------------------------------------------------- -%package -n MySQL-test%{product_suffix} -Summary: MySQL - Test suite -Group: Applications/Databases -%if 0%{?commercial} -Requires: MySQL-client-advanced perl -Obsoletes: MySQL-test -%else -Requires: MySQL-client perl -Obsoletes: MySQL-test-advanced -%endif -Obsoletes: mysql-test < %{version}-%{release} -Obsoletes: mysql-test-advanced -Obsoletes: mysql-bench MySQL-bench -Obsoletes: MySQL-test-classic MySQL-test-community MySQL-test-enterprise -Obsoletes: MySQL-test-advanced-gpl MySQL-test-enterprise-gpl -Provides: mysql-test = %{version}-%{release} -Provides: mysql-test%{?_isa} = %{version}-%{release} -AutoReqProv: no - -%description -n MySQL-test%{product_suffix} -This package contains the MySQL regression test suite. - -For a description of MySQL see the base MySQL RPM or http://www.mysql.com/ - -# ---------------------------------------------------------------------------- -%package -n MySQL-devel%{product_suffix} -Summary: MySQL - Development header files and libraries -Group: Applications/Databases -%if 0%{?commercial} -Obsoletes: MySQL-devel -%else -Obsoletes: MySQL-devel-advanced -%endif -Obsoletes: mysql-devel < %{version}-%{release} -Obsoletes: mysql-embedded-devel mysql-devel-advanced mysql-embedded-devel-advanced -Obsoletes: MySQL-devel-classic MySQL-devel-community MySQL-devel-enterprise -Obsoletes: MySQL-devel-advanced-gpl MySQL-devel-enterprise-gpl -Provides: mysql-devel = %{version}-%{release} -Provides: mysql-devel%{?_isa} = %{version}-%{release} - -%description -n MySQL-devel%{product_suffix} -This package contains the development header files and libraries necessary -to develop MySQL client applications. - -For a description of MySQL see the base MySQL RPM or http://www.mysql.com/ - -# ---------------------------------------------------------------------------- -%package -n MySQL-shared%{product_suffix} -Summary: MySQL - Shared libraries -Group: Applications/Databases -%if 0%{?commercial} -Obsoletes: MySQL-shared -%else -Obsoletes: MySQL-shared-advanced -%endif -Obsoletes: MySQL-shared-standard MySQL-shared-pro -Obsoletes: MySQL-shared-pro-cert MySQL-shared-pro-gpl -Obsoletes: MySQL-shared-pro-gpl-cert -Obsoletes: MySQL-shared-classic MySQL-shared-community MySQL-shared-enterprise -Obsoletes: MySQL-shared-advanced-gpl MySQL-shared-enterprise-gpl - -%description -n MySQL-shared%{product_suffix} -This package contains the shared libraries (*.so*) which certain languages -and applications need to dynamically load and use MySQL. - -# ---------------------------------------------------------------------------- -%package -n MySQL-embedded%{product_suffix} -Summary: MySQL - Embedded library -Group: Applications/Databases -%if 0%{?commercial} -Requires: MySQL-devel-advanced -Obsoletes: MySQL-embedded -%else -Requires: MySQL-devel -Obsoletes: MySQL-embedded-advanced -%endif -Obsoletes: mysql-embedded < %{version}-%{release} -Obsoletes: mysql-embedded-advanced -Obsoletes: MySQL-embedded-pro -Obsoletes: MySQL-embedded-classic MySQL-embedded-community MySQL-embedded-enterprise -Obsoletes: MySQL-embedded-advanced-gpl MySQL-embedded-enterprise-gpl -Provides: mysql-embedded = %{version}-%{release} -Provides: mysql-emdedded%{?_isa} = %{version}-%{release} - -%description -n MySQL-embedded%{product_suffix} -This package contains the MySQL server as an embedded library. - -The embedded MySQL server library makes it possible to run a full-featured -MySQL server inside the client application. The main benefits are increased -speed and more simple management for embedded applications. - -The API is identical for the embedded MySQL version and the -client/server version. - -For a description of MySQL see the base MySQL RPM or http://www.mysql.com/ - -############################################################################## -%prep -%setup -T -a 0 -c -n %{src_dir} -pushd %{src_dir} -%{?el7:%patch0 -p1} -############################################################################## -%build - -# Fail quickly and obviously if user tries to build as root -%if %runselftest - if [ x"`id -u`" = x0 ]; then - echo "The MySQL regression tests may fail if run as root." - echo "If you really need to build the RPM as root, use" - echo "--define='runselftest 0' to skip the regression tests." - exit 1 - fi -%endif - -# Be strict about variables, bail at earliest opportunity, etc. -set -eu - -# Optional package files -touch optional-files-devel - -# -# Set environment in order of preference, MYSQL_BUILD_* first, then variable -# name, finally a default. RPM_OPT_FLAGS is assumed to be a part of the -# default RPM build environment. -# -# We set CXX=gcc by default to support so-called 'generic' binaries, where we -# do not have a dependancy on libgcc/libstdc++. This only works while we do -# not require C++ features such as exceptions, and may need to be removed at -# a later date. -# - -# This is a hack, $RPM_OPT_FLAGS on ia64 hosts contains flags which break -# the compile in cmd-line-utils/readline - needs investigation, but for now -# we simply unset it and use those specified directly in cmake. -%if "%{_arch}" == "ia64" -RPM_OPT_FLAGS= -%endif - -export PATH=${MYSQL_BUILD_PATH:-$PATH} -export CC=${MYSQL_BUILD_CC:-${CC:-gcc}} -export CXX=${MYSQL_BUILD_CXX:-${CXX:-gcc}} -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 LDFLAGS=${MYSQL_BUILD_LDFLAGS:-${LDFLAGS:-}} -export CMAKE=${MYSQL_BUILD_CMAKE:-${CMAKE:-cmake}} -export MAKE_JFLAG=${MYSQL_BUILD_MAKE_JFLAG:-} - -# Build debug mysqld and libmysqld.a -mkdir debug -( - cd debug - # Attempt to remove any optimisation flags from the debug build - CFLAGS=`echo " ${CFLAGS} " | \ - sed -e 's/ -O[0-9]* / /' \ - -e 's/ -unroll2 / /' \ - -e 's/ -ip / /' \ - -e 's/^ //' \ - -e 's/ $//'` - CXXFLAGS=`echo " ${CXXFLAGS} " | \ - sed -e 's/ -O[0-9]* / /' \ - -e 's/ -unroll2 / /' \ - -e 's/ -ip / /' \ - -e 's/^ //' \ - -e 's/ $//'` - # XXX: MYSQL_UNIX_ADDR should be in cmake/* but mysql_version is included before - # XXX: install_layout so we can't just set it based on INSTALL_LAYOUT=RPM - ${CMAKE} ../%{src_dir} -DBUILD_CONFIG=mysql_release -DINSTALL_LAYOUT=RPM \ - -DCMAKE_BUILD_TYPE=Debug \ - -DENABLE_DTRACE=OFF \ - -DMYSQL_UNIX_ADDR="%{mysqldatadir}/mysql.sock" \ - -DFEATURE_SET="%{feature_set}" \ - -DCOMPILATION_COMMENT="%{compilation_comment_debug}" \ - -DMYSQL_SERVER_SUFFIX="%{server_suffix}" - echo BEGIN_DEBUG_CONFIG ; egrep '^#define' include/config.h ; echo END_DEBUG_CONFIG - make ${MAKE_JFLAG} VERBOSE=1 -) -# Build full release -mkdir release -( - cd release - # XXX: MYSQL_UNIX_ADDR should be in cmake/* but mysql_version is included before - # XXX: install_layout so we can't just set it based on INSTALL_LAYOUT=RPM - ${CMAKE} ../%{src_dir} -DBUILD_CONFIG=mysql_release -DINSTALL_LAYOUT=RPM \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -DENABLE_DTRACE=OFF \ - -DMYSQL_UNIX_ADDR="%{mysqldatadir}/mysql.sock" \ - -DFEATURE_SET="%{feature_set}" \ - -DCOMPILATION_COMMENT="%{compilation_comment_release}" \ - -DMYSQL_SERVER_SUFFIX="%{server_suffix}" - echo BEGIN_NORMAL_CONFIG ; egrep '^#define' include/config.h ; echo END_NORMAL_CONFIG - make ${MAKE_JFLAG} VERBOSE=1 -) - -%if %runselftest - MTR_BUILD_THREAD=auto - export MTR_BUILD_THREAD - - (cd release && make test-bt-fast || true) -%endif - -############################################################################## -%install - -RBR=$RPM_BUILD_ROOT -MBD=$RPM_BUILD_DIR/%{src_dir} - -# Ensure that needed directories exists -install -d $RBR%{_sysconfdir}/{logrotate.d,init.d} -install -d $RBR%{mysqldatadir}/mysql -install -d $RBR%{_datadir}/mysql-test -install -d $RBR%{_datadir}/mysql/SELinux/RHEL4 -install -d $RBR%{_includedir} -install -d $RBR%{_libdir} -install -d $RBR%{_mandir} -install -d $RBR%{_sbindir} - -mkdir -p $RBR%{_sysconfdir}/my.cnf.d - -# Install all binaries -( - cd $MBD/release - make DESTDIR=$RBR install -) - -# For gcc builds, include libgcc.a in the devel subpackage (BUG 4921). Do -# this in a sub-shell to ensure we don't pollute the install environment -# with compiler bits. -( - PATH=${MYSQL_BUILD_PATH:-$PATH} - CC=${MYSQL_BUILD_CC:-${CC:-gcc}} - CFLAGS=${MYSQL_BUILD_CFLAGS:-${CFLAGS:-$RPM_OPT_FLAGS}} - if "${CC}" -v 2>&1 | grep '^gcc.version' >/dev/null 2>&1; then - libgcc=`${CC} ${CFLAGS} --print-libgcc-file` - if [ -f ${libgcc} ]; then - mkdir -p $RBR%{_libdir}/mysql - install -m 644 ${libgcc} $RBR%{_libdir}/mysql/libmygcc.a - echo "%{_libdir}/mysql/libmygcc.a" >>optional-files-devel - fi - fi -) - -# FIXME: at some point we should stop doing this and just install everything -# FIXME: directly into %{_libdir}/mysql - perhaps at the same time as renaming -# FIXME: the shared libraries to use libmysql*-$major.$minor.so syntax -mv -v $RBR/%{_libdir}/*.a $RBR/%{_libdir}/mysql/ - -# Install logrotate and autostart -install -m 644 $MBD/release/support-files/mysql-log-rotate $RBR%{_sysconfdir}/logrotate.d/mysql -install -m 755 $MBD/release/support-files/mysql.server $RBR%{_sysconfdir}/init.d/mysql - -# Create a symlink "rcmysql", pointing to the init.script. SuSE users -# will appreciate that, as all services usually offer this. -ln -s %{_sysconfdir}/init.d/mysql $RBR%{_sbindir}/rcmysql - -# Touch the place where the my.cnf config file might be located -# Just to make sure it's in the file list and marked as a config file -touch $RBR%{_sysconfdir}/my.cnf - -# Install SELinux files in datadir -install -m 600 $MBD/%{src_dir}/support-files/RHEL4-SElinux/mysql.{fc,te} \ - $RBR%{_datadir}/mysql/SELinux/RHEL4 - -%if %{WITH_TCMALLOC} -# Even though this is a shared library, put it under /usr/lib*/mysql, so it -# doesn't conflict with possible shared lib by the same name in /usr/lib*. See -# `mysql_config --variable=pkglibdir` and mysqld_safe for how this is used. -install -m 644 "%{malloc_lib_source}" \ - "$RBR%{_libdir}/mysql/%{malloc_lib_target}" -%endif - -# Remove man pages we explicitly do not want to package, avoids 'unpackaged -# files' warning. -# This has become obsolete: rm -f $RBR%{_mandir}/man1/make_win_bin_dist.1* - -############################################################################## -# Post processing actions, i.e. when installed -############################################################################## - -%pre -n MySQL-server%{product_suffix} -# This is the code running at the beginning of a RPM upgrade action, -# before replacing the old files with the new ones. - -# ATTENTION: Parts of this are duplicated in the "triggerpostun" ! - -# There are users who deviate from the default file system layout. -# Check local settings to support them. -if [ -x %{_bindir}/my_print_defaults ] -then - mysql_datadir=`%{_bindir}/my_print_defaults server mysqld | grep '^--datadir=' | sed -n 's/--datadir=//p'` - PID_FILE_PATT=`%{_bindir}/my_print_defaults server mysqld | grep '^--pid-file=' | sed -n 's/--pid-file=//p'` -fi -if [ -z "$mysql_datadir" ] -then - mysql_datadir=%{mysqldatadir} -fi -if [ -z "$PID_FILE_PATT" ] -then - PID_FILE_PATT="$mysql_datadir/*.pid" -fi - -# Check if we can safely upgrade. An upgrade is only safe if it's from one -# of our RPMs in the same version family. - -# Handle both ways of spelling the capability. -installed=`rpm -q --whatprovides mysql-server 2> /dev/null` -if [ $? -ne 0 -o -z "$installed" ]; then - installed=`rpm -q --whatprovides MySQL-server 2> /dev/null` -fi -if [ $? -eq 0 -a -n "$installed" ]; then - installed=`echo $installed | sed 's/\([^ ]*\) .*/\1/'` # Tests have shown duplicated package names - vendor=`rpm -q --queryformat='%{VENDOR}' "$installed" 2>&1` - version=`rpm -q --queryformat='%{VERSION}' "$installed" 2>&1` - myoldvendor='%{mysql_old_vendor}' - myvendor_2='%{mysql_vendor_2}' - myvendor='%{mysql_vendor}' - myversion='%{mysql_version}' - - old_family=`echo $version \ - | sed -n -e 's,^\([1-9][0-9]*\.[0-9][0-9]*\)\..*$,\1,p'` - new_family=`echo $myversion \ - | sed -n -e 's,^\([1-9][0-9]*\.[0-9][0-9]*\)\..*$,\1,p'` - - [ -z "$vendor" ] && vendor='' - [ -z "$old_family" ] && old_family="" - [ -z "$new_family" ] && new_family="" - - error_text= - if [ "$vendor" != "$myoldvendor" \ - -a "$vendor" != "$myvendor_2" \ - -a "$vendor" != "$myvendor" ]; then - error_text="$error_text -The current MySQL server package is provided by a different -vendor ($vendor) than $myoldvendor, $myvendor_2, or $myvendor. -Some files may be installed to different locations, including log -files and the service startup script in %{_sysconfdir}/init.d/. -" - fi - - if [ "$old_family" != "$new_family" ]; then - error_text="$error_text -Upgrading directly from MySQL $old_family to MySQL $new_family may not -be safe in all cases. A manual dump and restore using mysqldump is -recommended. It is important to review the MySQL manual's Upgrading -section for version-specific incompatibilities. -" - fi - - if [ -n "$error_text" ]; then - cat <&2 - -****************************************************************** -A MySQL server package ($installed) is installed. -$error_text -A manual upgrade is required. - -- Ensure that you have a complete, working backup of your data and my.cnf - files -- Shut down the MySQL server cleanly -- Remove the existing MySQL packages. Usually this command will - list the packages you should remove: - rpm -qa | grep -i '^mysql-' - - You may choose to use 'rpm --nodeps -ev ' to remove - the package which contains the mysqlclient shared library. The - library will be reinstalled by the MySQL-shared-compat package. -- Install the new MySQL packages supplied by $myvendor -- Ensure that the MySQL server is started -- Run the 'mysql_upgrade' program - -This is a brief description of the upgrade process. Important details -can be found in the MySQL manual, in the Upgrading section. -****************************************************************** -HERE - exit 1 - fi -fi - -# We assume that if there is exactly one ".pid" file, -# it contains the valid PID of a running MySQL server. -NR_PID_FILES=`ls -1 $PID_FILE_PATT 2>/dev/null | wc -l` -case $NR_PID_FILES in - 0 ) SERVER_TO_START='' ;; # No "*.pid" file == no running server - 1 ) SERVER_TO_START='true' ;; - * ) SERVER_TO_START='' # Situation not clear - SEVERAL_PID_FILES=true ;; -esac -# That logic may be debated: We might check whether it is non-empty, -# contains exactly one number (possibly a PID), and whether "ps" finds it. -# OTOH, if there is no such process, it means a crash without a cleanup - -# is that a reason not to start a new server after upgrade? - -STATUS_FILE=$mysql_datadir/RPM_UPGRADE_MARKER - -if [ -f $STATUS_FILE ]; then - echo "Some previous upgrade was not finished:" - ls -ld $STATUS_FILE - echo "Please check its status, then do" - echo " rm $STATUS_FILE" - echo "before repeating the MySQL upgrade." - exit 1 -elif [ -n "$SEVERAL_PID_FILES" ] ; then - echo "You have more than one PID file:" - ls -ld $PID_FILE_PATT - echo "Please check which one (if any) corresponds to a running server" - echo "and delete all others before repeating the MySQL upgrade." - exit 1 -fi - -NEW_VERSION=%{mysql_version}-%{release} - -# The "pre" section code is also run on a first installation, -# when there is no data directory yet. Protect against error messages. -if [ -d $mysql_datadir ] ; then - echo "MySQL RPM upgrade to version $NEW_VERSION" > $STATUS_FILE - echo "'pre' step running at `date`" >> $STATUS_FILE - echo >> $STATUS_FILE - fcount=`ls -ltr $mysql_datadir/*.err 2>/dev/null | wc -l` - if [ $fcount -gt 0 ] ; then - echo "ERR file(s):" >> $STATUS_FILE - ls -ltr $mysql_datadir/*.err >> $STATUS_FILE - echo >> $STATUS_FILE - echo "Latest 'Version' line in latest file:" >> $STATUS_FILE - grep '^Version' `ls -tr $mysql_datadir/*.err | tail -1` | \ - tail -1 >> $STATUS_FILE - echo >> $STATUS_FILE - fi - - if [ -n "$SERVER_TO_START" ] ; then - # There is only one PID file, race possibility ignored - echo "PID file:" >> $STATUS_FILE - ls -l $PID_FILE_PATT >> $STATUS_FILE - cat $PID_FILE_PATT >> $STATUS_FILE - echo >> $STATUS_FILE - echo "Server process:" >> $STATUS_FILE - ps -fp `cat $PID_FILE_PATT` >> $STATUS_FILE - echo >> $STATUS_FILE - echo "SERVER_TO_START=$SERVER_TO_START" >> $STATUS_FILE - else - # Take a note we checked it ... - echo "PID file:" >> $STATUS_FILE - ls -l $PID_FILE_PATT >> $STATUS_FILE 2>&1 - fi -fi - -# Shut down a previously installed server first -# Note we *could* make that depend on $SERVER_TO_START, but we rather don't, -# so a "stop" is attempted even if there is no PID file. -# (Maybe the "stop" doesn't work then, but we might fix that in itself.) -if [ -x %{_sysconfdir}/init.d/mysql ] ; then - %{_sysconfdir}/init.d/mysql stop > /dev/null 2>&1 - echo "Giving mysqld 5 seconds to exit nicely" - sleep 5 -fi - -%post -n MySQL-server%{product_suffix} -# This is the code running at the end of a RPM install or upgrade action, -# after the (new) files have been written. - -# ATTENTION: Parts of this are duplicated in the "triggerpostun" ! - -# There are users who deviate from the default file system layout. -# Check local settings to support them. -if [ -x %{_bindir}/my_print_defaults ] -then - mysql_datadir=`%{_bindir}/my_print_defaults server mysqld | grep '^--datadir=' | sed -n 's/--datadir=//p'` -fi -if [ -z "$mysql_datadir" ] -then - mysql_datadir=%{mysqldatadir} -fi - -NEW_VERSION=%{mysql_version}-%{release} -STATUS_FILE=$mysql_datadir/RPM_UPGRADE_MARKER - -# ---------------------------------------------------------------------- -# Create data directory if needed, check whether upgrade or install -# ---------------------------------------------------------------------- -if [ ! -d $mysql_datadir ] ; then mkdir -m 755 $mysql_datadir; fi -if [ -f $STATUS_FILE ] ; then - SERVER_TO_START=`grep '^SERVER_TO_START=' $STATUS_FILE | cut -c17-` -else - SERVER_TO_START='' -fi -# echo "Analyzed: SERVER_TO_START=$SERVER_TO_START" -if [ ! -d $mysql_datadir/mysql ] ; then - mkdir $mysql_datadir/mysql $mysql_datadir/test - echo "MySQL RPM installation of version $NEW_VERSION" >> $STATUS_FILE -else - # If the directory exists, we may assume it is an upgrade. - echo "MySQL RPM upgrade to version $NEW_VERSION" >> $STATUS_FILE -fi - -# ---------------------------------------------------------------------- -# Make MySQL start/shutdown automatically when the machine does it. -# ---------------------------------------------------------------------- -# NOTE: This still needs to be debated. Should we check whether these links -# for the other run levels exist(ed) before the upgrade? -# use chkconfig on Enterprise Linux and newer SuSE releases -if [ -x /sbin/chkconfig ] ; then - /sbin/chkconfig --add mysql -# use insserv for older SuSE Linux versions -elif [ -x /sbin/insserv ] ; then - /sbin/insserv %{_sysconfdir}/init.d/mysql -fi - -# ---------------------------------------------------------------------- -# Create a MySQL user and group. Do not report any problems if it already -# exists. -# ---------------------------------------------------------------------- -groupadd -r %{mysqld_group} 2> /dev/null || true -useradd -M -r -d $mysql_datadir -s /bin/bash -c "MySQL server" \ - -g %{mysqld_group} %{mysqld_user} 2> /dev/null || true -# The user may already exist, make sure it has the proper group nevertheless -# (BUG#12823) -usermod -g %{mysqld_group} %{mysqld_user} 2> /dev/null || true - -# ---------------------------------------------------------------------- -# Change permissions so that the user that will run the MySQL daemon -# owns all database files. -# ---------------------------------------------------------------------- -chown -R %{mysqld_user}:%{mysqld_group} $mysql_datadir - -# ---------------------------------------------------------------------- -# Initiate databases if needed -# ---------------------------------------------------------------------- -if ! grep '^MySQL RPM upgrade' $STATUS_FILE >/dev/null 2>&1 ; then - # Fix bug#45415: no "mysql_install_db" on an upgrade - # Do this as a negative to err towards more "install" runs - # rather than to miss one. - %{_bindir}/mysql_install_db --rpm --user=%{mysqld_user} -fi - -# ---------------------------------------------------------------------- -# Upgrade databases if needed would go here - but it cannot be automated yet -# ---------------------------------------------------------------------- - -# ---------------------------------------------------------------------- -# Change permissions again to fix any new files. -# ---------------------------------------------------------------------- -chown -R %{mysqld_user}:%{mysqld_group} $mysql_datadir - -# ---------------------------------------------------------------------- -# Fix permissions for the permission database so that only the user -# can read them. -# ---------------------------------------------------------------------- -chmod -R og-rw $mysql_datadir/mysql - -# ---------------------------------------------------------------------- -# install SELinux files - but don't override existing ones -# ---------------------------------------------------------------------- -SETARGETDIR=/etc/selinux/targeted/src/policy -SEDOMPROG=$SETARGETDIR/domains/program -SECONPROG=$SETARGETDIR/file_contexts/program -if [ -f /etc/redhat-release ] \ - && (grep -q "Red Hat Enterprise Linux .. release 4" /etc/redhat-release \ - || grep -q "CentOS release 4" /etc/redhat-release) ; then - echo - echo - echo 'Notes regarding SELinux on this platform:' - echo '=========================================' - echo - echo 'The default policy might cause server startup to fail because it is' - echo 'not allowed to access critical files. In this case, please update' - echo 'your installation.' - echo - echo 'The default policy might also cause inavailability of SSL related' - echo 'features because the server is not allowed to access /dev/random' - echo 'and /dev/urandom. If this is a problem, please do the following:' - echo - echo ' 1) install selinux-policy-targeted-sources from your OS vendor' - echo ' 2) add the following two lines to '$SEDOMPROG/mysqld.te':' - echo ' allow mysqld_t random_device_t:chr_file read;' - echo ' allow mysqld_t urandom_device_t:chr_file read;' - echo ' 3) cd to '$SETARGETDIR' and issue the following command:' - echo ' make load' - echo - echo -fi - -if [ -x sbin/restorecon ] ; then - sbin/restorecon -R var/lib/mysql -fi - -# Was the server running before the upgrade? If so, restart the new one. -if [ "$SERVER_TO_START" = "true" ] ; then - # Restart in the same way that mysqld will be started normally. - if [ -x %{_sysconfdir}/init.d/mysql ] ; then - %{_sysconfdir}/init.d/mysql start - echo "Giving mysqld 5 seconds to start" - sleep 5 - fi -fi - -# Collect an upgrade history ... -echo "Upgrade/install finished at `date`" >> $STATUS_FILE -echo >> $STATUS_FILE -echo "=====" >> $STATUS_FILE -STATUS_HISTORY=$mysql_datadir/RPM_UPGRADE_HISTORY -cat $STATUS_FILE >> $STATUS_HISTORY -mv -f $STATUS_FILE ${STATUS_FILE}-LAST # for "triggerpostun" - - -#echo "Thank you for installing the MySQL Community Server! For Production -#systems, we recommend MySQL Enterprise, which contains enterprise-ready -#software, intelligent advisory services, and full production support with -#scheduled service packs and more. Visit www.mysql.com/enterprise for more -#information." - -%preun -n MySQL-server%{product_suffix} - -# Which '$1' does this refer to? Fedora docs have info: -# " ... a count of the number of versions of the package that are installed. -# Action Count -# Install the first time 1 -# Upgrade 2 or higher (depending on the number of versions installed) -# Remove last version of package 0 " -# -# http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch09s04s05.html - -if [ $1 = 0 ] ; then - # Stop MySQL before uninstalling it - if [ -x %{_sysconfdir}/init.d/mysql ] ; then - %{_sysconfdir}/init.d/mysql stop > /dev/null - # Remove autostart of MySQL - # use chkconfig on Enterprise Linux and newer SuSE releases - if [ -x /sbin/chkconfig ] ; then - /sbin/chkconfig --del mysql - # For older SuSE Linux versions - elif [ -x /sbin/insserv ] ; then - /sbin/insserv -r %{_sysconfdir}/init.d/mysql - fi - fi -fi - -# We do not remove the mysql user since it may still own a lot of -# database files. - -%triggerpostun -n MySQL-server%{product_suffix} --MySQL-server-community - -# Setup: We renamed this package, so any existing "server-community" -# package will be removed when this "server" is installed. -# Problem: RPM will first run the "pre" and "post" sections of this script, -# and only then the "preun" of that old community server. -# But this "preun" includes stopping the server and uninstalling the service, -# "chkconfig --del mysql" which removes the symlinks to the start script. -# Solution: *After* the community server got removed, restart this server -# and re-install the service. -# -# For information about triggers in spec files, see the Fedora docs: -# http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch10s02.html -# For all details of this code, see the "pre" and "post" sections. - -# There are users who deviate from the default file system layout. -# Check local settings to support them. -if [ -x %{_bindir}/my_print_defaults ] -then - mysql_datadir=`%{_bindir}/my_print_defaults server mysqld | grep '^--datadir=' | sed -n 's/--datadir=//p'` -fi -if [ -z "$mysql_datadir" ] -then - mysql_datadir=%{mysqldatadir} -fi - -NEW_VERSION=%{mysql_version}-%{release} -STATUS_FILE=$mysql_datadir/RPM_UPGRADE_MARKER-LAST # Note the difference! -STATUS_HISTORY=$mysql_datadir/RPM_UPGRADE_HISTORY - -if [ -f $STATUS_FILE ] ; then - SERVER_TO_START=`grep '^SERVER_TO_START=' $STATUS_FILE | cut -c17-` -else - # This should never happen, but let's be prepared - SERVER_TO_START='' -fi -echo "Analyzed: SERVER_TO_START=$SERVER_TO_START" - -if [ -x /sbin/chkconfig ] ; then - /sbin/chkconfig --add mysql -# use insserv for older SuSE Linux versions -elif [ -x /sbin/insserv ] ; then - /sbin/insserv %{_sysconfdir}/init.d/mysql -fi - -# Was the server running before the upgrade? If so, restart the new one. -if [ "$SERVER_TO_START" = "true" ] ; then - # Restart in the same way that mysqld will be started normally. - if [ -x %{_sysconfdir}/init.d/mysql ] ; then - %{_sysconfdir}/init.d/mysql start - echo "Giving mysqld 5 seconds to start" - sleep 5 - fi -fi - -echo "Trigger 'postun --community' finished at `date`" >> $STATUS_HISTORY -echo >> $STATUS_HISTORY -echo "=====" >> $STATUS_HISTORY - - -# ---------------------------------------------------------------------- -# Clean up the BuildRoot after build is done -# ---------------------------------------------------------------------- -%clean -[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] \ - && rm -rf $RPM_BUILD_ROOT; - -############################################################################## -# Files section -############################################################################## - -%files -n MySQL-server%{product_suffix} -f release/support-files/plugins.files -%defattr(-,root,root,0755) - -%if %{defined license_files_server} -%doc %{license_files_server} -%endif -%doc %{src_dir}/Docs/ChangeLog -%doc %{src_dir}/Docs/INFO_SRC* -%doc release/Docs/INFO_BIN* -%doc release/support-files/my-*.cnf - -%if 0%{?commercial} -%doc %attr(644, root, root) %{_infodir}/mysql.info* -%endif - -%doc %attr(644, root, man) %{_mandir}/man1/innochecksum.1* -%doc %attr(644, root, man) %{_mandir}/man1/my_print_defaults.1* -%doc %attr(644, root, man) %{_mandir}/man1/myisam_ftdump.1* -%doc %attr(644, root, man) %{_mandir}/man1/myisamchk.1* -%doc %attr(644, root, man) %{_mandir}/man1/myisamlog.1* -%doc %attr(644, root, man) %{_mandir}/man1/myisampack.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysql_convert_table_format.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysql_fix_extensions.1* -%doc %attr(644, root, man) %{_mandir}/man8/mysqld.8* -%doc %attr(644, root, man) %{_mandir}/man1/mysqld_multi.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysqld_safe.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysqldumpslow.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysql_install_db.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysql_plugin.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysql_secure_installation.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysql_setpermission.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysql_upgrade.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysqlhotcopy.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysqlman.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysql.server.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysqltest.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysql_tzinfo_to_sql.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysql_zap.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysqlbug.1* -%doc %attr(644, root, man) %{_mandir}/man1/perror.1* -%doc %attr(644, root, man) %{_mandir}/man1/replace.1* -%doc %attr(644, root, man) %{_mandir}/man1/resolve_stack_dump.1* -%doc %attr(644, root, man) %{_mandir}/man1/resolveip.1* - -%ghost %config(noreplace,missingok) %{_sysconfdir}/my.cnf -%dir %{_sysconfdir}/my.cnf.d - -%attr(755, root, root) %{_bindir}/innochecksum -%attr(755, root, root) %{_bindir}/my_print_defaults -%attr(755, root, root) %{_bindir}/myisam_ftdump -%attr(755, root, root) %{_bindir}/myisamchk -%attr(755, root, root) %{_bindir}/myisamlog -%attr(755, root, root) %{_bindir}/myisampack -%attr(755, root, root) %{_bindir}/mysql_convert_table_format -%attr(755, root, root) %{_bindir}/mysql_fix_extensions -%attr(755, root, root) %{_bindir}/mysql_install_db -%attr(755, root, root) %{_bindir}/mysql_plugin -%attr(755, root, root) %{_bindir}/mysql_secure_installation -%attr(755, root, root) %{_bindir}/mysql_setpermission -%attr(755, root, root) %{_bindir}/mysql_tzinfo_to_sql -%attr(755, root, root) %{_bindir}/mysql_upgrade -%attr(755, root, root) %{_bindir}/mysql_zap -%attr(755, root, root) %{_bindir}/mysqlbug -%attr(755, root, root) %{_bindir}/mysqld_multi -%attr(755, root, root) %{_bindir}/mysqld_safe -%attr(755, root, root) %{_bindir}/mysqldumpslow -%attr(755, root, root) %{_bindir}/mysqlhotcopy -%attr(755, root, root) %{_bindir}/mysqltest -%attr(755, root, root) %{_bindir}/perror -%attr(755, root, root) %{_bindir}/replace -%attr(755, root, root) %{_bindir}/resolve_stack_dump -%attr(755, root, root) %{_bindir}/resolveip - -%attr(755, root, root) %{_sbindir}/mysqld -%attr(755, root, root) %{_sbindir}/mysqld-debug -%attr(755, root, root) %{_sbindir}/rcmysql -%attr(755, root, root) %{_libdir}/mysql/plugin/daemon_example.ini - -%if %{WITH_TCMALLOC} -%attr(755, root, root) %{_libdir}/mysql/%{malloc_lib_target} -%endif - -%attr(644, root, root) %config(noreplace,missingok) %{_sysconfdir}/logrotate.d/mysql -%attr(755, root, root) %{_sysconfdir}/init.d/mysql - -%attr(755, root, root) %{_datadir}/mysql/ - -# ---------------------------------------------------------------------------- -%files -n MySQL-client%{product_suffix} - -%defattr(-, root, root, 0755) -%attr(755, root, root) %{_bindir}/msql2mysql -%attr(755, root, root) %{_bindir}/mysql -%attr(755, root, root) %{_bindir}/mysql_find_rows -%attr(755, root, root) %{_bindir}/mysql_waitpid -%attr(755, root, root) %{_bindir}/mysqlaccess -# XXX: This should be moved to %{_sysconfdir} -%attr(644, root, root) %{_bindir}/mysqlaccess.conf -%attr(755, root, root) %{_bindir}/mysqladmin -%attr(755, root, root) %{_bindir}/mysqlbinlog -%attr(755, root, root) %{_bindir}/mysqlcheck -%attr(755, root, root) %{_bindir}/mysqldump -%attr(755, root, root) %{_bindir}/mysqlimport -%attr(755, root, root) %{_bindir}/mysqlshow -%attr(755, root, root) %{_bindir}/mysqlslap - -%doc %attr(644, root, man) %{_mandir}/man1/msql2mysql.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysql.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysql_find_rows.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysql_waitpid.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysqlaccess.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysqladmin.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysqlbinlog.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysqlcheck.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysqldump.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysqlimport.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysqlshow.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysqlslap.1* - -# ---------------------------------------------------------------------------- -%files -n MySQL-devel%{product_suffix} -f optional-files-devel -%defattr(-, root, root, 0755) -%doc %attr(644, root, man) %{_mandir}/man1/comp_err.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysql_config.1* -%attr(755, root, root) %{_bindir}/mysql_config -%dir %attr(755, root, root) %{_includedir}/mysql -%dir %attr(755, root, root) %{_libdir}/mysql -%{_includedir}/mysql/* -%{_datadir}/aclocal/mysql.m4 -%{_libdir}/mysql/libmysqlclient.a -%{_libdir}/mysql/libmysqlclient_r.a -%{_libdir}/mysql/libmysqlservices.a - -# ---------------------------------------------------------------------------- -%files -n MySQL-shared%{product_suffix} -%defattr(-, root, root, 0755) -# Shared libraries (omit for architectures that don't support them) -%{_libdir}/libmysql*.so* - -%post -n MySQL-shared%{product_suffix} -/sbin/ldconfig - -%postun -n MySQL-shared%{product_suffix} -/sbin/ldconfig - -# ---------------------------------------------------------------------------- -%files -n MySQL-test%{product_suffix} -%defattr(-, root, root, 0755) -%attr(-, root, root) %{_datadir}/mysql-test -%attr(755, root, root) %{_bindir}/mysql_client_test -%attr(755, root, root) %{_bindir}/mysql_client_test_embedded -%attr(755, root, root) %{_bindir}/mysqltest_embedded -%doc %attr(644, root, man) %{_mandir}/man1/mysql_client_test.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysql-stress-test.pl.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysql-test-run.pl.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysql_client_test_embedded.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysqltest_embedded.1* - -# ---------------------------------------------------------------------------- -%files -n MySQL-embedded%{product_suffix} -%defattr(-, root, root, 0755) -%attr(755, root, root) %{_bindir}/mysql_embedded -%attr(644, root, root) %{_libdir}/mysql/libmysqld.a -%attr(644, root, root) %{_libdir}/mysql/libmysqld-debug.a - -############################################################################## -# The spec file changelog only includes changes made to the spec file -# itself - note that they must be ordered by date (important when -# merging BK trees) -############################################################################## -%changelog -* Wed Jul 02 2014 Bjorn Munch -- Disable dtrace unconditionally, breaks after we install Oracle dtrace - -* Wed Oct 30 2013 Balasubramanian Kandasamy -- Removed non gpl file docs/mysql.info from community packages - -* Mon Sep 09 2013 Balasubramanian Kandasamy -- Updated logic to get the correct count of PID files - -* Fri Aug 16 2013 Balasubramanian Kandasamy -- Added provides lowercase mysql tags - -* Wed Jun 26 2013 Balasubramanian Kandasamy -- Cleaned up spec file to resolve rpm dependencies. - -* Tue Jul 24 2012 Joerg Bruehe - -- Add a macro "runselftest": - if set to 1 (default), the test suite will be run during the RPM build; - this can be oveeridden via the command line by adding - --define "runselftest 0" - Failures of the test suite will NOT make the RPM build fail! - -* Mon Jun 11 2012 Joerg Bruehe - -- Make sure newly added "SPECIFIC-ULN/" directory does not disturb packaging. - -* Wed Sep 28 2011 Joerg Bruehe - -- Fix duplicate mentioning of "mysql_plugin" and its manual page, - it is better to keep alphabetic order in the files list (merging!). - -* Wed Sep 14 2011 Joerg Bruehe - -- Let the RPM capabilities ("obsoletes" etc) ensure that an upgrade may replace - the RPMs of any configuration (of the current or the preceding release series) - by the new ones. This is done by not using the implicitly generated capabilities - (which include the configuration name) and relying on more generic ones which - just list the function ("server", "client", ...). - The implicit generation cannot be prevented, so all these capabilities must be - explicitly listed in "Obsoletes:" - -* Tue Sep 13 2011 Jonathan Perkin - -- Add support for Oracle Linux 6 and Red Hat Enterprise Linux 6. Due to - changes in RPM behaviour ($RPM_BUILD_ROOT is removed prior to install) - this necessitated a move of the libmygcc.a installation to the install - phase, which is probably where it belonged in the first place. - -* Tue Sep 13 2011 Joerg Bruehe - -- "make_win_bin_dist" and its manual are dropped, cmake does it different. - -* Thu Sep 08 2011 Daniel Fischer - -- Add mysql_plugin man page. - -* Tue Aug 30 2011 Joerg Bruehe - -- Add the manual page for "mysql_plugin" to the server package. - -* Fri Aug 19 2011 Joerg Bruehe - -- Null-upmerge the fix of bug#37165: This spec file is not affected. -- Replace "/var/lib/mysql" by the spec file variable "%{mysqldatadir}". - -* Fri Aug 12 2011 Daniel Fischer - -- Source plugin library files list from cmake-generated file. - -* Mon Jul 25 2011 Chuck Bell - -- Added the mysql_plugin client - enables or disables plugins. - -* Thu Jul 21 2011 Sunanda Menon - -- Fix bug#12561297: Added the MySQL embedded binary - -* Thu Jul 07 2011 Joerg Bruehe - -- Fix bug#45415: "rpm upgrade recreates test database" - Let the creation of the "test" database happen only during a new installation, - not in an RPM upgrade. - This affects both the "mkdir" and the call of "mysql_install_db". - -* Thu Feb 09 2011 Joerg Bruehe - -- Fix bug#56581: If an installation deviates from the default file locations - ("datadir" and "pid-file"), the mechanism to detect a running server (on upgrade) - should still work, and use these locations. - The problem was that the fix for bug#27072 did not check for local settings. - -* Mon Jan 31 2011 Joerg Bruehe - -- Install the new "manifest" files: "INFO_SRC" and "INFO_BIN". - -* Tue Nov 23 2010 Jonathan Perkin - -- 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 - -- Added test authentication (WL#1054) plugin binaries - -* Wed Oct 6 2010 Georgi Kodinov - -- Added example external authentication (WL#1054) plugin binaries - -* Wed Aug 11 2010 Joerg Bruehe - -- With a recent spec file cleanup, names have changed: A "-community" part was dropped. - Reflect that in the "Obsoletes" specifications. -- 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". - -* Tue Jun 15 2010 Joerg Bruehe - -- Change the behaviour on installation and upgrade: - On installation, do not autostart the server. - *Iff* the server was stopped before the upgrade is started, this is taken as a - sign the administrator is handling that manually, and so the new server will - not be started automatically at the end of the upgrade. - The start/stop scripts will still be installed, so the server will be started - on the next machine boot. - This is the 5.5 version of fixing bug#27072 (RPM autostarting the server). - -* Tue Jun 1 2010 Jonathan Perkin - -- Implement SELinux checks from distribution-specific spec file. - -* Wed May 12 2010 Jonathan Perkin - -- Large number of changes to build using CMake -- Introduce distribution-specific RPMs -- Drop debuginfo, build all binaries with debug/symbols -- Remove __os_install_post, use native macro -- Remove _unpackaged_files_terminate_build, make it an error to have - unpackaged files -- Remove cluster RPMs - -* Wed Mar 24 2010 Joerg Bruehe - -- Add "--with-perfschema" to the configure options. - -* Mon Mar 22 2010 Joerg Bruehe - -- User "usr/lib*" to allow for both "usr/lib" and "usr/lib64", - mask "rmdir" return code 1. -- Remove "ha_example.*" files from the list, they aren't built. - -* Wed Mar 17 2010 Joerg Bruehe - -- Fix a wrong path name in handling the debug plugins. - -* Wed Mar 10 2010 Joerg Bruehe - -- Take the result of the debug plugin build and put it into the optimized tree, - so that it becomes part of the final installation; - include the files in the packlist. Part of the fixes for bug#49022. - -* Mon Mar 01 2010 Joerg Bruehe - -- Set "Oracle and/or its affiliates" as the vendor and copyright owner, - accept upgrading from packages showing MySQL or Sun as vendor. - -* Fri Feb 12 2010 Joerg Bruehe - -- Formatting changes: - Have a consistent structure of separator lines and of indentation - (8 leading blanks => tab). -- Introduce the variable "src_dir". -- Give the environment variables "MYSQL_BUILD_CC(CXX)" precedence - over "CC" ("CXX"). -- Drop the old "with_static" argument analysis, this is not supported - in 5.1 since ages. -- Introduce variables to control the handlers individually, as well - as other options. -- Use the new "--with-plugin" notation for the table handlers. -- Drop handling "/etc/rc.d/init.d/mysql", the switch to "/etc/init.d/mysql" - was done back in 2002 already. -- Make "--with-zlib-dir=bundled" the default, add an option to disable it. -- Add missing manual pages to the file list. -- Improve the runtime check for "libgcc.a", protect it against being tried - with the Intel compiler "icc". - -* Mon Jan 11 2010 Joerg Bruehe - -- Change RPM file naming: - - Suffix like "-m2", "-rc" becomes part of version as "_m2", "_rc". - - Release counts from 1, not 0. - -* Wed Dec 23 2009 Joerg Bruehe - -- The "semisync" plugin file name has lost its introductory "lib", - adapt the file lists for the subpackages. - This is a part missing from the fix for bug#48351. -- Remove the "fix_privilege_tables" manual, it does not exist in 5.5 - (and likely, the whole script will go, too). - -* Mon Nov 16 2009 Joerg Bruehe - -- Fix some problems with the directives around "tcmalloc" (experimental), - remove erroneous traces of the InnoDB plugin (that is 5.1 only). - -* Fri Oct 06 2009 Magnus Blaudd - -- Removed mysql_fix_privilege_tables - -* Fri Oct 02 2009 Alexander Nozdrin - -- "mysqlmanager" got removed from version 5.4, all references deleted. - -* Fri Aug 28 2009 Joerg Bruehe - -- Merge up from 5.1 to 5.4: Remove handling for the InnoDB plugin. - -* Thu Aug 27 2009 Joerg Bruehe - -- This version does not contain the "Instance manager", "mysqlmanager": - Remove it from the spec file so that packaging succeeds. - -* Mon Aug 24 2009 Jonathan Perkin - -- Add conditionals for bundled zlib and innodb plugin - -* Fri Aug 21 2009 Jonathan Perkin - -- Install plugin libraries in appropriate packages. -- Disable libdaemon_example and ftexample plugins. - -* Thu Aug 20 2009 Jonathan Perkin - -- Update variable used for mysql-test suite location to match source. - -* Fri Nov 07 2008 Joerg Bruehe - -- Correct yesterday's fix, so that it also works for the last flag, - and fix a wrong quoting: un-quoted quote marks must not be escaped. - -* Thu Nov 06 2008 Kent Boortz - -- Removed "mysql_upgrade_shell" -- Removed some copy/paste between debug and normal build - -* Thu Nov 06 2008 Joerg Bruehe - -- Modify CFLAGS and CXXFLAGS such that a debug build is not optimized. - This should cover both gcc and icc flags. Fixes bug#40546. - -* Fri Aug 29 2008 Kent Boortz - -- Removed the "Federated" storage engine option, and enabled in all - -* Tue Aug 26 2008 Joerg Bruehe - -- Get rid of the "warning: Installed (but unpackaged) file(s) found:" - Some generated files aren't needed in RPMs: - - the "sql-bench/" subdirectory - Some files were missing: - - /usr/share/aclocal/mysql.m4 ("devel" subpackage) - - Manual "mysqlbug" ("server" subpackage) - - Program "innochecksum" and its manual ("server" subpackage) - - Manual "mysql_find_rows" ("client" subpackage) - - Script "mysql_upgrade_shell" ("client" subpackage) - - Program "ndb_cpcd" and its manual ("ndb-extra" subpackage) - - Manuals "ndb_mgm" + "ndb_restore" ("ndb-tools" subpackage) - -* Mon Mar 31 2008 Kent Boortz - -- Made the "Federated" storage engine an option -- Made the "Cluster" storage engine and sub packages an option - -* Wed Mar 19 2008 Joerg Bruehe - -- Add the man pages for "ndbd" and "ndb_mgmd". - -* Mon Feb 18 2008 Timothy Smith - -- Require a manual upgrade if the alread-installed mysql-server is - from another vendor, or is of a different major version. - -* Wed May 02 2007 Joerg Bruehe - -- "ndb_size.tmpl" is not needed any more, - "man1/mysql_install_db.1" lacked the trailing '*'. - -* Sat Apr 07 2007 Kent Boortz - -- Removed man page for "mysql_create_system_tables" - -* Wed Mar 21 2007 Daniel Fischer - -- Add debug server. - -* Mon Mar 19 2007 Daniel Fischer - -- Remove Max RPMs; the server RPMs contain a mysqld compiled with all - features that previously only were built into Max. - -* Fri Mar 02 2007 Joerg Bruehe - -- Add several man pages for NDB which are now created. - -* Fri Jan 05 2007 Kent Boortz - -- Put back "libmygcc.a", found no real reason it was removed. - -- Add CFLAGS to gcc call with --print-libgcc-file, to make sure the - correct "libgcc.a" path is returned for the 32/64 bit architecture. - -* Mon Dec 18 2006 Joerg Bruehe - -- Fix the move of "mysqlmanager" to section 8: Directory name was wrong. - -* Thu Dec 14 2006 Joerg Bruehe - -- Include the new man pages for "my_print_defaults" and "mysql_tzinfo_to_sql" - in the server RPM. -- The "mysqlmanager" man page got moved from section 1 to 8. - -* Thu Nov 30 2006 Joerg Bruehe - -- Call "make install" using "benchdir_root=%{_datadir}", - because that is affecting the regression test suite as well. - -* Thu Nov 16 2006 Joerg Bruehe - -- Explicitly note that the "MySQL-shared" RPMs (as built by MySQL AB) - replace "mysql-shared" (as distributed by SuSE) to allow easy upgrading - (bug#22081). - -* Mon Nov 13 2006 Joerg Bruehe - -- Add "--with-partition" to all server builds. - -- Use "--report-features" in one test run per server build. - -* Tue Aug 15 2006 Joerg Bruehe - -- The "max" server is removed from packages, effective from 5.1.12-beta. - Delete all steps to build, package, or install it. - -* Mon Jul 10 2006 Joerg Bruehe - -- Fix a typing error in the "make" target for the Perl script to run the tests. - -* Tue Jul 04 2006 Joerg Bruehe - -- Use the Perl script to run the tests, because it will automatically check - whether the server is configured with SSL. - -* Tue Jun 27 2006 Joerg Bruehe - -- move "mysqldumpslow" from the client RPM to the server RPM (bug#20216) - -- Revert all previous attempts to call "mysql_upgrade" during RPM upgrade, - there are some more aspects which need to be solved before this is possible. - For now, just ensure the binary "mysql_upgrade" is delivered and installed. - -* Thu Jun 22 2006 Joerg Bruehe - -- Close a gap of the previous version by explicitly using - a newly created temporary directory for the socket to be used - in the "mysql_upgrade" operation, overriding any local setting. - -* Tue Jun 20 2006 Joerg Bruehe - -- To run "mysql_upgrade", we need a running server; - start it in isolation and skip password checks. - -* Sat May 20 2006 Kent Boortz - -- Always compile for PIC, position independent code. - -* Wed May 10 2006 Kent Boortz - -- Use character set "all" when compiling with Cluster, to make Cluster - nodes independent on the character set directory, and the problem - that two RPM sub packages both wants to install this directory. - -* Mon May 01 2006 Kent Boortz - -- Use "./libtool --mode=execute" instead of searching for the - executable in current directory and ".libs". - -* Fri Apr 28 2006 Kent Boortz - -- Install and run "mysql_upgrade" - -* Wed Apr 12 2006 Jim Winstead - -- Remove sql-bench, and MySQL-bench RPM (will be built as an independent - project from the mysql-bench repository) - -* Tue Apr 11 2006 Jim Winstead - -- Remove old mysqltestmanager and related programs -* Sat Apr 01 2006 Kent Boortz - -- Set $LDFLAGS from $MYSQL_BUILD_LDFLAGS - -* Wed Mar 07 2006 Kent Boortz - -- Changed product name from "Community Edition" to "Community Server" - -* Mon Mar 06 2006 Kent Boortz - -- Fast mutexes is now disabled by default, but should be - used in Linux builds. - -* Mon Feb 20 2006 Kent Boortz - -- Reintroduced a max build -- Limited testing of 'debug' and 'max' servers -- Berkeley DB only in 'max' - -* Mon Feb 13 2006 Joerg Bruehe - -- Use "-i" on "make test-force"; - this is essential for later evaluation of this log file. - -* Thu Feb 09 2006 Kent Boortz - -- Pass '-static' to libtool, link static with our own libraries, dynamic - with system libraries. Link with the bundled zlib. - -* Wed Feb 08 2006 Kristian Nielsen - -- Modified RPM spec to match new 5.1 debug+max combined community packaging. - -* Sun Dec 18 2005 Kent Boortz - -- Added "client/mysqlslap" - -* Mon Dec 12 2005 Rodrigo Novo - -- Added zlib to the list of (static) libraries installed -- Added check against libtool wierdness (WRT: sql/mysqld || sql/.libs/mysqld) -- Compile MySQL with bundled zlib -- Fixed %packager name to "MySQL Production Engineering Team" - -* Mon Dec 05 2005 Joerg Bruehe - -- Avoid using the "bundled" zlib on "shared" builds: - As it is not installed (on the build system), this gives dependency - problems with "libtool" causing the build to fail. - (Change was done on Nov 11, but left uncommented.) - -* Tue Nov 22 2005 Joerg Bruehe - -- Extend the file existence check for "init.d/mysql" on un-install - to also guard the call to "insserv"/"chkconfig". - -* Thu Oct 27 2005 Lenz Grimmer - -- added more man pages - -* Wed Oct 19 2005 Kent Boortz - -- Made yaSSL support an option (off by default) - -* Wed Oct 19 2005 Kent Boortz - -- Enabled yaSSL support - -* Sat Oct 15 2005 Kent Boortz - -- Give mode arguments the same way in all places -- Moved copy of mysqld.a to "standard" build, but - disabled it as we don't do embedded yet in 5.0 - -* Fri Oct 14 2005 Kent Boortz - -- For 5.x, always compile with --with-big-tables -- Copy the config.log file to location outside - the build tree - -* Fri Oct 14 2005 Kent Boortz - -- Removed unneeded/obsolete configure options -- Added archive engine to standard server -- Removed the embedded server from experimental server -- Changed suffix "-Max" => "-max" -- Changed comment string "Max" => "Experimental" - -* Thu Oct 13 2005 Lenz Grimmer - -- added a usermod call to assign a potential existing mysql user to the - correct user group (BUG#12823) -- Save the perror binary built during Max build so it supports the NDB - error codes (BUG#13740) -- added a separate macro "mysqld_group" to be able to define the - user group of the mysql user seperately, if desired. - -* Thu Sep 29 2005 Lenz Grimmer - -- fixed the removing of the RPM_BUILD_ROOT in the %clean section (the - $RBR variable did not get expanded, thus leaving old build roots behind) - -* Thu Aug 04 2005 Lenz Grimmer - -- Fixed the creation of the mysql user group account in the postinstall - section (BUG 12348) -- Fixed enabling the Archive storage engine in the Max binary - -* Tue Aug 02 2005 Lenz Grimmer - -- Fixed the Requires: tag for the server RPM (BUG 12233) - -* Fri Jul 15 2005 Lenz Grimmer - -- create a "mysql" user group and assign the mysql user account to that group - in the server postinstall section. (BUG 10984) - -* Tue Jun 14 2005 Lenz Grimmer - -- Do not build statically on i386 by default, only when adding either "--with - static" or "--define '_with_static 1'" to the RPM build options. Static - linking really only makes sense when linking against the specially patched - glibc 2.2.5. - -* Mon Jun 06 2005 Lenz Grimmer - -- added mysql_client_test to the "bench" subpackage (BUG 10676) -- added the libndbclient static and shared libraries (BUG 10676) - -* Wed Jun 01 2005 Lenz Grimmer - -- use "mysqldatadir" variable instead of hard-coding the path multiple times -- use the "mysqld_user" variable on all occasions a user name is referenced -- removed (incomplete) Brazilian translations -- removed redundant release tags from the subpackage descriptions - -* Wed May 25 2005 Joerg Bruehe - -- Added a "make clean" between separate calls to "BuildMySQL". - -* Thu May 12 2005 Guilhem Bichot - -- Removed the mysql_tableinfo script made obsolete by the information schema - -* Wed Apr 20 2005 Lenz Grimmer - -- Enabled the "blackhole" storage engine for the Max RPM - -* Wed Apr 13 2005 Lenz Grimmer - -- removed the MySQL manual files (html/ps/texi) - they have been removed - from the MySQL sources and are now available seperately. - -* Mon Apr 4 2005 Petr Chardin - -- old mysqlmanager, mysqlmanagerc and mysqlmanager-pwger renamed into - mysqltestmanager, mysqltestmanager and mysqltestmanager-pwgen respectively - -* Fri Mar 18 2005 Lenz Grimmer - -- Disabled RAID in the Max binaries once and for all (it has finally been - removed from the source tree) - -* Sun Feb 20 2005 Petr Chardin - -- Install MySQL Instance Manager together with mysqld, touch mysqlmanager - password file - -* Mon Feb 14 2005 Lenz Grimmer - -- Fixed the compilation comments and moved them into the separate build sections - for Max and Standard - -* Mon Feb 7 2005 Tomas Ulin - -- enabled the "Ndbcluster" storage engine for the max binary -- added extra make install in ndb subdir after Max build to get ndb binaries -- added packages for ndbcluster storage engine - -* Fri Jan 14 2005 Lenz Grimmer - -- replaced obsoleted "BuildPrereq" with "BuildRequires" instead - -* Thu Jan 13 2005 Lenz Grimmer - -- enabled the "Federated" storage engine for the max binary - -* Tue Jan 04 2005 Petr Chardin - -- ISAM and merge storage engines were purged. As well as appropriate - tools and manpages (isamchk and isamlog) - -* Thu Dec 31 2004 Lenz Grimmer - -- enabled the "Archive" storage engine for the max binary -- enabled the "CSV" storage engine for the max binary -- enabled the "Example" storage engine for the max binary - -* Thu Aug 26 2004 Lenz Grimmer - -- MySQL-Max now requires MySQL-server instead of MySQL (BUG 3860) - -* Fri Aug 20 2004 Lenz Grimmer - -- do not link statically on IA64/AMD64 as these systems do not have - a patched glibc installed - -* Tue Aug 10 2004 Lenz Grimmer - -- Added libmygcc.a to the devel subpackage (required to link applications - against the the embedded server libmysqld.a) (BUG 4921) - -* Mon Aug 09 2004 Lenz Grimmer - -- Added EXCEPTIONS-CLIENT to the "devel" package - -* Thu Jul 29 2004 Lenz Grimmer - -- disabled OpenSSL in the Max binaries again (the RPM packages were the - only exception to this anyway) (BUG 1043) - -* Wed Jun 30 2004 Lenz Grimmer - -- fixed server postinstall (mysql_install_db was called with the wrong - parameter) - -* Thu Jun 24 2004 Lenz Grimmer - -- added mysql_tzinfo_to_sql to the server subpackage -- run "make clean" instead of "make distclean" - -* Mon Apr 05 2004 Lenz Grimmer - -- added ncurses-devel to the build prerequisites (BUG 3377) - -* Thu Feb 12 2004 Lenz Grimmer - -- when using gcc, _always_ use CXX=gcc -- replaced Copyright with License field (Copyright is obsolete) - -* Tue Feb 03 2004 Lenz Grimmer - -- added myisam_ftdump to the Server package - -* Tue Jan 13 2004 Lenz Grimmer - -- link the mysql client against libreadline instead of libedit (BUG 2289) - -* Mon Dec 22 2003 Lenz Grimmer - -- marked /etc/logrotate.d/mysql as a config file (BUG 2156) - -* Fri Dec 13 2003 Lenz Grimmer - -- fixed file permissions (BUG 1672) - -* Thu Dec 11 2003 Lenz Grimmer - -- made testing for gcc3 a bit more robust - -* Fri Dec 05 2003 Lenz Grimmer - -- added missing file mysql_create_system_tables to the server subpackage - -* Fri Nov 21 2003 Lenz Grimmer - -- removed dependency on MySQL-client from the MySQL-devel subpackage - as it is not really required. (BUG 1610) - -* Fri Aug 29 2003 Lenz Grimmer - -- Fixed BUG 1162 (removed macro names from the changelog) -- Really fixed BUG 998 (disable the checking for installed but - unpackaged files) - -* Tue Aug 05 2003 Lenz Grimmer - -- Fixed BUG 959 (libmysqld not being compiled properly) -- Fixed BUG 998 (RPM build errors): added missing files to the - distribution (mysql_fix_extensions, mysql_tableinfo, mysqldumpslow, - mysql_fix_privilege_tables.1), removed "-n" from install section. - -* Wed Jul 09 2003 Lenz Grimmer - -- removed the GIF Icon (file was not included in the sources anyway) -- removed unused variable shared_lib_version -- do not run automake before building the standard binary - (should not be necessary) -- add server suffix '-standard' to standard binary (to be in line - with the binary tarball distributions) -- Use more RPM macros (_exec_prefix, _sbindir, _libdir, _sysconfdir, - _datadir, _includedir) throughout the spec file. -- allow overriding CC and CXX (required when building with other compilers) - -* Fri May 16 2003 Lenz Grimmer - -- re-enabled RAID again - -* Wed Apr 30 2003 Lenz Grimmer - -- disabled MyISAM RAID (--with-raid) - it throws an assertion which - needs to be investigated first. - -* Mon Mar 10 2003 Lenz Grimmer - -- added missing file mysql_secure_installation to server subpackage - (BUG 141) - -* Tue Feb 11 2003 Lenz Grimmer - -- re-added missing pre- and post(un)install scripts to server subpackage -- added config file /etc/my.cnf to the file list (just for completeness) -- make sure to create the datadir with 755 permissions - -* Mon Jan 27 2003 Lenz Grimmer - -- removed unused CC and CXX variables -- CFLAGS and CXXFLAGS should honor RPM_OPT_FLAGS - -* Fri Jan 24 2003 Lenz Grimmer - -- renamed package "MySQL" to "MySQL-server" -- fixed Copyright tag -- added mysql_waitpid to client subpackage (required for mysql-test-run) - -* Wed Nov 27 2002 Lenz Grimmer - -- moved init script from /etc/rc.d/init.d to /etc/init.d (the majority of - Linux distributions now support this scheme as proposed by the LSB either - directly or via a compatibility symlink) -- Use new "restart" init script action instead of starting and stopping - separately -- Be more flexible in activating the automatic bootup - use insserv (on - older SuSE versions) or chkconfig (Red Hat, newer SuSE versions and - others) to create the respective symlinks - -* Wed Sep 25 2002 Lenz Grimmer - -- MySQL-Max now requires MySQL >= 4.0 to avoid version mismatches - (mixing 3.23 and 4.0 packages) - -* Fri Aug 09 2002 Lenz Grimmer - -- Turn off OpenSSL in MySQL-Max for now until it works properly again -- enable RAID for the Max binary instead -- added compatibility link: safe_mysqld -> mysqld_safe to ease the - transition from 3.23 - -* Thu Jul 18 2002 Lenz Grimmer - -- Reworked the build steps a little bit: the Max binary is supposed - to include OpenSSL, which cannot be linked statically, thus trying - to statically link against a special glibc is futile anyway -- because of this, it is not required to make yet another build run - just to compile the shared libs (saves a lot of time) -- updated package description of the Max subpackage -- clean up the BuildRoot directory afterwards - -* Mon Jul 15 2002 Lenz Grimmer - -- Updated Packager information -- Fixed the build options: the regular package is supposed to - include InnoDB and linked statically, while the Max package - should include BDB and SSL support - -* Fri May 03 2002 Lenz Grimmer - -- Use more RPM macros (e.g. infodir, mandir) to make the spec - file more portable -- reorganized the installation of documentation files: let RPM - take care of this -- reorganized the file list: actually install man pages along - with the binaries of the respective subpackage -- do not include libmysqld.a in the devel subpackage as well, if we - have a special "embedded" subpackage -- reworked the package descriptions - -* Mon Oct 8 2001 Monty - -- Added embedded server as a separate RPM - -* Fri Apr 13 2001 Monty - -- Added mysqld-max to the distribution - -* Tue Jan 2 2001 Monty - -- Added mysql-test to the bench package - -* Fri Aug 18 2000 Tim Smith - -- Added separate libmysql_r directory; now both a threaded - and non-threaded library is shipped. - -* Wed Sep 28 1999 David Axmark - -- Added the support-files/my-example.cnf to the docs directory. - -- Removed devel dependency on base since it is about client - development. - -* Wed Sep 8 1999 David Axmark - -- Cleaned up some for 3.23. - -* Thu Jul 1 1999 David Axmark - -- Added support for shared libraries in a separate sub - package. Original fix by David Fox (dsfox@cogsci.ucsd.edu) - -- The --enable-assembler switch is now automatically disables on - platforms there assembler code is unavailable. This should allow - building this RPM on non i386 systems. - -* Mon Feb 22 1999 David Axmark - -- Removed unportable cc switches from the spec file. The defaults can - now be overridden with environment variables. This feature is used - to compile the official RPM with optimal (but compiler version - specific) switches. - -- Removed the repetitive description parts for the sub rpms. Maybe add - again if RPM gets a multiline macro capability. - -- Added support for a pt_BR translation. Translation contributed by - Jorge Godoy . - -* Wed Nov 4 1998 David Axmark - -- A lot of changes in all the rpm and install scripts. This may even - be a working RPM :-) - -* Sun Aug 16 1998 David Axmark - -- A developers changelog for MySQL is available in the source RPM. And - there is a history of major user visible changed in the Reference - Manual. Only RPM specific changes will be documented here. diff -Nru mysql-5.5-5.5.40/support-files/mysql.5.5.41.spec mysql-5.5-5.5.41/support-files/mysql.5.5.41.spec --- mysql-5.5-5.5.40/support-files/mysql.5.5.41.spec 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.5-5.5.41/support-files/mysql.5.5.41.spec 2014-11-04 07:49:59.000000000 +0000 @@ -0,0 +1,2064 @@ +# Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +# +# 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 +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston +# MA 02110-1301 USA. + +############################################################################## +# Some common macro definitions +############################################################################## + +# NOTE: "vendor" is used in upgrade/downgrade check, so you can't +# change these, has to be exactly as is. +%global mysql_old_vendor MySQL AB +%global mysql_vendor_2 Sun Microsystems, Inc. +%global mysql_vendor Oracle and/or its affiliates + +%global mysql_version 5.5.41 + +%global mysqld_user mysql +%global mysqld_group mysql +%global mysqldatadir /var/lib/mysql + +%global release 1 + + +# +# Macros we use which are not available in all supported versions of RPM +# +# - defined/undefined are missing on RHEL4 +# +%if %{expand:%{?defined:0}%{!?defined:1}} +%define defined() %{expand:%%{?%{1}:1}%%{!?%{1}:0}} +%endif +%if %{expand:%{?undefined:0}%{!?undefined:1}} +%define undefined() %{expand:%%{?%{1}:0}%%{!?%{1}:1}} +%endif + +# ---------------------------------------------------------------------------- +# RPM build tools now automatically detect Perl module dependencies. This +# detection causes problems as it is broken in some versions, and it also +# provides unwanted dependencies from mandatory scripts in our package. +# It might not be possible to disable this in all versions of RPM, but here we +# try anyway. We keep the "AutoReqProv: no" for the "test" sub package, as +# disabling here might fail, and that package has the most problems. +# See: +# http://fedoraproject.org/wiki/Packaging/Perl#Filtering_Requires:_and_Provides +# http://www.wideopen.com/archives/rpm-list/2002-October/msg00343.html +# ---------------------------------------------------------------------------- +%undefine __perl_provides +%undefine __perl_requires + +############################################################################## +# Command line handling +############################################################################## +# +# To set options: +# +# $ rpmbuild --define="option " ... +# + +# ---------------------------------------------------------------------------- +# Commercial builds +# ---------------------------------------------------------------------------- +%if %{undefined commercial} +%define commercial 0 +%endif + +# ---------------------------------------------------------------------------- +# Source name +# ---------------------------------------------------------------------------- +%if %{undefined src_base} +%define src_base mysql +%endif +%define src_dir %{src_base}-%{mysql_version} + +# ---------------------------------------------------------------------------- +# Feature set (storage engines, options). Default to community (everything) +# ---------------------------------------------------------------------------- +%if %{undefined feature_set} +%define feature_set community +%endif + +# ---------------------------------------------------------------------------- +# Server comment strings +# ---------------------------------------------------------------------------- +%if %{undefined compilation_comment_debug} +%define compilation_comment_debug MySQL Community Server - Debug (GPL) +%endif +%if %{undefined compilation_comment_release} +%define compilation_comment_release MySQL Community Server (GPL) +%endif + +# ---------------------------------------------------------------------------- +# Product and server suffixes +# ---------------------------------------------------------------------------- +%if %{undefined product_suffix} + %if %{defined short_product_tag} + %define product_suffix -%{short_product_tag} + %else + %define product_suffix %{nil} + %endif +%endif + +%if %{undefined server_suffix} +%define server_suffix %{nil} +%endif + +# ---------------------------------------------------------------------------- +# Distribution support +# ---------------------------------------------------------------------------- +%if %{undefined distro_specific} +%define distro_specific 0 +%endif +%if %{distro_specific} + %if %(test -f /etc/enterprise-release && echo 1 || echo 0) + %define oelver %(rpm -qf --qf '%%{version}\\n' /etc/enterprise-release | sed -e 's/^\\([0-9]*\\).*/\\1/g') + %if "%oelver" == "4" + %define distro_description Oracle Enterprise Linux 4 + %define distro_releasetag oel4 + %define distro_buildreq gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel cmake libaio-devel + %define distro_requires chkconfig coreutils grep procps shadow-utils net-tools + %else + %if "%oelver" == "5" + %define distro_description Oracle Enterprise Linux 5 + %define distro_releasetag oel5 + %define distro_buildreq gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel cmake libaio-devel + %define distro_requires chkconfig coreutils grep procps shadow-utils net-tools + %else + %{error:Oracle Enterprise Linux %{oelver} is unsupported} + %endif + %endif + %else + %if %(test -f /etc/oracle-release && echo 1 || echo 0) + %define elver %(rpm -qf --qf '%%{version}\\n' /etc/oracle-release | sed -e 's/^\\([0-9]*\\).*/\\1/g') + %if "%elver" == "6" || "%elver" == "7" + %define distro_description Oracle Linux %elver + %define distro_releasetag el%elver + %define distro_buildreq gcc-c++ ncurses-devel perl readline-devel time zlib-devel cmake libaio-devel + %define distro_requires chkconfig coreutils grep procps shadow-utils net-tools + %else + %{error:Oracle Linux %{elver} is unsupported} + %endif + %else + %if %(test -f /etc/redhat-release && echo 1 || echo 0) + %define rhelver %(rpm -qf --qf '%%{version}\\n' /etc/redhat-release | sed -e 's/^\\([0-9]*\\).*/\\1/g') + %if "%rhelver" == "4" + %define distro_description Red Hat Enterprise Linux 4 + %define distro_releasetag rhel4 + %define distro_buildreq gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel cmake libaio-devel + %define distro_requires chkconfig coreutils grep procps shadow-utils net-tools + %else + %if "%rhelver" == "5" + %define distro_description Red Hat Enterprise Linux 5 + %define distro_releasetag rhel5 + %define distro_buildreq gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel cmake libaio-devel + %define distro_requires chkconfig coreutils grep procps shadow-utils net-tools + %else + %if "%rhelver" == "6" + %define distro_description Red Hat Enterprise Linux 6 + %define distro_releasetag rhel6 + %define distro_buildreq gcc-c++ ncurses-devel perl readline-devel time zlib-devel cmake libaio-devel + %define distro_requires chkconfig coreutils grep procps shadow-utils net-tools + %else + %{error:Red Hat Enterprise Linux %{rhelver} is unsupported} + %endif + %endif + %endif + %else + %if %(test -f /etc/SuSE-release && echo 1 || echo 0) + %define susever %(rpm -qf --qf '%%{version}\\n' /etc/SuSE-release | cut -d. -f1) + %if "%susever" == "10" + %define distro_description SUSE Linux Enterprise Server 10 + %define distro_releasetag sles10 + %define distro_buildreq gcc-c++ gdbm-devel gperf ncurses-devel openldap2-client readline-devel zlib-devel cmake libaio-devel + %define distro_requires aaa_base coreutils grep procps pwdutils + %else + %if "%susever" == "11" + %define distro_description SUSE Linux Enterprise Server 11 + %define distro_releasetag sles11 + %define distro_buildreq gcc-c++ gdbm-devel gperf ncurses-devel openldap2-client procps pwdutils readline-devel zlib-devel cmake libaio-devel + %define distro_requires aaa_base coreutils grep procps pwdutils + %else + %{error:SuSE %{susever} is unsupported} + %endif + %endif + %else + %{error:Unsupported distribution} + %endif + %endif + %endif + %endif +%else + %define generic_kernel %(uname -r | cut -d. -f1-2) + %define distro_description Generic Linux (kernel %{generic_kernel}) + %define distro_releasetag linux%{generic_kernel} + %define distro_buildreq gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel + %define distro_requires coreutils grep procps /sbin/chkconfig /usr/sbin/useradd /usr/sbin/groupadd +%endif + +# Avoid debuginfo RPMs, leaves binaries unstripped +%define debug_package %{nil} + +# Hack to work around bug in RHEL5 __os_install_post macro, wrong inverted +# test for __debug_package +%define __strip /bin/true + +# ---------------------------------------------------------------------------- +# Support optional "tcmalloc" library (experimental) +# ---------------------------------------------------------------------------- +%if %{defined malloc_lib_target} +%define WITH_TCMALLOC 1 +%else +%define WITH_TCMALLOC 0 +%endif + +############################################################################## +# Configuration based upon above user input, not to be set directly +############################################################################## + +%if 0%{?commercial} +%define license_files_server %{src_dir}/LICENSE.mysql +%define license_type Commercial +%else +%define license_files_server %{src_dir}/COPYING %{src_dir}/README +%define license_type GPL +%endif + +############################################################################## +# Main spec file section +############################################################################## + +Name: MySQL%{product_suffix} +Summary: MySQL: a very fast and reliable SQL database server +Group: Applications/Databases +Version: 5.5.41 +Release: %{release}%{?distro_releasetag:.%{distro_releasetag}} +Distribution: %{distro_description} +License: Copyright (c) 2000, 2014, %{mysql_vendor}. All rights reserved. Under %{license_type} license as shown in the Description field. +Source: http://www.mysql.com/Downloads/MySQL-5.5/%{src_dir}.tar.gz +URL: http://www.mysql.com/ +Packager: MySQL Release Engineering +Vendor: %{mysql_vendor} +BuildRequires: %{distro_buildreq} +%{?el7:Patch0: mysql-5.5-libmysqlclient-symbols.patch} + +# Regression tests may take a long time, override the default to skip them +%{!?runselftest:%global runselftest 1} + +# Think about what you use here since the first step is to +# run a rm -rf +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +# From the manual +%description +The MySQL(TM) software delivers a very fast, multi-threaded, multi-user, +and robust SQL (Structured Query Language) database server. MySQL Server +is intended for mission-critical, heavy-load production systems as well +as for embedding into mass-deployed software. MySQL is a trademark of +%{mysql_vendor} + +The MySQL software has Dual Licensing, which means you can use the MySQL +software free of charge under the GNU General Public License +(http://www.gnu.org/licenses/). You can also purchase commercial MySQL +licenses from %{mysql_vendor} if you do not wish to be bound by the terms of +the GPL. See the chapter "Licensing and Support" in the manual for +further info. + +The MySQL web site (http://www.mysql.com/) provides the latest +news and information about the MySQL software. Also please see the +documentation and the manual for more information. + +############################################################################## +# Sub package definition +############################################################################## + +%package -n MySQL-server%{product_suffix} +Summary: MySQL: a very fast and reliable SQL database server +Group: Applications/Databases +Requires: %{distro_requires} +%if 0%{?commercial} +Obsoletes: MySQL-server +%else +Obsoletes: MySQL-server-advanced +%endif +Obsoletes: mysql-server < %{version}-%{release} +Obsoletes: mysql-server-advanced +Obsoletes: MySQL-server-classic MySQL-server-community MySQL-server-enterprise +Obsoletes: MySQL-server-advanced-gpl MySQL-server-enterprise-gpl +Provides: mysql-server = %{version}-%{release} +Provides: mysql-server%{?_isa} = %{version}-%{release} + +%description -n MySQL-server%{product_suffix} +The MySQL(TM) software delivers a very fast, multi-threaded, multi-user, +and robust SQL (Structured Query Language) database server. MySQL Server +is intended for mission-critical, heavy-load production systems as well +as for embedding into mass-deployed software. MySQL is a trademark of +%{mysql_vendor} + +The MySQL software has Dual Licensing, which means you can use the MySQL +software free of charge under the GNU General Public License +(http://www.gnu.org/licenses/). You can also purchase commercial MySQL +licenses from %{mysql_vendor} if you do not wish to be bound by the terms of +the GPL. See the chapter "Licensing and Support" in the manual for +further info. + +The MySQL web site (http://www.mysql.com/) provides the latest news and +information about the MySQL software. Also please see the documentation +and the manual for more information. + +This package includes the MySQL server binary as well as related utilities +to run and administer a MySQL server. + +If you want to access and work with the database, you have to install +package "MySQL-client%{product_suffix}" as well! + +# ---------------------------------------------------------------------------- +%package -n MySQL-client%{product_suffix} +Summary: MySQL - Client +Group: Applications/Databases +%if 0%{?commercial} +Obsoletes: MySQL-client +%else +Obsoletes: MySQL-client-advanced +%endif +Obsoletes: mysql < %{version}-%{release} +Obsoletes: mysql-advanced < %{version}-%{release} +Obsoletes: MySQL-client-classic MySQL-client-community MySQL-client-enterprise +Obsoletes: MySQL-client-advanced-gpl MySQL-client-enterprise-gpl +Provides: mysql = %{version}-%{release} +Provides: mysql%{?_isa} = %{version}-%{release} + +%description -n MySQL-client%{product_suffix} +This package contains the standard MySQL clients and administration tools. + +For a description of MySQL see the base MySQL RPM or http://www.mysql.com/ + +# ---------------------------------------------------------------------------- +%package -n MySQL-test%{product_suffix} +Summary: MySQL - Test suite +Group: Applications/Databases +%if 0%{?commercial} +Requires: MySQL-client-advanced perl +Obsoletes: MySQL-test +%else +Requires: MySQL-client perl +Obsoletes: MySQL-test-advanced +%endif +Obsoletes: mysql-test < %{version}-%{release} +Obsoletes: mysql-test-advanced +Obsoletes: mysql-bench MySQL-bench +Obsoletes: MySQL-test-classic MySQL-test-community MySQL-test-enterprise +Obsoletes: MySQL-test-advanced-gpl MySQL-test-enterprise-gpl +Provides: mysql-test = %{version}-%{release} +Provides: mysql-test%{?_isa} = %{version}-%{release} +AutoReqProv: no + +%description -n MySQL-test%{product_suffix} +This package contains the MySQL regression test suite. + +For a description of MySQL see the base MySQL RPM or http://www.mysql.com/ + +# ---------------------------------------------------------------------------- +%package -n MySQL-devel%{product_suffix} +Summary: MySQL - Development header files and libraries +Group: Applications/Databases +%if 0%{?commercial} +Obsoletes: MySQL-devel +%else +Obsoletes: MySQL-devel-advanced +%endif +Obsoletes: mysql-devel < %{version}-%{release} +Obsoletes: mysql-embedded-devel mysql-devel-advanced mysql-embedded-devel-advanced +Obsoletes: MySQL-devel-classic MySQL-devel-community MySQL-devel-enterprise +Obsoletes: MySQL-devel-advanced-gpl MySQL-devel-enterprise-gpl +Provides: mysql-devel = %{version}-%{release} +Provides: mysql-devel%{?_isa} = %{version}-%{release} + +%description -n MySQL-devel%{product_suffix} +This package contains the development header files and libraries necessary +to develop MySQL client applications. + +For a description of MySQL see the base MySQL RPM or http://www.mysql.com/ + +# ---------------------------------------------------------------------------- +%package -n MySQL-shared%{product_suffix} +Summary: MySQL - Shared libraries +Group: Applications/Databases +%if 0%{?commercial} +Obsoletes: MySQL-shared +%else +Obsoletes: MySQL-shared-advanced +%endif +Obsoletes: MySQL-shared-standard MySQL-shared-pro +Obsoletes: MySQL-shared-pro-cert MySQL-shared-pro-gpl +Obsoletes: MySQL-shared-pro-gpl-cert +Obsoletes: MySQL-shared-classic MySQL-shared-community MySQL-shared-enterprise +Obsoletes: MySQL-shared-advanced-gpl MySQL-shared-enterprise-gpl + +%description -n MySQL-shared%{product_suffix} +This package contains the shared libraries (*.so*) which certain languages +and applications need to dynamically load and use MySQL. + +# ---------------------------------------------------------------------------- +%package -n MySQL-embedded%{product_suffix} +Summary: MySQL - Embedded library +Group: Applications/Databases +%if 0%{?commercial} +Requires: MySQL-devel-advanced +Obsoletes: MySQL-embedded +%else +Requires: MySQL-devel +Obsoletes: MySQL-embedded-advanced +%endif +Obsoletes: mysql-embedded < %{version}-%{release} +Obsoletes: mysql-embedded-advanced +Obsoletes: MySQL-embedded-pro +Obsoletes: MySQL-embedded-classic MySQL-embedded-community MySQL-embedded-enterprise +Obsoletes: MySQL-embedded-advanced-gpl MySQL-embedded-enterprise-gpl +Provides: mysql-embedded = %{version}-%{release} +Provides: mysql-emdedded%{?_isa} = %{version}-%{release} + +%description -n MySQL-embedded%{product_suffix} +This package contains the MySQL server as an embedded library. + +The embedded MySQL server library makes it possible to run a full-featured +MySQL server inside the client application. The main benefits are increased +speed and more simple management for embedded applications. + +The API is identical for the embedded MySQL version and the +client/server version. + +For a description of MySQL see the base MySQL RPM or http://www.mysql.com/ + +############################################################################## +%prep +%setup -T -a 0 -c -n %{src_dir} +pushd %{src_dir} +%{?el7:%patch0 -p1} +############################################################################## +%build + +# Fail quickly and obviously if user tries to build as root +%if %runselftest + if [ x"`id -u`" = x0 ]; then + echo "The MySQL regression tests may fail if run as root." + echo "If you really need to build the RPM as root, use" + echo "--define='runselftest 0' to skip the regression tests." + exit 1 + fi +%endif + +# Be strict about variables, bail at earliest opportunity, etc. +set -eu + +# Optional package files +touch optional-files-devel + +# +# Set environment in order of preference, MYSQL_BUILD_* first, then variable +# name, finally a default. RPM_OPT_FLAGS is assumed to be a part of the +# default RPM build environment. +# +# We set CXX=gcc by default to support so-called 'generic' binaries, where we +# do not have a dependancy on libgcc/libstdc++. This only works while we do +# not require C++ features such as exceptions, and may need to be removed at +# a later date. +# + +# This is a hack, $RPM_OPT_FLAGS on ia64 hosts contains flags which break +# the compile in cmd-line-utils/readline - needs investigation, but for now +# we simply unset it and use those specified directly in cmake. +%if "%{_arch}" == "ia64" +RPM_OPT_FLAGS= +%endif + +export PATH=${MYSQL_BUILD_PATH:-$PATH} +export CC=${MYSQL_BUILD_CC:-${CC:-gcc}} +export CXX=${MYSQL_BUILD_CXX:-${CXX:-gcc}} +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 LDFLAGS=${MYSQL_BUILD_LDFLAGS:-${LDFLAGS:-}} +export CMAKE=${MYSQL_BUILD_CMAKE:-${CMAKE:-cmake}} +export MAKE_JFLAG=${MYSQL_BUILD_MAKE_JFLAG:-} + +# Build debug mysqld and libmysqld.a +mkdir debug +( + cd debug + # Attempt to remove any optimisation flags from the debug build + CFLAGS=`echo " ${CFLAGS} " | \ + sed -e 's/ -O[0-9]* / /' \ + -e 's/-Wp,-D_FORTIFY_SOURCE=2/ /' \ + -e 's/ -unroll2 / /' \ + -e 's/ -ip / /' \ + -e 's/^ //' \ + -e 's/ $//'` + CXXFLAGS=`echo " ${CXXFLAGS} " | \ + sed -e 's/ -O[0-9]* / /' \ + -e 's/-Wp,-D_FORTIFY_SOURCE=2/ /' \ + -e 's/ -unroll2 / /' \ + -e 's/ -ip / /' \ + -e 's/^ //' \ + -e 's/ $//'` + # XXX: MYSQL_UNIX_ADDR should be in cmake/* but mysql_version is included before + # XXX: install_layout so we can't just set it based on INSTALL_LAYOUT=RPM + ${CMAKE} ../%{src_dir} -DBUILD_CONFIG=mysql_release -DINSTALL_LAYOUT=RPM \ + -DCMAKE_BUILD_TYPE=Debug \ + -DENABLE_DTRACE=OFF \ + -DMYSQL_UNIX_ADDR="%{mysqldatadir}/mysql.sock" \ + -DFEATURE_SET="%{feature_set}" \ + -DCOMPILATION_COMMENT="%{compilation_comment_debug}" \ + -DMYSQL_SERVER_SUFFIX="%{server_suffix}" + echo BEGIN_DEBUG_CONFIG ; egrep '^#define' include/config.h ; echo END_DEBUG_CONFIG + make ${MAKE_JFLAG} VERBOSE=1 +) +# Build full release +mkdir release +( + cd release + # XXX: MYSQL_UNIX_ADDR should be in cmake/* but mysql_version is included before + # XXX: install_layout so we can't just set it based on INSTALL_LAYOUT=RPM + ${CMAKE} ../%{src_dir} -DBUILD_CONFIG=mysql_release -DINSTALL_LAYOUT=RPM \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DENABLE_DTRACE=OFF \ + -DMYSQL_UNIX_ADDR="%{mysqldatadir}/mysql.sock" \ + -DFEATURE_SET="%{feature_set}" \ + -DCOMPILATION_COMMENT="%{compilation_comment_release}" \ + -DMYSQL_SERVER_SUFFIX="%{server_suffix}" + echo BEGIN_NORMAL_CONFIG ; egrep '^#define' include/config.h ; echo END_NORMAL_CONFIG + make ${MAKE_JFLAG} VERBOSE=1 +) + +%if %runselftest + MTR_BUILD_THREAD=auto + export MTR_BUILD_THREAD + + (cd release && make test-bt-fast || true) +%endif + +############################################################################## +%install + +RBR=$RPM_BUILD_ROOT +MBD=$RPM_BUILD_DIR/%{src_dir} + +# Ensure that needed directories exists +install -d $RBR%{_sysconfdir}/{logrotate.d,init.d} +install -d $RBR%{mysqldatadir}/mysql +install -d $RBR%{_datadir}/mysql-test +install -d $RBR%{_datadir}/mysql/SELinux/RHEL4 +install -d $RBR%{_includedir} +install -d $RBR%{_libdir} +install -d $RBR%{_mandir} +install -d $RBR%{_sbindir} + +mkdir -p $RBR%{_sysconfdir}/my.cnf.d + +# Install all binaries +( + cd $MBD/release + make DESTDIR=$RBR install +) + +# For gcc builds, include libgcc.a in the devel subpackage (BUG 4921). Do +# this in a sub-shell to ensure we don't pollute the install environment +# with compiler bits. +( + PATH=${MYSQL_BUILD_PATH:-$PATH} + CC=${MYSQL_BUILD_CC:-${CC:-gcc}} + CFLAGS=${MYSQL_BUILD_CFLAGS:-${CFLAGS:-$RPM_OPT_FLAGS}} + if "${CC}" -v 2>&1 | grep '^gcc.version' >/dev/null 2>&1; then + libgcc=`${CC} ${CFLAGS} --print-libgcc-file` + if [ -f ${libgcc} ]; then + mkdir -p $RBR%{_libdir}/mysql + install -m 644 ${libgcc} $RBR%{_libdir}/mysql/libmygcc.a + echo "%{_libdir}/mysql/libmygcc.a" >>optional-files-devel + fi + fi +) + +# FIXME: at some point we should stop doing this and just install everything +# FIXME: directly into %{_libdir}/mysql - perhaps at the same time as renaming +# FIXME: the shared libraries to use libmysql*-$major.$minor.so syntax +mv -v $RBR/%{_libdir}/*.a $RBR/%{_libdir}/mysql/ + +# Install logrotate and autostart +install -m 644 $MBD/release/support-files/mysql-log-rotate $RBR%{_sysconfdir}/logrotate.d/mysql +install -m 755 $MBD/release/support-files/mysql.server $RBR%{_sysconfdir}/init.d/mysql + +# Create a symlink "rcmysql", pointing to the init.script. SuSE users +# will appreciate that, as all services usually offer this. +ln -s %{_sysconfdir}/init.d/mysql $RBR%{_sbindir}/rcmysql + +# Touch the place where the my.cnf config file might be located +# Just to make sure it's in the file list and marked as a config file +touch $RBR%{_sysconfdir}/my.cnf + +# Install SELinux files in datadir +install -m 600 $MBD/%{src_dir}/support-files/RHEL4-SElinux/mysql.{fc,te} \ + $RBR%{_datadir}/mysql/SELinux/RHEL4 + +%if %{WITH_TCMALLOC} +# Even though this is a shared library, put it under /usr/lib*/mysql, so it +# doesn't conflict with possible shared lib by the same name in /usr/lib*. See +# `mysql_config --variable=pkglibdir` and mysqld_safe for how this is used. +install -m 644 "%{malloc_lib_source}" \ + "$RBR%{_libdir}/mysql/%{malloc_lib_target}" +%endif + +# Remove man pages we explicitly do not want to package, avoids 'unpackaged +# files' warning. +# This has become obsolete: rm -f $RBR%{_mandir}/man1/make_win_bin_dist.1* + +############################################################################## +# Post processing actions, i.e. when installed +############################################################################## + +%pre -n MySQL-server%{product_suffix} +# This is the code running at the beginning of a RPM upgrade action, +# before replacing the old files with the new ones. + +# ATTENTION: Parts of this are duplicated in the "triggerpostun" ! + +# There are users who deviate from the default file system layout. +# Check local settings to support them. +if [ -x %{_bindir}/my_print_defaults ] +then + mysql_datadir=`%{_bindir}/my_print_defaults server mysqld | grep '^--datadir=' | sed -n 's/--datadir=//p'` + PID_FILE_PATT=`%{_bindir}/my_print_defaults server mysqld | grep '^--pid-file=' | sed -n 's/--pid-file=//p'` +fi +if [ -z "$mysql_datadir" ] +then + mysql_datadir=%{mysqldatadir} +fi +if [ -z "$PID_FILE_PATT" ] +then + PID_FILE_PATT="$mysql_datadir/*.pid" +fi + +# Check if we can safely upgrade. An upgrade is only safe if it's from one +# of our RPMs in the same version family. + +# Handle both ways of spelling the capability. +installed=`rpm -q --whatprovides mysql-server 2> /dev/null` +if [ $? -ne 0 -o -z "$installed" ]; then + installed=`rpm -q --whatprovides MySQL-server 2> /dev/null` +fi +if [ $? -eq 0 -a -n "$installed" ]; then + installed=`echo $installed | sed 's/\([^ ]*\) .*/\1/'` # Tests have shown duplicated package names + vendor=`rpm -q --queryformat='%{VENDOR}' "$installed" 2>&1` + version=`rpm -q --queryformat='%{VERSION}' "$installed" 2>&1` + myoldvendor='%{mysql_old_vendor}' + myvendor_2='%{mysql_vendor_2}' + myvendor='%{mysql_vendor}' + myversion='%{mysql_version}' + + old_family=`echo $version \ + | sed -n -e 's,^\([1-9][0-9]*\.[0-9][0-9]*\)\..*$,\1,p'` + new_family=`echo $myversion \ + | sed -n -e 's,^\([1-9][0-9]*\.[0-9][0-9]*\)\..*$,\1,p'` + + [ -z "$vendor" ] && vendor='' + [ -z "$old_family" ] && old_family="" + [ -z "$new_family" ] && new_family="" + + error_text= + if [ "$vendor" != "$myoldvendor" \ + -a "$vendor" != "$myvendor_2" \ + -a "$vendor" != "$myvendor" ]; then + error_text="$error_text +The current MySQL server package is provided by a different +vendor ($vendor) than $myoldvendor, $myvendor_2, or $myvendor. +Some files may be installed to different locations, including log +files and the service startup script in %{_sysconfdir}/init.d/. +" + fi + + if [ "$old_family" != "$new_family" ]; then + error_text="$error_text +Upgrading directly from MySQL $old_family to MySQL $new_family may not +be safe in all cases. A manual dump and restore using mysqldump is +recommended. It is important to review the MySQL manual's Upgrading +section for version-specific incompatibilities. +" + fi + + if [ -n "$error_text" ]; then + cat <&2 + +****************************************************************** +A MySQL server package ($installed) is installed. +$error_text +A manual upgrade is required. + +- Ensure that you have a complete, working backup of your data and my.cnf + files +- Shut down the MySQL server cleanly +- Remove the existing MySQL packages. Usually this command will + list the packages you should remove: + rpm -qa | grep -i '^mysql-' + + You may choose to use 'rpm --nodeps -ev ' to remove + the package which contains the mysqlclient shared library. The + library will be reinstalled by the MySQL-shared-compat package. +- Install the new MySQL packages supplied by $myvendor +- Ensure that the MySQL server is started +- Run the 'mysql_upgrade' program + +This is a brief description of the upgrade process. Important details +can be found in the MySQL manual, in the Upgrading section. +****************************************************************** +HERE + exit 1 + fi +fi + +# We assume that if there is exactly one ".pid" file, +# it contains the valid PID of a running MySQL server. +NR_PID_FILES=`ls -1 $PID_FILE_PATT 2>/dev/null | wc -l` +case $NR_PID_FILES in + 0 ) SERVER_TO_START='' ;; # No "*.pid" file == no running server + 1 ) SERVER_TO_START='true' ;; + * ) SERVER_TO_START='' # Situation not clear + SEVERAL_PID_FILES=true ;; +esac +# That logic may be debated: We might check whether it is non-empty, +# contains exactly one number (possibly a PID), and whether "ps" finds it. +# OTOH, if there is no such process, it means a crash without a cleanup - +# is that a reason not to start a new server after upgrade? + +STATUS_FILE=$mysql_datadir/RPM_UPGRADE_MARKER + +if [ -f $STATUS_FILE ]; then + echo "Some previous upgrade was not finished:" + ls -ld $STATUS_FILE + echo "Please check its status, then do" + echo " rm $STATUS_FILE" + echo "before repeating the MySQL upgrade." + exit 1 +elif [ -n "$SEVERAL_PID_FILES" ] ; then + echo "You have more than one PID file:" + ls -ld $PID_FILE_PATT + echo "Please check which one (if any) corresponds to a running server" + echo "and delete all others before repeating the MySQL upgrade." + exit 1 +fi + +NEW_VERSION=%{mysql_version}-%{release} + +# The "pre" section code is also run on a first installation, +# when there is no data directory yet. Protect against error messages. +if [ -d $mysql_datadir ] ; then + echo "MySQL RPM upgrade to version $NEW_VERSION" > $STATUS_FILE + echo "'pre' step running at `date`" >> $STATUS_FILE + echo >> $STATUS_FILE + fcount=`ls -ltr $mysql_datadir/*.err 2>/dev/null | wc -l` + if [ $fcount -gt 0 ] ; then + echo "ERR file(s):" >> $STATUS_FILE + ls -ltr $mysql_datadir/*.err >> $STATUS_FILE + echo >> $STATUS_FILE + echo "Latest 'Version' line in latest file:" >> $STATUS_FILE + grep '^Version' `ls -tr $mysql_datadir/*.err | tail -1` | \ + tail -1 >> $STATUS_FILE + echo >> $STATUS_FILE + fi + + if [ -n "$SERVER_TO_START" ] ; then + # There is only one PID file, race possibility ignored + echo "PID file:" >> $STATUS_FILE + ls -l $PID_FILE_PATT >> $STATUS_FILE + cat $PID_FILE_PATT >> $STATUS_FILE + echo >> $STATUS_FILE + echo "Server process:" >> $STATUS_FILE + ps -fp `cat $PID_FILE_PATT` >> $STATUS_FILE + echo >> $STATUS_FILE + echo "SERVER_TO_START=$SERVER_TO_START" >> $STATUS_FILE + else + # Take a note we checked it ... + echo "PID file:" >> $STATUS_FILE + ls -l $PID_FILE_PATT >> $STATUS_FILE 2>&1 + fi +fi + +# Shut down a previously installed server first +# Note we *could* make that depend on $SERVER_TO_START, but we rather don't, +# so a "stop" is attempted even if there is no PID file. +# (Maybe the "stop" doesn't work then, but we might fix that in itself.) +if [ -x %{_sysconfdir}/init.d/mysql ] ; then + %{_sysconfdir}/init.d/mysql stop > /dev/null 2>&1 + echo "Giving mysqld 5 seconds to exit nicely" + sleep 5 +fi + +%post -n MySQL-server%{product_suffix} +# This is the code running at the end of a RPM install or upgrade action, +# after the (new) files have been written. + +# ATTENTION: Parts of this are duplicated in the "triggerpostun" ! + +# There are users who deviate from the default file system layout. +# Check local settings to support them. +if [ -x %{_bindir}/my_print_defaults ] +then + mysql_datadir=`%{_bindir}/my_print_defaults server mysqld | grep '^--datadir=' | sed -n 's/--datadir=//p'` +fi +if [ -z "$mysql_datadir" ] +then + mysql_datadir=%{mysqldatadir} +fi + +NEW_VERSION=%{mysql_version}-%{release} +STATUS_FILE=$mysql_datadir/RPM_UPGRADE_MARKER + +# ---------------------------------------------------------------------- +# Create data directory if needed, check whether upgrade or install +# ---------------------------------------------------------------------- +if [ ! -d $mysql_datadir ] ; then mkdir -m 755 $mysql_datadir; fi +if [ -f $STATUS_FILE ] ; then + SERVER_TO_START=`grep '^SERVER_TO_START=' $STATUS_FILE | cut -c17-` +else + SERVER_TO_START='' +fi +# echo "Analyzed: SERVER_TO_START=$SERVER_TO_START" +if [ ! -d $mysql_datadir/mysql ] ; then + mkdir $mysql_datadir/mysql $mysql_datadir/test + echo "MySQL RPM installation of version $NEW_VERSION" >> $STATUS_FILE +else + # If the directory exists, we may assume it is an upgrade. + echo "MySQL RPM upgrade to version $NEW_VERSION" >> $STATUS_FILE +fi + +# ---------------------------------------------------------------------- +# Make MySQL start/shutdown automatically when the machine does it. +# ---------------------------------------------------------------------- +# NOTE: This still needs to be debated. Should we check whether these links +# for the other run levels exist(ed) before the upgrade? +# use chkconfig on Enterprise Linux and newer SuSE releases +if [ -x /sbin/chkconfig ] ; then + /sbin/chkconfig --add mysql +# use insserv for older SuSE Linux versions +elif [ -x /sbin/insserv ] ; then + /sbin/insserv %{_sysconfdir}/init.d/mysql +fi + +# ---------------------------------------------------------------------- +# Create a MySQL user and group. Do not report any problems if it already +# exists. +# ---------------------------------------------------------------------- +groupadd -r %{mysqld_group} 2> /dev/null || true +useradd -M -r -d $mysql_datadir -s /bin/bash -c "MySQL server" \ + -g %{mysqld_group} %{mysqld_user} 2> /dev/null || true +# The user may already exist, make sure it has the proper group nevertheless +# (BUG#12823) +usermod -g %{mysqld_group} %{mysqld_user} 2> /dev/null || true + +# ---------------------------------------------------------------------- +# Change permissions so that the user that will run the MySQL daemon +# owns all database files. +# ---------------------------------------------------------------------- +chown -R %{mysqld_user}:%{mysqld_group} $mysql_datadir + +# ---------------------------------------------------------------------- +# Initiate databases if needed +# ---------------------------------------------------------------------- +if ! grep '^MySQL RPM upgrade' $STATUS_FILE >/dev/null 2>&1 ; then + # Fix bug#45415: no "mysql_install_db" on an upgrade + # Do this as a negative to err towards more "install" runs + # rather than to miss one. + %{_bindir}/mysql_install_db --rpm --user=%{mysqld_user} +fi + +# ---------------------------------------------------------------------- +# Upgrade databases if needed would go here - but it cannot be automated yet +# ---------------------------------------------------------------------- + +# ---------------------------------------------------------------------- +# Change permissions again to fix any new files. +# ---------------------------------------------------------------------- +chown -R %{mysqld_user}:%{mysqld_group} $mysql_datadir + +# ---------------------------------------------------------------------- +# Fix permissions for the permission database so that only the user +# can read them. +# ---------------------------------------------------------------------- +chmod -R og-rw $mysql_datadir/mysql + +# ---------------------------------------------------------------------- +# install SELinux files - but don't override existing ones +# ---------------------------------------------------------------------- +SETARGETDIR=/etc/selinux/targeted/src/policy +SEDOMPROG=$SETARGETDIR/domains/program +SECONPROG=$SETARGETDIR/file_contexts/program +if [ -f /etc/redhat-release ] \ + && (grep -q "Red Hat Enterprise Linux .. release 4" /etc/redhat-release \ + || grep -q "CentOS release 4" /etc/redhat-release) ; then + echo + echo + echo 'Notes regarding SELinux on this platform:' + echo '=========================================' + echo + echo 'The default policy might cause server startup to fail because it is' + echo 'not allowed to access critical files. In this case, please update' + echo 'your installation.' + echo + echo 'The default policy might also cause inavailability of SSL related' + echo 'features because the server is not allowed to access /dev/random' + echo 'and /dev/urandom. If this is a problem, please do the following:' + echo + echo ' 1) install selinux-policy-targeted-sources from your OS vendor' + echo ' 2) add the following two lines to '$SEDOMPROG/mysqld.te':' + echo ' allow mysqld_t random_device_t:chr_file read;' + echo ' allow mysqld_t urandom_device_t:chr_file read;' + echo ' 3) cd to '$SETARGETDIR' and issue the following command:' + echo ' make load' + echo + echo +fi + +if [ -x sbin/restorecon ] ; then + sbin/restorecon -R var/lib/mysql +fi + +# Was the server running before the upgrade? If so, restart the new one. +if [ "$SERVER_TO_START" = "true" ] ; then + # Restart in the same way that mysqld will be started normally. + if [ -x %{_sysconfdir}/init.d/mysql ] ; then + %{_sysconfdir}/init.d/mysql start + echo "Giving mysqld 5 seconds to start" + sleep 5 + fi +fi + +# Collect an upgrade history ... +echo "Upgrade/install finished at `date`" >> $STATUS_FILE +echo >> $STATUS_FILE +echo "=====" >> $STATUS_FILE +STATUS_HISTORY=$mysql_datadir/RPM_UPGRADE_HISTORY +cat $STATUS_FILE >> $STATUS_HISTORY +mv -f $STATUS_FILE ${STATUS_FILE}-LAST # for "triggerpostun" + + +#echo "Thank you for installing the MySQL Community Server! For Production +#systems, we recommend MySQL Enterprise, which contains enterprise-ready +#software, intelligent advisory services, and full production support with +#scheduled service packs and more. Visit www.mysql.com/enterprise for more +#information." + +%preun -n MySQL-server%{product_suffix} + +# Which '$1' does this refer to? Fedora docs have info: +# " ... a count of the number of versions of the package that are installed. +# Action Count +# Install the first time 1 +# Upgrade 2 or higher (depending on the number of versions installed) +# Remove last version of package 0 " +# +# http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch09s04s05.html + +if [ $1 = 0 ] ; then + # Stop MySQL before uninstalling it + if [ -x %{_sysconfdir}/init.d/mysql ] ; then + %{_sysconfdir}/init.d/mysql stop > /dev/null + # Remove autostart of MySQL + # use chkconfig on Enterprise Linux and newer SuSE releases + if [ -x /sbin/chkconfig ] ; then + /sbin/chkconfig --del mysql + # For older SuSE Linux versions + elif [ -x /sbin/insserv ] ; then + /sbin/insserv -r %{_sysconfdir}/init.d/mysql + fi + fi +fi + +# We do not remove the mysql user since it may still own a lot of +# database files. + +%triggerpostun -n MySQL-server%{product_suffix} --MySQL-server-community + +# Setup: We renamed this package, so any existing "server-community" +# package will be removed when this "server" is installed. +# Problem: RPM will first run the "pre" and "post" sections of this script, +# and only then the "preun" of that old community server. +# But this "preun" includes stopping the server and uninstalling the service, +# "chkconfig --del mysql" which removes the symlinks to the start script. +# Solution: *After* the community server got removed, restart this server +# and re-install the service. +# +# For information about triggers in spec files, see the Fedora docs: +# http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch10s02.html +# For all details of this code, see the "pre" and "post" sections. + +# There are users who deviate from the default file system layout. +# Check local settings to support them. +if [ -x %{_bindir}/my_print_defaults ] +then + mysql_datadir=`%{_bindir}/my_print_defaults server mysqld | grep '^--datadir=' | sed -n 's/--datadir=//p'` +fi +if [ -z "$mysql_datadir" ] +then + mysql_datadir=%{mysqldatadir} +fi + +NEW_VERSION=%{mysql_version}-%{release} +STATUS_FILE=$mysql_datadir/RPM_UPGRADE_MARKER-LAST # Note the difference! +STATUS_HISTORY=$mysql_datadir/RPM_UPGRADE_HISTORY + +if [ -f $STATUS_FILE ] ; then + SERVER_TO_START=`grep '^SERVER_TO_START=' $STATUS_FILE | cut -c17-` +else + # This should never happen, but let's be prepared + SERVER_TO_START='' +fi +echo "Analyzed: SERVER_TO_START=$SERVER_TO_START" + +if [ -x /sbin/chkconfig ] ; then + /sbin/chkconfig --add mysql +# use insserv for older SuSE Linux versions +elif [ -x /sbin/insserv ] ; then + /sbin/insserv %{_sysconfdir}/init.d/mysql +fi + +# Was the server running before the upgrade? If so, restart the new one. +if [ "$SERVER_TO_START" = "true" ] ; then + # Restart in the same way that mysqld will be started normally. + if [ -x %{_sysconfdir}/init.d/mysql ] ; then + %{_sysconfdir}/init.d/mysql start + echo "Giving mysqld 5 seconds to start" + sleep 5 + fi +fi + +echo "Trigger 'postun --community' finished at `date`" >> $STATUS_HISTORY +echo >> $STATUS_HISTORY +echo "=====" >> $STATUS_HISTORY + + +# ---------------------------------------------------------------------- +# Clean up the BuildRoot after build is done +# ---------------------------------------------------------------------- +%clean +[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] \ + && rm -rf $RPM_BUILD_ROOT; + +############################################################################## +# Files section +############################################################################## + +%files -n MySQL-server%{product_suffix} -f release/support-files/plugins.files +%defattr(-,root,root,0755) + +%if %{defined license_files_server} +%doc %{license_files_server} +%endif +%doc %{src_dir}/Docs/ChangeLog +%doc %{src_dir}/Docs/INFO_SRC* +%doc release/Docs/INFO_BIN* +%doc release/support-files/my-*.cnf + +%if 0%{?commercial} +%doc %attr(644, root, root) %{_infodir}/mysql.info* +%endif + +%doc %attr(644, root, man) %{_mandir}/man1/innochecksum.1* +%doc %attr(644, root, man) %{_mandir}/man1/my_print_defaults.1* +%doc %attr(644, root, man) %{_mandir}/man1/myisam_ftdump.1* +%doc %attr(644, root, man) %{_mandir}/man1/myisamchk.1* +%doc %attr(644, root, man) %{_mandir}/man1/myisamlog.1* +%doc %attr(644, root, man) %{_mandir}/man1/myisampack.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysql_convert_table_format.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysql_fix_extensions.1* +%doc %attr(644, root, man) %{_mandir}/man8/mysqld.8* +%doc %attr(644, root, man) %{_mandir}/man1/mysqld_multi.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysqld_safe.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysqldumpslow.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysql_install_db.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysql_plugin.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysql_secure_installation.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysql_setpermission.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysql_upgrade.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysqlhotcopy.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysqlman.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysql.server.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysqltest.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysql_tzinfo_to_sql.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysql_zap.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysqlbug.1* +%doc %attr(644, root, man) %{_mandir}/man1/perror.1* +%doc %attr(644, root, man) %{_mandir}/man1/replace.1* +%doc %attr(644, root, man) %{_mandir}/man1/resolve_stack_dump.1* +%doc %attr(644, root, man) %{_mandir}/man1/resolveip.1* + +%ghost %config(noreplace,missingok) %{_sysconfdir}/my.cnf +%dir %{_sysconfdir}/my.cnf.d + +%attr(755, root, root) %{_bindir}/innochecksum +%attr(755, root, root) %{_bindir}/my_print_defaults +%attr(755, root, root) %{_bindir}/myisam_ftdump +%attr(755, root, root) %{_bindir}/myisamchk +%attr(755, root, root) %{_bindir}/myisamlog +%attr(755, root, root) %{_bindir}/myisampack +%attr(755, root, root) %{_bindir}/mysql_convert_table_format +%attr(755, root, root) %{_bindir}/mysql_fix_extensions +%attr(755, root, root) %{_bindir}/mysql_install_db +%attr(755, root, root) %{_bindir}/mysql_plugin +%attr(755, root, root) %{_bindir}/mysql_secure_installation +%attr(755, root, root) %{_bindir}/mysql_setpermission +%attr(755, root, root) %{_bindir}/mysql_tzinfo_to_sql +%attr(755, root, root) %{_bindir}/mysql_upgrade +%attr(755, root, root) %{_bindir}/mysql_zap +%attr(755, root, root) %{_bindir}/mysqlbug +%attr(755, root, root) %{_bindir}/mysqld_multi +%attr(755, root, root) %{_bindir}/mysqld_safe +%attr(755, root, root) %{_bindir}/mysqldumpslow +%attr(755, root, root) %{_bindir}/mysqlhotcopy +%attr(755, root, root) %{_bindir}/mysqltest +%attr(755, root, root) %{_bindir}/perror +%attr(755, root, root) %{_bindir}/replace +%attr(755, root, root) %{_bindir}/resolve_stack_dump +%attr(755, root, root) %{_bindir}/resolveip + +%attr(755, root, root) %{_sbindir}/mysqld +%attr(755, root, root) %{_sbindir}/mysqld-debug +%attr(755, root, root) %{_sbindir}/rcmysql +%attr(755, root, root) %{_libdir}/mysql/plugin/daemon_example.ini + +%if %{WITH_TCMALLOC} +%attr(755, root, root) %{_libdir}/mysql/%{malloc_lib_target} +%endif + +%attr(644, root, root) %config(noreplace,missingok) %{_sysconfdir}/logrotate.d/mysql +%attr(755, root, root) %{_sysconfdir}/init.d/mysql + +%attr(755, root, root) %{_datadir}/mysql/ + +# ---------------------------------------------------------------------------- +%files -n MySQL-client%{product_suffix} + +%defattr(-, root, root, 0755) +%attr(755, root, root) %{_bindir}/msql2mysql +%attr(755, root, root) %{_bindir}/mysql +%attr(755, root, root) %{_bindir}/mysql_find_rows +%attr(755, root, root) %{_bindir}/mysql_waitpid +%attr(755, root, root) %{_bindir}/mysqlaccess +# XXX: This should be moved to %{_sysconfdir} +%attr(644, root, root) %{_bindir}/mysqlaccess.conf +%attr(755, root, root) %{_bindir}/mysqladmin +%attr(755, root, root) %{_bindir}/mysqlbinlog +%attr(755, root, root) %{_bindir}/mysqlcheck +%attr(755, root, root) %{_bindir}/mysqldump +%attr(755, root, root) %{_bindir}/mysqlimport +%attr(755, root, root) %{_bindir}/mysqlshow +%attr(755, root, root) %{_bindir}/mysqlslap + +%doc %attr(644, root, man) %{_mandir}/man1/msql2mysql.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysql.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysql_find_rows.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysql_waitpid.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysqlaccess.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysqladmin.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysqlbinlog.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysqlcheck.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysqldump.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysqlimport.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysqlshow.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysqlslap.1* + +# ---------------------------------------------------------------------------- +%files -n MySQL-devel%{product_suffix} -f optional-files-devel +%defattr(-, root, root, 0755) +%doc %attr(644, root, man) %{_mandir}/man1/comp_err.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysql_config.1* +%attr(755, root, root) %{_bindir}/mysql_config +%dir %attr(755, root, root) %{_includedir}/mysql +%dir %attr(755, root, root) %{_libdir}/mysql +%{_includedir}/mysql/* +%{_datadir}/aclocal/mysql.m4 +%{_libdir}/mysql/libmysqlclient.a +%{_libdir}/mysql/libmysqlclient_r.a +%{_libdir}/mysql/libmysqlservices.a + +# ---------------------------------------------------------------------------- +%files -n MySQL-shared%{product_suffix} +%defattr(-, root, root, 0755) +# Shared libraries (omit for architectures that don't support them) +%{_libdir}/libmysql*.so* + +%post -n MySQL-shared%{product_suffix} +/sbin/ldconfig + +%postun -n MySQL-shared%{product_suffix} +/sbin/ldconfig + +# ---------------------------------------------------------------------------- +%files -n MySQL-test%{product_suffix} +%defattr(-, root, root, 0755) +%attr(-, root, root) %{_datadir}/mysql-test +%attr(755, root, root) %{_bindir}/mysql_client_test +%attr(755, root, root) %{_bindir}/mysql_client_test_embedded +%attr(755, root, root) %{_bindir}/mysqltest_embedded +%doc %attr(644, root, man) %{_mandir}/man1/mysql_client_test.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysql-stress-test.pl.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysql-test-run.pl.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysql_client_test_embedded.1* +%doc %attr(644, root, man) %{_mandir}/man1/mysqltest_embedded.1* + +# ---------------------------------------------------------------------------- +%files -n MySQL-embedded%{product_suffix} +%defattr(-, root, root, 0755) +%attr(755, root, root) %{_bindir}/mysql_embedded +%attr(644, root, root) %{_libdir}/mysql/libmysqld.a +%attr(644, root, root) %{_libdir}/mysql/libmysqld-debug.a + +############################################################################## +# The spec file changelog only includes changes made to the spec file +# itself - note that they must be ordered by date (important when +# merging BK trees) +############################################################################## +%changelog +* Wed Jul 02 2014 Bjorn Munch +- Disable dtrace unconditionally, breaks after we install Oracle dtrace + +* Wed Oct 30 2013 Balasubramanian Kandasamy +- Removed non gpl file docs/mysql.info from community packages + +* Mon Sep 09 2013 Balasubramanian Kandasamy +- Updated logic to get the correct count of PID files + +* Fri Aug 16 2013 Balasubramanian Kandasamy +- Added provides lowercase mysql tags + +* Wed Jun 26 2013 Balasubramanian Kandasamy +- Cleaned up spec file to resolve rpm dependencies. + +* Tue Jul 24 2012 Joerg Bruehe + +- Add a macro "runselftest": + if set to 1 (default), the test suite will be run during the RPM build; + this can be oveeridden via the command line by adding + --define "runselftest 0" + Failures of the test suite will NOT make the RPM build fail! + +* Mon Jun 11 2012 Joerg Bruehe + +- Make sure newly added "SPECIFIC-ULN/" directory does not disturb packaging. + +* Wed Sep 28 2011 Joerg Bruehe + +- Fix duplicate mentioning of "mysql_plugin" and its manual page, + it is better to keep alphabetic order in the files list (merging!). + +* Wed Sep 14 2011 Joerg Bruehe + +- Let the RPM capabilities ("obsoletes" etc) ensure that an upgrade may replace + the RPMs of any configuration (of the current or the preceding release series) + by the new ones. This is done by not using the implicitly generated capabilities + (which include the configuration name) and relying on more generic ones which + just list the function ("server", "client", ...). + The implicit generation cannot be prevented, so all these capabilities must be + explicitly listed in "Obsoletes:" + +* Tue Sep 13 2011 Jonathan Perkin + +- Add support for Oracle Linux 6 and Red Hat Enterprise Linux 6. Due to + changes in RPM behaviour ($RPM_BUILD_ROOT is removed prior to install) + this necessitated a move of the libmygcc.a installation to the install + phase, which is probably where it belonged in the first place. + +* Tue Sep 13 2011 Joerg Bruehe + +- "make_win_bin_dist" and its manual are dropped, cmake does it different. + +* Thu Sep 08 2011 Daniel Fischer + +- Add mysql_plugin man page. + +* Tue Aug 30 2011 Joerg Bruehe + +- Add the manual page for "mysql_plugin" to the server package. + +* Fri Aug 19 2011 Joerg Bruehe + +- Null-upmerge the fix of bug#37165: This spec file is not affected. +- Replace "/var/lib/mysql" by the spec file variable "%%{mysqldatadir}". + +* Fri Aug 12 2011 Daniel Fischer + +- Source plugin library files list from cmake-generated file. + +* Mon Jul 25 2011 Chuck Bell + +- Added the mysql_plugin client - enables or disables plugins. + +* Thu Jul 21 2011 Sunanda Menon + +- Fix bug#12561297: Added the MySQL embedded binary + +* Thu Jul 07 2011 Joerg Bruehe + +- Fix bug#45415: "rpm upgrade recreates test database" + Let the creation of the "test" database happen only during a new installation, + not in an RPM upgrade. + This affects both the "mkdir" and the call of "mysql_install_db". + +* Wed Feb 09 2011 Joerg Bruehe + +- Fix bug#56581: If an installation deviates from the default file locations + ("datadir" and "pid-file"), the mechanism to detect a running server (on upgrade) + should still work, and use these locations. + The problem was that the fix for bug#27072 did not check for local settings. + +* Mon Jan 31 2011 Joerg Bruehe + +- Install the new "manifest" files: "INFO_SRC" and "INFO_BIN". + +* Tue Nov 23 2010 Jonathan Perkin + +- 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 + +- Added test authentication (WL#1054) plugin binaries + +* Wed Oct 6 2010 Georgi Kodinov + +- Added example external authentication (WL#1054) plugin binaries + +* Wed Aug 11 2010 Joerg Bruehe + +- With a recent spec file cleanup, names have changed: A "-community" part was dropped. + Reflect that in the "Obsoletes" specifications. +- 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". + +* Tue Jun 15 2010 Joerg Bruehe + +- Change the behaviour on installation and upgrade: + On installation, do not autostart the server. + *Iff* the server was stopped before the upgrade is started, this is taken as a + sign the administrator is handling that manually, and so the new server will + not be started automatically at the end of the upgrade. + The start/stop scripts will still be installed, so the server will be started + on the next machine boot. + This is the 5.5 version of fixing bug#27072 (RPM autostarting the server). + +* Tue Jun 1 2010 Jonathan Perkin + +- Implement SELinux checks from distribution-specific spec file. + +* Wed May 12 2010 Jonathan Perkin + +- Large number of changes to build using CMake +- Introduce distribution-specific RPMs +- Drop debuginfo, build all binaries with debug/symbols +- Remove __os_install_post, use native macro +- Remove _unpackaged_files_terminate_build, make it an error to have + unpackaged files +- Remove cluster RPMs + +* Wed Mar 24 2010 Joerg Bruehe + +- Add "--with-perfschema" to the configure options. + +* Mon Mar 22 2010 Joerg Bruehe + +- User "usr/lib*" to allow for both "usr/lib" and "usr/lib64", + mask "rmdir" return code 1. +- Remove "ha_example.*" files from the list, they aren't built. + +* Wed Mar 17 2010 Joerg Bruehe + +- Fix a wrong path name in handling the debug plugins. + +* Wed Mar 10 2010 Joerg Bruehe + +- Take the result of the debug plugin build and put it into the optimized tree, + so that it becomes part of the final installation; + include the files in the packlist. Part of the fixes for bug#49022. + +* Mon Mar 01 2010 Joerg Bruehe + +- Set "Oracle and/or its affiliates" as the vendor and copyright owner, + accept upgrading from packages showing MySQL or Sun as vendor. + +* Fri Feb 12 2010 Joerg Bruehe + +- Formatting changes: + Have a consistent structure of separator lines and of indentation + (8 leading blanks => tab). +- Introduce the variable "src_dir". +- Give the environment variables "MYSQL_BUILD_CC(CXX)" precedence + over "CC" ("CXX"). +- Drop the old "with_static" argument analysis, this is not supported + in 5.1 since ages. +- Introduce variables to control the handlers individually, as well + as other options. +- Use the new "--with-plugin" notation for the table handlers. +- Drop handling "/etc/rc.d/init.d/mysql", the switch to "/etc/init.d/mysql" + was done back in 2002 already. +- Make "--with-zlib-dir=bundled" the default, add an option to disable it. +- Add missing manual pages to the file list. +- Improve the runtime check for "libgcc.a", protect it against being tried + with the Intel compiler "icc". + +* Mon Jan 11 2010 Joerg Bruehe + +- Change RPM file naming: + - Suffix like "-m2", "-rc" becomes part of version as "_m2", "_rc". + - Release counts from 1, not 0. + +* Wed Dec 23 2009 Joerg Bruehe + +- The "semisync" plugin file name has lost its introductory "lib", + adapt the file lists for the subpackages. + This is a part missing from the fix for bug#48351. +- Remove the "fix_privilege_tables" manual, it does not exist in 5.5 + (and likely, the whole script will go, too). + +* Mon Nov 16 2009 Joerg Bruehe + +- Fix some problems with the directives around "tcmalloc" (experimental), + remove erroneous traces of the InnoDB plugin (that is 5.1 only). + +* Tue Oct 06 2009 Magnus Blaudd + +- Removed mysql_fix_privilege_tables + +* Fri Oct 02 2009 Alexander Nozdrin + +- "mysqlmanager" got removed from version 5.4, all references deleted. + +* Fri Aug 28 2009 Joerg Bruehe + +- Merge up from 5.1 to 5.4: Remove handling for the InnoDB plugin. + +* Thu Aug 27 2009 Joerg Bruehe + +- This version does not contain the "Instance manager", "mysqlmanager": + Remove it from the spec file so that packaging succeeds. + +* Mon Aug 24 2009 Jonathan Perkin + +- Add conditionals for bundled zlib and innodb plugin + +* Fri Aug 21 2009 Jonathan Perkin + +- Install plugin libraries in appropriate packages. +- Disable libdaemon_example and ftexample plugins. + +* Thu Aug 20 2009 Jonathan Perkin + +- Update variable used for mysql-test suite location to match source. + +* Fri Nov 07 2008 Joerg Bruehe + +- Correct yesterday's fix, so that it also works for the last flag, + and fix a wrong quoting: un-quoted quote marks must not be escaped. + +* Thu Nov 06 2008 Kent Boortz + +- Removed "mysql_upgrade_shell" +- Removed some copy/paste between debug and normal build + +* Thu Nov 06 2008 Joerg Bruehe + +- Modify CFLAGS and CXXFLAGS such that a debug build is not optimized. + This should cover both gcc and icc flags. Fixes bug#40546. + +* Fri Aug 29 2008 Kent Boortz + +- Removed the "Federated" storage engine option, and enabled in all + +* Tue Aug 26 2008 Joerg Bruehe + +- Get rid of the "warning: Installed (but unpackaged) file(s) found:" + Some generated files aren't needed in RPMs: + - the "sql-bench/" subdirectory + Some files were missing: + - /usr/share/aclocal/mysql.m4 ("devel" subpackage) + - Manual "mysqlbug" ("server" subpackage) + - Program "innochecksum" and its manual ("server" subpackage) + - Manual "mysql_find_rows" ("client" subpackage) + - Script "mysql_upgrade_shell" ("client" subpackage) + - Program "ndb_cpcd" and its manual ("ndb-extra" subpackage) + - Manuals "ndb_mgm" + "ndb_restore" ("ndb-tools" subpackage) + +* Mon Mar 31 2008 Kent Boortz + +- Made the "Federated" storage engine an option +- Made the "Cluster" storage engine and sub packages an option + +* Wed Mar 19 2008 Joerg Bruehe + +- Add the man pages for "ndbd" and "ndb_mgmd". + +* Mon Feb 18 2008 Timothy Smith + +- Require a manual upgrade if the alread-installed mysql-server is + from another vendor, or is of a different major version. + +* Wed May 02 2007 Joerg Bruehe + +- "ndb_size.tmpl" is not needed any more, + "man1/mysql_install_db.1" lacked the trailing '*'. + +* Sat Apr 07 2007 Kent Boortz + +- Removed man page for "mysql_create_system_tables" + +* Wed Mar 21 2007 Daniel Fischer + +- Add debug server. + +* Mon Mar 19 2007 Daniel Fischer + +- Remove Max RPMs; the server RPMs contain a mysqld compiled with all + features that previously only were built into Max. + +* Fri Mar 02 2007 Joerg Bruehe + +- Add several man pages for NDB which are now created. + +* Fri Jan 05 2007 Kent Boortz + +- Put back "libmygcc.a", found no real reason it was removed. + +- Add CFLAGS to gcc call with --print-libgcc-file, to make sure the + correct "libgcc.a" path is returned for the 32/64 bit architecture. + +* Mon Dec 18 2006 Joerg Bruehe + +- Fix the move of "mysqlmanager" to section 8: Directory name was wrong. + +* Thu Dec 14 2006 Joerg Bruehe + +- Include the new man pages for "my_print_defaults" and "mysql_tzinfo_to_sql" + in the server RPM. +- The "mysqlmanager" man page got moved from section 1 to 8. + +* Thu Nov 30 2006 Joerg Bruehe + +- Call "make install" using "benchdir_root=%%{_datadir}", + because that is affecting the regression test suite as well. + +* Thu Nov 16 2006 Joerg Bruehe + +- Explicitly note that the "MySQL-shared" RPMs (as built by MySQL AB) + replace "mysql-shared" (as distributed by SuSE) to allow easy upgrading + (bug#22081). + +* Mon Nov 13 2006 Joerg Bruehe + +- Add "--with-partition" to all server builds. + +- Use "--report-features" in one test run per server build. + +* Tue Aug 15 2006 Joerg Bruehe + +- The "max" server is removed from packages, effective from 5.1.12-beta. + Delete all steps to build, package, or install it. + +* Mon Jul 10 2006 Joerg Bruehe + +- Fix a typing error in the "make" target for the Perl script to run the tests. + +* Tue Jul 04 2006 Joerg Bruehe + +- Use the Perl script to run the tests, because it will automatically check + whether the server is configured with SSL. + +* Tue Jun 27 2006 Joerg Bruehe + +- move "mysqldumpslow" from the client RPM to the server RPM (bug#20216) + +- Revert all previous attempts to call "mysql_upgrade" during RPM upgrade, + there are some more aspects which need to be solved before this is possible. + For now, just ensure the binary "mysql_upgrade" is delivered and installed. + +* Thu Jun 22 2006 Joerg Bruehe + +- Close a gap of the previous version by explicitly using + a newly created temporary directory for the socket to be used + in the "mysql_upgrade" operation, overriding any local setting. + +* Tue Jun 20 2006 Joerg Bruehe + +- To run "mysql_upgrade", we need a running server; + start it in isolation and skip password checks. + +* Sat May 20 2006 Kent Boortz + +- Always compile for PIC, position independent code. + +* Wed May 10 2006 Kent Boortz + +- Use character set "all" when compiling with Cluster, to make Cluster + nodes independent on the character set directory, and the problem + that two RPM sub packages both wants to install this directory. + +* Mon May 01 2006 Kent Boortz + +- Use "./libtool --mode=execute" instead of searching for the + executable in current directory and ".libs". + +* Fri Apr 28 2006 Kent Boortz + +- Install and run "mysql_upgrade" + +* Wed Apr 12 2006 Jim Winstead + +- Remove sql-bench, and MySQL-bench RPM (will be built as an independent + project from the mysql-bench repository) + +* Tue Apr 11 2006 Jim Winstead + +- Remove old mysqltestmanager and related programs +* Sat Apr 01 2006 Kent Boortz + +- Set $LDFLAGS from $MYSQL_BUILD_LDFLAGS + +* Tue Mar 07 2006 Kent Boortz + +- Changed product name from "Community Edition" to "Community Server" + +* Mon Mar 06 2006 Kent Boortz + +- Fast mutexes is now disabled by default, but should be + used in Linux builds. + +* Mon Feb 20 2006 Kent Boortz + +- Reintroduced a max build +- Limited testing of 'debug' and 'max' servers +- Berkeley DB only in 'max' + +* Mon Feb 13 2006 Joerg Bruehe + +- Use "-i" on "make test-force"; + this is essential for later evaluation of this log file. + +* Thu Feb 09 2006 Kent Boortz + +- Pass '-static' to libtool, link static with our own libraries, dynamic + with system libraries. Link with the bundled zlib. + +* Wed Feb 08 2006 Kristian Nielsen + +- Modified RPM spec to match new 5.1 debug+max combined community packaging. + +* Sun Dec 18 2005 Kent Boortz + +- Added "client/mysqlslap" + +* Mon Dec 12 2005 Rodrigo Novo + +- Added zlib to the list of (static) libraries installed +- Added check against libtool wierdness (WRT: sql/mysqld || sql/.libs/mysqld) +- Compile MySQL with bundled zlib +- Fixed %%packager name to "MySQL Production Engineering Team" + +* Mon Dec 05 2005 Joerg Bruehe + +- Avoid using the "bundled" zlib on "shared" builds: + As it is not installed (on the build system), this gives dependency + problems with "libtool" causing the build to fail. + (Change was done on Nov 11, but left uncommented.) + +* Tue Nov 22 2005 Joerg Bruehe + +- Extend the file existence check for "init.d/mysql" on un-install + to also guard the call to "insserv"/"chkconfig". + +* Thu Oct 27 2005 Lenz Grimmer + +- added more man pages + +* Wed Oct 19 2005 Kent Boortz + +- Made yaSSL support an option (off by default) + +* Wed Oct 19 2005 Kent Boortz + +- Enabled yaSSL support + +* Sat Oct 15 2005 Kent Boortz + +- Give mode arguments the same way in all places +- Moved copy of mysqld.a to "standard" build, but + disabled it as we don't do embedded yet in 5.0 + +* Fri Oct 14 2005 Kent Boortz + +- For 5.x, always compile with --with-big-tables +- Copy the config.log file to location outside + the build tree + +* Fri Oct 14 2005 Kent Boortz + +- Removed unneeded/obsolete configure options +- Added archive engine to standard server +- Removed the embedded server from experimental server +- Changed suffix "-Max" => "-max" +- Changed comment string "Max" => "Experimental" + +* Thu Oct 13 2005 Lenz Grimmer + +- added a usermod call to assign a potential existing mysql user to the + correct user group (BUG#12823) +- Save the perror binary built during Max build so it supports the NDB + error codes (BUG#13740) +- added a separate macro "mysqld_group" to be able to define the + user group of the mysql user seperately, if desired. + +* Thu Sep 29 2005 Lenz Grimmer + +- fixed the removing of the RPM_BUILD_ROOT in the %clean section (the + $RBR variable did not get expanded, thus leaving old build roots behind) + +* Thu Aug 04 2005 Lenz Grimmer + +- Fixed the creation of the mysql user group account in the postinstall + section (BUG 12348) +- Fixed enabling the Archive storage engine in the Max binary + +* Tue Aug 02 2005 Lenz Grimmer + +- Fixed the Requires: tag for the server RPM (BUG 12233) + +* Fri Jul 15 2005 Lenz Grimmer + +- create a "mysql" user group and assign the mysql user account to that group + in the server postinstall section. (BUG 10984) + +* Tue Jun 14 2005 Lenz Grimmer + +- Do not build statically on i386 by default, only when adding either "--with + static" or "--define '_with_static 1'" to the RPM build options. Static + linking really only makes sense when linking against the specially patched + glibc 2.2.5. + +* Mon Jun 06 2005 Lenz Grimmer + +- added mysql_client_test to the "bench" subpackage (BUG 10676) +- added the libndbclient static and shared libraries (BUG 10676) + +* Wed Jun 01 2005 Lenz Grimmer + +- use "mysqldatadir" variable instead of hard-coding the path multiple times +- use the "mysqld_user" variable on all occasions a user name is referenced +- removed (incomplete) Brazilian translations +- removed redundant release tags from the subpackage descriptions + +* Wed May 25 2005 Joerg Bruehe + +- Added a "make clean" between separate calls to "BuildMySQL". + +* Thu May 12 2005 Guilhem Bichot + +- Removed the mysql_tableinfo script made obsolete by the information schema + +* Wed Apr 20 2005 Lenz Grimmer + +- Enabled the "blackhole" storage engine for the Max RPM + +* Wed Apr 13 2005 Lenz Grimmer + +- removed the MySQL manual files (html/ps/texi) - they have been removed + from the MySQL sources and are now available seperately. + +* Mon Apr 4 2005 Petr Chardin + +- old mysqlmanager, mysqlmanagerc and mysqlmanager-pwger renamed into + mysqltestmanager, mysqltestmanager and mysqltestmanager-pwgen respectively + +* Fri Mar 18 2005 Lenz Grimmer + +- Disabled RAID in the Max binaries once and for all (it has finally been + removed from the source tree) + +* Sun Feb 20 2005 Petr Chardin + +- Install MySQL Instance Manager together with mysqld, touch mysqlmanager + password file + +* Mon Feb 14 2005 Lenz Grimmer + +- Fixed the compilation comments and moved them into the separate build sections + for Max and Standard + +* Mon Feb 7 2005 Tomas Ulin + +- enabled the "Ndbcluster" storage engine for the max binary +- added extra make install in ndb subdir after Max build to get ndb binaries +- added packages for ndbcluster storage engine + +* Fri Jan 14 2005 Lenz Grimmer + +- replaced obsoleted "BuildPrereq" with "BuildRequires" instead + +* Thu Jan 13 2005 Lenz Grimmer + +- enabled the "Federated" storage engine for the max binary + +* Tue Jan 04 2005 Petr Chardin + +- ISAM and merge storage engines were purged. As well as appropriate + tools and manpages (isamchk and isamlog) + +* Fri Dec 31 2004 Lenz Grimmer + +- enabled the "Archive" storage engine for the max binary +- enabled the "CSV" storage engine for the max binary +- enabled the "Example" storage engine for the max binary + +* Thu Aug 26 2004 Lenz Grimmer + +- MySQL-Max now requires MySQL-server instead of MySQL (BUG 3860) + +* Fri Aug 20 2004 Lenz Grimmer + +- do not link statically on IA64/AMD64 as these systems do not have + a patched glibc installed + +* Tue Aug 10 2004 Lenz Grimmer + +- Added libmygcc.a to the devel subpackage (required to link applications + against the the embedded server libmysqld.a) (BUG 4921) + +* Mon Aug 09 2004 Lenz Grimmer + +- Added EXCEPTIONS-CLIENT to the "devel" package + +* Thu Jul 29 2004 Lenz Grimmer + +- disabled OpenSSL in the Max binaries again (the RPM packages were the + only exception to this anyway) (BUG 1043) + +* Wed Jun 30 2004 Lenz Grimmer + +- fixed server postinstall (mysql_install_db was called with the wrong + parameter) + +* Thu Jun 24 2004 Lenz Grimmer + +- added mysql_tzinfo_to_sql to the server subpackage +- run "make clean" instead of "make distclean" + +* Mon Apr 05 2004 Lenz Grimmer + +- added ncurses-devel to the build prerequisites (BUG 3377) + +* Thu Feb 12 2004 Lenz Grimmer + +- when using gcc, _always_ use CXX=gcc +- replaced Copyright with License field (Copyright is obsolete) + +* Tue Feb 03 2004 Lenz Grimmer + +- added myisam_ftdump to the Server package + +* Tue Jan 13 2004 Lenz Grimmer + +- link the mysql client against libreadline instead of libedit (BUG 2289) + +* Mon Dec 22 2003 Lenz Grimmer + +- marked /etc/logrotate.d/mysql as a config file (BUG 2156) + +* Sat Dec 13 2003 Lenz Grimmer + +- fixed file permissions (BUG 1672) + +* Thu Dec 11 2003 Lenz Grimmer + +- made testing for gcc3 a bit more robust + +* Fri Dec 05 2003 Lenz Grimmer + +- added missing file mysql_create_system_tables to the server subpackage + +* Fri Nov 21 2003 Lenz Grimmer + +- removed dependency on MySQL-client from the MySQL-devel subpackage + as it is not really required. (BUG 1610) + +* Fri Aug 29 2003 Lenz Grimmer + +- Fixed BUG 1162 (removed macro names from the changelog) +- Really fixed BUG 998 (disable the checking for installed but + unpackaged files) + +* Tue Aug 05 2003 Lenz Grimmer + +- Fixed BUG 959 (libmysqld not being compiled properly) +- Fixed BUG 998 (RPM build errors): added missing files to the + distribution (mysql_fix_extensions, mysql_tableinfo, mysqldumpslow, + mysql_fix_privilege_tables.1), removed "-n" from install section. + +* Wed Jul 09 2003 Lenz Grimmer + +- removed the GIF Icon (file was not included in the sources anyway) +- removed unused variable shared_lib_version +- do not run automake before building the standard binary + (should not be necessary) +- add server suffix '-standard' to standard binary (to be in line + with the binary tarball distributions) +- Use more RPM macros (_exec_prefix, _sbindir, _libdir, _sysconfdir, + _datadir, _includedir) throughout the spec file. +- allow overriding CC and CXX (required when building with other compilers) + +* Fri May 16 2003 Lenz Grimmer + +- re-enabled RAID again + +* Wed Apr 30 2003 Lenz Grimmer + +- disabled MyISAM RAID (--with-raid) - it throws an assertion which + needs to be investigated first. + +* Mon Mar 10 2003 Lenz Grimmer + +- added missing file mysql_secure_installation to server subpackage + (BUG 141) + +* Tue Feb 11 2003 Lenz Grimmer + +- re-added missing pre- and post(un)install scripts to server subpackage +- added config file /etc/my.cnf to the file list (just for completeness) +- make sure to create the datadir with 755 permissions + +* Mon Jan 27 2003 Lenz Grimmer + +- removed unused CC and CXX variables +- CFLAGS and CXXFLAGS should honor RPM_OPT_FLAGS + +* Fri Jan 24 2003 Lenz Grimmer + +- renamed package "MySQL" to "MySQL-server" +- fixed Copyright tag +- added mysql_waitpid to client subpackage (required for mysql-test-run) + +* Wed Nov 27 2002 Lenz Grimmer + +- moved init script from /etc/rc.d/init.d to /etc/init.d (the majority of + Linux distributions now support this scheme as proposed by the LSB either + directly or via a compatibility symlink) +- Use new "restart" init script action instead of starting and stopping + separately +- Be more flexible in activating the automatic bootup - use insserv (on + older SuSE versions) or chkconfig (Red Hat, newer SuSE versions and + others) to create the respective symlinks + +* Wed Sep 25 2002 Lenz Grimmer + +- MySQL-Max now requires MySQL >= 4.0 to avoid version mismatches + (mixing 3.23 and 4.0 packages) + +* Fri Aug 09 2002 Lenz Grimmer + +- Turn off OpenSSL in MySQL-Max for now until it works properly again +- enable RAID for the Max binary instead +- added compatibility link: safe_mysqld -> mysqld_safe to ease the + transition from 3.23 + +* Thu Jul 18 2002 Lenz Grimmer + +- Reworked the build steps a little bit: the Max binary is supposed + to include OpenSSL, which cannot be linked statically, thus trying + to statically link against a special glibc is futile anyway +- because of this, it is not required to make yet another build run + just to compile the shared libs (saves a lot of time) +- updated package description of the Max subpackage +- clean up the BuildRoot directory afterwards + +* Mon Jul 15 2002 Lenz Grimmer + +- Updated Packager information +- Fixed the build options: the regular package is supposed to + include InnoDB and linked statically, while the Max package + should include BDB and SSL support + +* Fri May 03 2002 Lenz Grimmer + +- Use more RPM macros (e.g. infodir, mandir) to make the spec + file more portable +- reorganized the installation of documentation files: let RPM + take care of this +- reorganized the file list: actually install man pages along + with the binaries of the respective subpackage +- do not include libmysqld.a in the devel subpackage as well, if we + have a special "embedded" subpackage +- reworked the package descriptions + +* Mon Oct 8 2001 Monty + +- Added embedded server as a separate RPM + +* Fri Apr 13 2001 Monty + +- Added mysqld-max to the distribution + +* Tue Jan 2 2001 Monty + +- Added mysql-test to the bench package + +* Fri Aug 18 2000 Tim Smith + +- Added separate libmysql_r directory; now both a threaded + and non-threaded library is shipped. + +* Tue Sep 28 1999 David Axmark + +- Added the support-files/my-example.cnf to the docs directory. + +- Removed devel dependency on base since it is about client + development. + +* Wed Sep 8 1999 David Axmark + +- Cleaned up some for 3.23. + +* Thu Jul 1 1999 David Axmark + +- Added support for shared libraries in a separate sub + package. Original fix by David Fox (dsfox@cogsci.ucsd.edu) + +- The --enable-assembler switch is now automatically disables on + platforms there assembler code is unavailable. This should allow + building this RPM on non i386 systems. + +* Mon Feb 22 1999 David Axmark + +- Removed unportable cc switches from the spec file. The defaults can + now be overridden with environment variables. This feature is used + to compile the official RPM with optimal (but compiler version + specific) switches. + +- Removed the repetitive description parts for the sub rpms. Maybe add + again if RPM gets a multiline macro capability. + +- Added support for a pt_BR translation. Translation contributed by + Jorge Godoy . + +* Wed Nov 4 1998 David Axmark + +- A lot of changes in all the rpm and install scripts. This may even + be a working RPM :-) + +* Sun Aug 16 1998 David Axmark + +- A developers changelog for MySQL is available in the source RPM. And + there is a history of major user visible changed in the Reference + Manual. Only RPM specific changes will be documented here. diff -Nru mysql-5.5-5.5.40/support-files/mysql.spec.sh mysql-5.5-5.5.41/support-files/mysql.spec.sh --- mysql-5.5-5.5.40/support-files/mysql.spec.sh 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/support-files/mysql.spec.sh 2014-11-04 07:49:50.000000000 +0000 @@ -499,12 +499,14 @@ # Attempt to remove any optimisation flags from the debug build CFLAGS=`echo " ${CFLAGS} " | \ sed -e 's/ -O[0-9]* / /' \ + -e 's/-Wp,-D_FORTIFY_SOURCE=2/ /' \ -e 's/ -unroll2 / /' \ -e 's/ -ip / /' \ -e 's/^ //' \ -e 's/ $//'` CXXFLAGS=`echo " ${CXXFLAGS} " | \ sed -e 's/ -O[0-9]* / /' \ + -e 's/-Wp,-D_FORTIFY_SOURCE=2/ /' \ -e 's/ -unroll2 / /' \ -e 's/ -ip / /' \ -e 's/^ //' \ @@ -1250,12 +1252,12 @@ * Mon Jun 11 2012 Joerg Bruehe - Make sure newly added "SPECIFIC-ULN/" directory does not disturb packaging. - + * Wed Sep 28 2011 Joerg Bruehe - Fix duplicate mentioning of "mysql_plugin" and its manual page, it is better to keep alphabetic order in the files list (merging!). - + * Wed Sep 14 2011 Joerg Bruehe - Let the RPM capabilities ("obsoletes" etc) ensure that an upgrade may replace @@ -1288,7 +1290,7 @@ * Fri Aug 19 2011 Joerg Bruehe - Null-upmerge the fix of bug#37165: This spec file is not affected. -- Replace "/var/lib/mysql" by the spec file variable "%{mysqldatadir}". +- Replace "/var/lib/mysql" by the spec file variable "%%{mysqldatadir}". * Fri Aug 12 2011 Daniel Fischer @@ -1309,13 +1311,13 @@ not in an RPM upgrade. This affects both the "mkdir" and the call of "mysql_install_db". -* Thu Feb 09 2011 Joerg Bruehe +* Wed Feb 09 2011 Joerg Bruehe - Fix bug#56581: If an installation deviates from the default file locations ("datadir" and "pid-file"), the mechanism to detect a running server (on upgrade) should still work, and use these locations. The problem was that the fix for bug#27072 did not check for local settings. - + * Mon Jan 31 2011 Joerg Bruehe - Install the new "manifest" files: "INFO_SRC" and "INFO_BIN". @@ -1430,7 +1432,7 @@ - Fix some problems with the directives around "tcmalloc" (experimental), remove erroneous traces of the InnoDB plugin (that is 5.1 only). -* Fri Oct 06 2009 Magnus Blaudd +* Tue Oct 06 2009 Magnus Blaudd - Removed mysql_fix_privilege_tables @@ -1548,7 +1550,7 @@ * Thu Nov 30 2006 Joerg Bruehe -- Call "make install" using "benchdir_root=%{_datadir}", +- Call "make install" using "benchdir_root=%%{_datadir}", because that is affecting the regression test suite as well. * Thu Nov 16 2006 Joerg Bruehe @@ -1627,7 +1629,7 @@ - Set $LDFLAGS from $MYSQL_BUILD_LDFLAGS -* Wed Mar 07 2006 Kent Boortz +* Tue Mar 07 2006 Kent Boortz - Changed product name from "Community Edition" to "Community Server" @@ -1665,7 +1667,7 @@ - Added zlib to the list of (static) libraries installed - Added check against libtool wierdness (WRT: sql/mysqld || sql/.libs/mysqld) - Compile MySQL with bundled zlib -- Fixed %packager name to "MySQL Production Engineering Team" +- Fixed %%packager name to "MySQL Production Engineering Team" * Mon Dec 05 2005 Joerg Bruehe @@ -1815,7 +1817,7 @@ - ISAM and merge storage engines were purged. As well as appropriate tools and manpages (isamchk and isamlog) -* Thu Dec 31 2004 Lenz Grimmer +* Fri Dec 31 2004 Lenz Grimmer - enabled the "Archive" storage engine for the max binary - enabled the "CSV" storage engine for the max binary @@ -1875,7 +1877,7 @@ - marked /etc/logrotate.d/mysql as a config file (BUG 2156) -* Fri Dec 13 2003 Lenz Grimmer +* Sat Dec 13 2003 Lenz Grimmer - fixed file permissions (BUG 1672) @@ -2017,7 +2019,7 @@ - Added separate libmysql_r directory; now both a threaded and non-threaded library is shipped. -* Wed Sep 28 1999 David Axmark +* Tue Sep 28 1999 David Axmark - Added the support-files/my-example.cnf to the docs directory. diff -Nru mysql-5.5-5.5.40/tests/fork_big2.pl mysql-5.5-5.5.41/tests/fork_big2.pl --- mysql-5.5-5.5.40/tests/fork_big2.pl 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/tests/fork_big2.pl 2014-11-04 07:49:52.000000000 +0000 @@ -2,7 +2,7 @@ # Copyright (c) 2002, 2003, 2005, 2006 MySQL AB # Use is subject to license terms - +# # 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 # the Free Software Foundation; version 2 of the License. diff -Nru mysql-5.5-5.5.40/tests/fork_big.pl mysql-5.5-5.5.41/tests/fork_big.pl --- mysql-5.5-5.5.40/tests/fork_big.pl 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/tests/fork_big.pl 2014-11-04 07:49:52.000000000 +0000 @@ -2,7 +2,7 @@ # Copyright (c) 2001, 2006 MySQL AB # Use is subject to license terms - +# # 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 # the Free Software Foundation; version 2 of the License. diff -Nru mysql-5.5-5.5.40/VERSION mysql-5.5-5.5.41/VERSION --- mysql-5.5-5.5.40/VERSION 2014-09-08 09:53:17.000000000 +0000 +++ mysql-5.5-5.5.41/VERSION 2014-11-04 07:49:52.000000000 +0000 @@ -1,4 +1,4 @@ MYSQL_VERSION_MAJOR=5 MYSQL_VERSION_MINOR=5 -MYSQL_VERSION_PATCH=40 +MYSQL_VERSION_PATCH=41 MYSQL_VERSION_EXTRA=