Merge 10.5 into 10.6
This commit is contained in:
commit
9a7948e3f6
@ -40,7 +40,14 @@ addons:
|
||||
- g++-9 # ubuntu-toolchain-r/test (xenial and bionic)
|
||||
- gdb
|
||||
- libaio-dev
|
||||
- libboost-atomic-dev
|
||||
- libboost-chrono-dev
|
||||
- libboost-date-time-dev
|
||||
- libboost-dev
|
||||
- libboost-filesystem-dev
|
||||
- libboost-regex-dev
|
||||
- libboost-system-dev
|
||||
- libboost-thread-dev
|
||||
- libcrack2-dev
|
||||
- libcurl3-dev
|
||||
- libdbd-mysql
|
||||
@ -52,6 +59,7 @@ addons:
|
||||
- libnuma-dev
|
||||
- libpam0g-dev
|
||||
- libpcre2-dev
|
||||
- libreadline-gplv2-dev
|
||||
- libsnappy-dev
|
||||
- libssl-dev
|
||||
- libstemmer-dev
|
||||
|
@ -197,6 +197,7 @@ ENDIF()
|
||||
OPTION(NOT_FOR_DISTRIBUTION "Allow linking with GPLv2-incompatible system libraries. Only set it you never plan to distribute the resulting binaries" OFF)
|
||||
|
||||
INCLUDE(check_compiler_flag)
|
||||
INCLUDE(check_linker_flag)
|
||||
|
||||
OPTION(WITH_ASAN "Enable address sanitizer" OFF)
|
||||
|
||||
@ -250,7 +251,7 @@ OPTION(SECURITY_HARDENED "Use security-enhancing compiler features (stack protec
|
||||
IF(SECURITY_HARDENED AND NOT WITH_ASAN AND NOT WITH_UBSAN AND NOT WITH_TSAN)
|
||||
# security-enhancing flags
|
||||
MY_CHECK_AND_SET_COMPILER_FLAG("-pie -fPIC")
|
||||
MY_CHECK_AND_SET_COMPILER_FLAG("-Wl,-z,relro,-z,now")
|
||||
MY_CHECK_AND_SET_LINKER_FLAG("-Wl,-z,relro,-z,now")
|
||||
MY_CHECK_AND_SET_COMPILER_FLAG("-fstack-protector --param=ssp-buffer-size=4")
|
||||
MY_CHECK_AND_SET_COMPILER_FLAG("-D_FORTIFY_SOURCE=2" RELEASE RELWITHDEBINFO)
|
||||
ENDIF()
|
||||
|
@ -896,6 +896,7 @@ static const char *expected_errors[]=
|
||||
"ERROR 1290", /* RR_OPTION_PREVENTS_STATEMENT */
|
||||
"ERROR 1347", /* 'mysql.user' is not of type 'BASE TABLE' */
|
||||
"ERROR 1348", /* Column 'Show_db_priv' is not updatable */
|
||||
"ERROR 1356", /* definer of view lack rights (UPDATE) */
|
||||
0
|
||||
};
|
||||
|
||||
|
@ -128,7 +128,7 @@ ENDIF()
|
||||
|
||||
IF(UNIX)
|
||||
SET(WITH_EXTRA_CHARSETS all CACHE STRING "")
|
||||
SET(PLUGIN_AUTH_PAM YES)
|
||||
SET(PLUGIN_AUTH_PAM YES CACHE BOOL "")
|
||||
|
||||
IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
IF(NOT IGNORE_AIO_CHECK)
|
||||
|
27
cmake/check_linker_flag.cmake
Normal file
27
cmake/check_linker_flag.cmake
Normal file
@ -0,0 +1,27 @@
|
||||
include(CheckCXXSourceCompiles)
|
||||
|
||||
FUNCTION(MY_CHECK_AND_SET_LINKER_FLAG flag_to_set)
|
||||
# Let's avoid expensive compiler tests on Windows:
|
||||
IF(WIN32)
|
||||
RETURN()
|
||||
ENDIF()
|
||||
STRING(REGEX REPLACE "[-,= +]" "_" result "HAVE_LINK_FLAG_${flag_to_set}")
|
||||
SET(SAVE_CMAKE_REQUIRED_LINK_OPTIONS "${CMAKE_REQUIRED_LINK_OPTIONS}")
|
||||
STRING(REGEX REPLACE "^-Wno-" "-W" flag_to_check ${flag_to_set})
|
||||
SET(CMAKE_REQUIRED_LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS} ${flag_to_check})
|
||||
CHECK_CXX_SOURCE_COMPILES("int main(void) { return 0; }" ${result})
|
||||
SET(CMAKE_REQUIRED_LINK_OPTIONS "${SAVE_CMAKE_REQUIRED_LINK_OPTIONS}")
|
||||
IF (${result})
|
||||
FOREACH(linktype SHARED MODULE EXE)
|
||||
IF(ARGN)
|
||||
FOREACH(type ${ARGN})
|
||||
SET(CMAKE_${linktype}_LINKER_FLAGS_${type}
|
||||
"${CMAKE_${linktype}_LINKER_FLAGS_${type}} ${flag_to_set}" PARENT_SCOPE)
|
||||
ENDFOREACH()
|
||||
ELSE()
|
||||
SET(CMAKE_${linktype}_LINKER_FLAGS
|
||||
"${CMAKE_${linktype}_LINKER_FLAGS} ${flag_to_set}" PARENT_SCOPE)
|
||||
ENDIF()
|
||||
ENDFOREACH()
|
||||
ENDIF()
|
||||
ENDFUNCTION()
|
@ -69,6 +69,11 @@ IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "i686" AND CMAKE_COMPILER_IS_GNUCC AND
|
||||
SET(PLUGIN_QUERY_RESPONSE_TIME NO CACHE BOOL "Disabled, gcc is too old")
|
||||
ENDIF()
|
||||
|
||||
# use runtime atomic-support detection in aarch64
|
||||
IF(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
|
||||
MY_CHECK_AND_SET_COMPILER_FLAG("-moutline-atomics")
|
||||
ENDIF()
|
||||
|
||||
IF(WITHOUT_DYNAMIC_PLUGINS)
|
||||
MESSAGE("Dynamic plugins are disabled.")
|
||||
ENDIF(WITHOUT_DYNAMIC_PLUGINS)
|
||||
|
6
debian/additions/Docs__Images__Makefile.in
vendored
6
debian/additions/Docs__Images__Makefile.in
vendored
@ -1,6 +0,0 @@
|
||||
all:
|
||||
|
||||
distclean:
|
||||
-rm -f Makefile
|
||||
|
||||
.PHONY: all distclean clean install check
|
6
debian/additions/Docs__Makefile.in
vendored
6
debian/additions/Docs__Makefile.in
vendored
@ -1,6 +0,0 @@
|
||||
all:
|
||||
|
||||
distclean:
|
||||
-rm -f Makefile
|
||||
|
||||
.PHONY: all distclean clean install check
|
14
debian/additions/debian-start.inc.sh
vendored
14
debian/additions/debian-start.inc.sh
vendored
@ -5,7 +5,7 @@
|
||||
|
||||
## Check MyISAM and Aria unclosed tables.
|
||||
# - Requires the server to be up.
|
||||
# - Is supposed to run silently in background.
|
||||
# - Is supposed to run silently in background.
|
||||
function check_for_crashed_tables() {
|
||||
set -e
|
||||
set -u
|
||||
@ -15,7 +15,7 @@ function check_for_crashed_tables() {
|
||||
|
||||
# Checking for $? is unreliable so the size of the output is checked.
|
||||
# Some table handlers like HEAP do not support CHECK TABLE.
|
||||
tempfile=`tempfile`
|
||||
tempfile=$(mktemp)
|
||||
|
||||
# We have to use xargs in this case, because a for loop barfs on the
|
||||
# spaces in the thing to be looped over.
|
||||
@ -25,7 +25,7 @@ function check_for_crashed_tables() {
|
||||
|
||||
LC_ALL=C $MYSQL --skip-column-names --batch -e '
|
||||
select concat('\''select count(*) into @discard from `'\'',
|
||||
TABLE_SCHEMA, '\''`.`'\'', TABLE_NAME, '\''`'\'')
|
||||
TABLE_SCHEMA, '\''`.`'\'', TABLE_NAME, '\''`'\'')
|
||||
from information_schema.TABLES where TABLE_SCHEMA<>'\''INFORMATION_SCHEMA'\'' and TABLE_SCHEMA<>'\''PERFORMANCE_SCHEMA'\'' and ( ENGINE='\''MyISAM'\'' or ENGINE='\''Aria'\'' )' | \
|
||||
xargs -i $MYSQL --skip-column-names --silent --batch \
|
||||
--force -e "{}" &>$tempfile
|
||||
@ -39,8 +39,8 @@ function check_for_crashed_tables() {
|
||||
$MYADMIN processlist status
|
||||
) >> $tempfile
|
||||
# Check for presence as a dependency on mailx would require an MTA.
|
||||
if [ -x /usr/bin/mailx ]; then
|
||||
mailx -e -s"$MYCHECK_SUBJECT" $MYCHECK_RCPT < $tempfile
|
||||
if [ -x /usr/bin/mailx ]; then
|
||||
mailx -e -s"$MYCHECK_SUBJECT" $MYCHECK_RCPT < $tempfile
|
||||
fi
|
||||
(echo "$MYCHECK_SUBJECT"; cat $tempfile) | logger -p daemon.warn -i -t$0
|
||||
fi
|
||||
@ -49,7 +49,7 @@ function check_for_crashed_tables() {
|
||||
|
||||
## Check for tables needing an upgrade.
|
||||
# - Requires the server to be up.
|
||||
# - Is supposed to run silently in background.
|
||||
# - Is supposed to run silently in background.
|
||||
function upgrade_system_tables_if_necessary() {
|
||||
set -e
|
||||
set -u
|
||||
@ -69,7 +69,7 @@ function upgrade_system_tables_if_necessary() {
|
||||
function check_root_accounts() {
|
||||
set -e
|
||||
set -u
|
||||
|
||||
|
||||
logger -p daemon.info -i -t$0 "Checking for insecure root accounts."
|
||||
|
||||
ret=$( echo "SELECT count(*) FROM mysql.user WHERE user='root' and password='' and plugin in ('', 'mysql_native_password', 'mysql_old_password');" | $MYSQL --skip-column-names )
|
||||
|
20
debian/additions/enable_encryption.preset
vendored
20
debian/additions/enable_encryption.preset
vendored
@ -1,20 +0,0 @@
|
||||
#
|
||||
# !include this file into your my.cnf (or any of *.cnf files in /etc/mysql/conf.d)
|
||||
# and it will enable data at rest encryption. This is a simple way to
|
||||
# ensure that everything that can be encrypted will be and your
|
||||
# data will not leak unencrypted.
|
||||
#
|
||||
# DO NOT EDIT THIS FILE! On MariaDB upgrades it might be replaced with a
|
||||
# newer version and your edits will be lost. Instead, add your edits
|
||||
# to the .cnf file after the !include directive.
|
||||
#
|
||||
# NOTE that you also need to install an encryption plugin for the encryption
|
||||
# to work. See https://mariadb.com/kb/en/mariadb/data-at-rest-encryption/#encryption-key-management
|
||||
#
|
||||
[mariadb]
|
||||
aria-encrypt-tables
|
||||
encrypt-binlog
|
||||
encrypt-tmp-disk-tables
|
||||
encrypt-tmp-files
|
||||
loose-innodb-encrypt-log
|
||||
loose-innodb-encrypt-tables
|
140
debian/additions/innotop/innotop
vendored
140
debian/additions/innotop/innotop
vendored
@ -3,7 +3,7 @@
|
||||
# vim: tw=160:nowrap:expandtab:tabstop=3:shiftwidth=3:softtabstop=3
|
||||
|
||||
# This program is copyright (c) 2006 Baron Schwartz, baron at xaprb dot com.
|
||||
# Maintainers since 2013 : Kenny Gryp - Frédéric Descamps
|
||||
# Maintainers since 2013 : Kenny Gryp - Frédéric Descamps
|
||||
# Feedback and improvements are gratefully received.
|
||||
#
|
||||
# THIS PROGRAM IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
@ -640,7 +640,7 @@ sub parse_fk_section {
|
||||
} else {
|
||||
( $ts, $type ) = $fulltext =~ m/^$s\s+(\w+)/m;
|
||||
$section->{'ts'} = [ parse_innodb_timestamp( $ts ) ];
|
||||
}
|
||||
}
|
||||
|
||||
$section->{'timestring'} = ts_to_string($section->{'ts'});
|
||||
$section->{'type'} = $type;
|
||||
@ -715,7 +715,7 @@ sub parse_fk_bad_constraint_error {
|
||||
@{$section}{ qw(reason) } = $fulltext =~ m/:\s*([^:]+)(?= Constraint:|$)/ms;
|
||||
$section->{'reason'} =~ s/\s+/ /g
|
||||
if $section->{'reason'};
|
||||
|
||||
|
||||
# Certain data may not be present. Make them '' if not present.
|
||||
map { $section->{$_} ||= "" }
|
||||
qw(child_index fk_name col_name parent_table parent_col);
|
||||
@ -1042,7 +1042,7 @@ sub parse_tx_text {
|
||||
if ( $txn =~ m/^TABLE LOCK|RECORD LOCKS/ ) {
|
||||
$locks = [parse_innodb_record_locks($txn, $complete, $debug, $full)];
|
||||
}
|
||||
|
||||
|
||||
my ( $tables_in_use, $tables_locked )
|
||||
= $txn
|
||||
=~ m/^mysql tables in use $d, locked $d$/m;
|
||||
@ -1544,7 +1544,7 @@ innotop is a MySQL and InnoDB transaction/status monitor, like 'top' for
|
||||
MySQL. It displays queries, InnoDB transactions, lock waits, deadlocks,
|
||||
foreign key errors, open tables, replication status, buffer information,
|
||||
row operations, logs, I/O operations, load graph, and more. You can
|
||||
monitor many servers at once with innotop.
|
||||
monitor many servers at once with innotop.
|
||||
|
||||
USAGE
|
||||
exit(1);
|
||||
@ -4695,23 +4695,23 @@ sub main {
|
||||
if ( !$windows ) {
|
||||
delete $config{max_height};
|
||||
}
|
||||
|
||||
|
||||
# Try to lower my priority.
|
||||
eval { setpriority(0, 0, getpriority(0, 0) + 10); };
|
||||
|
||||
|
||||
# Print stuff to the screen immediately, don't wait for a newline.
|
||||
$OUTPUT_AUTOFLUSH = 1;
|
||||
|
||||
|
||||
# Clear the screen and load the configuration.
|
||||
$clear_screen_sub->();
|
||||
load_config();
|
||||
|
||||
|
||||
# Override config variables with command-line options
|
||||
my %cmdline =
|
||||
map { $_->{c} => $opts{$_->{k}} }
|
||||
grep { exists $_->{c} && exists $opts{$_->{k}} }
|
||||
@opt_spec;
|
||||
|
||||
|
||||
foreach my $name (keys %cmdline) {
|
||||
next if not defined $cmdline{$name};
|
||||
my $val = $cmdline{$name};
|
||||
@ -4719,23 +4719,23 @@ sub main {
|
||||
$config{$name}->{val} = $val;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
post_process_tbl_meta();
|
||||
|
||||
|
||||
# Make sure no changes are written to config file in non-interactive mode.
|
||||
if ( $opts{n} ) {
|
||||
$config{readonly}->{val} = 1;
|
||||
}
|
||||
|
||||
|
||||
eval {
|
||||
|
||||
|
||||
# Open the file for InnoDB status
|
||||
if ( @ARGV ) {
|
||||
my $filename = shift @ARGV;
|
||||
open $file, "<", $filename
|
||||
or die "Cannot open '$filename': $OS_ERROR";
|
||||
}
|
||||
|
||||
|
||||
# In certain modes we might have to collect data for two cycles
|
||||
# before printing anything out, so we need to bump up the count one.
|
||||
if ( $opts{n} && $opts{count} && $config{status_inc}->{val}
|
||||
@ -4743,16 +4743,16 @@ sub main {
|
||||
{
|
||||
$opts{count}++;
|
||||
}
|
||||
|
||||
|
||||
while (++$clock) {
|
||||
|
||||
|
||||
my $mode = $config{mode}->{val} || 'Q';
|
||||
if ( !$modes{$mode} ) {
|
||||
die "Mode '$mode' doesn't exist; try one of these:\n"
|
||||
. join("\n", map { " $_ $modes{$_}->{hdr}" } sort keys %modes)
|
||||
. "\n";
|
||||
}
|
||||
|
||||
|
||||
if ( !$opts{n} ) {
|
||||
@last_term_size = @this_term_size;
|
||||
@this_term_size = Term::ReadKey::GetTerminalSize(\*STDOUT);
|
||||
@ -4763,13 +4763,13 @@ sub main {
|
||||
}
|
||||
die("Can't read terminal size") unless @this_term_size;
|
||||
}
|
||||
|
||||
|
||||
# If there's no connection to a database server, we need to fix that...
|
||||
if ( !%connections ) {
|
||||
print "You have not defined any database connections.\n\n";
|
||||
add_new_dsn();
|
||||
}
|
||||
|
||||
|
||||
# See whether there are any connections defined for this mode. If there's only one
|
||||
# connection total, assume the user wants to just use innotop for a single server
|
||||
# and don't ask which server to connect to. Also, if we're monitoring from a file,
|
||||
@ -4782,20 +4782,20 @@ sub main {
|
||||
choose_connections();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Term::ReadLine might have re-set $OUTPUT_AUTOFLUSH.
|
||||
$OUTPUT_AUTOFLUSH = 1;
|
||||
|
||||
|
||||
# Prune old data
|
||||
my $sets = $config{num_status_sets}->{val};
|
||||
foreach my $store ( values %vars ) {
|
||||
delete @{$store}{ grep { $_ < $clock - $sets } keys %$store };
|
||||
}
|
||||
%info_gotten = ();
|
||||
|
||||
|
||||
# Call the subroutine to display this mode.
|
||||
$modes{$mode}->{display_sub}->();
|
||||
|
||||
|
||||
# It may be time to quit now.
|
||||
if ( $opts{count} && $clock >= $opts{count} ) {
|
||||
finish();
|
||||
@ -4805,7 +4805,7 @@ sub main {
|
||||
foreach my $cxn ( grep { $dbhs{$_}->{failed} } keys %dbhs ) {
|
||||
eval { connect_to_db($cxn); }; # Ignore errors entirely here.
|
||||
}
|
||||
|
||||
|
||||
# Wait for a bit.
|
||||
if ( $opts{n} ) {
|
||||
sleep($config{interval}->{val});
|
||||
@ -4815,10 +4815,10 @@ sub main {
|
||||
$char = ReadKey($config{interval}->{val});
|
||||
ReadMode('normal');
|
||||
}
|
||||
|
||||
|
||||
# Handle whatever action the key indicates.
|
||||
do_key_action();
|
||||
|
||||
|
||||
}
|
||||
};
|
||||
if ( $EVAL_ERROR ) {
|
||||
@ -5620,7 +5620,7 @@ sub display_M {
|
||||
push @slave_io_status, extract_values($set, $set, $pre, 'slave_io_status');
|
||||
}
|
||||
}
|
||||
if ( $linecount < 1 ) {
|
||||
if ( $linecount < 1 ) {
|
||||
$channel = 'no_channels';
|
||||
my $chcxn = $channel . '=' . $cxn;
|
||||
get_slave_status($cxn,$channel);
|
||||
@ -6546,7 +6546,7 @@ sub set_to_tbl {
|
||||
map { push @group_by, $_ if $_ !~ /^cxn$/ } @{$meta->{group_by}};
|
||||
$meta->{group_by} = \@group_by;
|
||||
}
|
||||
# if cxn is not visible and there is now more than one connection,
|
||||
# if cxn is not visible and there is now more than one connection,
|
||||
# make cxn visible again. assume it's not in group_by if it's not
|
||||
# visible
|
||||
else {
|
||||
@ -7187,7 +7187,7 @@ sub distill {
|
||||
}
|
||||
$query .= " " . $t;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# die $orig_query if $query eq 'LOCK lock';
|
||||
return $query;
|
||||
@ -7524,7 +7524,7 @@ sub do_stmt {
|
||||
|
||||
# Test if the cxn should not even be tried
|
||||
return undef if $dbhs{$cxn}
|
||||
&& $dbhs{$cxn}->{failed}
|
||||
&& $dbhs{$cxn}->{failed}
|
||||
&& ( !$dbhs{$cxn}->{dbh} || !$dbhs{$cxn}->{dbh}->{Active} || $dbhs{$cxn}->{mode} eq $config{mode}->{val} );
|
||||
|
||||
my $sth;
|
||||
@ -7599,7 +7599,7 @@ sub do_query {
|
||||
|
||||
# Test if the cxn should not even be tried
|
||||
return undef if $dbhs{$cxn}
|
||||
&& $dbhs{$cxn}->{failed}
|
||||
&& $dbhs{$cxn}->{failed}
|
||||
&& ( !$dbhs{$cxn}->{dbh} || !$dbhs{$cxn}->{dbh}->{Active} || $dbhs{$cxn}->{mode} eq $config{mode}->{val} );
|
||||
|
||||
my $sth;
|
||||
@ -7627,7 +7627,7 @@ sub do_query {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return $sth;
|
||||
}
|
||||
|
||||
@ -7892,17 +7892,17 @@ sub migrate_config {
|
||||
|
||||
# load_config {{{3
|
||||
sub load_config {
|
||||
|
||||
|
||||
my ($old_filename, $answer);
|
||||
|
||||
if ( $opts{u} or $opts{p} or $opts{h} or $opts{P} or $opts{S} ) {
|
||||
my @params = $dsn_parser->get_cxn_params(\%opts); # dsn=$params[0]
|
||||
add_new_dsn($opts{h} || 'localhost', $params[0], 'test.innotop_dl',
|
||||
add_new_dsn($opts{h} || 'localhost', $params[0], 'test.innotop_dl',
|
||||
$opts{u} ? 1 : 0, $opts{u}, $opts{p} ? 1 : 0, $opts{p});
|
||||
}
|
||||
if ($opts{c}) {
|
||||
$conf_file = $opts{c};
|
||||
}
|
||||
}
|
||||
# If we don't have a new config file but we do have an old one,
|
||||
# innotop got upgraded and this is an old config file. Convert it, but
|
||||
# don't overwrite something existing.
|
||||
@ -7930,14 +7930,14 @@ sub load_config {
|
||||
$conf_file = $default_central_conf;
|
||||
}
|
||||
else {
|
||||
# If no config file was loaded, set readonly to 0 if the user wants to
|
||||
# If no config file was loaded, set readonly to 0 if the user wants to
|
||||
# write a config
|
||||
$config{readonly}->{val} = 0 if $opts{w};
|
||||
# If no connections have been defined, connect to a MySQL database
|
||||
# If no connections have been defined, connect to a MySQL database
|
||||
# on localhost using mariadb_read_default_group=client
|
||||
if (!%connections) {
|
||||
add_new_dsn('localhost',
|
||||
'DBI:MariaDB:;host=localhost;mariadb_read_default_group=client',
|
||||
add_new_dsn('localhost',
|
||||
'DBI:MariaDB:;host=localhost;mariadb_read_default_group=client',
|
||||
'test.innotop_dl');
|
||||
}
|
||||
}
|
||||
@ -8476,7 +8476,7 @@ sub save_config {
|
||||
elsif ($conf_file and $opts{w}) {
|
||||
print "Loaded config file on start-up, so ignoring -w (see --help)\n"
|
||||
}
|
||||
|
||||
|
||||
my $dirname = dirname($conf_file);
|
||||
|
||||
# if directories don't exist, create them. This could cause errors
|
||||
@ -9819,7 +9819,7 @@ sub get_slave_status {
|
||||
}
|
||||
} else {
|
||||
my $dbh = connect_to_db($cxn);
|
||||
my $sql = 'SHOW SLAVE STATUS FOR CHANNEL \'' . $channel . '\'';
|
||||
my $sql = 'SHOW SLAVE STATUS FOR CHANNEL \'' . $channel . '\'';
|
||||
my $stmt = $dbh->prepare($sql ) ;
|
||||
$stmt->execute();
|
||||
my $res = $stmt->fetchall_arrayref({});
|
||||
@ -9835,8 +9835,8 @@ sub get_slave_status {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
sub is_func {
|
||||
@ -9902,8 +9902,8 @@ host, use the -h option.
|
||||
After you've connected, innotop should show you something like the following:
|
||||
|
||||
[RO] Query List (? for help) localhost, 01:11:19, 449.44 QPS, 14/7/163 con/run
|
||||
|
||||
CXN When Load QPS Slow QCacheHit KCacheHit BpsIn BpsOut
|
||||
|
||||
CXN When Load QPS Slow QCacheHit KCacheHit BpsIn BpsOut
|
||||
localhost Total 0.00 1.07k 697 0.00% 98.17% 476.83k 242.83k
|
||||
|
||||
CXN Cmd ID User Host DB Time Query
|
||||
@ -10070,7 +10070,7 @@ L<"cmd_summary"> table, which looks something like the following:
|
||||
|
||||
Command Summary (? for help) localhost, 25+07:16:43, 2.45 QPS, 3 thd, 5.0.40
|
||||
_____________________ Command Summary _____________________
|
||||
Name Value Pct Last Incr Pct
|
||||
Name Value Pct Last Incr Pct
|
||||
Select_scan 3244858 69.89% 2 100.00%
|
||||
Select_range 1354177 29.17% 0 0.00%
|
||||
Select_full_join 39479 0.85% 0 0.00%
|
||||
@ -11189,7 +11189,7 @@ L<"STATUS_VARIABLES">.
|
||||
|
||||
=item slave_io_status
|
||||
|
||||
Displays data about the slave I/O thread. Data source:
|
||||
Displays data about the slave I/O thread. Data source:
|
||||
L<"STATUS_VARIABLES">.
|
||||
|
||||
=item slave_sql_status
|
||||
@ -11438,8 +11438,8 @@ L<"processlist"> table when prompted).
|
||||
Your display might now look like the following:
|
||||
|
||||
Query List (? for help) localhost, 32:33, 0.11 QPS, 1 thd, 5.0.38-log
|
||||
|
||||
CXN Cmd Cnt ID User Host Time Query
|
||||
|
||||
CXN Cmd Cnt ID User Host Time Query
|
||||
localhost Query 49 12933 webusr localhost 19:38 SELECT * FROM
|
||||
localhost Sending Da 23 2383 webusr localhost 12:43 SELECT col1,
|
||||
localhost Sleep 120 140 webusr localhost 5:18:12
|
||||
@ -11488,14 +11488,14 @@ matches the row; if it does, the row gets the specified color, and no further
|
||||
rules are evaluated. The rules look like the following:
|
||||
|
||||
state eq Locked black on_red
|
||||
cmd eq Sleep white
|
||||
user eq system user white
|
||||
cmd eq Connect white
|
||||
cmd eq Binlog Dump white
|
||||
time > 600 red
|
||||
time > 120 yellow
|
||||
time > 60 green
|
||||
time > 30 cyan
|
||||
cmd eq Sleep white
|
||||
user eq system user white
|
||||
cmd eq Connect white
|
||||
cmd eq Binlog Dump white
|
||||
time > 600 red
|
||||
time > 120 yellow
|
||||
time > 60 green
|
||||
time > 30 cyan
|
||||
|
||||
This is the default rule set for the L<"processlist"> table. In order of
|
||||
priority, these rules make locked queries black on a red background, "gray out"
|
||||
@ -11639,9 +11639,9 @@ screen, it will prompt you to choose one of them. Once you do, innotop will
|
||||
show you something like this:
|
||||
|
||||
Editing table definition for Buffer Pool. Press ? for help, q to quit.
|
||||
|
||||
name hdr label src
|
||||
cxn CXN Connection from which cxn
|
||||
|
||||
name hdr label src
|
||||
cxn CXN Connection from which cxn
|
||||
buf_pool_size Size Buffer pool size IB_bp_buf_poo
|
||||
buf_free Free Bufs Buffers free in the b IB_bp_buf_fre
|
||||
pages_total Pages Pages total IB_bp_pages_t
|
||||
@ -11931,15 +11931,15 @@ whitespace).
|
||||
|
||||
use strict;
|
||||
use warnings FATAL => 'all';
|
||||
|
||||
|
||||
package Innotop::Plugin::Example;
|
||||
# description: Adds an 'example' column to every table
|
||||
|
||||
|
||||
sub new {
|
||||
my ( $class, %vars ) = @_;
|
||||
# Store reference to innotop's variables in $self
|
||||
my $self = bless { %vars }, $class;
|
||||
|
||||
|
||||
# Design the example column
|
||||
my $col = {
|
||||
hdr => 'Example',
|
||||
@ -11951,7 +11951,7 @@ whitespace).
|
||||
tbl => '',
|
||||
trans => [],
|
||||
};
|
||||
|
||||
|
||||
# Add the column to every table.
|
||||
my $tbl_meta = $vars{tbl_meta};
|
||||
foreach my $tbl ( values %$tbl_meta ) {
|
||||
@ -11960,17 +11960,17 @@ whitespace).
|
||||
# Add the column to the list of visible columns
|
||||
unshift @{$tbl->{visible}}, 'example';
|
||||
}
|
||||
|
||||
|
||||
# Be sure to return a reference to the object.
|
||||
return $self;
|
||||
}
|
||||
|
||||
|
||||
# I'd like to be called when a data set is being rendered into a table, please.
|
||||
sub register_for_events {
|
||||
my ( $self ) = @_;
|
||||
return qw(set_to_tbl_pre_filter);
|
||||
}
|
||||
|
||||
|
||||
# This method will be called when the event fires.
|
||||
sub set_to_tbl_pre_filter {
|
||||
my ( $self, $rows, $tbl ) = @_;
|
||||
@ -11979,7 +11979,7 @@ whitespace).
|
||||
$row->{example} = 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
1;
|
||||
|
||||
=head2 Plugin Editor
|
||||
@ -12181,7 +12181,7 @@ Allen K. Smith,
|
||||
Aurimas Mikalauskas,
|
||||
Bartosz Fenski,
|
||||
Brian Miezejewski,
|
||||
Christian Hammers,
|
||||
Christian Hammers,
|
||||
Cyril Scetbon,
|
||||
Dane Miller,
|
||||
David Multer,
|
||||
|
50
debian/additions/innotop/innotop.1
vendored
50
debian/additions/innotop/innotop.1
vendored
@ -193,8 +193,8 @@ After you've connected, innotop should show you something like the following:
|
||||
.PP
|
||||
.Vb 1
|
||||
\& [RO] Query List (? for help) localhost, 01:11:19, 449.44 QPS, 14/7/163 con/run
|
||||
\&
|
||||
\& CXN When Load QPS Slow QCacheHit KCacheHit BpsIn BpsOut
|
||||
\&
|
||||
\& CXN When Load QPS Slow QCacheHit KCacheHit BpsIn BpsOut
|
||||
\& localhost Total 0.00 1.07k 697 0.00% 98.17% 476.83k 242.83k
|
||||
\&
|
||||
\& CXN Cmd ID User Host DB Time Query
|
||||
@ -324,7 +324,7 @@ This mode is similar to mytop's Command Summary mode. It shows the
|
||||
.Vb 8
|
||||
\& Command Summary (? for help) localhost, 25+07:16:43, 2.45 QPS, 3 thd, 5.0.40
|
||||
\& _\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_ Command Summary _\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_\|_
|
||||
\& Name Value Pct Last Incr Pct
|
||||
\& Name Value Pct Last Incr Pct
|
||||
\& Select_scan 3244858 69.89% 2 100.00%
|
||||
\& Select_range 1354177 29.17% 0 0.00%
|
||||
\& Select_full_join 39479 0.85% 0 0.00%
|
||||
@ -1261,7 +1261,7 @@ Displays data about InnoDB's semaphores and mutexes. Data source:
|
||||
\&\*(L"\s-1STATUS_VARIABLES\*(R"\s0.
|
||||
.IP "slave_io_status" 4
|
||||
.IX Item "slave_io_status"
|
||||
Displays data about the slave I/O thread. Data source:
|
||||
Displays data about the slave I/O thread. Data source:
|
||||
\&\*(L"\s-1STATUS_VARIABLES\*(R"\s0.
|
||||
.IP "slave_sql_status" 4
|
||||
.IX Item "slave_sql_status"
|
||||
@ -1472,8 +1472,8 @@ Your display might now look like the following:
|
||||
.PP
|
||||
.Vb 1
|
||||
\& Query List (? for help) localhost, 32:33, 0.11 QPS, 1 thd, 5.0.38\-log
|
||||
\&
|
||||
\& CXN Cmd Cnt ID User Host Time Query
|
||||
\&
|
||||
\& CXN Cmd Cnt ID User Host Time Query
|
||||
\& localhost Query 49 12933 webusr localhost 19:38 SELECT * FROM
|
||||
\& localhost Sending Da 23 2383 webusr localhost 12:43 SELECT col1,
|
||||
\& localhost Sleep 120 140 webusr localhost 5:18:12
|
||||
@ -1526,13 +1526,13 @@ rules are evaluated. The rules look like the following:
|
||||
.PP
|
||||
.Vb 9
|
||||
\& state eq Locked black on_red
|
||||
\& cmd eq Sleep white
|
||||
\& user eq system user white
|
||||
\& cmd eq Connect white
|
||||
\& cmd eq Binlog Dump white
|
||||
\& time > 600 red
|
||||
\& time > 120 yellow
|
||||
\& time > 60 green
|
||||
\& cmd eq Sleep white
|
||||
\& user eq system user white
|
||||
\& cmd eq Connect white
|
||||
\& cmd eq Binlog Dump white
|
||||
\& time > 600 red
|
||||
\& time > 120 yellow
|
||||
\& time > 60 green
|
||||
\& time > 30 cyan
|
||||
.Ve
|
||||
.PP
|
||||
@ -1669,9 +1669,9 @@ show you something like this:
|
||||
.PP
|
||||
.Vb 1
|
||||
\& Editing table definition for Buffer Pool. Press ? for help, q to quit.
|
||||
\&
|
||||
\& name hdr label src
|
||||
\& cxn CXN Connection from which cxn
|
||||
\&
|
||||
\& name hdr label src
|
||||
\& cxn CXN Connection from which cxn
|
||||
\& buf_pool_size Size Buffer pool size IB_bp_buf_poo
|
||||
\& buf_free Free Bufs Buffers free in the b IB_bp_buf_fre
|
||||
\& pages_total Pages Pages total IB_bp_pages_t
|
||||
@ -1924,15 +1924,15 @@ whitespace).
|
||||
.Vb 2
|
||||
\& use strict;
|
||||
\& use warnings FATAL => \*(Aqall\*(Aq;
|
||||
\&
|
||||
\&
|
||||
\& package Innotop::Plugin::Example;
|
||||
\& # description: Adds an \*(Aqexample\*(Aq column to every table
|
||||
\&
|
||||
\&
|
||||
\& sub new {
|
||||
\& my ( $class, %vars ) = @_;
|
||||
\& # Store reference to innotop\*(Aqs variables in $self
|
||||
\& my $self = bless { %vars }, $class;
|
||||
\&
|
||||
\&
|
||||
\& # Design the example column
|
||||
\& my $col = {
|
||||
\& hdr => \*(AqExample\*(Aq,
|
||||
@ -1944,7 +1944,7 @@ whitespace).
|
||||
\& tbl => \*(Aq\*(Aq,
|
||||
\& trans => [],
|
||||
\& };
|
||||
\&
|
||||
\&
|
||||
\& # Add the column to every table.
|
||||
\& my $tbl_meta = $vars{tbl_meta};
|
||||
\& foreach my $tbl ( values %$tbl_meta ) {
|
||||
@ -1953,17 +1953,17 @@ whitespace).
|
||||
\& # Add the column to the list of visible columns
|
||||
\& unshift @{$tbl\->{visible}}, \*(Aqexample\*(Aq;
|
||||
\& }
|
||||
\&
|
||||
\&
|
||||
\& # Be sure to return a reference to the object.
|
||||
\& return $self;
|
||||
\& }
|
||||
\&
|
||||
\&
|
||||
\& # I\*(Aqd like to be called when a data set is being rendered into a table, please.
|
||||
\& sub register_for_events {
|
||||
\& my ( $self ) = @_;
|
||||
\& return qw(set_to_tbl_pre_filter);
|
||||
\& }
|
||||
\&
|
||||
\&
|
||||
\& # This method will be called when the event fires.
|
||||
\& sub set_to_tbl_pre_filter {
|
||||
\& my ( $self, $rows, $tbl ) = @_;
|
||||
@ -1972,7 +1972,7 @@ whitespace).
|
||||
\& $row\->{example} = 1;
|
||||
\& }
|
||||
\& }
|
||||
\&
|
||||
\&
|
||||
\& 1;
|
||||
.Ve
|
||||
.SS "Plugin Editor"
|
||||
@ -2137,7 +2137,7 @@ Allen K. Smith,
|
||||
Aurimas Mikalauskas,
|
||||
Bartosz Fenski,
|
||||
Brian Miezejewski,
|
||||
Christian Hammers,
|
||||
Christian Hammers,
|
||||
Cyril Scetbon,
|
||||
Dane Miller,
|
||||
David Multer,
|
||||
|
9
debian/additions/mariadb.cnf
vendored
9
debian/additions/mariadb.cnf
vendored
@ -1,6 +1,7 @@
|
||||
# The MariaDB configuration file
|
||||
#
|
||||
# The MariaDB/MySQL tools read configuration files in the following order:
|
||||
# 0. "/etc/mysql/my.cnf" symlinks to this file, reason why all the rest is read.
|
||||
# 1. "/etc/mysql/mariadb.cnf" (this file) to set global defaults,
|
||||
# 2. "/etc/mysql/conf.d/*.cnf" to set global options.
|
||||
# 3. "/etc/mysql/mariadb.conf.d/*.cnf" to set MariaDB-only options.
|
||||
@ -11,15 +12,17 @@
|
||||
# One can use all long options that the program supports.
|
||||
# Run program with --help to get a list of available options and with
|
||||
# --print-defaults to see which it would actually understand and use.
|
||||
#
|
||||
# If you are new to MariaDB, check out https://mariadb.com/kb/en/basic-mariadb-articles/
|
||||
|
||||
#
|
||||
# This group is read both by the client and the server
|
||||
# use it for options that affect everything
|
||||
#
|
||||
[client-server]
|
||||
|
||||
socket = /run/mysqld/mysqld.sock
|
||||
#port = 3306
|
||||
# Port or socket location where to connect
|
||||
# port = 3306
|
||||
socket = /run/mysqld/mysqld.sock
|
||||
|
||||
# Import all .cnf files from configuration directory
|
||||
!includedir /etc/mysql/conf.d/
|
||||
|
@ -4,15 +4,12 @@
|
||||
#
|
||||
|
||||
[client]
|
||||
# Default is Latin1, if you need UTF-8 set this (also in server section)
|
||||
# default-character-set = utf8mb4
|
||||
|
||||
# Example of client certificate usage
|
||||
# ssl-cert=/etc/mysql/client-cert.pem
|
||||
# ssl-key=/etc/mysql/client-key.pem
|
||||
# ssl-cert = /etc/mysql/client-cert.pem
|
||||
# ssl-key = /etc/mysql/client-key.pem
|
||||
#
|
||||
# Allow only TLS encrypted connections
|
||||
# ssl-verify-server-cert=on
|
||||
# ssl-verify-server-cert = on
|
||||
|
||||
# This group is *never* read by mysql client library, though this
|
||||
# /etc/mysql/mariadb.cnf.d/client.cnf file is not read by Oracle MySQL
|
||||
|
@ -9,12 +9,12 @@
|
||||
# with the following contents:
|
||||
#
|
||||
# [Service]
|
||||
# User=mysql
|
||||
# StandardOutput=syslog
|
||||
# StandardError=syslog
|
||||
# SyslogFacility=daemon
|
||||
# SyslogLevel=err
|
||||
# SyslogIdentifier=mysqld
|
||||
# User = mysql
|
||||
# StandardOutput = syslog
|
||||
# StandardError = syslog
|
||||
# SyslogFacility = daemon
|
||||
# SyslogLevel = err
|
||||
# SyslogIdentifier = mysqld
|
||||
#
|
||||
# For more information, please read https://mariadb.com/kb/en/mariadb/systemd/
|
||||
|
||||
@ -23,6 +23,6 @@
|
||||
# It has been reported that passwords should be enclosed with ticks/quotes
|
||||
# especially if they contain "#" chars...
|
||||
|
||||
nice = 0
|
||||
nice = 0
|
||||
skip_log_error
|
||||
syslog
|
||||
|
19
debian/additions/mariadb.conf.d/60-galera.cnf
vendored
19
debian/additions/mariadb.conf.d/60-galera.cnf
vendored
@ -2,19 +2,20 @@
|
||||
# * Galera-related settings
|
||||
#
|
||||
# See the examples of server wsrep.cnf files in /usr/share/mysql
|
||||
# and read more at https://mariadb.com/kb/en/galera-cluster/
|
||||
|
||||
[galera]
|
||||
# Mandatory settings
|
||||
#wsrep_on=ON
|
||||
#wsrep_provider=
|
||||
#wsrep_cluster_address=
|
||||
#binlog_format=row
|
||||
#default_storage_engine=InnoDB
|
||||
#innodb_autoinc_lock_mode=2
|
||||
#wsrep_on = ON
|
||||
#wsrep_provider =
|
||||
#wsrep_cluster_address =
|
||||
#binlog_format = row
|
||||
#default_storage_engine = InnoDB
|
||||
#innodb_autoinc_lock_mode = 2
|
||||
|
||||
# Allow server to accept connections on all interfaces.
|
||||
#bind-address=0.0.0.0
|
||||
#bind-address = 0.0.0.0
|
||||
|
||||
# Optional settings
|
||||
#wsrep_slave_threads=1
|
||||
#innodb_flush_log_at_trx_commit=0
|
||||
#wsrep_slave_threads = 1
|
||||
#innodb_flush_log_at_trx_commit = 0
|
||||
|
1
debian/additions/mariadb.conf.d/99-enable-encryption.cnf.preset
vendored
Symbolic link
1
debian/additions/mariadb.conf.d/99-enable-encryption.cnf.preset
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
../../../support-files/rpm/enable_encryption.preset
|
77
debian/autobake-deb.sh
vendored
77
debian/autobake-deb.sh
vendored
@ -2,6 +2,11 @@
|
||||
#
|
||||
# Build MariaDB .deb packages for test and release at mariadb.org
|
||||
#
|
||||
# Purpose of this script:
|
||||
# Always keep the actual packaging as up-to-date as possible following the latest
|
||||
# Debian policy and targeting Debian Sid. Then case-by-case run in autobake-deb.sh
|
||||
# tests for backwards compatibility and strip away parts on older builders or
|
||||
# specfic build environments.
|
||||
|
||||
# Exit immediately on any error
|
||||
set -e
|
||||
@ -17,21 +22,32 @@ if [[ $TRAVIS ]] || [[ $GITLAB_CI ]]
|
||||
then
|
||||
# On both Travis and Gitlab the output log must stay under 4MB so make the
|
||||
# build less verbose
|
||||
sed -i -e '/Add support for verbose builds/,/^$/d' debian/rules
|
||||
sed '/Add support for verbose builds/,/^$/d' -i debian/rules
|
||||
|
||||
# MCOL-4149: ColumnStore builds are so slow and big that they must be skipped on
|
||||
# both Travis-CI and Gitlab-CI
|
||||
sed 's|-DPLUGIN_COLUMNSTORE=YES|-DPLUGIN_COLUMNSTORE=NO|' -i debian/rules
|
||||
sed "/Package: mariadb-plugin-columnstore/,/^$/d" -i debian/control
|
||||
fi
|
||||
|
||||
# Travis-CI optimizations to keep build small (in both duration and disk space)
|
||||
# Don't build or try to put files in a package for selected plugins and compontents on Travis-CI
|
||||
# in order to keep build small (in both duration and disk space)
|
||||
if [[ $TRAVIS ]]
|
||||
then
|
||||
# Don't include test suite package on Travis-CI to make the build time shorter
|
||||
# Test suite package not relevant on Travis-CI
|
||||
sed 's|DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test|DINSTALL_MYSQLTESTDIR=false|' -i debian/rules
|
||||
sed '/Package: mariadb-test-data/,/^$/d' -i debian/control
|
||||
sed '/Package: mariadb-test$/,/^$/d' -i debian/control
|
||||
|
||||
# Don't build the test package at all to save time and disk space
|
||||
sed 's|DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test|DINSTALL_MYSQLTESTDIR=false|' -i debian/rules
|
||||
|
||||
# Also skip building RocksDB, Mroonga etc to save even more time and disk space
|
||||
sed 's|-DDEB|-DPLUGIN_MROONGA=NO -DPLUGIN_SPIDER=NO -DPLUGIN_OQGRAPH=NO -DPLUGIN_PERFSCHEMA=NO -DPLUGIN_SPHINX=NO -DDEB|' -i debian/rules
|
||||
# Extra plugins such as Mroonga, Spider, OQgraph, Sphinx and the embedded build can safely be skipped
|
||||
sed 's|-DDEB|-DPLUGIN_MROONGA=NO -DPLUGIN_ROCKSDB=NO -DPLUGIN_SPIDER=NO -DPLUGIN_OQGRAPH=NO -DPLUGIN_PERFSCHEMA=NO -DPLUGIN_SPHINX=NO -DWITH_EMBEDDED_SERVER=OFF -DDEB|' -i debian/rules
|
||||
sed "/Package: mariadb-plugin-mroonga/,/^$/d" -i debian/control
|
||||
sed "/Package: mariadb-plugin-rocksdb/,/^$/d" -i debian/control
|
||||
sed "/Package: mariadb-plugin-spider/,/^$/d" -i debian/control
|
||||
sed "/Package: mariadb-plugin-oqgraph/,/^$/d" -i debian/control
|
||||
sed "/ha_sphinx.so/d" -i debian/mariadb-server-10.6.install
|
||||
sed "/Package: libmariadbd19/,/^$/d" -i debian/control
|
||||
sed "/Package: libmariadbd-dev/,/^$/d" -i debian/control
|
||||
fi
|
||||
|
||||
# Convert gcc version to numberical value. Format is Mmmpp where M is Major
|
||||
@ -41,19 +57,6 @@ GCCVERSION=$(gcc -dumpfullversion -dumpversion | sed -e 's/\.\([0-9][0-9]\)/\1/g
|
||||
-e 's/\.\([0-9]\)/0\1/g' \
|
||||
-e 's/^[0-9]\{3,4\}$/&00/')
|
||||
|
||||
# Look up distro-version specific stuff
|
||||
#
|
||||
# Always keep the actual packaging as up-to-date as possible following the latest
|
||||
# Debian policy and targeting Debian Sid. Then case-by-case run in autobake-deb.sh
|
||||
# tests for backwards compatibility and strip away parts on older builders.
|
||||
|
||||
# If libzstd-dev is not available (before Debian Stretch and Ubuntu Xenial)
|
||||
# remove the dependency from server and RocksDB so it can build properly
|
||||
if ! apt-cache madison libzstd-dev | grep 'libzstd-dev' >/dev/null 2>&1
|
||||
then
|
||||
sed '/libzstd-dev/d' -i debian/control
|
||||
fi
|
||||
|
||||
# If rocksdb-tools is not available (before Debian Buster and Ubuntu Disco)
|
||||
# remove the dependency from the RocksDB plugin so it can install properly
|
||||
# and instead ship the one built from MariaDB sources
|
||||
@ -70,38 +73,6 @@ then
|
||||
sed 's/libcurl4/libcurl3/g' -i debian/control
|
||||
fi
|
||||
|
||||
# Don't build rocksdb package if gcc version is less than 4.8 or we are running on
|
||||
# x86 32 bit.
|
||||
if [[ $GCCVERSION -lt 40800 ]] || [[ $(arch) =~ i[346]86 ]] || [[ $TRAVIS ]]
|
||||
then
|
||||
sed '/Package: mariadb-plugin-rocksdb/,/^$/d' -i debian/control
|
||||
sed -i 's|-DPLUGIN_ROCKSDB=YES|-DPLUGIN_ROCKSDB=NO|' debian/rules
|
||||
fi
|
||||
|
||||
# If libpcre2-dev is not available (before Debian Stretch and Ubuntu Xenial)
|
||||
# attempt to build using older libpcre3-dev (SIC!)
|
||||
if ! apt-cache madison libpcre2-dev | grep --quiet 'libpcre2-dev'
|
||||
then
|
||||
sed 's/libcurl4-openssl-dev | libcurl4-dev/libpcre3-dev/' -i debian/control
|
||||
fi
|
||||
|
||||
# Mroonga, Spider etc never built on Travis CI anyway, see build flags above
|
||||
if [[ $TRAVIS ]]
|
||||
then
|
||||
sed -i -e "/Package: mariadb-plugin-mroonga/,/^$/d" debian/control
|
||||
sed -i -e "/Package: mariadb-plugin-spider/,/^$/d" debian/control
|
||||
sed -i -e "/Package: mariadb-plugin-oqgraph/,/^$/d" debian/control
|
||||
sed -i -e "/usr\/lib\/mysql\/plugin\/ha_sphinx.so/d" debian/mariadb-server-10.6.install
|
||||
sed -i -e "/Package: libmariadbd-dev/,/^$/d" debian/control
|
||||
fi
|
||||
|
||||
if [[ $TRAVIS ]] || ! [[ $(arch) =~ 86 ]]
|
||||
then
|
||||
sed -i -e "/Package: mariadb-plugin-columnstore/,/^$/d" debian/control
|
||||
sed -i '/flex/d' debian/control
|
||||
sed -i 's|-DPLUGIN_COLUMNSTORE=YES|-DPLUGIN_COLUMNSTORE=NO|' debian/rules
|
||||
fi
|
||||
|
||||
# Adjust changelog, add new version
|
||||
echo "Incrementing changelog and starting build scripts"
|
||||
|
||||
|
27
debian/control
vendored
27
debian/control
vendored
@ -9,10 +9,17 @@ Build-Depends: bison,
|
||||
dh-apparmor,
|
||||
dh-exec,
|
||||
dh-systemd,
|
||||
flex,
|
||||
flex [i386 amd64],
|
||||
gdb,
|
||||
libaio-dev [linux-any],
|
||||
libboost-atomic-dev [i386 amd64],
|
||||
libboost-chrono-dev [i386 amd64],
|
||||
libboost-date-time-dev [i386 amd64],
|
||||
libboost-dev,
|
||||
libboost-filesystem-dev [i386 amd64],
|
||||
libboost-regex-dev [i386 amd64],
|
||||
libboost-system-dev [i386 amd64],
|
||||
libboost-thread-dev [i386 amd64],
|
||||
libcrack2-dev (>= 2.9.0),
|
||||
libcurl4-openssl-dev | libcurl4-dev,
|
||||
libedit-dev,
|
||||
@ -490,8 +497,7 @@ Package: mariadb-server-10.6
|
||||
Architecture: any
|
||||
Suggests: mailx,
|
||||
mariadb-test,
|
||||
netcat-openbsd,
|
||||
tinyca
|
||||
netcat-openbsd
|
||||
Recommends: libhtml-template-perl
|
||||
Pre-Depends: adduser (>= 3.40),
|
||||
debconf,
|
||||
@ -642,12 +648,15 @@ Depends: libcurl4,
|
||||
mariadb-server-10.6 (= ${binary:Version}),
|
||||
${misc:Depends},
|
||||
${shlibs:Depends}
|
||||
Description: S3 storage engine for MariaDB
|
||||
Read only table stored in S3.
|
||||
Description: Amazon S3 archival storage engine for MariaDB
|
||||
The S3 storage engine allows one to archive MariaDB tables in Amazon S3 (or any
|
||||
third-party public or private cloud that implements S3 API), but still have
|
||||
them accessible in MariaDB in read-only mode.
|
||||
|
||||
Package: mariadb-plugin-rocksdb
|
||||
Architecture: amd64 arm64 mips64el ppc64el
|
||||
Depends: mariadb-server-10.6 (= ${binary:Version}),
|
||||
python3,
|
||||
rocksdb-tools,
|
||||
${misc:Depends},
|
||||
${shlibs:Depends}
|
||||
@ -665,11 +674,11 @@ Description: RocksDB storage engine for MariaDB
|
||||
|
||||
Package: mariadb-plugin-columnstore
|
||||
Architecture: amd64 i386
|
||||
Depends: mariadb-server-10.6 (= ${binary:Version}),
|
||||
net-tools,
|
||||
binutils,
|
||||
libsnappy1 | libsnappy1v5,
|
||||
Depends: binutils,
|
||||
libjemalloc1 | libjemalloc2,
|
||||
libsnappy1 | libsnappy1v5,
|
||||
mariadb-server-10.6 (= ${binary:Version}),
|
||||
net-tools,
|
||||
python3,
|
||||
${misc:Depends},
|
||||
${shlibs:Depends}
|
||||
|
11
debian/mariadb-plugin-columnstore.install
vendored
11
debian/mariadb-plugin-columnstore.install
vendored
@ -18,7 +18,6 @@ usr/bin/ProcMon
|
||||
usr/bin/ServerMonitor
|
||||
usr/bin/StorageManager
|
||||
usr/bin/WriteEngineServer
|
||||
usr/bin/dbmsReport.sh
|
||||
usr/bin/autoConfigure
|
||||
usr/bin/bulklogReport.sh
|
||||
usr/bin/clearShm
|
||||
@ -42,6 +41,7 @@ usr/bin/cpimport
|
||||
usr/bin/cpimport.bin
|
||||
usr/bin/cplogger
|
||||
usr/bin/dbbuilder
|
||||
usr/bin/dbmsReport.sh
|
||||
usr/bin/dbrmctl
|
||||
usr/bin/ddlcleanup
|
||||
usr/bin/disable-rep-columnstore.sh
|
||||
@ -51,8 +51,11 @@ usr/bin/hardwareReport.sh
|
||||
usr/bin/idbmeminfo
|
||||
usr/bin/load_brm
|
||||
usr/bin/logReport.sh
|
||||
usr/bin/mariadb-columnstore-start.sh
|
||||
usr/bin/mariadb-columnstore-stop.sh
|
||||
usr/bin/mariadb-command-line.sh
|
||||
usr/bin/master-rep-columnstore.sh
|
||||
usr/bin/mcs-loadbrm.py
|
||||
usr/bin/mcs-stop-controllernode.sh
|
||||
usr/bin/mcsGetConfig
|
||||
usr/bin/mcsSetConfig
|
||||
@ -82,10 +85,6 @@ usr/bin/smrm
|
||||
usr/bin/startupTests.sh
|
||||
usr/bin/viewtablelock
|
||||
usr/bin/workernode
|
||||
usr/bin/mcs-start-storagemanager.py
|
||||
usr/bin/mcs-loadbrm.py
|
||||
usr/bin/mariadb-columnstore-start.sh
|
||||
usr/bin/mariadb-columnstore-stop.sh
|
||||
usr/lib/*/libalarmmanager.so
|
||||
usr/lib/*/libbatchloader.so
|
||||
usr/lib/*/libbrm.so
|
||||
@ -146,9 +145,9 @@ usr/share/columnstore/mcs-dmlproc.service
|
||||
usr/share/columnstore/mcs-exemgr.service
|
||||
usr/share/columnstore/mcs-loadbrm.service
|
||||
usr/share/columnstore/mcs-primproc.service
|
||||
usr/share/columnstore/mcs-storagemanager.service
|
||||
usr/share/columnstore/mcs-workernode.service
|
||||
usr/share/columnstore/mcs-writeengineserver.service
|
||||
usr/share/columnstore/mcs-storagemanager.service
|
||||
usr/share/columnstore/mcstest-001.sh
|
||||
usr/share/columnstore/mcstest-002.sh
|
||||
usr/share/columnstore/mcstest-003.sh
|
||||
|
4
debian/mariadb-plugin-columnstore.postinst
vendored
4
debian/mariadb-plugin-columnstore.postinst
vendored
@ -3,8 +3,6 @@
|
||||
set -e
|
||||
|
||||
# Install ColumnStore
|
||||
columnstore-post-install --rpmmode=install
|
||||
|
||||
echo "MariaDB ColumnStore install completed"
|
||||
columnstore-post-install install
|
||||
|
||||
#DEBHELPER#
|
||||
|
27
debian/mariadb-plugin-columnstore.postrm
vendored
27
debian/mariadb-plugin-columnstore.postrm
vendored
@ -8,22 +8,17 @@ if [ "$1" = "purge" ]; then
|
||||
rm -f /etc/mysql/mariadb.conf.d/columnstore.cnf.rpmsave
|
||||
fi
|
||||
|
||||
running_systemd() {
|
||||
if [ "$(ps --no-headers -o comm 1)" = "systemd" ]; then
|
||||
echo 0
|
||||
else
|
||||
echo 1
|
||||
fi
|
||||
}
|
||||
|
||||
if [ ! -z "$(pgrep -x mysqld)" ];then
|
||||
systemctl cat mariadb.service > /dev/null 2>&1
|
||||
if [ $? -eq 0 ] && [ $(running_systemd) -eq 0 ]; then
|
||||
systemctl restart mariadb.service > /dev/null 2>&1
|
||||
else
|
||||
pkill mysqld > /dev/null 2>&1
|
||||
/usr/bin/mysqld_safe &
|
||||
# Automatically restart MariaDB after ColumnStore plugin has been removed
|
||||
case "$1" in
|
||||
purge|remove|disappear)
|
||||
if [ -d /run/systemd/system ]; then
|
||||
# If systemd
|
||||
deb-systemd-invoke restart mariadb.service >/dev/null
|
||||
elif [ -x "/etc/init.d/mariadb" ]; then
|
||||
# Fall-back to SysV init
|
||||
invoke-rc.d mariadb restart || exit $?
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
#DEBHELPER#
|
||||
|
1
debian/mariadb-plugin-columnstore.prerm
vendored
1
debian/mariadb-plugin-columnstore.prerm
vendored
@ -4,6 +4,5 @@ set -e
|
||||
|
||||
columnstore-pre-uninstall
|
||||
|
||||
exit 0
|
||||
|
||||
#DEBHELPER#
|
||||
|
1
debian/mariadb-plugin-columnstore.triggers
vendored
Normal file
1
debian/mariadb-plugin-columnstore.triggers
vendored
Normal file
@ -0,0 +1 @@
|
||||
activate-noawait ldconfig
|
@ -1,2 +1,2 @@
|
||||
etc/mysql/mariadb.conf.d/cracklib_password_check.cnf
|
||||
etc/mysql/mariadb.conf.d/cracklib_password_check.cnf
|
||||
usr/lib/mysql/plugin/cracklib_password_check.so
|
||||
|
2
debian/mariadb-plugin-gssapi-server.install
vendored
2
debian/mariadb-plugin-gssapi-server.install
vendored
@ -1,2 +1,2 @@
|
||||
etc/mysql/mariadb.conf.d/auth_gssapi.cnf
|
||||
etc/mysql/mariadb.conf.d/auth_gssapi.cnf
|
||||
usr/lib/mysql/plugin/auth_gssapi.so
|
||||
|
@ -1,2 +0,0 @@
|
||||
# Overridden temporarily to get Salsa-CI pass and not stall other dev work with broken pipeline
|
||||
python-script-but-no-python-dep usr/bin/myrocks_hotbackup #!python
|
1
debian/mariadb-plugin-s3.install
vendored
1
debian/mariadb-plugin-s3.install
vendored
@ -1,3 +1,4 @@
|
||||
etc/mysql/mariadb.conf.d/s3.cnf
|
||||
usr/bin/aria_s3_copy
|
||||
usr/lib/mysql/plugin/ha_s3.so
|
||||
usr/share/man/man1/aria_s3_copy.1
|
||||
|
3
debian/mariadb-server-10.6.postrm
vendored
3
debian/mariadb-server-10.6.postrm
vendored
@ -18,9 +18,12 @@ stop_server() {
|
||||
# Return immediately if there are no mysql processes running
|
||||
# as there is no point in trying to shutdown in that case.
|
||||
if ! pgrep -x mariadbd > /dev/null; then return; fi
|
||||
# Compatibility with versions that ran 'mysqld'
|
||||
if ! pgrep -x mysqld > /dev/null; then return; fi
|
||||
|
||||
set +e
|
||||
invoke-rc.d mariadb stop
|
||||
invoke-rc.d mysql stop # Backwards compatibility
|
||||
errno=$?
|
||||
set -e
|
||||
|
||||
|
3
debian/mariadb-server-10.6.preinst
vendored
3
debian/mariadb-server-10.6.preinst
vendored
@ -31,9 +31,12 @@ stop_server() {
|
||||
# Return immediately if there are no mysql processes running
|
||||
# as there is no point in trying to shutdown in that case.
|
||||
if ! pgrep -x --ns $$ mariadbd > /dev/null; then return; fi
|
||||
# Compatibility with versions that ran 'mysqld'
|
||||
if ! pgrep -x --ns $$ mysqld > /dev/null; then return; fi
|
||||
|
||||
set +e
|
||||
invoke-rc.d mariadb stop
|
||||
invoke-rc.d mysql stop # Backwards compatibility
|
||||
errno=$?
|
||||
set -e
|
||||
|
||||
|
9
debian/not-installed
vendored
9
debian/not-installed
vendored
@ -1,12 +1,17 @@
|
||||
etc/columnstore/storagemanager.cnf.example # Copy of etc/columnstore/storagemanager.cnf that is installed
|
||||
lib/systemd/system/mariadb.service # Installed by rules file
|
||||
lib/systemd/system/mariadb@.service # Installed by rules file
|
||||
usr/bin/mysql_config # We already have the MariaDB variant
|
||||
usr/bin/mytop # Mytop is distributed from a separate source package
|
||||
usr/bin/sst_dump # Use the one from rocksdb-tools package
|
||||
usr/lib/sysusers.d/sysusers.conf
|
||||
usr/lib/tmpfiles.d/tmpfiles.conf
|
||||
usr/lib/mysql/plugin/JavaWrappers.jar # These are only built if JNI/libjawt.so is installed from e.g. openjdk-8-jre-headless
|
||||
usr/lib/mysql/plugin/JdbcInterface.jar # These are only built if JNI/libjawt.so is installed from e.g. openjdk-8-jre-headless
|
||||
usr/lib/sysusers.d/sysusers.conf
|
||||
usr/lib/tmpfiles.d/tmpfiles.conf
|
||||
usr/lib/*/libdbbc.a # ColumnStore header file
|
||||
usr/lib/*/libidbboot.a # ColumnStore header file
|
||||
usr/lib/*/libprocessor.a # ColumnStore header file
|
||||
usr/lib/*/libwe_xml.a # ColumnStore header file
|
||||
usr/share/doc/mariadb-server-10.6/COPYING
|
||||
usr/share/doc/mariadb-server-10.6/COPYING.AGPLv3
|
||||
usr/share/doc/mariadb-server-10.6/COPYING.GPLv2
|
||||
|
29
debian/rules
vendored
29
debian/rules
vendored
@ -1,12 +1,10 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
export DH_VERBOSE=1
|
||||
export DEB_BUILD_HARDENING=1
|
||||
|
||||
# enable Debian Hardening
|
||||
# see: https://wiki.debian.org/Hardening
|
||||
# Enable Debian Hardening
|
||||
# https://wiki.debian.org/Hardening
|
||||
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
||||
DPKG_EXPORT_BUILDFLAGS = 1
|
||||
# Include all defaults, including buildflags.mk
|
||||
include /usr/share/dpkg/default.mk
|
||||
# CPPFLAGS are nor read by CMake, so copy them to CXXFLAGS
|
||||
# See why at https://cmake.org/Bug/view.php?id=12928
|
||||
@ -22,6 +20,12 @@ TMP:=$(CURDIR)/debian/tmp
|
||||
CC := $(DEB_HOST_GNU_TYPE)-gcc
|
||||
CXX := $(DEB_HOST_GNU_TYPE)-g++
|
||||
|
||||
# According to Debian Policy version 4.2.0 builds should be as verbose as
|
||||
# possible unless 'terse' is specifically passed.
|
||||
ifeq (,$(filter terse,$(DEB_BUILD_OPTIONS)))
|
||||
export DH_VERBOSE=1
|
||||
endif
|
||||
|
||||
# Parallel build support as advised
|
||||
# at https://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules-options
|
||||
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
|
||||
@ -39,6 +43,17 @@ else
|
||||
TESTSUITE_FAIL_CMD:=exit 1
|
||||
endif
|
||||
|
||||
# RocksDB cannot build on 32-bit platforms
|
||||
ifeq (32,$(DEB_HOST_ARCH_BITS))
|
||||
CMAKEFLAGS += -DWITHOUT_ROCKSDB=true
|
||||
endif
|
||||
|
||||
# ColumnStore only attempts to build on a few platforms as dictated by CMake checks
|
||||
# Also note in debian/control the CS-only build deps marked '[i386 amd64]'
|
||||
ifeq ($(DEB_HOST_ARCH),$(filter $(DEB_HOST_ARCH),amd64 i386))
|
||||
CMAKEFLAGS += -DPLUGIN_COLUMNSTORE=YES
|
||||
endif
|
||||
|
||||
# Add extra flag to avoid WolfSSL code crashing the entire mariadbd on s390x. This
|
||||
# can be removed once upstream has made the code s390x compatible, see
|
||||
# https://jira.mariadb.org/browse/MDEV-21705 and
|
||||
@ -81,11 +96,7 @@ endif
|
||||
-DSYSTEM_TYPE="debian-$(DEB_HOST_GNU_SYSTEM)" \
|
||||
-DCMAKE_SYSTEM_PROCESSOR=$(DEB_HOST_ARCH) \
|
||||
-DBUILD_CONFIG=mysql_release \
|
||||
-DPLUGIN_TOKUDB=NO \
|
||||
-DPLUGIN_COLUMNSTORE=YES \
|
||||
-DPLUGIN_ROCKSDB=YES \
|
||||
-DPLUGIN_AWS_KEY_MANAGEMENT=NO \
|
||||
-WITH_EMBEDDED_SERVER=OFF \
|
||||
-DDEB=$(DEB_VENDOR) ..'
|
||||
|
||||
# This is needed, otherwise 'make test' will run before binaries have been built
|
||||
|
27
debian/salsa-ci.yml
vendored
27
debian/salsa-ci.yml
vendored
@ -33,7 +33,8 @@ build:
|
||||
- export CCACHE_DIR="${CCACHE_TMP_DIR}"
|
||||
- update-ccache-symlinks; ccache -z # Zero out ccache counters
|
||||
- mk-build-deps debian/control -t "apt-get -y -o Debug::pkgProblemResolver=yes --no-install-recommends" -r -i
|
||||
- debian/autobake-deb.sh
|
||||
- while true; do sleep 600; echo "10 minutes passed" >&2; done & # Progress keeper since build is long and silent
|
||||
- debian/autobake-deb.sh |& tail -n 10000 # Keep Gitlab-CI output under 4 MB
|
||||
- cd ..; rm -rfv *.tmp # Clean away build files not to store as artifacts
|
||||
- cp -v *.* ${WORKING_DIR}/
|
||||
- du -shc ${WORKING_DIR}/* # Show total file size of artifacts. Must stay are under 100 MB.
|
||||
@ -72,7 +73,6 @@ autopkgtest:
|
||||
piuparts:
|
||||
extends: .test-piuparts
|
||||
stage: test extras
|
||||
allow_failure: true
|
||||
|
||||
blhc:
|
||||
extends: .test-blhc
|
||||
@ -83,11 +83,9 @@ blhc:
|
||||
|
||||
lintian:
|
||||
extends: .test-lintian
|
||||
allow_failure: true
|
||||
|
||||
missing-breaks:
|
||||
extends: .test-missing-breaks
|
||||
allow_failure: true
|
||||
|
||||
# In addition to Salsa-CI, also run these fully MariaDB specific build jobs
|
||||
|
||||
@ -123,7 +121,6 @@ fresh install:
|
||||
except:
|
||||
variables:
|
||||
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
||||
allow_failure: true
|
||||
|
||||
mariadb-10.3.x to mariadb-10.6.y upgrade:
|
||||
stage: upgrade in Sid
|
||||
@ -164,7 +161,6 @@ mariadb-10.3.x to mariadb-10.6.y upgrade:
|
||||
except:
|
||||
variables:
|
||||
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
||||
allow_failure: true
|
||||
|
||||
mariadb-10.3.x buster to mariadb-10.6 upgrade:
|
||||
stage: upgrade from Buster/Stretch/Jessie
|
||||
@ -209,7 +205,6 @@ mariadb-10.3.x buster to mariadb-10.6 upgrade:
|
||||
except:
|
||||
variables:
|
||||
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
||||
allow_failure: true
|
||||
|
||||
mariadb-10.1 to mariadb-10.6 upgrade:
|
||||
stage: upgrade from Buster/Stretch/Jessie
|
||||
@ -254,7 +249,6 @@ mariadb-10.1 to mariadb-10.6 upgrade:
|
||||
except:
|
||||
variables:
|
||||
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
||||
allow_failure: true
|
||||
|
||||
test basic features:
|
||||
stage: test
|
||||
@ -310,7 +304,6 @@ test basic features:
|
||||
except:
|
||||
variables:
|
||||
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
||||
allow_failure: true
|
||||
|
||||
# Build a piece of software that was designed for libmysqlclient-dev but using the
|
||||
# libmariadb-dev-compat layer. Should always end up using libmariadb.so.3 run-time.
|
||||
@ -334,7 +327,6 @@ build mariadbclient consumer Python-MySQLdb:
|
||||
except:
|
||||
variables:
|
||||
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
||||
allow_failure: true
|
||||
|
||||
libmysql* to libmariadb* upgrade:
|
||||
stage: test extras
|
||||
@ -374,7 +366,6 @@ libmysql* to libmariadb* upgrade:
|
||||
except:
|
||||
variables:
|
||||
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
||||
allow_failure: true
|
||||
|
||||
default-libmysqlclient-dev upgrade:
|
||||
stage: upgrade in Sid
|
||||
@ -401,7 +392,6 @@ default-libmysqlclient-dev upgrade:
|
||||
except:
|
||||
variables:
|
||||
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
||||
allow_failure: true
|
||||
|
||||
default-libmysqlclient-dev on buster upgrade:
|
||||
stage: upgrade from Buster/Stretch/Jessie
|
||||
@ -430,7 +420,6 @@ default-libmysqlclient-dev on buster upgrade:
|
||||
except:
|
||||
variables:
|
||||
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
||||
allow_failure: true
|
||||
|
||||
default-libmysqlclient-dev on stretch upgrade:
|
||||
stage: upgrade from Buster/Stretch/Jessie
|
||||
@ -459,7 +448,6 @@ default-libmysqlclient-dev on stretch upgrade:
|
||||
except:
|
||||
variables:
|
||||
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
||||
allow_failure: true
|
||||
|
||||
mariadb-connector-c on stretch upgrade:
|
||||
stage: upgrade from Buster/Stretch/Jessie
|
||||
@ -488,7 +476,6 @@ mariadb-connector-c on stretch upgrade:
|
||||
except:
|
||||
variables:
|
||||
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
||||
allow_failure: true
|
||||
|
||||
mysql-5.5 to mariadb-10.6 upgrade:
|
||||
stage: upgrade from Buster/Stretch/Jessie
|
||||
@ -533,7 +520,6 @@ mysql-5.5 to mariadb-10.6 upgrade:
|
||||
except:
|
||||
variables:
|
||||
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
||||
allow_failure: true
|
||||
|
||||
# Upgrading from MySQL 5.7 involves automatic renaming of auth_socket plugin
|
||||
# to unix_socket and automaticly re-adding Password column in user table.
|
||||
@ -580,7 +566,6 @@ mysql-5.7 to mariadb-10.6 upgrade:
|
||||
except:
|
||||
variables:
|
||||
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
|
||||
allow_failure: true
|
||||
|
||||
# Upgrading from MySQL 8.0 with datadir in place is not possible. Users need to do a data dump.
|
||||
# The Debian maintainer scripts detect this situation and simply moves old datadir aside and start fresh.
|
||||
@ -647,17 +632,14 @@ mariadb.org-10.5.x to mariadb-10.6 upgrade:
|
||||
- sed -i "s/101/0/g" -i /usr/sbin/policy-rc.d # Enable automatic restarts from maint scripts
|
||||
- cd ${WORKING_DIR} # Don't repeat this step, it's just cd ./debian/output
|
||||
- apt-get update
|
||||
- apt install -y curl systemctl # systemctl shim needed on platforms that don't have systemd
|
||||
- apt install -y curl
|
||||
- curl -sS https://mariadb.org/mariadb_release_signing_key.asc -o /etc/apt/trusted.gpg.d/mariadb.asc
|
||||
- echo 'deb [arch=amd64,i386] http://mirror.one.com/mariadb/repo/10.5/debian sid main' > /etc/apt/sources.list.d/mariadb.list
|
||||
- apt-get update
|
||||
- apt-get install -y mariadb-server-10.5
|
||||
# Verify installation of MySQL from Sid
|
||||
- dpkg -l | grep -iE 'maria|mysql|galera' || true # List installed
|
||||
# MariaDB.org version of 10.4 and early 10.5 do not install an init file, so
|
||||
# it must be installed here manually
|
||||
- cp /usr/share/mysql/mysql.init /etc/init.d/mysql; chmod +x /etc/init.d/mysql; service mysql start; sleep 5
|
||||
- service mysql status
|
||||
- service mariadb status
|
||||
- mysql --skip-column-names -e "SELECT @@version, @@version_comment"
|
||||
- mysql -e "SELECT Host,User,plugin,authentication_string FROM user;" mysql
|
||||
- mysql -e "SELECT * FROM plugin;" mysql
|
||||
@ -667,7 +649,6 @@ mariadb.org-10.5.x to mariadb-10.6 upgrade:
|
||||
# Verify installation of MariaDB built in this commit
|
||||
- dpkg -l | grep -iE 'maria|mysql|galera' || true # List installed
|
||||
- mariadb --version # Client version
|
||||
- service mysql status
|
||||
- service mariadb status
|
||||
- mkdir -p debug # Ensure dir exists before using it
|
||||
- find /var/lib/mysql -ls > debug/var-lib-mysql.list || true # Ignore errors about "no such file or directory"
|
||||
|
2
debian/source/lintian-overrides
vendored
2
debian/source/lintian-overrides
vendored
@ -1,5 +1,3 @@
|
||||
# Upstream fix pending: https://github.com/wolfSSL/wolfssl/pull/2785
|
||||
source-is-missing extra/wolfssl/wolfssl/doc/formats/html/html_changes/menu.js line length is 679 characters (>512)
|
||||
# Necessary for drop-in-place-replacement upgrades on mysql-server/-client
|
||||
# since package breaks/replaces these but at the same time also provides them
|
||||
version-substvar-for-external-package mariadb-client-core-10.6 -> mysql-client-5.5
|
||||
|
@ -66,6 +66,7 @@ const char *empty_string= ""; /* For empty states */
|
||||
*/
|
||||
|
||||
const char *default_language= "eng";
|
||||
my_bool default_language_changed= 0;
|
||||
uint er_offset= 1000;
|
||||
my_bool info_flag= 0;
|
||||
|
||||
@ -440,7 +441,8 @@ static void clean_up(struct languages *lang_head, struct errors *error_head)
|
||||
struct errors *tmp_error, *next_error;
|
||||
uint count, i;
|
||||
|
||||
my_free((void*) default_language);
|
||||
if (default_language_changed)
|
||||
my_free((void*) default_language);
|
||||
|
||||
for (tmp_lang= lang_head; tmp_lang; tmp_lang= next_language)
|
||||
{
|
||||
@ -562,6 +564,7 @@ static uint parse_input_file(const char *file_name, struct errors **top_error,
|
||||
"Failed to parse the default language line. Aborting\n");
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
default_language_changed= 1;
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -244,14 +244,6 @@ static char* innobase_ignored_opt;
|
||||
char* innobase_data_home_dir;
|
||||
char* innobase_data_file_path;
|
||||
|
||||
/* The following counter is used to convey information to InnoDB
|
||||
about server activity: in selects it is not sensible to call
|
||||
srv_active_wake_master_thread after each fetch or search, we only do
|
||||
it every INNOBASE_WAKE_INTERVAL'th step. */
|
||||
|
||||
#define INNOBASE_WAKE_INTERVAL 32
|
||||
ulong innobase_active_counter = 0;
|
||||
|
||||
#ifndef _WIN32
|
||||
static char *xtrabackup_debug_sync = NULL;
|
||||
#endif
|
||||
@ -5384,7 +5376,6 @@ static bool xtrabackup_prepare_func(char** argv)
|
||||
xb_filters_init();
|
||||
|
||||
srv_log_group_home_dir = NULL;
|
||||
srv_thread_concurrency = 1;
|
||||
|
||||
if (xtrabackup_incremental) {
|
||||
srv_operation = SRV_OPERATION_RESTORE_DELTA;
|
||||
|
103
include/ilist.h
103
include/ilist.h
@ -16,7 +16,8 @@
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifndef ILIST_H
|
||||
#define ILIST_H
|
||||
|
||||
#include <cstddef>
|
||||
#include <iterator>
|
||||
@ -24,15 +25,17 @@
|
||||
// Derive your class from this struct to insert to a linked list.
|
||||
template <class Tag= void> struct ilist_node
|
||||
{
|
||||
ilist_node()
|
||||
ilist_node() noexcept
|
||||
#ifndef DBUG_OFF
|
||||
:
|
||||
next(NULL), prev(NULL)
|
||||
: next(NULL), prev(NULL)
|
||||
#endif
|
||||
{
|
||||
}
|
||||
|
||||
ilist_node(ilist_node *next, ilist_node *prev) : next(next), prev(prev) {}
|
||||
ilist_node(ilist_node *next, ilist_node *prev) noexcept
|
||||
: next(next), prev(prev)
|
||||
{
|
||||
}
|
||||
|
||||
ilist_node *next;
|
||||
ilist_node *prev;
|
||||
@ -70,40 +73,40 @@ public:
|
||||
typedef T *pointer;
|
||||
typedef T &reference;
|
||||
|
||||
Iterator(ListNode *node) : node_(node) {}
|
||||
Iterator(ListNode *node) noexcept : node_(node) {}
|
||||
|
||||
Iterator &operator++()
|
||||
Iterator &operator++() noexcept
|
||||
{
|
||||
node_= node_->next;
|
||||
return *this;
|
||||
}
|
||||
Iterator operator++(int)
|
||||
Iterator operator++(int) noexcept
|
||||
{
|
||||
Iterator tmp(*this);
|
||||
operator++();
|
||||
return tmp;
|
||||
}
|
||||
|
||||
Iterator &operator--()
|
||||
Iterator &operator--() noexcept
|
||||
{
|
||||
node_= node_->prev;
|
||||
return *this;
|
||||
}
|
||||
Iterator operator--(int)
|
||||
Iterator operator--(int) noexcept
|
||||
{
|
||||
Iterator tmp(*this);
|
||||
operator--();
|
||||
return tmp;
|
||||
}
|
||||
|
||||
reference operator*() { return *static_cast<pointer>(node_); }
|
||||
pointer operator->() { return static_cast<pointer>(node_); }
|
||||
reference operator*() noexcept { return *static_cast<pointer>(node_); }
|
||||
pointer operator->() noexcept { return static_cast<pointer>(node_); }
|
||||
|
||||
friend bool operator==(const Iterator &lhs, const Iterator &rhs)
|
||||
friend bool operator==(const Iterator &lhs, const Iterator &rhs) noexcept
|
||||
{
|
||||
return lhs.node_ == rhs.node_;
|
||||
}
|
||||
friend bool operator!=(const Iterator &lhs, const Iterator &rhs)
|
||||
friend bool operator!=(const Iterator &lhs, const Iterator &rhs) noexcept
|
||||
{
|
||||
return !(lhs == rhs);
|
||||
}
|
||||
@ -114,30 +117,36 @@ public:
|
||||
friend class ilist;
|
||||
};
|
||||
|
||||
ilist() : sentinel_(&sentinel_, &sentinel_) {}
|
||||
ilist() noexcept : sentinel_(&sentinel_, &sentinel_) {}
|
||||
|
||||
reference front() { return *begin(); }
|
||||
reference back() { return *--end(); }
|
||||
const_reference front() const { return *begin(); }
|
||||
const_reference back() const { return *--end(); }
|
||||
reference front() noexcept { return *begin(); }
|
||||
reference back() noexcept { return *--end(); }
|
||||
const_reference front() const noexcept { return *begin(); }
|
||||
const_reference back() const noexcept { return *--end(); }
|
||||
|
||||
iterator begin() { return iterator(sentinel_.next); }
|
||||
const_iterator begin() const
|
||||
iterator begin() noexcept { return iterator(sentinel_.next); }
|
||||
const_iterator begin() const noexcept
|
||||
{
|
||||
return iterator(const_cast<ListNode *>(sentinel_.next));
|
||||
}
|
||||
iterator end() { return iterator(&sentinel_); }
|
||||
const_iterator end() const
|
||||
iterator end() noexcept { return iterator(&sentinel_); }
|
||||
const_iterator end() const noexcept
|
||||
{
|
||||
return iterator(const_cast<ListNode *>(&sentinel_));
|
||||
}
|
||||
|
||||
reverse_iterator rbegin() { return reverse_iterator(end()); }
|
||||
const_reverse_iterator rbegin() const { return reverse_iterator(end()); }
|
||||
reverse_iterator rend() { return reverse_iterator(begin()); }
|
||||
const_reverse_iterator rend() const { return reverse_iterator(begin()); }
|
||||
reverse_iterator rbegin() noexcept { return reverse_iterator(end()); }
|
||||
const_reverse_iterator rbegin() const noexcept
|
||||
{
|
||||
return reverse_iterator(end());
|
||||
}
|
||||
reverse_iterator rend() noexcept { return reverse_iterator(begin()); }
|
||||
const_reverse_iterator rend() const noexcept
|
||||
{
|
||||
return reverse_iterator(begin());
|
||||
}
|
||||
|
||||
bool empty() const { return sentinel_.next == &sentinel_; }
|
||||
bool empty() const noexcept { return sentinel_.next == &sentinel_; }
|
||||
|
||||
// Not implemented because it's O(N)
|
||||
// size_type size() const
|
||||
@ -145,13 +154,13 @@ public:
|
||||
// return static_cast<size_type>(std::distance(begin(), end()));
|
||||
// }
|
||||
|
||||
void clear()
|
||||
void clear() noexcept
|
||||
{
|
||||
sentinel_.next= &sentinel_;
|
||||
sentinel_.prev= &sentinel_;
|
||||
}
|
||||
|
||||
iterator insert(iterator pos, reference value)
|
||||
iterator insert(iterator pos, reference value) noexcept
|
||||
{
|
||||
ListNode *curr= pos.node_;
|
||||
ListNode *prev= pos.node_->prev;
|
||||
@ -165,7 +174,7 @@ public:
|
||||
return iterator(&value);
|
||||
}
|
||||
|
||||
iterator erase(iterator pos)
|
||||
iterator erase(iterator pos) noexcept
|
||||
{
|
||||
ListNode *prev= pos.node_->prev;
|
||||
ListNode *next= pos.node_->next;
|
||||
@ -182,15 +191,15 @@ public:
|
||||
return next;
|
||||
}
|
||||
|
||||
void push_back(reference value) { insert(end(), value); }
|
||||
void pop_back() { erase(end()); }
|
||||
void push_back(reference value) noexcept { insert(end(), value); }
|
||||
void pop_back() noexcept { erase(end()); }
|
||||
|
||||
void push_front(reference value) { insert(begin(), value); }
|
||||
void pop_front() { erase(begin()); }
|
||||
void push_front(reference value) noexcept { insert(begin(), value); }
|
||||
void pop_front() noexcept { erase(begin()); }
|
||||
|
||||
// STL version is O(n) but this is O(1) because an element can't be inserted
|
||||
// several times in the same ilist.
|
||||
void remove(reference value) { erase(iterator(&value)); }
|
||||
void remove(reference value) noexcept { erase(iterator(&value)); }
|
||||
|
||||
private:
|
||||
ListNode sentinel_;
|
||||
@ -216,36 +225,38 @@ public:
|
||||
typedef std::reverse_iterator<iterator> reverse_iterator;
|
||||
typedef std::reverse_iterator<const iterator> const_reverse_iterator;
|
||||
|
||||
sized_ilist() : size_(0) {}
|
||||
sized_ilist() noexcept : size_(0) {}
|
||||
|
||||
size_type size() const { return size_; }
|
||||
size_type size() const noexcept { return size_; }
|
||||
|
||||
void clear()
|
||||
void clear() noexcept
|
||||
{
|
||||
BASE::clear();
|
||||
size_= 0;
|
||||
}
|
||||
|
||||
iterator insert(iterator pos, reference value)
|
||||
iterator insert(iterator pos, reference value) noexcept
|
||||
{
|
||||
++size_;
|
||||
return BASE::insert(pos, value);
|
||||
}
|
||||
|
||||
iterator erase(iterator pos)
|
||||
iterator erase(iterator pos) noexcept
|
||||
{
|
||||
--size_;
|
||||
return BASE::erase(pos);
|
||||
}
|
||||
|
||||
void push_back(reference value) { insert(BASE::end(), value); }
|
||||
void pop_back() { erase(BASE::end()); }
|
||||
void push_back(reference value) noexcept { insert(BASE::end(), value); }
|
||||
void pop_back() noexcept { erase(BASE::end()); }
|
||||
|
||||
void push_front(reference value) { insert(BASE::begin(), value); }
|
||||
void pop_front() { erase(BASE::begin()); }
|
||||
void push_front(reference value) noexcept { insert(BASE::begin(), value); }
|
||||
void pop_front() noexcept { erase(BASE::begin()); }
|
||||
|
||||
void remove(reference value) { erase(iterator(&value)); }
|
||||
void remove(reference value) noexcept { erase(iterator(&value)); }
|
||||
|
||||
private:
|
||||
size_type size_;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -226,9 +226,14 @@ extern MY_UNI_CTYPE my_uni_ctype[256];
|
||||
#define MY_CHARSET_UNDEFINED 0
|
||||
|
||||
/* Character repertoire flags */
|
||||
#define MY_REPERTOIRE_ASCII 1 /* Pure ASCII U+0000..U+007F */
|
||||
#define MY_REPERTOIRE_EXTENDED 2 /* Extended characters: U+0080..U+FFFF */
|
||||
#define MY_REPERTOIRE_UNICODE30 3 /* ASCII | EXTENDED: U+0000..U+FFFF */
|
||||
typedef enum enum_repertoire_t
|
||||
{
|
||||
MY_REPERTOIRE_NONE= 0,
|
||||
MY_REPERTOIRE_ASCII= 1, /* Pure ASCII U+0000..U+007F */
|
||||
MY_REPERTOIRE_EXTENDED= 2, /* Extended characters: U+0080..U+FFFF */
|
||||
MY_REPERTOIRE_UNICODE30= 3 /* ASCII | EXTENDED: U+0000..U+FFFF */
|
||||
} my_repertoire_t;
|
||||
|
||||
|
||||
/* Flags for strxfrm */
|
||||
#define MY_STRXFRM_LEVEL1 0x00000001 /* for primary weights */
|
||||
@ -1420,14 +1425,15 @@ my_bool my_propagate_complex(CHARSET_INFO *cs, const uchar *str, size_t len);
|
||||
typedef struct
|
||||
{
|
||||
size_t char_length;
|
||||
uint repertoire;
|
||||
my_repertoire_t repertoire;
|
||||
} MY_STRING_METADATA;
|
||||
|
||||
void my_string_metadata_get(MY_STRING_METADATA *metadata,
|
||||
CHARSET_INFO *cs, const char *str, size_t len);
|
||||
uint my_string_repertoire(CHARSET_INFO *cs, const char *str, size_t len);
|
||||
my_repertoire_t my_string_repertoire(CHARSET_INFO *cs,
|
||||
const char *str, size_t len);
|
||||
my_bool my_charset_is_ascii_based(CHARSET_INFO *cs);
|
||||
uint my_charset_repertoire(CHARSET_INFO *cs);
|
||||
my_repertoire_t my_charset_repertoire(CHARSET_INFO *cs);
|
||||
|
||||
uint my_strxfrm_flag_normalize(uint flags, uint nlevels);
|
||||
void my_strxfrm_desc_and_reverse(uchar *str, uchar *strend,
|
||||
|
@ -796,6 +796,8 @@ inline unsigned long long my_double2ulonglong(double d)
|
||||
#define LONGLONG_MIN ((long long) 0x8000000000000000LL)
|
||||
#define LONGLONG_MAX ((long long) 0x7FFFFFFFFFFFFFFFLL)
|
||||
#endif
|
||||
/* Max length needed for a buffer to hold a longlong or ulonglong + end \0 */
|
||||
#define LONGLONG_BUFFER_SIZE 21
|
||||
|
||||
#if defined(HAVE_LONG_LONG) && !defined(ULONGLONG_MAX)
|
||||
/* First check for ANSI C99 definition: */
|
||||
|
@ -77,7 +77,7 @@ C_MODE_START
|
||||
/**
|
||||
A cycle timer.
|
||||
|
||||
On clang, we use __builtin_readcyclecounter().
|
||||
On clang we use __builtin_readcyclecounter(), except for AARCH64.
|
||||
On other compilers:
|
||||
|
||||
On IA-32 and AMD64, we use the RDTSC instruction.
|
||||
@ -88,6 +88,9 @@ C_MODE_START
|
||||
On IBM S/390 System z we use the STCK instruction.
|
||||
On ARM, we probably should use the Generic Timer, but should figure out
|
||||
how to ensure that it can be accessed.
|
||||
On AARCH64, we use the generic timer base register. We override clang
|
||||
implementation for aarch64 as it access a PMU register which is not
|
||||
guarenteed to be active.
|
||||
|
||||
Sadly, we have nothing for the Digital Alpha, MIPS, Motorola m68k,
|
||||
HP PA-RISC or other non-mainstream (or obsolete) processors.
|
||||
@ -125,7 +128,7 @@ C_MODE_START
|
||||
*/
|
||||
static inline ulonglong my_timer_cycles(void)
|
||||
{
|
||||
# if __has_builtin(__builtin_readcyclecounter)
|
||||
# if __has_builtin(__builtin_readcyclecounter) && !defined (__aarch64__)
|
||||
return __builtin_readcyclecounter();
|
||||
# elif defined _WIN32 || defined __i386__ || defined __x86_64__
|
||||
return __rdtsc();
|
||||
@ -164,6 +167,12 @@ static inline ulonglong my_timer_cycles(void)
|
||||
__asm__ __volatile__ ("stck %0" : "=Q" (result) : : "cc");
|
||||
return result;
|
||||
}
|
||||
#elif defined(__GNUC__) && defined (__aarch64__)
|
||||
{
|
||||
ulonglong result;
|
||||
__asm __volatile("mrs %0, CNTVCT_EL0" : "=&r" (result));
|
||||
return result;
|
||||
}
|
||||
#elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME)
|
||||
/* gethrtime may appear as either cycle or nanosecond counter */
|
||||
return (ulonglong) gethrtime();
|
||||
@ -221,6 +230,7 @@ C_MODE_END
|
||||
#define MY_TIMER_ROUTINE_MACH_ABSOLUTE_TIME 25
|
||||
#define MY_TIMER_ROUTINE_GETSYSTEMTIMEASFILETIME 26
|
||||
#define MY_TIMER_ROUTINE_ASM_S390 28
|
||||
#define MY_TIMER_ROUTINE_AARCH64 29
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -915,6 +915,9 @@ extern MYSQL_PLUGIN_IMPORT my_crc32_t my_checksum;
|
||||
|
||||
#if defined(__GNUC__) && defined(HAVE_ARMV8_CRC)
|
||||
int crc32_aarch64_available(void);
|
||||
#if defined(HAVE_ARMV8_CRYPTO)
|
||||
int crc32c_aarch64_available(void);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef DBUG_ASSERT_EXISTS
|
||||
@ -1053,9 +1056,13 @@ extern my_bool resolve_collation(const char *cl_name,
|
||||
CHARSET_INFO **cl);
|
||||
extern void free_charsets(void);
|
||||
extern char *get_charsets_dir(char *buf);
|
||||
extern my_bool my_charset_same(CHARSET_INFO *cs1, CHARSET_INFO *cs2);
|
||||
static inline my_bool my_charset_same(CHARSET_INFO *cs1, CHARSET_INFO *cs2)
|
||||
{
|
||||
return (cs1->csname == cs2->csname);
|
||||
}
|
||||
extern my_bool init_compiled_charsets(myf flags);
|
||||
extern void add_compiled_collation(struct charset_info_st *cs);
|
||||
extern void add_compiled_extra_collation(struct charset_info_st *cs);
|
||||
extern size_t escape_string_for_mysql(CHARSET_INFO *charset_info,
|
||||
char *to, size_t to_length,
|
||||
const char *from, size_t length);
|
||||
|
@ -233,9 +233,16 @@ static inline long my_time_fraction_remainder(long nr, uint decimals)
|
||||
DBUG_ASSERT(decimals <= TIME_SECOND_PART_DIGITS);
|
||||
return nr % (long) log_10_int[TIME_SECOND_PART_DIGITS - decimals];
|
||||
}
|
||||
static inline void my_datetime_trunc(MYSQL_TIME *ltime, uint decimals)
|
||||
{
|
||||
ltime->second_part-= my_time_fraction_remainder(ltime->second_part, decimals);
|
||||
}
|
||||
static inline void my_time_trunc(MYSQL_TIME *ltime, uint decimals)
|
||||
{
|
||||
ltime->second_part-= my_time_fraction_remainder(ltime->second_part, decimals);
|
||||
if (!ltime->second_part && ltime->neg &&
|
||||
!ltime->hour && !ltime->minute && !ltime->second)
|
||||
ltime->neg= FALSE;
|
||||
}
|
||||
static inline void my_timeval_trunc(struct timeval *tv, uint decimals)
|
||||
{
|
||||
|
@ -1135,10 +1135,14 @@ inline_mysql_socket_accept
|
||||
#else
|
||||
socket_accept.fd= accept(socket_listen.fd, addr, addr_len);
|
||||
#ifdef FD_CLOEXEC
|
||||
flags= fcntl(socket_accept.fd, F_GETFD);
|
||||
if (flags != -1) {
|
||||
flags |= FD_CLOEXEC;
|
||||
fcntl(socket_accept.fd, F_SETFD, flags);
|
||||
if (socket_accept.fd != INVALID_SOCKET)
|
||||
{
|
||||
flags= fcntl(socket_accept.fd, F_GETFD);
|
||||
if (flags != -1)
|
||||
{
|
||||
flags |= FD_CLOEXEC;
|
||||
fcntl(socket_accept.fd, F_SETFD, flags);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
@ -1156,10 +1160,14 @@ inline_mysql_socket_accept
|
||||
#else
|
||||
socket_accept.fd= accept(socket_listen.fd, addr, addr_len);
|
||||
#ifdef FD_CLOEXEC
|
||||
flags= fcntl(socket_accept.fd, F_GETFD);
|
||||
if (flags != -1) {
|
||||
flags |= FD_CLOEXEC;
|
||||
fcntl(socket_accept.fd, F_SETFD, flags);
|
||||
if (socket_accept.fd != INVALID_SOCKET)
|
||||
{
|
||||
flags= fcntl(socket_accept.fd, F_GETFD);
|
||||
if (flags != -1)
|
||||
{
|
||||
flags |= FD_CLOEXEC;
|
||||
fcntl(socket_accept.fd, F_SETFD, flags);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
@ -87,6 +87,7 @@ extern struct wsrep_service_st {
|
||||
ulong (*wsrep_OSU_method_get_func)(const MYSQL_THD thd);
|
||||
my_bool (*wsrep_thd_has_ignored_error_func)(const MYSQL_THD thd);
|
||||
void (*wsrep_thd_set_ignored_error_func)(MYSQL_THD thd, my_bool val);
|
||||
bool (*wsrep_thd_set_wsrep_aborter_func)(MYSQL_THD bf_thd, MYSQL_THD thd);
|
||||
} *wsrep_service;
|
||||
|
||||
#define MYSQL_SERVICE_WSREP_INCLUDED
|
||||
@ -130,6 +131,7 @@ extern struct wsrep_service_st {
|
||||
#define wsrep_OSU_method_get(T) wsrep_service->wsrep_OSU_method_get_func(T)
|
||||
#define wsrep_thd_has_ignored_error(T) wsrep_service->wsrep_thd_has_ignored_error_func(T)
|
||||
#define wsrep_thd_set_ignored_error(T,V) wsrep_service->wsrep_thd_set_ignored_error_func(T,V)
|
||||
#define wsrep_thd_set_wsrep_aborter(T) wsrep_service->wsrep_thd_set_wsrep_aborter_func(T1, T2)
|
||||
#else
|
||||
|
||||
#define MYSQL_SERVICE_WSREP_STATIC_INCLUDED
|
||||
@ -181,6 +183,8 @@ extern "C" my_bool wsrep_thd_is_local(const MYSQL_THD thd);
|
||||
/* Return true if thd is in high priority mode */
|
||||
/* todo: rename to is_high_priority() */
|
||||
extern "C" my_bool wsrep_thd_is_applying(const MYSQL_THD thd);
|
||||
/* set wsrep_aborter for the target THD */
|
||||
extern "C" bool wsrep_thd_set_wsrep_aborter(MYSQL_THD bf_thd, MYSQL_THD victim_thd);
|
||||
/* Return true if thd is in TOI mode */
|
||||
extern "C" my_bool wsrep_thd_is_toi(const MYSQL_THD thd);
|
||||
/* Return true if thd is in replicating TOI mode */
|
||||
@ -224,5 +228,6 @@ extern "C" my_bool wsrep_thd_is_applying(const MYSQL_THD thd);
|
||||
extern "C" ulong wsrep_OSU_method_get(const MYSQL_THD thd);
|
||||
extern "C" my_bool wsrep_thd_has_ignored_error(const MYSQL_THD thd);
|
||||
extern "C" void wsrep_thd_set_ignored_error(MYSQL_THD thd, my_bool val);
|
||||
extern "C" bool wsrep_thd_set_wsrep_aborter(MYSQL_THD bf_thd, MYSQL_THD victim_thd);
|
||||
#endif
|
||||
#endif /* MYSQL_SERVICE_WSREP_INCLUDED */
|
||||
|
@ -72,7 +72,8 @@ extern const char *globerrs[]; /* my_error_messages is here */
|
||||
#define EE_BADMEMORYRELEASE 36
|
||||
#define EE_PERM_LOCK_MEMORY 37
|
||||
#define EE_MEMCNTL 38
|
||||
#define EE_ERROR_LAST 38 /* Copy last error nr */
|
||||
#define EE_DUPLICATE_CHARSET 39
|
||||
#define EE_ERROR_LAST 39 /* Copy last error nr */
|
||||
|
||||
/* Add error numbers before EE_ERROR_LAST and change it accordingly. */
|
||||
|
||||
|
@ -112,9 +112,7 @@ my_bool vio_peer_addr(Vio *vio, char *buf, uint16 *port, size_t buflen);
|
||||
/* Wait for an I/O event notification. */
|
||||
int vio_io_wait(Vio *vio, enum enum_vio_io_event event, int timeout);
|
||||
my_bool vio_is_connected(Vio *vio);
|
||||
#ifndef DBUG_OFF
|
||||
ssize_t vio_pending(Vio *vio);
|
||||
#endif
|
||||
/* Set timeout for a network operation. */
|
||||
extern int vio_timeout(Vio *vio, uint which, int timeout_sec);
|
||||
extern void vio_set_wait_callback(void (*before_wait)(void),
|
||||
|
@ -15,6 +15,7 @@
|
||||
|
||||
SET(MAN1_SERVER innochecksum.1 my_print_defaults.1 myisam_ftdump.1 myisamchk.1
|
||||
aria_chk.1 aria_dump_log.1 aria_ftdump.1 aria_pack.1 aria_read_log.1
|
||||
aria_s3_copy.1
|
||||
myisamlog.1 myisampack.1 mysql.server.1 mariadb-conv.1
|
||||
mysql_convert_table_format.1 mysql_fix_extensions.1
|
||||
mysql_install_db.1
|
||||
|
52
man/aria_s3_copy.1
Normal file
52
man/aria_s3_copy.1
Normal file
@ -0,0 +1,52 @@
|
||||
.TH ARIA_S3_COPY "1" "June 2020" "aria_s3_copy Ver 1.0" "User Commands"
|
||||
.SH NAME
|
||||
aria_s3_copy \- Copy an Aria table to and from s3
|
||||
.SH DESCRIPTION
|
||||
Usage: aria_s3_copy \-\-aws\-access\-key=# \-\-aws\-secret\-access\-key=# \-\-aws\-region=# \-\-op=(from_s3 | to_s3 | delete_from_s3) [OPTIONS] tables[.MAI]
|
||||
.TP
|
||||
\fB\-?\fR, \fB\-h\fR, \fB\-\-help\fR
|
||||
Display help and exit.
|
||||
.TP
|
||||
\fB\-k\fR, \fB\-\-s3\-access\-key=name\fR
|
||||
AWS access key ID
|
||||
.TP
|
||||
\fB\-r\fR, \fB\-s3\-region=name\fR
|
||||
AWS region
|
||||
.TP
|
||||
\fB\-K\fR, \fB\-s3\-secret\-key=name\fR
|
||||
AWS secret access key ID
|
||||
.TP
|
||||
\fB\-b\fR, \fB\-s3\-bucket=name\fR
|
||||
AWS prefix for tables
|
||||
.TP
|
||||
\fB\-h\fR, \fB\-s3\-host\-name=name\fR
|
||||
Host name to S3 provider
|
||||
.TP
|
||||
\fB\-c\fR, \fB\-compress\fR
|
||||
Use compression
|
||||
.TP
|
||||
\fB\-o\fR, \fB\-op=name\fR
|
||||
Operation to execute. One of 'from_s3', 'to_s3' or 'delete_from_s3'
|
||||
.TP
|
||||
\fB\-d\fR, \fB\-database=name\fR
|
||||
Database for copied table (second prefix). If not given, the directory of the table file is used
|
||||
.TP
|
||||
\fB\-B\fR, \fB\-s3\-block\-size=#\fR
|
||||
Block size for data/index blocks in s3
|
||||
.TP
|
||||
\fB\-L\fR, \fB\-s3\-protocol\-version=name\fR
|
||||
Protocol used to communication with S3. One of "Auto", "Amazon" or "Original".
|
||||
.TP
|
||||
\fB\-f\fR, \fB\-force\fR
|
||||
Force copy even if target exists
|
||||
.TP
|
||||
\fB\-V\fR, \fB\-version\fR
|
||||
Print version and exit.
|
||||
.TP
|
||||
\fB\-\-s3\-debug\fR
|
||||
Output debug log from marias3 to stdout
|
||||
.TP
|
||||
\fB\-v\fR, \fB\-\-verbose\fR
|
||||
Be verbose.
|
||||
.PP
|
||||
For more information, please refer to the MariaDB Knowledge Base page https://mariadb.com/kb/en/aria_s3_copy/
|
@ -80,7 +80,7 @@ while (<F>) {
|
||||
s/table id \d+/table id #/;
|
||||
s/mapped to number \d+/mapped to number #/;
|
||||
s/CRC32 0x[0-9a-f]+/CRC32 0x########/;
|
||||
print if /\b(GTID|BEGIN|COMMIT|Table_map|Write_rows|Update_rows|Delete_rows|generated by server|40005 TEMPORARY)\b/;
|
||||
print if /\b(GTID|START TRANSACTION|COMMIT|Table_map|Write_rows|Update_rows|Delete_rows|generated by server|40005 TEMPORARY)\b/;
|
||||
}
|
||||
close F;
|
||||
EOF
|
||||
|
@ -1183,10 +1183,6 @@ set @my_innodb_autoextend_increment=@@global.innodb_autoextend_increment;
|
||||
set global innodb_autoextend_increment=8;
|
||||
set global innodb_autoextend_increment=@my_innodb_autoextend_increment;
|
||||
|
||||
set @my_innodb_commit_concurrency=@@global.innodb_commit_concurrency;
|
||||
set global innodb_commit_concurrency=0;
|
||||
set global innodb_commit_concurrency=@my_innodb_commit_concurrency;
|
||||
|
||||
#
|
||||
# Bug #37830: ORDER BY ASC/DESC - no difference
|
||||
#
|
||||
|
@ -52,3 +52,20 @@ body
|
||||
DROP FUNCTION IF EXISTS f1;
|
||||
Warnings:
|
||||
Note 1305 FUNCTION test.f1 does not exist
|
||||
#
|
||||
# 10.1 Test
|
||||
#
|
||||
# MDEV-22654: Assertion `!is_set() || (m_status == DA_OK_BULK &&
|
||||
# is_bulk_op())' failed in Diagnostics_area::set_ok_status on FUNCTION replace
|
||||
#
|
||||
SET GLOBAL log_bin_trust_function_creators=0;
|
||||
CREATE FUNCTION f(c INT) RETURNS NUMERIC NO SQL RETURN 0;
|
||||
CREATE OR REPLACE FUNCTION f(c INT) RETURNS INT RETURN 0;
|
||||
ERROR HY000: This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
|
||||
CREATE OR REPLACE FUNCTION sp1_thisisaveryverylongnamelongnameverylongname_thisisaveryverylongname234872934(a INT) RETURNS INT RETURN 0;
|
||||
ERROR 42000: Identifier name 'sp1_thisisaveryverylongnamelongnameverylongname_thisisaveryverylongname234872934' is too long
|
||||
DROP FUNCTION IF EXISTS f;
|
||||
Warnings:
|
||||
Note 1305 FUNCTION test.f does not exist
|
||||
SET GLOBAL log_bin_trust_function_creators=1;
|
||||
# End of 10.1 Test
|
||||
|
@ -1,3 +1,5 @@
|
||||
source include/have_log_bin.inc;
|
||||
|
||||
SET timestamp=UNIX_TIMESTAMP('2014-09-30 08:00:00');
|
||||
|
||||
CREATE FUNCTION f1(str char(20))
|
||||
@ -39,3 +41,25 @@ DROP FUNCTION IF EXISTS f1;
|
||||
SELECT body FROM mysql.proc WHERE name like 'f1';
|
||||
DROP FUNCTION IF EXISTS f1;
|
||||
|
||||
--echo #
|
||||
--echo # 10.1 Test
|
||||
--echo #
|
||||
--echo # MDEV-22654: Assertion `!is_set() || (m_status == DA_OK_BULK &&
|
||||
--echo # is_bulk_op())' failed in Diagnostics_area::set_ok_status on FUNCTION replace
|
||||
--echo #
|
||||
|
||||
SET GLOBAL log_bin_trust_function_creators=0;
|
||||
|
||||
CREATE FUNCTION f(c INT) RETURNS NUMERIC NO SQL RETURN 0;
|
||||
|
||||
--error ER_BINLOG_UNSAFE_ROUTINE
|
||||
CREATE OR REPLACE FUNCTION f(c INT) RETURNS INT RETURN 0;
|
||||
|
||||
--error ER_TOO_LONG_IDENT
|
||||
CREATE OR REPLACE FUNCTION sp1_thisisaveryverylongnamelongnameverylongname_thisisaveryverylongname234872934(a INT) RETURNS INT RETURN 0;
|
||||
|
||||
DROP FUNCTION IF EXISTS f;
|
||||
|
||||
SET GLOBAL log_bin_trust_function_creators=1;
|
||||
|
||||
--echo # End of 10.1 Test
|
||||
|
@ -447,7 +447,7 @@ Bug#46448 trailing spaces are not ignored when user collation maps space != 0x20
|
||||
set names latin1;
|
||||
show collation like 'latin1_test';
|
||||
Collation Charset Id Default Compiled Sortlen
|
||||
latin1_test latin1 99 Yes 1
|
||||
latin1_test latin1 331 1
|
||||
select "foo" = "foo " collate latin1_test;
|
||||
"foo" = "foo " collate latin1_test
|
||||
1
|
||||
@ -466,6 +466,7 @@ utf8mb4_test_ci utf8mb4 326 8
|
||||
utf16_test_ci utf16 327 8
|
||||
utf8mb4_test_400_ci utf8mb4 328 8
|
||||
utf8mb4_test_520_nopad_ci utf8mb4 329 8
|
||||
latin1_test latin1 331 1
|
||||
latin1_test2 latin1 332 1
|
||||
latin1_test2_cs latin1 333 1
|
||||
latin1_swedish_nopad2_ci latin1 334 1
|
||||
@ -490,7 +491,7 @@ utf32_test_ci utf32 391 8
|
||||
utf8_maxuserid_ci utf8 2047 8
|
||||
show collation like '%test%';
|
||||
Collation Charset Id Default Compiled Sortlen
|
||||
latin1_test latin1 99 Yes 1
|
||||
latin1_test latin1 331 1
|
||||
latin1_test2 latin1 332 1
|
||||
latin1_test2_cs latin1 333 1
|
||||
utf8_test_ci utf8 353 8
|
||||
@ -3034,3 +3035,10 @@ SELECT 'chž'< 'i';
|
||||
1
|
||||
SELECT 'a' COLLATE utf8_czech_test_bad_w2;
|
||||
ERROR HY000: Unknown collation: 'utf8_czech_test_bad_w2'
|
||||
#
|
||||
# MDEV-7947 my_charset_same: strcmp() takes 0.37% in OLTP RO
|
||||
#
|
||||
SHOW COLLATION LIKE 'latin1_test_replace';
|
||||
Collation Charset Id Default Compiled Sortlen
|
||||
SELECT 'foo' = 'foo ' COLLATE latin1_test_replace;
|
||||
ERROR HY000: Unknown collation: 'latin1_test_replace'
|
||||
|
@ -3,6 +3,10 @@
|
||||
--source include/have_utf16.inc
|
||||
--source include/have_utf32.inc
|
||||
|
||||
--disable_query_log
|
||||
call mtr.add_suppression("Charset id.*trying to replace");
|
||||
--enable_query_log
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
@ -602,3 +606,12 @@ SELECT 'chž'< 'i';
|
||||
|
||||
--error ER_UNKNOWN_COLLATION
|
||||
SELECT 'a' COLLATE utf8_czech_test_bad_w2;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-7947 my_charset_same: strcmp() takes 0.37% in OLTP RO
|
||||
--echo #
|
||||
|
||||
SHOW COLLATION LIKE 'latin1_test_replace';
|
||||
--error ER_UNKNOWN_COLLATION
|
||||
SELECT 'foo' = 'foo ' COLLATE latin1_test_replace;
|
||||
|
@ -2619,7 +2619,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(3) DEFAULT NULL
|
||||
`c1` varchar(2) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(4));
|
||||
@ -2664,7 +2664,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(5) DEFAULT NULL
|
||||
`c1` varchar(3) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(7));
|
||||
@ -2709,7 +2709,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(6) DEFAULT NULL
|
||||
`c1` varchar(5) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(10));
|
||||
@ -2754,7 +2754,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(7) DEFAULT NULL
|
||||
`c1` varchar(6) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(13));
|
||||
@ -2769,7 +2769,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(7) DEFAULT NULL
|
||||
`c1` varchar(6) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(14));
|
||||
@ -2799,7 +2799,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(9) DEFAULT NULL
|
||||
`c1` varchar(7) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(16));
|
||||
@ -2814,7 +2814,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(9) DEFAULT NULL
|
||||
`c1` varchar(7) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(17));
|
||||
@ -2844,7 +2844,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(10) DEFAULT NULL
|
||||
`c1` varchar(9) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(19));
|
||||
@ -2859,7 +2859,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(10) DEFAULT NULL
|
||||
`c1` varchar(9) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(20));
|
||||
@ -2889,7 +2889,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(11) DEFAULT NULL
|
||||
`c1` varchar(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(22));
|
||||
@ -2904,7 +2904,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(11) DEFAULT NULL
|
||||
`c1` varchar(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(23));
|
||||
@ -2919,7 +2919,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(11) DEFAULT NULL
|
||||
`c1` varchar(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(24));
|
||||
@ -2934,7 +2934,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(13) DEFAULT NULL
|
||||
`c1` varchar(11) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(25));
|
||||
@ -2949,7 +2949,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(13) DEFAULT NULL
|
||||
`c1` varchar(11) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(26));
|
||||
@ -2964,7 +2964,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(13) DEFAULT NULL
|
||||
`c1` varchar(11) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(27));
|
||||
@ -2979,7 +2979,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(14) DEFAULT NULL
|
||||
`c1` varchar(13) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(28));
|
||||
@ -2994,7 +2994,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(14) DEFAULT NULL
|
||||
`c1` varchar(13) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(29));
|
||||
@ -3009,7 +3009,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(14) DEFAULT NULL
|
||||
`c1` varchar(13) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(30));
|
||||
@ -3024,7 +3024,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(15) DEFAULT NULL
|
||||
`c1` varchar(14) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(31));
|
||||
@ -3039,7 +3039,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(15) DEFAULT NULL
|
||||
`c1` varchar(14) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(32));
|
||||
@ -3054,7 +3054,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(15) DEFAULT NULL
|
||||
`c1` varchar(14) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(33));
|
||||
@ -3069,7 +3069,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(17) DEFAULT NULL
|
||||
`c1` varchar(14) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(34));
|
||||
@ -3084,7 +3084,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(17) DEFAULT NULL
|
||||
`c1` varchar(15) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(35));
|
||||
@ -3099,7 +3099,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(17) DEFAULT NULL
|
||||
`c1` varchar(15) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(36));
|
||||
@ -3114,7 +3114,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(18) DEFAULT NULL
|
||||
`c1` varchar(15) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(37));
|
||||
@ -3129,7 +3129,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(18) DEFAULT NULL
|
||||
`c1` varchar(17) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(38));
|
||||
@ -3144,7 +3144,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(18) DEFAULT NULL
|
||||
`c1` varchar(17) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(39));
|
||||
@ -3159,7 +3159,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(19) DEFAULT NULL
|
||||
`c1` varchar(17) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(40));
|
||||
@ -3174,7 +3174,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(19) DEFAULT NULL
|
||||
`c1` varchar(18) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(41));
|
||||
@ -3189,7 +3189,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(19) DEFAULT NULL
|
||||
`c1` varchar(18) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(42));
|
||||
@ -3204,7 +3204,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(21) DEFAULT NULL
|
||||
`c1` varchar(18) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(43));
|
||||
@ -3219,7 +3219,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(21) DEFAULT NULL
|
||||
`c1` varchar(18) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(44));
|
||||
@ -3234,7 +3234,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(21) DEFAULT NULL
|
||||
`c1` varchar(19) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(45));
|
||||
@ -3249,7 +3249,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(22) DEFAULT NULL
|
||||
`c1` varchar(19) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(46));
|
||||
@ -3264,7 +3264,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(22) DEFAULT NULL
|
||||
`c1` varchar(19) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(47));
|
||||
@ -3279,7 +3279,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(22) DEFAULT NULL
|
||||
`c1` varchar(21) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(48));
|
||||
@ -3294,7 +3294,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(23) DEFAULT NULL
|
||||
`c1` varchar(21) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(49));
|
||||
@ -3309,7 +3309,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(23) DEFAULT NULL
|
||||
`c1` varchar(21) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(50));
|
||||
@ -3324,7 +3324,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(23) DEFAULT NULL
|
||||
`c1` varchar(22) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(51));
|
||||
@ -3339,7 +3339,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(25) DEFAULT NULL
|
||||
`c1` varchar(22) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(52));
|
||||
@ -3354,7 +3354,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(25) DEFAULT NULL
|
||||
`c1` varchar(22) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(53));
|
||||
@ -3369,7 +3369,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(25) DEFAULT NULL
|
||||
`c1` varchar(22) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(54));
|
||||
@ -3384,7 +3384,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(26) DEFAULT NULL
|
||||
`c1` varchar(23) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(55));
|
||||
@ -3399,7 +3399,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(26) DEFAULT NULL
|
||||
`c1` varchar(23) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(56));
|
||||
@ -3414,7 +3414,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(26) DEFAULT NULL
|
||||
`c1` varchar(23) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(57));
|
||||
@ -3429,7 +3429,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(27) DEFAULT NULL
|
||||
`c1` varchar(25) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(58));
|
||||
@ -3444,7 +3444,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(27) DEFAULT NULL
|
||||
`c1` varchar(25) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(59));
|
||||
@ -3459,7 +3459,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(27) DEFAULT NULL
|
||||
`c1` varchar(25) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(60));
|
||||
@ -3474,7 +3474,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(29) DEFAULT NULL
|
||||
`c1` varchar(26) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(61));
|
||||
@ -3489,7 +3489,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(29) DEFAULT NULL
|
||||
`c1` varchar(26) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(62));
|
||||
@ -3504,7 +3504,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(29) DEFAULT NULL
|
||||
`c1` varchar(26) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(63));
|
||||
@ -3519,7 +3519,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(30) DEFAULT NULL
|
||||
`c1` varchar(26) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (c1 BIT(64));
|
||||
@ -3534,7 +3534,7 @@ HEX(c1)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`c1` varchar(30) DEFAULT NULL
|
||||
`c1` varchar(27) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1,t2;
|
||||
CREATE OR REPLACE TABLE t1 (f float);
|
||||
|
@ -975,7 +975,6 @@ select * from information_schema.table_privileges;
|
||||
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
|
||||
'mysqltest_8'@'%' def test t1 UPDATE NO
|
||||
'mariadb.sys'@'localhost' def mysql global_priv SELECT NO
|
||||
'mariadb.sys'@'localhost' def mysql global_priv UPDATE NO
|
||||
'mariadb.sys'@'localhost' def mysql global_priv DELETE NO
|
||||
connect conn5,localhost,mysqltest_8,,;
|
||||
select * from t1;
|
||||
@ -992,7 +991,6 @@ GRANT USAGE ON *.* TO `mysqltest_8`@`%`
|
||||
select * from information_schema.table_privileges;
|
||||
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
|
||||
'mariadb.sys'@'localhost' def mysql global_priv SELECT NO
|
||||
'mariadb.sys'@'localhost' def mysql global_priv UPDATE NO
|
||||
'mariadb.sys'@'localhost' def mysql global_priv DELETE NO
|
||||
flush privileges;
|
||||
show grants for mysqltest_8@'';
|
||||
|
@ -148,7 +148,7 @@ call mtr.add_suppression('mysql.user table is damaged');
|
||||
rename table mysql.user to mysql.user1;
|
||||
create table mysql.user (Host char(100), User char(100));
|
||||
flush privileges;
|
||||
ERROR HY000: Unknown error
|
||||
ERROR HY000: Fatal error: mysql.user table is damaged or in unsupported 3.20 format
|
||||
drop table mysql.user;
|
||||
rename table mysql.user1 to mysql.user;
|
||||
# switching back from mysql.user to mysql.global_priv
|
||||
|
@ -242,4 +242,10 @@ disconnect con1;
|
||||
connection default;
|
||||
drop database db;
|
||||
drop user foo;
|
||||
call mtr.add_suppression('mysql.host table is damaged');
|
||||
create table mysql.host (c1 int);
|
||||
insert mysql.host values (1);
|
||||
flush privileges;
|
||||
ERROR HY000: Fatal error: mysql.host table is damaged or in unsupported 3.20 format
|
||||
drop table mysql.host;
|
||||
# End of 10.4 tests
|
||||
|
@ -199,4 +199,14 @@ delete from db.t1 returning *;
|
||||
drop database db;
|
||||
drop user foo;
|
||||
|
||||
#
|
||||
# MDEV-23009 SIGSEGV in get_field from acl_load (on optimized builds)
|
||||
#
|
||||
call mtr.add_suppression('mysql.host table is damaged');
|
||||
create table mysql.host (c1 int);
|
||||
insert mysql.host values (1);
|
||||
--error ER_UNKNOWN_ERROR
|
||||
flush privileges;
|
||||
drop table mysql.host;
|
||||
|
||||
--echo # End of 10.4 tests
|
||||
|
@ -576,7 +576,6 @@ GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRAN
|
||||
select * from INFORMATION_SCHEMA.TABLE_PRIVILEGES;
|
||||
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
|
||||
'mariadb.sys'@'localhost' def mysql global_priv SELECT NO
|
||||
'mariadb.sys'@'localhost' def mysql global_priv UPDATE NO
|
||||
'mariadb.sys'@'localhost' def mysql global_priv DELETE NO
|
||||
drop view v1, v2, v3;
|
||||
drop table t1;
|
||||
@ -2219,3 +2218,72 @@ SCHEMA_NAME
|
||||
#
|
||||
# End of 10.1 tests
|
||||
#
|
||||
#
|
||||
# MDEV-21201:No records produced in information_schema query,
|
||||
# depending on projection
|
||||
#
|
||||
create table t (i int, constraint a check (i > 0));
|
||||
select
|
||||
tc.TABLE_SCHEMA,
|
||||
tc.TABLE_NAME,
|
||||
cc.CONSTRAINT_NAME,
|
||||
cc.CHECK_CLAUSE
|
||||
from information_schema.TABLE_CONSTRAINTS tc
|
||||
join information_schema.CHECK_CONSTRAINTS cc
|
||||
using (CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, TABLE_NAME, CONSTRAINT_NAME)
|
||||
;
|
||||
TABLE_SCHEMA TABLE_NAME CONSTRAINT_NAME CHECK_CLAUSE
|
||||
mysql global_priv Priv json_valid(`Priv`)
|
||||
test t a `i` > 0
|
||||
select
|
||||
tc.TABLE_SCHEMA,
|
||||
tc.TABLE_NAME,
|
||||
cc.CONSTRAINT_NAME,
|
||||
cc.CHECK_CLAUSE
|
||||
from information_schema.CHECK_CONSTRAINTS cc
|
||||
join information_schema.TABLE_CONSTRAINTS tc
|
||||
using (CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, TABLE_NAME, CONSTRAINT_NAME)
|
||||
;
|
||||
TABLE_SCHEMA TABLE_NAME CONSTRAINT_NAME CHECK_CLAUSE
|
||||
mysql global_priv Priv json_valid(`Priv`)
|
||||
test t a `i` > 0
|
||||
select
|
||||
tc.TABLE_SCHEMA,
|
||||
tc.TABLE_NAME,
|
||||
cc.CONSTRAINT_NAME,
|
||||
cc.CHECK_CLAUSE
|
||||
from information_schema.TABLE_CONSTRAINTS tc
|
||||
NATURAL join information_schema.CHECK_CONSTRAINTS cc
|
||||
;
|
||||
TABLE_SCHEMA TABLE_NAME CONSTRAINT_NAME CHECK_CLAUSE
|
||||
mysql global_priv Priv json_valid(`Priv`)
|
||||
test t a `i` > 0
|
||||
select
|
||||
tc.TABLE_SCHEMA,
|
||||
tc.TABLE_NAME,
|
||||
cc.CONSTRAINT_NAME,
|
||||
cc.CHECK_CLAUSE
|
||||
from information_schema.CHECK_CONSTRAINTS cc
|
||||
NATURAL join information_schema.TABLE_CONSTRAINTS tc
|
||||
;
|
||||
TABLE_SCHEMA TABLE_NAME CONSTRAINT_NAME CHECK_CLAUSE
|
||||
mysql global_priv Priv json_valid(`Priv`)
|
||||
test t a `i` > 0
|
||||
select
|
||||
tc.TABLE_SCHEMA,
|
||||
tc.TABLE_NAME,
|
||||
cc.CONSTRAINT_NAME,
|
||||
cc.CHECK_CLAUSE,
|
||||
tc.CONSTRAINT_CATALOG,
|
||||
tc.CONSTRAINT_SCHEMA
|
||||
from information_schema.TABLE_CONSTRAINTS tc
|
||||
join information_schema.CHECK_CONSTRAINTS cc
|
||||
using (CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, TABLE_NAME, CONSTRAINT_NAME)
|
||||
;
|
||||
TABLE_SCHEMA TABLE_NAME CONSTRAINT_NAME CHECK_CLAUSE CONSTRAINT_CATALOG CONSTRAINT_SCHEMA
|
||||
mysql global_priv Priv json_valid(`Priv`) def mysql
|
||||
test t a `i` > 0 def test
|
||||
drop table t;
|
||||
#
|
||||
# End of 10.3 tests
|
||||
#
|
||||
|
@ -1920,3 +1920,70 @@ SELECT SCHEMA_NAME from information_schema.schemata where schema_name=REPEAT('a'
|
||||
--echo #
|
||||
--echo # End of 10.1 tests
|
||||
--echo #
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-21201:No records produced in information_schema query,
|
||||
--echo # depending on projection
|
||||
--echo #
|
||||
|
||||
create table t (i int, constraint a check (i > 0));
|
||||
|
||||
--disable_warnings
|
||||
--sorted_result
|
||||
select
|
||||
tc.TABLE_SCHEMA,
|
||||
tc.TABLE_NAME,
|
||||
cc.CONSTRAINT_NAME,
|
||||
cc.CHECK_CLAUSE
|
||||
from information_schema.TABLE_CONSTRAINTS tc
|
||||
join information_schema.CHECK_CONSTRAINTS cc
|
||||
using (CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, TABLE_NAME, CONSTRAINT_NAME)
|
||||
;
|
||||
--sorted_result
|
||||
select
|
||||
tc.TABLE_SCHEMA,
|
||||
tc.TABLE_NAME,
|
||||
cc.CONSTRAINT_NAME,
|
||||
cc.CHECK_CLAUSE
|
||||
from information_schema.CHECK_CONSTRAINTS cc
|
||||
join information_schema.TABLE_CONSTRAINTS tc
|
||||
using (CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, TABLE_NAME, CONSTRAINT_NAME)
|
||||
;
|
||||
--sorted_result
|
||||
select
|
||||
tc.TABLE_SCHEMA,
|
||||
tc.TABLE_NAME,
|
||||
cc.CONSTRAINT_NAME,
|
||||
cc.CHECK_CLAUSE
|
||||
from information_schema.TABLE_CONSTRAINTS tc
|
||||
NATURAL join information_schema.CHECK_CONSTRAINTS cc
|
||||
;
|
||||
--sorted_result
|
||||
select
|
||||
tc.TABLE_SCHEMA,
|
||||
tc.TABLE_NAME,
|
||||
cc.CONSTRAINT_NAME,
|
||||
cc.CHECK_CLAUSE
|
||||
from information_schema.CHECK_CONSTRAINTS cc
|
||||
NATURAL join information_schema.TABLE_CONSTRAINTS tc
|
||||
;
|
||||
--sorted_result
|
||||
select
|
||||
tc.TABLE_SCHEMA,
|
||||
tc.TABLE_NAME,
|
||||
cc.CONSTRAINT_NAME,
|
||||
cc.CHECK_CLAUSE,
|
||||
tc.CONSTRAINT_CATALOG,
|
||||
tc.CONSTRAINT_SCHEMA
|
||||
from information_schema.TABLE_CONSTRAINTS tc
|
||||
join information_schema.CHECK_CONSTRAINTS cc
|
||||
using (CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, TABLE_NAME, CONSTRAINT_NAME)
|
||||
;
|
||||
--enable_warnings
|
||||
|
||||
drop table t;
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.3 tests
|
||||
--echo #
|
||||
|
@ -15,4 +15,3 @@
|
||||
--loose-innodb-sys-tablestats
|
||||
--loose-innodb-mutexes
|
||||
--loose-innodb-tablespaces-encryption
|
||||
--loose-innodb-tablespaces-scrubbing
|
||||
|
1
mysql-test/main/mdev-21101.opt
Normal file
1
mysql-test/main/mdev-21101.opt
Normal file
@ -0,0 +1 @@
|
||||
--thread-handling=pool-of-threads
|
43
mysql-test/main/mdev-21101.result
Normal file
43
mysql-test/main/mdev-21101.result
Normal file
@ -0,0 +1,43 @@
|
||||
SELECT
|
||||
@@global.wait_timeout, @@global.thread_pool_max_threads, @@global.thread_pool_size,
|
||||
@@global.thread_pool_oversubscribe, @@global.thread_pool_stall_limit
|
||||
INTO
|
||||
@_wait_timeout,@_thread_pool_max_threads,@_thread_pool_size,
|
||||
@_thread_pool_oversubscribe,@_thread_pool_stall_limit;
|
||||
SET @@global.wait_timeout=1,
|
||||
@@global.thread_pool_max_threads=2,
|
||||
@@global.thread_pool_size=1,
|
||||
@@global.thread_pool_oversubscribe=1,
|
||||
@@global.thread_pool_stall_limit=10;
|
||||
connect c1, localhost, root,,;
|
||||
connect c2, localhost, root,,;
|
||||
connect c3, localhost, root,,;
|
||||
connection c1;
|
||||
select sleep(1.1);
|
||||
connection c2;
|
||||
select sleep(1.1);
|
||||
connection c3;
|
||||
select sleep(1.1);
|
||||
connection default;
|
||||
select sleep(1.1);
|
||||
connection c1;
|
||||
sleep(1.1)
|
||||
0
|
||||
connection c2;
|
||||
sleep(1.1)
|
||||
0
|
||||
connection c3;
|
||||
sleep(1.1)
|
||||
0
|
||||
connection default;
|
||||
sleep(1.1)
|
||||
0
|
||||
disconnect c1;
|
||||
disconnect c2;
|
||||
disconnect c3;
|
||||
connection default;
|
||||
SET @@global.wait_timeout=@_wait_timeout,
|
||||
@@global.thread_pool_max_threads=@_thread_pool_max_threads,
|
||||
@@global.thread_pool_size=@_thread_pool_size,
|
||||
@@global.thread_pool_oversubscribe=@_thread_pool_oversubscribe,
|
||||
@@global.thread_pool_stall_limit=@_thread_pool_stall_limit;
|
54
mysql-test/main/mdev-21101.test
Normal file
54
mysql-test/main/mdev-21101.test
Normal file
@ -0,0 +1,54 @@
|
||||
--source include/not_embedded.inc
|
||||
# Test that wait_timeout does not cause connection to be closed, when connection is delayed due to
|
||||
# threadpool internal problems, e.g misconfiguration - too few threads and queueing.
|
||||
# So if client did not cause wait_timeout, do not report it either.
|
||||
# See MDEV-21101 for details.
|
||||
|
||||
# Intentionally misconfigure threadpool to have at most 1 or 2 threads (
|
||||
# depends on the implementation). Use minimal wait_timeout, do some slow queries from
|
||||
# different connections simultaneously, to force queueing occurs.
|
||||
# Verify connections are intact, even if queueing time exceeds wait_timeout
|
||||
|
||||
SELECT
|
||||
@@global.wait_timeout, @@global.thread_pool_max_threads, @@global.thread_pool_size,
|
||||
@@global.thread_pool_oversubscribe, @@global.thread_pool_stall_limit
|
||||
INTO
|
||||
@_wait_timeout,@_thread_pool_max_threads,@_thread_pool_size,
|
||||
@_thread_pool_oversubscribe,@_thread_pool_stall_limit;
|
||||
|
||||
SET @@global.wait_timeout=1,
|
||||
@@global.thread_pool_max_threads=2,
|
||||
@@global.thread_pool_size=1,
|
||||
@@global.thread_pool_oversubscribe=1,
|
||||
@@global.thread_pool_stall_limit=10;
|
||||
|
||||
--connect (c1, localhost, root,,)
|
||||
--connect (c2, localhost, root,,)
|
||||
--connect (c3, localhost, root,,)
|
||||
--connection c1
|
||||
--send select sleep(1.1)
|
||||
--connection c2
|
||||
--send select sleep(1.1)
|
||||
--connection c3
|
||||
--send select sleep(1.1)
|
||||
--connection default
|
||||
--send select sleep(1.1)
|
||||
--connection c1
|
||||
--reap
|
||||
--connection c2
|
||||
--reap
|
||||
--connection c3
|
||||
--reap
|
||||
--connection default
|
||||
--reap
|
||||
--disconnect c1
|
||||
--disconnect c2
|
||||
--disconnect c3
|
||||
--connection default
|
||||
|
||||
SET @@global.wait_timeout=@_wait_timeout,
|
||||
@@global.thread_pool_max_threads=@_thread_pool_max_threads,
|
||||
@@global.thread_pool_size=@_thread_pool_size,
|
||||
@@global.thread_pool_oversubscribe=@_thread_pool_oversubscribe,
|
||||
@@global.thread_pool_stall_limit=@_thread_pool_stall_limit;
|
||||
|
@ -58,6 +58,8 @@ DROP TABLE t1,t3;
|
||||
#
|
||||
CREATE TABLE t1(a INT) ENGINE=InnoDB;
|
||||
CREATE TABLE t3(a INT) ENGINE=myisam;
|
||||
connect purge_control,localhost,root,,;
|
||||
START TRANSACTION WITH CONSISTENT SNAPSHOT;
|
||||
connect locker,localhost,root,,;
|
||||
connection default;
|
||||
FLUSH TABLES WITH READ LOCK;
|
||||
@ -85,6 +87,7 @@ MDL_SHARED_WRITE Table metadata lock test t3
|
||||
unlock tables;
|
||||
connection locker;
|
||||
unlock tables;
|
||||
disconnect purge_control;
|
||||
connection default;
|
||||
disconnect locker;
|
||||
DROP TABLE t1,t3;
|
||||
|
@ -40,6 +40,8 @@ DROP TABLE t1,t3;
|
||||
|
||||
CREATE TABLE t1(a INT) ENGINE=InnoDB;
|
||||
CREATE TABLE t3(a INT) ENGINE=myisam;
|
||||
connect(purge_control,localhost,root,,);
|
||||
START TRANSACTION WITH CONSISTENT SNAPSHOT;
|
||||
connect (locker,localhost,root,,);
|
||||
connection default;
|
||||
|
||||
@ -75,6 +77,7 @@ unlock tables;
|
||||
connection locker;
|
||||
--reap
|
||||
unlock tables;
|
||||
disconnect purge_control;
|
||||
connection default;
|
||||
|
||||
disconnect locker;
|
||||
|
@ -715,16 +715,16 @@ CEILING(11111111),
|
||||
CEILING(111111111),
|
||||
CEILING(1111111111) LIMIT 0;
|
||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||
def CEILING(1) 3 3 0 N 32897 0 63
|
||||
def CEILING(11) 3 4 0 N 32897 0 63
|
||||
def CEILING(111) 3 5 0 N 32897 0 63
|
||||
def CEILING(1111) 3 6 0 N 32897 0 63
|
||||
def CEILING(11111) 3 7 0 N 32897 0 63
|
||||
def CEILING(111111) 3 8 0 N 32897 0 63
|
||||
def CEILING(1111111) 3 9 0 N 32897 0 63
|
||||
def CEILING(11111111) 8 10 0 N 32897 0 63
|
||||
def CEILING(111111111) 8 11 0 N 32897 0 63
|
||||
def CEILING(1111111111) 8 12 0 N 32897 0 63
|
||||
def CEILING(1) 3 1 0 N 32897 0 63
|
||||
def CEILING(11) 3 2 0 N 32897 0 63
|
||||
def CEILING(111) 3 3 0 N 32897 0 63
|
||||
def CEILING(1111) 3 4 0 N 32897 0 63
|
||||
def CEILING(11111) 3 5 0 N 32897 0 63
|
||||
def CEILING(111111) 3 6 0 N 32897 0 63
|
||||
def CEILING(1111111) 3 7 0 N 32897 0 63
|
||||
def CEILING(11111111) 3 8 0 N 32897 0 63
|
||||
def CEILING(111111111) 3 9 0 N 32897 0 63
|
||||
def CEILING(1111111111) 8 10 0 N 32897 0 63
|
||||
CEILING(1) CEILING(11) CEILING(111) CEILING(1111) CEILING(11111) CEILING(111111) CEILING(1111111) CEILING(11111111) CEILING(111111111) CEILING(1111111111)
|
||||
SELECT
|
||||
FLOOR(1),
|
||||
@ -738,16 +738,16 @@ FLOOR(11111111),
|
||||
FLOOR(111111111),
|
||||
FLOOR(1111111111) LIMIT 0;
|
||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||
def FLOOR(1) 3 3 0 N 32897 0 63
|
||||
def FLOOR(11) 3 4 0 N 32897 0 63
|
||||
def FLOOR(111) 3 5 0 N 32897 0 63
|
||||
def FLOOR(1111) 3 6 0 N 32897 0 63
|
||||
def FLOOR(11111) 3 7 0 N 32897 0 63
|
||||
def FLOOR(111111) 3 8 0 N 32897 0 63
|
||||
def FLOOR(1111111) 3 9 0 N 32897 0 63
|
||||
def FLOOR(11111111) 8 10 0 N 32897 0 63
|
||||
def FLOOR(111111111) 8 11 0 N 32897 0 63
|
||||
def FLOOR(1111111111) 8 12 0 N 32897 0 63
|
||||
def FLOOR(1) 3 1 0 N 32897 0 63
|
||||
def FLOOR(11) 3 2 0 N 32897 0 63
|
||||
def FLOOR(111) 3 3 0 N 32897 0 63
|
||||
def FLOOR(1111) 3 4 0 N 32897 0 63
|
||||
def FLOOR(11111) 3 5 0 N 32897 0 63
|
||||
def FLOOR(111111) 3 6 0 N 32897 0 63
|
||||
def FLOOR(1111111) 3 7 0 N 32897 0 63
|
||||
def FLOOR(11111111) 3 8 0 N 32897 0 63
|
||||
def FLOOR(111111111) 3 9 0 N 32897 0 63
|
||||
def FLOOR(1111111111) 8 10 0 N 32897 0 63
|
||||
FLOOR(1) FLOOR(11) FLOOR(111) FLOOR(1111) FLOOR(11111) FLOOR(111111) FLOOR(1111111) FLOOR(11111111) FLOOR(111111111) FLOOR(1111111111)
|
||||
SELECT
|
||||
ROUND(1),
|
||||
|
@ -24,7 +24,7 @@ FLUSH LOGS;
|
||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||
DELIMITER /*!*/;
|
||||
ROLLBACK/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
use `test`/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -39,7 +39,7 @@ SET @@session.collation_database=DEFAULT/*!*/;
|
||||
INSERT INTO t1 VALUES (1)
|
||||
/*!*/;
|
||||
COMMIT/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
INSERT INTO t1 VALUES (2)
|
||||
@ -55,7 +55,7 @@ ROLLBACK /* added by mysqlbinlog */;
|
||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||
DELIMITER /*!*/;
|
||||
ROLLBACK/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
use `foo`/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -70,7 +70,7 @@ SET @@session.collation_database=DEFAULT/*!*/;
|
||||
INSERT INTO t1 VALUES (1)
|
||||
/*!*/;
|
||||
COMMIT/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
INSERT INTO t1 VALUES (2)
|
||||
|
@ -37,7 +37,7 @@ create table t1 (word varchar(20))
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
create table t2 (id int auto_increment not null primary key)
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
insert into t1 values ("abirvalg")
|
||||
@ -45,7 +45,7 @@ insert into t1 values ("abirvalg")
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET INSERT_ID=1/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -54,7 +54,7 @@ insert into t2 values ()
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
||||
@ -62,7 +62,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
||||
@ -70,7 +70,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
||||
@ -78,7 +78,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
||||
@ -97,7 +97,7 @@ ROLLBACK /* added by mysqlbinlog */;
|
||||
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||
DELIMITER /*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
use `test`/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -114,7 +114,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
insert into t1 values ("Alas")
|
||||
@ -134,7 +134,7 @@ ROLLBACK /* added by mysqlbinlog */;
|
||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||
DELIMITER /*!*/;
|
||||
ROLLBACK/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||
@ -147,28 +147,28 @@ SET @@session.lc_time_names=0/*!*/;
|
||||
SET @@session.collation_database=DEFAULT/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET INSERT_ID=1/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
@ -184,7 +184,7 @@ ROLLBACK /* added by mysqlbinlog */;
|
||||
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||
DELIMITER /*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
use `test`/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -231,7 +231,7 @@ create table t1 (word varchar(20))
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
create table t2 (id int auto_increment not null primary key)
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
insert into t1 values ("abirvalg")
|
||||
@ -239,7 +239,7 @@ insert into t1 values ("abirvalg")
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET INSERT_ID=1/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -248,7 +248,7 @@ insert into t2 values ()
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
||||
@ -256,7 +256,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
||||
@ -264,7 +264,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
||||
@ -272,7 +272,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
||||
@ -291,7 +291,7 @@ ROLLBACK /* added by mysqlbinlog */;
|
||||
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||
DELIMITER /*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
use `test`/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -308,7 +308,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
insert into t1 values ("Alas")
|
||||
@ -328,7 +328,7 @@ ROLLBACK /* added by mysqlbinlog */;
|
||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||
DELIMITER /*!*/;
|
||||
ROLLBACK/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||
@ -341,28 +341,28 @@ SET @@session.lc_time_names=0/*!*/;
|
||||
SET @@session.collation_database=DEFAULT/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET INSERT_ID=1/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
@ -378,7 +378,7 @@ ROLLBACK /* added by mysqlbinlog */;
|
||||
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||
DELIMITER /*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
use `test`/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -553,7 +553,7 @@ SET @@session.lc_time_names=0/*!*/;
|
||||
SET @@session.collation_database=DEFAULT/*!*/;
|
||||
create table t1 (a varchar(64) character set utf8)
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`)
|
||||
@ -561,7 +561,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
SET @@session.collation_database=7/*!*/;
|
||||
@ -570,7 +570,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
SET @@session.collation_database=DEFAULT/*!*/;
|
||||
@ -579,7 +579,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`)
|
||||
@ -587,7 +587,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
SET @@session.collation_database=7/*!*/;
|
||||
@ -596,7 +596,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
SET @@session.collation_database=DEFAULT/*!*/;
|
||||
@ -605,7 +605,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
COMMIT
|
||||
/*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` CHARACTER SET koi8r FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`)
|
||||
|
@ -53,7 +53,7 @@ CREATE TABLE t2 (pk INT PRIMARY KEY, f1 INT, f2 INT, f3 INT, f4 INT, f5 MEDIUMIN
|
||||
# at 727
|
||||
#<date> server id 1 end_log_pos 769 CRC32 XXX GTID 0-1-3
|
||||
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
# at 769
|
||||
# at 843
|
||||
@ -82,7 +82,7 @@ COMMIT
|
||||
# at 1040
|
||||
#<date> server id 1 end_log_pos 1082 CRC32 XXX GTID 0-1-4
|
||||
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
# at 1082
|
||||
# at 1158
|
||||
@ -111,7 +111,7 @@ COMMIT
|
||||
# at 1354
|
||||
#<date> server id 1 end_log_pos 1396 CRC32 XXX GTID 0-1-5
|
||||
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
# at 1396
|
||||
# at 1474
|
||||
@ -140,7 +140,7 @@ COMMIT
|
||||
# at 1669
|
||||
#<date> server id 1 end_log_pos 1711 CRC32 XXX GTID 0-1-6
|
||||
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
# at 1711
|
||||
# at 1786
|
||||
@ -169,7 +169,7 @@ COMMIT
|
||||
# at 1982
|
||||
#<date> server id 1 end_log_pos 2024 CRC32 XXX GTID 0-1-7
|
||||
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
# at 2024
|
||||
# at 2078
|
||||
@ -231,7 +231,7 @@ COMMIT
|
||||
# at 2298
|
||||
#<date> server id 1 end_log_pos 2340 CRC32 XXX GTID 0-1-8
|
||||
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
# at 2340
|
||||
# at 2406
|
||||
@ -312,7 +312,7 @@ COMMIT
|
||||
# at 2634
|
||||
#<date> server id 1 end_log_pos 2676 CRC32 XXX GTID 0-1-9
|
||||
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
# at 2676
|
||||
# at 2713
|
||||
@ -374,7 +374,7 @@ COMMIT
|
||||
# at 2934
|
||||
#<date> server id 1 end_log_pos 2976 CRC32 XXX GTID 0-1-10
|
||||
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
# at 2976
|
||||
# at 3013
|
||||
|
@ -51,7 +51,7 @@ CREATE TABLE t2 (pk INT PRIMARY KEY, f1 INT, f2 INT, f3 INT, f4 INT, f5 MEDIUMIN
|
||||
# at 774
|
||||
#<date> server id 1 end_log_pos 816 CRC32 XXX GTID 0-1-3
|
||||
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
# at 816
|
||||
# at 890
|
||||
@ -80,7 +80,7 @@ COMMIT
|
||||
# at 1088
|
||||
#<date> server id 1 end_log_pos 1130 CRC32 XXX GTID 0-1-4
|
||||
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
# at 1130
|
||||
# at 1206
|
||||
@ -109,7 +109,7 @@ COMMIT
|
||||
# at 1403
|
||||
#<date> server id 1 end_log_pos 1445 CRC32 XXX GTID 0-1-5
|
||||
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
# at 1445
|
||||
# at 1523
|
||||
@ -138,7 +138,7 @@ COMMIT
|
||||
# at 1719
|
||||
#<date> server id 1 end_log_pos 1761 CRC32 XXX GTID 0-1-6
|
||||
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
# at 1761
|
||||
# at 1836
|
||||
@ -167,7 +167,7 @@ COMMIT
|
||||
# at 2035
|
||||
#<date> server id 1 end_log_pos 2077 CRC32 XXX GTID 0-1-7
|
||||
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
# at 2077
|
||||
# at 2131
|
||||
@ -229,7 +229,7 @@ COMMIT
|
||||
# at 2427
|
||||
#<date> server id 1 end_log_pos 2469 CRC32 XXX GTID 0-1-8
|
||||
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
# at 2469
|
||||
# at 2535
|
||||
@ -262,7 +262,7 @@ COMMIT
|
||||
# at 2730
|
||||
#<date> server id 1 end_log_pos 2772 CRC32 XXX GTID 0-1-9
|
||||
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
# at 2772
|
||||
# at 2809
|
||||
@ -292,7 +292,7 @@ COMMIT
|
||||
# at 2992
|
||||
#<date> server id 1 end_log_pos 3034 CRC32 XXX GTID 0-1-10
|
||||
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
# at 3034
|
||||
# at 3071
|
||||
@ -357,7 +357,7 @@ DELIMITER /*!*/;
|
||||
/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
|
||||
/*!100001 SET @@session.server_id=1*//*!*/;
|
||||
/*!100001 SET @@session.gtid_seq_no=16*//*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
# at 429
|
||||
# at 543
|
||||
|
@ -53,7 +53,7 @@ CREATE TABLE t2 (pk INT PRIMARY KEY, f1 INT, f2 INT, f3 INT, f4 INT, f5 MEDIUMIN
|
||||
# at 727
|
||||
#<date> server id 1 end_log_pos 769 CRC32 XXX GTID 0-1-3
|
||||
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
# at 769
|
||||
#<date> server id 1 end_log_pos 897 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
|
||||
@ -68,7 +68,7 @@ COMMIT
|
||||
# at 970
|
||||
#<date> server id 1 end_log_pos 1012 CRC32 XXX GTID 0-1-4
|
||||
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
# at 1012
|
||||
#<date> server id 1 end_log_pos 1140 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
|
||||
@ -83,7 +83,7 @@ COMMIT
|
||||
# at 1213
|
||||
#<date> server id 1 end_log_pos 1255 CRC32 XXX GTID 0-1-5
|
||||
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
# at 1255
|
||||
#<date> server id 1 end_log_pos 1385 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
|
||||
@ -98,7 +98,7 @@ COMMIT
|
||||
# at 1458
|
||||
#<date> server id 1 end_log_pos 1500 CRC32 XXX GTID 0-1-6
|
||||
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
# at 1500
|
||||
#<date> server id 1 end_log_pos 1627 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
|
||||
@ -113,7 +113,7 @@ COMMIT
|
||||
# at 1700
|
||||
#<date> server id 1 end_log_pos 1742 CRC32 XXX GTID 0-1-7
|
||||
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
# at 1742
|
||||
#<date> server id 1 end_log_pos 1850 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
|
||||
@ -128,7 +128,7 @@ COMMIT
|
||||
# at 1923
|
||||
#<date> server id 1 end_log_pos 1965 CRC32 XXX GTID 0-1-8
|
||||
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
# at 1965
|
||||
#<date> server id 1 end_log_pos 2082 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
|
||||
@ -143,7 +143,7 @@ COMMIT
|
||||
# at 2155
|
||||
#<date> server id 1 end_log_pos 2197 CRC32 XXX GTID 0-1-9
|
||||
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
# at 2197
|
||||
#<date> server id 1 end_log_pos 2288 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
|
||||
@ -158,7 +158,7 @@ COMMIT
|
||||
# at 2361
|
||||
#<date> server id 1 end_log_pos 2403 CRC32 XXX GTID 0-1-10
|
||||
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
|
||||
BEGIN
|
||||
START TRANSACTION
|
||||
/*!*/;
|
||||
# at 2403
|
||||
#<date> server id 1 end_log_pos 2494 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
--source include/not_windows.inc
|
||||
|
||||
--let $args=--table-cache=5 --max-connections=10 --log-warnings=1 --silent-startup --help --verbose
|
||||
--let $args=--table-cache=5 --max-connections=10 --log-warnings=1 --silent-startup --lower-case-table-names=1 --help --verbose
|
||||
|
||||
--exec $MYSQLD_CMD $args > $MYSQL_TMP_DIR/mysqld--help2.txt 2> $MYSQL_TMP_DIR/mysqld--help2.err
|
||||
--replace_regex /mysqld/mariadbd/ /\d\d\d\d-\d*-\d* *\d*:\d*:\d* \d* // /control file '.*aria_log_control'/aria_log_control/ /error: \d+/error: #/
|
||||
|
@ -35,10 +35,10 @@ SET @@session.session_track_system_variables= @save_session_track_system_variabl
|
||||
#
|
||||
set @save_optimizer_switch=@@optimizer_switch;
|
||||
SET @@session.session_track_system_variables='optimizer_switch';
|
||||
set optimizer_switch='index_merge=off,index_merge_union=off,index_merge_sort_union=off,index_merge_intersection=off,index_merge_sort_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=on,mrr_cost_based=on,mrr_sort_keys=on,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=on,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off,condition_pushdown_for_derived=off';
|
||||
set optimizer_switch='index_merge=off,index_merge_union=off,index_merge_sort_union=off,index_merge_intersection=off,index_merge_sort_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=on,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=on,mrr_cost_based=on,mrr_sort_keys=on,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=on,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off,condition_pushdown_for_derived=off';
|
||||
-- Tracker : SESSION_TRACK_SYSTEM_VARIABLES
|
||||
-- optimizer_switch
|
||||
-- index_merge=off,index_merge_union=off,index_merge_sort_union=off,index_merge_intersection=off,index_merge_sort_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=on,mrr_cost_based=on,mrr_sort_keys=on,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=on,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off,condition_pushdown_for_derived=off,split_materialized=on,condition_pushdown_for_subquery=on,rowid_filter=on,condition_pushdown_from_having=on,not_null_range_scan=off
|
||||
-- index_merge=off,index_merge_union=off,index_merge_sort_union=off,index_merge_intersection=off,index_merge_sort_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=on,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=on,mrr_cost_based=on,mrr_sort_keys=on,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=on,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off,condition_pushdown_for_derived=off,split_materialized=on,condition_pushdown_for_subquery=on,rowid_filter=on,condition_pushdown_from_having=on,not_null_range_scan=off
|
||||
|
||||
Warnings:
|
||||
Warning 1681 'engine_condition_pushdown=on' is deprecated and will be removed in a future release
|
||||
@ -46,6 +46,18 @@ set @@optimizer_switch=@save_optimizer_switch;
|
||||
SET @@session.session_track_system_variables= @save_session_track_system_variables;
|
||||
# End of 10.2 tests
|
||||
#
|
||||
# MDEV-22134 handle_fatal_signal (sig=11) in __strlen_avx2 on START
|
||||
# SLAVE | Assertion
|
||||
# `global_system_variables.session_track_system_variables' failed in
|
||||
# Session_sysvars_tracker::init | *** buffer overflow detected ***
|
||||
# (on optimized builds)
|
||||
#
|
||||
SET @@GLOBAL.session_track_system_variables=NULL;
|
||||
ERROR 42000: Variable 'session_track_system_variables' can't be set to the value of 'NULL'
|
||||
SET SESSION session_track_system_variables=NULL;
|
||||
ERROR 42000: Variable 'session_track_system_variables' can't be set to the value of 'NULL'
|
||||
# End of 10.3 tests
|
||||
#
|
||||
# MDEV-16470 - Session user variables tracker
|
||||
#
|
||||
# End of 10.5 tests
|
||||
|
@ -36,7 +36,7 @@ set @save_optimizer_switch=@@optimizer_switch;
|
||||
SET @@session.session_track_system_variables='optimizer_switch';
|
||||
|
||||
--enable_session_track_info
|
||||
set optimizer_switch='index_merge=off,index_merge_union=off,index_merge_sort_union=off,index_merge_intersection=off,index_merge_sort_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=on,mrr_cost_based=on,mrr_sort_keys=on,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=on,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off,condition_pushdown_for_derived=off';
|
||||
set optimizer_switch='index_merge=off,index_merge_union=off,index_merge_sort_union=off,index_merge_intersection=off,index_merge_sort_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=on,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=on,mrr_cost_based=on,mrr_sort_keys=on,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=on,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off,condition_pushdown_for_derived=off';
|
||||
--disable_session_track_info
|
||||
|
||||
set @@optimizer_switch=@save_optimizer_switch;
|
||||
@ -46,6 +46,21 @@ SET @@session.session_track_system_variables= @save_session_track_system_variabl
|
||||
|
||||
--echo # End of 10.2 tests
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-22134 handle_fatal_signal (sig=11) in __strlen_avx2 on START
|
||||
--echo # SLAVE | Assertion
|
||||
--echo # `global_system_variables.session_track_system_variables' failed in
|
||||
--echo # Session_sysvars_tracker::init | *** buffer overflow detected ***
|
||||
--echo # (on optimized builds)
|
||||
--echo #
|
||||
|
||||
--error ER_WRONG_VALUE_FOR_VAR
|
||||
SET @@GLOBAL.session_track_system_variables=NULL;
|
||||
--error ER_WRONG_VALUE_FOR_VAR
|
||||
SET SESSION session_track_system_variables=NULL;
|
||||
|
||||
--echo # End of 10.3 tests
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-16470 - Session user variables tracker
|
||||
--echo #
|
||||
|
@ -3377,6 +3377,62 @@ SET @@sort_buffer_size= @save_sort_buffer_size;
|
||||
SET @@max_sort_length= @save_max_sort_length;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-22390: Assertion `m_next_rec_ptr >= m_rawmem' failed in Filesort_buffer::spaceleft |
|
||||
# SIGSEGV in __memmove_avx_unaligned_erms from my_b_write (on optimized)
|
||||
#
|
||||
SET @save_max_sort_length= @@max_sort_length;
|
||||
SET @save_sort_buffer_size= @@sort_buffer_size;
|
||||
SET @save_max_length_for_sort_data= @@max_length_for_sort_data;
|
||||
SET max_sort_length=8;
|
||||
SET sort_buffer_size=1024;
|
||||
SET max_length_for_sort_data=7000;
|
||||
CREATE TABLE t1(a VARCHAR(64), b VARCHAR(2048))DEFAULT CHARSET=utf8;
|
||||
INSERT INTO t1 SELECT seq,seq from seq_1_to_100;
|
||||
ANALYZE FORMAT=JSON SELECT * FROM t1 ORDER BY a LIMIT 5;
|
||||
ANALYZE
|
||||
{
|
||||
"query_block": {
|
||||
"select_id": 1,
|
||||
"r_loops": 1,
|
||||
"r_total_time_ms": "REPLACED",
|
||||
"read_sorted_file": {
|
||||
"r_rows": 5,
|
||||
"filesort": {
|
||||
"sort_key": "t1.a",
|
||||
"r_loops": 1,
|
||||
"r_total_time_ms": "REPLACED",
|
||||
"r_limit": 5,
|
||||
"r_used_priority_queue": false,
|
||||
"r_output_rows": 100,
|
||||
"r_buffer_size": "REPLACED",
|
||||
"r_sort_mode": "sort_key,packed_addon_fields",
|
||||
"table": {
|
||||
"table_name": "t1",
|
||||
"access_type": "ALL",
|
||||
"r_loops": 1,
|
||||
"rows": 100,
|
||||
"r_rows": 100,
|
||||
"r_table_time_ms": "REPLACED",
|
||||
"r_other_time_ms": "REPLACED",
|
||||
"filtered": 100,
|
||||
"r_filtered": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
SELECT * FROM t1 ORDER BY a LIMIT 5;
|
||||
a b
|
||||
1 1
|
||||
10 10
|
||||
100 100
|
||||
11 11
|
||||
12 12
|
||||
SET max_sort_length= @save_max_sort_length;
|
||||
SET sort_buffer_size= @save_sort_buffer_size;
|
||||
SET max_length_for_sort_data= @save_max_length_for_sort_data;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-13994: Bad join results with orderby_uses_equalities=on
|
||||
#
|
||||
CREATE TABLE books (
|
||||
@ -4024,6 +4080,25 @@ COUNT(DISTINCT a)
|
||||
SET @@tmp_memory_table_size= @save_tmp_memory_table_size;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-23216: LONGTEXT column with collation doesn't sort
|
||||
#
|
||||
CREATE TABLE t1 (a LONGTEXT COLLATE utf8mb4_swedish_ci);
|
||||
INSERT INTO t1 VALUES ('A'),('Z'),('B'),('Y');
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
a
|
||||
A
|
||||
B
|
||||
Y
|
||||
Z
|
||||
SELECT * FROM t1 ORDER BY a DESC;
|
||||
a
|
||||
Z
|
||||
Y
|
||||
B
|
||||
A
|
||||
DROP TABLE t1;
|
||||
# End of 10.5 tests
|
||||
#
|
||||
# MDEV-13694: Wrong result upon GROUP BY with orderby_uses_equalities=on
|
||||
#
|
||||
CREATE TABLE t1 (a INT, b int, primary key(a));
|
||||
@ -4159,4 +4234,4 @@ a group_concat(t1.b)
|
||||
96 2
|
||||
58 1
|
||||
DROP TABLE t1, t2;
|
||||
# End of 10.5 tests
|
||||
# End of 10.6 tests
|
||||
|
@ -2180,6 +2180,28 @@ SET @@sort_buffer_size= @save_sort_buffer_size;
|
||||
SET @@max_sort_length= @save_max_sort_length;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-22390: Assertion `m_next_rec_ptr >= m_rawmem' failed in Filesort_buffer::spaceleft |
|
||||
--echo # SIGSEGV in __memmove_avx_unaligned_erms from my_b_write (on optimized)
|
||||
--echo #
|
||||
|
||||
SET @save_max_sort_length= @@max_sort_length;
|
||||
SET @save_sort_buffer_size= @@sort_buffer_size;
|
||||
SET @save_max_length_for_sort_data= @@max_length_for_sort_data;
|
||||
SET max_sort_length=8;
|
||||
SET sort_buffer_size=1024;
|
||||
# needed to make sure we use addon fields
|
||||
SET max_length_for_sort_data=7000;
|
||||
CREATE TABLE t1(a VARCHAR(64), b VARCHAR(2048))DEFAULT CHARSET=utf8;
|
||||
INSERT INTO t1 SELECT seq,seq from seq_1_to_100;
|
||||
--source include/analyze-format.inc
|
||||
ANALYZE FORMAT=JSON SELECT * FROM t1 ORDER BY a LIMIT 5;
|
||||
SELECT * FROM t1 ORDER BY a LIMIT 5;
|
||||
SET max_sort_length= @save_max_sort_length;
|
||||
SET sort_buffer_size= @save_sort_buffer_size;
|
||||
SET max_length_for_sort_data= @save_max_length_for_sort_data;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-13994: Bad join results with orderby_uses_equalities=on
|
||||
--echo #
|
||||
@ -2500,6 +2522,19 @@ SELECT COUNT(DISTINCT a) FROM t1;
|
||||
SET @@tmp_memory_table_size= @save_tmp_memory_table_size;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-23216: LONGTEXT column with collation doesn't sort
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (a LONGTEXT COLLATE utf8mb4_swedish_ci);
|
||||
INSERT INTO t1 VALUES ('A'),('Z'),('B'),('Y');
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
SELECT * FROM t1 ORDER BY a DESC;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo # End of 10.5 tests
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-13694: Wrong result upon GROUP BY with orderby_uses_equalities=on
|
||||
--echo #
|
||||
@ -2533,4 +2568,4 @@ eval EXPLAIN FORMAT=JSON $query;
|
||||
eval $query;
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
--echo # End of 10.5 tests
|
||||
--echo # End of 10.6 tests
|
||||
|
@ -932,11 +932,9 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (10),(20),(30);
|
||||
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a ORDER BY GROUP_CONCAT(a);
|
||||
a
|
||||
1
|
||||
ERROR HY000: Expression #1 of ORDER BY contains aggregate function and applies to a UNION
|
||||
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a ORDER BY GROUP_CONCAT(a ORDER BY a);
|
||||
a
|
||||
1
|
||||
ERROR HY000: Expression #1 of ORDER BY contains aggregate function and applies to a UNION
|
||||
DROP TABLE t1;
|
||||
# UNION with a parenthesed term
|
||||
CREATE TABLE t1 (a INT);
|
||||
@ -999,14 +997,11 @@ DROP TABLE t1;
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (10),(20),(30);
|
||||
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a WITH ROLLUP ORDER BY GROUP_CONCAT(a);
|
||||
a
|
||||
1
|
||||
ERROR HY000: Expression #1 of ORDER BY contains aggregate function and applies to a UNION
|
||||
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a WITH ROLLUP ORDER BY GROUP_CONCAT(a ORDER BY a);
|
||||
a
|
||||
1
|
||||
ERROR HY000: Expression #1 of ORDER BY contains aggregate function and applies to a UNION
|
||||
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a WITH ROLLUP ORDER BY GROUP_CONCAT(a ORDER BY a) LIMIT 1;
|
||||
a
|
||||
1
|
||||
ERROR HY000: Expression #1 of ORDER BY contains aggregate function and applies to a UNION
|
||||
DROP TABLE t1;
|
||||
# Derived table with ROLLUP
|
||||
CREATE TABLE t1 (a INT);
|
||||
@ -1880,6 +1875,69 @@ ERROR 42S02: Table 'test.t1' doesn't exist
|
||||
SET STATEMENT max_statement_time=180 FOR BACKUP LOCK test.t1;
|
||||
SET STATEMENT max_statement_time=180 FOR BACKUP UNLOCK;
|
||||
set SQL_MODE=@save_sql_mode;
|
||||
#
|
||||
# MDEV-21997: Server crashes in LEX::create_item_ident_sp
|
||||
# upon use of unknown identifier
|
||||
#
|
||||
/*! IF 1 IN ( SELECT 2 ) OR foo = 3 THEN */ SELECT 4;
|
||||
ERROR 42000: Undeclared variable: foo
|
||||
BEGIN NOT ATOMIC
|
||||
IF (SELECT 2) OR foo = 3 THEN
|
||||
SELECT 4;
|
||||
END IF ;
|
||||
END;
|
||||
$$
|
||||
ERROR 42000: Undeclared variable: foo
|
||||
# ... but if declare it then it still work
|
||||
BEGIN NOT ATOMIC
|
||||
DECLARE foo int;
|
||||
IF (SELECT 2) OR foo = 3 THEN
|
||||
SELECT 4;
|
||||
END IF ;
|
||||
END;
|
||||
$$
|
||||
4
|
||||
4
|
||||
CASE (SELECT 2) OR foo
|
||||
WHEN 1 THEN
|
||||
SET @x=10;
|
||||
$$
|
||||
ERROR 42000: Undeclared variable: foo
|
||||
/*! WHILE (SELECT 2) OR foo */
|
||||
SET @x=10;
|
||||
END WHILE;
|
||||
$$
|
||||
ERROR 42000: Undeclared variable: foo
|
||||
REPEAT
|
||||
SET @x=10;
|
||||
UNTIL (SELECT 2) OR foo
|
||||
END REPEAT;
|
||||
$$
|
||||
ERROR 42000: Undeclared variable: foo
|
||||
FOR i IN 1..(SELECT 2) OR foo
|
||||
DO
|
||||
SET @x=10;
|
||||
END FOR;
|
||||
$$
|
||||
ERROR 42000: Undeclared variable: foo
|
||||
# ... but automatic FOR variable still work
|
||||
FOR i IN 1..2
|
||||
DO
|
||||
SELECT i;
|
||||
END FOR;
|
||||
$$
|
||||
i
|
||||
1
|
||||
i
|
||||
2
|
||||
#
|
||||
# MDEV-21998: Server crashes in st_select_lex::add_table_to_list
|
||||
# upon mix of KILL and sequences
|
||||
#
|
||||
KILL ( SELECT 1 ) + LASTVAL(s);
|
||||
ERROR 42000: KILL does not support subqueries or stored functions
|
||||
KILL LASTVAL(s);
|
||||
ERROR 42000: KILL does not support subqueries or stored functions
|
||||
# End of 10.4 tests
|
||||
#
|
||||
# Start of 10.5 tests
|
||||
|
@ -1084,7 +1084,9 @@ CREATE TABLE t1 AS SELECT 1 LIMIT 1 UNION SELECT 2;
|
||||
--echo # For now, we're testing the parser.
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (10),(20),(30);
|
||||
--error ER_AGGREGATE_ORDER_FOR_UNION
|
||||
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a ORDER BY GROUP_CONCAT(a);
|
||||
--error ER_AGGREGATE_ORDER_FOR_UNION
|
||||
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a ORDER BY GROUP_CONCAT(a ORDER BY a);
|
||||
DROP TABLE t1;
|
||||
|
||||
@ -1125,8 +1127,11 @@ DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (10),(20),(30);
|
||||
--error ER_AGGREGATE_ORDER_FOR_UNION
|
||||
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a WITH ROLLUP ORDER BY GROUP_CONCAT(a);
|
||||
--error ER_AGGREGATE_ORDER_FOR_UNION
|
||||
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a WITH ROLLUP ORDER BY GROUP_CONCAT(a ORDER BY a);
|
||||
--error ER_AGGREGATE_ORDER_FOR_UNION
|
||||
SELECT 1 AS a UNION SELECT a FROM t1 GROUP BY a WITH ROLLUP ORDER BY GROUP_CONCAT(a ORDER BY a) LIMIT 1;
|
||||
DROP TABLE t1;
|
||||
|
||||
@ -1610,6 +1615,80 @@ SET STATEMENT max_statement_time=180 FOR BACKUP LOCK test.t1;
|
||||
SET STATEMENT max_statement_time=180 FOR BACKUP UNLOCK;
|
||||
set SQL_MODE=@save_sql_mode;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-21997: Server crashes in LEX::create_item_ident_sp
|
||||
--echo # upon use of unknown identifier
|
||||
--echo #
|
||||
|
||||
--error ER_SP_UNDECLARED_VAR
|
||||
/*! IF 1 IN ( SELECT 2 ) OR foo = 3 THEN */ SELECT 4;
|
||||
|
||||
|
||||
DELIMITER $$;
|
||||
|
||||
--error ER_SP_UNDECLARED_VAR
|
||||
BEGIN NOT ATOMIC
|
||||
IF (SELECT 2) OR foo = 3 THEN
|
||||
SELECT 4;
|
||||
END IF ;
|
||||
END;
|
||||
$$
|
||||
|
||||
--echo # ... but if declare it then it still work
|
||||
BEGIN NOT ATOMIC
|
||||
DECLARE foo int;
|
||||
IF (SELECT 2) OR foo = 3 THEN
|
||||
SELECT 4;
|
||||
END IF ;
|
||||
END;
|
||||
$$
|
||||
|
||||
--error ER_SP_UNDECLARED_VAR
|
||||
CASE (SELECT 2) OR foo
|
||||
WHEN 1 THEN
|
||||
SET @x=10;
|
||||
$$
|
||||
|
||||
--error ER_SP_UNDECLARED_VAR
|
||||
/*! WHILE (SELECT 2) OR foo */
|
||||
SET @x=10;
|
||||
END WHILE;
|
||||
$$
|
||||
|
||||
--error ER_SP_UNDECLARED_VAR
|
||||
REPEAT
|
||||
SET @x=10;
|
||||
UNTIL (SELECT 2) OR foo
|
||||
END REPEAT;
|
||||
$$
|
||||
|
||||
--error ER_SP_UNDECLARED_VAR
|
||||
FOR i IN 1..(SELECT 2) OR foo
|
||||
DO
|
||||
SET @x=10;
|
||||
END FOR;
|
||||
$$
|
||||
|
||||
--echo # ... but automatic FOR variable still work
|
||||
FOR i IN 1..2
|
||||
DO
|
||||
SELECT i;
|
||||
END FOR;
|
||||
$$
|
||||
|
||||
DELIMITER ;$$
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-21998: Server crashes in st_select_lex::add_table_to_list
|
||||
--echo # upon mix of KILL and sequences
|
||||
--echo #
|
||||
|
||||
--error ER_SUBQUERIES_NOT_SUPPORTED
|
||||
KILL ( SELECT 1 ) + LASTVAL(s);
|
||||
--error ER_SUBQUERIES_NOT_SUPPORTED
|
||||
KILL LASTVAL(s);
|
||||
|
||||
--echo # End of 10.4 tests
|
||||
|
||||
|
||||
|
@ -1897,6 +1897,24 @@ ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
|
||||
SELECT * FROM t1 PARTITION (p0);
|
||||
i
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-18371 Server crashes in ha_innobase::cmp_ref upon UPDATE with PARTITION clause.
|
||||
#
|
||||
CREATE TABLE t1 (a INT, b INT, KEY (a)) ENGINE=InnoDB PARTITION BY KEY(b) PARTITIONS 4;
|
||||
INSERT INTO t1 VALUES (3,0),(8,2),(7,8),(3,4),(2,4),(0,7),(4,3),(3,6);
|
||||
FLUSH TABLES;
|
||||
UPDATE t1 PARTITION (p3,p1) SET a = 2 WHERE a = 3;
|
||||
SELECT * FROM t1;
|
||||
a b
|
||||
2 0
|
||||
7 8
|
||||
2 4
|
||||
2 4
|
||||
0 7
|
||||
4 3
|
||||
8 2
|
||||
2 6
|
||||
DROP TABLE t1, t2;
|
||||
#
|
||||
# MDEV-18982: INSERT using explicit patition pruning with column list
|
||||
|
@ -874,6 +874,18 @@ SELECT * FROM t1 PARTITION (p0);
|
||||
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
|
||||
SELECT * FROM t1 PARTITION (p0);
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-18371 Server crashes in ha_innobase::cmp_ref upon UPDATE with PARTITION clause.
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (a INT, b INT, KEY (a)) ENGINE=InnoDB PARTITION BY KEY(b) PARTITIONS 4;
|
||||
INSERT INTO t1 VALUES (3,0),(8,2),(7,8),(3,4),(2,4),(0,7),(4,3),(3,6);
|
||||
FLUSH TABLES;
|
||||
UPDATE t1 PARTITION (p3,p1) SET a = 2 WHERE a = 3;
|
||||
SELECT * FROM t1;
|
||||
|
||||
|
||||
# Cleanup
|
||||
DROP TABLE t1, t2;
|
||||
|
@ -342,6 +342,19 @@ ERROR 42S02: Table 'test.t1' doesn't exist
|
||||
DROP TABLE t1;
|
||||
# End of 10.1 test
|
||||
#
|
||||
# MDEV-21258: Can't uninstall plugin if the library file doesn't exist
|
||||
#
|
||||
insert into mysql.plugin values ("unexisting_plugin", "soname");
|
||||
select * from mysql.plugin WHERE name='unexisting_plugin';
|
||||
name dl
|
||||
unexisting_plugin soname
|
||||
UNINSTALL PLUGIN unexisting_plugin;
|
||||
select * from mysql.plugin WHERE name='unexisting_plugin';
|
||||
name dl
|
||||
UNINSTALL PLUGIN unexisting_plugin;
|
||||
ERROR 42000: PLUGIN unexisting_plugin does not exist
|
||||
# End of 10.2 tests
|
||||
#
|
||||
# MDEV-16294: INSTALL PLUGIN IF NOT EXISTS / UNINSTALL PLUGIN IF EXISTS
|
||||
#
|
||||
# INSTALL IF NOT EXISTS PLUGIN name SONAME library /
|
||||
@ -403,3 +416,4 @@ INSTALL PLUGIN example SONAME 'ha_example';
|
||||
CREATE TEMPORARY TABLE t1(a INT) ENGINE=example;
|
||||
DROP TABLE t1;
|
||||
UNINSTALL PLUGIN example;
|
||||
# End of 10.4 tests
|
||||
|
@ -277,8 +277,27 @@ DROP TABLE t1;
|
||||
|
||||
--echo # End of 10.1 test
|
||||
|
||||
--source include/install_plugin_if_exists.inc
|
||||
--echo #
|
||||
--echo # MDEV-21258: Can't uninstall plugin if the library file doesn't exist
|
||||
--echo #
|
||||
|
||||
insert into mysql.plugin values ("unexisting_plugin", "soname");
|
||||
|
||||
# check that we have the plugin installed
|
||||
select * from mysql.plugin WHERE name='unexisting_plugin';
|
||||
|
||||
# make attempt to uninstall the plugin
|
||||
UNINSTALL PLUGIN unexisting_plugin;
|
||||
|
||||
# check that we have the plugin uninstalled
|
||||
select * from mysql.plugin WHERE name='unexisting_plugin';
|
||||
|
||||
--error ER_SP_DOES_NOT_EXIST
|
||||
UNINSTALL PLUGIN unexisting_plugin;
|
||||
|
||||
--echo # End of 10.2 tests
|
||||
|
||||
--source include/install_plugin_if_exists.inc
|
||||
|
||||
--echo #
|
||||
--echo # Make sure temporary tables maintain plugin references properly
|
||||
@ -294,3 +313,5 @@ INSTALL PLUGIN example SONAME 'ha_example';
|
||||
CREATE TEMPORARY TABLE t1(a INT) ENGINE=example;
|
||||
DROP TABLE t1;
|
||||
UNINSTALL PLUGIN example;
|
||||
|
||||
--echo # End of 10.4 tests
|
||||
|
21
mysql-test/main/rowid_filter_myisam.result
Normal file
21
mysql-test/main/rowid_filter_myisam.result
Normal file
@ -0,0 +1,21 @@
|
||||
#
|
||||
# MDEV-22553: Assertion `info->lastpos == (~ (my_off_t) 0)' failed in mi_rkey with rowid_filer=on
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
a smallint(6) DEFAULT NULL,
|
||||
b bigint(20) DEFAULT NULL,
|
||||
c varchar(64) DEFAULT NULL,
|
||||
d varchar(64) DEFAULT NULL,
|
||||
e smallint(6) DEFAULT NULL,
|
||||
f bigint(20) DEFAULT NULL,
|
||||
KEY a (a),
|
||||
KEY d (d),
|
||||
KEY f (f)
|
||||
) ENGINE=MyISAM;
|
||||
ALTER TABLE t1 DISABLE KEYS;
|
||||
# Insert a lot of rows
|
||||
ALTER TABLE t1 ENABLE KEYS;
|
||||
# Must not crash:
|
||||
SELECT * FROM t1 WHERE ( a BETWEEN 255 AND 270 OR f = 200 ) AND f IN ( 1, 4, 112, 143 ) AND d IN ('Montana', 'South Dakota');
|
||||
a b c d e f
|
||||
DROP TABLE t1;
|
1625
mysql-test/main/rowid_filter_myisam.test
Normal file
1625
mysql-test/main/rowid_filter_myisam.test
Normal file
File diff suppressed because it is too large
Load Diff
@ -2285,13 +2285,13 @@ begin
|
||||
DECLARE foo CONDITION FOR SQLSTATE '12345';
|
||||
SIGNAL foo SET MYSQL_ERRNO = `65`; /* illegal */
|
||||
end $$
|
||||
ERROR 42S22: Unknown column '65' in 'field list'
|
||||
ERROR 42000: Undeclared variable: 65
|
||||
create procedure test_signal()
|
||||
begin
|
||||
DECLARE foo CONDITION FOR SQLSTATE '12345';
|
||||
SIGNAL foo SET MYSQL_ERRNO = `A`; /* illegal */
|
||||
end $$
|
||||
ERROR 42S22: Unknown column 'A' in 'field list'
|
||||
ERROR 42000: Undeclared variable: A
|
||||
create procedure test_signal()
|
||||
begin
|
||||
DECLARE foo CONDITION FOR SQLSTATE '12345';
|
||||
@ -2342,7 +2342,7 @@ DECLARE foo CONDITION FOR SQLSTATE '12345';
|
||||
SIGNAL foo SET MYSQL_ERRNO = 1000,
|
||||
MESSAGE_TEXT = `Hello`;
|
||||
end $$
|
||||
ERROR 42S22: Unknown column 'Hello' in 'field list'
|
||||
ERROR 42000: Undeclared variable: Hello
|
||||
create procedure test_signal()
|
||||
begin
|
||||
DECLARE foo CONDITION FOR SQLSTATE '12345';
|
||||
|
@ -2546,7 +2546,7 @@ end $$
|
||||
call test_signal $$
|
||||
drop procedure test_signal $$
|
||||
|
||||
-- error ER_BAD_FIELD_ERROR
|
||||
-- error ER_SP_UNDECLARED_VAR
|
||||
create procedure test_signal()
|
||||
begin
|
||||
DECLARE foo CONDITION FOR SQLSTATE '12345';
|
||||
@ -2554,7 +2554,7 @@ begin
|
||||
end $$
|
||||
|
||||
|
||||
-- error ER_BAD_FIELD_ERROR
|
||||
-- error ER_SP_UNDECLARED_VAR
|
||||
create procedure test_signal()
|
||||
begin
|
||||
DECLARE foo CONDITION FOR SQLSTATE '12345';
|
||||
@ -2616,7 +2616,7 @@ end $$
|
||||
call test_signal $$
|
||||
drop procedure test_signal $$
|
||||
|
||||
-- error ER_BAD_FIELD_ERROR
|
||||
-- error ER_SP_UNDECLARED_VAR
|
||||
create procedure test_signal()
|
||||
begin
|
||||
DECLARE foo CONDITION FOR SQLSTATE '12345';
|
||||
|
@ -452,7 +452,7 @@ else
|
||||
set b = a;
|
||||
end if;
|
||||
end|
|
||||
ERROR 42S22: Unknown column 'aa' in 'field list'
|
||||
ERROR 42000: Undeclared variable: aa
|
||||
create procedure bug4344() drop procedure bug4344|
|
||||
ERROR HY000: Can't drop or alter a PROCEDURE from within another stored routine
|
||||
create procedure bug4344() drop function bug4344|
|
||||
@ -1067,7 +1067,7 @@ IF bug13037_foo THEN
|
||||
SELECT 1;
|
||||
END IF;
|
||||
END|
|
||||
ERROR 42S22: Unknown column 'bug13037_foo' in 'field list'
|
||||
ERROR 42000: Undeclared variable: bug13037_foo
|
||||
CREATE PROCEDURE bug13037_p2()
|
||||
BEGIN
|
||||
SET @bug13037_foo = bug13037_bar;
|
||||
@ -2870,3 +2870,16 @@ SELECT @msg;
|
||||
DROP FUNCTION f1;
|
||||
DROP FUNCTION f2;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# 10.2 Test
|
||||
#
|
||||
# MDEV-MDEV-22058: Assertion `!is_set() || (m_status == DA_OK_BULK &&
|
||||
# is_bulk_op())' failed in Diagnostics_area::set_ok_status
|
||||
#
|
||||
SET @old_optimizer_switch = @@SESSION.OPTIMIZER_SWITCH;
|
||||
SET @cmd:="SET @@SESSION.SQL_MODE=(SELECT 'a')";
|
||||
SET @@SESSION.OPTIMIZER_SWITCH="in_to_exists=OFF,materialization=OFF";
|
||||
ERROR HY000: At least one of the 'in_to_exists' or 'materialization' optimizer_switch flags must be 'on'
|
||||
PREPARE stmt FROM @cmd;
|
||||
set @@SESSION.OPTIMIZER_SWITCH=@old_optimizer_switch;
|
||||
# End of 10.2 Test
|
||||
|
@ -612,7 +612,7 @@ create procedure bug2653_1(a int, out b int)
|
||||
set b = aa|
|
||||
|
||||
|
||||
--error ER_BAD_FIELD_ERROR
|
||||
--error ER_SP_UNDECLARED_VAR
|
||||
create procedure bug2653_2(a int, out b int)
|
||||
begin
|
||||
if aa < 0 then
|
||||
@ -1505,7 +1505,7 @@ DROP PROCEDURE IF EXISTS bug13037_p3;
|
||||
|
||||
delimiter |;
|
||||
|
||||
--error ER_BAD_FIELD_ERROR
|
||||
--error ER_SP_UNDECLARED_VAR
|
||||
CREATE PROCEDURE bug13037_p1()
|
||||
BEGIN
|
||||
IF bug13037_foo THEN
|
||||
@ -3835,3 +3835,22 @@ SELECT @msg;
|
||||
DROP FUNCTION f1;
|
||||
DROP FUNCTION f2;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # 10.2 Test
|
||||
--echo #
|
||||
--echo # MDEV-MDEV-22058: Assertion `!is_set() || (m_status == DA_OK_BULK &&
|
||||
--echo # is_bulk_op())' failed in Diagnostics_area::set_ok_status
|
||||
--echo #
|
||||
|
||||
SET @old_optimizer_switch = @@SESSION.OPTIMIZER_SWITCH;
|
||||
|
||||
SET @cmd:="SET @@SESSION.SQL_MODE=(SELECT 'a')";
|
||||
|
||||
--error ER_ILLEGAL_SUBQUERY_OPTIMIZER_SWITCHES
|
||||
SET @@SESSION.OPTIMIZER_SWITCH="in_to_exists=OFF,materialization=OFF";
|
||||
PREPARE stmt FROM @cmd;
|
||||
|
||||
set @@SESSION.OPTIMIZER_SWITCH=@old_optimizer_switch;
|
||||
|
||||
--echo # End of 10.2 Test
|
||||
|
@ -4184,7 +4184,7 @@ select v, isnull(v);
|
||||
end if;
|
||||
end;
|
||||
end|
|
||||
ERROR 42S22: Unknown column 'undefined_var' in 'field list'
|
||||
ERROR 42000: Undeclared variable: undefined_var
|
||||
create procedure bug14643_2()
|
||||
begin
|
||||
declare continue handler for sqlexception select 'boo' as 'Handler';
|
||||
@ -4196,7 +4196,7 @@ select 2;
|
||||
end case;
|
||||
select undefined_var;
|
||||
end|
|
||||
ERROR 42S22: Unknown column 'undefined_var' in 'field list'
|
||||
ERROR 42000: Undeclared variable: undefined_var
|
||||
drop procedure if exists bug14304|
|
||||
drop table if exists t3, t4|
|
||||
create table t3(a int primary key auto_increment)|
|
||||
@ -4226,7 +4226,7 @@ create procedure bug14376()
|
||||
begin
|
||||
declare x int default x;
|
||||
end|
|
||||
ERROR 42S22: Unknown column 'x' in 'field list'
|
||||
ERROR 42000: Undeclared variable: x
|
||||
create procedure bug14376()
|
||||
begin
|
||||
declare x int default 42;
|
||||
@ -4481,7 +4481,7 @@ select 'no' as 'v';
|
||||
end if;
|
||||
select 'done' as 'End';
|
||||
end|
|
||||
ERROR 42S22: Unknown column 'v' in 'field list'
|
||||
ERROR 42000: Undeclared variable: v
|
||||
create procedure bug14498_2()
|
||||
begin
|
||||
declare continue handler for sqlexception select 'error' as 'Handler';
|
||||
@ -4490,7 +4490,7 @@ select 'yes' as 'v';
|
||||
end while;
|
||||
select 'done' as 'End';
|
||||
end|
|
||||
ERROR 42S22: Unknown column 'v' in 'field list'
|
||||
ERROR 42000: Undeclared variable: v
|
||||
create procedure bug14498_3()
|
||||
begin
|
||||
declare continue handler for sqlexception select 'error' as 'Handler';
|
||||
@ -4499,7 +4499,7 @@ select 'maybe' as 'v';
|
||||
until v end repeat;
|
||||
select 'done' as 'End';
|
||||
end|
|
||||
ERROR 42S22: Unknown column 'v' in 'field list'
|
||||
ERROR 42000: Undeclared variable: v
|
||||
create procedure bug14498_4()
|
||||
begin
|
||||
declare continue handler for sqlexception select 'error' as 'Handler';
|
||||
@ -4513,7 +4513,7 @@ select '?' as 'v';
|
||||
end case;
|
||||
select 'done' as 'End';
|
||||
end|
|
||||
ERROR 42S22: Unknown column 'v' in 'field list'
|
||||
ERROR 42000: Undeclared variable: v
|
||||
create procedure bug14498_5()
|
||||
begin
|
||||
declare continue handler for sqlexception select 'error' as 'Handler';
|
||||
@ -4527,7 +4527,7 @@ select '?' as 'v';
|
||||
end case;
|
||||
select 'done' as 'End';
|
||||
end|
|
||||
ERROR 42S22: Unknown column 'v' in 'field list'
|
||||
ERROR 42000: Undeclared variable: v
|
||||
drop table if exists t3|
|
||||
drop procedure if exists bug15231_1|
|
||||
drop procedure if exists bug15231_2|
|
||||
@ -8401,7 +8401,7 @@ DECLARE name VARCHAR(10);
|
||||
SET name="hello";
|
||||
call p1(name2);
|
||||
END|
|
||||
ERROR 42S22: Unknown column 'name2' in 'field list'
|
||||
ERROR 42000: Undeclared variable: name2
|
||||
call p2();
|
||||
a
|
||||
hello
|
||||
|
@ -5046,7 +5046,7 @@ drop procedure if exists bug14643_1|
|
||||
drop procedure if exists bug14643_2|
|
||||
--enable_warnings
|
||||
|
||||
--error ER_BAD_FIELD_ERROR
|
||||
--error ER_SP_UNDECLARED_VAR
|
||||
create procedure bug14643_1()
|
||||
begin
|
||||
declare continue handler for sqlexception select 'boo' as 'Handler';
|
||||
@ -5062,7 +5062,7 @@ begin
|
||||
end;
|
||||
end|
|
||||
|
||||
--error ER_BAD_FIELD_ERROR
|
||||
--error ER_SP_UNDECLARED_VAR
|
||||
create procedure bug14643_2()
|
||||
begin
|
||||
declare continue handler for sqlexception select 'boo' as 'Handler';
|
||||
@ -5117,7 +5117,7 @@ drop table t3, t4|
|
||||
drop procedure if exists bug14376|
|
||||
--enable_warnings
|
||||
|
||||
--error ER_BAD_FIELD_ERROR
|
||||
--error ER_SP_UNDECLARED_VAR
|
||||
create procedure bug14376()
|
||||
begin
|
||||
declare x int default x;
|
||||
@ -5344,7 +5344,7 @@ drop procedure if exists bug14498_4|
|
||||
drop procedure if exists bug14498_5|
|
||||
--enable_warnings
|
||||
|
||||
--error ER_BAD_FIELD_ERROR
|
||||
--error ER_SP_UNDECLARED_VAR
|
||||
create procedure bug14498_1()
|
||||
begin
|
||||
declare continue handler for sqlexception select 'error' as 'Handler';
|
||||
@ -5357,7 +5357,7 @@ begin
|
||||
select 'done' as 'End';
|
||||
end|
|
||||
|
||||
--error ER_BAD_FIELD_ERROR
|
||||
--error ER_SP_UNDECLARED_VAR
|
||||
create procedure bug14498_2()
|
||||
begin
|
||||
declare continue handler for sqlexception select 'error' as 'Handler';
|
||||
@ -5368,7 +5368,7 @@ begin
|
||||
select 'done' as 'End';
|
||||
end|
|
||||
|
||||
--error ER_BAD_FIELD_ERROR
|
||||
--error ER_SP_UNDECLARED_VAR
|
||||
create procedure bug14498_3()
|
||||
begin
|
||||
declare continue handler for sqlexception select 'error' as 'Handler';
|
||||
@ -5379,7 +5379,7 @@ begin
|
||||
select 'done' as 'End';
|
||||
end|
|
||||
|
||||
--error ER_BAD_FIELD_ERROR
|
||||
--error ER_SP_UNDECLARED_VAR
|
||||
create procedure bug14498_4()
|
||||
begin
|
||||
declare continue handler for sqlexception select 'error' as 'Handler';
|
||||
@ -5395,7 +5395,7 @@ begin
|
||||
select 'done' as 'End';
|
||||
end|
|
||||
|
||||
--error ER_BAD_FIELD_ERROR
|
||||
--error ER_SP_UNDECLARED_VAR
|
||||
create procedure bug14498_5()
|
||||
begin
|
||||
declare continue handler for sqlexception select 'error' as 'Handler';
|
||||
@ -9931,7 +9931,7 @@ BEGIN
|
||||
call p1(name);
|
||||
END|
|
||||
|
||||
--error ER_BAD_FIELD_ERROR
|
||||
--error ER_SP_UNDECLARED_VAR
|
||||
CREATE OR REPLACE PROCEDURE p3 ()
|
||||
BEGIN
|
||||
DECLARE name VARCHAR(10);
|
||||
|
@ -926,4 +926,28 @@ set global innodb_stats_persistent= @innodb_stats_persistent_save;
|
||||
set global innodb_stats_persistent_sample_pages=
|
||||
@innodb_stats_persistent_sample_pages_save;
|
||||
set optimizer_switch=@save_optimizer_switch_for_stat_tables_test;
|
||||
#
|
||||
# MDEV-22851: Engine independent index statistics are incorrect for large tables on Windows.
|
||||
#
|
||||
CREATE TABLE t1(a INT) ENGINE=INNODB;
|
||||
INSERT INTO t1 SELECT 1 FROM seq_1_to_60000;
|
||||
SET @save_use_stat_tables= @@use_stat_tables;
|
||||
SET use_stat_tables= preferably;
|
||||
SELECT count(*) FROM t1;
|
||||
count(*)
|
||||
60000
|
||||
CREATE INDEX idx ON t1(a);
|
||||
ANALYZE TABLE t1 PERSISTENT FOR COLUMNS (a) INDEXES (idx);
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status Engine-independent statistics collected
|
||||
test.t1 analyze status OK
|
||||
SELECT * FROM mysql.index_stats where table_name='t1';
|
||||
db_name table_name index_name prefix_arity avg_frequency
|
||||
test t1 idx 1 60000.0000
|
||||
SELECT * FROM mysql.column_stats where table_name='t1';
|
||||
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
|
||||
test t1 a 1 1 0.0000 4.0000 60000.0000 0 NULL NULL
|
||||
SET use_stat_tables= @save_use_stat_tables;
|
||||
DROP TABLE t1;
|
||||
# end of 10.1 tests
|
||||
SET SESSION DEFAULT_STORAGE_ENGINE=DEFAULT;
|
||||
|
@ -1,4 +1,5 @@
|
||||
--source include/have_innodb.inc
|
||||
--source include/have_sequence.inc
|
||||
|
||||
SET SESSION DEFAULT_STORAGE_ENGINE='InnoDB';
|
||||
|
||||
@ -18,4 +19,23 @@ set global innodb_stats_persistent_sample_pages=
|
||||
|
||||
set optimizer_switch=@save_optimizer_switch_for_stat_tables_test;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-22851: Engine independent index statistics are incorrect for large tables on Windows.
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1(a INT) ENGINE=INNODB;
|
||||
INSERT INTO t1 SELECT 1 FROM seq_1_to_60000;
|
||||
|
||||
SET @save_use_stat_tables= @@use_stat_tables;
|
||||
SET use_stat_tables= preferably;
|
||||
SELECT count(*) FROM t1;
|
||||
CREATE INDEX idx ON t1(a);
|
||||
ANALYZE TABLE t1 PERSISTENT FOR COLUMNS (a) INDEXES (idx);
|
||||
SELECT * FROM mysql.index_stats where table_name='t1';
|
||||
SELECT * FROM mysql.column_stats where table_name='t1';
|
||||
SET use_stat_tables= @save_use_stat_tables;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo # end of 10.1 tests
|
||||
|
||||
SET SESSION DEFAULT_STORAGE_ENGINE=DEFAULT;
|
||||
|
@ -440,8 +440,8 @@ drop table t1,t3;
|
||||
# MDEV-159 Assertion about not marked for read failed in
|
||||
# String* Field_varstring::val_str(String*, String*)
|
||||
#
|
||||
SET optimizer_switch = REPLACE( @@optimizer_switch, '=on', '=off' );
|
||||
SET optimizer_switch='in_to_exists=on,exists_to_in=on';
|
||||
SET optimizer_switch = REPLACE(REPLACE(@@optimizer_switch, '=on', '=off'), 'in_to_exists=off', 'in_to_exists=on');
|
||||
SET optimizer_switch='exists_to_in=on';
|
||||
CREATE TABLE t1 ( a VARCHAR(1) );
|
||||
INSERT INTO t1 VALUES ('k'),('m');
|
||||
CREATE TABLE t2 ( b INT,
|
||||
@ -596,8 +596,8 @@ Warnings:
|
||||
Note 1276 Field or reference 'test.alias.a' of SELECT #2 was resolved in SELECT #1
|
||||
Note 1276 Field or reference 'test.alias.b' of SELECT #2 was resolved in SELECT #1
|
||||
Note 1003 select `test`.`alias`.`a` AS `a`,`test`.`alias`.`b` AS `b` from `test`.`t1` `alias` semi join (`test`.`t1`) where `test`.`t1`.`a` = `test`.`alias`.`b` and `test`.`alias`.`b` > `test`.`alias`.`a`
|
||||
SET optimizer_switch = REPLACE( @@optimizer_switch, '=on', '=off' );
|
||||
SET optimizer_switch = 'exists_to_in=on,materialization=on,semijoin=off';
|
||||
SET optimizer_switch = REPLACE(REPLACE(@@optimizer_switch, '=on', '=off'), 'materialization=off', 'materialization=on');
|
||||
SET optimizer_switch = 'exists_to_in=on,semijoin=off';
|
||||
SELECT * FROM t1 AS alias
|
||||
WHERE EXISTS ( SELECT * FROM t1 WHERE a > alias.a AND a = alias.b );
|
||||
a b
|
||||
|
@ -330,8 +330,8 @@ drop table t1,t3;
|
||||
--echo # String* Field_varstring::val_str(String*, String*)
|
||||
--echo #
|
||||
|
||||
SET optimizer_switch = REPLACE( @@optimizer_switch, '=on', '=off' );
|
||||
SET optimizer_switch='in_to_exists=on,exists_to_in=on';
|
||||
SET optimizer_switch = REPLACE(REPLACE(@@optimizer_switch, '=on', '=off'), 'in_to_exists=off', 'in_to_exists=on');
|
||||
SET optimizer_switch='exists_to_in=on';
|
||||
|
||||
CREATE TABLE t1 ( a VARCHAR(1) );
|
||||
INSERT INTO t1 VALUES ('k'),('m');
|
||||
@ -466,8 +466,8 @@ explain extended
|
||||
SELECT * FROM t1 AS alias
|
||||
WHERE EXISTS ( SELECT * FROM t1 WHERE a > alias.a AND a = alias.b );
|
||||
|
||||
SET optimizer_switch = REPLACE( @@optimizer_switch, '=on', '=off' );
|
||||
SET optimizer_switch = 'exists_to_in=on,materialization=on,semijoin=off';
|
||||
SET optimizer_switch = REPLACE(REPLACE(@@optimizer_switch, '=on', '=off'), 'materialization=off', 'materialization=on');
|
||||
SET optimizer_switch = 'exists_to_in=on,semijoin=off';
|
||||
SELECT * FROM t1 AS alias
|
||||
WHERE EXISTS ( SELECT * FROM t1 WHERE a > alias.a AND a = alias.b );
|
||||
explain extended
|
||||
|
@ -876,6 +876,989 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-23323 Rounding functions return a wrong data type for a BIT, ENUM, SET argument
|
||||
#
|
||||
BEGIN NOT ATOMIC
|
||||
FOR i IN 1..64
|
||||
DO
|
||||
SELECT '-----', CONCAT('BIT(',i,')') AS Type;
|
||||
EXECUTE IMMEDIATE REPLACE('CREATE TABLE t1 (a BIT(64))','64', i);
|
||||
INSERT IGNORE INTO t1 VALUES (0xFFFFFFFFFFFFFFFF);
|
||||
CREATE TABLE t2 AS SELECT
|
||||
a,
|
||||
FLOOR(a) AS cf,
|
||||
CEILING(a) AS cc,
|
||||
ROUND(a) AS cr,
|
||||
TRUNCATE(a,0) AS ct
|
||||
FROM t1;
|
||||
SHOW CREATE TABLE t2;
|
||||
SELECT CAST(a AS UNSIGNED) AS a, cf, cc, cr, ct FROM t2;
|
||||
DROP TABLE t2;
|
||||
DROP TABLE t1;
|
||||
END FOR;
|
||||
END;
|
||||
$$
|
||||
----- -----
|
||||
Type BIT(1)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(1) DEFAULT NULL,
|
||||
`cf` int(1) unsigned DEFAULT NULL,
|
||||
`cc` int(1) unsigned DEFAULT NULL,
|
||||
`cr` int(1) unsigned DEFAULT NULL,
|
||||
`ct` int(1) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 1
|
||||
cf 1
|
||||
cc 1
|
||||
cr 1
|
||||
ct 1
|
||||
----- -----
|
||||
Type BIT(2)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(2) DEFAULT NULL,
|
||||
`cf` int(1) unsigned DEFAULT NULL,
|
||||
`cc` int(1) unsigned DEFAULT NULL,
|
||||
`cr` int(1) unsigned DEFAULT NULL,
|
||||
`ct` int(1) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 3
|
||||
cf 3
|
||||
cc 3
|
||||
cr 3
|
||||
ct 3
|
||||
----- -----
|
||||
Type BIT(3)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(3) DEFAULT NULL,
|
||||
`cf` int(1) unsigned DEFAULT NULL,
|
||||
`cc` int(1) unsigned DEFAULT NULL,
|
||||
`cr` int(1) unsigned DEFAULT NULL,
|
||||
`ct` int(1) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 7
|
||||
cf 7
|
||||
cc 7
|
||||
cr 7
|
||||
ct 7
|
||||
----- -----
|
||||
Type BIT(4)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(4) DEFAULT NULL,
|
||||
`cf` int(2) unsigned DEFAULT NULL,
|
||||
`cc` int(2) unsigned DEFAULT NULL,
|
||||
`cr` int(2) unsigned DEFAULT NULL,
|
||||
`ct` int(2) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 15
|
||||
cf 15
|
||||
cc 15
|
||||
cr 15
|
||||
ct 15
|
||||
----- -----
|
||||
Type BIT(5)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(5) DEFAULT NULL,
|
||||
`cf` int(2) unsigned DEFAULT NULL,
|
||||
`cc` int(2) unsigned DEFAULT NULL,
|
||||
`cr` int(2) unsigned DEFAULT NULL,
|
||||
`ct` int(2) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 31
|
||||
cf 31
|
||||
cc 31
|
||||
cr 31
|
||||
ct 31
|
||||
----- -----
|
||||
Type BIT(6)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(6) DEFAULT NULL,
|
||||
`cf` int(2) unsigned DEFAULT NULL,
|
||||
`cc` int(2) unsigned DEFAULT NULL,
|
||||
`cr` int(2) unsigned DEFAULT NULL,
|
||||
`ct` int(2) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 63
|
||||
cf 63
|
||||
cc 63
|
||||
cr 63
|
||||
ct 63
|
||||
----- -----
|
||||
Type BIT(7)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(7) DEFAULT NULL,
|
||||
`cf` int(3) unsigned DEFAULT NULL,
|
||||
`cc` int(3) unsigned DEFAULT NULL,
|
||||
`cr` int(3) unsigned DEFAULT NULL,
|
||||
`ct` int(3) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 127
|
||||
cf 127
|
||||
cc 127
|
||||
cr 127
|
||||
ct 127
|
||||
----- -----
|
||||
Type BIT(8)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(8) DEFAULT NULL,
|
||||
`cf` int(3) unsigned DEFAULT NULL,
|
||||
`cc` int(3) unsigned DEFAULT NULL,
|
||||
`cr` int(3) unsigned DEFAULT NULL,
|
||||
`ct` int(3) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 255
|
||||
cf 255
|
||||
cc 255
|
||||
cr 255
|
||||
ct 255
|
||||
----- -----
|
||||
Type BIT(9)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(9) DEFAULT NULL,
|
||||
`cf` int(3) unsigned DEFAULT NULL,
|
||||
`cc` int(3) unsigned DEFAULT NULL,
|
||||
`cr` int(3) unsigned DEFAULT NULL,
|
||||
`ct` int(3) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 511
|
||||
cf 511
|
||||
cc 511
|
||||
cr 511
|
||||
ct 511
|
||||
----- -----
|
||||
Type BIT(10)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(10) DEFAULT NULL,
|
||||
`cf` int(4) unsigned DEFAULT NULL,
|
||||
`cc` int(4) unsigned DEFAULT NULL,
|
||||
`cr` int(4) unsigned DEFAULT NULL,
|
||||
`ct` int(4) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 1023
|
||||
cf 1023
|
||||
cc 1023
|
||||
cr 1023
|
||||
ct 1023
|
||||
----- -----
|
||||
Type BIT(11)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(11) DEFAULT NULL,
|
||||
`cf` int(4) unsigned DEFAULT NULL,
|
||||
`cc` int(4) unsigned DEFAULT NULL,
|
||||
`cr` int(4) unsigned DEFAULT NULL,
|
||||
`ct` int(4) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 2047
|
||||
cf 2047
|
||||
cc 2047
|
||||
cr 2047
|
||||
ct 2047
|
||||
----- -----
|
||||
Type BIT(12)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(12) DEFAULT NULL,
|
||||
`cf` int(4) unsigned DEFAULT NULL,
|
||||
`cc` int(4) unsigned DEFAULT NULL,
|
||||
`cr` int(4) unsigned DEFAULT NULL,
|
||||
`ct` int(4) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 4095
|
||||
cf 4095
|
||||
cc 4095
|
||||
cr 4095
|
||||
ct 4095
|
||||
----- -----
|
||||
Type BIT(13)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(13) DEFAULT NULL,
|
||||
`cf` int(4) unsigned DEFAULT NULL,
|
||||
`cc` int(4) unsigned DEFAULT NULL,
|
||||
`cr` int(4) unsigned DEFAULT NULL,
|
||||
`ct` int(4) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 8191
|
||||
cf 8191
|
||||
cc 8191
|
||||
cr 8191
|
||||
ct 8191
|
||||
----- -----
|
||||
Type BIT(14)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(14) DEFAULT NULL,
|
||||
`cf` int(5) unsigned DEFAULT NULL,
|
||||
`cc` int(5) unsigned DEFAULT NULL,
|
||||
`cr` int(5) unsigned DEFAULT NULL,
|
||||
`ct` int(5) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 16383
|
||||
cf 16383
|
||||
cc 16383
|
||||
cr 16383
|
||||
ct 16383
|
||||
----- -----
|
||||
Type BIT(15)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(15) DEFAULT NULL,
|
||||
`cf` int(5) unsigned DEFAULT NULL,
|
||||
`cc` int(5) unsigned DEFAULT NULL,
|
||||
`cr` int(5) unsigned DEFAULT NULL,
|
||||
`ct` int(5) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 32767
|
||||
cf 32767
|
||||
cc 32767
|
||||
cr 32767
|
||||
ct 32767
|
||||
----- -----
|
||||
Type BIT(16)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(16) DEFAULT NULL,
|
||||
`cf` int(5) unsigned DEFAULT NULL,
|
||||
`cc` int(5) unsigned DEFAULT NULL,
|
||||
`cr` int(5) unsigned DEFAULT NULL,
|
||||
`ct` int(5) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 65535
|
||||
cf 65535
|
||||
cc 65535
|
||||
cr 65535
|
||||
ct 65535
|
||||
----- -----
|
||||
Type BIT(17)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(17) DEFAULT NULL,
|
||||
`cf` int(6) unsigned DEFAULT NULL,
|
||||
`cc` int(6) unsigned DEFAULT NULL,
|
||||
`cr` int(6) unsigned DEFAULT NULL,
|
||||
`ct` int(6) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 131071
|
||||
cf 131071
|
||||
cc 131071
|
||||
cr 131071
|
||||
ct 131071
|
||||
----- -----
|
||||
Type BIT(18)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(18) DEFAULT NULL,
|
||||
`cf` int(6) unsigned DEFAULT NULL,
|
||||
`cc` int(6) unsigned DEFAULT NULL,
|
||||
`cr` int(6) unsigned DEFAULT NULL,
|
||||
`ct` int(6) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 262143
|
||||
cf 262143
|
||||
cc 262143
|
||||
cr 262143
|
||||
ct 262143
|
||||
----- -----
|
||||
Type BIT(19)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(19) DEFAULT NULL,
|
||||
`cf` int(6) unsigned DEFAULT NULL,
|
||||
`cc` int(6) unsigned DEFAULT NULL,
|
||||
`cr` int(6) unsigned DEFAULT NULL,
|
||||
`ct` int(6) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 524287
|
||||
cf 524287
|
||||
cc 524287
|
||||
cr 524287
|
||||
ct 524287
|
||||
----- -----
|
||||
Type BIT(20)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(20) DEFAULT NULL,
|
||||
`cf` int(7) unsigned DEFAULT NULL,
|
||||
`cc` int(7) unsigned DEFAULT NULL,
|
||||
`cr` int(7) unsigned DEFAULT NULL,
|
||||
`ct` int(7) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 1048575
|
||||
cf 1048575
|
||||
cc 1048575
|
||||
cr 1048575
|
||||
ct 1048575
|
||||
----- -----
|
||||
Type BIT(21)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(21) DEFAULT NULL,
|
||||
`cf` int(7) unsigned DEFAULT NULL,
|
||||
`cc` int(7) unsigned DEFAULT NULL,
|
||||
`cr` int(7) unsigned DEFAULT NULL,
|
||||
`ct` int(7) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 2097151
|
||||
cf 2097151
|
||||
cc 2097151
|
||||
cr 2097151
|
||||
ct 2097151
|
||||
----- -----
|
||||
Type BIT(22)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(22) DEFAULT NULL,
|
||||
`cf` int(7) unsigned DEFAULT NULL,
|
||||
`cc` int(7) unsigned DEFAULT NULL,
|
||||
`cr` int(7) unsigned DEFAULT NULL,
|
||||
`ct` int(7) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 4194303
|
||||
cf 4194303
|
||||
cc 4194303
|
||||
cr 4194303
|
||||
ct 4194303
|
||||
----- -----
|
||||
Type BIT(23)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(23) DEFAULT NULL,
|
||||
`cf` int(7) unsigned DEFAULT NULL,
|
||||
`cc` int(7) unsigned DEFAULT NULL,
|
||||
`cr` int(7) unsigned DEFAULT NULL,
|
||||
`ct` int(7) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 8388607
|
||||
cf 8388607
|
||||
cc 8388607
|
||||
cr 8388607
|
||||
ct 8388607
|
||||
----- -----
|
||||
Type BIT(24)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(24) DEFAULT NULL,
|
||||
`cf` int(8) unsigned DEFAULT NULL,
|
||||
`cc` int(8) unsigned DEFAULT NULL,
|
||||
`cr` int(8) unsigned DEFAULT NULL,
|
||||
`ct` int(8) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 16777215
|
||||
cf 16777215
|
||||
cc 16777215
|
||||
cr 16777215
|
||||
ct 16777215
|
||||
----- -----
|
||||
Type BIT(25)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(25) DEFAULT NULL,
|
||||
`cf` int(8) unsigned DEFAULT NULL,
|
||||
`cc` int(8) unsigned DEFAULT NULL,
|
||||
`cr` int(8) unsigned DEFAULT NULL,
|
||||
`ct` int(8) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 33554431
|
||||
cf 33554431
|
||||
cc 33554431
|
||||
cr 33554431
|
||||
ct 33554431
|
||||
----- -----
|
||||
Type BIT(26)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(26) DEFAULT NULL,
|
||||
`cf` int(8) unsigned DEFAULT NULL,
|
||||
`cc` int(8) unsigned DEFAULT NULL,
|
||||
`cr` int(8) unsigned DEFAULT NULL,
|
||||
`ct` int(8) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 67108863
|
||||
cf 67108863
|
||||
cc 67108863
|
||||
cr 67108863
|
||||
ct 67108863
|
||||
----- -----
|
||||
Type BIT(27)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(27) DEFAULT NULL,
|
||||
`cf` int(9) unsigned DEFAULT NULL,
|
||||
`cc` int(9) unsigned DEFAULT NULL,
|
||||
`cr` int(9) unsigned DEFAULT NULL,
|
||||
`ct` int(9) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 134217727
|
||||
cf 134217727
|
||||
cc 134217727
|
||||
cr 134217727
|
||||
ct 134217727
|
||||
----- -----
|
||||
Type BIT(28)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(28) DEFAULT NULL,
|
||||
`cf` int(9) unsigned DEFAULT NULL,
|
||||
`cc` int(9) unsigned DEFAULT NULL,
|
||||
`cr` int(9) unsigned DEFAULT NULL,
|
||||
`ct` int(9) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 268435455
|
||||
cf 268435455
|
||||
cc 268435455
|
||||
cr 268435455
|
||||
ct 268435455
|
||||
----- -----
|
||||
Type BIT(29)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(29) DEFAULT NULL,
|
||||
`cf` int(9) unsigned DEFAULT NULL,
|
||||
`cc` int(9) unsigned DEFAULT NULL,
|
||||
`cr` int(9) unsigned DEFAULT NULL,
|
||||
`ct` int(9) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 536870911
|
||||
cf 536870911
|
||||
cc 536870911
|
||||
cr 536870911
|
||||
ct 536870911
|
||||
----- -----
|
||||
Type BIT(30)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(30) DEFAULT NULL,
|
||||
`cf` int(10) unsigned DEFAULT NULL,
|
||||
`cc` int(10) unsigned DEFAULT NULL,
|
||||
`cr` int(10) unsigned DEFAULT NULL,
|
||||
`ct` int(10) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 1073741823
|
||||
cf 1073741823
|
||||
cc 1073741823
|
||||
cr 1073741823
|
||||
ct 1073741823
|
||||
----- -----
|
||||
Type BIT(31)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(31) DEFAULT NULL,
|
||||
`cf` int(10) unsigned DEFAULT NULL,
|
||||
`cc` int(10) unsigned DEFAULT NULL,
|
||||
`cr` int(10) unsigned DEFAULT NULL,
|
||||
`ct` int(10) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 2147483647
|
||||
cf 2147483647
|
||||
cc 2147483647
|
||||
cr 2147483647
|
||||
ct 2147483647
|
||||
----- -----
|
||||
Type BIT(32)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(32) DEFAULT NULL,
|
||||
`cf` int(10) unsigned DEFAULT NULL,
|
||||
`cc` int(10) unsigned DEFAULT NULL,
|
||||
`cr` int(10) unsigned DEFAULT NULL,
|
||||
`ct` int(10) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 4294967295
|
||||
cf 4294967295
|
||||
cc 4294967295
|
||||
cr 4294967295
|
||||
ct 4294967295
|
||||
----- -----
|
||||
Type BIT(33)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(33) DEFAULT NULL,
|
||||
`cf` bigint(10) unsigned DEFAULT NULL,
|
||||
`cc` bigint(10) unsigned DEFAULT NULL,
|
||||
`cr` bigint(10) unsigned DEFAULT NULL,
|
||||
`ct` bigint(10) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 8589934591
|
||||
cf 8589934591
|
||||
cc 8589934591
|
||||
cr 8589934591
|
||||
ct 8589934591
|
||||
----- -----
|
||||
Type BIT(34)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(34) DEFAULT NULL,
|
||||
`cf` bigint(11) unsigned DEFAULT NULL,
|
||||
`cc` bigint(11) unsigned DEFAULT NULL,
|
||||
`cr` bigint(11) unsigned DEFAULT NULL,
|
||||
`ct` bigint(11) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 17179869183
|
||||
cf 17179869183
|
||||
cc 17179869183
|
||||
cr 17179869183
|
||||
ct 17179869183
|
||||
----- -----
|
||||
Type BIT(35)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(35) DEFAULT NULL,
|
||||
`cf` bigint(11) unsigned DEFAULT NULL,
|
||||
`cc` bigint(11) unsigned DEFAULT NULL,
|
||||
`cr` bigint(11) unsigned DEFAULT NULL,
|
||||
`ct` bigint(11) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 34359738367
|
||||
cf 34359738367
|
||||
cc 34359738367
|
||||
cr 34359738367
|
||||
ct 34359738367
|
||||
----- -----
|
||||
Type BIT(36)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(36) DEFAULT NULL,
|
||||
`cf` bigint(11) unsigned DEFAULT NULL,
|
||||
`cc` bigint(11) unsigned DEFAULT NULL,
|
||||
`cr` bigint(11) unsigned DEFAULT NULL,
|
||||
`ct` bigint(11) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 68719476735
|
||||
cf 68719476735
|
||||
cc 68719476735
|
||||
cr 68719476735
|
||||
ct 68719476735
|
||||
----- -----
|
||||
Type BIT(37)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(37) DEFAULT NULL,
|
||||
`cf` bigint(12) unsigned DEFAULT NULL,
|
||||
`cc` bigint(12) unsigned DEFAULT NULL,
|
||||
`cr` bigint(12) unsigned DEFAULT NULL,
|
||||
`ct` bigint(12) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 137438953471
|
||||
cf 137438953471
|
||||
cc 137438953471
|
||||
cr 137438953471
|
||||
ct 137438953471
|
||||
----- -----
|
||||
Type BIT(38)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(38) DEFAULT NULL,
|
||||
`cf` bigint(12) unsigned DEFAULT NULL,
|
||||
`cc` bigint(12) unsigned DEFAULT NULL,
|
||||
`cr` bigint(12) unsigned DEFAULT NULL,
|
||||
`ct` bigint(12) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 274877906943
|
||||
cf 274877906943
|
||||
cc 274877906943
|
||||
cr 274877906943
|
||||
ct 274877906943
|
||||
----- -----
|
||||
Type BIT(39)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(39) DEFAULT NULL,
|
||||
`cf` bigint(12) unsigned DEFAULT NULL,
|
||||
`cc` bigint(12) unsigned DEFAULT NULL,
|
||||
`cr` bigint(12) unsigned DEFAULT NULL,
|
||||
`ct` bigint(12) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 549755813887
|
||||
cf 549755813887
|
||||
cc 549755813887
|
||||
cr 549755813887
|
||||
ct 549755813887
|
||||
----- -----
|
||||
Type BIT(40)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(40) DEFAULT NULL,
|
||||
`cf` bigint(13) unsigned DEFAULT NULL,
|
||||
`cc` bigint(13) unsigned DEFAULT NULL,
|
||||
`cr` bigint(13) unsigned DEFAULT NULL,
|
||||
`ct` bigint(13) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 1099511627775
|
||||
cf 1099511627775
|
||||
cc 1099511627775
|
||||
cr 1099511627775
|
||||
ct 1099511627775
|
||||
----- -----
|
||||
Type BIT(41)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(41) DEFAULT NULL,
|
||||
`cf` bigint(13) unsigned DEFAULT NULL,
|
||||
`cc` bigint(13) unsigned DEFAULT NULL,
|
||||
`cr` bigint(13) unsigned DEFAULT NULL,
|
||||
`ct` bigint(13) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 2199023255551
|
||||
cf 2199023255551
|
||||
cc 2199023255551
|
||||
cr 2199023255551
|
||||
ct 2199023255551
|
||||
----- -----
|
||||
Type BIT(42)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(42) DEFAULT NULL,
|
||||
`cf` bigint(13) unsigned DEFAULT NULL,
|
||||
`cc` bigint(13) unsigned DEFAULT NULL,
|
||||
`cr` bigint(13) unsigned DEFAULT NULL,
|
||||
`ct` bigint(13) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 4398046511103
|
||||
cf 4398046511103
|
||||
cc 4398046511103
|
||||
cr 4398046511103
|
||||
ct 4398046511103
|
||||
----- -----
|
||||
Type BIT(43)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(43) DEFAULT NULL,
|
||||
`cf` bigint(13) unsigned DEFAULT NULL,
|
||||
`cc` bigint(13) unsigned DEFAULT NULL,
|
||||
`cr` bigint(13) unsigned DEFAULT NULL,
|
||||
`ct` bigint(13) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 8796093022207
|
||||
cf 8796093022207
|
||||
cc 8796093022207
|
||||
cr 8796093022207
|
||||
ct 8796093022207
|
||||
----- -----
|
||||
Type BIT(44)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(44) DEFAULT NULL,
|
||||
`cf` bigint(14) unsigned DEFAULT NULL,
|
||||
`cc` bigint(14) unsigned DEFAULT NULL,
|
||||
`cr` bigint(14) unsigned DEFAULT NULL,
|
||||
`ct` bigint(14) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 17592186044415
|
||||
cf 17592186044415
|
||||
cc 17592186044415
|
||||
cr 17592186044415
|
||||
ct 17592186044415
|
||||
----- -----
|
||||
Type BIT(45)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(45) DEFAULT NULL,
|
||||
`cf` bigint(14) unsigned DEFAULT NULL,
|
||||
`cc` bigint(14) unsigned DEFAULT NULL,
|
||||
`cr` bigint(14) unsigned DEFAULT NULL,
|
||||
`ct` bigint(14) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 35184372088831
|
||||
cf 35184372088831
|
||||
cc 35184372088831
|
||||
cr 35184372088831
|
||||
ct 35184372088831
|
||||
----- -----
|
||||
Type BIT(46)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(46) DEFAULT NULL,
|
||||
`cf` bigint(14) unsigned DEFAULT NULL,
|
||||
`cc` bigint(14) unsigned DEFAULT NULL,
|
||||
`cr` bigint(14) unsigned DEFAULT NULL,
|
||||
`ct` bigint(14) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 70368744177663
|
||||
cf 70368744177663
|
||||
cc 70368744177663
|
||||
cr 70368744177663
|
||||
ct 70368744177663
|
||||
----- -----
|
||||
Type BIT(47)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(47) DEFAULT NULL,
|
||||
`cf` bigint(15) unsigned DEFAULT NULL,
|
||||
`cc` bigint(15) unsigned DEFAULT NULL,
|
||||
`cr` bigint(15) unsigned DEFAULT NULL,
|
||||
`ct` bigint(15) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 140737488355327
|
||||
cf 140737488355327
|
||||
cc 140737488355327
|
||||
cr 140737488355327
|
||||
ct 140737488355327
|
||||
----- -----
|
||||
Type BIT(48)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(48) DEFAULT NULL,
|
||||
`cf` bigint(15) unsigned DEFAULT NULL,
|
||||
`cc` bigint(15) unsigned DEFAULT NULL,
|
||||
`cr` bigint(15) unsigned DEFAULT NULL,
|
||||
`ct` bigint(15) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 281474976710655
|
||||
cf 281474976710655
|
||||
cc 281474976710655
|
||||
cr 281474976710655
|
||||
ct 281474976710655
|
||||
----- -----
|
||||
Type BIT(49)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(49) DEFAULT NULL,
|
||||
`cf` bigint(15) unsigned DEFAULT NULL,
|
||||
`cc` bigint(15) unsigned DEFAULT NULL,
|
||||
`cr` bigint(15) unsigned DEFAULT NULL,
|
||||
`ct` bigint(15) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 562949953421311
|
||||
cf 562949953421311
|
||||
cc 562949953421311
|
||||
cr 562949953421311
|
||||
ct 562949953421311
|
||||
----- -----
|
||||
Type BIT(50)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(50) DEFAULT NULL,
|
||||
`cf` bigint(16) unsigned DEFAULT NULL,
|
||||
`cc` bigint(16) unsigned DEFAULT NULL,
|
||||
`cr` bigint(16) unsigned DEFAULT NULL,
|
||||
`ct` bigint(16) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 1125899906842623
|
||||
cf 1125899906842623
|
||||
cc 1125899906842623
|
||||
cr 1125899906842623
|
||||
ct 1125899906842623
|
||||
----- -----
|
||||
Type BIT(51)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(51) DEFAULT NULL,
|
||||
`cf` bigint(16) unsigned DEFAULT NULL,
|
||||
`cc` bigint(16) unsigned DEFAULT NULL,
|
||||
`cr` bigint(16) unsigned DEFAULT NULL,
|
||||
`ct` bigint(16) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 2251799813685247
|
||||
cf 2251799813685247
|
||||
cc 2251799813685247
|
||||
cr 2251799813685247
|
||||
ct 2251799813685247
|
||||
----- -----
|
||||
Type BIT(52)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(52) DEFAULT NULL,
|
||||
`cf` bigint(16) unsigned DEFAULT NULL,
|
||||
`cc` bigint(16) unsigned DEFAULT NULL,
|
||||
`cr` bigint(16) unsigned DEFAULT NULL,
|
||||
`ct` bigint(16) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 4503599627370495
|
||||
cf 4503599627370495
|
||||
cc 4503599627370495
|
||||
cr 4503599627370495
|
||||
ct 4503599627370495
|
||||
----- -----
|
||||
Type BIT(53)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(53) DEFAULT NULL,
|
||||
`cf` bigint(16) unsigned DEFAULT NULL,
|
||||
`cc` bigint(16) unsigned DEFAULT NULL,
|
||||
`cr` bigint(16) unsigned DEFAULT NULL,
|
||||
`ct` bigint(16) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 9007199254740991
|
||||
cf 9007199254740991
|
||||
cc 9007199254740991
|
||||
cr 9007199254740991
|
||||
ct 9007199254740991
|
||||
----- -----
|
||||
Type BIT(54)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(54) DEFAULT NULL,
|
||||
`cf` bigint(17) unsigned DEFAULT NULL,
|
||||
`cc` bigint(17) unsigned DEFAULT NULL,
|
||||
`cr` bigint(17) unsigned DEFAULT NULL,
|
||||
`ct` bigint(17) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 18014398509481983
|
||||
cf 18014398509481983
|
||||
cc 18014398509481983
|
||||
cr 18014398509481983
|
||||
ct 18014398509481983
|
||||
----- -----
|
||||
Type BIT(55)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(55) DEFAULT NULL,
|
||||
`cf` bigint(17) unsigned DEFAULT NULL,
|
||||
`cc` bigint(17) unsigned DEFAULT NULL,
|
||||
`cr` bigint(17) unsigned DEFAULT NULL,
|
||||
`ct` bigint(17) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 36028797018963967
|
||||
cf 36028797018963967
|
||||
cc 36028797018963967
|
||||
cr 36028797018963967
|
||||
ct 36028797018963967
|
||||
----- -----
|
||||
Type BIT(56)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(56) DEFAULT NULL,
|
||||
`cf` bigint(17) unsigned DEFAULT NULL,
|
||||
`cc` bigint(17) unsigned DEFAULT NULL,
|
||||
`cr` bigint(17) unsigned DEFAULT NULL,
|
||||
`ct` bigint(17) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 72057594037927935
|
||||
cf 72057594037927935
|
||||
cc 72057594037927935
|
||||
cr 72057594037927935
|
||||
ct 72057594037927935
|
||||
----- -----
|
||||
Type BIT(57)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(57) DEFAULT NULL,
|
||||
`cf` bigint(18) unsigned DEFAULT NULL,
|
||||
`cc` bigint(18) unsigned DEFAULT NULL,
|
||||
`cr` bigint(18) unsigned DEFAULT NULL,
|
||||
`ct` bigint(18) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 144115188075855871
|
||||
cf 144115188075855871
|
||||
cc 144115188075855871
|
||||
cr 144115188075855871
|
||||
ct 144115188075855871
|
||||
----- -----
|
||||
Type BIT(58)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(58) DEFAULT NULL,
|
||||
`cf` bigint(18) unsigned DEFAULT NULL,
|
||||
`cc` bigint(18) unsigned DEFAULT NULL,
|
||||
`cr` bigint(18) unsigned DEFAULT NULL,
|
||||
`ct` bigint(18) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 288230376151711743
|
||||
cf 288230376151711743
|
||||
cc 288230376151711743
|
||||
cr 288230376151711743
|
||||
ct 288230376151711743
|
||||
----- -----
|
||||
Type BIT(59)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(59) DEFAULT NULL,
|
||||
`cf` bigint(18) unsigned DEFAULT NULL,
|
||||
`cc` bigint(18) unsigned DEFAULT NULL,
|
||||
`cr` bigint(18) unsigned DEFAULT NULL,
|
||||
`ct` bigint(18) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 576460752303423487
|
||||
cf 576460752303423487
|
||||
cc 576460752303423487
|
||||
cr 576460752303423487
|
||||
ct 576460752303423487
|
||||
----- -----
|
||||
Type BIT(60)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(60) DEFAULT NULL,
|
||||
`cf` bigint(19) unsigned DEFAULT NULL,
|
||||
`cc` bigint(19) unsigned DEFAULT NULL,
|
||||
`cr` bigint(19) unsigned DEFAULT NULL,
|
||||
`ct` bigint(19) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 1152921504606846975
|
||||
cf 1152921504606846975
|
||||
cc 1152921504606846975
|
||||
cr 1152921504606846975
|
||||
ct 1152921504606846975
|
||||
----- -----
|
||||
Type BIT(61)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(61) DEFAULT NULL,
|
||||
`cf` bigint(19) unsigned DEFAULT NULL,
|
||||
`cc` bigint(19) unsigned DEFAULT NULL,
|
||||
`cr` bigint(19) unsigned DEFAULT NULL,
|
||||
`ct` bigint(19) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 2305843009213693951
|
||||
cf 2305843009213693951
|
||||
cc 2305843009213693951
|
||||
cr 2305843009213693951
|
||||
ct 2305843009213693951
|
||||
----- -----
|
||||
Type BIT(62)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(62) DEFAULT NULL,
|
||||
`cf` bigint(19) unsigned DEFAULT NULL,
|
||||
`cc` bigint(19) unsigned DEFAULT NULL,
|
||||
`cr` bigint(19) unsigned DEFAULT NULL,
|
||||
`ct` bigint(19) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 4611686018427387903
|
||||
cf 4611686018427387903
|
||||
cc 4611686018427387903
|
||||
cr 4611686018427387903
|
||||
ct 4611686018427387903
|
||||
----- -----
|
||||
Type BIT(63)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(63) DEFAULT NULL,
|
||||
`cf` bigint(19) unsigned DEFAULT NULL,
|
||||
`cc` bigint(19) unsigned DEFAULT NULL,
|
||||
`cr` bigint(19) unsigned DEFAULT NULL,
|
||||
`ct` bigint(19) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 9223372036854775807
|
||||
cf 9223372036854775807
|
||||
cc 9223372036854775807
|
||||
cr 9223372036854775807
|
||||
ct 9223372036854775807
|
||||
----- -----
|
||||
Type BIT(64)
|
||||
Table t2
|
||||
Create Table CREATE TABLE `t2` (
|
||||
`a` bit(64) DEFAULT NULL,
|
||||
`cf` bigint(20) unsigned DEFAULT NULL,
|
||||
`cc` bigint(20) unsigned DEFAULT NULL,
|
||||
`cr` bigint(20) unsigned DEFAULT NULL,
|
||||
`ct` bigint(20) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
a 18446744073709551615
|
||||
cf 18446744073709551615
|
||||
cc 18446744073709551615
|
||||
cr 18446744073709551615
|
||||
ct 18446744073709551615
|
||||
#
|
||||
# End of 10.4 tests
|
||||
#
|
||||
#
|
||||
|
@ -507,6 +507,35 @@ EXPLAIN SELECT * FROM t1 WHERE a=200;
|
||||
EXPLAIN SELECT * FROM t1 WHERE a<=>200;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-23323 Rounding functions return a wrong data type for a BIT, ENUM, SET argument
|
||||
--echo #
|
||||
|
||||
--vertical_results
|
||||
DELIMITER $$;
|
||||
BEGIN NOT ATOMIC
|
||||
FOR i IN 1..64
|
||||
DO
|
||||
SELECT '-----', CONCAT('BIT(',i,')') AS Type;
|
||||
EXECUTE IMMEDIATE REPLACE('CREATE TABLE t1 (a BIT(64))','64', i);
|
||||
INSERT IGNORE INTO t1 VALUES (0xFFFFFFFFFFFFFFFF);
|
||||
CREATE TABLE t2 AS SELECT
|
||||
a,
|
||||
FLOOR(a) AS cf,
|
||||
CEILING(a) AS cc,
|
||||
ROUND(a) AS cr,
|
||||
TRUNCATE(a,0) AS ct
|
||||
FROM t1;
|
||||
SHOW CREATE TABLE t2;
|
||||
SELECT CAST(a AS UNSIGNED) AS a, cf, cc, cr, ct FROM t2;
|
||||
DROP TABLE t2;
|
||||
DROP TABLE t1;
|
||||
END FOR;
|
||||
END;
|
||||
$$
|
||||
DELIMITER ;$$
|
||||
--horizontal_results
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.4 tests
|
||||
|
@ -1089,5 +1089,19 @@ CAST(1012.5 AS DATE) * 1.0
|
||||
Warnings:
|
||||
Note 1292 Truncated incorrect date value: '1012.5'
|
||||
#
|
||||
# MDEV-23351 Rounding functions return wrong data types for DATE input
|
||||
#
|
||||
CREATE TABLE t1 (a date);
|
||||
CREATE TABLE t2 AS SELECT FLOOR(a), CEIL(a),ROUND(a),TRUNCATE(a,0) FROM t1;
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`FLOOR(a)` int(8) unsigned DEFAULT NULL,
|
||||
`CEIL(a)` int(8) unsigned DEFAULT NULL,
|
||||
`ROUND(a)` int(8) unsigned DEFAULT NULL,
|
||||
`TRUNCATE(a,0)` int(8) unsigned DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t2,t1;
|
||||
#
|
||||
# End of 10.4 tests
|
||||
#
|
||||
|
@ -740,6 +740,14 @@ SET sql_mode=DEFAULT;
|
||||
SELECT NULLIF(CAST(1012.5 AS DATE), 1);
|
||||
SELECT CAST(1012.5 AS DATE) * 1.0;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-23351 Rounding functions return wrong data types for DATE input
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (a date);
|
||||
CREATE TABLE t2 AS SELECT FLOOR(a), CEIL(a),ROUND(a),TRUNCATE(a,0) FROM t1;
|
||||
SHOW CREATE TABLE t2;
|
||||
DROP TABLE t2,t1;
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.4 tests
|
||||
|
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