mirror of
https://github.com/MariaDB/server.git
synced 2025-01-26 08:44:33 +01:00
5.5.38 merge
This commit is contained in:
commit
e27c338634
132 changed files with 2524 additions and 3328 deletions
CMakeLists.txtEXCEPTIONS-CLIENT
client
cmake/os
dbug
debian
additions
msql2mysql.1my_print_defaults.1myisam_ftdump.1myisamchk.1myisamlog.1myisampack.1mysql_config.1mysql_convert_table_format.1mysql_find_rows.1mysql_fix_extensions.1mysql_install_db.1mysql_secure_installation.1mysql_setpermission.1mysql_tableinfo.1mysql_waitpid.1mysqlbinlog.1mysqlbug.1mysqlcheck.1mysqldumpslow.1mysqlimport.1mysqltest.1pack_isam.1resolve_stack_dump.1resolveip.1
dist
mariadb-client-10.0.filesmariadb-client-10.0.linksinclude
libmysql
man
CMakeLists.txtaria_chk.1aria_dump_log.1aria_ftdump.1aria_pack.1aria_read_log.1mysql_fix_privilege_tables.1mysqladmin.1mysqlbinlog.1mysqldump.1mysqlman.1mysqlmanager.8
mysql-test
collections
r
cast.resultderived.resultdyncol.resultfunc_time.resultloaddata.resultmyisampack.resultoutfile_loaddata.resultpartition_pruning.resultrange.resultrange_mrr_icp.resultsubselect_sj2.resultsubselect_sj2_jcl6.resultsubselect_sj2_mat.resulttype_datetime.resulttype_time.resulttype_time_hires.resultunion.resultview.result
suite
binlog
funcs_1/r
innodb
rpl
t
mysys
packaging
scripts
sql-common
|
@ -61,6 +61,7 @@ IF(UNIX AND NOT APPLE)
|
|||
# Compiling with PIC speeds up embedded build, on PIC sensitive systems
|
||||
# Predefine it to OFF in release builds, because of the performance penalty
|
||||
SET(WITH_PIC ${WITH_PIC_DEFAULT} CACHE BOOL "Compile with PIC.")
|
||||
MARK_AS_ADVANCED(WITH_PIC)
|
||||
ENDIF()
|
||||
|
||||
# Optionally set project name, e.g.
|
||||
|
@ -265,6 +266,10 @@ IF (ENABLE_GCOV AND NOT WIN32 AND NOT APPLE)
|
|||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage -lgcov")
|
||||
ENDIF()
|
||||
|
||||
MY_CHECK_C_COMPILER_FLAG(-ggdb3 HAVE_GGDB3)
|
||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -ggdb3")
|
||||
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -ggdb3")
|
||||
|
||||
OPTION(ENABLED_LOCAL_INFILE
|
||||
"If we should should enable LOAD DATA LOCAL by default" ${IF_WIN})
|
||||
MARK_AS_ADVANCED(ENABLED_LOCAL_INFILE)
|
||||
|
@ -477,7 +482,7 @@ ADD_CUSTOM_TARGET(INFO_BIN ALL
|
|||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
)
|
||||
|
||||
INSTALL_DOCUMENTATION(README TODO CREDITS COPYING COPYING.LESSER
|
||||
INSTALL_DOCUMENTATION(README CREDITS COPYING COPYING.LESSER EXCEPTIONS-CLIENT
|
||||
COMPONENT Readme)
|
||||
INSTALL_DOCUMENTATION(${CMAKE_BINARY_DIR}/Docs/INFO_SRC
|
||||
${CMAKE_BINARY_DIR}/Docs/INFO_BIN)
|
||||
|
|
136
EXCEPTIONS-CLIENT
Normal file
136
EXCEPTIONS-CLIENT
Normal file
|
@ -0,0 +1,136 @@
|
|||
FOSS License Exception
|
||||
|
||||
http://www.mysql.com/about/legal/licensing/foss-exception/
|
||||
Updated February 23, 2012
|
||||
|
||||
What is the FOSS License Exception?
|
||||
|
||||
Oracle's Free and Open Source Software ("FOSS") License Exception
|
||||
(formerly known as the FLOSS License Exception) allows developers of FOSS
|
||||
applications to include Oracle's MySQL Client Libraries (also referred to
|
||||
as "MySQL Drivers" or "MySQL Connectors") with their FOSS applications.
|
||||
MySQL Client Libraries are typically licensed pursuant to version 2 of the
|
||||
General Public License ("GPL"), but this exception permits distribution of
|
||||
certain MySQL Client Libraries with a developer's FOSS applications
|
||||
licensed under the terms of another FOSS license listed below, even though
|
||||
such other FOSS license may be incompatible with the GPL.
|
||||
|
||||
The following terms and conditions describe the circumstances under which
|
||||
Oracle's FOSS License Exception applies.
|
||||
|
||||
Oracle's FOSS License Exception Terms and Conditions
|
||||
|
||||
1. Definitions. "Derivative Work" means a derivative work, as defined
|
||||
under applicable copyright law, formed entirely from the Program and
|
||||
one or more FOSS Applications.
|
||||
|
||||
"FOSS Application" means a free and open source software application
|
||||
distributed subject to a license listed in the section below titled
|
||||
"FOSS License List."
|
||||
|
||||
"FOSS Notice" means a notice placed by Oracle or MySQL in a copy of
|
||||
the MySQL Client Libraries stating that such copy of the MySQL Client
|
||||
Libraries may be distributed under Oracle's or MySQL's FOSS (or FLOSS)
|
||||
License Exception.
|
||||
|
||||
"Independent Work" means portions of the Derivative Work that are not
|
||||
derived from the Program and can reasonably be considered independent
|
||||
and separate works.
|
||||
|
||||
"Program" means a copy of Oracle's MySQL Client Libraries that
|
||||
contains a FOSS Notice.
|
||||
|
||||
2. A FOSS application developer ("you" or "your") may distribute a
|
||||
Derivative Work provided that you and the Derivative Work meet all of
|
||||
the following conditions:
|
||||
|
||||
a. You obey the GPL in all respects for the Program and all portions
|
||||
(including modifications) of the Program included in the
|
||||
Derivative Work (provided that this condition does not apply to
|
||||
Independent Works);
|
||||
b. The Derivative Work does not include any work licensed under the
|
||||
GPL other than the Program;
|
||||
c. You distribute Independent Works subject to a license listed in
|
||||
the section below titled "FOSS License List";
|
||||
d. You distribute Independent Works in object code or executable
|
||||
form with the complete corresponding machine-readable source code
|
||||
on the same medium and under the same FOSS license applying to
|
||||
the object code or executable forms;
|
||||
e. All works that are aggregated with the Program or the Derivative
|
||||
Work on a medium or volume of storage are not derivative works of
|
||||
the Program, Derivative Work or FOSS Application, and must
|
||||
reasonably be considered independent and separate works.
|
||||
|
||||
3. Oracle reserves all rights not expressly granted in these terms and
|
||||
conditions. If all of the above conditions are not met, then this FOSS
|
||||
License Exception does not apply to you or your Derivative Work.
|
||||
|
||||
FOSS License List
|
||||
|
||||
+------------------------------------------------------------------------+
|
||||
|License Name |Version(s)/Copyright Date|
|
||||
|----------------------------------------------+-------------------------|
|
||||
|Academic Free License |2.0 |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|Apache Software License |1.0/1.1/2.0 |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|Apple Public Source License |2.0 |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|Artistic license |From Perl 5.8.0 |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|BSD license |"July 22 1999" |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|Common Development and Distribution License |1.0 |
|
||||
|(CDDL) | |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|Common Public License |1.0 |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|Eclipse Public License |1.0 |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|European Union Public License (EUPL)¹ |1.1 |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|GNU Affero General Public License (AGPL) |3.0 |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|GNU Library or "Lesser" General Public License|2.0/2.1/3.0 |
|
||||
|(LGPL) | |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|GNU General Public License (GPL) |3.0 |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|IBM Public License |1.0 |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|Jabber Open Source License |1.0 |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|MIT License (As listed in file |- |
|
||||
|MIT-License.txt) | |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|Mozilla Public License (MPL) |1.0/1.1 |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|Open Software License |2.0 |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|OpenSSL license (with original SSLeay license)|"2003" ("1998") |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|PHP License |3.0/3.01 |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|Python license (CNRI Python License) |- |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|Python Software Foundation License |2.1.1 |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|Sleepycat License |"1999" |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|University of Illinois/NCSA Open Source |- |
|
||||
|License | |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|W3C License |"2001" |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|X11 License |"2001" |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|Zlib/libpng License |- |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|Zope Public License |2.0 |
|
||||
+------------------------------------------------------------------------+
|
||||
|
||||
¹) When an Independent Work is licensed under a "Compatible License"
|
||||
pursuant to the EUPL, the Compatible License rather than the EUPL is the
|
||||
applicable license for purposes of these FOSS License Exception Terms and
|
||||
Conditions.
|
||||
|
|
@ -949,9 +949,13 @@ static int do_read_query_result(struct st_connection *cn)
|
|||
{
|
||||
DBUG_ASSERT(cn->has_thread);
|
||||
wait_query_thread_done(cn);
|
||||
if (cn->result)
|
||||
goto exit_func;
|
||||
|
||||
signal_connection_thd(cn, EMB_READ_QUERY_RESULT);
|
||||
wait_query_thread_done(cn);
|
||||
|
||||
exit_func:
|
||||
return cn->result;
|
||||
}
|
||||
|
||||
|
|
|
@ -370,4 +370,5 @@ SET(HAVE_SYS_UTSNAME_H CACHE INTERNAL "")
|
|||
SET(HAVE_PTHREAD_ATTR_GETGUARDSIZE CACHE INTERNAL "")
|
||||
SET(HAVE_UCONTEXT_H CACHE INTERNAL "")
|
||||
SET(HAVE_SOCKPEERCRED CACHE INTERNAL "")
|
||||
ENDIF()
|
||||
SET(HAVE_GGDB3 CACHE INTERNAL "")
|
||||
ENDIF(MSVC)
|
||||
|
|
|
@ -30,6 +30,8 @@ TARGET_LINK_LIBRARIES(factorial dbug)
|
|||
IF(NOT WIN32 AND NOT CMAKE_GENERATOR MATCHES Xcode)
|
||||
FIND_PROGRAM(GROFF groff)
|
||||
FIND_PROGRAM(NROFF nroff)
|
||||
MARK_AS_ADVANCED(GROFF)
|
||||
MARK_AS_ADVANCED(NROFF)
|
||||
SET(OUTPUT_INC output1.r output2.r output3.r output4.r output5.r)
|
||||
SET(SOURCE_INC factorial.r main.r example1.r example2.r example3.r)
|
||||
ADD_CUSTOM_COMMAND(OUTPUT ${OUTPUT_INC}
|
||||
|
|
16
debian/additions/msql2mysql.1
vendored
16
debian/additions/msql2mysql.1
vendored
|
@ -1,16 +0,0 @@
|
|||
.TH mysql 1 "17 March 2003" "MySQL 3.23" "MySQL database"
|
||||
.SH NAME
|
||||
msql2mysql \- MySQL importer for msql style data.
|
||||
.SH SYNOPSIS
|
||||
msql2mysql [options]
|
||||
.SH DESCRIPTION
|
||||
This program imports old msql database files.
|
||||
|
||||
For more information start the program with '--help'.
|
||||
.SH "SEE ALSO"
|
||||
mysql (1), mysqld (1)
|
||||
.SH AUTHOR
|
||||
This manpage was written by Christian Hammers <ch@debian.org>.
|
||||
|
||||
MySQL is available at http://www.mysql.com/.
|
||||
.\" end of man page
|
16
debian/additions/my_print_defaults.1
vendored
16
debian/additions/my_print_defaults.1
vendored
|
@ -1,16 +0,0 @@
|
|||
.TH mysql 1 "17 March 2003" "MySQL 3.23" "MySQL database"
|
||||
.SH NAME
|
||||
my_print_defaults \- MySQL helper script that prints defaults.
|
||||
.SH SYNOPSIS
|
||||
my_print_defaults [options]
|
||||
.SH DESCRIPTION
|
||||
Prints all arguments that is give to some program using the default files.
|
||||
|
||||
For more information start the program with '--help'.
|
||||
.SH "SEE ALSO"
|
||||
mysql (1), mysqld (1)
|
||||
.SH AUTHOR
|
||||
This manpage was written by Christian Hammers <ch@debian.org>.
|
||||
|
||||
MySQL is available at http://www.mysql.com/.
|
||||
.\" end of man page
|
16
debian/additions/myisam_ftdump.1
vendored
16
debian/additions/myisam_ftdump.1
vendored
|
@ -1,16 +0,0 @@
|
|||
.TH mysql 1 "17 March 2003" "MySQL 3.23" "MySQL database"
|
||||
.SH NAME
|
||||
myisam_ftdump \- Dumps full text tables.
|
||||
.SH SYNOPSIS
|
||||
myisam_ftdump [options]
|
||||
.SH DESCRIPTION
|
||||
Dumps information and contents of full text tables.
|
||||
|
||||
For more information start the program with '--help'.
|
||||
.SH "SEE ALSO"
|
||||
mysql (1), mysqld (1)
|
||||
.SH AUTHOR
|
||||
This manpage was written by Christian Hammers <ch@debian.org>.
|
||||
|
||||
MySQL is available at http://www.mysql.com/.
|
||||
.\" end of man page
|
17
debian/additions/myisamchk.1
vendored
17
debian/additions/myisamchk.1
vendored
|
@ -1,17 +0,0 @@
|
|||
.TH mysql 1 "17 March 2003" "MySQL 3.23" "MySQL database"
|
||||
.SH NAME
|
||||
myisamchk \- Checks MySQL myisam type databases.
|
||||
.SH SYNOPSIS
|
||||
myisamchk [options]
|
||||
.SH DESCRIPTION
|
||||
Description, check and repair of ISAM tables.
|
||||
Used without options all tables on the command will be checked for errors
|
||||
|
||||
For more information start the program with '--help'.
|
||||
.SH "SEE ALSO"
|
||||
mysql (1), mysqld (1)
|
||||
.SH AUTHOR
|
||||
This manpage was written by Christian Hammers <ch@debian.org>.
|
||||
|
||||
MySQL is available at http://www.mysql.com/.
|
||||
.\" end of man page
|
16
debian/additions/myisamlog.1
vendored
16
debian/additions/myisamlog.1
vendored
|
@ -1,16 +0,0 @@
|
|||
.TH mysql 1 "17 March 2003" "MySQL 3.23" "MySQL database"
|
||||
.SH NAME
|
||||
myisamlog \- MySQL helper script.
|
||||
.SH SYNOPSIS
|
||||
myisamlog [options]
|
||||
.SH DESCRIPTION
|
||||
Function unknown. Mail to ch@debian.org.
|
||||
|
||||
For more information start the program with '--help'.
|
||||
.SH "SEE ALSO"
|
||||
mysql (1), mysqld (1)
|
||||
.SH AUTHOR
|
||||
This manpage was written by Christian Hammers <ch@debian.org>.
|
||||
|
||||
MySQL is available at http://www.mysql.com/.
|
||||
.\" end of man page
|
19
debian/additions/myisampack.1
vendored
19
debian/additions/myisampack.1
vendored
|
@ -1,19 +0,0 @@
|
|||
.TH mysql 1 "17 March 2003" "MySQL 3.23" "MySQL database"
|
||||
.SH NAME
|
||||
myisampack \- Compresses MySQL database files.
|
||||
.SH SYNOPSIS
|
||||
myisampack [options]
|
||||
.SH DESCRIPTION
|
||||
Pack a MyISAM-table to take much less space.
|
||||
Keys are not updated, you must run myisamchk -rq on the datafile
|
||||
afterwards to update the keys.
|
||||
You should give the .MYI file as the filename argument.
|
||||
|
||||
For more information start the program with '--help'.
|
||||
.SH "SEE ALSO"
|
||||
mysql (1), mysqld (1)
|
||||
.SH AUTHOR
|
||||
This manpage was written by Christian Hammers <ch@debian.org>.
|
||||
|
||||
MySQL is available at http://www.mysql.com/.
|
||||
.\" end of man page
|
17
debian/additions/mysql_config.1
vendored
17
debian/additions/mysql_config.1
vendored
|
@ -1,17 +0,0 @@
|
|||
.TH mysql 1 "17 March 2003" "MySQL 3.23" "MySQL database"
|
||||
.SH NAME
|
||||
mysqlconfig \- MySQL compile settings.
|
||||
.SH SYNOPSIS
|
||||
mysqlconfig [options]
|
||||
.SH DESCRIPTION
|
||||
This program is only useful for people who want to compile agains
|
||||
libmysqlclient.
|
||||
|
||||
For more information start the program with '--help'.
|
||||
.SH "SEE ALSO"
|
||||
mysql (1), mysqld (1)
|
||||
.SH AUTHOR
|
||||
This manpage was written by Christian Hammers <ch@debian.org>.
|
||||
|
||||
MySQL is available at http://www.mysql.com/.
|
||||
.\" end of man page
|
17
debian/additions/mysql_convert_table_format.1
vendored
17
debian/additions/mysql_convert_table_format.1
vendored
|
@ -1,17 +0,0 @@
|
|||
.TH mysql 1 "17 March 2003" "MySQL 3.23" "MySQL database"
|
||||
.SH NAME
|
||||
mysql_convert_table_format \- MySQL table converter.
|
||||
.SH SYNOPSIS
|
||||
mysql_convert_table_format [options]
|
||||
.SH DESCRIPTION
|
||||
Conversion of a MySQL tables to other table types.
|
||||
If no tables has been specifed, all tables in the database will be converted.
|
||||
|
||||
For more information start the program with '--help'.
|
||||
.SH "SEE ALSO"
|
||||
mysql (1), mysqld (1)
|
||||
.SH AUTHOR
|
||||
This manpage was written by Christian Hammers <ch@debian.org>.
|
||||
|
||||
MySQL is available at http://www.mysql.com/.
|
||||
.\" end of man page
|
18
debian/additions/mysql_find_rows.1
vendored
18
debian/additions/mysql_find_rows.1
vendored
|
@ -1,18 +0,0 @@
|
|||
.TH mysql 1 "17 March 2003" "MySQL 3.23" "MySQL database"
|
||||
.SH NAME
|
||||
mysql_find_rows \- MySQL shell skript for searching in update logs.
|
||||
.SH SYNOPSIS
|
||||
mysql_find_rows [options]
|
||||
.SH DESCRIPTION
|
||||
Prints all SQL queries that matches a regexp or contains a 'use
|
||||
database' or 'set ..' command to stdout. A SQL query may contain
|
||||
newlines. This is useful to find things in a MySQL update log.
|
||||
|
||||
For more information start the program with '--help'.
|
||||
.SH "SEE ALSO"
|
||||
mysql (1), mysqld (1)
|
||||
.SH AUTHOR
|
||||
This manpage was written by Christian Hammers <ch@debian.org>.
|
||||
|
||||
MySQL is available at http://www.mysql.com/.
|
||||
.\" end of man page
|
18
debian/additions/mysql_fix_extensions.1
vendored
18
debian/additions/mysql_fix_extensions.1
vendored
|
@ -1,18 +0,0 @@
|
|||
.TH mysql 1 "17 March 2003" "MySQL 3.23" "MySQL database"
|
||||
.SH NAME
|
||||
mysql_fix_extensions \- Corrects MySQL database file names.
|
||||
.SH SYNOPSIS
|
||||
mysql_fix_extensions <datadir>
|
||||
.SH DESCRIPTION
|
||||
Makes .frm lowercase and .MYI/MYD/ISM/ISD uppercase
|
||||
useful when datafiles are copied from windows.
|
||||
Does not work with RAID, with InnoDB or BDB tables.
|
||||
|
||||
For more information start the program with '--help'.
|
||||
.SH "SEE ALSO"
|
||||
mysql (1), mysqld (8)
|
||||
.SH AUTHOR
|
||||
This manpage was written by Christian Hammers <ch@debian.org>.
|
||||
|
||||
MySQL is available at http://www.mysql.com/.
|
||||
.\" end of man page
|
16
debian/additions/mysql_install_db.1
vendored
16
debian/additions/mysql_install_db.1
vendored
|
@ -1,16 +0,0 @@
|
|||
.TH mysql 1 "17 March 2003" "MySQL 3.23" "MySQL database"
|
||||
.SH NAME
|
||||
mysql_install_db \- MySQL helper program.
|
||||
.SH SYNOPSIS
|
||||
mysql_install_db [options]
|
||||
.SH DESCRIPTION
|
||||
This program is normally not needed by any user.
|
||||
|
||||
For more information start the program with '--help'.
|
||||
.SH "SEE ALSO"
|
||||
mysql (1), mysqld (1)
|
||||
.SH AUTHOR
|
||||
This manpage was written by Christian Hammers <ch@debian.org>.
|
||||
|
||||
MySQL is available at http://www.mysql.com/.
|
||||
.\" end of man page
|
17
debian/additions/mysql_secure_installation.1
vendored
17
debian/additions/mysql_secure_installation.1
vendored
|
@ -1,17 +0,0 @@
|
|||
.TH mysql 1 "17 March 2003" "MySQL 3.23" "MySQL database"
|
||||
.SH NAME
|
||||
mysql_secure_installation \- Secures the MySQL access control lists.
|
||||
.SH SYNOPSIS
|
||||
mysql_secure_installation [options]
|
||||
.SH DESCRIPTION
|
||||
This interactive programm suggests changes like removing anonymous users that
|
||||
are supposed to make your installation more secure.
|
||||
|
||||
For more information start the program with '--help'.
|
||||
.SH "SEE ALSO"
|
||||
mysql (1), mysqld (8)
|
||||
.SH AUTHOR
|
||||
This manpage was written by Christian Hammers <ch@debian.org>.
|
||||
|
||||
MySQL is available at http://www.mysql.com/.
|
||||
.\" end of man page
|
23
debian/additions/mysql_setpermission.1
vendored
23
debian/additions/mysql_setpermission.1
vendored
|
@ -1,23 +0,0 @@
|
|||
.TH mysql 1 "17 March 2003" "MySQL 3.23" "MySQL database"
|
||||
.SH NAME
|
||||
mysql_setpermission \- Adds MySQL users or changes passwords.
|
||||
.SH SYNOPSIS
|
||||
mysql_setpermission [options]
|
||||
.SH DESCRIPTION
|
||||
The permission setter is a little program which can help you add users
|
||||
or databases or change passwords in MySQL. Keep in mind that we don't
|
||||
check permissions which already been set in MySQL. So if you can't
|
||||
connect to MySQL using the permission you just added, take a look at
|
||||
the permissions which have already been set in MySQL.
|
||||
|
||||
The permission setter first reads your .my.cnf file in your Home
|
||||
directory if it exists.
|
||||
|
||||
For more information start the program with '--help'.
|
||||
.SH "SEE ALSO"
|
||||
mysql (1), mysqld (1)
|
||||
.SH AUTHOR
|
||||
This manpage was written by Christian Hammers <ch@debian.org>.
|
||||
|
||||
MySQL is available at http://www.mysql.com/.
|
||||
.\" end of man page
|
322
debian/additions/mysql_tableinfo.1
vendored
322
debian/additions/mysql_tableinfo.1
vendored
|
@ -1,322 +0,0 @@
|
|||
.\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ========================================================================
|
||||
.de Sh \" Subsection heading
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Vb \" Begin verbatim text
|
||||
.ft CW
|
||||
.nf
|
||||
.ne \\$1
|
||||
..
|
||||
.de Ve \" End verbatim text
|
||||
.ft R
|
||||
.fi
|
||||
..
|
||||
.\" Set up some character translations and predefined strings. \*(-- will
|
||||
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
||||
.\" double quote, and \*(R" will give a right double quote. | will give a
|
||||
.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
|
||||
.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
|
||||
.\" expand to `' in nroff, nothing in troff, for use with C<>.
|
||||
.tr \(*W-|\(bv\*(Tr
|
||||
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||||
.ie n \{\
|
||||
. ds -- \(*W-
|
||||
. ds PI pi
|
||||
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||||
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||||
. ds L" ""
|
||||
. ds R" ""
|
||||
. ds C` ""
|
||||
. ds C' ""
|
||||
'br\}
|
||||
.el\{\
|
||||
. ds -- \|\(em\|
|
||||
. ds PI \(*p
|
||||
. ds L" ``
|
||||
. ds R" ''
|
||||
'br\}
|
||||
.\"
|
||||
.\" If the F register is turned on, we'll generate index entries on stderr for
|
||||
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
|
||||
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
||||
.\" output yourself in some meaningful fashion.
|
||||
.if \nF \{\
|
||||
. de IX
|
||||
. tm Index:\\$1\t\\n%\t"\\$2"
|
||||
..
|
||||
. nr % 0
|
||||
. rr F
|
||||
.\}
|
||||
.\"
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||
.\" way too many mistakes in technical documents.
|
||||
.hy 0
|
||||
.if n .na
|
||||
.\"
|
||||
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
||||
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
||||
. \" fudge factors for nroff and troff
|
||||
.if n \{\
|
||||
. ds #H 0
|
||||
. ds #V .8m
|
||||
. ds #F .3m
|
||||
. ds #[ \f1
|
||||
. ds #] \fP
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||||
. ds #V .6m
|
||||
. ds #F 0
|
||||
. ds #[ \&
|
||||
. ds #] \&
|
||||
.\}
|
||||
. \" simple accents for nroff and troff
|
||||
.if n \{\
|
||||
. ds ' \&
|
||||
. ds ` \&
|
||||
. ds ^ \&
|
||||
. ds , \&
|
||||
. ds ~ ~
|
||||
. ds /
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||||
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||||
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||||
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||||
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||||
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||||
.\}
|
||||
. \" troff and (daisy-wheel) nroff accents
|
||||
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
||||
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
||||
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
||||
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
||||
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
||||
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
||||
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
||||
.ds ae a\h'-(\w'a'u*4/10)'e
|
||||
.ds Ae A\h'-(\w'A'u*4/10)'E
|
||||
. \" corrections for vroff
|
||||
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
||||
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
||||
. \" for low resolution devices (crt and lpr)
|
||||
.if \n(.H>23 .if \n(.V>19 \
|
||||
\{\
|
||||
. ds : e
|
||||
. ds 8 ss
|
||||
. ds o a
|
||||
. ds d- d\h'-1'\(ga
|
||||
. ds D- D\h'-1'\(hy
|
||||
. ds th \o'bp'
|
||||
. ds Th \o'LP'
|
||||
. ds ae ae
|
||||
. ds Ae AE
|
||||
.\}
|
||||
.rm #[ #] #H #V #F C
|
||||
.\" ========================================================================
|
||||
.\"
|
||||
.IX Title "MYSQL_TABLEINFO 1"
|
||||
.TH MYSQL_TABLEINFO 1 "2003-04-05" "perl v5.8.0" "User Contributed Perl Documentation"
|
||||
.SH "NAME"
|
||||
mysql_tableinfo \- creates and populates information tables with
|
||||
the output of SHOW DATABASES, SHOW TABLES (or SHOW TABLE STATUS),
|
||||
SHOW COLUMNS and SHOW INDEX.
|
||||
.PP
|
||||
This is version 1.1.
|
||||
.SH "SYNOPSIS"
|
||||
.IX Header "SYNOPSIS"
|
||||
.Vb 1
|
||||
\& mysql_tableinfo [OPTIONS] database_to_write [database_like_wild] [table_like_wild]
|
||||
.Ve
|
||||
.PP
|
||||
.Vb 2
|
||||
\& Do not backquote (``) database_to_write,
|
||||
\& and do not quote ('') database_like_wild or table_like_wild
|
||||
.Ve
|
||||
.PP
|
||||
.Vb 1
|
||||
\& Examples:
|
||||
.Ve
|
||||
.PP
|
||||
.Vb 1
|
||||
\& mysql_tableinfo info
|
||||
.Ve
|
||||
.PP
|
||||
.Vb 1
|
||||
\& mysql_tableinfo info this_db
|
||||
.Ve
|
||||
.PP
|
||||
.Vb 1
|
||||
\& mysql_tableinfo info %a% b%
|
||||
.Ve
|
||||
.PP
|
||||
.Vb 1
|
||||
\& mysql_tableinfo info --clear-only
|
||||
.Ve
|
||||
.PP
|
||||
.Vb 1
|
||||
\& mysql_tableinfo info --col --idx --table-status
|
||||
.Ve
|
||||
.SH "DESCRIPTION"
|
||||
.IX Header "DESCRIPTION"
|
||||
mysql_tableinfo asks a MySQL server information about its
|
||||
databases, tables, table columns and index, and stores this
|
||||
in tables called `db`, `tbl` (or `tbl_status`), `col`, `idx`
|
||||
(with an optional prefix specified with \-\-prefix).
|
||||
After that, you can query these information tables, for example
|
||||
to build your admin scripts with \s-1SQL\s0 queries, like
|
||||
.PP
|
||||
\&\s-1SELECT\s0 \s-1CONCAT\s0(\*(L"\s-1CHECK\s0 \s-1TABLE\s0 \*(R",`database`,\*(L".\*(R",`table`,\*(L" \s-1EXTENDED\s0;\*(R")
|
||||
\&\s-1FROM\s0 info.tbl \s-1WHERE\s0 ... ;
|
||||
.PP
|
||||
as people usually do with some other \s-1RDBMS\s0
|
||||
(note: to increase the speed of your queries on the info tables,
|
||||
you may add some index on them).
|
||||
.PP
|
||||
The database_like_wild and table_like_wild instructs the program
|
||||
to gather information only about databases and tables
|
||||
whose names match these patterns. If the info
|
||||
tables already exist, their rows matching the patterns are simply
|
||||
deleted and replaced by the new ones. That is,
|
||||
old rows not matching the patterns are not touched.
|
||||
If the database_like_wild and table_like_wild arguments
|
||||
are not specified on the command-line they default to \*(L"%\*(R".
|
||||
.PP
|
||||
The program :
|
||||
.PP
|
||||
\&\- does \s-1CREATE\s0 \s-1DATABASE\s0 \s-1IF\s0 \s-1NOT\s0 \s-1EXISTS\s0 database_to_write
|
||||
where database_to_write is the database name specified on the command\-line.
|
||||
.PP
|
||||
\&\- does \s-1CREATE\s0 \s-1TABLE\s0 \s-1IF\s0 \s-1NOT\s0 \s-1EXISTS\s0 database_to_write.`db`
|
||||
.PP
|
||||
\&\- fills database_to_write.`db` with the output of
|
||||
\&\s-1SHOW\s0 \s-1DATABASES\s0 \s-1LIKE\s0 database_like_wild
|
||||
.PP
|
||||
\&\- does \s-1CREATE\s0 \s-1TABLE\s0 \s-1IF\s0 \s-1NOT\s0 \s-1EXISTS\s0 database_to_write.`tbl`
|
||||
(respectively database_to_write.`tbl_status`
|
||||
if the \-\-tbl\-status option is on)
|
||||
.PP
|
||||
\&\- for every found database,
|
||||
fills database_to_write.`tbl` (respectively database_to_write.`tbl_status`)
|
||||
with the output of
|
||||
\&\s-1SHOW\s0 \s-1TABLES\s0 \s-1FROM\s0 found_db \s-1LIKE\s0 table_like_wild
|
||||
(respectively \s-1SHOW\s0 \s-1TABLE\s0 \s-1STATUS\s0 \s-1FROM\s0 found_db \s-1LIKE\s0 table_like_wild)
|
||||
.PP
|
||||
\&\- if the \-\-col option is on,
|
||||
* does \s-1CREATE\s0 \s-1TABLE\s0 \s-1IF\s0 \s-1NOT\s0 \s-1EXISTS\s0 database_to_write.`col`
|
||||
* for every found table,
|
||||
fills database_to_write.`col` with the output of
|
||||
\s-1SHOW\s0 \s-1COLUMNS\s0 \s-1FROM\s0 found_tbl \s-1FROM\s0 found_db
|
||||
.PP
|
||||
\&\- if the \-\-idx option is on,
|
||||
* does \s-1CREATE\s0 \s-1TABLE\s0 \s-1IF\s0 \s-1NOT\s0 \s-1EXISTS\s0 database_to_write.`idx`
|
||||
* for every found table,
|
||||
fills database_to_write.`idx` with the output of
|
||||
\s-1SHOW\s0 \s-1INDEX\s0 \s-1FROM\s0 found_tbl \s-1FROM\s0 found_db
|
||||
.PP
|
||||
Some options may modify this general scheme (see below).
|
||||
.PP
|
||||
As mentioned, the contents of the info tables are the output of
|
||||
\&\s-1SHOW\s0 commands. In fact the contents are slightly more complete :
|
||||
.PP
|
||||
\&\- the `tbl` (or `tbl_status`) info table
|
||||
has an extra column which contains the database name,
|
||||
.PP
|
||||
\&\- the `col` info table
|
||||
has an extra column which contains the table name,
|
||||
and an extra column which contains, for each described column,
|
||||
the number of this column in the table owning it (this extra column
|
||||
is called `Seq_in_table`). `Seq_in_table` makes it possible for you
|
||||
to retrieve your columns in sorted order, when you are querying
|
||||
the `col` table.
|
||||
.PP
|
||||
\&\- the `index` info table
|
||||
has an extra column which contains the database name.
|
||||
.PP
|
||||
Caution: info tables contain certain columns (e.g.
|
||||
Database, Table, Null...) whose names, as they are MySQL reserved words,
|
||||
need to be backquoted (`...`) when used in \s-1SQL\s0 statements.
|
||||
.PP
|
||||
Caution: as information fetching and info tables filling happen at the
|
||||
same time, info tables may contain inaccurate information about
|
||||
themselves.
|
||||
.SH "OPTIONS"
|
||||
.IX Header "OPTIONS"
|
||||
.IP "\-\-clear" 4
|
||||
.IX Item "--clear"
|
||||
Does \s-1DROP\s0 \s-1TABLE\s0 on the info tables (only those that the program is
|
||||
going to fill, for example if you do not use \-\-col it won't drop
|
||||
the `col` table) and processes normally. Does not drop database_to_write.
|
||||
.IP "\-\-clear\-only" 4
|
||||
.IX Item "--clear-only"
|
||||
Same as \-\-clear but exits after the DROPs.
|
||||
.IP "\-\-col" 4
|
||||
.IX Item "--col"
|
||||
Adds columns information (into table `col`).
|
||||
.IP "\-\-idx" 4
|
||||
.IX Item "--idx"
|
||||
Adds index information (into table `idx`).
|
||||
.IP "\-\-prefix prefix" 4
|
||||
.IX Item "--prefix prefix"
|
||||
The info tables are named from the concatenation of prefix and,
|
||||
respectively, db, tbl (or tbl_status), col, idx. Do not quote ('')
|
||||
or backquote (``) prefix.
|
||||
.IP "\-q, \-\-quiet" 4
|
||||
.IX Item "-q, --quiet"
|
||||
Does not warn you about what the script is going to do (\s-1DROP\s0 \s-1TABLE\s0 etc)
|
||||
and does not ask for a confirmation before starting.
|
||||
.IP "\-\-tbl\-status" 4
|
||||
.IX Item "--tbl-status"
|
||||
Instead of using \s-1SHOW\s0 \s-1TABLES\s0, uses \s-1SHOW\s0 \s-1TABLE\s0 \s-1STATUS\s0
|
||||
(much more complete information, but slower).
|
||||
.IP "\-\-help" 4
|
||||
.IX Item "--help"
|
||||
Display helpscreen and exit
|
||||
.IP "\-u, \-\-user=#" 4
|
||||
.IX Item "-u, --user=#"
|
||||
user for database login if not current user. Give a user
|
||||
who has sufficient privileges (\s-1CREATE\s0, ...).
|
||||
.IP "\-p, \-\-password=# (INSECURE)" 4
|
||||
.IX Item "-p, --password=# (INSECURE)"
|
||||
password to use when connecting to server.
|
||||
WARNING: Providing a password on command line is insecure as it is visible through /proc to anyone for a short time.
|
||||
.IP "\-h, \-\-host=#" 4
|
||||
.IX Item "-h, --host=#"
|
||||
host to connect to
|
||||
.IP "\-P, \-\-port=#" 4
|
||||
.IX Item "-P, --port=#"
|
||||
port to use when connecting to server
|
||||
.IP "\-S, \-\-socket=#" 4
|
||||
.IX Item "-S, --socket=#"
|
||||
\&\s-1UNIX\s0 domain socket to use when connecting to server
|
||||
.SH "WARRANTY"
|
||||
.IX Header "WARRANTY"
|
||||
This software is free and comes without warranty of any kind. You
|
||||
should never trust backup software without studying the code yourself.
|
||||
Study the code inside this script and only rely on it if \fIyou\fR believe
|
||||
that it does the right thing for you.
|
||||
.Sp
|
||||
Patches adding bug fixes, documentation and new features are welcome.
|
||||
.SH "TO DO"
|
||||
.IX Header "TO DO"
|
||||
Use extended inserts to be faster (for servers with many databases
|
||||
or tables). But to do that, must care about net\-buffer\-length.
|
||||
.SH "AUTHOR"
|
||||
.IX Header "AUTHOR"
|
||||
2002\-06\-18 Guilhem Bichot (guilhem.bichot@mines\-paris.org)
|
||||
.Sp
|
||||
And all the authors of mysqlhotcopy, which served as a model for
|
||||
the structure of the program.
|
20
debian/additions/mysql_waitpid.1
vendored
20
debian/additions/mysql_waitpid.1
vendored
|
@ -1,20 +0,0 @@
|
|||
.TH mysql 1 "17 March 2003" "MySQL 3.23" "MySQL database"
|
||||
.SH NAME
|
||||
mysql_waitpid \- Waits a specified amount of seconds for a PID to terminate.
|
||||
.SH SYNOPSIS
|
||||
mysql_waitpid [options] <pid> <seconds>
|
||||
.SH DESCRIPTION
|
||||
Description: Waits for a program, which program id is #pid, to
|
||||
terminate within #time seconds. If the program terminates within
|
||||
this time, or if the #pid no longer exists, value 0 is returned.
|
||||
Otherwise 1 is returned. Both #pid and #time must be positive
|
||||
integer arguments.
|
||||
|
||||
See mysql_waitpid for options.
|
||||
.SH "SEE ALSO"
|
||||
mysql (1), mysqld (1)
|
||||
.SH AUTHOR
|
||||
This manpage was written by Christian Hammers <ch@debian.org>.
|
||||
|
||||
MySQL is available at http://www.mysql.com/.
|
||||
.\" end of man page
|
17
debian/additions/mysqlbinlog.1
vendored
17
debian/additions/mysqlbinlog.1
vendored
|
@ -1,17 +0,0 @@
|
|||
.TH mysql 1 "17 March 2003" "MySQL 3.23" "MySQL database"
|
||||
.SH NAME
|
||||
mysqlbinlog \- Dumps MySQL binary logs.
|
||||
.SH SYNOPSIS
|
||||
mysqlbinlog [options]
|
||||
.SH DESCRIPTION
|
||||
Dumps a MySQL binary log in a format usable for viewing or for pipeing to
|
||||
the mysql command line client
|
||||
|
||||
For more information start the program with '--help'.
|
||||
.SH "SEE ALSO"
|
||||
mysql (1), mysqld (1)
|
||||
.SH AUTHOR
|
||||
This manpage was written by Christian Hammers <ch@debian.org>.
|
||||
|
||||
MySQL is available at http://www.mysql.com/.
|
||||
.\" end of man page
|
14
debian/additions/mysqlbug.1
vendored
14
debian/additions/mysqlbug.1
vendored
|
@ -1,14 +0,0 @@
|
|||
.TH mysql 1 "17 March 2003" "MySQL 3.23" "MySQL database"
|
||||
.SH NAME
|
||||
mysqlbug \- MySQL bug reporting tool.
|
||||
.SH SYNOPSIS
|
||||
mysqlbug [options]
|
||||
.SH DESCRIPTION
|
||||
Interactive bug reporting tool. Use reportbug on Debian systems.
|
||||
.SH "SEE ALSO"
|
||||
mysql (1), mysqld (1)
|
||||
.SH AUTHOR
|
||||
This manpage was written by Christian Hammers <ch@debian.org>.
|
||||
|
||||
MySQL is available at http://www.mysql.com/.
|
||||
.\" end of man page
|
28
debian/additions/mysqlcheck.1
vendored
28
debian/additions/mysqlcheck.1
vendored
|
@ -1,28 +0,0 @@
|
|||
.TH mysql 1 "17 March 2003" "MySQL 3.23" "MySQL database"
|
||||
.SH NAME
|
||||
mysqlcheck \- MySQL program for repairing, checking and optimizing tables.
|
||||
.SH SYNOPSIS
|
||||
mysqlcheck | mysqlanalyze | mysqloptimize [options]
|
||||
.SH DESCRIPTION
|
||||
This program can be used to CHECK (-c,-m,-C), REPAIR (-r), ANALYZE (-a)
|
||||
or OPTIMIZE (-o) tables. Some of the options (like -e or -q) can be
|
||||
used same time. It works on MyISAM and in some cases on BDB tables.
|
||||
Please consult the MySQL manual for latest information about the
|
||||
above. The options -c,-r,-a and -o are exclusive to each other, which
|
||||
means that the last option will be used, if several was specified.
|
||||
|
||||
The option -c will be used by default, if none was specified. You
|
||||
can change the default behavior by making a symbolic link, or
|
||||
copying this file somewhere with another name, the alternatives are:
|
||||
mysqlrepair: The default option will be -r
|
||||
mysqlanalyze: The default option will be -a
|
||||
mysqloptimize: The default option will be -o
|
||||
|
||||
For more information start the program with '--help'.
|
||||
.SH "SEE ALSO"
|
||||
mysql (1), mysqld (8)
|
||||
.SH AUTHOR
|
||||
This manpage was written by Christian Hammers <ch@debian.org>.
|
||||
|
||||
MySQL is available at http://www.mysql.com/.
|
||||
.\" end of man page
|
50
debian/additions/mysqldumpslow.1
vendored
50
debian/additions/mysqldumpslow.1
vendored
|
@ -1,50 +0,0 @@
|
|||
.TH mysql 1 "17 March 2003" "MySQL 3.23" "MySQL database"
|
||||
.SH NAME
|
||||
mysqldumpslow \- Parse and summarize the MySQL slow query log.
|
||||
.SH SYNOPSIS
|
||||
mysqldumpslow [options]
|
||||
.SH DESCRIPTION
|
||||
This program parses and summarizes a 'slow query log'.
|
||||
|
||||
.TP
|
||||
\fB\-v\fR
|
||||
verbose
|
||||
.TP
|
||||
\fB\-d\fR
|
||||
debug
|
||||
.TP
|
||||
\fB\-s=WORD\fR
|
||||
what to sort by (t, at, l, al, r, ar etc)
|
||||
.TP
|
||||
\fB\-r\fR
|
||||
reverse the sort order (largest last instead of first)
|
||||
.TP
|
||||
\fB\-t=NUMBER\fR
|
||||
just show the top n queries
|
||||
.TP
|
||||
\fB\-a\fR
|
||||
don't abstract all numbers to N and strings to 'S'
|
||||
.TP
|
||||
\fB\-n=NUMBER\fR
|
||||
abstract numbers with at least n digits within names
|
||||
.TP
|
||||
\fB\-g=WORD\fR
|
||||
grep: only consider stmts that include this string
|
||||
.TP
|
||||
\fB\-h=WORD\fR
|
||||
hostname of db server for *-slow.log filename (can be wildcard)
|
||||
.TP
|
||||
\fB\-i=WORD\fR
|
||||
name of server instance (if using mysql.server startup script)
|
||||
.TP
|
||||
\fB\-l\fR
|
||||
don't subtract lock time from total time
|
||||
|
||||
.SH "SEE ALSO"
|
||||
mysql (1), mysqld (1)
|
||||
.SH AUTHOR
|
||||
This manpage was written by Christian Hammers <ch@debian.org> based on
|
||||
the commends in the code.
|
||||
|
||||
MySQL is available at http://www.mysql.com/.
|
||||
.\" end of man page
|
20
debian/additions/mysqlimport.1
vendored
20
debian/additions/mysqlimport.1
vendored
|
@ -1,20 +0,0 @@
|
|||
.TH mysql 1 "17 March 2003" "MySQL 3.23" "MySQL database"
|
||||
.SH NAME
|
||||
mysqlimport \- Imports text files with MySQL database queries.
|
||||
.SH SYNOPSIS
|
||||
mysqlimport [options]
|
||||
.SH DESCRIPTION
|
||||
Loads tables from text files in various formats. The base name of the
|
||||
text file must be the name of the table that should be used.
|
||||
If one uses sockets to connect to the MySQL server, the server will open and
|
||||
read the text file directly. In other cases the client will open the text
|
||||
file. The SQL command 'LOAD DATA INFILE' is used to import the rows.
|
||||
|
||||
For more information start the program with '--help'.
|
||||
.SH "SEE ALSO"
|
||||
mysql (1), mysqld (1)
|
||||
.SH AUTHOR
|
||||
This manpage was written by Christian Hammers <ch@debian.org>.
|
||||
|
||||
MySQL is available at http://www.mysql.com/.
|
||||
.\" end of man page
|
16
debian/additions/mysqltest.1
vendored
16
debian/additions/mysqltest.1
vendored
|
@ -1,16 +0,0 @@
|
|||
.TH mysql 1 "17 March 2003" "MySQL 3.23" "MySQL database"
|
||||
.SH NAME
|
||||
mysqltest \- Regressiontest program for MySQL.
|
||||
.SH SYNOPSIS
|
||||
mysqltest [options]
|
||||
.SH DESCRIPTION
|
||||
Runs a test against the mysql server and compares output with a results file.
|
||||
|
||||
For more information start the program with '--help'.
|
||||
.SH "SEE ALSO"
|
||||
mysql (1), mysqld (1)
|
||||
.SH AUTHOR
|
||||
This manpage was written by Christian Hammers <ch@debian.org>.
|
||||
|
||||
MySQL is available at http://www.mysql.com/.
|
||||
.\" end of man page
|
19
debian/additions/pack_isam.1
vendored
19
debian/additions/pack_isam.1
vendored
|
@ -1,19 +0,0 @@
|
|||
.TH mysql 1 "17 March 2003" "MySQL 3.23" "MySQL database"
|
||||
.SH NAME
|
||||
myisampack \- Compresses MySQL database files.
|
||||
.SH SYNOPSIS
|
||||
myisampack [options]
|
||||
.SH DESCRIPTION
|
||||
Pack a ISAM-table to take much smaller space
|
||||
Keys are not updated, so you must run isamchk -rq on any table
|
||||
that has keys after you have compressed it
|
||||
You should give the .ISM file as the filename argument
|
||||
|
||||
For more information start the program with '--help'.
|
||||
.SH "SEE ALSO"
|
||||
mysql (1), mysqld (1)
|
||||
.SH AUTHOR
|
||||
This manpage was written by Christian Hammers <ch@debian.org>.
|
||||
|
||||
MySQL is available at http://www.mysql.com/.
|
||||
.\" end of man page
|
16
debian/additions/resolve_stack_dump.1
vendored
16
debian/additions/resolve_stack_dump.1
vendored
|
@ -1,16 +0,0 @@
|
|||
.TH mysql 1 "17 March 2003" "MySQL 3.23" "MySQL database"
|
||||
.SH NAME
|
||||
resolve_stack_dump \- MySQL helper program for reporting bugs.
|
||||
.SH SYNOPSIS
|
||||
resolve_stack_dump [options]
|
||||
.SH DESCRIPTION
|
||||
Resolve numeric stack strace dump into symbols.
|
||||
|
||||
For more information start the program with '--help'.
|
||||
.SH "SEE ALSO"
|
||||
mysql (1), mysqld (1)
|
||||
.SH AUTHOR
|
||||
This manpage was written by Christian Hammers <ch@debian.org>.
|
||||
|
||||
MySQL is available at http://www.mysql.com/.
|
||||
.\" end of man page
|
16
debian/additions/resolveip.1
vendored
16
debian/additions/resolveip.1
vendored
|
@ -1,16 +0,0 @@
|
|||
.TH mysql 1 "17 March 2003" "MySQL 3.23" "MySQL database"
|
||||
.SH NAME
|
||||
resolveip \- MySQL helper program to retrive IP addresses.
|
||||
.SH SYNOPSIS
|
||||
resolveip [options]
|
||||
.SH DESCRIPTION
|
||||
Get hostname based on IP-address or IP-address based on hostname.
|
||||
|
||||
For more information start the program with '--help'.
|
||||
.SH "SEE ALSO"
|
||||
mysql (1), mysqld (1)
|
||||
.SH AUTHOR
|
||||
This manpage was written by Christian Hammers <ch@debian.org>.
|
||||
|
||||
MySQL is available at http://www.mysql.com/.
|
||||
.\" end of man page
|
2
debian/dist/Debian/rules
vendored
2
debian/dist/Debian/rules
vendored
|
@ -64,7 +64,7 @@ ifneq ($(ARCH_OS),hurd)
|
|||
endif
|
||||
|
||||
( test -d $(builddir) || mkdir $(builddir) ) && cd $(builddir) && \
|
||||
sh -c 'PATH=$${MYSQL_BUILD_PATH:-"/bin:/usr/bin:/usr/local/bin"} \
|
||||
sh -c 'PATH=$${MYSQL_BUILD_PATH:-"/usr/local/bin:/usr/bin:/bin"} \
|
||||
CC=$${MYSQL_BUILD_CC:-gcc} \
|
||||
CFLAGS=$${MYSQL_BUILD_CFLAGS:-"-O2 -fno-omit-frame-pointer -g -pipe -Wall -Wno-uninitialized $$(case `lsb_release -sc` in (lenny) echo -DWORKAROUND_GCC_4_3_2_BUG ;; esac)"} \
|
||||
CXX=$${MYSQL_BUILD_CXX:-g++} \
|
||||
|
|
2
debian/dist/Ubuntu/rules
vendored
2
debian/dist/Ubuntu/rules
vendored
|
@ -64,7 +64,7 @@ ifneq ($(ARCH_OS),hurd)
|
|||
endif
|
||||
|
||||
( test -d $(builddir) || mkdir $(builddir) ) && cd $(builddir) && \
|
||||
sh -c 'PATH=$${MYSQL_BUILD_PATH:-"/bin:/usr/bin:/usr/local/bin"} \
|
||||
sh -c 'PATH=$${MYSQL_BUILD_PATH:-"/usr/local/bin:/usr/bin:/bin"} \
|
||||
CC=$${MYSQL_BUILD_CC:-gcc} \
|
||||
CFLAGS=$${MYSQL_BUILD_CFLAGS:-"-O2 -fno-omit-frame-pointer -g -pipe -Wall -Wno-uninitialized"} \
|
||||
CXX=$${MYSQL_BUILD_CXX:-g++} \
|
||||
|
|
3
debian/mariadb-client-10.0.files
vendored
3
debian/mariadb-client-10.0.files
vendored
|
@ -22,10 +22,7 @@ usr/share/man/man1/mysqldumpslow.1
|
|||
usr/share/man/man1/mysql_find_rows.1
|
||||
usr/share/man/man1/mysql_fix_extensions.1
|
||||
usr/share/man/man1/mysqlimport.1
|
||||
usr/share/man/man1/mysqlman.1
|
||||
usr/share/man/man1/mysqlreport.1
|
||||
usr/share/man/man1/mysqlshow.1
|
||||
usr/share/man/man1/mysqlslap.1
|
||||
usr/share/man/man1/mysql_tableinfo.1
|
||||
usr/share/man/man1/mysql_waitpid.1
|
||||
usr/share/man/man8/mysqlmanager.8
|
||||
|
|
3
debian/mariadb-client-10.0.links
vendored
3
debian/mariadb-client-10.0.links
vendored
|
@ -1,3 +1,6 @@
|
|||
usr/bin/mysqlcheck usr/bin/mysqlrepair
|
||||
usr/bin/mysqlcheck usr/bin/mysqlanalyze
|
||||
usr/bin/mysqlcheck usr/bin/mysqloptimize
|
||||
usr/share/man/man1/mysqlcheck.1.gz usr/share/man/man1/mysqlrepair.1.gz
|
||||
usr/share/man/man1/mysqlcheck.1.gz usr/share/man/man1/mysqlanalyze.1.gz
|
||||
usr/share/man/man1/mysqlcheck.1.gz usr/share/man/man1/mysqloptimize.1.gz
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef ERRMSG_INCLUDED
|
||||
#define ERRMSG_INCLUDED
|
||||
|
||||
/* Copyright (c) 2000, 2010, 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
|
||||
|
@ -36,7 +36,9 @@ extern const char *client_errors[]; /* Error messages */
|
|||
#define CR_MIN_ERROR 2000 /* For easier client code */
|
||||
#define CR_MAX_ERROR 2999
|
||||
#if !defined(ER)
|
||||
#define ER(X) client_errors[(X)-CR_MIN_ERROR]
|
||||
#define ER(X) (((X) >= CR_ERROR_FIRST && (X) <= CR_ERROR_LAST)? \
|
||||
client_errors[(X)-CR_ERROR_FIRST]: client_errors[CR_UNKNOWN_ERROR])
|
||||
|
||||
#endif
|
||||
#define CLIENT_ERRMAP 2 /* Errormap used by my_error() */
|
||||
|
||||
|
|
|
@ -125,7 +125,7 @@ longlong double_to_datetime(double nr, MYSQL_TIME *ltime, uint flags, int *cut)
|
|||
ltime, flags, cut);
|
||||
}
|
||||
|
||||
int number_to_time(my_bool neg, longlong nr, ulong sec_part,
|
||||
int number_to_time(my_bool neg, ulonglong nr, ulong sec_part,
|
||||
MYSQL_TIME *ltime, int *was_cut);
|
||||
ulonglong TIME_to_ulonglong_datetime(const MYSQL_TIME *);
|
||||
ulonglong TIME_to_ulonglong_date(const MYSQL_TIME *);
|
||||
|
|
|
@ -138,6 +138,7 @@ my_print_help
|
|||
)
|
||||
|
||||
SET(CLIENT_API_FUNCTIONS_5_5
|
||||
my_progname
|
||||
mysql_stmt_next_result
|
||||
# Charsets
|
||||
my_charset_bin
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* 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 as published by
|
||||
|
@ -107,6 +107,8 @@ const char** get_client_errmsgs()
|
|||
|
||||
void init_client_errs(void)
|
||||
{
|
||||
compile_time_assert(array_elements(client_errors) ==
|
||||
(CR_ERROR_LAST - CR_ERROR_FIRST + 2));
|
||||
(void) my_error_register(get_client_errmsgs, CR_ERROR_FIRST, CR_ERROR_LAST);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Copyright (c) 2000, 2013, Oracle and/or its affiliates
|
||||
Copyright (c) 2009, 2013, Monty Program Ab
|
||||
/* Copyright (c) 2000, 2014, Oracle and/or its affiliates.
|
||||
Copyright (c) 2009, 2014, SkySQL Ab.
|
||||
|
||||
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
|
||||
|
@ -1340,6 +1340,10 @@ static my_bool my_realloc_str(NET *net, ulong length)
|
|||
res= net_realloc(net, buf_length + length);
|
||||
if (res)
|
||||
{
|
||||
if (net->last_errno == ER_OUT_OF_RESOURCES)
|
||||
net->last_errno= CR_OUT_OF_MEMORY;
|
||||
else if (net->last_errno == ER_NET_PACKET_TOO_LARGE)
|
||||
net->last_errno= CR_NET_PACKET_TOO_LARGE;
|
||||
strmov(net->sqlstate, unknown_sqlstate);
|
||||
strmov(net->last_error, ER(net->last_errno));
|
||||
}
|
||||
|
|
|
@ -16,13 +16,13 @@
|
|||
SET(MAN1_SERVER innochecksum.1 my_print_defaults.1 myisam_ftdump.1 myisamchk.1
|
||||
myisamlog.1 myisampack.1 mysql.server.1
|
||||
mysql_convert_table_format.1 mysql_fix_extensions.1
|
||||
mysql_fix_privilege_tables.1 mysql_install_db.1
|
||||
mysql_install_db.1
|
||||
mysql_secure_installation.1 mysql_setpermission.1
|
||||
mysql_tzinfo_to_sql.1 mysql_upgrade.1 mysql_zap.1
|
||||
mysqld_multi.1 mysqld_safe.1 mysqldumpslow.1 mysqlhotcopy.1
|
||||
mysqlman.1 mysqltest.1 perror.1 replace.1 resolve_stack_dump.1
|
||||
mysqltest.1 perror.1 replace.1 resolve_stack_dump.1
|
||||
resolveip.1 mysqlbug.1)
|
||||
SET(MAN8_SERVER mysqld.8 mysqlmanager.8)
|
||||
SET(MAN8_SERVER mysqld.8)
|
||||
SET(MAN1_CLIENT msql2mysql.1 mysql.1 mysql_find_rows.1 mysql_waitpid.1
|
||||
mysqlaccess.1 mysqladmin.1 mysqlbinlog.1 mysqlcheck.1
|
||||
mysqldump.1 mysqlimport.1 mysqlshow.1 mysqlslap.1
|
||||
|
|
245
man/aria_chk.1
Normal file
245
man/aria_chk.1
Normal file
|
@ -0,0 +1,245 @@
|
|||
.TH ARIA_CHK "1" "May 2014" "aria_chk Ver 1.2" "User Commands"
|
||||
.SH NAME
|
||||
aria_chk \- Aria table\-maintenance utility
|
||||
.SH SYNOPSIS
|
||||
.B aria_chk
|
||||
[\fIOPTIONS\fR] \fItables\fR[\fI.MAI\fR]
|
||||
.SH DESCRIPTION
|
||||
Describe, check and repair of Aria tables.
|
||||
Used without options all tables on the command will be checked for errors
|
||||
.SS "Global options"
|
||||
.TP
|
||||
\fB\-#\fR, \fB\-\-debug=\fR...
|
||||
Output debug log. Often this is 'd:t:o,filename'.
|
||||
.TP
|
||||
\fB\-H\fR, \fB\-\-HELP\fR
|
||||
Print all argument options sorted alphabetically.
|
||||
.TP
|
||||
\fB\-?\fR, \fB\-\-help\fR
|
||||
Print all options by groups
|
||||
.TP
|
||||
\fB\-\-datadir\fR=\fIpath\fR
|
||||
Path for control file (and logs if \fB\-\-logdir\fR not used)
|
||||
.TP
|
||||
\fB\-\-logdir\fR=\fIpath\fR
|
||||
Path for log files
|
||||
.TP
|
||||
\fB\-\-ignore\-control\-file\fR
|
||||
Don't open the control file. Only use this if you
|
||||
are sure the tables are not in use by another
|
||||
program!
|
||||
.TP
|
||||
\fB\-\-require\-control\-file\fR
|
||||
Abort if we can't find/read the maria_log_control
|
||||
file
|
||||
.TP
|
||||
\fB\-s\fR, \fB\-\-silent\fR
|
||||
Only print errors. One can use two \fB\-s\fR to make
|
||||
maria_chk very silent.
|
||||
.TP
|
||||
\fB\-t\fR, \fB\-\-tmpdir\fR=\fIpath\fR
|
||||
Path for temporary files. Multiple paths can be
|
||||
specified, separated by colon (:), they will be used
|
||||
in a round\-robin fashion.
|
||||
.TP
|
||||
\fB\-v\fR, \fB\-\-verbose\fR
|
||||
Print more information. This can be used with
|
||||
\fB\-\-description\fR and \fB\-\-check\fR. Use many \fB\-v\fR for more verbosity.
|
||||
.TP
|
||||
\fB\-V\fR, \fB\-\-version\fR
|
||||
Print version and exit.
|
||||
.TP
|
||||
\fB\-w\fR, \fB\-\-wait\fR
|
||||
Wait if table is locked.
|
||||
.SS "Check options (check is the default action for aria_chk)"
|
||||
.TP
|
||||
\fB\-c\fR, \fB\-\-check\fR
|
||||
Check table for errors.
|
||||
.TP
|
||||
\fB\-e\fR, \fB\-\-extend\-check\fR
|
||||
Check the table VERY throughly. Only use this in
|
||||
extreme cases as aria_chk should normally be able to
|
||||
find out if the table is ok even without this switch.
|
||||
.TP
|
||||
\fB\-F\fR, \fB\-\-fast\fR
|
||||
Check only tables that haven't been closed properly.
|
||||
.TP
|
||||
\fB\-C\fR, \fB\-\-check\-only\-changed\fR
|
||||
Check only tables that have changed since last check.
|
||||
.TP
|
||||
\fB\-f\fR, \fB\-\-force\fR
|
||||
Restart with '\-r' if there are any errors in the table.
|
||||
States will be updated as with '\-\-update\-state'.
|
||||
.TP
|
||||
\fB\-i\fR, \fB\-\-information\fR
|
||||
Print statistics information about table that is checked.
|
||||
.TP
|
||||
\fB\-m\fR, \fB\-\-medium\-check\fR
|
||||
Faster than extend\-check, but only finds 99.99% of
|
||||
all errors. Should be good enough for most cases.
|
||||
.TP
|
||||
\fB\-T\fR, \fB\-\-read\-only\fR
|
||||
Don't mark table as checked.
|
||||
.TP
|
||||
\fB\-U\fR, \fB\-\-update\-state\fR
|
||||
Mark tables as crashed if any errors were found and
|
||||
clean if check didn't find any errors but table was
|
||||
marked as 'not clean' before. This allows one to get
|
||||
rid of warnings like 'table not properly closed'. If
|
||||
table was updated, update also the timestamp for when
|
||||
the check was made. This option is on by default!
|
||||
Use \fB\-\-skip\-update\-state\fR to disable.
|
||||
.HP
|
||||
\fB\-\-warning\-for\-wrong\-transaction\-id\fR
|
||||
.IP
|
||||
Give a warning if we find a transaction id in the table that is bigger
|
||||
than what exists in the control file. Use \fB\-\-skip\-\fR... to disable warning
|
||||
.SS "Recover (repair)/ options (When using '--recover' or '--safe-recover')"
|
||||
.TP
|
||||
\fB\-B\fR, \fB\-\-backup\fR
|
||||
Make a backup of the .MAD file as 'filename\-time.BAK'.
|
||||
.TP
|
||||
\fB\-\-correct\-checksum\fR
|
||||
Correct checksum information for table.
|
||||
.TP
|
||||
\fB\-D\fR, \fB\-\-data\-file\-length=\fR#
|
||||
Max length of data file (when recreating data
|
||||
file when it's full).
|
||||
.TP
|
||||
\fB\-e\fR, \fB\-\-extend\-check\fR
|
||||
Try to recover every possible row from the data file
|
||||
Normally this will also find a lot of garbage rows;
|
||||
Don't use this option if you are not totally desperate.
|
||||
.TP
|
||||
\fB\-f\fR, \fB\-\-force\fR
|
||||
Overwrite old temporary files.
|
||||
.TP
|
||||
\fB\-k\fR, \fB\-\-keys\-used=\fR#
|
||||
Tell Aria to update only some specific keys. # is a
|
||||
bit mask of which keys to use. This can be used to
|
||||
get faster inserts.
|
||||
.TP
|
||||
\fB\-\-max\-record\-length=\fR#
|
||||
Skip rows bigger than this if aria_chk can't allocate
|
||||
memory to hold it.
|
||||
.TP
|
||||
\fB\-r\fR, \fB\-\-recover\fR
|
||||
Can fix almost anything except unique keys that aren't
|
||||
unique.
|
||||
.TP
|
||||
\fB\-n\fR, \fB\-\-sort\-recover\fR
|
||||
Forces recovering with sorting even if the temporary
|
||||
file would be very big.
|
||||
.TP
|
||||
\fB\-p\fR, \fB\-\-parallel\-recover\fR
|
||||
Uses the same technique as '\-r' and '\-n', but creates
|
||||
all the keys in parallel, in different threads.
|
||||
.TP
|
||||
\fB\-o\fR, \fB\-\-safe\-recover\fR
|
||||
Uses old recovery method; Slower than '\-r' but can
|
||||
handle a couple of cases where '\-r' reports that it
|
||||
can't fix the data file.
|
||||
.TP
|
||||
\fB\-\-transaction\-log\fR
|
||||
Log repair command to transaction log. This is needed
|
||||
if one wants to use the aria_read_log to repeat the
|
||||
repair
|
||||
.TP
|
||||
\fB\-\-character\-sets\-dir=\fR...
|
||||
Directory where character sets are.
|
||||
.TP
|
||||
\fB\-\-set\-collation\fR=\fIname\fR
|
||||
Change the collation used by the index.
|
||||
.TP
|
||||
\fB\-q\fR, \fB\-\-quick\fR
|
||||
Faster repair by not modifying the data file.
|
||||
One can give a second '\-q' to force aria_chk to
|
||||
modify the original datafile in case of duplicate keys.
|
||||
NOTE: Tables where the data file is currupted can't be
|
||||
fixed with this option.
|
||||
.TP
|
||||
\fB\-u\fR, \fB\-\-unpack\fR
|
||||
Unpack file packed with ariapack.
|
||||
.SS "Other actions"
|
||||
.TP
|
||||
\fB\-a\fR, \fB\-\-analyze\fR
|
||||
Analyze distribution of keys. Will make some joins in
|
||||
MariaDB faster. You can check the calculated distribution
|
||||
by using '\-\-description \fB\-\-verbose\fR table_name'.
|
||||
.TP
|
||||
\fB\-\-stats_method\fR=\fIname\fR
|
||||
Specifies how index statistics collection code should
|
||||
treat NULLs. Possible values of name are "nulls_unequal"
|
||||
(default for 4.1/5.0), "nulls_equal" (emulate 4.0), and
|
||||
"nulls_ignored".
|
||||
.TP
|
||||
\fB\-d\fR, \fB\-\-description\fR
|
||||
Prints some information about table.
|
||||
.TP
|
||||
\fB\-A\fR, \fB\-\-set\-auto\-increment\fR[=\fIvalue\fR]
|
||||
Force auto_increment to start at this or higher value
|
||||
If no value is given, then sets the next auto_increment
|
||||
value to the highest used value for the auto key + 1.
|
||||
.TP
|
||||
\fB\-S\fR, \fB\-\-sort\-index\fR
|
||||
Sort index blocks. This speeds up 'read\-next' in
|
||||
applications.
|
||||
.TP
|
||||
\fB\-R\fR, \fB\-\-sort\-records=\fR#
|
||||
Sort records according to an index. This makes your
|
||||
data much more localized and may speed up things
|
||||
(It may be VERY slow to do a sort the first time!).
|
||||
.TP
|
||||
\fB\-b\fR, \fB\-\-block\-search=\fR#
|
||||
Find a record, a block at given offset belongs to.
|
||||
.TP
|
||||
\fB\-z\fR, \fB\-\-zerofill\fR
|
||||
Fill empty space in data and index files with zeroes.
|
||||
This makes the data file movable between different
|
||||
servers.
|
||||
.TP
|
||||
\fB\-\-zerofill\-keep\-lsn\fR
|
||||
Like \fB\-\-zerofill\fR but does not zero out LSN of
|
||||
data/index pages.
|
||||
.PP
|
||||
.SS "Variables"
|
||||
.TP
|
||||
\fB\-\-page_buffer_size=\fR#
|
||||
Size of page buffer. Used by \fB\-\-safe\-repair\fR
|
||||
.TP
|
||||
\fB\-\-read_buffer_size=\fR#
|
||||
Read buffer size for sequential reads during scanning
|
||||
.TP
|
||||
\fB\-\-sort_buffer_size=\fR#
|
||||
Size of sort buffer. Used by \fB\-\-recover\fR
|
||||
.TP
|
||||
\fB\-\-sort_key_blocks=\fR#
|
||||
Internal buffer for sorting keys; Don't touch.
|
||||
.TP
|
||||
\fB\-\-write_buffer_size=\fR#
|
||||
Write buffer size for sequential writes during repair
|
||||
.PP
|
||||
Default options are read from the following files in the given order:
|
||||
\fB/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf\fR
|
||||
.PP
|
||||
The following groups are read: \fBaria_chk\fR
|
||||
.PP
|
||||
The following options may be given as the first argument:
|
||||
.TP
|
||||
\fB\-\-print\-defaults\fR
|
||||
Print the program argument list and exit.
|
||||
.TP
|
||||
\fB\-\-no\-defaults\fR
|
||||
Don't read default options from any option file.
|
||||
.TP
|
||||
\fB\-\-defaults\-file=\fR#
|
||||
Only read default options from the given file #.
|
||||
.TP
|
||||
\fB\-\-defaults\-extra\-file=\fR#
|
||||
Read this file after the global files are read.
|
||||
.PP
|
||||
.SH "SEE ALSO"
|
||||
\fBmyisamchk(1)\fR
|
||||
.PP
|
||||
For more information, please refer to the MariaDB Knowledge Base,
|
||||
which is available online at http://mariadb.com/kb/
|
54
man/aria_dump_log.1
Normal file
54
man/aria_dump_log.1
Normal file
|
@ -0,0 +1,54 @@
|
|||
.TH ARIA_DUMP_LOG "1" "May 2014" "aria_dump_log Ver 1.0" "User Commands"
|
||||
.SH NAME
|
||||
aria_dump_log \- Dump content of Aria log pages.
|
||||
.SH SYNOPSIS
|
||||
.B aria_dump_log
|
||||
\fI-f file OPTIONS\fR
|
||||
.SH DESCRIPTION
|
||||
Dump content of Aria log pages.
|
||||
.TP
|
||||
\fB\-#\fR, \fB\-\-debug\fR[=\fIname\fR]
|
||||
Output debug log. Often the argument is 'd:t:o,filename'.
|
||||
.TP
|
||||
\fB\-f\fR, \fB\-\-file\fR=\fIname\fR
|
||||
Path to file which will be read
|
||||
.TP
|
||||
\fB\-?\fR, \fB\-\-help\fR
|
||||
Display this help and exit.
|
||||
.TP
|
||||
\fB\-o\fR, \fB\-\-offset=\fR#
|
||||
Start reading log from this offset
|
||||
.TP
|
||||
\fB\-n\fR, \fB\-\-pages=\fR#
|
||||
Number of pages to read
|
||||
.TP
|
||||
\fB\-U\fR, \fB\-\-unit\-test\fR
|
||||
Use unit test record table (for logs created by unittests
|
||||
.TP
|
||||
\fB\-V\fR, \fB\-\-version\fR
|
||||
Print version and exit.
|
||||
.PP
|
||||
Default options are read from the following files in the given order:
|
||||
\fB/etc/my.cnf\fB
|
||||
\fB/etc/mysql/my.cnf\fB
|
||||
\fB~/.my.cnf\fB
|
||||
.PP
|
||||
The following groups are read: \fBaria_dump_log\fR
|
||||
.PP
|
||||
The following options may be given as the first argument:
|
||||
.TP
|
||||
\fB\-\-print\-defaults\fR
|
||||
Print the program argument list and exit.
|
||||
.TP
|
||||
\fB\-\-no\-defaults\fR
|
||||
Don't read default options from any option file.
|
||||
.TP
|
||||
\fB\-\-defaults\-file=\fR#
|
||||
Only read default options from the given file #.
|
||||
.TP
|
||||
\fB\-\-defaults\-extra\-file=\fR#
|
||||
Read this file after the global files are read.
|
||||
.PP
|
||||
.SH "SEE ALSO"
|
||||
For more information, please refer to the MariaDB Knowledge Base,
|
||||
which is available online at http://mariadb.com/kb/
|
29
man/aria_ftdump.1
Normal file
29
man/aria_ftdump.1
Normal file
|
@ -0,0 +1,29 @@
|
|||
.TH ARIA_FTDUMP "1" "May 2014" "aria_ftdump Ver 1.0" "User Commands"
|
||||
.SH NAME
|
||||
aria_ftdump \- display full\-text index information
|
||||
.SH DESCRIPTION
|
||||
Use: aria_ft_dump <table_name> <index_num>
|
||||
.TP
|
||||
\fB\-?\fR, \fB\-h\fR, \fB\-\-help\fR
|
||||
Display help and exit.
|
||||
.TP
|
||||
\fB\-c\fR, \fB\-\-count\fR
|
||||
Calculate per\-word stats (counts and global weights).
|
||||
.TP
|
||||
\fB\-d\fR, \fB\-\-dump\fR
|
||||
Dump index (incl. data offsets and word weights).
|
||||
.TP
|
||||
\fB\-l\fR, \fB\-\-length\fR
|
||||
Report length distribution.
|
||||
.TP
|
||||
\fB\-s\fR, \fB\-\-stats\fR
|
||||
Report global stats.
|
||||
.TP
|
||||
\fB\-v\fR, \fB\-\-verbose\fR
|
||||
Be verbose.
|
||||
.PP
|
||||
.SH "SEE ALSO"
|
||||
\fBmyisam_ftdump(1)\fR
|
||||
.PP
|
||||
For more information, please refer to the MariaDB Knowledge Base,
|
||||
which is available online at http://mariadb.com/kb/
|
76
man/aria_pack.1
Normal file
76
man/aria_pack.1
Normal file
|
@ -0,0 +1,76 @@
|
|||
.TH ARIA_PACK "1" "May 2014" "aria_pack Ver 1.0" "User Commands"
|
||||
.SH NAME
|
||||
aria_pack \- manual page for aria_pack Ver 1.0
|
||||
.SH SYNOPSIS
|
||||
.B aria_pack
|
||||
[\fIOPTIONS\fR] \fIfilename\fR...
|
||||
.SH DESCRIPTION
|
||||
Pack a Aria\-table to take much less space.
|
||||
Keys are not updated, you must run \fBaria_chk \-rq\fR on the index (.MAI) file
|
||||
afterwards to update the keys.
|
||||
You should give the .MAI file as the filename argument.
|
||||
To unpack a packed table, run \fBaria_chk \-u\fR on the table
|
||||
.TP
|
||||
\fB\-b\fR, \fB\-\-backup\fR
|
||||
Make a backup of the table as table_name.OLD.
|
||||
.TP
|
||||
\fB\-\-character\-sets\-dir\fR=\fIname\fR
|
||||
Directory where character sets are.
|
||||
.TP
|
||||
\fB\-#\fR, \fB\-\-debug\fR[=\fIname\fR]
|
||||
Output debug log. Often this is 'd:t:o,filename'.
|
||||
.TP
|
||||
\fB\-f\fR, \fB\-\-force\fR
|
||||
Force packing of table even if it gets bigger or if
|
||||
tempfile exists.
|
||||
.TP
|
||||
\fB\-j\fR, \fB\-\-join\fR=\fIname\fR
|
||||
Join all given tables into 'new_table_name'. All tables
|
||||
MUST have identical layouts.
|
||||
.TP
|
||||
\fB\-?\fR, \fB\-\-help\fR
|
||||
Display this help and exit.
|
||||
.TP
|
||||
\fB\-s\fR, \fB\-\-silent\fR
|
||||
Be more silent.
|
||||
.TP
|
||||
\fB\-T\fR, \fB\-\-tmpdir\fR=\fIname\fR
|
||||
Use temporary directory to store temporary table.
|
||||
.TP
|
||||
\fB\-t\fR, \fB\-\-test\fR
|
||||
Don't pack table, only test packing it.
|
||||
.TP
|
||||
\fB\-v\fR, \fB\-\-verbose\fR
|
||||
Write info about progress and packing result. Use many \fB\-v\fR
|
||||
for more verbosity!
|
||||
.TP
|
||||
\fB\-V\fR, \fB\-\-version\fR
|
||||
Output version information and exit.
|
||||
.TP
|
||||
\fB\-w\fR, \fB\-\-wait\fR
|
||||
Wait and retry if table is in use.
|
||||
.PP
|
||||
Default options are read from the following files in the given order:
|
||||
\fB/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf\fR
|
||||
.PP
|
||||
The following groups are read: \fBariapack\fR
|
||||
.PP
|
||||
The following options may be given as the first argument:
|
||||
.TP
|
||||
\fB\-\-print\-defaults\fR
|
||||
Print the program argument list and exit.
|
||||
.TP
|
||||
\fB\-\-no\-defaults\fR
|
||||
Don't read default options from any option file.
|
||||
.TP
|
||||
\fB\-\-defaults\-file=\fR#
|
||||
Only read default options from the given file #.
|
||||
.TP
|
||||
\fB\-\-defaults\-extra\-file=\fR#
|
||||
Read this file after the global files are read.
|
||||
.PP
|
||||
.SH "SEE ALSO"
|
||||
\fBmyisampack(1)\fR
|
||||
.PP
|
||||
For more information, please refer to the MariaDB Knowledge Base,
|
||||
which is available online at http://mariadb.com/kb/
|
108
man/aria_read_log.1
Normal file
108
man/aria_read_log.1
Normal file
|
@ -0,0 +1,108 @@
|
|||
.TH ARIA_READ_LOG "1" "May 2014" "aria_read_log Ver 1.3" "User Commands"
|
||||
.SH NAME
|
||||
aria_read_log \- display Aria log file contents
|
||||
.SH SYNOPSIS
|
||||
.B aria_read_log
|
||||
\fIOPTIONS\fR
|
||||
.SH DESCRIPTION
|
||||
Display and apply log records from a Aria transaction log
|
||||
found in the current directory (for now)
|
||||
.PP
|
||||
Note: Aria is compiled without \fB\-DIDENTICAL_PAGES_AFTER_RECOVERY\fR
|
||||
which means that the table files are not byte\-to\-byte identical to
|
||||
files created during normal execution. This should be ok, except for
|
||||
test scripts that tries to compare files before and after recovery.
|
||||
.PP
|
||||
You need to use one of \fB\-d\fR or \fB\-a\fR
|
||||
.TP
|
||||
\fB\-a\fR, \fB\-\-apply\fR
|
||||
Apply log to tables: modifies tables! you should make a
|
||||
backup first! Displays a lot of information if not run
|
||||
with \fB\-\-silent\fR
|
||||
.TP
|
||||
\fB\-\-character\-sets\-dir\fR=\fIname\fR
|
||||
Directory where character sets are.
|
||||
.TP
|
||||
\fB\-c\fR, \fB\-\-check\fR
|
||||
if \fB\-\-display\-only\fR, check if record is fully readable (for
|
||||
debugging)
|
||||
.TP
|
||||
\fB\-#\fR, \fB\-\-debug\fR[=\fIname\fR]
|
||||
Output debug log. Often the argument is 'd:t:o,filename'.
|
||||
.TP
|
||||
\fB\-\-force\-crash=\fR#
|
||||
Force crash after # recovery events
|
||||
.TP
|
||||
\fB\-?\fR, \fB\-\-help\fR
|
||||
Display this help and exit.
|
||||
.TP
|
||||
\fB\-d\fR, \fB\-\-display\-only\fR
|
||||
display brief info read from records' header
|
||||
.TP
|
||||
\fB\-e\fR, \fB\-\-end\-lsn=\fR#
|
||||
Stop applying at this lsn. If end\-lsn is used, UNDO:s
|
||||
will not be applied
|
||||
.TP
|
||||
\fB\-h\fR, \fB\-\-aria\-log\-dir\-path\fR=\fIname\fR
|
||||
Path to the directory where to store transactional log
|
||||
.TP
|
||||
\fB\-P\fR, \fB\-\-page\-buffer\-size=\fR#
|
||||
The size of the buffer used for index blocks for Aria
|
||||
tables
|
||||
.TP
|
||||
\fB\-o\fR, \fB\-\-start\-from\-lsn=\fR#
|
||||
Start reading log from this lsn
|
||||
.TP
|
||||
\fB\-C\fR, \fB\-\-start\-from\-checkpoint\fR
|
||||
Start applying from last checkpoint
|
||||
.TP
|
||||
\fB\-s\fR, \fB\-\-silent\fR
|
||||
Print less information during apply/undo phase
|
||||
.TP
|
||||
\fB\-T\fR, \fB\-\-tables\-to\-redo\fR=\fIname\fR
|
||||
List of tables sepearated with , that we should apply
|
||||
REDO on. Use this if you only want to recover some tables
|
||||
.TP
|
||||
\fB\-t\fR, \fB\-\-tmpdir\fR=\fIname\fR
|
||||
Path for temporary files. Multiple paths can be
|
||||
specified, separated by colon (:)
|
||||
.TP
|
||||
\fB\-\-translog\-buffer\-size=\fR#
|
||||
The size of the buffer used for transaction log for Aria
|
||||
tables
|
||||
.TP
|
||||
\fB\-u\fR, \fB\-\-undo\fR
|
||||
Apply UNDO records to tables. (disable with
|
||||
\fB\-\-disable\-undo\fR)
|
||||
(Defaults to on; use \fB\-\-skip\-undo\fR to disable.)
|
||||
.TP
|
||||
\fB\-v\fR, \fB\-\-verbose\fR
|
||||
Print more information during apply/undo phase
|
||||
.TP
|
||||
\fB\-V\fR, \fB\-\-version\fR
|
||||
Print version and exit.
|
||||
.PP
|
||||
Default options are read from the following files in the given order:
|
||||
\fB/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf\fR
|
||||
.PP
|
||||
The following groups are read: \fBaria_read_log\fR
|
||||
.PP
|
||||
The following options may be given as the first argument:
|
||||
.TP
|
||||
\fB\-\-print\-defaults\fR
|
||||
Print the program argument list and exit.
|
||||
.TP
|
||||
\fB\-\-no\-defaults\fR
|
||||
Don't read default options from any option file.
|
||||
.TP
|
||||
\fB\-\-defaults\-file=\fR#
|
||||
Only read default options from the given file #.
|
||||
.TP
|
||||
\fB\-\-defaults\-extra\-file=\fR#
|
||||
Read this file after the global files are read.
|
||||
.PP
|
||||
.SH "SEE ALSO"
|
||||
\fBmyisamlog(1)\fR
|
||||
.PP
|
||||
For more information, please refer to the MariaDB Knowledge Base,
|
||||
which is available online at http://mariadb.com/kb/
|
|
@ -1,175 +0,0 @@
|
|||
'\" t
|
||||
.\" Title: \fBmysql_fix_privilege_tables\fR
|
||||
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
|
||||
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
|
||||
.\" Date: 04/06/2010
|
||||
.\" Manual: MySQL Database System
|
||||
.\" Source: MySQL 5.1
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "\FBMYSQL_FIX_PRIVILE" "1" "04/06/2010" "MySQL 5\&.1" "MySQL Database System"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * set default formatting
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" disable hyphenation
|
||||
.nh
|
||||
.\" disable justification (adjust text to left margin only)
|
||||
.ad l
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * MAIN CONTENT STARTS HERE *
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" mysql_fix_privilege_tables
|
||||
.\" upgrading: grant tables
|
||||
.\" grant tables: upgrading
|
||||
.SH "NAME"
|
||||
mysql_fix_privilege_tables \- upgrade MySQL system tables
|
||||
.SH "SYNOPSIS"
|
||||
.HP \w'\fBmysql_fix_privilege_tables\ \-\-password=\fR\fB\fIroot_password\fR\fR\ 'u
|
||||
\fBmysql_fix_privilege_tables \-\-password=\fR\fB\fIroot_password\fR\fR
|
||||
.SH "DESCRIPTION"
|
||||
.if n \{\
|
||||
.sp
|
||||
.\}
|
||||
.RS 4
|
||||
.it 1 an-trap
|
||||
.nr an-no-space-flag 1
|
||||
.nr an-break-flag 1
|
||||
.br
|
||||
.ps +1
|
||||
\fBNote\fR
|
||||
.ps -1
|
||||
.br
|
||||
.PP
|
||||
In MySQL 5\&.1\&.7,
|
||||
\fBmysql_fix_privilege_tables\fR
|
||||
was superseded by
|
||||
\fBmysql_upgrade\fR, which should be used instead\&. See
|
||||
\fBmysql_upgrade\fR(1)\&.
|
||||
.sp .5v
|
||||
.RE
|
||||
.PP
|
||||
Some releases of MySQL introduce changes to the structure of the system tables in the
|
||||
mysql
|
||||
database to add new privileges or support new features\&. When you update to a new version of MySQL, you should update your system tables as well to make sure that their structure is up to date\&. Otherwise, there might be capabilities that you cannot take advantage of\&.
|
||||
.PP
|
||||
\fBmysql_fix_privilege_tables\fR
|
||||
is an older script that previously was used to uprade the system tables in the
|
||||
mysql
|
||||
database after a MySQL upgrade\&.
|
||||
.PP
|
||||
Before running
|
||||
\fBmysql_fix_privilege_tables\fR, make a backup of your
|
||||
mysql
|
||||
database\&.
|
||||
.PP
|
||||
On Unix or Unix\-like systems, update the system tables by running the
|
||||
\fBmysql_fix_privilege_tables\fR
|
||||
script:
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
shell> \fBmysql_fix_privilege_tables\fR
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.PP
|
||||
You must run this script while the server is running\&. It attempts to connect to the server running on the local host as
|
||||
root\&. If your
|
||||
root
|
||||
account requires a password, indicate the password on the command line like this:
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
shell> \fBmysql_fix_privilege_tables \-\-password=\fR\fB\fIroot_password\fR\fR
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.PP
|
||||
The
|
||||
\fBmysql_fix_privilege_tables\fR
|
||||
script performs any actions necessary to convert your system tables to the current format\&. You might see some
|
||||
Duplicate column name
|
||||
warnings as it runs; you can ignore them\&.
|
||||
.PP
|
||||
After running the script, stop the server and restart it so that any changes made to the system tables take effect\&.
|
||||
.PP
|
||||
On Windows systems, MySQL distributions include a
|
||||
mysql_fix_privilege_tables\&.sql
|
||||
SQL script that you can run using the
|
||||
\fBmysql\fR
|
||||
client\&. For example, if your MySQL installation is located at
|
||||
C:\eProgram Files\eMySQL\eMySQL Server 5\&.1, the commands look like this:
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
C:\e> \fBcd "C:\eProgram Files\eMySQL\eMySQL Server 5\&.1"\fR
|
||||
C:\e> \fBbin\emysql \-u root \-p mysql\fR
|
||||
mysql> \fBSOURCE share/mysql_fix_privilege_tables\&.sql\fR
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.sp
|
||||
.if n \{\
|
||||
.sp
|
||||
.\}
|
||||
.RS 4
|
||||
.it 1 an-trap
|
||||
.nr an-no-space-flag 1
|
||||
.nr an-break-flag 1
|
||||
.br
|
||||
.ps +1
|
||||
\fBNote\fR
|
||||
.ps -1
|
||||
.br
|
||||
.PP
|
||||
Prior to version 5\&.1\&.17, the
|
||||
mysql_fix_privilege_tables\&.sql
|
||||
script is found in the
|
||||
scripts
|
||||
directory\&.
|
||||
.sp .5v
|
||||
.RE
|
||||
.PP
|
||||
The
|
||||
\fBmysql\fR
|
||||
command will prompt you for the
|
||||
root
|
||||
password; enter it when prompted\&.
|
||||
.PP
|
||||
If your installation is located in some other directory, adjust the path names appropriately\&.
|
||||
.PP
|
||||
As with the Unix procedure, you might see some
|
||||
Duplicate column name
|
||||
warnings as
|
||||
\fBmysql\fR
|
||||
processes the statements in the
|
||||
mysql_fix_privilege_tables\&.sql
|
||||
script; you can ignore them\&.
|
||||
.PP
|
||||
After running the script, stop the server and restart it\&.
|
||||
.SH "COPYRIGHT"
|
||||
.br
|
||||
.PP
|
||||
Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc.
|
||||
.PP
|
||||
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
|
||||
.PP
|
||||
This documentation 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.
|
||||
.PP
|
||||
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
|
||||
.sp
|
||||
.SH "SEE ALSO"
|
||||
For more information, please refer to the MySQL Reference Manual,
|
||||
which may already be installed locally and which is also available
|
||||
online at http://dev.mysql.com/doc/.
|
||||
.SH AUTHOR
|
||||
Sun Microsystems, Inc. (http://www.mysql.com/).
|
|
@ -24,8 +24,8 @@
|
|||
.SH "NAME"
|
||||
mysqladmin \- client for administering a MySQL server
|
||||
.SH "SYNOPSIS"
|
||||
.HP \w'\fBmysqladmin\ [\fR\fB\fIoptions\fR\fR\fB]\ \fR\fB\fIcommand\fR\fR\fB\ [\fR\fB\fIcommand\-options\fR\fR\fB]\ [\fR\fB\fIcommand\fR\fR\fB\ [\fR\fB\fIcommand\-options\fR\fR\fB]]\ \&.\&.\&.\fR\ 'u
|
||||
\fBmysqladmin [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIcommand\fR\fR\fB [\fR\fB\fIcommand\-options\fR\fR\fB] [\fR\fB\fIcommand\fR\fR\fB [\fR\fB\fIcommand\-options\fR\fR\fB]] \&.\&.\&.\fR
|
||||
.HP \w'\fBmysqladmin\ [\fR\fB\fIoptions\fR\fR\fB]\ \fR\fB\fIcommand\fR\fR\fB\ [\fR\fB\fIcommand\-arg\fR\fR\fB]\ [\fR\fB\fIcommand\fR\fR\fB\ [\fR\fB\fIcommand\-arg\fR\fR\fB]]\ \&.\&.\&.\fR\ 'u
|
||||
\fBmysqladmin [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIcommand\fR\fR\fB [\fR\fB\fIcommand\-arg\fR\fR\fB] [\fR\fB\fIcommand\fR\fR\fB [\fR\fB\fIcommand\-arg\fR\fR\fB]] \&.\&.\&.\fR
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBmysqladmin\fR
|
||||
|
|
|
@ -1255,33 +1255,6 @@ indicates a
|
|||
FORMAT_DESCRIPTION_EVENT\&. The following table lists the possible type codes\&.
|
||||
.TS
|
||||
allbox tab(:);
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l.
|
||||
T{
|
||||
Type
|
||||
|
@ -1310,7 +1283,7 @@ T}:T{
|
|||
QUERY_EVENT
|
||||
T}:T{
|
||||
The most common type of events\&. These contain statements executed on the
|
||||
master\&.
|
||||
master\&.
|
||||
T}
|
||||
T{
|
||||
03
|
||||
|
@ -1332,8 +1305,8 @@ T}:T{
|
|||
INTVAR_EVENT
|
||||
T}:T{
|
||||
Used for AUTO_INCREMENT values or when the
|
||||
LAST_INSERT_ID()
|
||||
function is used in the statement\&.
|
||||
LAST_INSERT_ID()
|
||||
function is used in the statement\&.
|
||||
T}
|
||||
T{
|
||||
06
|
||||
|
@ -1341,7 +1314,7 @@ T}:T{
|
|||
LOAD_EVENT
|
||||
T}:T{
|
||||
Used for LOAD DATA
|
||||
INFILE in MySQL 3\&.23\&.
|
||||
INFILE in MySQL 3\&.23\&.
|
||||
T}
|
||||
T{
|
||||
07
|
||||
|
@ -1356,9 +1329,9 @@ T}:T{
|
|||
CREATE_FILE_EVENT
|
||||
T}:T{
|
||||
Used for LOAD DATA
|
||||
INFILE statements\&. This indicates the
|
||||
start of execution of such a statement\&. A temporary
|
||||
file is created on the slave\&. Used in MySQL 4 only\&.
|
||||
INFILE statements\&. This indicates the
|
||||
start of execution of such a statement\&. A temporary
|
||||
file is created on the slave\&. Used in MySQL 4 only\&.
|
||||
T}
|
||||
T{
|
||||
09
|
||||
|
@ -1366,9 +1339,9 @@ T}:T{
|
|||
APPEND_BLOCK_EVENT
|
||||
T}:T{
|
||||
Contains data for use in a
|
||||
LOAD DATA
|
||||
INFILE statement\&. The data is stored in
|
||||
the temporary file on the slave\&.
|
||||
LOAD DATA
|
||||
INFILE statement\&. The data is stored in
|
||||
the temporary file on the slave\&.
|
||||
T}
|
||||
T{
|
||||
0a
|
||||
|
@ -1376,9 +1349,9 @@ T}:T{
|
|||
EXEC_LOAD_EVENT
|
||||
T}:T{
|
||||
Used for LOAD DATA
|
||||
INFILE statements\&. The contents of the
|
||||
temporary file is stored in the table on the slave\&.
|
||||
Used in MySQL 4 only\&.
|
||||
INFILE statements\&. The contents of the
|
||||
temporary file is stored in the table on the slave\&.
|
||||
Used in MySQL 4 only\&.
|
||||
T}
|
||||
T{
|
||||
0b
|
||||
|
@ -1386,8 +1359,8 @@ T}:T{
|
|||
DELETE_FILE_EVENT
|
||||
T}:T{
|
||||
Rollback of a LOAD DATA
|
||||
INFILE statement\&. The temporary file
|
||||
should be deleted on the slave\&.
|
||||
INFILE statement\&. The temporary file
|
||||
should be deleted on the slave\&.
|
||||
T}
|
||||
T{
|
||||
0c
|
||||
|
@ -1395,7 +1368,7 @@ T}:T{
|
|||
NEW_LOAD_EVENT
|
||||
T}:T{
|
||||
Used for LOAD DATA
|
||||
INFILE in MySQL 4 and earlier\&.
|
||||
INFILE in MySQL 4 and earlier\&.
|
||||
T}
|
||||
T{
|
||||
0d
|
||||
|
@ -1403,8 +1376,8 @@ T}:T{
|
|||
RAND_EVENT
|
||||
T}:T{
|
||||
Used to send information about random values if the
|
||||
RAND() function is
|
||||
used in the statement\&.
|
||||
RAND() function is
|
||||
used in the statement\&.
|
||||
T}
|
||||
T{
|
||||
0e
|
||||
|
@ -1433,7 +1406,7 @@ T}:T{
|
|||
BEGIN_LOAD_QUERY_EVENT
|
||||
T}:T{
|
||||
Used for LOAD DATA
|
||||
INFILE statements in MySQL 5 and later\&.
|
||||
INFILE statements in MySQL 5 and later\&.
|
||||
T}
|
||||
T{
|
||||
12
|
||||
|
@ -1441,7 +1414,7 @@ T}:T{
|
|||
EXECUTE_LOAD_QUERY_EVENT
|
||||
T}:T{
|
||||
Used for LOAD DATA
|
||||
INFILE statements in MySQL 5 and later\&.
|
||||
INFILE statements in MySQL 5 and later\&.
|
||||
T}
|
||||
T{
|
||||
13
|
||||
|
@ -1456,7 +1429,7 @@ T}:T{
|
|||
PRE_GA_WRITE_ROWS_EVENT
|
||||
T}:T{
|
||||
Row data for a single table that should be created\&. Used in MySQL 5\&.1\&.5
|
||||
to 5\&.1\&.17\&.
|
||||
to 5\&.1\&.17\&.
|
||||
T}
|
||||
T{
|
||||
15
|
||||
|
@ -1464,7 +1437,7 @@ T}:T{
|
|||
PRE_GA_UPDATE_ROWS_EVENT
|
||||
T}:T{
|
||||
Row data for a single table that needs to be updated\&. Used in MySQL
|
||||
5\&.1\&.5 to 5\&.1\&.17\&.
|
||||
5\&.1\&.5 to 5\&.1\&.17\&.
|
||||
T}
|
||||
T{
|
||||
16
|
||||
|
@ -1472,7 +1445,7 @@ T}:T{
|
|||
PRE_GA_DELETE_ROWS_EVENT
|
||||
T}:T{
|
||||
Row data for a single table that should be deleted\&. Used in MySQL 5\&.1\&.5
|
||||
to 5\&.1\&.17\&.
|
||||
to 5\&.1\&.17\&.
|
||||
T}
|
||||
T{
|
||||
17
|
||||
|
@ -1480,7 +1453,7 @@ T}:T{
|
|||
WRITE_ROWS_EVENT
|
||||
T}:T{
|
||||
Row data for a single table that should be created\&. Used in MySQL 5\&.1\&.18
|
||||
and later\&.
|
||||
and later\&.
|
||||
T}
|
||||
T{
|
||||
18
|
||||
|
@ -1488,7 +1461,7 @@ T}:T{
|
|||
UPDATE_ROWS_EVENT
|
||||
T}:T{
|
||||
Row data for a single table that needs to be updated\&. Used in MySQL
|
||||
5\&.1\&.18 and later\&.
|
||||
5\&.1\&.18 and later\&.
|
||||
T}
|
||||
T{
|
||||
19
|
||||
|
@ -1496,7 +1469,7 @@ T}:T{
|
|||
DELETE_ROWS_EVENT
|
||||
T}:T{
|
||||
Row data for a single table that should be deleted\&. Used in MySQL 5\&.1\&.18
|
||||
and later\&.
|
||||
and later\&.
|
||||
T}
|
||||
T{
|
||||
1a
|
||||
|
@ -1553,10 +1526,6 @@ Master Pos: The position of the next event in the original master log file\&.
|
|||
Flags: 16 flags\&. Currently, the following flags are used\&. The others are reserved for future use\&.
|
||||
.TS
|
||||
allbox tab(:);
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l
|
||||
l l l.
|
||||
T{
|
||||
Flag
|
||||
|
@ -1571,13 +1540,13 @@ T}:T{
|
|||
LOG_EVENT_BINLOG_IN_USE_F
|
||||
T}:T{
|
||||
Log file correctly closed\&. (Used only in
|
||||
FORMAT_DESCRIPTION_EVENT\&.) If
|
||||
this flag is set (if the flags are, for example,
|
||||
\'01 00\') in a
|
||||
FORMAT_DESCRIPTION_EVENT, the log
|
||||
file has not been properly closed\&. Most probably
|
||||
this is because of a master crash (for example, due
|
||||
to power failure)\&.
|
||||
FORMAT_DESCRIPTION_EVENT\&.) If
|
||||
this flag is set (if the flags are, for example,
|
||||
\'01 00\') in a
|
||||
FORMAT_DESCRIPTION_EVENT, the log
|
||||
file has not been properly closed\&. Most probably
|
||||
this is because of a master crash (for example, due
|
||||
to power failure)\&.
|
||||
T}
|
||||
T{
|
||||
02
|
||||
|
@ -1592,8 +1561,8 @@ T}:T{
|
|||
LOG_EVENT_THREAD_SPECIFIC_F
|
||||
T}:T{
|
||||
Set if the event is dependent on the connection it was executed in (for
|
||||
example, \'04 00\'), for example,
|
||||
if the event uses temporary tables\&.
|
||||
example, \'04 00\'), for example,
|
||||
if the event uses temporary tables\&.
|
||||
T}
|
||||
T{
|
||||
08
|
||||
|
@ -1601,7 +1570,7 @@ T}:T{
|
|||
LOG_EVENT_SUPPRESS_USE_F
|
||||
T}:T{
|
||||
Set in some circumstances when the event is not dependent on the default
|
||||
database\&.
|
||||
database\&.
|
||||
T}
|
||||
.TE
|
||||
.sp 1
|
||||
|
|
|
@ -2027,9 +2027,6 @@ value, an empty string, and the string value
|
|||
are distinguished from one another in the output generated by this option as follows\&.
|
||||
.TS
|
||||
allbox tab(:);
|
||||
l l
|
||||
l l
|
||||
l l
|
||||
l l.
|
||||
T{
|
||||
\fBValue\fR:
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
.TH mysqlman 1 "20 July 2004" "MySQL" "MySQL database"
|
||||
.SH NAME
|
||||
mysqlman \- default man page for mysql
|
||||
.SH "DESCRIPTION"
|
||||
Certain executables distributed with the MySQL database management system do
|
||||
not have specific man pages.
|
||||
.SH "SEE ALSO"
|
||||
In most cases, you can run the executable from the command line with a "--help"
|
||||
argument to display a brief summary of the executable's arguments and function.
|
||||
For more information about MySQL, please refer to the MySQL reference manual,
|
||||
which may already be installed locally and which is also available online at
|
||||
http://dev.mysql.com/doc/mysql/en
|
||||
.SH BUGS
|
||||
Please refer to http://bugs.mysql.com/ to report bugs.
|
||||
.\" end of man page
|
2078
man/mysqlmanager.8
2078
man/mysqlmanager.8
File diff suppressed because it is too large
Load diff
|
@ -13,7 +13,6 @@ main.signal_demo3 @solaris # Bug#11753919 2010-01-20 alik Several
|
|||
main.sp @solaris # Bug#11753919 2010-01-20 alik Several test cases fail on Solaris with error Thread stack overrun
|
||||
main.wait_timeout @solaris # Bug#11758972 2010-04-26 alik wait_timeout fails on OpenSolaris
|
||||
|
||||
rpl.rpl_innodb_bug28430 # Bug#11754425
|
||||
rpl.rpl_row_sp011 @solaris # Bug#11753919 2011-07-25 sven Several test cases fail on Solaris with error Thread stack overrun
|
||||
rpl.rpl_spec_variables @solaris # Bug #17337114 2013-08-20 Luis Soares failing on pb2 with timeout for 'CHECK WARNINGS'
|
||||
|
||||
|
|
|
@ -78,7 +78,7 @@ cast(cast(20010203101112.121314 as double) as datetime)
|
|||
2001-02-03 10:11:12
|
||||
select cast(cast(010203101112.12 as double) as datetime);
|
||||
cast(cast(010203101112.12 as double) as datetime)
|
||||
0001-02-03 10:11:12
|
||||
2001-02-03 10:11:12
|
||||
select cast(cast(20010203101112.121314 as decimal(32,6)) as datetime);
|
||||
cast(cast(20010203101112.121314 as decimal(32,6)) as datetime)
|
||||
2001-02-03 10:11:12
|
||||
|
@ -87,10 +87,10 @@ cast(20010203101112.121314 as datetime)
|
|||
2001-02-03 10:11:12
|
||||
select cast(110203101112.121314 as datetime);
|
||||
cast(110203101112.121314 as datetime)
|
||||
0011-02-03 10:11:12
|
||||
2011-02-03 10:11:12
|
||||
select cast(cast(010203101112.12 as double) as datetime);
|
||||
cast(cast(010203101112.12 as double) as datetime)
|
||||
0001-02-03 10:11:12
|
||||
2001-02-03 10:11:12
|
||||
select cast("2011-02-03 10:11:12.123456" as datetime);
|
||||
cast("2011-02-03 10:11:12.123456" as datetime)
|
||||
2011-02-03 10:11:12
|
||||
|
@ -111,7 +111,7 @@ cast(cast(20010203101112.5 as double) as datetime(1))
|
|||
2001-02-03 10:11:12.5
|
||||
select cast(cast(010203101112.12 as double) as datetime(2));
|
||||
cast(cast(010203101112.12 as double) as datetime(2))
|
||||
0001-02-03 10:11:12.12
|
||||
2001-02-03 10:11:12.12
|
||||
select cast(cast(20010203101112.121314 as decimal(32,6)) as datetime(6));
|
||||
cast(cast(20010203101112.121314 as decimal(32,6)) as datetime(6))
|
||||
2001-02-03 10:11:12.121314
|
||||
|
@ -120,10 +120,10 @@ cast(20010203101112.121314 as datetime(6))
|
|||
2001-02-03 10:11:12.121314
|
||||
select cast(110203101112.121314 as datetime(6));
|
||||
cast(110203101112.121314 as datetime(6))
|
||||
0011-02-03 10:11:12.121314
|
||||
2011-02-03 10:11:12.121314
|
||||
select cast(cast(010203101112.12 as double) as datetime(6));
|
||||
cast(cast(010203101112.12 as double) as datetime(6))
|
||||
0001-02-03 10:11:12.120000
|
||||
2001-02-03 10:11:12.120000
|
||||
select cast("2011-02-03 10:11:12.123456" as time);
|
||||
cast("2011-02-03 10:11:12.123456" as time)
|
||||
10:11:12
|
||||
|
@ -266,7 +266,7 @@ Warnings:
|
|||
Warning 1264 Out of range value for column 'cast(-1000 as double(5,2))' at row 1
|
||||
select cast(010203101112.121314 as datetime);
|
||||
cast(010203101112.121314 as datetime)
|
||||
0001-02-03 10:11:12
|
||||
2001-02-03 10:11:12
|
||||
select cast(120010203101112.121314 as datetime);
|
||||
cast(120010203101112.121314 as datetime)
|
||||
NULL
|
||||
|
@ -327,7 +327,7 @@ cast(cast(120010203101112.121314 as double) as datetime)
|
|||
NULL
|
||||
select cast(cast(1.1 as double) as datetime);
|
||||
cast(cast(1.1 as double) as datetime)
|
||||
0000-00-00 00:00:01
|
||||
NULL
|
||||
select cast(cast(-1.1 as double) as datetime);
|
||||
cast(cast(-1.1 as double) as datetime)
|
||||
NULL
|
||||
|
|
|
@ -539,6 +539,7 @@ n d1 d2 result
|
|||
2085 2012-01-01 00:00:00 2013-01-01 00:00:00 0
|
||||
2084 2012-02-01 00:00:00 2013-01-01 00:00:00 0
|
||||
drop table t1;
|
||||
set @save_derived_optimizer_switch_bug=@@optimizer_switch;
|
||||
SET optimizer_switch = 'derived_merge=on,derived_with_keys=on,in_to_exists=on';
|
||||
CREATE TABLE t1 (a INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (8);
|
||||
|
@ -553,4 +554,17 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||
Warnings:
|
||||
Note 1249 Select 4 was reduced during optimization
|
||||
DROP TABLE t1, t2;
|
||||
set optimizer_switch=@save_derived_optimizer_switch_bug;
|
||||
#
|
||||
# MDEV-6163: Error while executing an update query that has the
|
||||
# same table in a sub-query
|
||||
#
|
||||
set @save_derived_optimizer_switch_bug=@@optimizer_switch;
|
||||
SET optimizer_switch = 'derived_merge=on';
|
||||
create table t1 (balance float, accountId varchar(64), primary key (accountId));
|
||||
insert into t1 (accountId,balance) values
|
||||
('dealer-1',199354.0),('dealer-2',0),('dealer-3',0),('dealer-5',0),('FINANCE',-200000),('OPERATOR',0);
|
||||
update t1 set balance=(select sum(balance) from (SELECT balance FROM t1 where accountId like 'dealer%') AS copied) where accountId = 'OPERATOR';
|
||||
set optimizer_switch=@save_derived_optimizer_switch_bug;
|
||||
drop table t1;
|
||||
set optimizer_switch=@save_derived_optimizer_switch;
|
||||
|
|
|
@ -1001,29 +1001,29 @@ Warnings:
|
|||
Warning 1292 Truncated incorrect time value: '1223.5aa'
|
||||
select column_get(column_create(1, 18446744073709551615 AS unsigned int), 1 as time);
|
||||
column_get(column_create(1, 18446744073709551615 AS unsigned int), 1 as time)
|
||||
NULL
|
||||
838:59:59
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '1.8446744073709552e19'
|
||||
Warning 1292 Truncated incorrect time value: '1.8446744073709552e19'
|
||||
select column_get(column_create(1, 9223372036854775807 AS int), 1 as time);
|
||||
column_get(column_create(1, 9223372036854775807 AS int), 1 as time)
|
||||
NULL
|
||||
838:59:59
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '9223372036854775807'
|
||||
Warning 1292 Truncated incorrect time value: '9223372036854775807'
|
||||
select column_get(column_create(1, -9223372036854775808 AS int), 1 as time);
|
||||
column_get(column_create(1, -9223372036854775808 AS int), 1 as time)
|
||||
NULL
|
||||
-838:59:59
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '-9223372036854775808'
|
||||
Warning 1292 Truncated incorrect time value: '-9223372036854775808'
|
||||
select column_get(column_create(1, 99999999999999999999999999999 AS decimal(32,10)), 1 as time);
|
||||
column_get(column_create(1, 99999999999999999999999999999 AS decimal(32,10)), 1 as time)
|
||||
NULL
|
||||
838:59:59
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '99999999999999999999999999999'
|
||||
Warning 1292 Truncated incorrect time value: '99999999999999999999999999999'
|
||||
select column_get(column_create(1, 99999999999999999999999999999 AS double), 1 as time);
|
||||
column_get(column_create(1, 99999999999999999999999999999 AS double), 1 as time)
|
||||
NULL
|
||||
838:59:59
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '1e29'
|
||||
Warning 1292 Truncated incorrect time value: '1e29'
|
||||
select column_get(column_create(1, "2011-02-32 8:46:06.23434" AS CHAR), 1 as time);
|
||||
column_get(column_create(1, "2011-02-32 8:46:06.23434" AS CHAR), 1 as time)
|
||||
NULL
|
||||
|
@ -1435,6 +1435,17 @@ Warning 1265 Data truncated for column 'dyncol' at row 1
|
|||
SELECT COLUMN_ADD( dyncol, 'a', '22:22:22', 'c', REPEAT('x',270) AS CHAR ) FROM t1;
|
||||
DROP table t1;
|
||||
#
|
||||
# MDEV-4858 Wrong results for a huge unsigned value inserted into a TIME column
|
||||
#
|
||||
SELECT
|
||||
column_get(column_create(1, -999999999999999 AS int), 1 AS TIME) AS t1,
|
||||
column_get(column_create(1, -9223372036854775808 AS int), 1 AS TIME) AS t2;
|
||||
t1 t2
|
||||
-838:59:59 -838:59:59
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '-999999999999999'
|
||||
Warning 1292 Truncated incorrect time value: '-9223372036854775808'
|
||||
#
|
||||
# end of 5.3 tests
|
||||
#
|
||||
select column_get(column_create(1, "18446744073709552001" as char), 1 as int);
|
||||
|
|
|
@ -1091,9 +1091,9 @@ NULL
|
|||
select isnull(week(now() + 0)), isnull(week(now() + 0.2)),
|
||||
week(20061108), week(20061108.01), week(20061108085411.000002);
|
||||
isnull(week(now() + 0)) isnull(week(now() + 0.2)) week(20061108) week(20061108.01) week(20061108085411.000002)
|
||||
0 0 45 NULL 45
|
||||
0 0 45 45 45
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '20061108.01'
|
||||
Warning 1292 Truncated incorrect datetime value: '20061108.01'
|
||||
End of 4.1 tests
|
||||
select time_format('100:00:00', '%H %k %h %I %l');
|
||||
time_format('100:00:00', '%H %k %h %I %l')
|
||||
|
@ -2483,6 +2483,14 @@ SELECT 1 FROM t1 GROUP BY MONTHNAME(0) WITH ROLLUP;
|
|||
1
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-6099 Bad results for DATE_ADD(.., INTERVAL 2000000000000000000.0 SECOND)
|
||||
#
|
||||
SELECT DATE_ADD('2001-01-01 10:20:30',INTERVAL 250000000000.0 SECOND) AS c1, DATE_ADD('2001-01-01 10:20:30',INTERVAL 2000000000000000000.0 SECOND) AS c2;
|
||||
c1 c2
|
||||
9923-03-10 22:47:10.0 NULL
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: '2000000000000000000.0'
|
||||
#
|
||||
# MDEV-4838 Wrong metadata for DATE_ADD('string', INVERVAL)
|
||||
#
|
||||
SELECT DATE_ADD('2011-01-02 12:13:14', INTERVAL 1 MINUTE);
|
||||
|
|
|
@ -520,3 +520,15 @@ LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug11735141.txt' INTO TABLE t1;
|
|||
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
|
||||
drop table t1;
|
||||
End of 5.1 tests
|
||||
#
|
||||
# Bug#11759519 INFINITE HANG WITH 100% CPU USAGE WITH LOAD DATA LOCAL AND IMPORT ERRORS
|
||||
#
|
||||
SET @old_mode= @@sql_mode;
|
||||
CREATE TABLE t1 (fld1 INT);
|
||||
SET sql_mode='strict_all_tables';
|
||||
# Without fix, load data hangs forever.
|
||||
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/mysql' REPLACE INTO TABLE t1
|
||||
FIELDS TERMINATED BY 't' LINES TERMINATED BY '';
|
||||
Got one of the listed errors
|
||||
SET @@sql_mode= @old_mode;
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -150,6 +150,60 @@ CHECK TABLE t1;
|
|||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
DROP TABLE t1;
|
||||
create table `t1` (`id` varchar(15) DEFAULT NULL) ENGINE=MyISAM ROW_FORMAT=FIXED;
|
||||
insert into t1 values ('aaa'),('bbb'),('ccc'),('ddd'),('eee');
|
||||
insert into t1 (select * from t1);
|
||||
insert into t1 (select * from t1);
|
||||
insert into t1 (select * from t1);
|
||||
insert into t1 (select * from t1);
|
||||
checksum table t1;
|
||||
Table Checksum
|
||||
test.t1 2696656816
|
||||
insert into t1 values(NULL);
|
||||
checksum table t1;
|
||||
Table Checksum
|
||||
test.t1 2679879600
|
||||
flush table t1;
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
checksum table t1;
|
||||
Table Checksum
|
||||
test.t1 2679879600
|
||||
alter table t1 checksum=1 row_format=fixed;
|
||||
checksum table t1;
|
||||
Table Checksum
|
||||
test.t1 2679879600
|
||||
flush table t1;
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
checksum table t1;
|
||||
Table Checksum
|
||||
test.t1 2679879600
|
||||
alter table t1 row_format=dynamic checksum=0;
|
||||
checksum table t1;
|
||||
Table Checksum
|
||||
test.t1 2330021136
|
||||
flush table t1;
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
checksum table t1;
|
||||
Table Checksum
|
||||
test.t1 2330021136
|
||||
alter table t1 checksum=1 row_format=dynamic;
|
||||
checksum table t1;
|
||||
Table Checksum
|
||||
test.t1 2330021136
|
||||
flush table t1;
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
checksum table t1;
|
||||
Table Checksum
|
||||
test.t1 2330021136
|
||||
drop table t1;
|
||||
#
|
||||
# BUG#11751736: DROP DATABASE STATEMENT SHOULD REMOVE .OLD SUFFIX FROM
|
||||
# DATABASE DIRECTORY
|
||||
|
|
|
@ -147,6 +147,14 @@ SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
|
|||
a b c
|
||||
1 ABC-АБВ DEF-ÂÃÄ
|
||||
2 NULL NULL
|
||||
SELECT * FROM t1;
|
||||
a b c
|
||||
1 ABC-АБВ DEF-ÂÃÄ
|
||||
2 NULL NULL
|
||||
SELECT * FROM t2;
|
||||
a b c
|
||||
1 ABC-АБВ DEF-ÂÃÄ
|
||||
2 NULL NULL
|
||||
SELECT * FROM t1 INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' LINES STARTING BY 'ъ';
|
||||
Warnings:
|
||||
Warning 1638 Non-ASCII separator arguments are not fully supported
|
||||
|
@ -175,6 +183,14 @@ SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
|
|||
a b c
|
||||
1 ABC-АБВ DEF-ÂÃÄ
|
||||
2 NULL NULL
|
||||
SELECT * FROM t1;
|
||||
a b c
|
||||
1 ABC-АБВ DEF-ÂÃÄ
|
||||
2 NULL NULL
|
||||
SELECT * FROM t2;
|
||||
a b c
|
||||
1 ABC-АБВ DEF-ÂÃÄ
|
||||
2 NULL NULL
|
||||
# Default (binary) charset:
|
||||
SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' FROM t1;
|
||||
##################################################
|
||||
|
|
|
@ -3301,3 +3301,55 @@ explain partitions select * from t1 where a between 10 and 10+33;
|
|||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 p0,p1,p2 ALL NULL NULL NULL NULL 100 Using where
|
||||
drop table t0, t1;
|
||||
#
|
||||
# MDEV-6239: Partition pruning is not working as expected in an inner query
|
||||
#
|
||||
create table t1
|
||||
(
|
||||
company_id bigint(5),
|
||||
dept_id bigint(5),
|
||||
emp_id bigint(5),
|
||||
emp_name varchar(100),
|
||||
primary key (company_id, emp_id)
|
||||
) partition by list (company_id) (
|
||||
partition p_1000 values in (1000),
|
||||
partition p_2000 values in (2000),
|
||||
partition p_3000 values in (3000)
|
||||
);
|
||||
create table t2
|
||||
(
|
||||
company_id bigint(5),
|
||||
dept_id bigint(5),
|
||||
dept_name varchar(100),
|
||||
primary key (company_id, dept_id)
|
||||
) partition by list (company_id) (
|
||||
partition p_1000 values in (1000),
|
||||
partition p_2000 values in (2000),
|
||||
partition p_3000 values in (3000)
|
||||
);
|
||||
insert into t2 values
|
||||
(1000, 10, 'Engineering'),
|
||||
(1000, 20, 'Product Management'),
|
||||
(1000, 30, 'QA'),
|
||||
(2000, 40, 'Support'),
|
||||
(2000, 50, 'Professional Services');
|
||||
insert into t1 values
|
||||
(1000, 10, 1, 'John'),
|
||||
(1000, 10, 2, 'Smith'),
|
||||
(1000, 20, 3, 'Jacob'),
|
||||
(1000, 20, 4, 'Brian'),
|
||||
(1000, 30, 5, 'Chris'),
|
||||
(1000, 30, 6, 'Ryan'),
|
||||
(2000, 40, 7, 'Karin'),
|
||||
(2000, 40, 8, 'Jay'),
|
||||
(2000, 50, 9, 'Ana'),
|
||||
(2000, 50, 10, 'Jessica');
|
||||
# Table t2 should have only partition p_1000.
|
||||
explain partitions
|
||||
select * from t1
|
||||
where company_id = 1000
|
||||
and dept_id in (select dept_id from t2 where COMPANY_ID = 1000);
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t2 p_1000 ref PRIMARY PRIMARY 8 const 2 Using index
|
||||
1 PRIMARY t1 p_1000 ALL PRIMARY NULL NULL NULL 6 Using where; Using join buffer (flat, BNL join)
|
||||
drop table t1,t2;
|
||||
|
|
|
@ -2047,6 +2047,60 @@ f1 f2 f3 f4
|
|||
DROP TABLE t1;
|
||||
DROP VIEW v3;
|
||||
#
|
||||
# MDEV-6105: Emoji unicode character string search query makes mariadb performance down
|
||||
#
|
||||
SET NAMES utf8;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.t1'
|
||||
CREATE TABLE t1(
|
||||
id int AUTO_INCREMENT,
|
||||
fd varchar(20),
|
||||
primary key(id),
|
||||
index ix_fd(fd)
|
||||
)engine=innodb default charset=UTF8;
|
||||
INSERT INTO t1(id, fd) VALUES (null, ''),(null, 'matt'),(null, 'pitt'),(null, 'lee'),(null, 'kim');
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
# The following should show "Impossible WHERE" :
|
||||
explain
|
||||
SELECT * FROM t1 WHERE fd='😁';
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
Warnings:
|
||||
Warning 1366 Incorrect string value: '\xF0\x9F\x98\x81' for column 'fd' at row 1
|
||||
SELECT * FROM t1 WHERE fd='😁';
|
||||
id fd
|
||||
Warnings:
|
||||
Warning 1366 Incorrect string value: '\xF0\x9F\x98\x81' for column 'fd' at row 1
|
||||
# The following must not use range access:
|
||||
explain select count(*) from t1 where fd <'😁';
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index ix_fd ix_fd 63 NULL # Using where; Using index
|
||||
Warnings:
|
||||
Warning 1366 Incorrect string value: '\xF0\x9F\x98\x81' for column 'fd' at row 1
|
||||
select count(*) from t1 where fd <'😁';
|
||||
count(*)
|
||||
40960
|
||||
Warnings:
|
||||
Warning 1366 Incorrect string value: '\xF0\x9F\x98\x81' for column 'fd' at row 1
|
||||
select count(*) from t1 ignore index (ix_fd) where fd <'😁';
|
||||
count(*)
|
||||
40960
|
||||
drop table t1;
|
||||
set names default;
|
||||
#
|
||||
# BUG#13731380: RANGE OPTIMIZER CALLS RECORDS_IN_RANGE() FOR OPEN RANGE
|
||||
#
|
||||
CREATE TABLE t1 (pk INT PRIMARY KEY);
|
||||
|
|
|
@ -2049,6 +2049,60 @@ f1 f2 f3 f4
|
|||
DROP TABLE t1;
|
||||
DROP VIEW v3;
|
||||
#
|
||||
# MDEV-6105: Emoji unicode character string search query makes mariadb performance down
|
||||
#
|
||||
SET NAMES utf8;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.t1'
|
||||
CREATE TABLE t1(
|
||||
id int AUTO_INCREMENT,
|
||||
fd varchar(20),
|
||||
primary key(id),
|
||||
index ix_fd(fd)
|
||||
)engine=innodb default charset=UTF8;
|
||||
INSERT INTO t1(id, fd) VALUES (null, ''),(null, 'matt'),(null, 'pitt'),(null, 'lee'),(null, 'kim');
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
# The following should show "Impossible WHERE" :
|
||||
explain
|
||||
SELECT * FROM t1 WHERE fd='😁';
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
Warnings:
|
||||
Warning 1366 Incorrect string value: '\xF0\x9F\x98\x81' for column 'fd' at row 1
|
||||
SELECT * FROM t1 WHERE fd='😁';
|
||||
id fd
|
||||
Warnings:
|
||||
Warning 1366 Incorrect string value: '\xF0\x9F\x98\x81' for column 'fd' at row 1
|
||||
# The following must not use range access:
|
||||
explain select count(*) from t1 where fd <'😁';
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index ix_fd ix_fd 63 NULL # Using where; Using index
|
||||
Warnings:
|
||||
Warning 1366 Incorrect string value: '\xF0\x9F\x98\x81' for column 'fd' at row 1
|
||||
select count(*) from t1 where fd <'😁';
|
||||
count(*)
|
||||
40960
|
||||
Warnings:
|
||||
Warning 1366 Incorrect string value: '\xF0\x9F\x98\x81' for column 'fd' at row 1
|
||||
select count(*) from t1 ignore index (ix_fd) where fd <'😁';
|
||||
count(*)
|
||||
40960
|
||||
drop table t1;
|
||||
set names default;
|
||||
#
|
||||
# BUG#13731380: RANGE OPTIMIZER CALLS RECORDS_IN_RANGE() FOR OPEN RANGE
|
||||
#
|
||||
CREATE TABLE t1 (pk INT PRIMARY KEY);
|
||||
|
|
|
@ -1148,5 +1148,35 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||
1 PRIMARY t3 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
|
||||
1 PRIMARY t4 index NULL PRIMARY 59 NULL 2 Using where; Using index; End temporary
|
||||
DROP TABLE t1,t2,t3,t4;
|
||||
#
|
||||
# MDEV-6263: Wrong result when using IN subquery with order by
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
id int(11) NOT NULL,
|
||||
nombre varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
INSERT INTO t1 (id, nombre) VALUES
|
||||
(1, 'row 1'),(2, 'row 2'),(3, 'row 3'),
|
||||
(4, 'row 4'),(5, 'row 5'),(6, 'row 6');
|
||||
CREATE TABLE t2 (
|
||||
id_algo int(11) NOT NULL,
|
||||
id_agente int(11) NOT NULL,
|
||||
PRIMARY KEY (id_algo,id_agente),
|
||||
KEY another_data (id_agente)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
INSERT INTO t2 (id_algo, id_agente) VALUES
|
||||
(1, 1),(1, 2),(2, 1),(2, 2),(2, 3),(3, 1);
|
||||
SELECT * FROM t1 WHERE id in (select distinct id_agente from t2) ORDER BY nombre ASC;
|
||||
id nombre
|
||||
1 row 1
|
||||
2 row 2
|
||||
3 row 3
|
||||
SELECT * FROM t1 WHERE id in (select distinct id_agente from t2);
|
||||
id nombre
|
||||
1 row 1
|
||||
2 row 2
|
||||
3 row 3
|
||||
DROP TABLE t1, t2;
|
||||
# This must be the last in the file:
|
||||
set optimizer_switch=@subselect_sj2_tmp;
|
||||
|
|
|
@ -1163,6 +1163,36 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||
1 PRIMARY t3 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (incremental, BNL join)
|
||||
1 PRIMARY t4 hash_index NULL #hash#$hj:PRIMARY 55:59 test.t3.t3_c 2 Using where; End temporary; Using join buffer (incremental, BNLH join)
|
||||
DROP TABLE t1,t2,t3,t4;
|
||||
#
|
||||
# MDEV-6263: Wrong result when using IN subquery with order by
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
id int(11) NOT NULL,
|
||||
nombre varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
INSERT INTO t1 (id, nombre) VALUES
|
||||
(1, 'row 1'),(2, 'row 2'),(3, 'row 3'),
|
||||
(4, 'row 4'),(5, 'row 5'),(6, 'row 6');
|
||||
CREATE TABLE t2 (
|
||||
id_algo int(11) NOT NULL,
|
||||
id_agente int(11) NOT NULL,
|
||||
PRIMARY KEY (id_algo,id_agente),
|
||||
KEY another_data (id_agente)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
INSERT INTO t2 (id_algo, id_agente) VALUES
|
||||
(1, 1),(1, 2),(2, 1),(2, 2),(2, 3),(3, 1);
|
||||
SELECT * FROM t1 WHERE id in (select distinct id_agente from t2) ORDER BY nombre ASC;
|
||||
id nombre
|
||||
1 row 1
|
||||
2 row 2
|
||||
3 row 3
|
||||
SELECT * FROM t1 WHERE id in (select distinct id_agente from t2);
|
||||
id nombre
|
||||
1 row 1
|
||||
2 row 2
|
||||
3 row 3
|
||||
DROP TABLE t1, t2;
|
||||
# This must be the last in the file:
|
||||
set optimizer_switch=@subselect_sj2_tmp;
|
||||
#
|
||||
|
|
|
@ -1150,6 +1150,36 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||
1 PRIMARY t3 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
|
||||
1 PRIMARY t4 index NULL PRIMARY 59 NULL 2 Using where; Using index; End temporary
|
||||
DROP TABLE t1,t2,t3,t4;
|
||||
#
|
||||
# MDEV-6263: Wrong result when using IN subquery with order by
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
id int(11) NOT NULL,
|
||||
nombre varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
INSERT INTO t1 (id, nombre) VALUES
|
||||
(1, 'row 1'),(2, 'row 2'),(3, 'row 3'),
|
||||
(4, 'row 4'),(5, 'row 5'),(6, 'row 6');
|
||||
CREATE TABLE t2 (
|
||||
id_algo int(11) NOT NULL,
|
||||
id_agente int(11) NOT NULL,
|
||||
PRIMARY KEY (id_algo,id_agente),
|
||||
KEY another_data (id_agente)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
INSERT INTO t2 (id_algo, id_agente) VALUES
|
||||
(1, 1),(1, 2),(2, 1),(2, 2),(2, 3),(3, 1);
|
||||
SELECT * FROM t1 WHERE id in (select distinct id_agente from t2) ORDER BY nombre ASC;
|
||||
id nombre
|
||||
1 row 1
|
||||
2 row 2
|
||||
3 row 3
|
||||
SELECT * FROM t1 WHERE id in (select distinct id_agente from t2);
|
||||
id nombre
|
||||
1 row 1
|
||||
2 row 2
|
||||
3 row 3
|
||||
DROP TABLE t1, t2;
|
||||
# This must be the last in the file:
|
||||
set optimizer_switch=@subselect_sj2_tmp;
|
||||
set optimizer_switch=default;
|
||||
|
|
|
@ -722,6 +722,15 @@ dt
|
|||
2013-09-21 08:20:30
|
||||
drop procedure test5041;
|
||||
SET @@timestamp=DEFAULT;
|
||||
#
|
||||
# MDEV-6097 Inconsistent results for CAST(int,decimal,double AS DATETIME)
|
||||
#
|
||||
SELECT
|
||||
CAST(010203101112 AS DATETIME(1)) AS c1,
|
||||
CAST(010203101112.2 AS DATETIME(1)) AS c2,
|
||||
CAST(010203101112.2+0e0 AS DATETIME(1)) AS c3;
|
||||
c1 c2 c3
|
||||
2001-02-03 10:11:12.0 2001-02-03 10:11:12.2 2001-02-03 10:11:12.2
|
||||
End of 5.3 tests
|
||||
#
|
||||
# Start of 5.5 tests
|
||||
|
|
|
@ -301,6 +301,34 @@ Field Type Null Key Default Extra
|
|||
MAX(t1)+1 decimal(22,1) YES NULL
|
||||
DROP TABLE t2,t1;
|
||||
#
|
||||
# MDEV-4858 Wrong results for a huge unsigned value inserted into a TIME column
|
||||
#
|
||||
SET sql_mode=traditional;
|
||||
CREATE TABLE t1 (a TIME(6));
|
||||
INSERT INTO t1 VALUES (CAST(0xFFFFFFFF00000000 AS UNSIGNED));
|
||||
ERROR 22007: Incorrect time value: '18446744069414584320' for column 'a' at row 1
|
||||
SET sql_mode=DEFAULT;
|
||||
INSERT INTO t1 VALUES (CAST(0xFFFFFFFF00000000 AS UNSIGNED));
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'a' at row 1
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
838:59:59.999999
|
||||
DROP TABLE t1;
|
||||
SELECT TIME'00:00:00'> CAST(0xFFFFFFFF00000000 AS UNSIGNED);
|
||||
TIME'00:00:00'> CAST(0xFFFFFFFF00000000 AS UNSIGNED)
|
||||
0
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '18446744069414584320'
|
||||
#
|
||||
# MDEV-6100 No warning on CAST(9000000 AS TIME)
|
||||
#
|
||||
SELECT CAST(9000000 AS TIME);
|
||||
CAST(9000000 AS TIME)
|
||||
838:59:59
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '9000000'
|
||||
#
|
||||
# End of 5.3 tests
|
||||
#
|
||||
CREATE TABLE t1 (f1 TIME);
|
||||
|
|
|
@ -17,46 +17,46 @@ Warnings:
|
|||
Note 1265 Data truncated for column 'a' at row 1
|
||||
insert t1 values (99991231235959e1);
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'a' at row 1
|
||||
Warning 1264 Out of range value for column 'a' at row 1
|
||||
select * from t1;
|
||||
a
|
||||
00:00:00.000
|
||||
00:20:03.123
|
||||
01:02:03.456
|
||||
03:04:05.789
|
||||
15:47:11.123
|
||||
838:59:59.999
|
||||
select truncate(a, 6) from t1;
|
||||
truncate(a, 6)
|
||||
0.000000
|
||||
2003.123000
|
||||
10203.456000
|
||||
30405.789062
|
||||
154711.123000
|
||||
8385959.999000
|
||||
select a DIV 1 from t1;
|
||||
a DIV 1
|
||||
0
|
||||
2003
|
||||
10203
|
||||
30405
|
||||
154711
|
||||
8385959
|
||||
select group_concat(distinct a) from t1;
|
||||
group_concat(distinct a)
|
||||
00:00:00.000,00:20:03.123,01:02:03.456,03:04:05.789,15:47:11.123
|
||||
00:20:03.123,01:02:03.456,03:04:05.789,15:47:11.123,838:59:59.999
|
||||
alter table t1 engine=innodb;
|
||||
select * from t1 order by a;
|
||||
a
|
||||
00:00:00.000
|
||||
00:20:03.123
|
||||
01:02:03.456
|
||||
03:04:05.789
|
||||
15:47:11.123
|
||||
838:59:59.999
|
||||
select * from t1 order by a+0;
|
||||
a
|
||||
00:00:00.000
|
||||
00:20:03.123
|
||||
01:02:03.456
|
||||
03:04:05.789
|
||||
15:47:11.123
|
||||
838:59:59.999
|
||||
drop table t1;
|
||||
create table t1 (a time(4)) engine=innodb;
|
||||
insert t1 values ('2010-12-11 01:02:03.456789');
|
||||
|
|
|
@ -1876,8 +1876,8 @@ SELECT(SELECT 1 AS a FROM dual ORDER BY a DESC LIMIT 1) AS dev;
|
|||
dev
|
||||
1
|
||||
#
|
||||
# LP bug#1010729: Unexpected syntax error from UNION
|
||||
# (bug #54382) with single-table join nest
|
||||
# lp:1010729: Unexpected syntax error from UNION
|
||||
# (bug #54382) with single-table join nest
|
||||
#
|
||||
CREATE TABLE t1 (a int);
|
||||
CREATE TABLE t2 (b int);
|
||||
|
@ -1892,3 +1892,12 @@ UNION
|
|||
SELECT t1.pk FROM t1 LEFT JOIN (t2) ON (t1.pk = t2.fk);
|
||||
pk
|
||||
DROP TABLE t1,t2;
|
||||
create table t1 (a int);
|
||||
insert t1 values (1),(2),(3),(1);
|
||||
explain select 1 from dual where exists (select max(a) from t1 group by a union select a+2 from t1);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||
2 SUBQUERY t1 ALL NULL NULL NULL NULL 4 Using temporary; Using filesort
|
||||
3 UNION t1 ALL NULL NULL NULL NULL 4
|
||||
NULL UNION RESULT <union2,3> ALL NULL NULL NULL NULL NULL
|
||||
drop table t1;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
drop table if exists t1,t2,t3,t4,t9,`t1a``b`,v1,v2,v3,v4,v5,v6;
|
||||
drop view if exists t1,t2,`t1a``b`,v1,v2,v3,v4,v5,v6;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t9,`t1a``b`,v1,v2,v3,v4,v5,v6;
|
||||
drop view if exists t1,t2,t3,t4,t5,t6,t9,`t1a``b`,v1,v2,v3,v4,v5,v6;
|
||||
drop database if exists mysqltest;
|
||||
use test;
|
||||
SET @save_optimizer_switch=@@optimizer_switch;
|
||||
|
@ -4114,6 +4114,114 @@ a
|
|||
20
|
||||
DROP VIEW v1,v2,v3;
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
# MDEV-6251: SIGSEGV in query optimizer (in set_check_materialized
|
||||
# with MERGE view)
|
||||
#
|
||||
CREATE TABLE t1 (a1 INT(11) NOT NULL DEFAULT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
CREATE TABLE t2 (b1 INT(11) NOT NULL DEFAULT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
CREATE TABLE t3 (c1 INT(11) NOT NULL DEFAULT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
CREATE TABLE t4 (d1 INT(11) NOT NULL DEFAULT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
CREATE TABLE t5 (e1 INT(11) NOT NULL DEFAULT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
CREATE TABLE t6 (f1 INT(11) NOT NULL DEFAULT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
CREATE OR REPLACE view v1 AS
|
||||
SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
;
|
||||
SELECT 1
|
||||
FROM (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t1)
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t2) ON 1=1
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t3) ON 1=1
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t4) ON 1=1
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t5) ON 1=1
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t6) ON 1=1
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t7) ON 1=1
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t8) ON 1=1
|
||||
;
|
||||
1
|
||||
SELECT 1
|
||||
FROM (v1 t1)
|
||||
LEFT OUTER JOIN (v1 t2) ON 1=1
|
||||
LEFT OUTER JOIN (v1 t3) ON 1=1
|
||||
LEFT OUTER JOIN (v1 t4) ON 1=1
|
||||
LEFT OUTER JOIN (v1 t5) ON 1=1
|
||||
LEFT OUTER JOIN (v1 t6) ON 1=1
|
||||
LEFT OUTER JOIN (v1 t7) ON 1=1
|
||||
LEFT OUTER JOIN (v1 t8) ON 1=1
|
||||
;
|
||||
1
|
||||
drop view v1;
|
||||
drop table t1,t2,t3,t4,t5,t6;
|
||||
# -----------------------------------------------------------------
|
||||
# -- End of 5.2 tests.
|
||||
# -----------------------------------------------------------------
|
||||
|
@ -5052,6 +5160,114 @@ execute stmt1;
|
|||
deallocate prepare stmt1;
|
||||
drop view v1,v2;
|
||||
drop table t1,t2;
|
||||
#
|
||||
# MDEV-6251: SIGSEGV in query optimizer (in set_check_materialized
|
||||
# with MERGE view)
|
||||
#
|
||||
CREATE TABLE t1 (a1 INT(11) NOT NULL DEFAULT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
CREATE TABLE t2 (b1 INT(11) NOT NULL DEFAULT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
CREATE TABLE t3 (c1 INT(11) NOT NULL DEFAULT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
CREATE TABLE t4 (d1 INT(11) NOT NULL DEFAULT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
CREATE TABLE t5 (e1 INT(11) NOT NULL DEFAULT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
CREATE TABLE t6 (f1 INT(11) NOT NULL DEFAULT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
CREATE OR REPLACE view v1 AS
|
||||
SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
;
|
||||
SELECT 1
|
||||
FROM (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t1)
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t2) ON 1=1
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t3) ON 1=1
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t4) ON 1=1
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t5) ON 1=1
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t6) ON 1=1
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t7) ON 1=1
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t8) ON 1=1
|
||||
;
|
||||
1
|
||||
SELECT 1
|
||||
FROM (v1 t1)
|
||||
LEFT OUTER JOIN (v1 t2) ON 1=1
|
||||
LEFT OUTER JOIN (v1 t3) ON 1=1
|
||||
LEFT OUTER JOIN (v1 t4) ON 1=1
|
||||
LEFT OUTER JOIN (v1 t5) ON 1=1
|
||||
LEFT OUTER JOIN (v1 t6) ON 1=1
|
||||
LEFT OUTER JOIN (v1 t7) ON 1=1
|
||||
LEFT OUTER JOIN (v1 t8) ON 1=1
|
||||
;
|
||||
1
|
||||
drop view v1;
|
||||
drop table t1,t2,t3,t4,t5,t6;
|
||||
# -----------------------------------------------------------------
|
||||
# -- End of 5.3 tests.
|
||||
# -----------------------------------------------------------------
|
||||
|
|
38
mysql-test/suite/binlog/r/binlog_truncate_kill.result
Normal file
38
mysql-test/suite/binlog/r/binlog_truncate_kill.result
Normal file
|
@ -0,0 +1,38 @@
|
|||
RESET MASTER;
|
||||
connection default;
|
||||
CREATE TABLE t1(id INT AUTO_INCREMENT PRIMARY KEY, a INT, b INT) ENGINE=INNODB;
|
||||
INSERT INTO t1(a, b) VALUES(1,2),(2,4),(3,6),(4,8),(5,10);
|
||||
SET DEBUG_SYNC = "open_and_process_table signal truncate_before_lock wait_for forever";
|
||||
TRUNCATE t1;
|
||||
connect con1,localhost,root,,;
|
||||
SET DEBUG_SYNC = "now wait_for truncate_before_lock";
|
||||
SELECT ((@id := id) - id) FROM information_schema.processlist WHERE processlist.info LIKE '%TRUNCATE t1%' AND state LIKE '%open_and_process_table%';
|
||||
((@id := id) - id)
|
||||
0
|
||||
KILL QUERY @id;
|
||||
connection default;
|
||||
ERROR 70100: Query execution was interrupted
|
||||
connection con1;
|
||||
include/show_binlog_events.inc
|
||||
connection con1;
|
||||
connection con1;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Gtid # # GTID #-#-#
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE t1(id INT AUTO_INCREMENT PRIMARY KEY, a INT, b INT) ENGINE=INNODB
|
||||
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
|
||||
master-bin.000001 # Intvar # # INSERT_ID=1
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1(a, b) VALUES(1,2),(2,4),(3,6),(4,8),(5,10)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
connection con1;
|
||||
connection con1;
|
||||
disconnect con1;
|
||||
connection default;
|
||||
SELECT * FROM t1;
|
||||
id a b
|
||||
1 1 2
|
||||
2 2 4
|
||||
3 3 6
|
||||
4 4 8
|
||||
5 5 10
|
||||
DROP TABLE t1;
|
||||
SET DEBUG_SYNC= 'RESET';
|
57
mysql-test/suite/binlog/t/binlog_truncate_kill.test
Normal file
57
mysql-test/suite/binlog/t/binlog_truncate_kill.test
Normal file
|
@ -0,0 +1,57 @@
|
|||
###############################################################################
|
||||
# Bug#17942050:KILL OF TRUNCATE TABLE WILL LEAD TO BINARY LOG WRITTEN WHILE
|
||||
# ROWS REMAINS
|
||||
#
|
||||
# Problem:
|
||||
# ========
|
||||
# When truncate table fails while using transactional based engines even
|
||||
# though the operation errors out we still continue and log it to binlog.
|
||||
# Because of this master has data but the truncate will be written to binary
|
||||
# log which will cause inconsistency.
|
||||
#
|
||||
# Test:
|
||||
# =====
|
||||
# Make master to wait in "open_table" call during the execution of truncate
|
||||
# table command and kill the truncate table from other connection. This causes
|
||||
# open table to return an error saying truncate failed during open table. This
|
||||
# statement should not be binlogged.
|
||||
###############################################################################
|
||||
--source include/have_innodb.inc
|
||||
--source include/have_debug_sync.inc
|
||||
--source include/have_binlog_format_statement.inc
|
||||
RESET MASTER;
|
||||
--enable_connect_log
|
||||
--connection default
|
||||
CREATE TABLE t1(id INT AUTO_INCREMENT PRIMARY KEY, a INT, b INT) ENGINE=INNODB;
|
||||
INSERT INTO t1(a, b) VALUES(1,2),(2,4),(3,6),(4,8),(5,10);
|
||||
SET DEBUG_SYNC = "open_and_process_table signal truncate_before_lock wait_for forever";
|
||||
--send TRUNCATE t1
|
||||
|
||||
connect(con1,localhost,root,,);
|
||||
SET DEBUG_SYNC = "now wait_for truncate_before_lock";
|
||||
# Wait for one connection to reach open_and_process_table.
|
||||
--let $show_statement= SHOW PROCESSLIST
|
||||
--let $field= State
|
||||
--let $condition= 'debug sync point: open_and_process_table';
|
||||
--source include/wait_show_condition.inc
|
||||
|
||||
SELECT ((@id := id) - id) FROM information_schema.processlist WHERE processlist.info LIKE '%TRUNCATE t1%' AND state LIKE '%open_and_process_table%';
|
||||
# Test killing from mysql server
|
||||
KILL QUERY @id;
|
||||
|
||||
connection default;
|
||||
--ERROR ER_QUERY_INTERRUPTED
|
||||
--reap
|
||||
|
||||
connection con1;
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
disconnect con1;
|
||||
--source include/wait_until_disconnected.inc
|
||||
connection default;
|
||||
|
||||
SELECT * FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
SET DEBUG_SYNC= 'RESET';
|
||||
--disable_connect_log
|
|
@ -3695,14 +3695,14 @@ my_double, id FROM t1_values
|
|||
WHERE select_id = 53 OR select_id IS NULL order by id;
|
||||
CAST(my_double AS TIME) my_double id
|
||||
NULL NULL 1
|
||||
NULL -1.7976931348623e308 2
|
||||
NULL 1.7976931348623e308 3
|
||||
-838:59:59 -1.7976931348623e308 2
|
||||
838:59:59 1.7976931348623e308 3
|
||||
00:00:00 0 4
|
||||
-00:00:01 -1 5
|
||||
00:17:58 1758 25
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '-1.7976931348623e308' for column 'my_double' at row 2
|
||||
Warning 1292 Incorrect datetime value: '1.7976931348623e308' for column 'my_double' at row 3
|
||||
Warning 1292 Incorrect time value: '-1.7976931348623e308' for column 'my_double' at row 2
|
||||
Warning 1292 Incorrect time value: '1.7976931348623e308' for column 'my_double' at row 3
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_double` as time) AS `CAST(my_double AS TIME)`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
|
@ -3711,14 +3711,14 @@ WHERE v1.id IN (SELECT id FROM t1_values
|
|||
WHERE select_id = 53 OR select_id IS NULL) order by id;
|
||||
CAST(my_double AS TIME) my_double id
|
||||
NULL NULL 1
|
||||
NULL -1.7976931348623e308 2
|
||||
NULL 1.7976931348623e308 3
|
||||
-838:59:59 -1.7976931348623e308 2
|
||||
838:59:59 1.7976931348623e308 3
|
||||
00:00:00 0 4
|
||||
-00:00:01 -1 5
|
||||
00:17:58 1758 25
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '-1.7976931348623e308' for column 'my_double' at row 1
|
||||
Warning 1292 Incorrect datetime value: '1.7976931348623e308' for column 'my_double' at row 1
|
||||
Warning 1292 Incorrect time value: '-1.7976931348623e308' for column 'my_double' at row 1
|
||||
Warning 1292 Incorrect time value: '1.7976931348623e308' for column 'my_double' at row 1
|
||||
DROP VIEW v1;
|
||||
|
||||
|
||||
|
|
|
@ -3696,14 +3696,14 @@ my_double, id FROM t1_values
|
|||
WHERE select_id = 53 OR select_id IS NULL order by id;
|
||||
CAST(my_double AS TIME) my_double id
|
||||
NULL NULL 1
|
||||
NULL -1.7976931348623e308 2
|
||||
NULL 1.7976931348623e308 3
|
||||
-838:59:59 -1.7976931348623e308 2
|
||||
838:59:59 1.7976931348623e308 3
|
||||
00:00:00 0 4
|
||||
-00:00:01 -1 5
|
||||
00:17:58 1758 25
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '-1.7976931348623e308' for column 'my_double' at row 2
|
||||
Warning 1292 Incorrect datetime value: '1.7976931348623e308' for column 'my_double' at row 3
|
||||
Warning 1292 Incorrect time value: '-1.7976931348623e308' for column 'my_double' at row 2
|
||||
Warning 1292 Incorrect time value: '1.7976931348623e308' for column 'my_double' at row 3
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_double` as time) AS `CAST(my_double AS TIME)`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
|
@ -3712,14 +3712,14 @@ WHERE v1.id IN (SELECT id FROM t1_values
|
|||
WHERE select_id = 53 OR select_id IS NULL) order by id;
|
||||
CAST(my_double AS TIME) my_double id
|
||||
NULL NULL 1
|
||||
NULL -1.7976931348623e308 2
|
||||
NULL 1.7976931348623e308 3
|
||||
-838:59:59 -1.7976931348623e308 2
|
||||
838:59:59 1.7976931348623e308 3
|
||||
00:00:00 0 4
|
||||
-00:00:01 -1 5
|
||||
00:17:58 1758 25
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '-1.7976931348623e308' for column 'my_double' at row 1
|
||||
Warning 1292 Incorrect datetime value: '1.7976931348623e308' for column 'my_double' at row 1
|
||||
Warning 1292 Incorrect time value: '-1.7976931348623e308' for column 'my_double' at row 1
|
||||
Warning 1292 Incorrect time value: '1.7976931348623e308' for column 'my_double' at row 1
|
||||
DROP VIEW v1;
|
||||
|
||||
|
||||
|
|
|
@ -3696,14 +3696,14 @@ my_double, id FROM t1_values
|
|||
WHERE select_id = 53 OR select_id IS NULL order by id;
|
||||
CAST(my_double AS TIME) my_double id
|
||||
NULL NULL 1
|
||||
NULL -1.7976931348623e308 2
|
||||
NULL 1.7976931348623e308 3
|
||||
-838:59:59 -1.7976931348623e308 2
|
||||
838:59:59 1.7976931348623e308 3
|
||||
00:00:00 0 4
|
||||
-00:00:01 -1 5
|
||||
00:17:58 1758 25
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '-1.7976931348623e308' for column 'my_double' at row 2
|
||||
Warning 1292 Incorrect datetime value: '1.7976931348623e308' for column 'my_double' at row 3
|
||||
Warning 1292 Incorrect time value: '-1.7976931348623e308' for column 'my_double' at row 2
|
||||
Warning 1292 Incorrect time value: '1.7976931348623e308' for column 'my_double' at row 3
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_double` as time) AS `CAST(my_double AS TIME)`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
|
@ -3712,14 +3712,14 @@ WHERE v1.id IN (SELECT id FROM t1_values
|
|||
WHERE select_id = 53 OR select_id IS NULL) order by id;
|
||||
CAST(my_double AS TIME) my_double id
|
||||
NULL NULL 1
|
||||
NULL -1.7976931348623e308 2
|
||||
NULL 1.7976931348623e308 3
|
||||
-838:59:59 -1.7976931348623e308 2
|
||||
838:59:59 1.7976931348623e308 3
|
||||
00:00:00 0 4
|
||||
-00:00:01 -1 5
|
||||
00:17:58 1758 25
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '-1.7976931348623e308' for column 'my_double' at row 1
|
||||
Warning 1292 Incorrect datetime value: '1.7976931348623e308' for column 'my_double' at row 1
|
||||
Warning 1292 Incorrect time value: '-1.7976931348623e308' for column 'my_double' at row 1
|
||||
Warning 1292 Incorrect time value: '1.7976931348623e308' for column 'my_double' at row 1
|
||||
DROP VIEW v1;
|
||||
|
||||
|
||||
|
|
12
mysql-test/suite/innodb/r/count_distinct.result
Normal file
12
mysql-test/suite/innodb/r/count_distinct.result
Normal file
|
@ -0,0 +1,12 @@
|
|||
CREATE TABLE t1 (
|
||||
id int NOT NULL AUTO_INCREMENT,
|
||||
a int NOT NULL,
|
||||
b int NOT NULL,
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE KEY ba (b, a)
|
||||
) ENGINE=InnoDB;
|
||||
INSERT INTO t1 (a, b) VALUES(1,101),(1,102),(1,103),(1,104),(1,105),(1,106),(1,107),(1,108),(1,109),(1,110);
|
||||
SELECT COUNT(DISTINCT b) FROM t1 WHERE a = 1;
|
||||
COUNT(DISTINCT b)
|
||||
10
|
||||
DROP TABLE t1;
|
15
mysql-test/suite/innodb/t/count_distinct.test
Normal file
15
mysql-test/suite/innodb/t/count_distinct.test
Normal file
|
@ -0,0 +1,15 @@
|
|||
--source include/have_innodb.inc
|
||||
|
||||
#
|
||||
# MDEV-4925 Wrong result - count(distinct), Using index for group-by (scanning)
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
id int NOT NULL AUTO_INCREMENT,
|
||||
a int NOT NULL,
|
||||
b int NOT NULL,
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE KEY ba (b, a)
|
||||
) ENGINE=InnoDB;
|
||||
INSERT INTO t1 (a, b) VALUES(1,101),(1,102),(1,103),(1,104),(1,105),(1,106),(1,107),(1,108),(1,109),(1,110);
|
||||
SELECT COUNT(DISTINCT b) FROM t1 WHERE a = 1;
|
||||
DROP TABLE t1;
|
28
mysql-test/suite/rpl/r/rpl_row_create_select.result
Normal file
28
mysql-test/suite/rpl/r/rpl_row_create_select.result
Normal file
|
@ -0,0 +1,28 @@
|
|||
include/master-slave.inc
|
||||
[connection master]
|
||||
#
|
||||
# BUG#17994219: CREATE TABLE .. SELECT PRODUCES INVALID STRUCTURE,
|
||||
# BREAKS RBR
|
||||
#
|
||||
#After the patch, the display width is set to a default
|
||||
#value of 21.
|
||||
CREATE TABLE t1 AS SELECT REPEAT('A', 1000) DIV 1 AS a;
|
||||
Warnings:
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` bigint(21) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
CREATE TABLE t2 AS SELECT CONVERT(REPEAT('A', 255) USING UCS2) DIV 1 AS a;
|
||||
Warnings:
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`a` bigint(21) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
#After the patch, no error is reported.
|
||||
DROP TABLE t1;
|
||||
DROP TABLE t2;
|
||||
include/rpl_end.inc
|
|
@ -363,12 +363,11 @@ let $result= query_get_value(SELECT ($rcvd_heartbeats_after - $rcvd_heartbeats_b
|
|||
--connection master
|
||||
DELETE FROM t1;
|
||||
DROP EVENT e1;
|
||||
--sync_slave_with_master
|
||||
--echo
|
||||
|
||||
|
||||
|
||||
# Check received heartbeat events while logs flushed on slave
|
||||
--sync_slave_with_master
|
||||
--echo *** Flush logs on slave ***
|
||||
STOP SLAVE;
|
||||
RESET SLAVE;
|
||||
|
|
28
mysql-test/suite/rpl/t/rpl_row_create_select.test
Normal file
28
mysql-test/suite/rpl/t/rpl_row_create_select.test
Normal file
|
@ -0,0 +1,28 @@
|
|||
# Testing table creations for row-based replication.
|
||||
|
||||
--source include/have_binlog_format_row.inc
|
||||
--source include/master-slave.inc
|
||||
|
||||
--echo #
|
||||
--echo # BUG#17994219: CREATE TABLE .. SELECT PRODUCES INVALID STRUCTURE,
|
||||
--echo # BREAKS RBR
|
||||
--echo #
|
||||
|
||||
connection master;
|
||||
--echo #After the patch, the display width is set to a default
|
||||
--echo #value of 21.
|
||||
CREATE TABLE t1 AS SELECT REPEAT('A', 1000) DIV 1 AS a;
|
||||
SHOW CREATE TABLE t1;
|
||||
|
||||
CREATE TABLE t2 AS SELECT CONVERT(REPEAT('A', 255) USING UCS2) DIV 1 AS a;
|
||||
SHOW CREATE TABLE t2;
|
||||
|
||||
--echo #After the patch, no error is reported.
|
||||
sync_slave_with_master;
|
||||
|
||||
connection master;
|
||||
DROP TABLE t1;
|
||||
DROP TABLE t2;
|
||||
|
||||
--source include/rpl_end.inc
|
||||
|
|
@ -465,6 +465,7 @@ drop table t1;
|
|||
#
|
||||
# MDEV-5012 Server crashes in Item_ref::real_item on EXPLAIN with select subqueries or views, constant table, derived_merge+derived_with_keys
|
||||
#
|
||||
set @save_derived_optimizer_switch_bug=@@optimizer_switch;
|
||||
SET optimizer_switch = 'derived_merge=on,derived_with_keys=on,in_to_exists=on';
|
||||
CREATE TABLE t1 (a INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (8);
|
||||
|
@ -473,5 +474,23 @@ INSERT INTO t2 VALUES (1),(7);
|
|||
EXPLAIN SELECT * FROM (SELECT * FROM t1) AS table1,
|
||||
(SELECT DISTINCT * FROM t2) AS table2 WHERE b = a AND a <> ANY (SELECT 9);
|
||||
DROP TABLE t1, t2;
|
||||
set optimizer_switch=@save_derived_optimizer_switch_bug;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-6163: Error while executing an update query that has the
|
||||
--echo # same table in a sub-query
|
||||
--echo #
|
||||
|
||||
set @save_derived_optimizer_switch_bug=@@optimizer_switch;
|
||||
SET optimizer_switch = 'derived_merge=on';
|
||||
create table t1 (balance float, accountId varchar(64), primary key (accountId));
|
||||
|
||||
insert into t1 (accountId,balance) values
|
||||
('dealer-1',199354.0),('dealer-2',0),('dealer-3',0),('dealer-5',0),('FINANCE',-200000),('OPERATOR',0);
|
||||
|
||||
update t1 set balance=(select sum(balance) from (SELECT balance FROM t1 where accountId like 'dealer%') AS copied) where accountId = 'OPERATOR';
|
||||
set optimizer_switch=@save_derived_optimizer_switch_bug;
|
||||
drop table t1;
|
||||
|
||||
|
||||
set optimizer_switch=@save_derived_optimizer_switch;
|
||||
|
|
|
@ -639,6 +639,13 @@ SELECT COLUMN_ADD( dyncol, 'a', '22:22:22', 'c', REPEAT('x',270) AS CHAR ) FROM
|
|||
|
||||
DROP table t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-4858 Wrong results for a huge unsigned value inserted into a TIME column
|
||||
--echo #
|
||||
SELECT
|
||||
column_get(column_create(1, -999999999999999 AS int), 1 AS TIME) AS t1,
|
||||
column_get(column_create(1, -9223372036854775808 AS int), 1 AS TIME) AS t2;
|
||||
|
||||
--echo #
|
||||
--echo # end of 5.3 tests
|
||||
--echo #
|
||||
|
|
|
@ -1521,6 +1521,11 @@ INSERT INTO t1 VALUES (1),(2);
|
|||
SELECT 1 FROM t1 GROUP BY MONTHNAME(0) WITH ROLLUP;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-6099 Bad results for DATE_ADD(.., INTERVAL 2000000000000000000.0 SECOND)
|
||||
--echo #
|
||||
SELECT DATE_ADD('2001-01-01 10:20:30',INTERVAL 250000000000.0 SECOND) AS c1, DATE_ADD('2001-01-01 10:20:30',INTERVAL 2000000000000000000.0 SECOND) AS c2;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-4838 Wrong metadata for DATE_ADD('string', INVERVAL)
|
||||
--echo #
|
||||
|
|
|
@ -637,3 +637,24 @@ create table t1(a point);
|
|||
drop table t1;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
||||
--echo #
|
||||
--echo # Bug#11759519 INFINITE HANG WITH 100% CPU USAGE WITH LOAD DATA LOCAL AND IMPORT ERRORS
|
||||
--echo #
|
||||
SET @old_mode= @@sql_mode;
|
||||
CREATE TABLE t1 (fld1 INT);
|
||||
--copy_file $EXE_MYSQL $MYSQLTEST_VARDIR/mysql
|
||||
|
||||
SET sql_mode='strict_all_tables';
|
||||
|
||||
--echo # Without fix, load data hangs forever.
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--error ER_TRUNCATED_WRONG_VALUE_FOR_FIELD,1000
|
||||
eval LOAD DATA LOCAL INFILE '$MYSQLTEST_VARDIR/mysql' REPLACE INTO TABLE t1
|
||||
FIELDS TERMINATED BY 't' LINES TERMINATED BY '';
|
||||
|
||||
SET @@sql_mode= @old_mode;
|
||||
|
||||
--remove_file $MYSQLTEST_VARDIR/mysql
|
||||
DROP TABLE t1;
|
||||
|
||||
|
|
|
@ -268,6 +268,53 @@ FLUSH TABLE t1;
|
|||
CHECK TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# MDEV-6245 Certain compressed tables with myisampack are corrupted by
|
||||
# "CHECK TABLE"
|
||||
#
|
||||
# Issue was that checksum failed for tables with NULL and VARCHAR fields
|
||||
#
|
||||
|
||||
create table `t1` (`id` varchar(15) DEFAULT NULL) ENGINE=MyISAM ROW_FORMAT=FIXED;
|
||||
insert into t1 values ('aaa'),('bbb'),('ccc'),('ddd'),('eee');
|
||||
insert into t1 (select * from t1);
|
||||
insert into t1 (select * from t1);
|
||||
insert into t1 (select * from t1);
|
||||
insert into t1 (select * from t1);
|
||||
checksum table t1;
|
||||
insert into t1 values(NULL);
|
||||
checksum table t1;
|
||||
flush table t1;
|
||||
--exec $MYISAMPACK -sf $MYSQLD_DATADIR/test/t1
|
||||
--exec $MYISAMCHK -srnq $MYSQLD_DATADIR/test/t1
|
||||
check table t1;
|
||||
checksum table t1;
|
||||
alter table t1 checksum=1 row_format=fixed;
|
||||
checksum table t1;
|
||||
flush table t1;
|
||||
--exec $MYISAMPACK -sf $MYSQLD_DATADIR/test/t1
|
||||
--exec $MYISAMCHK -srnq $MYSQLD_DATADIR/test/t1
|
||||
check table t1;
|
||||
checksum table t1;
|
||||
|
||||
# Testing with row_format=dynamic
|
||||
|
||||
alter table t1 row_format=dynamic checksum=0;
|
||||
checksum table t1;
|
||||
flush table t1;
|
||||
--exec $MYISAMPACK -sf $MYSQLD_DATADIR/test/t1
|
||||
--exec $MYISAMCHK -srnq $MYSQLD_DATADIR/test/t1
|
||||
check table t1;
|
||||
checksum table t1;
|
||||
alter table t1 checksum=1 row_format=dynamic;
|
||||
checksum table t1;
|
||||
flush table t1;
|
||||
--exec $MYISAMPACK -sf $MYSQLD_DATADIR/test/t1
|
||||
--exec $MYISAMCHK -srnq $MYSQLD_DATADIR/test/t1
|
||||
check table t1;
|
||||
checksum table t1;
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
--echo # BUG#11751736: DROP DATABASE STATEMENT SHOULD REMOVE .OLD SUFFIX FROM
|
||||
--echo # DATABASE DIRECTORY
|
||||
|
|
|
@ -169,6 +169,8 @@ TRUNCATE t2;
|
|||
--eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET binary FIELDS TERMINATED BY 'ъ'
|
||||
--remove_file $file
|
||||
SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
|
||||
SELECT * FROM t1;
|
||||
SELECT * FROM t2;
|
||||
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--eval SELECT * FROM t1 INTO OUTFILE '$file' LINES STARTING BY 'ъ'
|
||||
|
@ -191,6 +193,8 @@ TRUNCATE t2;
|
|||
--eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET binary LINES TERMINATED BY 'ъ'
|
||||
--remove_file $file
|
||||
SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
|
||||
SELECT * FROM t1;
|
||||
SELECT * FROM t2;
|
||||
|
||||
--echo # Default (binary) charset:
|
||||
|
||||
|
|
|
@ -1412,3 +1412,60 @@ explain partitions select * from t1 where a between 10 and 13;
|
|||
explain partitions select * from t1 where a between 10 and 10+33;
|
||||
|
||||
drop table t0, t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-6239: Partition pruning is not working as expected in an inner query
|
||||
--echo #
|
||||
|
||||
create table t1
|
||||
(
|
||||
company_id bigint(5),
|
||||
dept_id bigint(5),
|
||||
emp_id bigint(5),
|
||||
emp_name varchar(100),
|
||||
primary key (company_id, emp_id)
|
||||
) partition by list (company_id) (
|
||||
partition p_1000 values in (1000),
|
||||
partition p_2000 values in (2000),
|
||||
partition p_3000 values in (3000)
|
||||
);
|
||||
|
||||
create table t2
|
||||
(
|
||||
company_id bigint(5),
|
||||
dept_id bigint(5),
|
||||
dept_name varchar(100),
|
||||
primary key (company_id, dept_id)
|
||||
) partition by list (company_id) (
|
||||
partition p_1000 values in (1000),
|
||||
partition p_2000 values in (2000),
|
||||
partition p_3000 values in (3000)
|
||||
);
|
||||
|
||||
insert into t2 values
|
||||
(1000, 10, 'Engineering'),
|
||||
(1000, 20, 'Product Management'),
|
||||
(1000, 30, 'QA'),
|
||||
(2000, 40, 'Support'),
|
||||
(2000, 50, 'Professional Services');
|
||||
|
||||
insert into t1 values
|
||||
(1000, 10, 1, 'John'),
|
||||
(1000, 10, 2, 'Smith'),
|
||||
(1000, 20, 3, 'Jacob'),
|
||||
(1000, 20, 4, 'Brian'),
|
||||
(1000, 30, 5, 'Chris'),
|
||||
(1000, 30, 6, 'Ryan'),
|
||||
(2000, 40, 7, 'Karin'),
|
||||
(2000, 40, 8, 'Jay'),
|
||||
(2000, 50, 9, 'Ana'),
|
||||
(2000, 50, 10, 'Jessica');
|
||||
|
||||
--echo # Table t2 should have only partition p_1000.
|
||||
explain partitions
|
||||
select * from t1
|
||||
where company_id = 1000
|
||||
and dept_id in (select dept_id from t2 where COMPANY_ID = 1000);
|
||||
|
||||
drop table t1,t2;
|
||||
|
||||
|
|
|
@ -1639,6 +1639,45 @@ SELECT * FROM v3;
|
|||
DROP TABLE t1;
|
||||
DROP VIEW v3;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-6105: Emoji unicode character string search query makes mariadb performance down
|
||||
--echo #
|
||||
SET NAMES utf8;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1(
|
||||
id int AUTO_INCREMENT,
|
||||
fd varchar(20),
|
||||
primary key(id),
|
||||
index ix_fd(fd)
|
||||
)engine=innodb default charset=UTF8;
|
||||
INSERT INTO t1(id, fd) VALUES (null, ''),(null, 'matt'),(null, 'pitt'),(null, 'lee'),(null, 'kim');
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
INSERT INTO t1 (fd) SELECT fd FROM t1;
|
||||
--echo # The following should show "Impossible WHERE" :
|
||||
explain
|
||||
SELECT * FROM t1 WHERE fd='😁';
|
||||
SELECT * FROM t1 WHERE fd='😁';
|
||||
|
||||
--echo # The following must not use range access:
|
||||
--replace_column 9 #
|
||||
explain select count(*) from t1 where fd <'😁';
|
||||
select count(*) from t1 where fd <'😁';
|
||||
select count(*) from t1 ignore index (ix_fd) where fd <'😁';
|
||||
|
||||
drop table t1;
|
||||
set names default;
|
||||
|
||||
--echo #
|
||||
--echo # BUG#13731380: RANGE OPTIMIZER CALLS RECORDS_IN_RANGE() FOR OPEN RANGE
|
||||
--echo #
|
||||
|
@ -1706,4 +1745,3 @@ explain select * from t3, t2 where t2.a < t3.b and t3.a=1;
|
|||
--echo # The second table should use 'range':
|
||||
explain select * from t3, t2 where t3.b > t2.a and t3.a=1;
|
||||
drop table t1,t2,t3;
|
||||
|
||||
|
|
|
@ -1291,5 +1291,34 @@ SELECT * FROM t1, t3 WHERE t3_c IN ( SELECT t1_pk2 FROM t4, t2 WHERE t2_c = t1_p
|
|||
|
||||
DROP TABLE t1,t2,t3,t4;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-6263: Wrong result when using IN subquery with order by
|
||||
--echo #
|
||||
CREATE TABLE t1 (
|
||||
id int(11) NOT NULL,
|
||||
nombre varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
|
||||
INSERT INTO t1 (id, nombre) VALUES
|
||||
(1, 'row 1'),(2, 'row 2'),(3, 'row 3'),
|
||||
(4, 'row 4'),(5, 'row 5'),(6, 'row 6');
|
||||
|
||||
CREATE TABLE t2 (
|
||||
id_algo int(11) NOT NULL,
|
||||
id_agente int(11) NOT NULL,
|
||||
PRIMARY KEY (id_algo,id_agente),
|
||||
KEY another_data (id_agente)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
|
||||
INSERT INTO t2 (id_algo, id_agente) VALUES
|
||||
(1, 1),(1, 2),(2, 1),(2, 2),(2, 3),(3, 1);
|
||||
|
||||
SELECT * FROM t1 WHERE id in (select distinct id_agente from t2) ORDER BY nombre ASC;
|
||||
|
||||
SELECT * FROM t1 WHERE id in (select distinct id_agente from t2);
|
||||
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
--echo # This must be the last in the file:
|
||||
set optimizer_switch=@subselect_sj2_tmp;
|
||||
|
|
|
@ -519,8 +519,16 @@ END;|
|
|||
DELIMITER ;|
|
||||
call test5041();
|
||||
drop procedure test5041;
|
||||
|
||||
SET @@timestamp=DEFAULT;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-6097 Inconsistent results for CAST(int,decimal,double AS DATETIME)
|
||||
--echo #
|
||||
SELECT
|
||||
CAST(010203101112 AS DATETIME(1)) AS c1,
|
||||
CAST(010203101112.2 AS DATETIME(1)) AS c2,
|
||||
CAST(010203101112.2+0e0 AS DATETIME(1)) AS c3;
|
||||
|
||||
--echo End of 5.3 tests
|
||||
|
||||
--echo #
|
||||
|
|
|
@ -205,6 +205,23 @@ SELECT * FROM t2;
|
|||
SHOW COLUMNS FROM t2;
|
||||
DROP TABLE t2,t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-4858 Wrong results for a huge unsigned value inserted into a TIME column
|
||||
--echo #
|
||||
SET sql_mode=traditional;
|
||||
CREATE TABLE t1 (a TIME(6));
|
||||
--error ER_TRUNCATED_WRONG_VALUE
|
||||
INSERT INTO t1 VALUES (CAST(0xFFFFFFFF00000000 AS UNSIGNED));
|
||||
SET sql_mode=DEFAULT;
|
||||
INSERT INTO t1 VALUES (CAST(0xFFFFFFFF00000000 AS UNSIGNED));
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
SELECT TIME'00:00:00'> CAST(0xFFFFFFFF00000000 AS UNSIGNED);
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-6100 No warning on CAST(9000000 AS TIME)
|
||||
--echo #
|
||||
SELECT CAST(9000000 AS TIME);
|
||||
|
||||
--echo #
|
||||
--echo # End of 5.3 tests
|
||||
|
|
|
@ -1274,8 +1274,8 @@ SELECT(SELECT 1 AS a LIMIT 1) AS dev;
|
|||
SELECT(SELECT 1 AS a FROM dual ORDER BY a DESC LIMIT 1) AS dev;
|
||||
|
||||
--echo #
|
||||
--echo # LP bug#1010729: Unexpected syntax error from UNION
|
||||
--echo # (bug #54382) with single-table join nest
|
||||
--echo # lp:1010729: Unexpected syntax error from UNION
|
||||
--echo # (bug #54382) with single-table join nest
|
||||
--echo #
|
||||
CREATE TABLE t1 (a int);
|
||||
CREATE TABLE t2 (b int);
|
||||
|
@ -1292,3 +1292,11 @@ SELECT t1.pk FROM t1 LEFT JOIN (t2) ON (t1.pk = t2.fk);
|
|||
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
#
|
||||
# Bug #18167356: EXPLAIN W/ EXISTS(SELECT* UNION SELECT*)
|
||||
# WHERE ONE OF SELECT* IS DISTINCT FAILS.
|
||||
#
|
||||
create table t1 (a int);
|
||||
insert t1 values (1),(2),(3),(1);
|
||||
explain select 1 from dual where exists (select max(a) from t1 group by a union select a+2 from t1);
|
||||
drop table t1;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
--disable_warnings
|
||||
drop table if exists t1,t2,t3,t4,t9,`t1a``b`,v1,v2,v3,v4,v5,v6;
|
||||
drop view if exists t1,t2,`t1a``b`,v1,v2,v3,v4,v5,v6;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t9,`t1a``b`,v1,v2,v3,v4,v5,v6;
|
||||
drop view if exists t1,t2,t3,t4,t5,t6,t9,`t1a``b`,v1,v2,v3,v4,v5,v6;
|
||||
drop database if exists mysqltest;
|
||||
--enable_warnings
|
||||
use test;
|
||||
|
@ -4083,6 +4083,118 @@ select * from t2;
|
|||
DROP VIEW v1,v2,v3;
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-6251: SIGSEGV in query optimizer (in set_check_materialized
|
||||
--echo # with MERGE view)
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (a1 INT(11) NOT NULL DEFAULT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
CREATE TABLE t2 (b1 INT(11) NOT NULL DEFAULT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
CREATE TABLE t3 (c1 INT(11) NOT NULL DEFAULT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
CREATE TABLE t4 (d1 INT(11) NOT NULL DEFAULT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
CREATE TABLE t5 (e1 INT(11) NOT NULL DEFAULT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
CREATE TABLE t6 (f1 INT(11) NOT NULL DEFAULT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
|
||||
CREATE OR REPLACE view v1 AS
|
||||
SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
;
|
||||
|
||||
SELECT 1
|
||||
FROM (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t1)
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t2) ON 1=1
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t3) ON 1=1
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t4) ON 1=1
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t5) ON 1=1
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t6) ON 1=1
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t7) ON 1=1
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t8) ON 1=1
|
||||
;
|
||||
|
||||
SELECT 1
|
||||
FROM (v1 t1)
|
||||
LEFT OUTER JOIN (v1 t2) ON 1=1
|
||||
LEFT OUTER JOIN (v1 t3) ON 1=1
|
||||
LEFT OUTER JOIN (v1 t4) ON 1=1
|
||||
LEFT OUTER JOIN (v1 t5) ON 1=1
|
||||
LEFT OUTER JOIN (v1 t6) ON 1=1
|
||||
LEFT OUTER JOIN (v1 t7) ON 1=1
|
||||
LEFT OUTER JOIN (v1 t8) ON 1=1
|
||||
;
|
||||
|
||||
drop view v1;
|
||||
drop table t1,t2,t3,t4,t5,t6;
|
||||
|
||||
--echo # -----------------------------------------------------------------
|
||||
--echo # -- End of 5.2 tests.
|
||||
--echo # -----------------------------------------------------------------
|
||||
|
@ -4971,6 +5083,119 @@ execute stmt1;
|
|||
deallocate prepare stmt1;
|
||||
drop view v1,v2;
|
||||
drop table t1,t2;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-6251: SIGSEGV in query optimizer (in set_check_materialized
|
||||
--echo # with MERGE view)
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (a1 INT(11) NOT NULL DEFAULT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
CREATE TABLE t2 (b1 INT(11) NOT NULL DEFAULT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
CREATE TABLE t3 (c1 INT(11) NOT NULL DEFAULT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
CREATE TABLE t4 (d1 INT(11) NOT NULL DEFAULT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
CREATE TABLE t5 (e1 INT(11) NOT NULL DEFAULT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
CREATE TABLE t6 (f1 INT(11) NOT NULL DEFAULT NULL AUTO_INCREMENT PRIMARY KEY);
|
||||
|
||||
CREATE OR REPLACE view v1 AS
|
||||
SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
;
|
||||
|
||||
SELECT 1
|
||||
FROM (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t1)
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t2) ON 1=1
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t3) ON 1=1
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t4) ON 1=1
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t5) ON 1=1
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t6) ON 1=1
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t7) ON 1=1
|
||||
LEFT OUTER JOIN (( SELECT 1
|
||||
FROM t1 a_alias_1
|
||||
LEFT JOIN (t2 b_alias_1 JOIN t1 a_alias_2) ON b_alias_1.b1 = a_alias_1.a1 AND a_alias_2.a1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_1 ON c_alias_1.c1 = a_alias_1.a1
|
||||
LEFT JOIN t4 d_alias_1 ON d_alias_1.d1 = a_alias_1.a1
|
||||
LEFT JOIN t3 c_alias_2 ON c_alias_2.c1 = a_alias_1.a1
|
||||
LEFT JOIN t5 e_alias_1 ON e_alias_1.e1 = a_alias_1.a1
|
||||
LEFT JOIN t6 f_alias_1 ON f_alias_1.f1 = a_alias_1.a1
|
||||
) t8) ON 1=1
|
||||
;
|
||||
|
||||
SELECT 1
|
||||
FROM (v1 t1)
|
||||
LEFT OUTER JOIN (v1 t2) ON 1=1
|
||||
LEFT OUTER JOIN (v1 t3) ON 1=1
|
||||
LEFT OUTER JOIN (v1 t4) ON 1=1
|
||||
LEFT OUTER JOIN (v1 t5) ON 1=1
|
||||
LEFT OUTER JOIN (v1 t6) ON 1=1
|
||||
LEFT OUTER JOIN (v1 t7) ON 1=1
|
||||
LEFT OUTER JOIN (v1 t8) ON 1=1
|
||||
;
|
||||
|
||||
drop view v1;
|
||||
drop table t1,t2,t3,t4,t5,t6;
|
||||
|
||||
--echo # -----------------------------------------------------------------
|
||||
--echo # -- End of 5.3 tests.
|
||||
--echo # -----------------------------------------------------------------
|
||||
|
|
|
@ -304,6 +304,9 @@ my_bool my_thread_init(void)
|
|||
struct st_my_thread_var *tmp;
|
||||
my_bool error=0;
|
||||
|
||||
if (!my_thread_global_init_done)
|
||||
return 1; /* cannot proceed with unintialized library */
|
||||
|
||||
#ifdef EXTRA_DEBUG_THREADS
|
||||
fprintf(stderr,"my_thread_init(): pthread_self: %p\n", pthread_self());
|
||||
#endif
|
||||
|
|
0
packaging/rpm-oel/filter-provides.sh
Normal file → Executable file
0
packaging/rpm-oel/filter-provides.sh
Normal file → Executable file
0
packaging/rpm-oel/filter-requires.sh
Normal file → Executable file
0
packaging/rpm-oel/filter-requires.sh
Normal file → Executable file
|
@ -85,7 +85,7 @@ Name: mysql-%{product_suffix}
|
|||
Summary: A very fast and reliable SQL database server
|
||||
Group: Applications/Databases
|
||||
Version: @VERSION@
|
||||
Release: 4%{?dist}
|
||||
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/
|
||||
|
@ -153,13 +153,17 @@ Requires: procps
|
|||
Requires: shadow-utils
|
||||
Requires: net-tools
|
||||
%if 0%{?commercial}
|
||||
Provides: MySQL-server-advanced%{?_isa} = %{version}-%{release}
|
||||
Obsoletes: MySQL-server-advanced < %{version}-%{release}
|
||||
Obsoletes: mysql-community-server < %{version}-%{release}
|
||||
Requires: mysql-enterprise-client%{?_isa} = %{version}-%{release}
|
||||
Requires: mysql-enterprise-common%{?_isa} = %{version}-%{release}
|
||||
%else
|
||||
Provides: MySQL-server%{?_isa} = %{version}-%{release}
|
||||
Requires: mysql-community-client%{?_isa} = %{version}-%{release}
|
||||
Requires: mysql-community-common%{?_isa} = %{version}-%{release}
|
||||
%endif
|
||||
Obsoletes: MySQL-server < %{version}-%{release}
|
||||
Obsoletes: mysql-server < %{version}-%{release}
|
||||
Obsoletes: mariadb-server
|
||||
Provides: mysql-server = %{version}-%{release}
|
||||
|
@ -199,11 +203,15 @@ to run and administer a MySQL server.
|
|||
Summary: MySQL database client applications and tools
|
||||
Group: Applications/Databases
|
||||
%if 0%{?commercial}
|
||||
Provides: MySQL-client-advanced%{?_isa} = %{version}-%{release}
|
||||
Obsoletes: MySQL-client-advanced < %{version}-%{release}
|
||||
Obsoletes: mysql-community-client < %{version}-%{release}
|
||||
Requires: mysql-enterprise-libs%{?_isa} = %{version}-%{release}
|
||||
%else
|
||||
Provides: MySQL-client%{?_isa} = %{version}-%{release}
|
||||
Requires: mysql-community-libs%{?_isa} = %{version}-%{release}
|
||||
%endif
|
||||
Obsoletes: MySQL-client < %{version}-%{release}
|
||||
Obsoletes: mariadb
|
||||
%if 0%{?rhel} > 5
|
||||
Obsoletes: mysql < %{version}-%{release}
|
||||
|
@ -234,11 +242,15 @@ MySQL database server, and MySQL embedded server.
|
|||
Summary: Test suite for the MySQL database server
|
||||
Group: Applications/Databases
|
||||
%if 0%{?commercial}
|
||||
Provides: MySQL-test-advanced%{?_isa} = %{version}-%{release}
|
||||
Obsoletes: MySQL-test-advanced < %{version}-%{release}
|
||||
Obsoletes: mysql-community-test < %{version}-%{release}
|
||||
Requires: mysql-enterprise-server%{?_isa} = %{version}-%{release}
|
||||
%else
|
||||
Provides: MySQL-test%{?_isa} = %{version}-%{release}
|
||||
Requires: mysql-community-server%{?_isa} = %{version}-%{release}
|
||||
%endif
|
||||
Obsoletes: MySQL-test < %{version}-%{release}
|
||||
Obsoletes: mysql-test < %{version}-%{release}
|
||||
Obsoletes: mariadb-test
|
||||
Provides: mysql-test = %{version}-%{release}
|
||||
|
@ -254,11 +266,15 @@ database server.
|
|||
Summary: Development header files and libraries for MySQL database client applications
|
||||
Group: Applications/Databases
|
||||
%if 0%{?commercial}
|
||||
Provides: MySQL-devel-advanced%{?_isa} = %{version}-%{release}
|
||||
Obsoletes: MySQL-devel-advanced < %{version}-%{release}
|
||||
Obsoletes: mysql-community-devel < %{version}-%{release}
|
||||
Requires: mysql-enterprise-libs%{?_isa} = %{version}-%{release}
|
||||
%else
|
||||
Provides: MySQL-devel%{?_isa} = %{version}-%{release}
|
||||
Requires: mysql-community-libs%{?_isa} = %{version}-%{release}
|
||||
%endif
|
||||
Obsoletes: MySQL-devel < %{version}-%{release}
|
||||
Obsoletes: mysql-devel < %{version}-%{release}
|
||||
Obsoletes: mariadb-devel
|
||||
Provides: mysql-devel = %{version}-%{release}
|
||||
|
@ -272,11 +288,15 @@ to develop MySQL client applications.
|
|||
Summary: Shared libraries for MySQL database client applications
|
||||
Group: Applications/Databases
|
||||
%if 0%{?commercial}
|
||||
Provides: MySQL-shared-advanced%{?_isa} = %{version}-%{release}
|
||||
Obsoletes: MySQL-shared-advanced < %{version}-%{release}
|
||||
Obsoletes: mysql-community-libs < %{version}-%{release}
|
||||
Requires: mysql-enterprise-common%{?_isa} = %{version}-%{release}
|
||||
%else
|
||||
Provides: MySQL-shared%{?_isa} = %{version}-%{release}
|
||||
Requires: mysql-community-common%{?_isa} = %{version}-%{release}
|
||||
%endif
|
||||
Obsoletes: MySQL-shared < %{version}-%{release}
|
||||
Obsoletes: mysql-libs < %{version}-%{release}
|
||||
Obsoletes: mariadb-libs
|
||||
Provides: mysql-libs = %{version}-%{release}
|
||||
|
@ -294,11 +314,15 @@ Obsoletes: mysql-libs-compat < %{version}-%{release}
|
|||
Provides: mysql-libs-compat = %{version}-%{release}
|
||||
Provides: mysql-libs-compat%{?_isa} = %{version}-%{release}
|
||||
%if 0%{?commercial}
|
||||
Provides: MySQL-shared-compat-advanced%{?_isa} = %{version}-%{release}
|
||||
Obsoletes: MySQL-shared-compat-advanced < %{version}-%{release}
|
||||
Obsoletes: mysql-community-libs-compat < %{version}-%{release}
|
||||
Requires: mysql-enterprise-libs%{?_isa} = %{version}-%{release}
|
||||
%else
|
||||
Provides: MySQL-shared-compat%{?_isa} = %{version}-%{release}
|
||||
Requires: mysql-community-libs%{?_isa} = %{version}-%{release}
|
||||
%endif
|
||||
Obsoletes: MySQL-shared-compat < %{version}-%{release}
|
||||
%if 0%{?rhel} > 5
|
||||
Obsoletes: mysql-libs < %{version}-%{release}
|
||||
%endif
|
||||
|
@ -312,11 +336,15 @@ applications.
|
|||
Summary: MySQL embedded library
|
||||
Group: Applications/Databases
|
||||
%if 0%{?commercial}
|
||||
Provides: MySQL-embedded-advanced%{?_isa} = %{version}-%{release}
|
||||
Obsoletes: MySQL-embedded-advanced < %{version}-%{release}
|
||||
Obsoletes: mysql-community-embedded < %{version}-%{release}
|
||||
Requires: mysql-enterprise-common%{?_isa} = %{version}-%{release}
|
||||
%else
|
||||
Provides: MySQL-embedded%{?_isa} = %{version}-%{release}
|
||||
Requires: mysql-community-common%{?_isa} = %{version}-%{release}
|
||||
%endif
|
||||
Obsoletes: MySQL-embedded < %{version}-%{release}
|
||||
Obsoletes: mysql-embedded < %{version}-%{release}
|
||||
Provides: mysql-embedded = %{version}-%{release}
|
||||
Provides: mysql-emdedded%{?_isa} = %{version}-%{release}
|
||||
|
@ -435,20 +463,18 @@ popd
|
|||
)
|
||||
%endif # 0%{?compatlib}
|
||||
|
||||
export CFLAGS="%{optflags} %{?el7:-DTAOCRYPT_DISABLE_X86ASM}"
|
||||
export CXXFLAGS="%{optflags} %{?el7:-DTAOCRYPT_DISABLE_X86ASM}"
|
||||
|
||||
# Build debug versions of mysqld and libmysqld.a
|
||||
mkdir debug
|
||||
(
|
||||
cd debug
|
||||
# Attempt to remove any optimisation flags from the debug build
|
||||
CFLAGS=$(echo "${CFLAGS}" | sed -e 's/-O2 / /' -e 's/-Wp,-D_FORTIFY_SOURCE=2/ /')
|
||||
CXXFLAGS=$(echo "${CFLAGS}" | sed -e 's/-O2 / /' -e 's/-Wp,-D_FORTIFY_SOURCE=2/ /')
|
||||
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 %{?el7:-DENABLE_DTRACE=OFF} \
|
||||
-DCMAKE_C_FLAGS="$optflags" \
|
||||
-DCMAKE_CXX_FLAGS="$optflags" \
|
||||
-DINSTALL_LIBDIR="%{_lib}/mysql" \
|
||||
-DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \
|
||||
-DMYSQL_UNIX_ADDR="%{mysqldatadir}/mysql.sock" \
|
||||
|
@ -470,6 +496,8 @@ mkdir release
|
|||
-DBUILD_CONFIG=mysql_release \
|
||||
-DINSTALL_LAYOUT=RPM \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo %{?el7:-DENABLE_DTRACE=OFF} \
|
||||
-DCMAKE_C_FLAGS="%{optflags}" \
|
||||
-DCMAKE_CXX_FLAGS="%{optflags}" \
|
||||
-DINSTALL_LIBDIR="%{_lib}/mysql" \
|
||||
-DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \
|
||||
-DMYSQL_UNIX_ADDR="%{mysqldatadir}/mysql.sock" \
|
||||
|
@ -676,7 +704,41 @@ fi
|
|||
%attr(755, root, root) %{_sbindir}/mysqld
|
||||
%attr(755, root, root) %{_sbindir}/mysqld-debug
|
||||
|
||||
%{_libdir}/mysql/plugin
|
||||
%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
|
||||
|
||||
%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
|
||||
|
||||
%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
|
||||
|
@ -819,6 +881,19 @@ fi
|
|||
%endif
|
||||
|
||||
%changelog
|
||||
* Sun May 11 2014 Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com> - 5.5.38-2
|
||||
- Increment release version to resolve upgrade conflict issue
|
||||
|
||||
* Thu Apr 24 2014 Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com> - 5.5.38-1
|
||||
- Updated for 5.5.38
|
||||
|
||||
* Mon Apr 07 2014 Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com> - 5.5.37-6
|
||||
- Fix Cflags for el7
|
||||
|
||||
* Mon Mar 31 2014 Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com> - 5.5.37-5
|
||||
- Support for enterprise packages
|
||||
- Upgrade from MySQL-* packages
|
||||
|
||||
* Fri Mar 14 2014 Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com> - 5.5.37-4
|
||||
- Resolve mysql conflict with mysql-community-client
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2012, 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
|
||||
|
@ -17,6 +17,10 @@
|
|||
# Any files in this directory are auxiliary files for Solaris "pkg" packages.
|
||||
# They will be configured during "pkg" creation, not during (binary) build.
|
||||
|
||||
IF(NOT CMAKE_SYSTEM_NAME MATCHES "SunOS")
|
||||
RETURN()
|
||||
ENDIF()
|
||||
|
||||
# Currently, this expands to "support-files/" in most layouts,
|
||||
# but to "/usr/share/mysql/" in a RPM.
|
||||
# It is important not to pollute "/usr/bin".
|
||||
|
|
|
@ -558,7 +558,7 @@ else
|
|||
"database and look at the grant tables:",
|
||||
"",
|
||||
"shell> $bindir/mysql -u root mysql",
|
||||
"mysql> show tables",
|
||||
"mysql> show tables;",
|
||||
"",
|
||||
"Try 'mysqld --help' if you have problems with paths. Using --log",
|
||||
"gives you a log in $opt->{ldata} that may be helpful.",
|
||||
|
|
|
@ -445,7 +445,7 @@ else
|
|||
echo "to connect to the mysql database and look at the grant tables:"
|
||||
echo
|
||||
echo " shell> $bindir/mysql -u root mysql"
|
||||
echo " mysql> show tables"
|
||||
echo " mysql> show tables;"
|
||||
echo
|
||||
echo "Try 'mysqld --help' if you have problems with paths. Using"
|
||||
echo "--general-log gives you a log in $ldata that may be helpful."
|
||||
|
|
|
@ -4714,21 +4714,31 @@ const char * STDCALL mysql_error(MYSQL *mysql)
|
|||
|
||||
RETURN
|
||||
Signed number > 323000
|
||||
Zero if there is no connection
|
||||
*/
|
||||
|
||||
ulong STDCALL
|
||||
mysql_get_server_version(MYSQL *mysql)
|
||||
{
|
||||
uint major, minor, version;
|
||||
const char *pos= mysql->server_version;
|
||||
char *end_pos;
|
||||
/* Skip possible prefix */
|
||||
while (*pos && !my_isdigit(&my_charset_latin1, *pos))
|
||||
pos++;
|
||||
major= (uint) strtoul(pos, &end_pos, 10); pos=end_pos+1;
|
||||
minor= (uint) strtoul(pos, &end_pos, 10); pos=end_pos+1;
|
||||
version= (uint) strtoul(pos, &end_pos, 10);
|
||||
return (ulong) major*10000L+(ulong) (minor*100+version);
|
||||
ulong major= 0, minor= 0, version= 0;
|
||||
|
||||
if (mysql->server_version)
|
||||
{
|
||||
const char *pos= mysql->server_version;
|
||||
char *end_pos;
|
||||
/* Skip possible prefix */
|
||||
while (*pos && !my_isdigit(&my_charset_latin1, *pos))
|
||||
pos++;
|
||||
major= strtoul(pos, &end_pos, 10); pos=end_pos+1;
|
||||
minor= strtoul(pos, &end_pos, 10); pos=end_pos+1;
|
||||
version= strtoul(pos, &end_pos, 10);
|
||||
}
|
||||
else
|
||||
{
|
||||
set_mysql_error(mysql, CR_COMMANDS_OUT_OF_SYNC, unknown_sqlstate);
|
||||
}
|
||||
|
||||
return major*10000 + minor*100 + version;
|
||||
}
|
||||
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue