Merge branch '10.0' into 10.1
This commit is contained in:
commit
8e8d42ddf0
@ -149,7 +149,7 @@ static my_bool ignore_errors=0,wait_flag=0,quick=0,
|
|||||||
default_pager_set= 0, opt_sigint_ignore= 0,
|
default_pager_set= 0, opt_sigint_ignore= 0,
|
||||||
auto_vertical_output= 0,
|
auto_vertical_output= 0,
|
||||||
show_warnings= 0, executing_query= 0,
|
show_warnings= 0, executing_query= 0,
|
||||||
ignore_spaces= 0, opt_progress_reports;
|
ignore_spaces= 0, opt_binhex= 0, opt_progress_reports;
|
||||||
static my_bool debug_info_flag, debug_check_flag, batch_abort_on_error;
|
static my_bool debug_info_flag, debug_check_flag, batch_abort_on_error;
|
||||||
static my_bool column_types_flag;
|
static my_bool column_types_flag;
|
||||||
static my_bool preserve_comments= 0;
|
static my_bool preserve_comments= 0;
|
||||||
@ -1492,6 +1492,8 @@ static struct my_option my_long_options[] =
|
|||||||
{"batch", 'B',
|
{"batch", 'B',
|
||||||
"Don't use history file. Disable interactive behavior. (Enables --silent.)",
|
"Don't use history file. Disable interactive behavior. (Enables --silent.)",
|
||||||
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
|
{"binary-as-hex", 'b', "Print binary data as hex", &opt_binhex, &opt_binhex,
|
||||||
|
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"character-sets-dir", OPT_CHARSETS_DIR,
|
{"character-sets-dir", OPT_CHARSETS_DIR,
|
||||||
"Directory for character set files.", &charsets_dir,
|
"Directory for character set files.", &charsets_dir,
|
||||||
&charsets_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
&charsets_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
@ -3314,7 +3316,8 @@ com_go(String *buffer,char *line __attribute__((unused)))
|
|||||||
print_table_data_html(result);
|
print_table_data_html(result);
|
||||||
else if (opt_xml)
|
else if (opt_xml)
|
||||||
print_table_data_xml(result);
|
print_table_data_xml(result);
|
||||||
else if (vertical || (auto_vertical_output && (terminal_width < get_result_width(result))))
|
else if (vertical || (auto_vertical_output &&
|
||||||
|
(terminal_width < get_result_width(result))))
|
||||||
print_table_data_vertically(result);
|
print_table_data_vertically(result);
|
||||||
else if (opt_silent && verbose <= 2 && !output_tables)
|
else if (opt_silent && verbose <= 2 && !output_tables)
|
||||||
print_tab_data(result);
|
print_tab_data(result);
|
||||||
@ -3533,6 +3536,41 @@ print_field_types(MYSQL_RES *result)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Used to determine if we should invoke print_as_hex for this field */
|
||||||
|
|
||||||
|
static bool
|
||||||
|
is_binary_field(MYSQL_FIELD *field)
|
||||||
|
{
|
||||||
|
if ((field->charsetnr == 63) &&
|
||||||
|
(field->type == MYSQL_TYPE_BIT ||
|
||||||
|
field->type == MYSQL_TYPE_BLOB ||
|
||||||
|
field->type == MYSQL_TYPE_LONG_BLOB ||
|
||||||
|
field->type == MYSQL_TYPE_MEDIUM_BLOB ||
|
||||||
|
field->type == MYSQL_TYPE_TINY_BLOB ||
|
||||||
|
field->type == MYSQL_TYPE_VAR_STRING ||
|
||||||
|
field->type == MYSQL_TYPE_STRING ||
|
||||||
|
field->type == MYSQL_TYPE_VARCHAR ||
|
||||||
|
field->type == MYSQL_TYPE_GEOMETRY))
|
||||||
|
return 1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Print binary value as hex literal (0x ...) */
|
||||||
|
|
||||||
|
static void
|
||||||
|
print_as_hex(FILE *output_file, const char *str, ulong len, ulong total_bytes_to_send)
|
||||||
|
{
|
||||||
|
const char *ptr= str, *end= ptr+len;
|
||||||
|
ulong i;
|
||||||
|
fprintf(output_file, "0x");
|
||||||
|
for(; ptr < end; ptr++)
|
||||||
|
fprintf(output_file, "%02X", *((uchar*)ptr));
|
||||||
|
for (i= 2*len+2; i < total_bytes_to_send; i++)
|
||||||
|
tee_putc((int)' ', output_file);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
print_table_data(MYSQL_RES *result)
|
print_table_data(MYSQL_RES *result)
|
||||||
{
|
{
|
||||||
@ -3559,6 +3597,8 @@ print_table_data(MYSQL_RES *result)
|
|||||||
length= MY_MAX(length,field->max_length);
|
length= MY_MAX(length,field->max_length);
|
||||||
if (length < 4 && !IS_NOT_NULL(field->flags))
|
if (length < 4 && !IS_NOT_NULL(field->flags))
|
||||||
length=4; // Room for "NULL"
|
length=4; // Room for "NULL"
|
||||||
|
if (opt_binhex && is_binary_field(field))
|
||||||
|
length= 2 + length * 2;
|
||||||
field->max_length=length;
|
field->max_length=length;
|
||||||
num_flag[mysql_field_tell(result) - 1]= IS_NUM(field->type);
|
num_flag[mysql_field_tell(result) - 1]= IS_NUM(field->type);
|
||||||
separator.fill(separator.length()+length+2,'-');
|
separator.fill(separator.length()+length+2,'-');
|
||||||
@ -3626,9 +3666,11 @@ print_table_data(MYSQL_RES *result)
|
|||||||
many extra padding-characters we should send with the printing function.
|
many extra padding-characters we should send with the printing function.
|
||||||
*/
|
*/
|
||||||
visible_length= charset_info->cset->numcells(charset_info, buffer, buffer + data_length);
|
visible_length= charset_info->cset->numcells(charset_info, buffer, buffer + data_length);
|
||||||
extra_padding= data_length - visible_length;
|
extra_padding= (uint) (data_length - visible_length);
|
||||||
|
|
||||||
if (field_max_length > MAX_COLUMN_LENGTH)
|
if (opt_binhex && is_binary_field(field))
|
||||||
|
print_as_hex(PAGER, cur[off], lengths[off], field_max_length);
|
||||||
|
else if (field_max_length > MAX_COLUMN_LENGTH)
|
||||||
tee_print_sized_data(buffer, data_length, MAX_COLUMN_LENGTH+extra_padding, FALSE);
|
tee_print_sized_data(buffer, data_length, MAX_COLUMN_LENGTH+extra_padding, FALSE);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -3762,11 +3804,15 @@ print_table_data_html(MYSQL_RES *result)
|
|||||||
if (interrupted_query)
|
if (interrupted_query)
|
||||||
break;
|
break;
|
||||||
ulong *lengths=mysql_fetch_lengths(result);
|
ulong *lengths=mysql_fetch_lengths(result);
|
||||||
|
field= mysql_fetch_fields(result);
|
||||||
(void) tee_fputs("<TR>", PAGER);
|
(void) tee_fputs("<TR>", PAGER);
|
||||||
for (uint i=0; i < mysql_num_fields(result); i++)
|
for (uint i=0; i < mysql_num_fields(result); i++)
|
||||||
{
|
{
|
||||||
(void) tee_fputs("<TD>", PAGER);
|
(void) tee_fputs("<TD>", PAGER);
|
||||||
xmlencode_print(cur[i], lengths[i]);
|
if (opt_binhex && is_binary_field(&field[i]))
|
||||||
|
print_as_hex(PAGER, cur[i], lengths[i], lengths[i]);
|
||||||
|
else
|
||||||
|
xmlencode_print(cur[i], lengths[i]);
|
||||||
(void) tee_fputs("</TD>", PAGER);
|
(void) tee_fputs("</TD>", PAGER);
|
||||||
}
|
}
|
||||||
(void) tee_fputs("</TR>", PAGER);
|
(void) tee_fputs("</TR>", PAGER);
|
||||||
@ -3802,7 +3848,10 @@ print_table_data_xml(MYSQL_RES *result)
|
|||||||
if (cur[i])
|
if (cur[i])
|
||||||
{
|
{
|
||||||
tee_fprintf(PAGER, "\">");
|
tee_fprintf(PAGER, "\">");
|
||||||
xmlencode_print(cur[i], lengths[i]);
|
if (opt_binhex && is_binary_field(&fields[i]))
|
||||||
|
print_as_hex(PAGER, cur[i], lengths[i], lengths[i]);
|
||||||
|
else
|
||||||
|
xmlencode_print(cur[i], lengths[i]);
|
||||||
tee_fprintf(PAGER, "</field>\n");
|
tee_fprintf(PAGER, "</field>\n");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -3849,23 +3898,28 @@ print_table_data_vertically(MYSQL_RES *result)
|
|||||||
{
|
{
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
const char *p;
|
const char *p;
|
||||||
|
if (opt_binhex && is_binary_field(field))
|
||||||
|
fprintf(PAGER, "0x");
|
||||||
for (i= 0, p= cur[off]; i < lengths[off]; i+= 1, p+= 1)
|
for (i= 0, p= cur[off]; i < lengths[off]; i+= 1, p+= 1)
|
||||||
{
|
{
|
||||||
if (*p == '\0')
|
if (opt_binhex && is_binary_field(field))
|
||||||
tee_putc((int)' ', PAGER);
|
fprintf(PAGER, "%02X", *((uchar*)p));
|
||||||
else
|
else
|
||||||
tee_putc((int)*p, PAGER);
|
{
|
||||||
|
if (*p == '\0')
|
||||||
|
tee_putc((int)' ', PAGER);
|
||||||
|
else
|
||||||
|
tee_putc((int)*p, PAGER);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
tee_putc('\n', PAGER);
|
tee_putc('\n', PAGER);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
tee_fprintf(PAGER, "NULL\n");
|
tee_fprintf(PAGER, "NULL\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* print_warnings should be called right after executing a statement */
|
/* print_warnings should be called right after executing a statement */
|
||||||
|
|
||||||
static void print_warnings()
|
static void print_warnings()
|
||||||
@ -4002,11 +4056,19 @@ print_tab_data(MYSQL_RES *result)
|
|||||||
while ((cur = mysql_fetch_row(result)))
|
while ((cur = mysql_fetch_row(result)))
|
||||||
{
|
{
|
||||||
lengths=mysql_fetch_lengths(result);
|
lengths=mysql_fetch_lengths(result);
|
||||||
safe_put_field(cur[0],lengths[0]);
|
field= mysql_fetch_fields(result);
|
||||||
|
if (opt_binhex && is_binary_field(&field[0]))
|
||||||
|
print_as_hex(PAGER, cur[0], lengths[0], lengths[0]);
|
||||||
|
else
|
||||||
|
safe_put_field(cur[0],lengths[0]);
|
||||||
|
|
||||||
for (uint off=1 ; off < mysql_num_fields(result); off++)
|
for (uint off=1 ; off < mysql_num_fields(result); off++)
|
||||||
{
|
{
|
||||||
(void) tee_fputs("\t", PAGER);
|
(void) tee_fputs("\t", PAGER);
|
||||||
safe_put_field(cur[off], lengths[off]);
|
if (opt_binhex && field && is_binary_field(&field[off]))
|
||||||
|
print_as_hex(PAGER, cur[off], lengths[off], lengths[off]);
|
||||||
|
else
|
||||||
|
safe_put_field(cur[off], lengths[off]);
|
||||||
}
|
}
|
||||||
(void) tee_fputs("\n", PAGER);
|
(void) tee_fputs("\n", PAGER);
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
# Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2009, 2012, Oracle and/or its affiliates.
|
||||||
|
# Copyright (c) 2011, 2017, MariaDB Corporation
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -11,7 +12,7 @@
|
|||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program; if not, write to the Free Software
|
# along with this program; if not, write to the Free Software
|
||||||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
|
||||||
# We support different versions of SSL:
|
# We support different versions of SSL:
|
||||||
# - "bundled" uses source code in <source dir>/extra/yassl
|
# - "bundled" uses source code in <source dir>/extra/yassl
|
||||||
@ -207,7 +208,7 @@ MACRO (MYSQL_CHECK_SSL)
|
|||||||
HAVE_EncryptAes128Gcm)
|
HAVE_EncryptAes128Gcm)
|
||||||
ELSE()
|
ELSE()
|
||||||
IF(WITH_SSL STREQUAL "system")
|
IF(WITH_SSL STREQUAL "system")
|
||||||
MESSAGE(SEND_ERROR "Cannot find appropriate system libraries for SSL. Use WITH_SSL=bundled to enable SSL support")
|
MESSAGE(SEND_ERROR "Cannot find appropriate system libraries for SSL. Use WITH_SSL=bundled to enable SSL support")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
MYSQL_USE_BUNDLED_SSL()
|
MYSQL_USE_BUNDLED_SSL()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
2
debian/compat
vendored
2
debian/compat
vendored
@ -1 +1 @@
|
|||||||
5
|
9
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2001, 2013, Oracle and/or its affiliates.
|
Copyright (c) 2001, 2013, Oracle and/or its affiliates.
|
||||||
Copyright (c) 2010, 2013, Monty Program Ab.
|
Copyright (c) 2009, 2017, MariaDB Corporation
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -439,9 +439,8 @@ extern "C" int madvise(void *addr, size_t len, int behav);
|
|||||||
#define SIGNAL_HANDLER_RESET_ON_DELIVERY
|
#define SIGNAL_HANDLER_RESET_ON_DELIVERY
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef STDERR_FILENO
|
/* don't assume that STDERR_FILENO is 2, mysqld can freopen */
|
||||||
#define STDERR_FILENO fileno(stderr)
|
#undef STDERR_FILENO
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef SO_EXT
|
#ifndef SO_EXT
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Copyright (c) 2000, 2013, Oracle and/or its affiliates.
|
/* Copyright (c) 2000, 2013, Oracle and/or its affiliates.
|
||||||
Copyright (c) 2010, 2016, Monty Program Ab.
|
Copyright (c) 2010, 2017, MariaDB Corporation
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
#define VERSION_progress_report 0x0100
|
#define VERSION_progress_report 0x0100
|
||||||
#define VERSION_thd_alloc 0x0100
|
#define VERSION_thd_alloc 0x0100
|
||||||
#define VERSION_thd_autoinc 0x0100
|
#define VERSION_thd_autoinc 0x0100
|
||||||
#define VERSION_thd_error_context 0x0100
|
#define VERSION_thd_error_context 0x0200
|
||||||
#define VERSION_thd_rnd 0x0100
|
#define VERSION_thd_rnd 0x0100
|
||||||
#define VERSION_thd_specifics 0x0100
|
#define VERSION_thd_specifics 0x0100
|
||||||
#define VERSION_thd_timezone 0x0100
|
#define VERSION_thd_timezone 0x0100
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Copyright (c) 2000, 2014, Oracle and/or its affiliates.
|
/* Copyright (c) 2000, 2014, Oracle and/or its affiliates
|
||||||
Copyright (c) 2009, 2014, SkySQL Ab.
|
Copyright (c) 2009, 2017, MariaDB Corporation
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -4919,4 +4919,3 @@ ulong STDCALL mysql_net_field_length(uchar **packet)
|
|||||||
{
|
{
|
||||||
return net_field_length(packet);
|
return net_field_length(packet);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -66,6 +66,13 @@ if (!$slave_skip_counter) {
|
|||||||
}
|
}
|
||||||
source include/start_slave.inc;
|
source include/start_slave.inc;
|
||||||
|
|
||||||
|
# start_slave.inc returns when Slave_SQL_Running=Yes. But the slave
|
||||||
|
# thread sets it before clearing Last_SQL_Errno. So we have to wait
|
||||||
|
# for Last_SQL_Errno=0 separately.
|
||||||
|
|
||||||
|
let $slave_param= Last_SQL_Errno;
|
||||||
|
let $slave_param_value= 0;
|
||||||
|
source include/wait_for_slave_param.inc;
|
||||||
|
|
||||||
--let $include_filename= wait_for_slave_sql_error_and_skip.inc [errno=$slave_sql_errno]
|
--let $include_filename= wait_for_slave_sql_error_and_skip.inc [errno=$slave_sql_errno]
|
||||||
--source include/end_include_file.inc
|
--source include/end_include_file.inc
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
# -*- cperl -*-
|
# -*- cperl -*-
|
||||||
|
|
||||||
# Copyright (c) 2004, 2014, Oracle and/or its affiliates.
|
# Copyright (c) 2004, 2014, Oracle and/or its affiliates.
|
||||||
# Copyright (c) 2009, 2014, Monty Program Ab
|
# Copyright (c) 2009, 2017, MariaDB Corporation
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -1267,10 +1267,6 @@ sub command_line_setup {
|
|||||||
|
|
||||||
fix_vs_config_dir();
|
fix_vs_config_dir();
|
||||||
|
|
||||||
# Respect MTR_BINDIR variable, which is typically set in to the
|
|
||||||
# build directory in out-of-source builds.
|
|
||||||
$bindir=$ENV{MTR_BINDIR}||$basedir;
|
|
||||||
|
|
||||||
# Look for the client binaries directory
|
# Look for the client binaries directory
|
||||||
if ($path_client_bindir)
|
if ($path_client_bindir)
|
||||||
{
|
{
|
||||||
|
117
mysql-test/r/binary_to_hex.result
Normal file
117
mysql-test/r/binary_to_hex.result
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
USE test;
|
||||||
|
DROP TABLE IF EXISTS t1, t2;
|
||||||
|
CREATE TABLE t1 (c1 TINYBLOB,
|
||||||
|
c2 BLOB,
|
||||||
|
c3 MEDIUMBLOB,
|
||||||
|
c4 LONGBLOB,
|
||||||
|
c5 TEXT,
|
||||||
|
c6 BIT(1),
|
||||||
|
c7 CHAR,
|
||||||
|
c8 VARCHAR(10),
|
||||||
|
c9 GEOMETRY) CHARACTER SET = binary;
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`c1` tinyblob,
|
||||||
|
`c2` blob,
|
||||||
|
`c3` mediumblob,
|
||||||
|
`c4` longblob,
|
||||||
|
`c5` blob,
|
||||||
|
`c6` bit(1) DEFAULT NULL,
|
||||||
|
`c7` binary(1) DEFAULT NULL,
|
||||||
|
`c8` varbinary(10) DEFAULT NULL,
|
||||||
|
`c9` geometry DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=binary
|
||||||
|
INSERT INTO t1 VALUES ('tinyblob-text readable', 'blob-text readable',
|
||||||
|
'mediumblob-text readable', 'longblob-text readable',
|
||||||
|
'text readable', b'1', 'c', 'variable',
|
||||||
|
POINT(1, 1));
|
||||||
|
CREATE TABLE t2(id int, `col1` binary(10),`col2` blob);
|
||||||
|
SHOW CREATE TABLE t2;
|
||||||
|
Table Create Table
|
||||||
|
t2 CREATE TABLE `t2` (
|
||||||
|
`id` int(11) DEFAULT NULL,
|
||||||
|
`col1` binary(10) DEFAULT NULL,
|
||||||
|
`col2` blob
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
INSERT INTO t2 VALUES (1, X'AB1234', X'123ABC'), (2, X'DE1234', X'123DEF');
|
||||||
|
#Print the table contents when binary-as-hex option is off.
|
||||||
|
SELECT * FROM t1;
|
||||||
|
c1 c2 c3 c4 c5 c6 c7 c8 c9
|
||||||
|
tinyblob-text readable blob-text readable mediumblob-text readable longblob-text readable text readable # c variable #
|
||||||
|
SELECT * FROM t2;
|
||||||
|
id col1 col2
|
||||||
|
1 # #
|
||||||
|
2 # #
|
||||||
|
#Print the table contents after turning on the binary-as-hex option
|
||||||
|
|
||||||
|
#Print the table contents in tab format
|
||||||
|
|
||||||
|
c1 c2 c3 c4 c5 c6 c7 c8 c9
|
||||||
|
0x74696E79626C6F622D74657874207265616461626C65 0x626C6F622D74657874207265616461626C65 0x6D656469756D626C6F622D74657874207265616461626C65 0x6C6F6E67626C6F622D74657874207265616461626C65 0x74657874207265616461626C65 0x01 0x63 0x7661726961626C65 0x000000000101000000000000000000F03F000000000000F03F
|
||||||
|
id col1 col2
|
||||||
|
1 0xAB123400000000000000 0x123ABC
|
||||||
|
2 0xDE123400000000000000 0x123DEF
|
||||||
|
|
||||||
|
#Print the table contents in table format
|
||||||
|
|
||||||
|
+------------------------------------------------+----------------------------------------+----------------------------------------------------+------------------------------------------------+------------------------------+------------+------------+--------------------+------------------------------------------------------+
|
||||||
|
| c1 | c2 | c3 | c4 | c5 | c6 | c7 | c8 | c9 |
|
||||||
|
+------------------------------------------------+----------------------------------------+----------------------------------------------------+------------------------------------------------+------------------------------+------------+------------+--------------------+------------------------------------------------------+
|
||||||
|
| 0x74696E79626C6F622D74657874207265616461626C65 | 0x626C6F622D74657874207265616461626C65 | 0x6D656469756D626C6F622D74657874207265616461626C65 | 0x6C6F6E67626C6F622D74657874207265616461626C65 | 0x74657874207265616461626C65 | 0x01 | 0x63 | 0x7661726961626C65 | 0x000000000101000000000000000000F03F000000000000F03F |
|
||||||
|
+------------------------------------------------+----------------------------------------+----------------------------------------------------+------------------------------------------------+------------------------------+------------+------------+--------------------+------------------------------------------------------+
|
||||||
|
+------+------------------------+------------+
|
||||||
|
| id | col1 | col2 |
|
||||||
|
+------+------------------------+------------+
|
||||||
|
| 1 | 0xAB123400000000000000 | 0x123ABC |
|
||||||
|
+------+------------------------+------------+
|
||||||
|
|
||||||
|
#Print the table contents vertically
|
||||||
|
|
||||||
|
*************************** 1. row ***************************
|
||||||
|
c1: 0x74696E79626C6F622D74657874207265616461626C65
|
||||||
|
c2: 0x626C6F622D74657874207265616461626C65
|
||||||
|
c3: 0x6D656469756D626C6F622D74657874207265616461626C65
|
||||||
|
c4: 0x6C6F6E67626C6F622D74657874207265616461626C65
|
||||||
|
c5: 0x74657874207265616461626C65
|
||||||
|
c6: 0x01
|
||||||
|
c7: 0x63
|
||||||
|
c8: 0x7661726961626C65
|
||||||
|
c9: 0x000000000101000000000000000000F03F000000000000F03F
|
||||||
|
|
||||||
|
#Print the table contents in xml format
|
||||||
|
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
<resultset statement="SELECT * FROM t1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<row>
|
||||||
|
<field name="c1">0x74696E79626C6F622D74657874207265616461626C65</field>
|
||||||
|
<field name="c2">0x626C6F622D74657874207265616461626C65</field>
|
||||||
|
<field name="c3">0x6D656469756D626C6F622D74657874207265616461626C65</field>
|
||||||
|
<field name="c4">0x6C6F6E67626C6F622D74657874207265616461626C65</field>
|
||||||
|
<field name="c5">0x74657874207265616461626C65</field>
|
||||||
|
<field name="c6">0x01</field>
|
||||||
|
<field name="c7">0x63</field>
|
||||||
|
<field name="c8">0x7661726961626C65</field>
|
||||||
|
<field name="c9">0x000000000101000000000000000000F03F000000000000F03F</field>
|
||||||
|
</row>
|
||||||
|
</resultset>
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
<resultset statement="SELECT * FROM t2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<row>
|
||||||
|
<field name="id">1</field>
|
||||||
|
<field name="col1">0xAB123400000000000000</field>
|
||||||
|
<field name="col2">0x123ABC</field>
|
||||||
|
</row>
|
||||||
|
|
||||||
|
<row>
|
||||||
|
<field name="id">2</field>
|
||||||
|
<field name="col1">0xDE123400000000000000</field>
|
||||||
|
<field name="col2">0x123DEF</field>
|
||||||
|
</row>
|
||||||
|
</resultset>
|
||||||
|
|
||||||
|
#Print the table contents in html format
|
||||||
|
|
||||||
|
<TABLE BORDER=1><TR><TH>c1</TH><TH>c2</TH><TH>c3</TH><TH>c4</TH><TH>c5</TH><TH>c6</TH><TH>c7</TH><TH>c8</TH><TH>c9</TH></TR><TR><TD>0x74696E79626C6F622D74657874207265616461626C65</TD><TD>0x626C6F622D74657874207265616461626C65</TD><TD>0x6D656469756D626C6F622D74657874207265616461626C65</TD><TD>0x6C6F6E67626C6F622D74657874207265616461626C65</TD><TD>0x74657874207265616461626C65</TD><TD>0x01</TD><TD>0x63</TD><TD>0x7661726961626C65</TD><TD>0x000000000101000000000000000000F03F000000000000F03F</TD></TR></TABLE><TABLE BORDER=1><TR><TH>id</TH><TH>col1</TH><TH>col2</TH></TR><TR><TD>1</TD><TD>0xAB123400000000000000</TD><TD>0x123ABC</TD></TR><TR><TD>2</TD><TD>0xDE123400000000000000</TD><TD>0x123DEF</TD></TR></TABLE>DROP TABLE t1, t2;
|
@ -94,3 +94,15 @@ count(distinct i)
|
|||||||
2
|
2
|
||||||
drop table t1;
|
drop table t1;
|
||||||
drop view v1;
|
drop view v1;
|
||||||
|
create table t1 (user_id char(64) character set utf8);
|
||||||
|
insert t1 values(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17);
|
||||||
|
set @@tmp_table_size = 1024;
|
||||||
|
select count(distinct user_id) from t1;
|
||||||
|
count(distinct user_id)
|
||||||
|
17
|
||||||
|
alter table t1 modify user_id char(128) character set utf8;
|
||||||
|
select count(distinct user_id) from t1;
|
||||||
|
count(distinct user_id)
|
||||||
|
17
|
||||||
|
drop table t1;
|
||||||
|
set @@tmp_table_size = default;
|
||||||
|
@ -883,6 +883,38 @@ SELECT 1 FROM dual WHERE ('Alpha,Bravo,Charlie,Delta,Echo,Foxtrot,StrataCentral,
|
|||||||
1
|
1
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1139 Got error 'pcre_exec: recursion limit of NUM exceeded' from regexp
|
Warning 1139 Got error 'pcre_exec: recursion limit of NUM exceeded' from regexp
|
||||||
|
SELECT CONCAT(REPEAT('100,',133),'101') RLIKE '^(([1-9][0-9]*),)*[1-9][0-9]*$';
|
||||||
|
CONCAT(REPEAT('100,',133),'101') RLIKE '^(([1-9][0-9]*),)*[1-9][0-9]*$'
|
||||||
|
1
|
||||||
|
SELECT CONCAT(REPEAT('100,',200),'101') RLIKE '^(([1-9][0-9]*),)*[1-9][0-9]*$';
|
||||||
|
CONCAT(REPEAT('100,',200),'101') RLIKE '^(([1-9][0-9]*),)*[1-9][0-9]*$'
|
||||||
|
0
|
||||||
|
Warnings:
|
||||||
|
Warning 1139 Got error 'pcre_exec: recursion limit of NUM exceeded' from regexp
|
||||||
|
SELECT REGEXP_INSTR(CONCAT(REPEAT('100,',133),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$');
|
||||||
|
REGEXP_INSTR(CONCAT(REPEAT('100,',133),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$')
|
||||||
|
1
|
||||||
|
SELECT REGEXP_INSTR(CONCAT(REPEAT('100,',200),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$');
|
||||||
|
REGEXP_INSTR(CONCAT(REPEAT('100,',200),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$')
|
||||||
|
0
|
||||||
|
Warnings:
|
||||||
|
Warning 1139 Got error 'pcre_exec: recursion limit of NUM exceeded' from regexp
|
||||||
|
SELECT LENGTH(REGEXP_SUBSTR(CONCAT(REPEAT('100,',133),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$'));
|
||||||
|
LENGTH(REGEXP_SUBSTR(CONCAT(REPEAT('100,',133),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$'))
|
||||||
|
535
|
||||||
|
SELECT LENGTH(REGEXP_SUBSTR(CONCAT(REPEAT('100,',200),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$'));
|
||||||
|
LENGTH(REGEXP_SUBSTR(CONCAT(REPEAT('100,',200),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$'))
|
||||||
|
0
|
||||||
|
Warnings:
|
||||||
|
Warning 1139 Got error 'pcre_exec: recursion limit of NUM exceeded' from regexp
|
||||||
|
SELECT LENGTH(REGEXP_REPLACE(CONCAT(REPEAT('100,',133),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$', ''));
|
||||||
|
LENGTH(REGEXP_REPLACE(CONCAT(REPEAT('100,',133),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$', ''))
|
||||||
|
0
|
||||||
|
SELECT LENGTH(REGEXP_REPLACE(CONCAT(REPEAT('100,',200),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$', ''));
|
||||||
|
LENGTH(REGEXP_REPLACE(CONCAT(REPEAT('100,',200),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$', ''))
|
||||||
|
803
|
||||||
|
Warnings:
|
||||||
|
Warning 1139 Got error 'pcre_exec: recursion limit of NUM exceeded' from regexp
|
||||||
SELECT REGEXP_INSTR('a_kollision', 'oll');
|
SELECT REGEXP_INSTR('a_kollision', 'oll');
|
||||||
REGEXP_INSTR('a_kollision', 'oll')
|
REGEXP_INSTR('a_kollision', 'oll')
|
||||||
4
|
4
|
||||||
|
@ -60,3 +60,25 @@ fid AsText(g)
|
|||||||
45 LINESTRING(51 51,60 60)
|
45 LINESTRING(51 51,60 60)
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
End of 5.5 tests.
|
End of 5.5 tests.
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
coordinate point NOT NULL,
|
||||||
|
SPATIAL KEY coordinate (coordinate)
|
||||||
|
) ENGINE=Aria DEFAULT CHARSET=ascii PAGE_CHECKSUM=1;
|
||||||
|
SHOW COLUMNS FROM t1;
|
||||||
|
Field Type Null Key Default Extra
|
||||||
|
coordinate point NO MUL NULL
|
||||||
|
INSERT INTO t1 (coordinate) VALUES(ST_PointFromText("POINT(0 0)"));
|
||||||
|
INSERT INTO t1 (coordinate) VALUES(ST_PointFromText("POINT(10 0)"));
|
||||||
|
INSERT INTO t1 (coordinate) VALUES(ST_PointFromText("POINT(10 10)"));
|
||||||
|
INSERT INTO t1 (coordinate) VALUES(ST_PointFromText("POINT(0 10)"));
|
||||||
|
INSERT INTO t1 (coordinate) VALUES(ST_PointFromText("POINT(5 5)"));
|
||||||
|
SELECT astext(coordinate) FROM t1 WHERE ST_Intersects(ST_LineFromText("LINESTRING(0 0, 10 0, 10 10, 0 10)"), coordinate);
|
||||||
|
astext(coordinate)
|
||||||
|
POINT(0 0)
|
||||||
|
POINT(10 0)
|
||||||
|
POINT(10 10)
|
||||||
|
POINT(0 10)
|
||||||
|
SHOW COLUMNS FROM t1;
|
||||||
|
Field Type Null Key Default Extra
|
||||||
|
coordinate point NO MUL NULL
|
||||||
|
DROP TABLE t1;
|
||||||
|
@ -331,8 +331,8 @@ fid IsClosed(g)
|
|||||||
116 0
|
116 0
|
||||||
SELECT fid, AsText(Centroid(g)) FROM gis_multi_polygon;
|
SELECT fid, AsText(Centroid(g)) FROM gis_multi_polygon;
|
||||||
fid AsText(Centroid(g))
|
fid AsText(Centroid(g))
|
||||||
117 POINT(55.58852775304245 17.426536064113982)
|
117 POINT(57.98031067576927 17.854754130800433)
|
||||||
118 POINT(55.58852775304245 17.426536064113982)
|
118 POINT(57.98031067576927 17.854754130800433)
|
||||||
119 POINT(2 2)
|
119 POINT(2 2)
|
||||||
SELECT fid, Area(g) FROM gis_multi_polygon;
|
SELECT fid, Area(g) FROM gis_multi_polygon;
|
||||||
fid Area(g)
|
fid Area(g)
|
||||||
@ -682,11 +682,11 @@ insert into t1 values ('85984',GeomFromText('MULTIPOLYGON(((-115.006363
|
|||||||
select object_id, geometrytype(geo), ISSIMPLE(GEO), ASTEXT(centroid(geo)) from
|
select object_id, geometrytype(geo), ISSIMPLE(GEO), ASTEXT(centroid(geo)) from
|
||||||
t1 where object_id=85998;
|
t1 where object_id=85998;
|
||||||
object_id geometrytype(geo) ISSIMPLE(GEO) ASTEXT(centroid(geo))
|
object_id geometrytype(geo) ISSIMPLE(GEO) ASTEXT(centroid(geo))
|
||||||
85998 MULTIPOLYGON 1 POINT(115.31877315203187 -36.23747282102153)
|
85998 MULTIPOLYGON 1 POINT(115.2970604672862 -36.23335610879993)
|
||||||
select object_id, geometrytype(geo), ISSIMPLE(GEO), ASTEXT(centroid(geo)) from
|
select object_id, geometrytype(geo), ISSIMPLE(GEO), ASTEXT(centroid(geo)) from
|
||||||
t1 where object_id=85984;
|
t1 where object_id=85984;
|
||||||
object_id geometrytype(geo) ISSIMPLE(GEO) ASTEXT(centroid(geo))
|
object_id geometrytype(geo) ISSIMPLE(GEO) ASTEXT(centroid(geo))
|
||||||
85984 MULTIPOLYGON 1 POINT(-114.87787186923313 36.33101763469059)
|
85984 MULTIPOLYGON 1 POINT(-114.86854472054372 36.34725218253213)
|
||||||
drop table t1;
|
drop table t1;
|
||||||
create table t1 (fl geometry not null);
|
create table t1 (fl geometry not null);
|
||||||
insert into t1 values (1);
|
insert into t1 values (1);
|
||||||
|
@ -2609,6 +2609,33 @@ select a from t1 group by a having a > 1;
|
|||||||
a
|
a
|
||||||
drop table t1;
|
drop table t1;
|
||||||
set sql_mode= @save_sql_mode;
|
set sql_mode= @save_sql_mode;
|
||||||
|
create table t1 (f1 int);
|
||||||
|
insert into t1 values (5),(9);
|
||||||
|
create table t2 (f2 int);
|
||||||
|
insert into t2 values (0),(6);
|
||||||
|
create table t3 (f3 int);
|
||||||
|
insert into t3 values (6),(3);
|
||||||
|
create table t4 (f4 int);
|
||||||
|
insert into t4 values (1),(0);
|
||||||
|
select
|
||||||
|
(select min(f1) from t1 where f1 in (select min(f4) from t2)) as field7,
|
||||||
|
(select count(*) from t3 where f3 in (select max(f4) from t2 group by field7))
|
||||||
|
from t4;
|
||||||
|
ERROR 42S22: Reference 'field7' not supported (reference to group function)
|
||||||
|
drop table t1, t2, t3, t4;
|
||||||
|
create table t1 (i1 int);
|
||||||
|
insert into t1 values (1);
|
||||||
|
create table t2 (i int);
|
||||||
|
insert into t2 values (2);
|
||||||
|
select 1 from t1 left join t2 b on b.i = (select max(b.i) from t2);
|
||||||
|
1
|
||||||
|
1
|
||||||
|
drop table t1, t2;
|
||||||
|
create table t1 (c1 int, c2 int);
|
||||||
|
create table t2 (c1 int, c2 int);
|
||||||
|
select t1.c1 as c1, t2.c2 as c1 from t1, t2 where t1.c1 < 20 and t2.c2 > 5 group by t1.c1, t2.c2 having t1.c1 < 3;
|
||||||
|
c1 c1
|
||||||
|
drop table t1, t2;
|
||||||
#
|
#
|
||||||
# Bug #58782
|
# Bug #58782
|
||||||
# Missing rows with SELECT .. WHERE .. IN subquery
|
# Missing rows with SELECT .. WHERE .. IN subquery
|
||||||
|
@ -5,10 +5,10 @@ load xml infile '../../std_data/loadxml.dat' into table t1
|
|||||||
rows identified by '<row>';
|
rows identified by '<row>';
|
||||||
select * from t1 order by a;
|
select * from t1 order by a;
|
||||||
a b
|
a b
|
||||||
1 b1
|
1 b1
|
||||||
2 b2
|
2 b2
|
||||||
3 b3
|
3 b3
|
||||||
11 b11
|
11 b11
|
||||||
111 b111
|
111 b111
|
||||||
112 b112 & < > " ' &unknown; -- check entities
|
112 b112 & < > " ' &unknown; -- check entities
|
||||||
212 b212
|
212 b212
|
||||||
@ -81,17 +81,17 @@ LOAD XML INFILE '../../std_data/loadxml.dat' INTO TABLE t1
|
|||||||
ROWS IDENTIFIED BY '<row>' (a,@b) SET b=concat('!',@b);
|
ROWS IDENTIFIED BY '<row>' (a,@b) SET b=concat('!',@b);
|
||||||
SELECT * FROM t1 ORDER BY a;
|
SELECT * FROM t1 ORDER BY a;
|
||||||
a b
|
a b
|
||||||
1 !b1
|
1 ! b1
|
||||||
11 !b11
|
11 ! b11
|
||||||
111 !b111
|
111 !b111
|
||||||
112 !b112 & < > " ' &unknown; -- check entities
|
112 !b112 & < > " ' &unknown; -- check entities
|
||||||
2 !b2
|
2 ! b2
|
||||||
212 !b212
|
212 !b212
|
||||||
213 !b213
|
213 !b213
|
||||||
214 !b214
|
214 !b214
|
||||||
215 !b215
|
215 !b215
|
||||||
216 !&bb b;
|
216 !&bb b;
|
||||||
3 !b3
|
3 ! b3
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
# Bug#16171518 LOAD XML DOES NOT HANDLE EMPTY ELEMENTS
|
# Bug#16171518 LOAD XML DOES NOT HANDLE EMPTY ELEMENTS
|
||||||
|
@ -474,6 +474,29 @@ even_longer_user_name_number_3_to_test_the_grantor_and_definer_field_length@loca
|
|||||||
even_longer_user_name_number_3_to_test_the_grantor_and_definer_field_length@localhost
|
even_longer_user_name_number_3_to_test_the_grantor_and_definer_field_length@localhost
|
||||||
DROP USER very_long_user_name_number_1, very_long_user_name_number_2, even_longer_user_name_number_3_to_test_the_grantor_and_definer_field_length@localhost;
|
DROP USER very_long_user_name_number_1, very_long_user_name_number_2, even_longer_user_name_number_3_to_test_the_grantor_and_definer_field_length@localhost;
|
||||||
DROP PROCEDURE test.pr;
|
DROP PROCEDURE test.pr;
|
||||||
|
use test;
|
||||||
|
call mtr.add_suppression('Column last_update in table "mysql"."innodb_table_stats" is INT NOT NULL but should be');
|
||||||
|
alter table mysql.innodb_table_stats modify last_update int not null;
|
||||||
|
create table extralongname_extralongname_extralongname_extralongname_ext (
|
||||||
|
id int(10) unsigned not null,
|
||||||
|
created_date date not null,
|
||||||
|
created timestamp not null,
|
||||||
|
primary key (created,id,created_date)
|
||||||
|
) engine=innodb stats_persistent=1 default charset=latin1
|
||||||
|
partition by range (year(created_date))
|
||||||
|
subpartition by hash (month(created_date))
|
||||||
|
subpartitions 2 (
|
||||||
|
partition p2007 values less than (2008),
|
||||||
|
partition p2008 values less than (2009)
|
||||||
|
);
|
||||||
|
select length(table_name) from mysql.innodb_table_stats;
|
||||||
|
length(table_name)
|
||||||
|
79
|
||||||
|
79
|
||||||
|
79
|
||||||
|
79
|
||||||
|
drop table extralongname_extralongname_extralongname_extralongname_ext;
|
||||||
|
End of 10.0 tests
|
||||||
set sql_mode=default;
|
set sql_mode=default;
|
||||||
# Droping the previously created mysql_upgrade_info file..
|
# Droping the previously created mysql_upgrade_info file..
|
||||||
create table test.t1(a int) engine=MyISAM;
|
create table test.t1(a int) engine=MyISAM;
|
||||||
@ -536,4 +559,4 @@ t1 CREATE TABLE `t1` (
|
|||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP TABLE test.t1;
|
DROP TABLE test.t1;
|
||||||
SET GLOBAL enforce_storage_engine=NULL;
|
SET GLOBAL enforce_storage_engine=NULL;
|
||||||
End of tests
|
End of 10.1 tests
|
||||||
|
@ -34,6 +34,8 @@ create temporary table t3 (a int);
|
|||||||
create temporary table t4 (a int) select * from t3;
|
create temporary table t4 (a int) select * from t3;
|
||||||
insert into t3 values(1);
|
insert into t3 values(1);
|
||||||
insert into t4 select * from t3;
|
insert into t4 select * from t3;
|
||||||
|
create table t3 (a int);
|
||||||
|
ERROR HY000: The MariaDB server is running with the --read-only option so it cannot execute this statement
|
||||||
update t1,t3 set t1.a=t3.a+1 where t1.a=t3.a;
|
update t1,t3 set t1.a=t3.a+1 where t1.a=t3.a;
|
||||||
ERROR HY000: The MariaDB server is running with the --read-only option so it cannot execute this statement
|
ERROR HY000: The MariaDB server is running with the --read-only option so it cannot execute this statement
|
||||||
update t1,t3 set t3.a=t1.a+1 where t1.a=t3.a;
|
update t1,t3 set t3.a=t1.a+1 where t1.a=t3.a;
|
||||||
|
@ -7195,6 +7195,21 @@ SELECT ( SELECT MAX(f1) FROM t2 ) FROM t1;
|
|||||||
ERROR 21000: Subquery returns more than 1 row
|
ERROR 21000: Subquery returns more than 1 row
|
||||||
drop view v1;
|
drop view v1;
|
||||||
drop table t1,t2;
|
drop table t1,t2;
|
||||||
|
CREATE TABLE t1 (f1 INT, KEY(f1)) ENGINE=MyISAM;
|
||||||
|
INSERT t1 VALUES (4),(8);
|
||||||
|
CREATE TABLE t2 (f2 INT, KEY(f2)) ENGINE=MyISAM;
|
||||||
|
INSERT t2 VALUES (6);
|
||||||
|
SELECT (SELECT MAX(sq.f2) FROM t1) FROM (SELECT * FROM t2) AS sq WHERE f2 = 2;
|
||||||
|
(SELECT MAX(sq.f2) FROM t1)
|
||||||
|
NULL
|
||||||
|
#
|
||||||
|
# Disable this query till MDEV-13399 is resolved
|
||||||
|
#
|
||||||
|
# INSERT t2 VALUES (9);
|
||||||
|
# --error ER_SUBQUERY_NO_1_ROW
|
||||||
|
# SELECT (SELECT MAX(sq.f2) FROM t1) FROM (SELECT * FROM t2) AS sq WHERE f2 = 2;
|
||||||
|
#
|
||||||
|
drop table t1, t2;
|
||||||
# End of 10.0 tests
|
# End of 10.0 tests
|
||||||
#
|
#
|
||||||
# MDEV-9487: Server crashes in Time_and_counter_tracker::incr_loops
|
# MDEV-9487: Server crashes in Time_and_counter_tracker::incr_loops
|
||||||
|
@ -7195,6 +7195,21 @@ SELECT ( SELECT MAX(f1) FROM t2 ) FROM t1;
|
|||||||
ERROR 21000: Subquery returns more than 1 row
|
ERROR 21000: Subquery returns more than 1 row
|
||||||
drop view v1;
|
drop view v1;
|
||||||
drop table t1,t2;
|
drop table t1,t2;
|
||||||
|
CREATE TABLE t1 (f1 INT, KEY(f1)) ENGINE=MyISAM;
|
||||||
|
INSERT t1 VALUES (4),(8);
|
||||||
|
CREATE TABLE t2 (f2 INT, KEY(f2)) ENGINE=MyISAM;
|
||||||
|
INSERT t2 VALUES (6);
|
||||||
|
SELECT (SELECT MAX(sq.f2) FROM t1) FROM (SELECT * FROM t2) AS sq WHERE f2 = 2;
|
||||||
|
(SELECT MAX(sq.f2) FROM t1)
|
||||||
|
NULL
|
||||||
|
#
|
||||||
|
# Disable this query till MDEV-13399 is resolved
|
||||||
|
#
|
||||||
|
# INSERT t2 VALUES (9);
|
||||||
|
# --error ER_SUBQUERY_NO_1_ROW
|
||||||
|
# SELECT (SELECT MAX(sq.f2) FROM t1) FROM (SELECT * FROM t2) AS sq WHERE f2 = 2;
|
||||||
|
#
|
||||||
|
drop table t1, t2;
|
||||||
# End of 10.0 tests
|
# End of 10.0 tests
|
||||||
#
|
#
|
||||||
# MDEV-9487: Server crashes in Time_and_counter_tracker::incr_loops
|
# MDEV-9487: Server crashes in Time_and_counter_tracker::incr_loops
|
||||||
|
@ -7188,6 +7188,21 @@ SELECT ( SELECT MAX(f1) FROM t2 ) FROM t1;
|
|||||||
ERROR 21000: Subquery returns more than 1 row
|
ERROR 21000: Subquery returns more than 1 row
|
||||||
drop view v1;
|
drop view v1;
|
||||||
drop table t1,t2;
|
drop table t1,t2;
|
||||||
|
CREATE TABLE t1 (f1 INT, KEY(f1)) ENGINE=MyISAM;
|
||||||
|
INSERT t1 VALUES (4),(8);
|
||||||
|
CREATE TABLE t2 (f2 INT, KEY(f2)) ENGINE=MyISAM;
|
||||||
|
INSERT t2 VALUES (6);
|
||||||
|
SELECT (SELECT MAX(sq.f2) FROM t1) FROM (SELECT * FROM t2) AS sq WHERE f2 = 2;
|
||||||
|
(SELECT MAX(sq.f2) FROM t1)
|
||||||
|
NULL
|
||||||
|
#
|
||||||
|
# Disable this query till MDEV-13399 is resolved
|
||||||
|
#
|
||||||
|
# INSERT t2 VALUES (9);
|
||||||
|
# --error ER_SUBQUERY_NO_1_ROW
|
||||||
|
# SELECT (SELECT MAX(sq.f2) FROM t1) FROM (SELECT * FROM t2) AS sq WHERE f2 = 2;
|
||||||
|
#
|
||||||
|
drop table t1, t2;
|
||||||
# End of 10.0 tests
|
# End of 10.0 tests
|
||||||
#
|
#
|
||||||
# MDEV-9487: Server crashes in Time_and_counter_tracker::incr_loops
|
# MDEV-9487: Server crashes in Time_and_counter_tracker::incr_loops
|
||||||
|
@ -7186,6 +7186,21 @@ SELECT ( SELECT MAX(f1) FROM t2 ) FROM t1;
|
|||||||
ERROR 21000: Subquery returns more than 1 row
|
ERROR 21000: Subquery returns more than 1 row
|
||||||
drop view v1;
|
drop view v1;
|
||||||
drop table t1,t2;
|
drop table t1,t2;
|
||||||
|
CREATE TABLE t1 (f1 INT, KEY(f1)) ENGINE=MyISAM;
|
||||||
|
INSERT t1 VALUES (4),(8);
|
||||||
|
CREATE TABLE t2 (f2 INT, KEY(f2)) ENGINE=MyISAM;
|
||||||
|
INSERT t2 VALUES (6);
|
||||||
|
SELECT (SELECT MAX(sq.f2) FROM t1) FROM (SELECT * FROM t2) AS sq WHERE f2 = 2;
|
||||||
|
(SELECT MAX(sq.f2) FROM t1)
|
||||||
|
NULL
|
||||||
|
#
|
||||||
|
# Disable this query till MDEV-13399 is resolved
|
||||||
|
#
|
||||||
|
# INSERT t2 VALUES (9);
|
||||||
|
# --error ER_SUBQUERY_NO_1_ROW
|
||||||
|
# SELECT (SELECT MAX(sq.f2) FROM t1) FROM (SELECT * FROM t2) AS sq WHERE f2 = 2;
|
||||||
|
#
|
||||||
|
drop table t1, t2;
|
||||||
# End of 10.0 tests
|
# End of 10.0 tests
|
||||||
#
|
#
|
||||||
# MDEV-9487: Server crashes in Time_and_counter_tracker::incr_loops
|
# MDEV-9487: Server crashes in Time_and_counter_tracker::incr_loops
|
||||||
|
@ -7201,6 +7201,21 @@ SELECT ( SELECT MAX(f1) FROM t2 ) FROM t1;
|
|||||||
ERROR 21000: Subquery returns more than 1 row
|
ERROR 21000: Subquery returns more than 1 row
|
||||||
drop view v1;
|
drop view v1;
|
||||||
drop table t1,t2;
|
drop table t1,t2;
|
||||||
|
CREATE TABLE t1 (f1 INT, KEY(f1)) ENGINE=MyISAM;
|
||||||
|
INSERT t1 VALUES (4),(8);
|
||||||
|
CREATE TABLE t2 (f2 INT, KEY(f2)) ENGINE=MyISAM;
|
||||||
|
INSERT t2 VALUES (6);
|
||||||
|
SELECT (SELECT MAX(sq.f2) FROM t1) FROM (SELECT * FROM t2) AS sq WHERE f2 = 2;
|
||||||
|
(SELECT MAX(sq.f2) FROM t1)
|
||||||
|
NULL
|
||||||
|
#
|
||||||
|
# Disable this query till MDEV-13399 is resolved
|
||||||
|
#
|
||||||
|
# INSERT t2 VALUES (9);
|
||||||
|
# --error ER_SUBQUERY_NO_1_ROW
|
||||||
|
# SELECT (SELECT MAX(sq.f2) FROM t1) FROM (SELECT * FROM t2) AS sq WHERE f2 = 2;
|
||||||
|
#
|
||||||
|
drop table t1, t2;
|
||||||
# End of 10.0 tests
|
# End of 10.0 tests
|
||||||
#
|
#
|
||||||
# MDEV-9487: Server crashes in Time_and_counter_tracker::incr_loops
|
# MDEV-9487: Server crashes in Time_and_counter_tracker::incr_loops
|
||||||
|
@ -7186,6 +7186,21 @@ SELECT ( SELECT MAX(f1) FROM t2 ) FROM t1;
|
|||||||
ERROR 21000: Subquery returns more than 1 row
|
ERROR 21000: Subquery returns more than 1 row
|
||||||
drop view v1;
|
drop view v1;
|
||||||
drop table t1,t2;
|
drop table t1,t2;
|
||||||
|
CREATE TABLE t1 (f1 INT, KEY(f1)) ENGINE=MyISAM;
|
||||||
|
INSERT t1 VALUES (4),(8);
|
||||||
|
CREATE TABLE t2 (f2 INT, KEY(f2)) ENGINE=MyISAM;
|
||||||
|
INSERT t2 VALUES (6);
|
||||||
|
SELECT (SELECT MAX(sq.f2) FROM t1) FROM (SELECT * FROM t2) AS sq WHERE f2 = 2;
|
||||||
|
(SELECT MAX(sq.f2) FROM t1)
|
||||||
|
NULL
|
||||||
|
#
|
||||||
|
# Disable this query till MDEV-13399 is resolved
|
||||||
|
#
|
||||||
|
# INSERT t2 VALUES (9);
|
||||||
|
# --error ER_SUBQUERY_NO_1_ROW
|
||||||
|
# SELECT (SELECT MAX(sq.f2) FROM t1) FROM (SELECT * FROM t2) AS sq WHERE f2 = 2;
|
||||||
|
#
|
||||||
|
drop table t1, t2;
|
||||||
# End of 10.0 tests
|
# End of 10.0 tests
|
||||||
#
|
#
|
||||||
# MDEV-9487: Server crashes in Time_and_counter_tracker::incr_loops
|
# MDEV-9487: Server crashes in Time_and_counter_tracker::incr_loops
|
||||||
|
@ -115,3 +115,9 @@ k d1 d2
|
|||||||
set optimizer_switch= @tmp_subselect_nulls;
|
set optimizer_switch= @tmp_subselect_nulls;
|
||||||
drop table x1;
|
drop table x1;
|
||||||
drop table x2;
|
drop table x2;
|
||||||
|
select (select 1, 2) in (select 3, 4);
|
||||||
|
(select 1, 2) in (select 3, 4)
|
||||||
|
0
|
||||||
|
select (select NULL, NULL) in (select 3, 4);
|
||||||
|
(select NULL, NULL) in (select 3, 4)
|
||||||
|
NULL
|
||||||
|
@ -2051,6 +2051,24 @@ d
|
|||||||
2016-06-04 00:00:00
|
2016-06-04 00:00:00
|
||||||
drop table t1;
|
drop table t1;
|
||||||
End of 5.0 tests
|
End of 5.0 tests
|
||||||
|
create table t1 (a int, b int);
|
||||||
|
insert into t1 values (1,1),(2,2),(3,3);
|
||||||
|
create table t2 (c varchar(30), d varchar(30));
|
||||||
|
insert into t1 values ('1','1'),('2','2'),('4','4');
|
||||||
|
create table t3 (e int, f int);
|
||||||
|
insert into t3 values (1,1),(2,2),(31,31),(32,32);
|
||||||
|
select e,f, (e , f) in (select e,b from t1 union select c,d from t2) as sub from t3;
|
||||||
|
e f sub
|
||||||
|
1 1 1
|
||||||
|
2 2 1
|
||||||
|
31 31 0
|
||||||
|
32 32 0
|
||||||
|
select avg(f), (e , f) in (select e,b from t1 union select c,d from t2) as sub from t3 group by sub;
|
||||||
|
avg(f) sub
|
||||||
|
31.5000 0
|
||||||
|
1.5000 1
|
||||||
|
drop table t1,t2,t3;
|
||||||
|
End of 5.5 tests
|
||||||
#
|
#
|
||||||
# WL#1763 Avoid creating temporary table in UNION ALL
|
# WL#1763 Avoid creating temporary table in UNION ALL
|
||||||
#
|
#
|
||||||
|
@ -5651,6 +5651,20 @@ Warnings:
|
|||||||
Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`c` AS `c`,`test`.`t2`.`d` AS `d`,`test`.`t3`.`e` AS `e`,`test`.`t3`.`f` AS `f` from `test`.`t1` left join (`test`.`t2` join `test`.`t3`) on(((`test`.`t2`.`c` = `test`.`t1`.`b`) and (`test`.`t3`.`f` = `test`.`t1`.`a`) and (`test`.`t2`.`d` = `test`.`t3`.`e`) and (`test`.`t1`.`a` is not null) and (`test`.`t1`.`a` is not null) and (`test`.`t1`.`b` is not null))) where (`test`.`t1`.`a` < 5)
|
Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`c` AS `c`,`test`.`t2`.`d` AS `d`,`test`.`t3`.`e` AS `e`,`test`.`t3`.`f` AS `f` from `test`.`t1` left join (`test`.`t2` join `test`.`t3`) on(((`test`.`t2`.`c` = `test`.`t1`.`b`) and (`test`.`t3`.`f` = `test`.`t1`.`a`) and (`test`.`t2`.`d` = `test`.`t3`.`e`) and (`test`.`t1`.`a` is not null) and (`test`.`t1`.`a` is not null) and (`test`.`t1`.`b` is not null))) where (`test`.`t1`.`a` < 5)
|
||||||
drop view v1;
|
drop view v1;
|
||||||
drop table t1,t2,t3;
|
drop table t1,t2,t3;
|
||||||
|
#
|
||||||
|
# MDEV-11240: Server crashes in check_view_single_update or
|
||||||
|
# Assertion `derived->table' failed in mysql_derived_merge_for_insert
|
||||||
|
#
|
||||||
|
CREATE TABLE t3 (a INT);
|
||||||
|
CREATE ALGORITHM = MERGE VIEW v1 AS SELECT t2.a FROM t3 AS t1, t3 AS t2;
|
||||||
|
CREATE ALGORITHM = MERGE VIEW v2 AS SELECT * FROM v1;
|
||||||
|
PREPARE stmt FROM 'REPLACE INTO v2 SELECT a FROM t3';
|
||||||
|
EXECUTE stmt;
|
||||||
|
ERROR HY000: Can not insert into join view 'test.v2' without fields list
|
||||||
|
EXECUTE stmt;
|
||||||
|
ERROR HY000: Can not insert into join view 'test.v2' without fields list
|
||||||
|
drop view v1,v2;
|
||||||
|
drop table t3;
|
||||||
# -----------------------------------------------------------------
|
# -----------------------------------------------------------------
|
||||||
# -- End of 5.5 tests.
|
# -- End of 5.5 tests.
|
||||||
# -----------------------------------------------------------------
|
# -----------------------------------------------------------------
|
||||||
|
@ -9,19 +9,19 @@
|
|||||||
<table_data name="t1">
|
<table_data name="t1">
|
||||||
<row>
|
<row>
|
||||||
<field name="a">1</field>
|
<field name="a">1</field>
|
||||||
<field name="b">b1</field>
|
<field name="b"> b1</field>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<field name="a">2</field>
|
<field name="a">2</field>
|
||||||
<field name="b">b2</field>
|
<field name="b"> b2</field>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<field name="a">3</field>
|
<field name="a">3</field>
|
||||||
<field name="b">b3</field>
|
<field name="b"> b3</field>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<field name="a">11</field>
|
<field name="a">11</field>
|
||||||
<field name="b">b11</field>
|
<field name="b"> b11</field>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
<!-- Check field values as tags -->
|
<!-- Check field values as tags -->
|
||||||
|
@ -326,8 +326,8 @@ fid IsClosed(g)
|
|||||||
116 0
|
116 0
|
||||||
SELECT fid, AsText(Centroid(g)) FROM gis_multi_polygon ORDER by fid;
|
SELECT fid, AsText(Centroid(g)) FROM gis_multi_polygon ORDER by fid;
|
||||||
fid AsText(Centroid(g))
|
fid AsText(Centroid(g))
|
||||||
117 POINT(55.58852775304245 17.426536064113982)
|
117 POINT(57.98031067576927 17.854754130800433)
|
||||||
118 POINT(55.58852775304245 17.426536064113982)
|
118 POINT(57.98031067576927 17.854754130800433)
|
||||||
119 POINT(2 2)
|
119 POINT(2 2)
|
||||||
SELECT fid, Area(g) FROM gis_multi_polygon ORDER by fid;
|
SELECT fid, Area(g) FROM gis_multi_polygon ORDER by fid;
|
||||||
fid Area(g)
|
fid Area(g)
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
#### Setup tables ####
|
#### Setup tables ####
|
||||||
CREATE TABLE t0 (a CHAR(100));
|
CREATE TABLE t0 (a CHAR(200));
|
||||||
CREATE TABLE t1 (a CHAR(100));
|
CREATE TABLE t1 (a CHAR(200));
|
||||||
CREATE TABLE t2 (a CHAR(100));
|
CREATE TABLE t2 (a CHAR(200));
|
||||||
CREATE TABLE t3 (a CHAR(100));
|
CREATE TABLE t3 (a CHAR(200));
|
||||||
CREATE TABLE ta0 (a CHAR(100));
|
CREATE TABLE ta0 (a CHAR(200));
|
||||||
CREATE TABLE ta1 (a CHAR(100));
|
CREATE TABLE ta1 (a CHAR(200));
|
||||||
CREATE TABLE ta2 (a CHAR(100));
|
CREATE TABLE ta2 (a CHAR(200));
|
||||||
CREATE TABLE ta3 (a CHAR(100));
|
CREATE TABLE ta3 (a CHAR(200));
|
||||||
CREATE TABLE autoinc_table (a INT PRIMARY KEY AUTO_INCREMENT);
|
CREATE TABLE autoinc_table (a INT PRIMARY KEY AUTO_INCREMENT);
|
||||||
CREATE TABLE data_table (a CHAR(100));
|
CREATE TABLE data_table (a CHAR(200));
|
||||||
INSERT INTO data_table VALUES ('foo');
|
INSERT INTO data_table VALUES ('foo');
|
||||||
CREATE TABLE trigger_table_1 (a INT);
|
CREATE TABLE trigger_table_1 (a INT);
|
||||||
CREATE TABLE trigger_table_2 (a INT);
|
CREATE TABLE trigger_table_2 (a INT);
|
||||||
@ -2392,7 +2392,7 @@ Note 1592 Unsafe statement written to the binary log using statement format sinc
|
|||||||
DROP PROCEDURE p1;
|
DROP PROCEDURE p1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
DROP TABLE IF EXISTS t1;
|
DROP TABLE IF EXISTS t1;
|
||||||
CREATE TABLE t1 (a VARCHAR(100), b VARCHAR(100));
|
CREATE TABLE t1 (a VARCHAR(200), b VARCHAR(200));
|
||||||
INSERT INTO t1 VALUES ('a','b');
|
INSERT INTO t1 VALUES ('a','b');
|
||||||
UPDATE t1 SET b = '%s%s%s%s%s%s%s%s%s%s%s%s%s%s' WHERE a = 'a' LIMIT 1;
|
UPDATE t1 SET b = '%s%s%s%s%s%s%s%s%s%s%s%s%s%s' WHERE a = 'a' LIMIT 1;
|
||||||
Warnings:
|
Warnings:
|
||||||
@ -2423,7 +2423,7 @@ CREATE FUNCTION fun_check_log_bin() RETURNS INT
|
|||||||
BEGIN
|
BEGIN
|
||||||
SET @@SQL_LOG_BIN = 0;
|
SET @@SQL_LOG_BIN = 0;
|
||||||
INSERT INTO t1 VALUES(@@global.sync_binlog);
|
INSERT INTO t1 VALUES(@@global.sync_binlog);
|
||||||
RETURN 100;
|
RETURN 200;
|
||||||
END|
|
END|
|
||||||
"One unsafe warning should be issued in the following statement"
|
"One unsafe warning should be issued in the following statement"
|
||||||
SELECT fun_check_log_bin();
|
SELECT fun_check_log_bin();
|
||||||
|
@ -106,16 +106,16 @@ call mtr.add_suppression("Unsafe statement written to the binary log using state
|
|||||||
|
|
||||||
--echo #### Setup tables ####
|
--echo #### Setup tables ####
|
||||||
|
|
||||||
CREATE TABLE t0 (a CHAR(100));
|
CREATE TABLE t0 (a CHAR(200));
|
||||||
CREATE TABLE t1 (a CHAR(100));
|
CREATE TABLE t1 (a CHAR(200));
|
||||||
CREATE TABLE t2 (a CHAR(100));
|
CREATE TABLE t2 (a CHAR(200));
|
||||||
CREATE TABLE t3 (a CHAR(100));
|
CREATE TABLE t3 (a CHAR(200));
|
||||||
CREATE TABLE ta0 (a CHAR(100));
|
CREATE TABLE ta0 (a CHAR(200));
|
||||||
CREATE TABLE ta1 (a CHAR(100));
|
CREATE TABLE ta1 (a CHAR(200));
|
||||||
CREATE TABLE ta2 (a CHAR(100));
|
CREATE TABLE ta2 (a CHAR(200));
|
||||||
CREATE TABLE ta3 (a CHAR(100));
|
CREATE TABLE ta3 (a CHAR(200));
|
||||||
CREATE TABLE autoinc_table (a INT PRIMARY KEY AUTO_INCREMENT);
|
CREATE TABLE autoinc_table (a INT PRIMARY KEY AUTO_INCREMENT);
|
||||||
CREATE TABLE data_table (a CHAR(100));
|
CREATE TABLE data_table (a CHAR(200));
|
||||||
INSERT INTO data_table VALUES ('foo');
|
INSERT INTO data_table VALUES ('foo');
|
||||||
CREATE TABLE trigger_table_1 (a INT);
|
CREATE TABLE trigger_table_1 (a INT);
|
||||||
CREATE TABLE trigger_table_2 (a INT);
|
CREATE TABLE trigger_table_2 (a INT);
|
||||||
@ -429,7 +429,7 @@ DROP TABLE t1;
|
|||||||
DROP TABLE IF EXISTS t1;
|
DROP TABLE IF EXISTS t1;
|
||||||
--enable_warnings
|
--enable_warnings
|
||||||
|
|
||||||
CREATE TABLE t1 (a VARCHAR(100), b VARCHAR(100));
|
CREATE TABLE t1 (a VARCHAR(200), b VARCHAR(200));
|
||||||
INSERT INTO t1 VALUES ('a','b');
|
INSERT INTO t1 VALUES ('a','b');
|
||||||
UPDATE t1 SET b = '%s%s%s%s%s%s%s%s%s%s%s%s%s%s' WHERE a = 'a' LIMIT 1;
|
UPDATE t1 SET b = '%s%s%s%s%s%s%s%s%s%s%s%s%s%s' WHERE a = 'a' LIMIT 1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
@ -467,7 +467,7 @@ CREATE FUNCTION fun_check_log_bin() RETURNS INT
|
|||||||
BEGIN
|
BEGIN
|
||||||
SET @@SQL_LOG_BIN = 0;
|
SET @@SQL_LOG_BIN = 0;
|
||||||
INSERT INTO t1 VALUES(@@global.sync_binlog);
|
INSERT INTO t1 VALUES(@@global.sync_binlog);
|
||||||
RETURN 100;
|
RETURN 200;
|
||||||
END|
|
END|
|
||||||
DELIMITER ;|
|
DELIMITER ;|
|
||||||
--echo "One unsafe warning should be issued in the following statement"
|
--echo "One unsafe warning should be issued in the following statement"
|
||||||
|
@ -326,8 +326,8 @@ fid IsClosed(g)
|
|||||||
116 0
|
116 0
|
||||||
SELECT fid, AsText(Centroid(g)) FROM gis_multi_polygon ORDER by fid;
|
SELECT fid, AsText(Centroid(g)) FROM gis_multi_polygon ORDER by fid;
|
||||||
fid AsText(Centroid(g))
|
fid AsText(Centroid(g))
|
||||||
117 POINT(55.58852775304245 17.426536064113982)
|
117 POINT(57.98031067576927 17.854754130800433)
|
||||||
118 POINT(55.58852775304245 17.426536064113982)
|
118 POINT(57.98031067576927 17.854754130800433)
|
||||||
119 POINT(2 2)
|
119 POINT(2 2)
|
||||||
SELECT fid, Area(g) FROM gis_multi_polygon ORDER by fid;
|
SELECT fid, Area(g) FROM gis_multi_polygon ORDER by fid;
|
||||||
fid Area(g)
|
fid Area(g)
|
||||||
|
29
mysql-test/suite/rpl/r/rpl_reset_slave_fail.result
Normal file
29
mysql-test/suite/rpl/r/rpl_reset_slave_fail.result
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
include/master-slave.inc
|
||||||
|
[connection master]
|
||||||
|
CREATE TABLE t1 (c1 INT);
|
||||||
|
INSERT INTO t1 (c1) VALUES (1);
|
||||||
|
include/stop_slave_sql.inc
|
||||||
|
FLUSH LOGS;
|
||||||
|
FLUSH LOGS;
|
||||||
|
INSERT INTO t1 (c1) VALUES (2);
|
||||||
|
include/sync_slave_io_with_master.inc
|
||||||
|
call mtr.add_suppression("File '.*slave-relay-bin.");
|
||||||
|
call mtr.add_suppression("Could not open log file");
|
||||||
|
call mtr.add_suppression("Failed to open the relay log");
|
||||||
|
call mtr.add_suppression("Failed to initialize the master info structure");
|
||||||
|
include/rpl_stop_server.inc [server_number=2]
|
||||||
|
# Removing file(s)
|
||||||
|
include/rpl_start_server.inc [server_number=2]
|
||||||
|
START SLAVE;
|
||||||
|
ERROR HY000: Could not initialize master info structure for ''; more error messages can be found in the MariaDB error log
|
||||||
|
START SLAVE;
|
||||||
|
ERROR HY000: Could not initialize master info structure for ''; more error messages can be found in the MariaDB error log
|
||||||
|
RESET SLAVE;
|
||||||
|
DROP TABLE t1;
|
||||||
|
START SLAVE UNTIL MASTER_LOG_FILE= 'MASTER_LOG_FILE', MASTER_LOG_POS= MASTER_LOG_POS;;
|
||||||
|
include/wait_for_slave_sql_to_stop.inc
|
||||||
|
include/stop_slave_io.inc
|
||||||
|
include/start_slave.inc
|
||||||
|
include/diff_tables.inc [master:t1, slave:t1]
|
||||||
|
DROP TABLE t1;
|
||||||
|
include/rpl_end.inc
|
91
mysql-test/suite/rpl/t/rpl_reset_slave_fail.test
Normal file
91
mysql-test/suite/rpl/t/rpl_reset_slave_fail.test
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
###############################################################################
|
||||||
|
# Bug#24901077: RESET SLAVE ALL DOES NOT ALWAYS RESET SLAVE
|
||||||
|
#
|
||||||
|
# Problem:
|
||||||
|
# =======
|
||||||
|
# If you have a relay log index file that has ended up with
|
||||||
|
# some relay log files that do not exists, then RESET SLAVE
|
||||||
|
# ALL is not enough to get back to a clean state.
|
||||||
|
###############################################################################
|
||||||
|
# Remove all slave-relay-bin.0* files (do not remove slave-relay-bin.index)
|
||||||
|
# During server restart rli initialization will fail as there are no
|
||||||
|
# relay logs. In case of bug RESET SLAVE will not do the required clean up
|
||||||
|
# as rli is not inited and subsequent START SLAVE will fail.
|
||||||
|
# Disable "Warning 1612 Being purged log ./slave-relay-bin.0* was not found"
|
||||||
|
# because it is different on Unix and Windows systems.
|
||||||
|
|
||||||
|
--source include/have_binlog_format_mixed.inc
|
||||||
|
--source include/master-slave.inc
|
||||||
|
|
||||||
|
--connection master
|
||||||
|
CREATE TABLE t1 (c1 INT);
|
||||||
|
INSERT INTO t1 (c1) VALUES (1);
|
||||||
|
--sync_slave_with_master
|
||||||
|
|
||||||
|
--connection slave
|
||||||
|
--source include/stop_slave_sql.inc
|
||||||
|
--let $MYSQLD_SLAVE_DATADIR= `select @@datadir`
|
||||||
|
|
||||||
|
--connection master
|
||||||
|
# Generate more relay logs on slave.
|
||||||
|
FLUSH LOGS;
|
||||||
|
FLUSH LOGS;
|
||||||
|
INSERT INTO t1 (c1) VALUES (2);
|
||||||
|
|
||||||
|
--source include/sync_slave_io_with_master.inc
|
||||||
|
call mtr.add_suppression("File '.*slave-relay-bin.");
|
||||||
|
call mtr.add_suppression("Could not open log file");
|
||||||
|
call mtr.add_suppression("Failed to open the relay log");
|
||||||
|
call mtr.add_suppression("Failed to initialize the master info structure");
|
||||||
|
|
||||||
|
# Stop slave
|
||||||
|
--let $rpl_server_number= 2
|
||||||
|
--source include/rpl_stop_server.inc
|
||||||
|
|
||||||
|
# Delete file(s)
|
||||||
|
--echo # Removing $remove_pattern file(s)
|
||||||
|
--let $remove_pattern= slave-relay-bin.0*
|
||||||
|
--remove_files_wildcard $MYSQLD_SLAVE_DATADIR $remove_pattern
|
||||||
|
|
||||||
|
# Start slave
|
||||||
|
--let $rpl_server_number= 2
|
||||||
|
--source include/rpl_start_server.inc
|
||||||
|
|
||||||
|
# Start slave must fail because of the removed file(s).
|
||||||
|
--error ER_MASTER_INFO
|
||||||
|
START SLAVE;
|
||||||
|
|
||||||
|
# Try a second time, it must fail again.
|
||||||
|
--error ER_MASTER_INFO
|
||||||
|
START SLAVE;
|
||||||
|
|
||||||
|
# Retrieve master executed position before reset slave.
|
||||||
|
--let $master_exec_file= query_get_value("SHOW SLAVE STATUS", Relay_Master_Log_File, 1)
|
||||||
|
--let $master_exec_pos= query_get_value("SHOW SLAVE STATUS", Exec_Master_Log_Pos, 1)
|
||||||
|
|
||||||
|
# Reset slave.
|
||||||
|
# Disable "Warning 1612 Being purged log ./slave-relay-bin.0* was not found"
|
||||||
|
# because it is different on Unix and Windows systems.
|
||||||
|
--disable_warnings
|
||||||
|
RESET SLAVE;
|
||||||
|
--enable_warnings
|
||||||
|
DROP TABLE t1;
|
||||||
|
--replace_result $master_exec_file MASTER_LOG_FILE $master_exec_pos MASTER_LOG_POS
|
||||||
|
--eval START SLAVE UNTIL MASTER_LOG_FILE= '$master_exec_file', MASTER_LOG_POS= $master_exec_pos;
|
||||||
|
--source include/wait_for_slave_sql_to_stop.inc
|
||||||
|
--source include/stop_slave_io.inc
|
||||||
|
|
||||||
|
# Start slave.
|
||||||
|
--source include/start_slave.inc
|
||||||
|
|
||||||
|
--connection master
|
||||||
|
--sync_slave_with_master
|
||||||
|
# Check consistency.
|
||||||
|
--let $diff_tables= master:t1, slave:t1
|
||||||
|
--source include/diff_tables.inc
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
--connection master
|
||||||
|
DROP TABLE t1;
|
||||||
|
--sync_slave_with_master
|
||||||
|
--source include/rpl_end.inc
|
@ -350,8 +350,8 @@ fid IsClosed(g)
|
|||||||
116 0
|
116 0
|
||||||
SELECT fid, AsText(Centroid(g)) FROM gis_multi_polygon;
|
SELECT fid, AsText(Centroid(g)) FROM gis_multi_polygon;
|
||||||
fid AsText(Centroid(g))
|
fid AsText(Centroid(g))
|
||||||
117 POINT(55.58852775304245 17.426536064113982)
|
117 POINT(57.98031067576927 17.854754130800433)
|
||||||
118 POINT(55.58852775304245 17.426536064113982)
|
118 POINT(57.98031067576927 17.854754130800433)
|
||||||
119 POINT(2 2)
|
119 POINT(2 2)
|
||||||
SELECT fid, Area(g) FROM gis_multi_polygon;
|
SELECT fid, Area(g) FROM gis_multi_polygon;
|
||||||
fid Area(g)
|
fid Area(g)
|
||||||
|
@ -350,8 +350,8 @@ fid IsClosed(g)
|
|||||||
116 0
|
116 0
|
||||||
SELECT fid, AsText(Centroid(g)) FROM gis_multi_polygon;
|
SELECT fid, AsText(Centroid(g)) FROM gis_multi_polygon;
|
||||||
fid AsText(Centroid(g))
|
fid AsText(Centroid(g))
|
||||||
117 POINT(55.58852775304245 17.426536064113982)
|
117 POINT(57.98031067576927 17.854754130800433)
|
||||||
118 POINT(55.58852775304245 17.426536064113982)
|
118 POINT(57.98031067576927 17.854754130800433)
|
||||||
119 POINT(2 2)
|
119 POINT(2 2)
|
||||||
SELECT fid, Area(g) FROM gis_multi_polygon;
|
SELECT fid, Area(g) FROM gis_multi_polygon;
|
||||||
fid Area(g)
|
fid Area(g)
|
||||||
@ -1050,8 +1050,8 @@ fid IsClosed(g)
|
|||||||
116 0
|
116 0
|
||||||
SELECT fid, AsText(Centroid(g)) FROM gis_multi_polygon;
|
SELECT fid, AsText(Centroid(g)) FROM gis_multi_polygon;
|
||||||
fid AsText(Centroid(g))
|
fid AsText(Centroid(g))
|
||||||
117 POINT(55.58852775304245 17.426536064113982)
|
117 POINT(57.98031067576927 17.854754130800433)
|
||||||
118 POINT(55.58852775304245 17.426536064113982)
|
118 POINT(57.98031067576927 17.854754130800433)
|
||||||
119 POINT(2 2)
|
119 POINT(2 2)
|
||||||
SELECT fid, Area(g) FROM gis_multi_polygon;
|
SELECT fid, Area(g) FROM gis_multi_polygon;
|
||||||
fid Area(g)
|
fid Area(g)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
--- suite/sys_vars/r/sysvars_innodb.result 2016-05-06 14:03:16.000000000 +0300
|
--- suite/sys_vars/r/sysvars_innodb.result
|
||||||
+++ suite/sys_vars/r/sysvars_innodb,32bit.reject 2016-05-08 13:28:44.312418574 +0300
|
+++ suite/sys_vars/r/sysvars_innodb,32bit.reject
|
||||||
@@ -47,13 +47,27 @@
|
@@ -47,13 +47,27 @@
|
||||||
ENUM_VALUE_LIST OFF,ON
|
ENUM_VALUE_LIST OFF,ON
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
@ -298,7 +298,7 @@
|
|||||||
VARIABLE_NAME INNODB_DATA_FILE_PATH
|
VARIABLE_NAME INNODB_DATA_FILE_PATH
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE ibdata1:12M:autoextend
|
GLOBAL_VALUE ibdata1:12M:autoextend
|
||||||
@@ -753,7 +893,7 @@
|
@@ -767,7 +907,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 120
|
DEFAULT_VALUE 120
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -307,7 +307,7 @@
|
|||||||
VARIABLE_COMMENT Number of pages reserved in doublewrite buffer for batch flushing
|
VARIABLE_COMMENT Number of pages reserved in doublewrite buffer for batch flushing
|
||||||
NUMERIC_MIN_VALUE 1
|
NUMERIC_MIN_VALUE 1
|
||||||
NUMERIC_MAX_VALUE 127
|
NUMERIC_MAX_VALUE 127
|
||||||
@@ -761,6 +901,20 @@
|
@@ -775,6 +915,20 @@
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY YES
|
READ_ONLY YES
|
||||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
COMMAND_LINE_ARGUMENT OPTIONAL
|
||||||
@ -328,7 +328,7 @@
|
|||||||
VARIABLE_NAME INNODB_ENCRYPTION_ROTATE_KEY_AGE
|
VARIABLE_NAME INNODB_ENCRYPTION_ROTATE_KEY_AGE
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE 1
|
GLOBAL_VALUE 1
|
||||||
@@ -831,13 +985,27 @@
|
@@ -845,13 +999,27 @@
|
||||||
ENUM_VALUE_LIST OFF,ON,FORCE
|
ENUM_VALUE_LIST OFF,ON,FORCE
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
COMMAND_LINE_ARGUMENT OPTIONAL
|
||||||
@ -357,7 +357,7 @@
|
|||||||
VARIABLE_COMMENT Speeds up the shutdown process of the InnoDB storage engine. Possible values are 0, 1 (faster) or 2 (fastest - crash-like).
|
VARIABLE_COMMENT Speeds up the shutdown process of the InnoDB storage engine. Possible values are 0, 1 (faster) or 2 (fastest - crash-like).
|
||||||
NUMERIC_MIN_VALUE 0
|
NUMERIC_MIN_VALUE 0
|
||||||
NUMERIC_MAX_VALUE 2
|
NUMERIC_MAX_VALUE 2
|
||||||
@@ -851,7 +1019,7 @@
|
@@ -865,7 +1033,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 600
|
DEFAULT_VALUE 600
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -366,7 +366,7 @@
|
|||||||
VARIABLE_COMMENT Maximum number of seconds that semaphore times out in InnoDB.
|
VARIABLE_COMMENT Maximum number of seconds that semaphore times out in InnoDB.
|
||||||
NUMERIC_MIN_VALUE 1
|
NUMERIC_MIN_VALUE 1
|
||||||
NUMERIC_MAX_VALUE 4294967295
|
NUMERIC_MAX_VALUE 4294967295
|
||||||
@@ -921,7 +1089,7 @@
|
@@ -935,7 +1103,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 0
|
DEFAULT_VALUE 0
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -375,7 +375,7 @@
|
|||||||
VARIABLE_COMMENT Make the first page of the given tablespace dirty.
|
VARIABLE_COMMENT Make the first page of the given tablespace dirty.
|
||||||
NUMERIC_MIN_VALUE 0
|
NUMERIC_MIN_VALUE 0
|
||||||
NUMERIC_MAX_VALUE 4294967295
|
NUMERIC_MAX_VALUE 4294967295
|
||||||
@@ -935,7 +1103,7 @@
|
@@ -949,7 +1117,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 30
|
DEFAULT_VALUE 30
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -384,7 +384,7 @@
|
|||||||
VARIABLE_COMMENT Number of iterations over which the background flushing is averaged.
|
VARIABLE_COMMENT Number of iterations over which the background flushing is averaged.
|
||||||
NUMERIC_MIN_VALUE 1
|
NUMERIC_MIN_VALUE 1
|
||||||
NUMERIC_MAX_VALUE 1000
|
NUMERIC_MAX_VALUE 1000
|
||||||
@@ -958,12 +1126,12 @@
|
@@ -972,12 +1140,12 @@
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
COMMAND_LINE_ARGUMENT OPTIONAL
|
||||||
VARIABLE_NAME INNODB_FLUSH_LOG_AT_TRX_COMMIT
|
VARIABLE_NAME INNODB_FLUSH_LOG_AT_TRX_COMMIT
|
||||||
@ -400,7 +400,7 @@
|
|||||||
VARIABLE_COMMENT Controls the durability/speed trade-off for commits. Set to 0 (write and flush redo log to disk only once per second), 1 (flush to disk at each commit), 2 (write to log at commit but flush to disk only once per second) or 3 (flush to disk at prepare and at commit, slower and usually redundant). 1 and 3 guarantees that after a crash, committed transactions will not be lost and will be consistent with the binlog and other transactional engines. 2 can get inconsistent and lose transactions if there is a power failure or kernel crash but not if mysqld crashes. 0 has no guarantees in case of crash. 0 and 2 can be faster than 1 or 3.
|
VARIABLE_COMMENT Controls the durability/speed trade-off for commits. Set to 0 (write and flush redo log to disk only once per second), 1 (flush to disk at each commit), 2 (write to log at commit but flush to disk only once per second) or 3 (flush to disk at prepare and at commit, slower and usually redundant). 1 and 3 guarantees that after a crash, committed transactions will not be lost and will be consistent with the binlog and other transactional engines. 2 can get inconsistent and lose transactions if there is a power failure or kernel crash but not if mysqld crashes. 0 has no guarantees in case of crash. 0 and 2 can be faster than 1 or 3.
|
||||||
NUMERIC_MIN_VALUE 0
|
NUMERIC_MIN_VALUE 0
|
||||||
NUMERIC_MAX_VALUE 3
|
NUMERIC_MAX_VALUE 3
|
||||||
@@ -991,7 +1159,7 @@
|
@@ -1005,7 +1173,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 1
|
DEFAULT_VALUE 1
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -409,7 +409,7 @@
|
|||||||
VARIABLE_COMMENT Set to 0 (don't flush neighbors from buffer pool), 1 (flush contiguous neighbors from buffer pool) or 2 (flush neighbors from buffer pool), when flushing a block
|
VARIABLE_COMMENT Set to 0 (don't flush neighbors from buffer pool), 1 (flush contiguous neighbors from buffer pool) or 2 (flush neighbors from buffer pool), when flushing a block
|
||||||
NUMERIC_MIN_VALUE 0
|
NUMERIC_MIN_VALUE 0
|
||||||
NUMERIC_MAX_VALUE 2
|
NUMERIC_MAX_VALUE 2
|
||||||
@@ -1033,7 +1201,7 @@
|
@@ -1047,7 +1215,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 0
|
DEFAULT_VALUE 0
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -575,7 +575,7 @@
|
|||||||
VARIABLE_NAME INNODB_LOCKS_UNSAFE_FOR_BINLOG
|
VARIABLE_NAME INNODB_LOCKS_UNSAFE_FOR_BINLOG
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE OFF
|
GLOBAL_VALUE OFF
|
||||||
@@ -1341,7 +1551,7 @@
|
@@ -1355,7 +1565,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 50
|
DEFAULT_VALUE 50
|
||||||
VARIABLE_SCOPE SESSION
|
VARIABLE_SCOPE SESSION
|
||||||
@ -584,7 +584,7 @@
|
|||||||
VARIABLE_COMMENT Timeout in seconds an InnoDB transaction may wait for a lock before being rolled back. Values above 100000000 disable the timeout.
|
VARIABLE_COMMENT Timeout in seconds an InnoDB transaction may wait for a lock before being rolled back. Values above 100000000 disable the timeout.
|
||||||
NUMERIC_MIN_VALUE 1
|
NUMERIC_MIN_VALUE 1
|
||||||
NUMERIC_MAX_VALUE 1073741824
|
NUMERIC_MAX_VALUE 1073741824
|
||||||
@@ -1349,35 +1559,105 @@
|
@@ -1363,37 +1573,107 @@
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
COMMAND_LINE_ARGUMENT REQUIRED
|
COMMAND_LINE_ARGUMENT REQUIRED
|
||||||
@ -620,7 +620,8 @@
|
|||||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
COMMAND_LINE_ARGUMENT OPTIONAL
|
||||||
-VARIABLE_NAME INNODB_LOG_COMPRESSED_PAGES
|
-VARIABLE_NAME INNODB_LOG_COMPRESSED_PAGES
|
||||||
+VARIABLE_NAME INNODB_LOG_ARCH_DIR
|
+VARIABLE_NAME INNODB_LOG_ARCH_DIR
|
||||||
+SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
|
-GLOBAL_VALUE ON
|
||||||
+GLOBAL_VALUE PATH
|
+GLOBAL_VALUE PATH
|
||||||
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
+DEFAULT_VALUE
|
+DEFAULT_VALUE
|
||||||
@ -704,10 +705,12 @@
|
|||||||
+READ_ONLY NO
|
+READ_ONLY NO
|
||||||
+COMMAND_LINE_ARGUMENT REQUIRED
|
+COMMAND_LINE_ARGUMENT REQUIRED
|
||||||
+VARIABLE_NAME INNODB_LOG_COMPRESSED_PAGES
|
+VARIABLE_NAME INNODB_LOG_COMPRESSED_PAGES
|
||||||
SESSION_VALUE NULL
|
+SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE ON
|
+GLOBAL_VALUE ON
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
@@ -1397,7 +1677,7 @@
|
DEFAULT_VALUE ON
|
||||||
|
VARIABLE_SCOPE GLOBAL
|
||||||
|
@@ -1411,7 +1691,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN CONFIG
|
GLOBAL_VALUE_ORIGIN CONFIG
|
||||||
DEFAULT_VALUE 2
|
DEFAULT_VALUE 2
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -716,7 +719,7 @@
|
|||||||
VARIABLE_COMMENT Number of log files in the log group. InnoDB writes to the files in a circular fashion.
|
VARIABLE_COMMENT Number of log files in the log group. InnoDB writes to the files in a circular fashion.
|
||||||
NUMERIC_MIN_VALUE 2
|
NUMERIC_MIN_VALUE 2
|
||||||
NUMERIC_MAX_VALUE 100
|
NUMERIC_MAX_VALUE 100
|
||||||
@@ -1439,9 +1719,37 @@
|
@@ -1453,9 +1733,37 @@
|
||||||
GLOBAL_VALUE_ORIGIN CONFIG
|
GLOBAL_VALUE_ORIGIN CONFIG
|
||||||
DEFAULT_VALUE 1024
|
DEFAULT_VALUE 1024
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -755,7 +758,7 @@
|
|||||||
NUMERIC_MAX_VALUE 18446744073709551615
|
NUMERIC_MAX_VALUE 18446744073709551615
|
||||||
NUMERIC_BLOCK_SIZE 0
|
NUMERIC_BLOCK_SIZE 0
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
@@ -1481,10 +1789,10 @@
|
@@ -1495,10 +1803,10 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 0
|
DEFAULT_VALUE 0
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -768,7 +771,7 @@
|
|||||||
NUMERIC_BLOCK_SIZE 0
|
NUMERIC_BLOCK_SIZE 0
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
@@ -1495,7 +1803,7 @@
|
@@ -1509,7 +1817,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 0
|
DEFAULT_VALUE 0
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -777,7 +780,7 @@
|
|||||||
VARIABLE_COMMENT Maximum delay of user threads in micro-seconds
|
VARIABLE_COMMENT Maximum delay of user threads in micro-seconds
|
||||||
NUMERIC_MIN_VALUE 0
|
NUMERIC_MIN_VALUE 0
|
||||||
NUMERIC_MAX_VALUE 10000000
|
NUMERIC_MAX_VALUE 10000000
|
||||||
@@ -1509,7 +1817,7 @@
|
@@ -1523,7 +1831,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 0
|
DEFAULT_VALUE 0
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -786,7 +789,7 @@
|
|||||||
VARIABLE_COMMENT Number of identical copies of log groups we keep for the database. Currently this should be set to 1.
|
VARIABLE_COMMENT Number of identical copies of log groups we keep for the database. Currently this should be set to 1.
|
||||||
NUMERIC_MIN_VALUE 0
|
NUMERIC_MIN_VALUE 0
|
||||||
NUMERIC_MAX_VALUE 10
|
NUMERIC_MAX_VALUE 10
|
||||||
@@ -1579,7 +1887,7 @@
|
@@ -1593,7 +1901,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 8
|
DEFAULT_VALUE 8
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -795,7 +798,7 @@
|
|||||||
VARIABLE_COMMENT Number of multi-threaded flush threads
|
VARIABLE_COMMENT Number of multi-threaded flush threads
|
||||||
NUMERIC_MIN_VALUE 1
|
NUMERIC_MIN_VALUE 1
|
||||||
NUMERIC_MAX_VALUE 64
|
NUMERIC_MAX_VALUE 64
|
||||||
@@ -1635,10 +1943,10 @@
|
@@ -1649,10 +1957,10 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 0
|
DEFAULT_VALUE 0
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -808,7 +811,7 @@
|
|||||||
NUMERIC_BLOCK_SIZE 0
|
NUMERIC_BLOCK_SIZE 0
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY YES
|
READ_ONLY YES
|
||||||
@@ -1663,7 +1971,7 @@
|
@@ -1677,7 +1985,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 16
|
DEFAULT_VALUE 16
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -817,7 +820,7 @@
|
|||||||
VARIABLE_COMMENT Number of rw_locks protecting buffer pool page_hash. Rounded up to the next power of 2
|
VARIABLE_COMMENT Number of rw_locks protecting buffer pool page_hash. Rounded up to the next power of 2
|
||||||
NUMERIC_MIN_VALUE 1
|
NUMERIC_MIN_VALUE 1
|
||||||
NUMERIC_MAX_VALUE 1024
|
NUMERIC_MAX_VALUE 1024
|
||||||
@@ -1677,7 +1985,7 @@
|
@@ -1691,7 +1999,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 16384
|
DEFAULT_VALUE 16384
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -826,8 +829,8 @@
|
|||||||
VARIABLE_COMMENT Page size to use for all InnoDB tablespaces.
|
VARIABLE_COMMENT Page size to use for all InnoDB tablespaces.
|
||||||
NUMERIC_MIN_VALUE 4096
|
NUMERIC_MIN_VALUE 4096
|
||||||
NUMERIC_MAX_VALUE 65536
|
NUMERIC_MAX_VALUE 65536
|
||||||
@@ -1713,13 +2021,69 @@
|
@@ -1727,13 +2035,69 @@
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST OFF,ON
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
COMMAND_LINE_ARGUMENT OPTIONAL
|
||||||
+VARIABLE_NAME INNODB_PRIORITY_CLEANER
|
+VARIABLE_NAME INNODB_PRIORITY_CLEANER
|
||||||
@ -897,7 +900,7 @@
|
|||||||
VARIABLE_COMMENT Number of UNDO log pages to purge in one batch from the history list.
|
VARIABLE_COMMENT Number of UNDO log pages to purge in one batch from the history list.
|
||||||
NUMERIC_MIN_VALUE 1
|
NUMERIC_MIN_VALUE 1
|
||||||
NUMERIC_MAX_VALUE 5000
|
NUMERIC_MAX_VALUE 5000
|
||||||
@@ -1761,7 +2125,7 @@
|
@@ -1775,7 +2139,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 1
|
DEFAULT_VALUE 1
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -906,7 +909,7 @@
|
|||||||
VARIABLE_COMMENT Purge threads can be from 1 to 32. Default is 1.
|
VARIABLE_COMMENT Purge threads can be from 1 to 32. Default is 1.
|
||||||
NUMERIC_MIN_VALUE 1
|
NUMERIC_MIN_VALUE 1
|
||||||
NUMERIC_MAX_VALUE 32
|
NUMERIC_MAX_VALUE 32
|
||||||
@@ -1789,7 +2153,7 @@
|
@@ -1803,7 +2167,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 56
|
DEFAULT_VALUE 56
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -915,7 +918,7 @@
|
|||||||
VARIABLE_COMMENT Number of pages that must be accessed sequentially for InnoDB to trigger a readahead.
|
VARIABLE_COMMENT Number of pages that must be accessed sequentially for InnoDB to trigger a readahead.
|
||||||
NUMERIC_MIN_VALUE 0
|
NUMERIC_MIN_VALUE 0
|
||||||
NUMERIC_MAX_VALUE 64
|
NUMERIC_MAX_VALUE 64
|
||||||
@@ -1803,7 +2167,7 @@
|
@@ -1817,7 +2181,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN CONFIG
|
GLOBAL_VALUE_ORIGIN CONFIG
|
||||||
DEFAULT_VALUE 4
|
DEFAULT_VALUE 4
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -924,7 +927,7 @@
|
|||||||
VARIABLE_COMMENT Number of background read I/O threads in InnoDB.
|
VARIABLE_COMMENT Number of background read I/O threads in InnoDB.
|
||||||
NUMERIC_MIN_VALUE 1
|
NUMERIC_MIN_VALUE 1
|
||||||
NUMERIC_MAX_VALUE 64
|
NUMERIC_MAX_VALUE 64
|
||||||
@@ -1831,10 +2195,10 @@
|
@@ -1845,10 +2209,10 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 0
|
DEFAULT_VALUE 0
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -937,7 +940,7 @@
|
|||||||
NUMERIC_BLOCK_SIZE 0
|
NUMERIC_BLOCK_SIZE 0
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
@@ -1859,7 +2223,7 @@
|
@@ -1873,7 +2237,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 128
|
DEFAULT_VALUE 128
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -946,7 +949,7 @@
|
|||||||
VARIABLE_COMMENT Number of undo logs to use (deprecated).
|
VARIABLE_COMMENT Number of undo logs to use (deprecated).
|
||||||
NUMERIC_MIN_VALUE 1
|
NUMERIC_MIN_VALUE 1
|
||||||
NUMERIC_MAX_VALUE 128
|
NUMERIC_MAX_VALUE 128
|
||||||
@@ -1873,7 +2237,7 @@
|
@@ -1887,7 +2251,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 0
|
DEFAULT_VALUE 0
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -955,7 +958,7 @@
|
|||||||
VARIABLE_COMMENT An InnoDB page number.
|
VARIABLE_COMMENT An InnoDB page number.
|
||||||
NUMERIC_MIN_VALUE 0
|
NUMERIC_MIN_VALUE 0
|
||||||
NUMERIC_MAX_VALUE 4294967295
|
NUMERIC_MAX_VALUE 4294967295
|
||||||
@@ -1881,6 +2245,48 @@
|
@@ -1895,6 +2259,48 @@
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
COMMAND_LINE_ARGUMENT OPTIONAL
|
||||||
@ -1004,7 +1007,7 @@
|
|||||||
VARIABLE_NAME INNODB_SCRUB_LOG
|
VARIABLE_NAME INNODB_SCRUB_LOG
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE OFF
|
GLOBAL_VALUE OFF
|
||||||
@@ -1909,6 +2315,34 @@
|
@@ -1923,6 +2329,34 @@
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
COMMAND_LINE_ARGUMENT OPTIONAL
|
||||||
@ -1039,7 +1042,7 @@
|
|||||||
VARIABLE_NAME INNODB_SIMULATE_COMP_FAILURES
|
VARIABLE_NAME INNODB_SIMULATE_COMP_FAILURES
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE 0
|
GLOBAL_VALUE 0
|
||||||
@@ -1929,7 +2363,7 @@
|
@@ -1943,7 +2377,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 1048576
|
DEFAULT_VALUE 1048576
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -1048,7 +1051,7 @@
|
|||||||
VARIABLE_COMMENT Memory buffer size for index creation
|
VARIABLE_COMMENT Memory buffer size for index creation
|
||||||
NUMERIC_MIN_VALUE 65536
|
NUMERIC_MIN_VALUE 65536
|
||||||
NUMERIC_MAX_VALUE 67108864
|
NUMERIC_MAX_VALUE 67108864
|
||||||
@@ -1943,10 +2377,10 @@
|
@@ -1957,10 +2391,10 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 6
|
DEFAULT_VALUE 6
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -1061,7 +1064,7 @@
|
|||||||
NUMERIC_BLOCK_SIZE 0
|
NUMERIC_BLOCK_SIZE 0
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
@@ -1972,7 +2406,7 @@
|
@@ -2000,7 +2434,7 @@
|
||||||
DEFAULT_VALUE nulls_equal
|
DEFAULT_VALUE nulls_equal
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
VARIABLE_TYPE ENUM
|
VARIABLE_TYPE ENUM
|
||||||
@ -1070,7 +1073,7 @@
|
|||||||
NUMERIC_MIN_VALUE NULL
|
NUMERIC_MIN_VALUE NULL
|
||||||
NUMERIC_MAX_VALUE NULL
|
NUMERIC_MAX_VALUE NULL
|
||||||
NUMERIC_BLOCK_SIZE NULL
|
NUMERIC_BLOCK_SIZE NULL
|
||||||
@@ -2139,7 +2573,7 @@
|
@@ -2167,7 +2601,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 1
|
DEFAULT_VALUE 1
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -1079,7 +1082,7 @@
|
|||||||
VARIABLE_COMMENT Size of the mutex/lock wait array.
|
VARIABLE_COMMENT Size of the mutex/lock wait array.
|
||||||
NUMERIC_MIN_VALUE 1
|
NUMERIC_MIN_VALUE 1
|
||||||
NUMERIC_MAX_VALUE 1024
|
NUMERIC_MAX_VALUE 1024
|
||||||
@@ -2153,10 +2587,10 @@
|
@@ -2181,10 +2615,10 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 30
|
DEFAULT_VALUE 30
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -1092,7 +1095,7 @@
|
|||||||
NUMERIC_BLOCK_SIZE 0
|
NUMERIC_BLOCK_SIZE 0
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
@@ -2181,7 +2615,7 @@
|
@@ -2209,7 +2643,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 0
|
DEFAULT_VALUE 0
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -1101,7 +1104,7 @@
|
|||||||
VARIABLE_COMMENT Helps in performance tuning in heavily concurrent environments. Sets the maximum number of threads allowed inside InnoDB. Value 0 will disable the thread throttling.
|
VARIABLE_COMMENT Helps in performance tuning in heavily concurrent environments. Sets the maximum number of threads allowed inside InnoDB. Value 0 will disable the thread throttling.
|
||||||
NUMERIC_MIN_VALUE 0
|
NUMERIC_MIN_VALUE 0
|
||||||
NUMERIC_MAX_VALUE 1000
|
NUMERIC_MAX_VALUE 1000
|
||||||
@@ -2195,7 +2629,7 @@
|
@@ -2223,7 +2657,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 10000
|
DEFAULT_VALUE 10000
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -1110,7 +1113,7 @@
|
|||||||
VARIABLE_COMMENT Time of innodb thread sleeping before joining InnoDB queue (usec). Value 0 disable a sleep
|
VARIABLE_COMMENT Time of innodb thread sleeping before joining InnoDB queue (usec). Value 0 disable a sleep
|
||||||
NUMERIC_MIN_VALUE 0
|
NUMERIC_MIN_VALUE 0
|
||||||
NUMERIC_MAX_VALUE 1000000
|
NUMERIC_MAX_VALUE 1000000
|
||||||
@@ -2217,6 +2651,34 @@
|
@@ -2245,6 +2679,34 @@
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
COMMAND_LINE_ARGUMENT OPTIONAL
|
||||||
@ -1145,7 +1148,7 @@
|
|||||||
VARIABLE_NAME INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG
|
VARIABLE_NAME INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE OFF
|
GLOBAL_VALUE OFF
|
||||||
@@ -2265,7 +2727,7 @@
|
@@ -2293,7 +2755,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 128
|
DEFAULT_VALUE 128
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -1154,7 +1157,7 @@
|
|||||||
VARIABLE_COMMENT Number of undo logs to use.
|
VARIABLE_COMMENT Number of undo logs to use.
|
||||||
NUMERIC_MIN_VALUE 1
|
NUMERIC_MIN_VALUE 1
|
||||||
NUMERIC_MAX_VALUE 128
|
NUMERIC_MAX_VALUE 128
|
||||||
@@ -2279,7 +2741,7 @@
|
@@ -2307,7 +2769,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 0
|
DEFAULT_VALUE 0
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -1163,7 +1166,7 @@
|
|||||||
VARIABLE_COMMENT Number of undo tablespaces to use.
|
VARIABLE_COMMENT Number of undo tablespaces to use.
|
||||||
NUMERIC_MIN_VALUE 0
|
NUMERIC_MIN_VALUE 0
|
||||||
NUMERIC_MAX_VALUE 126
|
NUMERIC_MAX_VALUE 126
|
||||||
@@ -2294,7 +2756,7 @@
|
@@ -2322,7 +2784,7 @@
|
||||||
DEFAULT_VALUE OFF
|
DEFAULT_VALUE OFF
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
VARIABLE_TYPE BOOLEAN
|
VARIABLE_TYPE BOOLEAN
|
||||||
@ -1172,8 +1175,8 @@
|
|||||||
NUMERIC_MIN_VALUE NULL
|
NUMERIC_MIN_VALUE NULL
|
||||||
NUMERIC_MAX_VALUE NULL
|
NUMERIC_MAX_VALUE NULL
|
||||||
NUMERIC_BLOCK_SIZE NULL
|
NUMERIC_BLOCK_SIZE NULL
|
||||||
@@ -2315,6 +2777,20 @@
|
@@ -2343,6 +2805,20 @@
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST OFF,ON
|
||||||
READ_ONLY YES
|
READ_ONLY YES
|
||||||
COMMAND_LINE_ARGUMENT NONE
|
COMMAND_LINE_ARGUMENT NONE
|
||||||
+VARIABLE_NAME INNODB_USE_GLOBAL_FLUSH_LOG_AT_TRX_COMMIT
|
+VARIABLE_NAME INNODB_USE_GLOBAL_FLUSH_LOG_AT_TRX_COMMIT
|
||||||
@ -1193,8 +1196,8 @@
|
|||||||
VARIABLE_NAME INNODB_USE_MTFLUSH
|
VARIABLE_NAME INNODB_USE_MTFLUSH
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE OFF
|
GLOBAL_VALUE OFF
|
||||||
@@ -2329,6 +2805,20 @@
|
@@ -2357,6 +2833,20 @@
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST OFF,ON
|
||||||
READ_ONLY YES
|
READ_ONLY YES
|
||||||
COMMAND_LINE_ARGUMENT NONE
|
COMMAND_LINE_ARGUMENT NONE
|
||||||
+VARIABLE_NAME INNODB_USE_STACKTRACE
|
+VARIABLE_NAME INNODB_USE_STACKTRACE
|
||||||
@ -1214,12 +1217,12 @@
|
|||||||
VARIABLE_NAME INNODB_USE_SYS_MALLOC
|
VARIABLE_NAME INNODB_USE_SYS_MALLOC
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE ON
|
GLOBAL_VALUE ON
|
||||||
@@ -2359,12 +2849,12 @@
|
@@ -2387,12 +2877,12 @@
|
||||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
COMMAND_LINE_ARGUMENT OPTIONAL
|
||||||
VARIABLE_NAME INNODB_VERSION
|
VARIABLE_NAME INNODB_VERSION
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
-GLOBAL_VALUE 5.6.36
|
-GLOBAL_VALUE 5.6.37
|
||||||
+GLOBAL_VALUE 5.6.36-82.0
|
+GLOBAL_VALUE 5.6.36-82.1
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE NULL
|
DEFAULT_VALUE NULL
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -1229,7 +1232,7 @@
|
|||||||
NUMERIC_MIN_VALUE NULL
|
NUMERIC_MIN_VALUE NULL
|
||||||
NUMERIC_MAX_VALUE NULL
|
NUMERIC_MAX_VALUE NULL
|
||||||
NUMERIC_BLOCK_SIZE NULL
|
NUMERIC_BLOCK_SIZE NULL
|
||||||
@@ -2377,7 +2867,7 @@
|
@@ -2405,7 +2895,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN CONFIG
|
GLOBAL_VALUE_ORIGIN CONFIG
|
||||||
DEFAULT_VALUE 4
|
DEFAULT_VALUE 4
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
|
@ -125,7 +125,7 @@
|
|||||||
NUMERIC_BLOCK_SIZE 0
|
NUMERIC_BLOCK_SIZE 0
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
@@ -753,7 +753,7 @@
|
@@ -767,7 +767,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 120
|
DEFAULT_VALUE 120
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -134,7 +134,7 @@
|
|||||||
VARIABLE_COMMENT Number of pages reserved in doublewrite buffer for batch flushing
|
VARIABLE_COMMENT Number of pages reserved in doublewrite buffer for batch flushing
|
||||||
NUMERIC_MIN_VALUE 1
|
NUMERIC_MIN_VALUE 1
|
||||||
NUMERIC_MAX_VALUE 127
|
NUMERIC_MAX_VALUE 127
|
||||||
@@ -837,7 +837,7 @@
|
@@ -851,7 +851,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 1
|
DEFAULT_VALUE 1
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -143,7 +143,7 @@
|
|||||||
VARIABLE_COMMENT Speeds up the shutdown process of the InnoDB storage engine. Possible values are 0, 1 (faster) or 2 (fastest - crash-like).
|
VARIABLE_COMMENT Speeds up the shutdown process of the InnoDB storage engine. Possible values are 0, 1 (faster) or 2 (fastest - crash-like).
|
||||||
NUMERIC_MIN_VALUE 0
|
NUMERIC_MIN_VALUE 0
|
||||||
NUMERIC_MAX_VALUE 2
|
NUMERIC_MAX_VALUE 2
|
||||||
@@ -851,7 +851,7 @@
|
@@ -865,7 +865,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 600
|
DEFAULT_VALUE 600
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -152,7 +152,7 @@
|
|||||||
VARIABLE_COMMENT Maximum number of seconds that semaphore times out in InnoDB.
|
VARIABLE_COMMENT Maximum number of seconds that semaphore times out in InnoDB.
|
||||||
NUMERIC_MIN_VALUE 1
|
NUMERIC_MIN_VALUE 1
|
||||||
NUMERIC_MAX_VALUE 4294967295
|
NUMERIC_MAX_VALUE 4294967295
|
||||||
@@ -921,7 +921,7 @@
|
@@ -935,7 +935,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 0
|
DEFAULT_VALUE 0
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -161,7 +161,7 @@
|
|||||||
VARIABLE_COMMENT Make the first page of the given tablespace dirty.
|
VARIABLE_COMMENT Make the first page of the given tablespace dirty.
|
||||||
NUMERIC_MIN_VALUE 0
|
NUMERIC_MIN_VALUE 0
|
||||||
NUMERIC_MAX_VALUE 4294967295
|
NUMERIC_MAX_VALUE 4294967295
|
||||||
@@ -935,7 +935,7 @@
|
@@ -949,7 +949,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 30
|
DEFAULT_VALUE 30
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -170,7 +170,7 @@
|
|||||||
VARIABLE_COMMENT Number of iterations over which the background flushing is averaged.
|
VARIABLE_COMMENT Number of iterations over which the background flushing is averaged.
|
||||||
NUMERIC_MIN_VALUE 1
|
NUMERIC_MIN_VALUE 1
|
||||||
NUMERIC_MAX_VALUE 1000
|
NUMERIC_MAX_VALUE 1000
|
||||||
@@ -963,7 +963,7 @@
|
@@ -977,7 +977,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 1
|
DEFAULT_VALUE 1
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -179,7 +179,7 @@
|
|||||||
VARIABLE_COMMENT Controls the durability/speed trade-off for commits. Set to 0 (write and flush redo log to disk only once per second), 1 (flush to disk at each commit), 2 (write to log at commit but flush to disk only once per second) or 3 (flush to disk at prepare and at commit, slower and usually redundant). 1 and 3 guarantees that after a crash, committed transactions will not be lost and will be consistent with the binlog and other transactional engines. 2 can get inconsistent and lose transactions if there is a power failure or kernel crash but not if mysqld crashes. 0 has no guarantees in case of crash. 0 and 2 can be faster than 1 or 3.
|
VARIABLE_COMMENT Controls the durability/speed trade-off for commits. Set to 0 (write and flush redo log to disk only once per second), 1 (flush to disk at each commit), 2 (write to log at commit but flush to disk only once per second) or 3 (flush to disk at prepare and at commit, slower and usually redundant). 1 and 3 guarantees that after a crash, committed transactions will not be lost and will be consistent with the binlog and other transactional engines. 2 can get inconsistent and lose transactions if there is a power failure or kernel crash but not if mysqld crashes. 0 has no guarantees in case of crash. 0 and 2 can be faster than 1 or 3.
|
||||||
NUMERIC_MIN_VALUE 0
|
NUMERIC_MIN_VALUE 0
|
||||||
NUMERIC_MAX_VALUE 3
|
NUMERIC_MAX_VALUE 3
|
||||||
@@ -991,7 +991,7 @@
|
@@ -1005,7 +1005,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 1
|
DEFAULT_VALUE 1
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -188,7 +188,7 @@
|
|||||||
VARIABLE_COMMENT Set to 0 (don't flush neighbors from buffer pool), 1 (flush contiguous neighbors from buffer pool) or 2 (flush neighbors from buffer pool), when flushing a block
|
VARIABLE_COMMENT Set to 0 (don't flush neighbors from buffer pool), 1 (flush contiguous neighbors from buffer pool) or 2 (flush neighbors from buffer pool), when flushing a block
|
||||||
NUMERIC_MIN_VALUE 0
|
NUMERIC_MIN_VALUE 0
|
||||||
NUMERIC_MAX_VALUE 2
|
NUMERIC_MAX_VALUE 2
|
||||||
@@ -1033,7 +1033,7 @@
|
@@ -1047,7 +1047,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 0
|
DEFAULT_VALUE 0
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -298,7 +298,7 @@
|
|||||||
NUMERIC_BLOCK_SIZE 0
|
NUMERIC_BLOCK_SIZE 0
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
@@ -1341,7 +1341,7 @@
|
@@ -1355,7 +1355,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 50
|
DEFAULT_VALUE 50
|
||||||
VARIABLE_SCOPE SESSION
|
VARIABLE_SCOPE SESSION
|
||||||
@ -307,7 +307,7 @@
|
|||||||
VARIABLE_COMMENT Timeout in seconds an InnoDB transaction may wait for a lock before being rolled back. Values above 100000000 disable the timeout.
|
VARIABLE_COMMENT Timeout in seconds an InnoDB transaction may wait for a lock before being rolled back. Values above 100000000 disable the timeout.
|
||||||
NUMERIC_MIN_VALUE 1
|
NUMERIC_MIN_VALUE 1
|
||||||
NUMERIC_MAX_VALUE 1073741824
|
NUMERIC_MAX_VALUE 1073741824
|
||||||
@@ -1355,10 +1355,10 @@
|
@@ -1369,10 +1369,10 @@
|
||||||
GLOBAL_VALUE_ORIGIN CONFIG
|
GLOBAL_VALUE_ORIGIN CONFIG
|
||||||
DEFAULT_VALUE 16777216
|
DEFAULT_VALUE 16777216
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -320,7 +320,7 @@
|
|||||||
NUMERIC_BLOCK_SIZE 1024
|
NUMERIC_BLOCK_SIZE 1024
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY YES
|
READ_ONLY YES
|
||||||
@@ -1397,7 +1397,7 @@
|
@@ -1411,7 +1411,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN CONFIG
|
GLOBAL_VALUE_ORIGIN CONFIG
|
||||||
DEFAULT_VALUE 2
|
DEFAULT_VALUE 2
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -329,7 +329,7 @@
|
|||||||
VARIABLE_COMMENT Number of log files in the log group. InnoDB writes to the files in a circular fashion.
|
VARIABLE_COMMENT Number of log files in the log group. InnoDB writes to the files in a circular fashion.
|
||||||
NUMERIC_MIN_VALUE 2
|
NUMERIC_MIN_VALUE 2
|
||||||
NUMERIC_MAX_VALUE 100
|
NUMERIC_MAX_VALUE 100
|
||||||
@@ -1439,10 +1439,10 @@
|
@@ -1453,10 +1453,10 @@
|
||||||
GLOBAL_VALUE_ORIGIN CONFIG
|
GLOBAL_VALUE_ORIGIN CONFIG
|
||||||
DEFAULT_VALUE 1024
|
DEFAULT_VALUE 1024
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -342,7 +342,7 @@
|
|||||||
NUMERIC_BLOCK_SIZE 0
|
NUMERIC_BLOCK_SIZE 0
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
@@ -1481,10 +1481,10 @@
|
@@ -1495,10 +1495,10 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 0
|
DEFAULT_VALUE 0
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -355,7 +355,7 @@
|
|||||||
NUMERIC_BLOCK_SIZE 0
|
NUMERIC_BLOCK_SIZE 0
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
@@ -1495,7 +1495,7 @@
|
@@ -1509,7 +1509,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 0
|
DEFAULT_VALUE 0
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -364,7 +364,7 @@
|
|||||||
VARIABLE_COMMENT Maximum delay of user threads in micro-seconds
|
VARIABLE_COMMENT Maximum delay of user threads in micro-seconds
|
||||||
NUMERIC_MIN_VALUE 0
|
NUMERIC_MIN_VALUE 0
|
||||||
NUMERIC_MAX_VALUE 10000000
|
NUMERIC_MAX_VALUE 10000000
|
||||||
@@ -1509,7 +1509,7 @@
|
@@ -1523,7 +1523,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 0
|
DEFAULT_VALUE 0
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -373,7 +373,7 @@
|
|||||||
VARIABLE_COMMENT Number of identical copies of log groups we keep for the database. Currently this should be set to 1.
|
VARIABLE_COMMENT Number of identical copies of log groups we keep for the database. Currently this should be set to 1.
|
||||||
NUMERIC_MIN_VALUE 0
|
NUMERIC_MIN_VALUE 0
|
||||||
NUMERIC_MAX_VALUE 10
|
NUMERIC_MAX_VALUE 10
|
||||||
@@ -1579,7 +1579,7 @@
|
@@ -1593,7 +1593,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 8
|
DEFAULT_VALUE 8
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -382,7 +382,7 @@
|
|||||||
VARIABLE_COMMENT Number of multi-threaded flush threads
|
VARIABLE_COMMENT Number of multi-threaded flush threads
|
||||||
NUMERIC_MIN_VALUE 1
|
NUMERIC_MIN_VALUE 1
|
||||||
NUMERIC_MAX_VALUE 64
|
NUMERIC_MAX_VALUE 64
|
||||||
@@ -1635,10 +1635,10 @@
|
@@ -1649,10 +1649,10 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 0
|
DEFAULT_VALUE 0
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -395,7 +395,7 @@
|
|||||||
NUMERIC_BLOCK_SIZE 0
|
NUMERIC_BLOCK_SIZE 0
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY YES
|
READ_ONLY YES
|
||||||
@@ -1663,7 +1663,7 @@
|
@@ -1677,7 +1677,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 16
|
DEFAULT_VALUE 16
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -404,7 +404,7 @@
|
|||||||
VARIABLE_COMMENT Number of rw_locks protecting buffer pool page_hash. Rounded up to the next power of 2
|
VARIABLE_COMMENT Number of rw_locks protecting buffer pool page_hash. Rounded up to the next power of 2
|
||||||
NUMERIC_MIN_VALUE 1
|
NUMERIC_MIN_VALUE 1
|
||||||
NUMERIC_MAX_VALUE 1024
|
NUMERIC_MAX_VALUE 1024
|
||||||
@@ -1677,7 +1677,7 @@
|
@@ -1691,7 +1691,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 16384
|
DEFAULT_VALUE 16384
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -413,7 +413,7 @@
|
|||||||
VARIABLE_COMMENT Page size to use for all InnoDB tablespaces.
|
VARIABLE_COMMENT Page size to use for all InnoDB tablespaces.
|
||||||
NUMERIC_MIN_VALUE 4096
|
NUMERIC_MIN_VALUE 4096
|
||||||
NUMERIC_MAX_VALUE 65536
|
NUMERIC_MAX_VALUE 65536
|
||||||
@@ -1719,7 +1719,7 @@
|
@@ -1733,7 +1733,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 300
|
DEFAULT_VALUE 300
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -422,7 +422,7 @@
|
|||||||
VARIABLE_COMMENT Number of UNDO log pages to purge in one batch from the history list.
|
VARIABLE_COMMENT Number of UNDO log pages to purge in one batch from the history list.
|
||||||
NUMERIC_MIN_VALUE 1
|
NUMERIC_MIN_VALUE 1
|
||||||
NUMERIC_MAX_VALUE 5000
|
NUMERIC_MAX_VALUE 5000
|
||||||
@@ -1761,7 +1761,7 @@
|
@@ -1775,7 +1775,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 1
|
DEFAULT_VALUE 1
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -431,7 +431,7 @@
|
|||||||
VARIABLE_COMMENT Purge threads can be from 1 to 32. Default is 1.
|
VARIABLE_COMMENT Purge threads can be from 1 to 32. Default is 1.
|
||||||
NUMERIC_MIN_VALUE 1
|
NUMERIC_MIN_VALUE 1
|
||||||
NUMERIC_MAX_VALUE 32
|
NUMERIC_MAX_VALUE 32
|
||||||
@@ -1789,7 +1789,7 @@
|
@@ -1803,7 +1803,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 56
|
DEFAULT_VALUE 56
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -440,7 +440,7 @@
|
|||||||
VARIABLE_COMMENT Number of pages that must be accessed sequentially for InnoDB to trigger a readahead.
|
VARIABLE_COMMENT Number of pages that must be accessed sequentially for InnoDB to trigger a readahead.
|
||||||
NUMERIC_MIN_VALUE 0
|
NUMERIC_MIN_VALUE 0
|
||||||
NUMERIC_MAX_VALUE 64
|
NUMERIC_MAX_VALUE 64
|
||||||
@@ -1803,7 +1803,7 @@
|
@@ -1817,7 +1817,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN CONFIG
|
GLOBAL_VALUE_ORIGIN CONFIG
|
||||||
DEFAULT_VALUE 4
|
DEFAULT_VALUE 4
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -449,7 +449,7 @@
|
|||||||
VARIABLE_COMMENT Number of background read I/O threads in InnoDB.
|
VARIABLE_COMMENT Number of background read I/O threads in InnoDB.
|
||||||
NUMERIC_MIN_VALUE 1
|
NUMERIC_MIN_VALUE 1
|
||||||
NUMERIC_MAX_VALUE 64
|
NUMERIC_MAX_VALUE 64
|
||||||
@@ -1831,10 +1831,10 @@
|
@@ -1845,10 +1845,10 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 0
|
DEFAULT_VALUE 0
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -462,7 +462,7 @@
|
|||||||
NUMERIC_BLOCK_SIZE 0
|
NUMERIC_BLOCK_SIZE 0
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
@@ -1859,7 +1859,7 @@
|
@@ -1873,7 +1873,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 128
|
DEFAULT_VALUE 128
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -471,7 +471,7 @@
|
|||||||
VARIABLE_COMMENT Number of undo logs to use (deprecated).
|
VARIABLE_COMMENT Number of undo logs to use (deprecated).
|
||||||
NUMERIC_MIN_VALUE 1
|
NUMERIC_MIN_VALUE 1
|
||||||
NUMERIC_MAX_VALUE 128
|
NUMERIC_MAX_VALUE 128
|
||||||
@@ -1873,7 +1873,7 @@
|
@@ -1887,7 +1887,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 0
|
DEFAULT_VALUE 0
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -480,7 +480,7 @@
|
|||||||
VARIABLE_COMMENT An InnoDB page number.
|
VARIABLE_COMMENT An InnoDB page number.
|
||||||
NUMERIC_MIN_VALUE 0
|
NUMERIC_MIN_VALUE 0
|
||||||
NUMERIC_MAX_VALUE 4294967295
|
NUMERIC_MAX_VALUE 4294967295
|
||||||
@@ -1929,7 +1929,7 @@
|
@@ -1943,7 +1943,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 1048576
|
DEFAULT_VALUE 1048576
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -489,7 +489,7 @@
|
|||||||
VARIABLE_COMMENT Memory buffer size for index creation
|
VARIABLE_COMMENT Memory buffer size for index creation
|
||||||
NUMERIC_MIN_VALUE 65536
|
NUMERIC_MIN_VALUE 65536
|
||||||
NUMERIC_MAX_VALUE 67108864
|
NUMERIC_MAX_VALUE 67108864
|
||||||
@@ -1943,10 +1943,10 @@
|
@@ -1957,10 +1957,10 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 6
|
DEFAULT_VALUE 6
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -502,7 +502,7 @@
|
|||||||
NUMERIC_BLOCK_SIZE 0
|
NUMERIC_BLOCK_SIZE 0
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
@@ -2139,7 +2139,7 @@
|
@@ -2167,7 +2167,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 1
|
DEFAULT_VALUE 1
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -511,7 +511,7 @@
|
|||||||
VARIABLE_COMMENT Size of the mutex/lock wait array.
|
VARIABLE_COMMENT Size of the mutex/lock wait array.
|
||||||
NUMERIC_MIN_VALUE 1
|
NUMERIC_MIN_VALUE 1
|
||||||
NUMERIC_MAX_VALUE 1024
|
NUMERIC_MAX_VALUE 1024
|
||||||
@@ -2153,10 +2153,10 @@
|
@@ -2181,10 +2181,10 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 30
|
DEFAULT_VALUE 30
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -524,7 +524,7 @@
|
|||||||
NUMERIC_BLOCK_SIZE 0
|
NUMERIC_BLOCK_SIZE 0
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
@@ -2181,7 +2181,7 @@
|
@@ -2209,7 +2209,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 0
|
DEFAULT_VALUE 0
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -533,7 +533,7 @@
|
|||||||
VARIABLE_COMMENT Helps in performance tuning in heavily concurrent environments. Sets the maximum number of threads allowed inside InnoDB. Value 0 will disable the thread throttling.
|
VARIABLE_COMMENT Helps in performance tuning in heavily concurrent environments. Sets the maximum number of threads allowed inside InnoDB. Value 0 will disable the thread throttling.
|
||||||
NUMERIC_MIN_VALUE 0
|
NUMERIC_MIN_VALUE 0
|
||||||
NUMERIC_MAX_VALUE 1000
|
NUMERIC_MAX_VALUE 1000
|
||||||
@@ -2195,7 +2195,7 @@
|
@@ -2223,7 +2223,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 10000
|
DEFAULT_VALUE 10000
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -542,7 +542,7 @@
|
|||||||
VARIABLE_COMMENT Time of innodb thread sleeping before joining InnoDB queue (usec). Value 0 disable a sleep
|
VARIABLE_COMMENT Time of innodb thread sleeping before joining InnoDB queue (usec). Value 0 disable a sleep
|
||||||
NUMERIC_MIN_VALUE 0
|
NUMERIC_MIN_VALUE 0
|
||||||
NUMERIC_MAX_VALUE 1000000
|
NUMERIC_MAX_VALUE 1000000
|
||||||
@@ -2251,7 +2251,7 @@
|
@@ -2293,7 +2293,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 128
|
DEFAULT_VALUE 128
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -551,7 +551,7 @@
|
|||||||
VARIABLE_COMMENT Number of undo logs to use.
|
VARIABLE_COMMENT Number of undo logs to use.
|
||||||
NUMERIC_MIN_VALUE 1
|
NUMERIC_MIN_VALUE 1
|
||||||
NUMERIC_MAX_VALUE 128
|
NUMERIC_MAX_VALUE 128
|
||||||
@@ -2265,7 +2265,7 @@
|
@@ -2307,7 +2307,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE 0
|
DEFAULT_VALUE 0
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
@ -560,7 +560,7 @@
|
|||||||
VARIABLE_COMMENT Number of undo tablespaces to use.
|
VARIABLE_COMMENT Number of undo tablespaces to use.
|
||||||
NUMERIC_MIN_VALUE 0
|
NUMERIC_MIN_VALUE 0
|
||||||
NUMERIC_MAX_VALUE 126
|
NUMERIC_MAX_VALUE 126
|
||||||
@@ -2363,7 +2363,7 @@
|
@@ -2405,7 +2405,7 @@
|
||||||
GLOBAL_VALUE_ORIGIN CONFIG
|
GLOBAL_VALUE_ORIGIN CONFIG
|
||||||
DEFAULT_VALUE 4
|
DEFAULT_VALUE 4
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
--- suite/sys_vars/r/sysvars_innodb.result
|
--- suite/sys_vars/r/sysvars_innodb.result
|
||||||
+++ suite/sys_vars/r/sysvars_innodb,xtradb.reject
|
+++ suite/sys_vars/r/sysvars_innodb,xtradb.reject
|
||||||
@@ -47,6 +47,20 @@
|
@@ -47,6 +47,20 @@
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST OFF,ON
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
COMMAND_LINE_ARGUMENT OPTIONAL
|
||||||
+VARIABLE_NAME INNODB_ADAPTIVE_HASH_INDEX_PARTITIONS
|
+VARIABLE_NAME INNODB_ADAPTIVE_HASH_INDEX_PARTITIONS
|
||||||
@ -22,7 +22,7 @@
|
|||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE 150000
|
GLOBAL_VALUE 150000
|
||||||
@@ -355,6 +369,20 @@
|
@@ -355,6 +369,20 @@
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST OFF,ON
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
COMMAND_LINE_ARGUMENT REQUIRED
|
COMMAND_LINE_ARGUMENT REQUIRED
|
||||||
+VARIABLE_NAME INNODB_BUFFER_POOL_POPULATE
|
+VARIABLE_NAME INNODB_BUFFER_POOL_POPULATE
|
||||||
@ -177,7 +177,7 @@
|
|||||||
VARIABLE_NAME INNODB_DATA_FILE_PATH
|
VARIABLE_NAME INNODB_DATA_FILE_PATH
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE ibdata1:12M:autoextend
|
GLOBAL_VALUE ibdata1:12M:autoextend
|
||||||
@@ -761,6 +901,20 @@
|
@@ -775,6 +915,20 @@
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY YES
|
READ_ONLY YES
|
||||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
COMMAND_LINE_ARGUMENT OPTIONAL
|
||||||
@ -198,7 +198,7 @@
|
|||||||
VARIABLE_NAME INNODB_ENCRYPTION_ROTATE_KEY_AGE
|
VARIABLE_NAME INNODB_ENCRYPTION_ROTATE_KEY_AGE
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE 1
|
GLOBAL_VALUE 1
|
||||||
@@ -831,6 +985,20 @@
|
@@ -845,6 +999,20 @@
|
||||||
ENUM_VALUE_LIST OFF,ON,FORCE
|
ENUM_VALUE_LIST OFF,ON,FORCE
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
COMMAND_LINE_ARGUMENT OPTIONAL
|
||||||
@ -219,7 +219,7 @@
|
|||||||
VARIABLE_NAME INNODB_FAST_SHUTDOWN
|
VARIABLE_NAME INNODB_FAST_SHUTDOWN
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE 1
|
GLOBAL_VALUE 1
|
||||||
@@ -958,11 +1126,11 @@
|
@@ -972,11 +1140,11 @@
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
COMMAND_LINE_ARGUMENT OPTIONAL
|
||||||
VARIABLE_NAME INNODB_FLUSH_LOG_AT_TRX_COMMIT
|
VARIABLE_NAME INNODB_FLUSH_LOG_AT_TRX_COMMIT
|
||||||
@ -296,7 +296,7 @@
|
|||||||
VARIABLE_NAME INNODB_LOCKS_UNSAFE_FOR_BINLOG
|
VARIABLE_NAME INNODB_LOCKS_UNSAFE_FOR_BINLOG
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE OFF
|
GLOBAL_VALUE OFF
|
||||||
@@ -1349,6 +1559,62 @@
|
@@ -1363,6 +1573,62 @@
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
COMMAND_LINE_ARGUMENT REQUIRED
|
COMMAND_LINE_ARGUMENT REQUIRED
|
||||||
@ -359,8 +359,8 @@
|
|||||||
VARIABLE_NAME INNODB_LOG_BUFFER_SIZE
|
VARIABLE_NAME INNODB_LOG_BUFFER_SIZE
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE 1048576
|
GLOBAL_VALUE 1048576
|
||||||
@@ -1377,6 +1643,20 @@
|
@@ -1391,6 +1657,20 @@
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST OFF,ON
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
COMMAND_LINE_ARGUMENT OPTIONAL
|
||||||
+VARIABLE_NAME INNODB_LOG_CHECKSUM_ALGORITHM
|
+VARIABLE_NAME INNODB_LOG_CHECKSUM_ALGORITHM
|
||||||
@ -380,7 +380,7 @@
|
|||||||
VARIABLE_NAME INNODB_LOG_COMPRESSED_PAGES
|
VARIABLE_NAME INNODB_LOG_COMPRESSED_PAGES
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE ON
|
GLOBAL_VALUE ON
|
||||||
@@ -1447,6 +1727,34 @@
|
@@ -1461,6 +1741,34 @@
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
COMMAND_LINE_ARGUMENT REQUIRED
|
COMMAND_LINE_ARGUMENT REQUIRED
|
||||||
@ -415,8 +415,8 @@
|
|||||||
VARIABLE_NAME INNODB_MAX_DIRTY_PAGES_PCT
|
VARIABLE_NAME INNODB_MAX_DIRTY_PAGES_PCT
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE 75.000000
|
GLOBAL_VALUE 75.000000
|
||||||
@@ -1713,6 +2021,62 @@
|
@@ -1727,6 +2035,62 @@
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST OFF,ON
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
COMMAND_LINE_ARGUMENT OPTIONAL
|
||||||
+VARIABLE_NAME INNODB_PRIORITY_CLEANER
|
+VARIABLE_NAME INNODB_PRIORITY_CLEANER
|
||||||
@ -478,7 +478,7 @@
|
|||||||
VARIABLE_NAME INNODB_PURGE_BATCH_SIZE
|
VARIABLE_NAME INNODB_PURGE_BATCH_SIZE
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE 300
|
GLOBAL_VALUE 300
|
||||||
@@ -1881,6 +2245,48 @@
|
@@ -1895,6 +2259,48 @@
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
COMMAND_LINE_ARGUMENT OPTIONAL
|
||||||
@ -527,7 +527,7 @@
|
|||||||
VARIABLE_NAME INNODB_SCRUB_LOG
|
VARIABLE_NAME INNODB_SCRUB_LOG
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE OFF
|
GLOBAL_VALUE OFF
|
||||||
@@ -1909,6 +2315,34 @@
|
@@ -1923,6 +2329,34 @@
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
COMMAND_LINE_ARGUMENT OPTIONAL
|
||||||
@ -562,7 +562,7 @@
|
|||||||
VARIABLE_NAME INNODB_SIMULATE_COMP_FAILURES
|
VARIABLE_NAME INNODB_SIMULATE_COMP_FAILURES
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE 0
|
GLOBAL_VALUE 0
|
||||||
@@ -1972,7 +2406,7 @@
|
@@ -2000,7 +2434,7 @@
|
||||||
DEFAULT_VALUE nulls_equal
|
DEFAULT_VALUE nulls_equal
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
VARIABLE_TYPE ENUM
|
VARIABLE_TYPE ENUM
|
||||||
@ -571,7 +571,7 @@
|
|||||||
NUMERIC_MIN_VALUE NULL
|
NUMERIC_MIN_VALUE NULL
|
||||||
NUMERIC_MAX_VALUE NULL
|
NUMERIC_MAX_VALUE NULL
|
||||||
NUMERIC_BLOCK_SIZE NULL
|
NUMERIC_BLOCK_SIZE NULL
|
||||||
@@ -2217,6 +2651,34 @@
|
@@ -2245,6 +2679,34 @@
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
COMMAND_LINE_ARGUMENT OPTIONAL
|
||||||
@ -606,7 +606,7 @@
|
|||||||
VARIABLE_NAME INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG
|
VARIABLE_NAME INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE OFF
|
GLOBAL_VALUE OFF
|
||||||
@@ -2294,7 +2756,7 @@
|
@@ -2322,7 +2784,7 @@
|
||||||
DEFAULT_VALUE OFF
|
DEFAULT_VALUE OFF
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
VARIABLE_TYPE BOOLEAN
|
VARIABLE_TYPE BOOLEAN
|
||||||
@ -615,8 +615,8 @@
|
|||||||
NUMERIC_MIN_VALUE NULL
|
NUMERIC_MIN_VALUE NULL
|
||||||
NUMERIC_MAX_VALUE NULL
|
NUMERIC_MAX_VALUE NULL
|
||||||
NUMERIC_BLOCK_SIZE NULL
|
NUMERIC_BLOCK_SIZE NULL
|
||||||
@@ -2315,6 +2777,20 @@
|
@@ -2343,6 +2805,20 @@
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST OFF,ON
|
||||||
READ_ONLY YES
|
READ_ONLY YES
|
||||||
COMMAND_LINE_ARGUMENT NONE
|
COMMAND_LINE_ARGUMENT NONE
|
||||||
+VARIABLE_NAME INNODB_USE_GLOBAL_FLUSH_LOG_AT_TRX_COMMIT
|
+VARIABLE_NAME INNODB_USE_GLOBAL_FLUSH_LOG_AT_TRX_COMMIT
|
||||||
@ -636,8 +636,8 @@
|
|||||||
VARIABLE_NAME INNODB_USE_MTFLUSH
|
VARIABLE_NAME INNODB_USE_MTFLUSH
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE OFF
|
GLOBAL_VALUE OFF
|
||||||
@@ -2329,6 +2805,20 @@
|
@@ -2357,6 +2833,20 @@
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST OFF,ON
|
||||||
READ_ONLY YES
|
READ_ONLY YES
|
||||||
COMMAND_LINE_ARGUMENT NONE
|
COMMAND_LINE_ARGUMENT NONE
|
||||||
+VARIABLE_NAME INNODB_USE_STACKTRACE
|
+VARIABLE_NAME INNODB_USE_STACKTRACE
|
||||||
@ -657,12 +657,12 @@
|
|||||||
VARIABLE_NAME INNODB_USE_SYS_MALLOC
|
VARIABLE_NAME INNODB_USE_SYS_MALLOC
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE ON
|
GLOBAL_VALUE ON
|
||||||
@@ -2359,12 +2849,12 @@
|
@@ -2387,12 +2877,12 @@
|
||||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
COMMAND_LINE_ARGUMENT OPTIONAL
|
||||||
VARIABLE_NAME INNODB_VERSION
|
VARIABLE_NAME INNODB_VERSION
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
-GLOBAL_VALUE 5.6.36
|
-GLOBAL_VALUE 5.6.37
|
||||||
+GLOBAL_VALUE 5.6.36-82.0
|
+GLOBAL_VALUE 5.6.36-82.1
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE NULL
|
DEFAULT_VALUE NULL
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
|
@ -2387,7 +2387,7 @@ READ_ONLY NO
|
|||||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
COMMAND_LINE_ARGUMENT OPTIONAL
|
||||||
VARIABLE_NAME INNODB_VERSION
|
VARIABLE_NAME INNODB_VERSION
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE 5.6.36
|
GLOBAL_VALUE 5.6.37
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||||
DEFAULT_VALUE NULL
|
DEFAULT_VALUE NULL
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
|
@ -285,6 +285,8 @@ CREATE TABLE t1 (a LONGTEXT COLLATE latin1_general_ci);
|
|||||||
ALTER TABLE t1 MODIFY a LONGTEXT COLLATE latin1_swedish_ci, ALGORITHM=INPLACE;
|
ALTER TABLE t1 MODIFY a LONGTEXT COLLATE latin1_swedish_ci, ALGORITHM=INPLACE;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
# End of 10.0 tests
|
||||||
|
|
||||||
#
|
#
|
||||||
# MDEV-11335 Changing delay_key_write option for MyISAM table should not copy rows
|
# MDEV-11335 Changing delay_key_write option for MyISAM table should not copy rows
|
||||||
#
|
#
|
||||||
@ -306,3 +308,5 @@ flush tables;
|
|||||||
insert t1 values (1,2),(2,3),(3,4);
|
insert t1 values (1,2),(2,3),(3,4);
|
||||||
show status like 'Feature_delay_key_write';
|
show status like 'Feature_delay_key_write';
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
# End of 10.1 tests
|
||||||
|
76
mysql-test/t/binary_to_hex.test
Normal file
76
mysql-test/t/binary_to_hex.test
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
# === Purpose ===
|
||||||
|
# The purpose of this test case is to make
|
||||||
|
# sure that the binary data in tables is printed
|
||||||
|
# as hex when the option binary-as-hex is enabled.
|
||||||
|
#
|
||||||
|
# === Related bugs and/or worklogs ===
|
||||||
|
# Bug #25340722 - PRINT BINARY DATA AS HEX IN THE MYSQL
|
||||||
|
# CLIENT (CONTRIBUTION)
|
||||||
|
#
|
||||||
|
|
||||||
|
# Save the initial number of concurrent sessions
|
||||||
|
--source include/count_sessions.inc
|
||||||
|
--source include/not_embedded.inc
|
||||||
|
|
||||||
|
USE test;
|
||||||
|
--disable_warnings
|
||||||
|
DROP TABLE IF EXISTS t1, t2;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 TINYBLOB,
|
||||||
|
c2 BLOB,
|
||||||
|
c3 MEDIUMBLOB,
|
||||||
|
c4 LONGBLOB,
|
||||||
|
c5 TEXT,
|
||||||
|
c6 BIT(1),
|
||||||
|
c7 CHAR,
|
||||||
|
c8 VARCHAR(10),
|
||||||
|
c9 GEOMETRY) CHARACTER SET = binary;
|
||||||
|
|
||||||
|
SHOW CREATE TABLE t1;
|
||||||
|
|
||||||
|
INSERT INTO t1 VALUES ('tinyblob-text readable', 'blob-text readable',
|
||||||
|
'mediumblob-text readable', 'longblob-text readable',
|
||||||
|
'text readable', b'1', 'c', 'variable',
|
||||||
|
POINT(1, 1));
|
||||||
|
|
||||||
|
CREATE TABLE t2(id int, `col1` binary(10),`col2` blob);
|
||||||
|
|
||||||
|
SHOW CREATE TABLE t2;
|
||||||
|
|
||||||
|
INSERT INTO t2 VALUES (1, X'AB1234', X'123ABC'), (2, X'DE1234', X'123DEF');
|
||||||
|
|
||||||
|
--echo #Print the table contents when binary-as-hex option is off.
|
||||||
|
--replace_column 6 # 9 #
|
||||||
|
SELECT * FROM t1;
|
||||||
|
|
||||||
|
--replace_column 2 # 3 #
|
||||||
|
SELECT * FROM t2;
|
||||||
|
|
||||||
|
--echo #Print the table contents after turning on the binary-as-hex option
|
||||||
|
--echo
|
||||||
|
--echo #Print the table contents in tab format
|
||||||
|
--echo
|
||||||
|
--exec $MYSQL test --binary-as-hex -e "SELECT * FROM t1; SELECT * FROM t2;"
|
||||||
|
--echo
|
||||||
|
--echo #Print the table contents in table format
|
||||||
|
--echo
|
||||||
|
--exec $MYSQL test --binary-as-hex --table -e "SELECT * FROM t1; SELECT * FROM t2 WHERE col2=0x123ABC;"
|
||||||
|
--echo
|
||||||
|
--echo #Print the table contents vertically
|
||||||
|
--echo
|
||||||
|
--exec $MYSQL test --binary-as-hex --vertical -e "SELECT * FROM t1;"
|
||||||
|
--echo
|
||||||
|
--echo #Print the table contents in xml format
|
||||||
|
--echo
|
||||||
|
--exec $MYSQL test --binary-as-hex --xml -e "SELECT * FROM t1; SELECT * FROM t2;"
|
||||||
|
--echo
|
||||||
|
--echo #Print the table contents in html format
|
||||||
|
--echo
|
||||||
|
--exec $MYSQL test --binary-as-hex --html -e "SELECT * FROM t1; SELECT * FROM t2;"
|
||||||
|
|
||||||
|
#Cleanup
|
||||||
|
DROP TABLE t1, t2;
|
||||||
|
|
||||||
|
# Wait till all disconnects are completed
|
||||||
|
--source include/wait_until_count_sessions.inc
|
@ -107,3 +107,19 @@ create view v1 as select * from t1;
|
|||||||
select count(distinct i) from v1;
|
select count(distinct i) from v1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
drop view v1;
|
drop view v1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# MDEV-12136 SELECT COUNT(DISTINCT) returns the wrong value when tmp_table_size is limited
|
||||||
|
#
|
||||||
|
create table t1 (user_id char(64) character set utf8);
|
||||||
|
insert t1 values(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17);
|
||||||
|
set @@tmp_table_size = 1024;
|
||||||
|
select count(distinct user_id) from t1;
|
||||||
|
alter table t1 modify user_id char(128) character set utf8;
|
||||||
|
select count(distinct user_id) from t1;
|
||||||
|
drop table t1;
|
||||||
|
set @@tmp_table_size = default;
|
||||||
|
|
||||||
|
#
|
||||||
|
# End of 5.5 tests
|
||||||
|
#
|
||||||
|
@ -431,6 +431,25 @@ SELECT CAST(0xE001 AS BINARY) REGEXP @regCheck;
|
|||||||
--replace_regex /[0-9]+ exceeded/NUM exceeded/
|
--replace_regex /[0-9]+ exceeded/NUM exceeded/
|
||||||
SELECT 1 FROM dual WHERE ('Alpha,Bravo,Charlie,Delta,Echo,Foxtrot,StrataCentral,Golf,Hotel,India,Juliet,Kilo,Lima,Mike,StrataL3,November,Oscar,StrataL2,Sand,P3,P4SwitchTest,Arsys,Poppa,ExtensionMgr,Arp,Quebec,Romeo,StrataApiV2,PtReyes,Sierra,SandAcl,Arrow,Artools,BridgeTest,Tango,SandT,PAlaska,Namespace,Agent,Qos,PatchPanel,ProjectReport,Ark,Gimp,Agent,SliceAgent,Arnet,Bgp,Ale,Tommy,Central,AsicPktTestLib,Hsc,SandL3,Abuild,Pca9555,Standby,ControllerDut,CalSys,SandLib,Sb820,PointV2,BfnLib,Evpn,BfnSdk,Sflow,ManagementActive,AutoTest,GatedTest,Bgp,Sand,xinetd,BfnAgentLib,bf-utils,Hello,BfnState,Eos,Artest,Qos,Scd,ThermoMgr,Uniform,EosUtils,Eb,FanController,Central,BfnL3,BfnL2,tcp_wrappers,Victor,Environment,Route,Failover,Whiskey,Xray,Gimp,BfnFixed,Strata,SoCal,XApi,Msrp,XpProfile,tcpdump,PatchPanel,ArosTest,FhTest,Arbus,XpAcl,MacConc,XpApi,telnet,QosTest,Alpha2,BfnVlan,Stp,VxlanControllerTest,MplsAgent,Bravo2,Lanz,BfnMbb,Intf,XCtrl,Unicast,SandTunnel,L3Unicast,Ipsec,MplsTest,Rsvp,EthIntf,StageMgr,Sol,MplsUtils,Nat,Ira,P4NamespaceDut,Counters,Charlie2,Aqlc,Mlag,Power,OpenFlow,Lag,RestApi,BfdTest,strongs,Sfa,CEosUtils,Adt746,MaintenanceMode,MlagDut,EosImage,IpEth,MultiProtocol,Launcher,Max3179,Snmp,Acl,IpEthTest,PhyEee,bf-syslibs,tacc,XpL2,p4-ar-switch,p4-bf-switch,LdpTest,BfnPhy,Mirroring,Phy6,Ptp' REGEXP '^((?!\b(Strata|StrataApi|StrataApiV2)\b).)*$');
|
SELECT 1 FROM dual WHERE ('Alpha,Bravo,Charlie,Delta,Echo,Foxtrot,StrataCentral,Golf,Hotel,India,Juliet,Kilo,Lima,Mike,StrataL3,November,Oscar,StrataL2,Sand,P3,P4SwitchTest,Arsys,Poppa,ExtensionMgr,Arp,Quebec,Romeo,StrataApiV2,PtReyes,Sierra,SandAcl,Arrow,Artools,BridgeTest,Tango,SandT,PAlaska,Namespace,Agent,Qos,PatchPanel,ProjectReport,Ark,Gimp,Agent,SliceAgent,Arnet,Bgp,Ale,Tommy,Central,AsicPktTestLib,Hsc,SandL3,Abuild,Pca9555,Standby,ControllerDut,CalSys,SandLib,Sb820,PointV2,BfnLib,Evpn,BfnSdk,Sflow,ManagementActive,AutoTest,GatedTest,Bgp,Sand,xinetd,BfnAgentLib,bf-utils,Hello,BfnState,Eos,Artest,Qos,Scd,ThermoMgr,Uniform,EosUtils,Eb,FanController,Central,BfnL3,BfnL2,tcp_wrappers,Victor,Environment,Route,Failover,Whiskey,Xray,Gimp,BfnFixed,Strata,SoCal,XApi,Msrp,XpProfile,tcpdump,PatchPanel,ArosTest,FhTest,Arbus,XpAcl,MacConc,XpApi,telnet,QosTest,Alpha2,BfnVlan,Stp,VxlanControllerTest,MplsAgent,Bravo2,Lanz,BfnMbb,Intf,XCtrl,Unicast,SandTunnel,L3Unicast,Ipsec,MplsTest,Rsvp,EthIntf,StageMgr,Sol,MplsUtils,Nat,Ira,P4NamespaceDut,Counters,Charlie2,Aqlc,Mlag,Power,OpenFlow,Lag,RestApi,BfdTest,strongs,Sfa,CEosUtils,Adt746,MaintenanceMode,MlagDut,EosImage,IpEth,MultiProtocol,Launcher,Max3179,Snmp,Acl,IpEthTest,PhyEee,bf-syslibs,tacc,XpL2,p4-ar-switch,p4-bf-switch,LdpTest,BfnPhy,Mirroring,Phy6,Ptp' REGEXP '^((?!\b(Strata|StrataApi|StrataApiV2)\b).)*$');
|
||||||
|
|
||||||
|
#
|
||||||
|
# MDEV-13173 An RLIKE that previously worked on 10.0 now returns "Got error 'pcre_exec: recursion limit of 100 exceeded' from regexp"
|
||||||
|
#
|
||||||
|
SELECT CONCAT(REPEAT('100,',133),'101') RLIKE '^(([1-9][0-9]*),)*[1-9][0-9]*$';
|
||||||
|
--replace_regex /[0-9]+ exceeded/NUM exceeded/
|
||||||
|
SELECT CONCAT(REPEAT('100,',200),'101') RLIKE '^(([1-9][0-9]*),)*[1-9][0-9]*$';
|
||||||
|
|
||||||
|
SELECT REGEXP_INSTR(CONCAT(REPEAT('100,',133),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$');
|
||||||
|
--replace_regex /[0-9]+ exceeded/NUM exceeded/
|
||||||
|
SELECT REGEXP_INSTR(CONCAT(REPEAT('100,',200),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$');
|
||||||
|
|
||||||
|
SELECT LENGTH(REGEXP_SUBSTR(CONCAT(REPEAT('100,',133),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$'));
|
||||||
|
--replace_regex /[0-9]+ exceeded/NUM exceeded/
|
||||||
|
SELECT LENGTH(REGEXP_SUBSTR(CONCAT(REPEAT('100,',200),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$'));
|
||||||
|
|
||||||
|
SELECT LENGTH(REGEXP_REPLACE(CONCAT(REPEAT('100,',133),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$', ''));
|
||||||
|
--replace_regex /[0-9]+ exceeded/NUM exceeded/
|
||||||
|
SELECT LENGTH(REGEXP_REPLACE(CONCAT(REPEAT('100,',200),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$', ''));
|
||||||
|
|
||||||
#
|
#
|
||||||
# MDEV-12942 REGEXP_INSTR returns 1 when using brackets
|
# MDEV-12942 REGEXP_INSTR returns 1 when using brackets
|
||||||
#
|
#
|
||||||
|
@ -62,3 +62,25 @@ SELECT fid, AsText(g) FROM t1 WHERE ST_Within(g,
|
|||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
--echo End of 5.5 tests.
|
--echo End of 5.5 tests.
|
||||||
|
|
||||||
|
#
|
||||||
|
# MDEV-12078 Using spatial index changes type from point to geometry.
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
coordinate point NOT NULL,
|
||||||
|
SPATIAL KEY coordinate (coordinate)
|
||||||
|
) ENGINE=Aria DEFAULT CHARSET=ascii PAGE_CHECKSUM=1;
|
||||||
|
|
||||||
|
SHOW COLUMNS FROM t1;
|
||||||
|
|
||||||
|
INSERT INTO t1 (coordinate) VALUES(ST_PointFromText("POINT(0 0)"));
|
||||||
|
INSERT INTO t1 (coordinate) VALUES(ST_PointFromText("POINT(10 0)"));
|
||||||
|
INSERT INTO t1 (coordinate) VALUES(ST_PointFromText("POINT(10 10)"));
|
||||||
|
INSERT INTO t1 (coordinate) VALUES(ST_PointFromText("POINT(0 10)"));
|
||||||
|
INSERT INTO t1 (coordinate) VALUES(ST_PointFromText("POINT(5 5)"));
|
||||||
|
|
||||||
|
SELECT astext(coordinate) FROM t1 WHERE ST_Intersects(ST_LineFromText("LINESTRING(0 0, 10 0, 10 10, 0 10)"), coordinate);
|
||||||
|
|
||||||
|
SHOW COLUMNS FROM t1;
|
||||||
|
|
||||||
|
DROP TABLE t1;
|
||||||
|
@ -351,15 +351,15 @@ insert into t1 values ('85984',GeomFromText('MULTIPOLYGON(((-115.006363
|
|||||||
36.248666,-115.263639 36.247466,-115.263839 36.252766,-115.261439
|
36.248666,-115.263639 36.247466,-115.263839 36.252766,-115.261439
|
||||||
36.252666,-115.261439 36.247366,-115.247239 36.247066)))'));
|
36.252666,-115.261439 36.247366,-115.247239 36.247066)))'));
|
||||||
|
|
||||||
# Expected result is 115.31877315203187, but IA64 returns 115.31877315203188
|
# Expected results are 115.2970604672862 and 36.23335610879993, but IA64 returns
|
||||||
# due to fused multiply-add instructions.
|
# slightly different values due to fused multiply-add instructions.
|
||||||
--replace_result 115.31877315203188 115.31877315203187
|
--replace_result 115.29706047613604 115.2970604672862 36.23335611157958 36.23335610879993
|
||||||
select object_id, geometrytype(geo), ISSIMPLE(GEO), ASTEXT(centroid(geo)) from
|
select object_id, geometrytype(geo), ISSIMPLE(GEO), ASTEXT(centroid(geo)) from
|
||||||
t1 where object_id=85998;
|
t1 where object_id=85998;
|
||||||
|
|
||||||
# Expected result is 36.3310176346905, but IA64 returns 36.3310176346904
|
# Expected result is 36.34725218253213, but IA64 returns 36.34725217627852
|
||||||
# due to fused multiply-add instructions.
|
# due to fused multiply-add instructions.
|
||||||
--replace_result 36.3310176346904 36.3310176346905 -114.87787186923326 -114.87787186923313 36.33101763469053 36.33101763469059 36.33101763469043 36.33101763469059
|
--replace_result 36.34725217627852 36.34725218253213 -114.86854470090232 -114.86854472054372
|
||||||
select object_id, geometrytype(geo), ISSIMPLE(GEO), ASTEXT(centroid(geo)) from
|
select object_id, geometrytype(geo), ISSIMPLE(GEO), ASTEXT(centroid(geo)) from
|
||||||
t1 where object_id=85984;
|
t1 where object_id=85984;
|
||||||
|
|
||||||
|
@ -1726,6 +1726,44 @@ select a as x from t1 group by x having x > 1;
|
|||||||
select a from t1 group by a having a > 1;
|
select a from t1 group by a having a > 1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
set sql_mode= @save_sql_mode;
|
set sql_mode= @save_sql_mode;
|
||||||
|
|
||||||
|
#
|
||||||
|
# MDEV-7826 Server crashes in Item_subselect::enumerate_field_refs_processor
|
||||||
|
#
|
||||||
|
create table t1 (f1 int);
|
||||||
|
insert into t1 values (5),(9);
|
||||||
|
create table t2 (f2 int);
|
||||||
|
insert into t2 values (0),(6);
|
||||||
|
create table t3 (f3 int);
|
||||||
|
insert into t3 values (6),(3);
|
||||||
|
create table t4 (f4 int);
|
||||||
|
insert into t4 values (1),(0);
|
||||||
|
--error ER_ILLEGAL_REFERENCE
|
||||||
|
select
|
||||||
|
(select min(f1) from t1 where f1 in (select min(f4) from t2)) as field7,
|
||||||
|
(select count(*) from t3 where f3 in (select max(f4) from t2 group by field7))
|
||||||
|
from t4;
|
||||||
|
drop table t1, t2, t3, t4;
|
||||||
|
|
||||||
|
#
|
||||||
|
# MDEV-13180 Unused left join causes server crash
|
||||||
|
#
|
||||||
|
create table t1 (i1 int);
|
||||||
|
insert into t1 values (1);
|
||||||
|
create table t2 (i int);
|
||||||
|
insert into t2 values (2);
|
||||||
|
select 1 from t1 left join t2 b on b.i = (select max(b.i) from t2);
|
||||||
|
drop table t1, t2;
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# MDEV-12489 The select stmt may fail due to "having clause is ambiguous" unexpected
|
||||||
|
#
|
||||||
|
create table t1 (c1 int, c2 int);
|
||||||
|
create table t2 (c1 int, c2 int);
|
||||||
|
select t1.c1 as c1, t2.c2 as c1 from t1, t2 where t1.c1 < 20 and t2.c2 > 5 group by t1.c1, t2.c2 having t1.c1 < 3;
|
||||||
|
drop table t1, t2;
|
||||||
|
|
||||||
#
|
#
|
||||||
# End of MariaDB 5.5 tests
|
# End of MariaDB 5.5 tests
|
||||||
#
|
#
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
-- source include/mysql_upgrade_preparation.inc
|
-- source include/mysql_upgrade_preparation.inc
|
||||||
-- source include/have_working_dns.inc
|
-- source include/have_working_dns.inc
|
||||||
-- source include/have_innodb.inc
|
-- source include/have_innodb.inc
|
||||||
|
-- source include/have_partition.inc
|
||||||
|
|
||||||
set sql_mode="";
|
set sql_mode="";
|
||||||
|
|
||||||
@ -168,6 +169,31 @@ SELECT grantor FROM mysql.tables_priv WHERE db = 'mysql' AND table_name = 'user'
|
|||||||
DROP USER very_long_user_name_number_1, very_long_user_name_number_2, even_longer_user_name_number_3_to_test_the_grantor_and_definer_field_length@localhost;
|
DROP USER very_long_user_name_number_1, very_long_user_name_number_2, even_longer_user_name_number_3_to_test_the_grantor_and_definer_field_length@localhost;
|
||||||
DROP PROCEDURE test.pr;
|
DROP PROCEDURE test.pr;
|
||||||
|
|
||||||
|
#
|
||||||
|
# MDEV-13274 mysql_upgrade fails if dbname+tablename+partioname > 64 chars
|
||||||
|
#
|
||||||
|
use test;
|
||||||
|
call mtr.add_suppression('Column last_update in table "mysql"."innodb_table_stats" is INT NOT NULL but should be');
|
||||||
|
alter table mysql.innodb_table_stats modify last_update int not null;
|
||||||
|
|
||||||
|
create table extralongname_extralongname_extralongname_extralongname_ext (
|
||||||
|
id int(10) unsigned not null,
|
||||||
|
created_date date not null,
|
||||||
|
created timestamp not null,
|
||||||
|
primary key (created,id,created_date)
|
||||||
|
) engine=innodb stats_persistent=1 default charset=latin1
|
||||||
|
partition by range (year(created_date))
|
||||||
|
subpartition by hash (month(created_date))
|
||||||
|
subpartitions 2 (
|
||||||
|
partition p2007 values less than (2008),
|
||||||
|
partition p2008 values less than (2009)
|
||||||
|
);
|
||||||
|
--exec $MYSQL_UPGRADE --skip-verbose --force 2>&1
|
||||||
|
select length(table_name) from mysql.innodb_table_stats;
|
||||||
|
drop table extralongname_extralongname_extralongname_extralongname_ext;
|
||||||
|
|
||||||
|
--echo End of 10.0 tests
|
||||||
|
|
||||||
set sql_mode=default;
|
set sql_mode=default;
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -192,4 +218,4 @@ DROP TABLE test.t1;
|
|||||||
--remove_file $MYSQLD_DATADIR/mysql_upgrade_info
|
--remove_file $MYSQLD_DATADIR/mysql_upgrade_info
|
||||||
SET GLOBAL enforce_storage_engine=NULL;
|
SET GLOBAL enforce_storage_engine=NULL;
|
||||||
|
|
||||||
--echo End of tests
|
--echo End of 10.1 tests
|
||||||
|
@ -84,6 +84,9 @@ insert into t3 values(1);
|
|||||||
|
|
||||||
insert into t4 select * from t3;
|
insert into t4 select * from t3;
|
||||||
|
|
||||||
|
--error ER_OPTION_PREVENTS_STATEMENT
|
||||||
|
create table t3 (a int);
|
||||||
|
|
||||||
# a non-temp table updated:
|
# a non-temp table updated:
|
||||||
--error ER_OPTION_PREVENTS_STATEMENT
|
--error ER_OPTION_PREVENTS_STATEMENT
|
||||||
update t1,t3 set t1.a=t3.a+1 where t1.a=t3.a;
|
update t1,t3 set t1.a=t3.a+1 where t1.a=t3.a;
|
||||||
|
@ -6055,6 +6055,23 @@ SELECT ( SELECT MAX(f1) FROM t2 ) FROM t1;
|
|||||||
drop view v1;
|
drop view v1;
|
||||||
drop table t1,t2;
|
drop table t1,t2;
|
||||||
|
|
||||||
|
#
|
||||||
|
# MDEV-7828 Assertion `key_read == 0' failed in TABLE::enable_keyread with SELECT SQ and WHERE SQ
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (f1 INT, KEY(f1)) ENGINE=MyISAM;
|
||||||
|
INSERT t1 VALUES (4),(8);
|
||||||
|
CREATE TABLE t2 (f2 INT, KEY(f2)) ENGINE=MyISAM;
|
||||||
|
INSERT t2 VALUES (6);
|
||||||
|
SELECT (SELECT MAX(sq.f2) FROM t1) FROM (SELECT * FROM t2) AS sq WHERE f2 = 2;
|
||||||
|
--echo #
|
||||||
|
--echo # Disable this query till MDEV-13399 is resolved
|
||||||
|
--echo #
|
||||||
|
--echo # INSERT t2 VALUES (9);
|
||||||
|
--echo # --error ER_SUBQUERY_NO_1_ROW
|
||||||
|
--echo # SELECT (SELECT MAX(sq.f2) FROM t1) FROM (SELECT * FROM t2) AS sq WHERE f2 = 2;
|
||||||
|
--echo #
|
||||||
|
drop table t1, t2;
|
||||||
|
|
||||||
--echo # End of 10.0 tests
|
--echo # End of 10.0 tests
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
|
@ -97,3 +97,9 @@ set optimizer_switch= @tmp_subselect_nulls;
|
|||||||
|
|
||||||
drop table x1;
|
drop table x1;
|
||||||
drop table x2;
|
drop table x2;
|
||||||
|
|
||||||
|
#
|
||||||
|
# MDEV-7339 Server crashes in Item_func_trig_cond::val_int
|
||||||
|
#
|
||||||
|
select (select 1, 2) in (select 3, 4);
|
||||||
|
select (select NULL, NULL) in (select 3, 4);
|
||||||
|
@ -1405,6 +1405,20 @@ drop table t1;
|
|||||||
|
|
||||||
--echo End of 5.0 tests
|
--echo End of 5.0 tests
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #24595639: INCORRECT BEHAVIOR IN QUERY WITH UNION AND GROUP BY
|
||||||
|
#
|
||||||
|
create table t1 (a int, b int);
|
||||||
|
insert into t1 values (1,1),(2,2),(3,3);
|
||||||
|
create table t2 (c varchar(30), d varchar(30));
|
||||||
|
insert into t1 values ('1','1'),('2','2'),('4','4');
|
||||||
|
create table t3 (e int, f int);
|
||||||
|
insert into t3 values (1,1),(2,2),(31,31),(32,32);
|
||||||
|
select e,f, (e , f) in (select e,b from t1 union select c,d from t2) as sub from t3;
|
||||||
|
select avg(f), (e , f) in (select e,b from t1 union select c,d from t2) as sub from t3 group by sub;
|
||||||
|
drop table t1,t2,t3;
|
||||||
|
|
||||||
|
--echo End of 5.5 tests
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # WL#1763 Avoid creating temporary table in UNION ALL
|
--echo # WL#1763 Avoid creating temporary table in UNION ALL
|
||||||
|
@ -5577,6 +5577,22 @@ select *
|
|||||||
drop view v1;
|
drop view v1;
|
||||||
drop table t1,t2,t3;
|
drop table t1,t2,t3;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-11240: Server crashes in check_view_single_update or
|
||||||
|
--echo # Assertion `derived->table' failed in mysql_derived_merge_for_insert
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE TABLE t3 (a INT);
|
||||||
|
CREATE ALGORITHM = MERGE VIEW v1 AS SELECT t2.a FROM t3 AS t1, t3 AS t2;
|
||||||
|
CREATE ALGORITHM = MERGE VIEW v2 AS SELECT * FROM v1;
|
||||||
|
PREPARE stmt FROM 'REPLACE INTO v2 SELECT a FROM t3';
|
||||||
|
--error ER_VIEW_NO_INSERT_FIELD_LIST
|
||||||
|
EXECUTE stmt;
|
||||||
|
--error ER_VIEW_NO_INSERT_FIELD_LIST
|
||||||
|
EXECUTE stmt;
|
||||||
|
drop view v1,v2;
|
||||||
|
drop table t3;
|
||||||
|
|
||||||
--echo # -----------------------------------------------------------------
|
--echo # -----------------------------------------------------------------
|
||||||
--echo # -- End of 5.5 tests.
|
--echo # -- End of 5.5 tests.
|
||||||
--echo # -----------------------------------------------------------------
|
--echo # -----------------------------------------------------------------
|
||||||
|
@ -142,7 +142,7 @@ static int no_close(void *cookie __attribute__((unused)))
|
|||||||
/*
|
/*
|
||||||
A hack around a race condition in the implementation of freopen.
|
A hack around a race condition in the implementation of freopen.
|
||||||
|
|
||||||
The race condition steams from the fact that the current fd of
|
The race condition stems from the fact that the current fd of
|
||||||
the stream is closed before its number is used to duplicate the
|
the stream is closed before its number is used to duplicate the
|
||||||
new file descriptor. This defeats the desired atomicity of the
|
new file descriptor. This defeats the desired atomicity of the
|
||||||
close and duplicate of dup2().
|
close and duplicate of dup2().
|
||||||
|
@ -765,7 +765,7 @@ int my_safe_print_str(const char *val, int len)
|
|||||||
|
|
||||||
size_t my_write_stderr(const void *buf, size_t count)
|
size_t my_write_stderr(const void *buf, size_t count)
|
||||||
{
|
{
|
||||||
return (size_t) write(STDERR_FILENO, buf, count);
|
return (size_t) write(fileno(stderr), buf, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,6 +4,53 @@ ChangeLog for PCRE
|
|||||||
Note that the PCRE 8.xx series (PCRE1) is now in a bugfix-only state. All
|
Note that the PCRE 8.xx series (PCRE1) is now in a bugfix-only state. All
|
||||||
development is happening in the PCRE2 10.xx series.
|
development is happening in the PCRE2 10.xx series.
|
||||||
|
|
||||||
|
Version 8.41 05-July-2017
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
1. Fixed typo in CMakeLists.txt (wrong number of arguments for
|
||||||
|
PCRE_STATIC_RUNTIME (affects MSVC only).
|
||||||
|
|
||||||
|
2. Issue 1 for 8.40 below was not correctly fixed. If pcregrep in multiline
|
||||||
|
mode with --only-matching matched several lines, it restarted scanning at the
|
||||||
|
next line instead of moving on to the end of the matched string, which can be
|
||||||
|
several lines after the start.
|
||||||
|
|
||||||
|
3. Fix a missing else in the JIT compiler reported by 'idaifish'.
|
||||||
|
|
||||||
|
4. A (?# style comment is now ignored between a basic quantifier and a
|
||||||
|
following '+' or '?' (example: /X+(?#comment)?Y/.
|
||||||
|
|
||||||
|
5. Avoid use of a potentially overflowing buffer in pcregrep (patch by Petr
|
||||||
|
Pisar).
|
||||||
|
|
||||||
|
6. Fuzzers have reported issues in pcretest. These are NOT serious (it is,
|
||||||
|
after all, just a test program). However, to stop the reports, some easy ones
|
||||||
|
are fixed:
|
||||||
|
|
||||||
|
(a) Check for values < 256 when calling isprint() in pcretest.
|
||||||
|
(b) Give an error for too big a number after \O.
|
||||||
|
|
||||||
|
7. In the 32-bit library in non-UTF mode, an attempt to find a Unicode
|
||||||
|
property for a character with a code point greater than 0x10ffff (the Unicode
|
||||||
|
maximum) caused a crash.
|
||||||
|
|
||||||
|
8. The alternative matching function, pcre_dfa_exec() misbehaved if it
|
||||||
|
encountered a character class with a possessive repeat, for example [a-f]{3}+.
|
||||||
|
|
||||||
|
9. When pcretest called pcre_copy_substring() in 32-bit mode, it set the buffer
|
||||||
|
length incorrectly, which could result in buffer overflow.
|
||||||
|
|
||||||
|
10. Remove redundant line of code (accidentally left in ages ago).
|
||||||
|
|
||||||
|
11. Applied C++ patch from Irfan Adilovic to guard 'using std::' directives
|
||||||
|
with namespace pcrecpp (Bugzilla #2084).
|
||||||
|
|
||||||
|
12. Remove a duplication typo in pcre_tables.c.
|
||||||
|
|
||||||
|
13. Fix returned offsets from regexec() when REG_STARTEND is used with a
|
||||||
|
starting offset greater than zero.
|
||||||
|
|
||||||
|
|
||||||
Version 8.40 11-January-2017
|
Version 8.40 11-January-2017
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
|
@ -1,6 +1,12 @@
|
|||||||
News about PCRE releases
|
News about PCRE releases
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
|
Release 8.41 13-June-2017
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
This is a bug-fix release.
|
||||||
|
|
||||||
|
|
||||||
Release 8.40 11-January-2017
|
Release 8.40 11-January-2017
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
|
@ -9,18 +9,18 @@ dnl The PCRE_PRERELEASE feature is for identifying release candidates. It might
|
|||||||
dnl be defined as -RC2, for example. For real releases, it should be empty.
|
dnl be defined as -RC2, for example. For real releases, it should be empty.
|
||||||
|
|
||||||
m4_define(pcre_major, [8])
|
m4_define(pcre_major, [8])
|
||||||
m4_define(pcre_minor, [40])
|
m4_define(pcre_minor, [41])
|
||||||
m4_define(pcre_prerelease, [])
|
m4_define(pcre_prerelease, [])
|
||||||
m4_define(pcre_date, [2017-01-11])
|
m4_define(pcre_date, [2017-07-05])
|
||||||
|
|
||||||
# NOTE: The CMakeLists.txt file searches for the above variables in the first
|
# NOTE: The CMakeLists.txt file searches for the above variables in the first
|
||||||
# 50 lines of this file. Please update that if the variables above are moved.
|
# 50 lines of this file. Please update that if the variables above are moved.
|
||||||
|
|
||||||
# Libtool shared library interface versions (current:revision:age)
|
# Libtool shared library interface versions (current:revision:age)
|
||||||
m4_define(libpcre_version, [3:8:2])
|
m4_define(libpcre_version, [3:9:2])
|
||||||
m4_define(libpcre16_version, [2:8:2])
|
m4_define(libpcre16_version, [2:9:2])
|
||||||
m4_define(libpcre32_version, [0:8:0])
|
m4_define(libpcre32_version, [0:9:0])
|
||||||
m4_define(libpcreposix_version, [0:4:0])
|
m4_define(libpcreposix_version, [0:5:0])
|
||||||
m4_define(libpcrecpp_version, [0:1:0])
|
m4_define(libpcrecpp_version, [0:1:0])
|
||||||
|
|
||||||
AC_PREREQ(2.57)
|
AC_PREREQ(2.57)
|
||||||
|
@ -79,9 +79,12 @@ API that is JIT-specific.
|
|||||||
</P>
|
</P>
|
||||||
<P>
|
<P>
|
||||||
If your program may sometimes be linked with versions of PCRE that are older
|
If your program may sometimes be linked with versions of PCRE that are older
|
||||||
than 8.20, but you want to use JIT when it is available, you can test
|
than 8.20, but you want to use JIT when it is available, you can test the
|
||||||
the values of PCRE_MAJOR and PCRE_MINOR, or the existence of a JIT macro such
|
values of PCRE_MAJOR and PCRE_MINOR, or the existence of a JIT macro such as
|
||||||
as PCRE_CONFIG_JIT, for compile-time control of your code.
|
PCRE_CONFIG_JIT, for compile-time control of your code. Also beware that the
|
||||||
|
<b>pcre_jit_exec()</b> function was not available at all before 8.32,
|
||||||
|
and may not be available at all if PCRE isn't compiled with
|
||||||
|
--enable-jit. See the "JIT FAST PATH API" section below for details.
|
||||||
</P>
|
</P>
|
||||||
<br><a name="SEC4" href="#TOC1">SIMPLE USE OF JIT</a><br>
|
<br><a name="SEC4" href="#TOC1">SIMPLE USE OF JIT</a><br>
|
||||||
<P>
|
<P>
|
||||||
@ -119,6 +122,20 @@ when you call <b>pcre_study()</b>:
|
|||||||
PCRE_STUDY_JIT_PARTIAL_HARD_COMPILE
|
PCRE_STUDY_JIT_PARTIAL_HARD_COMPILE
|
||||||
PCRE_STUDY_JIT_PARTIAL_SOFT_COMPILE
|
PCRE_STUDY_JIT_PARTIAL_SOFT_COMPILE
|
||||||
</pre>
|
</pre>
|
||||||
|
If using <b>pcre_jit_exec()</b> and supporting a pre-8.32 version of
|
||||||
|
PCRE, you can insert:
|
||||||
|
<pre>
|
||||||
|
#if PCRE_MAJOR >= 8 && PCRE_MINOR >= 32
|
||||||
|
pcre_jit_exec(...);
|
||||||
|
#else
|
||||||
|
pcre_exec(...)
|
||||||
|
#endif
|
||||||
|
</pre>
|
||||||
|
but as described in the "JIT FAST PATH API" section below this assumes
|
||||||
|
version 8.32 and later are compiled with --enable-jit, which may
|
||||||
|
break.
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
The JIT compiler generates different optimized code for each of the three
|
The JIT compiler generates different optimized code for each of the three
|
||||||
modes (normal, soft partial, hard partial). When <b>pcre_exec()</b> is called,
|
modes (normal, soft partial, hard partial). When <b>pcre_exec()</b> is called,
|
||||||
the appropriate code is run if it is available. Otherwise, the pattern is
|
the appropriate code is run if it is available. Otherwise, the pattern is
|
||||||
@ -428,6 +445,36 @@ fast path, and if invalid data is passed, the result is undefined.
|
|||||||
Bypassing the sanity checks and the <b>pcre_exec()</b> wrapping can give
|
Bypassing the sanity checks and the <b>pcre_exec()</b> wrapping can give
|
||||||
speedups of more than 10%.
|
speedups of more than 10%.
|
||||||
</P>
|
</P>
|
||||||
|
<P>
|
||||||
|
Note that the <b>pcre_jit_exec()</b> function is not available in versions of
|
||||||
|
PCRE before 8.32 (released in November 2012). If you need to support versions
|
||||||
|
that old you must either use the slower <b>pcre_exec()</b>, or switch between
|
||||||
|
the two codepaths by checking the values of PCRE_MAJOR and PCRE_MINOR.
|
||||||
|
</P>
|
||||||
|
<P>
|
||||||
|
Due to an unfortunate implementation oversight, even in versions 8.32
|
||||||
|
and later there will be no <b>pcre_jit_exec()</b> stub function defined
|
||||||
|
when PCRE is compiled with --disable-jit, which is the default, and
|
||||||
|
there's no way to detect whether PCRE was compiled with --enable-jit
|
||||||
|
via a macro.
|
||||||
|
</P>
|
||||||
|
<P>
|
||||||
|
If you need to support versions older than 8.32, or versions that may
|
||||||
|
not build with --enable-jit, you must either use the slower
|
||||||
|
<b>pcre_exec()</b>, or switch between the two codepaths by checking the
|
||||||
|
values of PCRE_MAJOR and PCRE_MINOR.
|
||||||
|
</P>
|
||||||
|
<P>
|
||||||
|
Switching between the two by checking the version assumes that all the
|
||||||
|
versions being targeted are built with --enable-jit. To also support
|
||||||
|
builds that may use --disable-jit either <b>pcre_exec()</b> must be
|
||||||
|
used, or a compile-time check for JIT via <b>pcre_config()</b> (which
|
||||||
|
assumes the runtime environment will be the same), or as the Git
|
||||||
|
project decided to do, simply assume that <b>pcre_jit_exec()</b> is
|
||||||
|
present in 8.32 or later unless a compile-time flag is provided, see
|
||||||
|
the "grep: un-break building with PCRE >= 8.32 without --enable-jit"
|
||||||
|
commit in git.git for an example of that.
|
||||||
|
</P>
|
||||||
<br><a name="SEC12" href="#TOC1">SEE ALSO</a><br>
|
<br><a name="SEC12" href="#TOC1">SEE ALSO</a><br>
|
||||||
<P>
|
<P>
|
||||||
<b>pcreapi</b>(3)
|
<b>pcreapi</b>(3)
|
||||||
@ -443,9 +490,9 @@ Cambridge CB2 3QH, England.
|
|||||||
</P>
|
</P>
|
||||||
<br><a name="SEC14" href="#TOC1">REVISION</a><br>
|
<br><a name="SEC14" href="#TOC1">REVISION</a><br>
|
||||||
<P>
|
<P>
|
||||||
Last updated: 17 March 2013
|
Last updated: 05 July 2017
|
||||||
<br>
|
<br>
|
||||||
Copyright © 1997-2013 University of Cambridge.
|
Copyright © 1997-2017 University of Cambridge.
|
||||||
<br>
|
<br>
|
||||||
<p>
|
<p>
|
||||||
Return to the <a href="index.html">PCRE index page</a>.
|
Return to the <a href="index.html">PCRE index page</a>.
|
||||||
|
@ -74,6 +74,11 @@ newline as data characters. However, in some Windows environments character 26
|
|||||||
maximum portability, therefore, it is safest to use only ASCII characters in
|
maximum portability, therefore, it is safest to use only ASCII characters in
|
||||||
<b>pcretest</b> input files.
|
<b>pcretest</b> input files.
|
||||||
</P>
|
</P>
|
||||||
|
<P>
|
||||||
|
The input is processed using using C's string functions, so must not
|
||||||
|
contain binary zeroes, even though in Unix-like environments, <b>fgets()</b>
|
||||||
|
treats any bytes other than newline as data characters.
|
||||||
|
</P>
|
||||||
<br><a name="SEC3" href="#TOC1">PCRE's 8-BIT, 16-BIT AND 32-BIT LIBRARIES</a><br>
|
<br><a name="SEC3" href="#TOC1">PCRE's 8-BIT, 16-BIT AND 32-BIT LIBRARIES</a><br>
|
||||||
<P>
|
<P>
|
||||||
From release 8.30, two separate PCRE libraries can be built. The original one
|
From release 8.30, two separate PCRE libraries can be built. The original one
|
||||||
@ -1149,9 +1154,9 @@ Cambridge CB2 3QH, England.
|
|||||||
</P>
|
</P>
|
||||||
<br><a name="SEC17" href="#TOC1">REVISION</a><br>
|
<br><a name="SEC17" href="#TOC1">REVISION</a><br>
|
||||||
<P>
|
<P>
|
||||||
Last updated: 09 February 2014
|
Last updated: 23 February 2017
|
||||||
<br>
|
<br>
|
||||||
Copyright © 1997-2014 University of Cambridge.
|
Copyright © 1997-2017 University of Cambridge.
|
||||||
<br>
|
<br>
|
||||||
<p>
|
<p>
|
||||||
Return to the <a href="index.html">PCRE index page</a>.
|
Return to the <a href="index.html">PCRE index page</a>.
|
||||||
|
@ -8365,7 +8365,11 @@ AVAILABILITY OF JIT SUPPORT
|
|||||||
If your program may sometimes be linked with versions of PCRE that are
|
If your program may sometimes be linked with versions of PCRE that are
|
||||||
older than 8.20, but you want to use JIT when it is available, you can
|
older than 8.20, but you want to use JIT when it is available, you can
|
||||||
test the values of PCRE_MAJOR and PCRE_MINOR, or the existence of a JIT
|
test the values of PCRE_MAJOR and PCRE_MINOR, or the existence of a JIT
|
||||||
macro such as PCRE_CONFIG_JIT, for compile-time control of your code.
|
macro such as PCRE_CONFIG_JIT, for compile-time control of your code.
|
||||||
|
Also beware that the pcre_jit_exec() function was not available at all
|
||||||
|
before 8.32, and may not be available at all if PCRE isn't compiled
|
||||||
|
with --enable-jit. See the "JIT FAST PATH API" section below for
|
||||||
|
details.
|
||||||
|
|
||||||
|
|
||||||
SIMPLE USE OF JIT
|
SIMPLE USE OF JIT
|
||||||
@ -8407,6 +8411,18 @@ SIMPLE USE OF JIT
|
|||||||
PCRE_STUDY_JIT_PARTIAL_HARD_COMPILE
|
PCRE_STUDY_JIT_PARTIAL_HARD_COMPILE
|
||||||
PCRE_STUDY_JIT_PARTIAL_SOFT_COMPILE
|
PCRE_STUDY_JIT_PARTIAL_SOFT_COMPILE
|
||||||
|
|
||||||
|
If using pcre_jit_exec() and supporting a pre-8.32 version of PCRE, you
|
||||||
|
can insert:
|
||||||
|
|
||||||
|
#if PCRE_MAJOR >= 8 && PCRE_MINOR >= 32
|
||||||
|
pcre_jit_exec(...);
|
||||||
|
#else
|
||||||
|
pcre_exec(...)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
but as described in the "JIT FAST PATH API" section below this assumes
|
||||||
|
version 8.32 and later are compiled with --enable-jit, which may break.
|
||||||
|
|
||||||
The JIT compiler generates different optimized code for each of the
|
The JIT compiler generates different optimized code for each of the
|
||||||
three modes (normal, soft partial, hard partial). When pcre_exec() is
|
three modes (normal, soft partial, hard partial). When pcre_exec() is
|
||||||
called, the appropriate code is run if it is available. Otherwise, the
|
called, the appropriate code is run if it is available. Otherwise, the
|
||||||
@ -8696,6 +8712,33 @@ JIT FAST PATH API
|
|||||||
Bypassing the sanity checks and the pcre_exec() wrapping can give
|
Bypassing the sanity checks and the pcre_exec() wrapping can give
|
||||||
speedups of more than 10%.
|
speedups of more than 10%.
|
||||||
|
|
||||||
|
Note that the pcre_jit_exec() function is not available in versions of
|
||||||
|
PCRE before 8.32 (released in November 2012). If you need to support
|
||||||
|
versions that old you must either use the slower pcre_exec(), or switch
|
||||||
|
between the two codepaths by checking the values of PCRE_MAJOR and
|
||||||
|
PCRE_MINOR.
|
||||||
|
|
||||||
|
Due to an unfortunate implementation oversight, even in versions 8.32
|
||||||
|
and later there will be no pcre_jit_exec() stub function defined when
|
||||||
|
PCRE is compiled with --disable-jit, which is the default, and there's
|
||||||
|
no way to detect whether PCRE was compiled with --enable-jit via a
|
||||||
|
macro.
|
||||||
|
|
||||||
|
If you need to support versions older than 8.32, or versions that may
|
||||||
|
not build with --enable-jit, you must either use the slower
|
||||||
|
pcre_exec(), or switch between the two codepaths by checking the values
|
||||||
|
of PCRE_MAJOR and PCRE_MINOR.
|
||||||
|
|
||||||
|
Switching between the two by checking the version assumes that all the
|
||||||
|
versions being targeted are built with --enable-jit. To also support
|
||||||
|
builds that may use --disable-jit either pcre_exec() must be used, or a
|
||||||
|
compile-time check for JIT via pcre_config() (which assumes the runtime
|
||||||
|
environment will be the same), or as the Git project decided to do,
|
||||||
|
simply assume that pcre_jit_exec() is present in 8.32 or later unless a
|
||||||
|
compile-time flag is provided, see the "grep: un-break building with
|
||||||
|
PCRE >= 8.32 without --enable-jit" commit in git.git for an example of
|
||||||
|
that.
|
||||||
|
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
|
|
||||||
@ -8711,8 +8754,8 @@ AUTHOR
|
|||||||
|
|
||||||
REVISION
|
REVISION
|
||||||
|
|
||||||
Last updated: 17 March 2013
|
Last updated: 05 July 2017
|
||||||
Copyright (c) 1997-2013 University of Cambridge.
|
Copyright (c) 1997-2017 University of Cambridge.
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
.TH PCREJIT 3 "17 March 2013" "PCRE 8.33"
|
.TH PCREJIT 3 "05 July 2017" "PCRE 8.41"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
PCRE - Perl-compatible regular expressions
|
PCRE - Perl-compatible regular expressions
|
||||||
.SH "PCRE JUST-IN-TIME COMPILER SUPPORT"
|
.SH "PCRE JUST-IN-TIME COMPILER SUPPORT"
|
||||||
@ -54,9 +54,12 @@ programs that need the best possible performance, there is also a "fast path"
|
|||||||
API that is JIT-specific.
|
API that is JIT-specific.
|
||||||
.P
|
.P
|
||||||
If your program may sometimes be linked with versions of PCRE that are older
|
If your program may sometimes be linked with versions of PCRE that are older
|
||||||
than 8.20, but you want to use JIT when it is available, you can test
|
than 8.20, but you want to use JIT when it is available, you can test the
|
||||||
the values of PCRE_MAJOR and PCRE_MINOR, or the existence of a JIT macro such
|
values of PCRE_MAJOR and PCRE_MINOR, or the existence of a JIT macro such as
|
||||||
as PCRE_CONFIG_JIT, for compile-time control of your code.
|
PCRE_CONFIG_JIT, for compile-time control of your code. Also beware that the
|
||||||
|
\fBpcre_jit_exec()\fP function was not available at all before 8.32,
|
||||||
|
and may not be available at all if PCRE isn't compiled with
|
||||||
|
--enable-jit. See the "JIT FAST PATH API" section below for details.
|
||||||
.
|
.
|
||||||
.
|
.
|
||||||
.SH "SIMPLE USE OF JIT"
|
.SH "SIMPLE USE OF JIT"
|
||||||
@ -96,6 +99,19 @@ when you call \fBpcre_study()\fP:
|
|||||||
PCRE_STUDY_JIT_PARTIAL_HARD_COMPILE
|
PCRE_STUDY_JIT_PARTIAL_HARD_COMPILE
|
||||||
PCRE_STUDY_JIT_PARTIAL_SOFT_COMPILE
|
PCRE_STUDY_JIT_PARTIAL_SOFT_COMPILE
|
||||||
.sp
|
.sp
|
||||||
|
If using \fBpcre_jit_exec()\fP and supporting a pre-8.32 version of
|
||||||
|
PCRE, you can insert:
|
||||||
|
.sp
|
||||||
|
#if PCRE_MAJOR >= 8 && PCRE_MINOR >= 32
|
||||||
|
pcre_jit_exec(...);
|
||||||
|
#else
|
||||||
|
pcre_exec(...)
|
||||||
|
#endif
|
||||||
|
.sp
|
||||||
|
but as described in the "JIT FAST PATH API" section below this assumes
|
||||||
|
version 8.32 and later are compiled with --enable-jit, which may
|
||||||
|
break.
|
||||||
|
.sp
|
||||||
The JIT compiler generates different optimized code for each of the three
|
The JIT compiler generates different optimized code for each of the three
|
||||||
modes (normal, soft partial, hard partial). When \fBpcre_exec()\fP is called,
|
modes (normal, soft partial, hard partial). When \fBpcre_exec()\fP is called,
|
||||||
the appropriate code is run if it is available. Otherwise, the pattern is
|
the appropriate code is run if it is available. Otherwise, the pattern is
|
||||||
@ -404,6 +420,32 @@ fast path, and if invalid data is passed, the result is undefined.
|
|||||||
.P
|
.P
|
||||||
Bypassing the sanity checks and the \fBpcre_exec()\fP wrapping can give
|
Bypassing the sanity checks and the \fBpcre_exec()\fP wrapping can give
|
||||||
speedups of more than 10%.
|
speedups of more than 10%.
|
||||||
|
.P
|
||||||
|
Note that the \fBpcre_jit_exec()\fP function is not available in versions of
|
||||||
|
PCRE before 8.32 (released in November 2012). If you need to support versions
|
||||||
|
that old you must either use the slower \fBpcre_exec()\fP, or switch between
|
||||||
|
the two codepaths by checking the values of PCRE_MAJOR and PCRE_MINOR.
|
||||||
|
.P
|
||||||
|
Due to an unfortunate implementation oversight, even in versions 8.32
|
||||||
|
and later there will be no \fBpcre_jit_exec()\fP stub function defined
|
||||||
|
when PCRE is compiled with --disable-jit, which is the default, and
|
||||||
|
there's no way to detect whether PCRE was compiled with --enable-jit
|
||||||
|
via a macro.
|
||||||
|
.P
|
||||||
|
If you need to support versions older than 8.32, or versions that may
|
||||||
|
not build with --enable-jit, you must either use the slower
|
||||||
|
\fBpcre_exec()\fP, or switch between the two codepaths by checking the
|
||||||
|
values of PCRE_MAJOR and PCRE_MINOR.
|
||||||
|
.P
|
||||||
|
Switching between the two by checking the version assumes that all the
|
||||||
|
versions being targeted are built with --enable-jit. To also support
|
||||||
|
builds that may use --disable-jit either \fBpcre_exec()\fP must be
|
||||||
|
used, or a compile-time check for JIT via \fBpcre_config()\fP (which
|
||||||
|
assumes the runtime environment will be the same), or as the Git
|
||||||
|
project decided to do, simply assume that \fBpcre_jit_exec()\fP is
|
||||||
|
present in 8.32 or later unless a compile-time flag is provided, see
|
||||||
|
the "grep: un-break building with PCRE >= 8.32 without --enable-jit"
|
||||||
|
commit in git.git for an example of that.
|
||||||
.
|
.
|
||||||
.
|
.
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
@ -426,6 +468,6 @@ Cambridge CB2 3QH, England.
|
|||||||
.rs
|
.rs
|
||||||
.sp
|
.sp
|
||||||
.nf
|
.nf
|
||||||
Last updated: 17 March 2013
|
Last updated: 05 July 2017
|
||||||
Copyright (c) 1997-2013 University of Cambridge.
|
Copyright (c) 1997-2017 University of Cambridge.
|
||||||
.fi
|
.fi
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
.TH PCRETEST 1 "09 February 2014" "PCRE 8.35"
|
.TH PCRETEST 1 "23 February 2017" "PCRE 8.41"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
pcretest - a program for testing Perl-compatible regular expressions.
|
pcretest - a program for testing Perl-compatible regular expressions.
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
@ -50,6 +50,10 @@ newline as data characters. However, in some Windows environments character 26
|
|||||||
(hex 1A) causes an immediate end of file, and no further data is read. For
|
(hex 1A) causes an immediate end of file, and no further data is read. For
|
||||||
maximum portability, therefore, it is safest to use only ASCII characters in
|
maximum portability, therefore, it is safest to use only ASCII characters in
|
||||||
\fBpcretest\fP input files.
|
\fBpcretest\fP input files.
|
||||||
|
.P
|
||||||
|
The input is processed using using C's string functions, so must not
|
||||||
|
contain binary zeroes, even though in Unix-like environments, \fBfgets()\fP
|
||||||
|
treats any bytes other than newline as data characters.
|
||||||
.
|
.
|
||||||
.
|
.
|
||||||
.SH "PCRE's 8-BIT, 16-BIT AND 32-BIT LIBRARIES"
|
.SH "PCRE's 8-BIT, 16-BIT AND 32-BIT LIBRARIES"
|
||||||
@ -1151,6 +1155,6 @@ Cambridge CB2 3QH, England.
|
|||||||
.rs
|
.rs
|
||||||
.sp
|
.sp
|
||||||
.nf
|
.nf
|
||||||
Last updated: 09 February 2014
|
Last updated: 23 February 2017
|
||||||
Copyright (c) 1997-2014 University of Cambridge.
|
Copyright (c) 1997-2017 University of Cambridge.
|
||||||
.fi
|
.fi
|
||||||
|
@ -39,6 +39,10 @@ INPUT DATA FORMAT
|
|||||||
For maximum portability, therefore, it is safest to use only ASCII
|
For maximum portability, therefore, it is safest to use only ASCII
|
||||||
characters in pcretest input files.
|
characters in pcretest input files.
|
||||||
|
|
||||||
|
The input is processed using using C's string functions, so must not
|
||||||
|
contain binary zeroes, even though in Unix-like environments, fgets()
|
||||||
|
treats any bytes other than newline as data characters.
|
||||||
|
|
||||||
|
|
||||||
PCRE's 8-BIT, 16-BIT AND 32-BIT LIBRARIES
|
PCRE's 8-BIT, 16-BIT AND 32-BIT LIBRARIES
|
||||||
|
|
||||||
@ -1083,5 +1087,5 @@ AUTHOR
|
|||||||
|
|
||||||
REVISION
|
REVISION
|
||||||
|
|
||||||
Last updated: 09 February 2014
|
Last updated: 23 February 2017
|
||||||
Copyright (c) 1997-2014 University of Cambridge.
|
Copyright (c) 1997-2017 University of Cambridge.
|
||||||
|
@ -5739,6 +5739,21 @@ for (;; ptr++)
|
|||||||
ptr = p - 1; /* Character before the next significant one. */
|
ptr = p - 1; /* Character before the next significant one. */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* We also need to skip over (?# comments, which are not dependent on
|
||||||
|
extended mode. */
|
||||||
|
|
||||||
|
if (ptr[1] == CHAR_LEFT_PARENTHESIS && ptr[2] == CHAR_QUESTION_MARK &&
|
||||||
|
ptr[3] == CHAR_NUMBER_SIGN)
|
||||||
|
{
|
||||||
|
ptr += 4;
|
||||||
|
while (*ptr != CHAR_NULL && *ptr != CHAR_RIGHT_PARENTHESIS) ptr++;
|
||||||
|
if (*ptr == CHAR_NULL)
|
||||||
|
{
|
||||||
|
*errorcodeptr = ERR18;
|
||||||
|
goto FAILED;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* If the next character is '+', we have a possessive quantifier. This
|
/* If the next character is '+', we have a possessive quantifier. This
|
||||||
implies greediness, whatever the setting of the PCRE_UNGREEDY option.
|
implies greediness, whatever the setting of the PCRE_UNGREEDY option.
|
||||||
If the next character is '?' this is a minimizing repeat, by default,
|
If the next character is '?' this is a minimizing repeat, by default,
|
||||||
@ -8210,7 +8225,6 @@ for (;; ptr++)
|
|||||||
|
|
||||||
if (mclength == 1 || req_caseopt == 0)
|
if (mclength == 1 || req_caseopt == 0)
|
||||||
{
|
{
|
||||||
firstchar = mcbuffer[0] | req_caseopt;
|
|
||||||
firstchar = mcbuffer[0];
|
firstchar = mcbuffer[0];
|
||||||
firstcharflags = req_caseopt;
|
firstcharflags = req_caseopt;
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ and semantics are as close as possible to those of the Perl 5 language (but see
|
|||||||
below for why this module is different).
|
below for why this module is different).
|
||||||
|
|
||||||
Written by Philip Hazel
|
Written by Philip Hazel
|
||||||
Copyright (c) 1997-2014 University of Cambridge
|
Copyright (c) 1997-2017 University of Cambridge
|
||||||
|
|
||||||
-----------------------------------------------------------------------------
|
-----------------------------------------------------------------------------
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
@ -2625,7 +2625,7 @@ for (;;)
|
|||||||
if (isinclass)
|
if (isinclass)
|
||||||
{
|
{
|
||||||
int max = (int)GET2(ecode, 1 + IMM2_SIZE);
|
int max = (int)GET2(ecode, 1 + IMM2_SIZE);
|
||||||
if (*ecode == OP_CRPOSRANGE)
|
if (*ecode == OP_CRPOSRANGE && count >= (int)GET2(ecode, 1))
|
||||||
{
|
{
|
||||||
active_count--; /* Remove non-match possibility */
|
active_count--; /* Remove non-match possibility */
|
||||||
next_active_state--;
|
next_active_state--;
|
||||||
|
@ -669,7 +669,7 @@ if (ecode == NULL)
|
|||||||
return match((PCRE_PUCHAR)&rdepth, NULL, NULL, 0, NULL, NULL, 1);
|
return match((PCRE_PUCHAR)&rdepth, NULL, NULL, 0, NULL, NULL, 1);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int len = (char *)&rdepth - (char *)eptr;
|
int len = (int)((char *)&rdepth - (char *)eptr);
|
||||||
return (len > 0)? -len : len;
|
return (len > 0)? -len : len;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2772,6 +2772,9 @@ extern const pcre_uint8 PRIV(ucd_stage1)[];
|
|||||||
extern const pcre_uint16 PRIV(ucd_stage2)[];
|
extern const pcre_uint16 PRIV(ucd_stage2)[];
|
||||||
extern const pcre_uint32 PRIV(ucp_gentype)[];
|
extern const pcre_uint32 PRIV(ucp_gentype)[];
|
||||||
extern const pcre_uint32 PRIV(ucp_gbtable)[];
|
extern const pcre_uint32 PRIV(ucp_gbtable)[];
|
||||||
|
#ifdef COMPILE_PCRE32
|
||||||
|
extern const ucd_record PRIV(dummy_ucd_record)[];
|
||||||
|
#endif
|
||||||
#ifdef SUPPORT_JIT
|
#ifdef SUPPORT_JIT
|
||||||
extern const int PRIV(ucp_typerange)[];
|
extern const int PRIV(ucp_typerange)[];
|
||||||
#endif
|
#endif
|
||||||
@ -2780,10 +2783,16 @@ extern const int PRIV(ucp_typerange)[];
|
|||||||
/* UCD access macros */
|
/* UCD access macros */
|
||||||
|
|
||||||
#define UCD_BLOCK_SIZE 128
|
#define UCD_BLOCK_SIZE 128
|
||||||
#define GET_UCD(ch) (PRIV(ucd_records) + \
|
#define REAL_GET_UCD(ch) (PRIV(ucd_records) + \
|
||||||
PRIV(ucd_stage2)[PRIV(ucd_stage1)[(int)(ch) / UCD_BLOCK_SIZE] * \
|
PRIV(ucd_stage2)[PRIV(ucd_stage1)[(int)(ch) / UCD_BLOCK_SIZE] * \
|
||||||
UCD_BLOCK_SIZE + (int)(ch) % UCD_BLOCK_SIZE])
|
UCD_BLOCK_SIZE + (int)(ch) % UCD_BLOCK_SIZE])
|
||||||
|
|
||||||
|
#ifdef COMPILE_PCRE32
|
||||||
|
#define GET_UCD(ch) ((ch > 0x10ffff)? PRIV(dummy_ucd_record) : REAL_GET_UCD(ch))
|
||||||
|
#else
|
||||||
|
#define GET_UCD(ch) REAL_GET_UCD(ch)
|
||||||
|
#endif
|
||||||
|
|
||||||
#define UCD_CHARTYPE(ch) GET_UCD(ch)->chartype
|
#define UCD_CHARTYPE(ch) GET_UCD(ch)->chartype
|
||||||
#define UCD_SCRIPT(ch) GET_UCD(ch)->script
|
#define UCD_SCRIPT(ch) GET_UCD(ch)->script
|
||||||
#define UCD_CATEGORY(ch) PRIV(ucp_gentype)[UCD_CHARTYPE(ch)]
|
#define UCD_CATEGORY(ch) PRIV(ucp_gentype)[UCD_CHARTYPE(ch)]
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -57,6 +57,7 @@
|
|||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
using std::vector;
|
using std::vector;
|
||||||
|
using std::string;
|
||||||
using pcrecpp::StringPiece;
|
using pcrecpp::StringPiece;
|
||||||
using pcrecpp::Scanner;
|
using pcrecpp::Scanner;
|
||||||
|
|
||||||
|
@ -52,12 +52,12 @@
|
|||||||
|
|
||||||
#include <pcre.h>
|
#include <pcre.h>
|
||||||
|
|
||||||
|
namespace pcrecpp {
|
||||||
|
|
||||||
using std::memcmp;
|
using std::memcmp;
|
||||||
using std::strlen;
|
using std::strlen;
|
||||||
using std::string;
|
using std::string;
|
||||||
|
|
||||||
namespace pcrecpp {
|
|
||||||
|
|
||||||
class PCRECPP_EXP_DEFN StringPiece {
|
class PCRECPP_EXP_DEFN StringPiece {
|
||||||
private:
|
private:
|
||||||
const char* ptr_;
|
const char* ptr_;
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
} \
|
} \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
using std::string;
|
||||||
using pcrecpp::StringPiece;
|
using pcrecpp::StringPiece;
|
||||||
|
|
||||||
static void CheckSTLComparator() {
|
static void CheckSTLComparator() {
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
and semantics are as close as possible to those of the Perl 5 language.
|
and semantics are as close as possible to those of the Perl 5 language.
|
||||||
|
|
||||||
Written by Philip Hazel
|
Written by Philip Hazel
|
||||||
Copyright (c) 1997-2012 University of Cambridge
|
Copyright (c) 1997-2017 University of Cambridge
|
||||||
|
|
||||||
-----------------------------------------------------------------------------
|
-----------------------------------------------------------------------------
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
@ -161,7 +161,7 @@ const pcre_uint32 PRIV(ucp_gbtable[]) = {
|
|||||||
|
|
||||||
(1<<ucp_gbExtend)|(1<<ucp_gbSpacingMark), /* 5 SpacingMark */
|
(1<<ucp_gbExtend)|(1<<ucp_gbSpacingMark), /* 5 SpacingMark */
|
||||||
(1<<ucp_gbExtend)|(1<<ucp_gbSpacingMark)|(1<<ucp_gbL)| /* 6 L */
|
(1<<ucp_gbExtend)|(1<<ucp_gbSpacingMark)|(1<<ucp_gbL)| /* 6 L */
|
||||||
(1<<ucp_gbL)|(1<<ucp_gbV)|(1<<ucp_gbLV)|(1<<ucp_gbLVT),
|
(1<<ucp_gbV)|(1<<ucp_gbLV)|(1<<ucp_gbLVT),
|
||||||
|
|
||||||
(1<<ucp_gbExtend)|(1<<ucp_gbSpacingMark)|(1<<ucp_gbV)| /* 7 V */
|
(1<<ucp_gbExtend)|(1<<ucp_gbSpacingMark)|(1<<ucp_gbV)| /* 7 V */
|
||||||
(1<<ucp_gbT),
|
(1<<ucp_gbT),
|
||||||
|
@ -38,6 +38,20 @@ const pcre_uint16 PRIV(ucd_stage2)[] = {0};
|
|||||||
const pcre_uint32 PRIV(ucd_caseless_sets)[] = {0};
|
const pcre_uint32 PRIV(ucd_caseless_sets)[] = {0};
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
/* If the 32-bit library is run in non-32-bit mode, character values
|
||||||
|
greater than 0x10ffff may be encountered. For these we set up a
|
||||||
|
special record. */
|
||||||
|
|
||||||
|
#ifdef COMPILE_PCRE32
|
||||||
|
const ucd_record PRIV(dummy_ucd_record)[] = {{
|
||||||
|
ucp_Common, /* script */
|
||||||
|
ucp_Cn, /* type unassigned */
|
||||||
|
ucp_gbOther, /* grapheme break property */
|
||||||
|
0, /* case set */
|
||||||
|
0, /* other case */
|
||||||
|
}};
|
||||||
|
#endif
|
||||||
|
|
||||||
/* When recompiling tables with a new Unicode version, please check the
|
/* When recompiling tables with a new Unicode version, please check the
|
||||||
types in this structure definition from pcre_internal.h (the actual
|
types in this structure definition from pcre_internal.h (the actual
|
||||||
field names will be different):
|
field names will be different):
|
||||||
|
@ -43,6 +43,7 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
#include "pcrecpp.h"
|
#include "pcrecpp.h"
|
||||||
|
|
||||||
|
using std::string;
|
||||||
using pcrecpp::StringPiece;
|
using pcrecpp::StringPiece;
|
||||||
using pcrecpp::RE;
|
using pcrecpp::RE;
|
||||||
using pcrecpp::RE_Options;
|
using pcrecpp::RE_Options;
|
||||||
|
@ -1804,11 +1804,6 @@ while (ptr < endptr)
|
|||||||
if (line_buffered) fflush(stdout);
|
if (line_buffered) fflush(stdout);
|
||||||
rc = 0; /* Had some success */
|
rc = 0; /* Had some success */
|
||||||
|
|
||||||
/* If the current match ended past the end of the line (only possible
|
|
||||||
in multiline mode), we are done with this line. */
|
|
||||||
|
|
||||||
if ((unsigned int)offsets[1] > linelength) goto END_ONE_MATCH;
|
|
||||||
|
|
||||||
startoffset = offsets[1]; /* Restart after the match */
|
startoffset = offsets[1]; /* Restart after the match */
|
||||||
if (startoffset <= oldstartoffset)
|
if (startoffset <= oldstartoffset)
|
||||||
{
|
{
|
||||||
@ -1818,6 +1813,22 @@ while (ptr < endptr)
|
|||||||
if (utf8)
|
if (utf8)
|
||||||
while ((matchptr[startoffset] & 0xc0) == 0x80) startoffset++;
|
while ((matchptr[startoffset] & 0xc0) == 0x80) startoffset++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* If the current match ended past the end of the line (only possible
|
||||||
|
in multiline mode), we must move on to the line in which it did end
|
||||||
|
before searching for more matches. */
|
||||||
|
|
||||||
|
while (startoffset > (int)linelength)
|
||||||
|
{
|
||||||
|
matchptr = ptr += linelength + endlinelength;
|
||||||
|
filepos += (int)(linelength + endlinelength);
|
||||||
|
linenumber++;
|
||||||
|
startoffset -= (int)(linelength + endlinelength);
|
||||||
|
t = end_of_line(ptr, endptr, &endlinelength);
|
||||||
|
linelength = t - ptr - endlinelength;
|
||||||
|
length = (size_t)(endptr - ptr);
|
||||||
|
}
|
||||||
|
|
||||||
goto ONLY_MATCHING_RESTART;
|
goto ONLY_MATCHING_RESTART;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3179,9 +3190,11 @@ for (j = 1, cp = patterns; cp != NULL; j++, cp = cp->next)
|
|||||||
cp->hint = pcre_study(cp->compiled, study_options, &error);
|
cp->hint = pcre_study(cp->compiled, study_options, &error);
|
||||||
if (error != NULL)
|
if (error != NULL)
|
||||||
{
|
{
|
||||||
char s[16];
|
if (patterns->next == NULL)
|
||||||
if (patterns->next == NULL) s[0] = 0; else sprintf(s, " number %d", j);
|
fprintf(stderr, "pcregrep: Error while studying regex: %s\n", error);
|
||||||
fprintf(stderr, "pcregrep: Error while studying regex%s: %s\n", s, error);
|
else
|
||||||
|
fprintf(stderr, "pcregrep: Error while studying regex number %d: %s\n",
|
||||||
|
j, error);
|
||||||
goto EXIT2;
|
goto EXIT2;
|
||||||
}
|
}
|
||||||
#ifdef SUPPORT_PCREGREP_JIT
|
#ifdef SUPPORT_PCREGREP_JIT
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
and semantics are as close as possible to those of the Perl 5 language.
|
and semantics are as close as possible to those of the Perl 5 language.
|
||||||
|
|
||||||
Written by Philip Hazel
|
Written by Philip Hazel
|
||||||
Copyright (c) 1997-2016 University of Cambridge
|
Copyright (c) 1997-2017 University of Cambridge
|
||||||
|
|
||||||
-----------------------------------------------------------------------------
|
-----------------------------------------------------------------------------
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
@ -389,8 +389,8 @@ if (rc >= 0)
|
|||||||
{
|
{
|
||||||
for (i = 0; i < (size_t)rc; i++)
|
for (i = 0; i < (size_t)rc; i++)
|
||||||
{
|
{
|
||||||
pmatch[i].rm_so = ovector[i*2];
|
pmatch[i].rm_so = ovector[i*2] + so;
|
||||||
pmatch[i].rm_eo = ovector[i*2+1];
|
pmatch[i].rm_eo = ovector[i*2+1] + so;
|
||||||
}
|
}
|
||||||
if (allocated_ovector) free(ovector);
|
if (allocated_ovector) free(ovector);
|
||||||
for (; i < nmatch; i++) pmatch[i].rm_so = pmatch[i].rm_eo = -1;
|
for (; i < nmatch; i++) pmatch[i].rm_so = pmatch[i].rm_eo = -1;
|
||||||
|
@ -177,7 +177,7 @@ that differ in their output from isprint() even in the "C" locale. */
|
|||||||
#define PRINTABLE(c) ((c) >= 32 && (c) < 127)
|
#define PRINTABLE(c) ((c) >= 32 && (c) < 127)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define PRINTOK(c) (locale_set? isprint(c) : PRINTABLE(c))
|
#define PRINTOK(c) (locale_set? (((c) < 256) && isprint(c)) : PRINTABLE(c))
|
||||||
|
|
||||||
/* Posix support is disabled in 16 or 32 bit only mode. */
|
/* Posix support is disabled in 16 or 32 bit only mode. */
|
||||||
#if !defined SUPPORT_PCRE8 && !defined NOPOSIX
|
#if !defined SUPPORT_PCRE8 && !defined NOPOSIX
|
||||||
@ -426,11 +426,11 @@ argument, the casting might be incorrectly applied. */
|
|||||||
#define PCRE_COPY_NAMED_SUBSTRING32(rc, re, bptr, offsets, count, \
|
#define PCRE_COPY_NAMED_SUBSTRING32(rc, re, bptr, offsets, count, \
|
||||||
namesptr, cbuffer, size) \
|
namesptr, cbuffer, size) \
|
||||||
rc = pcre32_copy_named_substring((pcre32 *)re, (PCRE_SPTR32)bptr, offsets, \
|
rc = pcre32_copy_named_substring((pcre32 *)re, (PCRE_SPTR32)bptr, offsets, \
|
||||||
count, (PCRE_SPTR32)namesptr, (PCRE_UCHAR32 *)cbuffer, size/2)
|
count, (PCRE_SPTR32)namesptr, (PCRE_UCHAR32 *)cbuffer, size/4)
|
||||||
|
|
||||||
#define PCRE_COPY_SUBSTRING32(rc, bptr, offsets, count, i, cbuffer, size) \
|
#define PCRE_COPY_SUBSTRING32(rc, bptr, offsets, count, i, cbuffer, size) \
|
||||||
rc = pcre32_copy_substring((PCRE_SPTR32)bptr, offsets, count, i, \
|
rc = pcre32_copy_substring((PCRE_SPTR32)bptr, offsets, count, i, \
|
||||||
(PCRE_UCHAR32 *)cbuffer, size/2)
|
(PCRE_UCHAR32 *)cbuffer, size/4)
|
||||||
|
|
||||||
#define PCRE_DFA_EXEC32(count, re, extra, bptr, len, start_offset, options, \
|
#define PCRE_DFA_EXEC32(count, re, extra, bptr, len, start_offset, options, \
|
||||||
offsets, size_offsets, workspace, size_workspace) \
|
offsets, size_offsets, workspace, size_workspace) \
|
||||||
@ -4834,7 +4834,16 @@ while (!done)
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
case 'O':
|
case 'O':
|
||||||
while(isdigit(*p)) n = n * 10 + *p++ - '0';
|
while(isdigit(*p))
|
||||||
|
{
|
||||||
|
if (n > (INT_MAX-10)/10) /* Hack to stop fuzzers */
|
||||||
|
{
|
||||||
|
printf("** \\O argument is too big\n");
|
||||||
|
yield = 1;
|
||||||
|
goto EXIT;
|
||||||
|
}
|
||||||
|
n = n * 10 + *p++ - '0';
|
||||||
|
}
|
||||||
if (n > size_offsets_max)
|
if (n > size_offsets_max)
|
||||||
{
|
{
|
||||||
size_offsets_max = n;
|
size_offsets_max = n;
|
||||||
|
3
pcre/testdata/testinput1
vendored
3
pcre/testdata/testinput1
vendored
@ -5739,4 +5739,7 @@ AbcdCBefgBhiBqz
|
|||||||
/(?=.*X)X$/
|
/(?=.*X)X$/
|
||||||
\ X
|
\ X
|
||||||
|
|
||||||
|
/X+(?#comment)?/
|
||||||
|
>XXX<
|
||||||
|
|
||||||
/-- End of testinput1 --/
|
/-- End of testinput1 --/
|
||||||
|
2
pcre/testdata/testinput12
vendored
2
pcre/testdata/testinput12
vendored
@ -104,4 +104,6 @@ and a couple of things that are different with JIT. --/
|
|||||||
/(.|.)*?bx/
|
/(.|.)*?bx/
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabax
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabax
|
||||||
|
|
||||||
|
/((?(?!))x)(?'name')(?1)/S++
|
||||||
|
|
||||||
/-- End of testinput12 --/
|
/-- End of testinput12 --/
|
||||||
|
3
pcre/testdata/testinput15
vendored
3
pcre/testdata/testinput15
vendored
@ -363,4 +363,7 @@ correctly, but that messes up comparisons). --/
|
|||||||
|
|
||||||
/abc/89
|
/abc/89
|
||||||
|
|
||||||
|
//8+L
|
||||||
|
\xf1\xad\xae\xae
|
||||||
|
|
||||||
/-- End of testinput15 --/
|
/-- End of testinput15 --/
|
||||||
|
3
pcre/testdata/testinput8
vendored
3
pcre/testdata/testinput8
vendored
@ -4845,4 +4845,7 @@
|
|||||||
aaa\D
|
aaa\D
|
||||||
a\D
|
a\D
|
||||||
|
|
||||||
|
/(02-)?[0-9]{3}-[0-9]{3}/
|
||||||
|
02-123-123
|
||||||
|
|
||||||
/-- End of testinput8 --/
|
/-- End of testinput8 --/
|
||||||
|
4
pcre/testdata/testoutput1
vendored
4
pcre/testdata/testoutput1
vendored
@ -9442,4 +9442,8 @@ No match
|
|||||||
\ X
|
\ X
|
||||||
0: X
|
0: X
|
||||||
|
|
||||||
|
/X+(?#comment)?/
|
||||||
|
>XXX<
|
||||||
|
0: X
|
||||||
|
|
||||||
/-- End of testinput1 --/
|
/-- End of testinput1 --/
|
||||||
|
2
pcre/testdata/testoutput12
vendored
2
pcre/testdata/testoutput12
vendored
@ -201,4 +201,6 @@ No match, mark = m (JIT)
|
|||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabax
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabax
|
||||||
Error -8 (match limit exceeded)
|
Error -8 (match limit exceeded)
|
||||||
|
|
||||||
|
/((?(?!))x)(?'name')(?1)/S++
|
||||||
|
|
||||||
/-- End of testinput12 --/
|
/-- End of testinput12 --/
|
||||||
|
5
pcre/testdata/testoutput15
vendored
5
pcre/testdata/testoutput15
vendored
@ -1136,4 +1136,9 @@ Failed: setting UTF is disabled by the application at offset 0
|
|||||||
/abc/89
|
/abc/89
|
||||||
Failed: setting UTF is disabled by the application at offset 0
|
Failed: setting UTF is disabled by the application at offset 0
|
||||||
|
|
||||||
|
//8+L
|
||||||
|
\xf1\xad\xae\xae
|
||||||
|
0:
|
||||||
|
0+ \x{6dbae}
|
||||||
|
|
||||||
/-- End of testinput15 --/
|
/-- End of testinput15 --/
|
||||||
|
4
pcre/testdata/testoutput8
vendored
4
pcre/testdata/testoutput8
vendored
@ -7801,4 +7801,8 @@ No match
|
|||||||
** Show all captures ignored after DFA matching
|
** Show all captures ignored after DFA matching
|
||||||
0: a
|
0: a
|
||||||
|
|
||||||
|
/(02-)?[0-9]{3}-[0-9]{3}/
|
||||||
|
02-123-123
|
||||||
|
0: 02-123-123
|
||||||
|
|
||||||
/-- End of testinput8 --/
|
/-- End of testinput8 --/
|
||||||
|
@ -555,7 +555,7 @@ int ReplSemiSyncMaster::reportReplyBinlog(uint32 server_id,
|
|||||||
|
|
||||||
if (need_copy_send_pos)
|
if (need_copy_send_pos)
|
||||||
{
|
{
|
||||||
strcpy(reply_file_name_, log_file_name);
|
strmake_buf(reply_file_name_, log_file_name);
|
||||||
reply_file_pos_ = log_file_pos;
|
reply_file_pos_ = log_file_pos;
|
||||||
reply_file_name_inited_ = true;
|
reply_file_name_inited_ = true;
|
||||||
|
|
||||||
@ -663,7 +663,7 @@ int ReplSemiSyncMaster::commitTrx(const char* trx_wait_binlog_name,
|
|||||||
if (cmp <= 0)
|
if (cmp <= 0)
|
||||||
{
|
{
|
||||||
/* This thd has a lower position, let's update the minimum info. */
|
/* This thd has a lower position, let's update the minimum info. */
|
||||||
strcpy(wait_file_name_, trx_wait_binlog_name);
|
strmake_buf(wait_file_name_, trx_wait_binlog_name);
|
||||||
wait_file_pos_ = trx_wait_binlog_pos;
|
wait_file_pos_ = trx_wait_binlog_pos;
|
||||||
|
|
||||||
rpl_semi_sync_master_wait_pos_backtraverse++;
|
rpl_semi_sync_master_wait_pos_backtraverse++;
|
||||||
@ -674,7 +674,7 @@ int ReplSemiSyncMaster::commitTrx(const char* trx_wait_binlog_name,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
strcpy(wait_file_name_, trx_wait_binlog_name);
|
strmake_buf(wait_file_name_, trx_wait_binlog_name);
|
||||||
wait_file_pos_ = trx_wait_binlog_pos;
|
wait_file_pos_ = trx_wait_binlog_pos;
|
||||||
wait_file_name_inited_ = true;
|
wait_file_name_inited_ = true;
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
# Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2006, 2017, Oracle and/or its affiliates.
|
||||||
|
# Copyright (c) 2011, 2017, MariaDB Corporation
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -116,6 +117,13 @@ IF(CMAKE_GENERATOR MATCHES "Makefiles|Ninja")
|
|||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
|
||||||
|
IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
|
||||||
|
SET (PERL_PATH "/usr/local/bin/perl")
|
||||||
|
ELSE()
|
||||||
|
SET (PERL_PATH "/usr/bin/perl")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
IF(UNIX)
|
IF(UNIX)
|
||||||
# FIND_PROC and CHECK_PID are used by mysqld_safe
|
# FIND_PROC and CHECK_PID are used by mysqld_safe
|
||||||
IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||||
@ -384,4 +392,3 @@ IF(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_FLAGS MATCHES "-static")
|
|||||||
COMPONENT Development)
|
COMPONENT Development)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
8
scripts/dheadgen.pl
Executable file → Normal file
8
scripts/dheadgen.pl
Executable file → Normal file
@ -1,10 +1,4 @@
|
|||||||
#!/usr/bin/perl -w
|
# Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
|
||||||
#
|
|
||||||
# Copyright (c) 2008, 2009 Sun Microsystems, Inc.
|
|
||||||
# Use is subject to license terms.
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Redistribution and use in source and binary forms, with or without
|
# Redistribution and use in source and binary forms, with or without
|
||||||
# modification, are permitted provided that the following conditions are met:
|
# modification, are permitted provided that the following conditions are met:
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/perl
|
#!@PERL_PATH@
|
||||||
# -*- cperl -*-
|
# -*- cperl -*-
|
||||||
#
|
#
|
||||||
# Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
#!/usr/bin/perl
|
#!@PERL_PATH@
|
||||||
# Copyright (c) 2000-2002, 2006, 2007 MySQL AB, 2009 Sun Microsystems, Inc.
|
# Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||||
# Use is subject to license terms.
|
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
#!/usr/bin/perl
|
#!@PERL_PATH@
|
||||||
# Copyright (c) 2000, 2004, 2006 MySQL AB, 2009 Sun Microsystems, Inc.
|
# Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||||
# Use is subject to license terms.
|
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
#!/usr/bin/perl
|
#!@PERL_PATH@
|
||||||
|
|
||||||
# Copyright (c) 2001 MySQL AB, 2009 Sun Microsystems, Inc.
|
# Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||||
# Use is subject to license terms.
|
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or
|
# This program is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the GNU Library General Public
|
# modify it under the terms of the GNU Library General Public
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/perl
|
#!@PERL_PATH@
|
||||||
# -*- cperl -*-
|
# -*- cperl -*-
|
||||||
#
|
#
|
||||||
# Copyright (c) 2007, 2013, Oracle and/or its affiliates.
|
# Copyright (c) 2007, 2017, Oracle and/or its affiliates.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/perl
|
#!@PERL_PATH@
|
||||||
# -*- cperl -*-
|
# -*- cperl -*-
|
||||||
#
|
#
|
||||||
# Copyright (c) 2007, 2012, Oracle and/or its affiliates.
|
# Copyright (c) 2007, 2017, Oracle and/or its affiliates.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -388,6 +388,3 @@ Thanks for using MySQL!
|
|||||||
|
|
||||||
|
|
||||||
HERE
|
HERE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
#!/usr/bin/perl
|
#!@PERL_PATH@
|
||||||
## Emacs, this is -*- perl -*- mode? :-)
|
## Emacs, this is -*- perl -*- mode? :-)
|
||||||
|
|
||||||
# Copyright (c) 2000, 2007 MySQL AB, 2009 Sun Microsystems, Inc.
|
# Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||||
# Use is subject to license terms.
|
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or
|
# This program is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the GNU Library General Public
|
# modify it under the terms of the GNU Library General Public
|
||||||
|
@ -672,6 +672,15 @@ DROP PROCEDURE mysql.count_duplicate_host_names;
|
|||||||
# Convering the host name to lower case for existing users
|
# Convering the host name to lower case for existing users
|
||||||
UPDATE user SET host=LOWER( host ) WHERE LOWER( host ) <> host;
|
UPDATE user SET host=LOWER( host ) WHERE LOWER( host ) <> host;
|
||||||
|
|
||||||
|
# fix bad data when upgrading from unfixed InnoDB (MDEV-13360)
|
||||||
|
set @str="delete from innodb_index_stats where length(table_name) > 64";
|
||||||
|
set @str=if(@have_innodb <> 0, @str, "set @dummy = 0");
|
||||||
|
prepare stmt from @str;
|
||||||
|
execute stmt;
|
||||||
|
set @str=replace(@str, "innodb_index_stats", "innodb_table_stats");
|
||||||
|
prepare stmt from @str;
|
||||||
|
execute stmt;
|
||||||
|
|
||||||
# update timestamp fields in the innodb stat tables
|
# update timestamp fields in the innodb stat tables
|
||||||
set @str="alter table mysql.innodb_index_stats modify last_update timestamp not null default current_timestamp on update current_timestamp";
|
set @str="alter table mysql.innodb_index_stats modify last_update timestamp not null default current_timestamp on update current_timestamp";
|
||||||
set @str=if(@have_innodb <> 0, @str, "set @dummy = 0");
|
set @str=if(@have_innodb <> 0, @str, "set @dummy = 0");
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
#!/usr/bin/perl
|
#!@PERL_PATH@
|
||||||
# Copyright (c) 2000-2002, 2004, 2006 MySQL AB, 2009 Sun Microsystems, Inc.
|
# Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||||
# Use is subject to license terms.
|
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/perl
|
#!@PERL_PATH@
|
||||||
|
|
||||||
# Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or
|
# This program is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the GNU Library General Public
|
# modify it under the terms of the GNU Library General Public
|
||||||
@ -477,15 +477,22 @@ MySQLaccess::Report::Print_Header();
|
|||||||
# *****************************
|
# *****************************
|
||||||
# Read configuration-file
|
# Read configuration-file
|
||||||
MySQLaccess::Debug::Print(1, "Reading configuration file...");
|
MySQLaccess::Debug::Print(1, "Reading configuration file...");
|
||||||
if (-f "./$script_conf") {
|
if (-f "@sysconfdir@/$script_conf") {
|
||||||
require "./$script_conf";
|
print "Configuration file '$script_conf' is found in '@sysconfdir@/'\n";
|
||||||
}
|
|
||||||
elsif (-f "@prefix@/$script_conf") {
|
|
||||||
require "@prefix@/$script_conf";
|
|
||||||
}
|
|
||||||
elsif (-f "@sysconfdir@/$script_conf") {
|
|
||||||
require "@sysconfdir@/$script_conf";
|
require "@sysconfdir@/$script_conf";
|
||||||
}
|
}
|
||||||
|
elsif (-f "@prefix@/$script_conf") {
|
||||||
|
print "Configuration file '$script_conf' is found in '@prefix@/'\n";
|
||||||
|
require "@prefix@/$script_conf";
|
||||||
|
}
|
||||||
|
elsif (-f "./$script_conf") {
|
||||||
|
print "\nERROR! Configuration file '$script_conf' is found in the current ";
|
||||||
|
print "directory.\nThe permissible locations for this file are either ";
|
||||||
|
print "@sysconfdir@/ or @prefix@/\n";
|
||||||
|
print "Please move it to one of these locations and retry.\n\n";
|
||||||
|
exit 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# ****************************
|
# ****************************
|
||||||
# Read in all parameters
|
# Read in all parameters
|
||||||
|
@ -1,23 +1,7 @@
|
|||||||
#!/usr/bin/perl
|
#!@PERL_PATH@
|
||||||
# Copyright (c) 2000, 2010, Oracle and/or its affiliates.
|
|
||||||
# Copyright (c) 2000-2011 Monty Program Ab, Jani Tolonen
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU Library General Public
|
|
||||||
# License as published by the Free Software Foundation; version 2
|
|
||||||
# of the License.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
# Library General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU Library General Public
|
|
||||||
# License along with this library; if not, write to the Free
|
|
||||||
# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
|
|
||||||
# MA 02110-1301, USA
|
|
||||||
|
|
||||||
# Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2000, 2017, Oracle and/or its affiliates.
|
||||||
|
# Copyright (c) 2010, 2017, MariaDB Corporation
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or
|
# This program is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the GNU Library General Public
|
# modify it under the terms of the GNU Library General Public
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user