1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

Merge 10.6 into 10.11

Some fixes related to commit f838b2d799 and
Rows_log_event::do_apply_event() and Update_rows_log_event::do_exec_row()
for system-versioned tables were provided by Nikita Malyavin.
This was required by test versioning.rpl,trx_id,row.
This commit is contained in:
Marko Mäkelä
2024-03-28 09:16:57 +02:00
319 changed files with 7106 additions and 3441 deletions

View File

@ -103,7 +103,6 @@ connection con2;
# The following query should hang because con1 is locking the record
update t2 set a=2 where b = 0;
select * from t2;
--send
update t1 set x=2 where id = 0;
--sleep 2

View File

@ -22,7 +22,6 @@ select * from t1;
connection con1;
begin work;
insert into t1 values (5);
select * from t1;
# Lock wait timeout set to 2 seconds in <THIS TEST>-master.opt; this
# statement will time out; in 5.0.13+, it will not roll back transaction.
--error ER_LOCK_WAIT_TIMEOUT

View File

@ -9,9 +9,6 @@
#
# The environment variables SEARCH_FILE and SEARCH_PATTERN must be set
# before sourcing this routine.
# SEARCH_TYPE can also be set to either NULL(default) or _gm_
# NULL is equivalent of using m/SEARCH_PATTERN/gs
# _gm_ is equivalent of using m/SEARCH_RANGE/gm
#
# Optionally, SEARCH_RANGE can be set to the max number of bytes of the file
# to search. If negative, it will search that many bytes at the end of the
@ -52,15 +49,12 @@
# Created: 2011-11-11 mleich
#
--error 0,1
perl;
use strict;
die "SEARCH_FILE not set" unless $ENV{SEARCH_FILE};
my @search_files= glob($ENV{SEARCH_FILE});
my $search_pattern= $ENV{SEARCH_PATTERN} or die "SEARCH_PATTERN not set";
my $search_range= $ENV{SEARCH_RANGE};
my $silent= $ENV{SEARCH_SILENT};
my $search_result= 0;
my $content;
foreach my $search_file (@search_files) {
open(FILE, '<', $search_file) || die("Can't open file $search_file: $!");
@ -84,52 +78,23 @@ perl;
close(FILE);
$content.= $file_content;
}
my @matches;
if (not defined($ENV{SEARCH_TYPE}))
{
@matches=($content =~ /$search_pattern/gs);
}
elsif($ENV{SEARCH_TYPE} == "_gm_")
{
@matches=($content =~ /$search_pattern/gm);
}
my $res;
if (@matches)
{
$res="FOUND " . scalar(@matches);
$search_result= 1;
}
else
{
$res= "NOT FOUND";
}
my @matches= ($content =~ /$search_pattern/gs);
my $res=@matches ? "FOUND " . scalar(@matches) : "NOT FOUND";
$ENV{SEARCH_FILE} =~ s{^.*?([^/\\]+)$}{$1};
if (!$silent || $search_result)
{
if ($ENV{SEARCH_OUTPUT} eq "matches")
{
foreach (@matches)
{
print $_ . "\n";
}
}
elsif ($ENV{SEARCH_OUTPUT} eq "count")
{
print "$res matches in $ENV{SEARCH_FILE}\n";
}
else
{
print "$res /$search_pattern/ in $ENV{SEARCH_FILE}\n";
if ($ENV{SEARCH_OUTPUT} eq "matches") {
foreach (@matches) {
print $_ . "\n";
}
}
die "$ENV{SEARCH_ABORT}\n"
if $ENV{SEARCH_ABORT} && $res =~ /^$ENV{SEARCH_ABORT}/;
exit($search_result != 1);
elsif ($ENV{SEARCH_OUTPUT} eq "count")
{
print "$res matches in $ENV{SEARCH_FILE}\n";
}
elsif ($ENV{SEARCH_ABORT} and $res =~ /^$ENV{SEARCH_ABORT}/) {
die "$res /$search_pattern/ in $ENV{SEARCH_FILE}\n";
} else {
print "$res /$search_pattern/ in $ENV{SEARCH_FILE}\n";
}
EOF
let $SEARCH_RESULT= 1; # Found pattern
if ($errno)
{
let $SEARCH_RESULT= 0; # Did not find pattern
}

View File

@ -25,23 +25,23 @@ if (!$_timeout)
}
let $_timeout_counter=`SELECT $_timeout * 10`;
let SEARCH_SILENT=1;
let SEARCH_ABORT=NOT FOUND;
let $_continue= 1;
disable_abort_on_error;
while ($_continue)
{
source include/search_pattern_in_file.inc;
if ($SEARCH_RESULT)
if (!$errno)
{
# Found match
let $_continue= 0;
}
if (!$SEARCH_RESULT)
if ($errno)
{
dec $_timeout_counter;
if ($_timeout_counter == 1)
{
let $SEARCH_SILENT= 0;
enable_abort_on_error;
}
if (!$_timeout_counter)
{
@ -49,8 +49,7 @@ while ($_continue)
}
}
}
let SEARCH_SILENT=0;
enable_abort_on_error;
--source include/end_include_file.inc
--let $keep_include_silent=$wait_save_keep_include_silent