Skip to content
Permalink
Browse files
MDEV-26142: Fix failures of the tests main.features and sys_vars.stor…
…ed_program_cache_func when they are run in PS mode

These tests produced different results in case they were run
with the option --ps-protocol.

These tests produced different result sets since a value of
Feature_subquery and handler_read_key status system variables
are updated one time more for ps-protocol (the first time it is updated
on Prepare phase and the second time on Execute phase of PS protocol)
So different result sets are expected for both tests. To make tests
successfully runnable both for case it is run with and without
the option --ps-protocol the new protocol combination [ps, nm]
and protocol specific result files have been added.

Moreover, the perl script mysql-test/mariadb-test-run.pl
has been updated to make the variable opt_ps_protocol visible
outside perl file containing this variable.
  • Loading branch information
dmitryshulga committed Jul 15, 2021
1 parent ff0d3bb commit 429382c
Show file tree
Hide file tree
Showing 8 changed files with 54 additions and 9 deletions.
@@ -0,0 +1,3 @@
[nm]

[ps]
@@ -0,0 +1,2 @@
# The goal of including this file is to enable protocol
# combinations (see include/protocol.combinations)
@@ -0,0 +1,21 @@
--- features.result
+++ features,ps.result
@@ -46,7 +46,7 @@
1212
show status like "feature_dynamic_columns";
Variable_name Value
-Feature_dynamic_columns 2
+Feature_dynamic_columns 4
#
# Feature fulltext
#
@@ -93,7 +93,7 @@
drop table t1;
show status like "feature_subquery";
Variable_name Value
-Feature_subquery 4
+Feature_subquery 5
#
# Feature timezone
#

@@ -1,10 +1,7 @@
# Testing of feature statistics
if (`SELECT $PS_PROTOCOL != 0`)
{
--skip Test temporarily disabled for ps-protocol
}

-- source include/have_geometry.inc
-- source include/protocol.inc

--disable_warnings
drop table if exists t1;
@@ -244,7 +244,7 @@ END
my $opt_skip_ssl;
my @opt_skip_test_list;
our $opt_ssl_supported;
my $opt_ps_protocol;
our $opt_ps_protocol;
my $opt_sp_protocol;
my $opt_cursor_protocol;
my $opt_view_protocol;
@@ -25,6 +25,12 @@ sub skip_combinations {
$skip{'include/platform.combinations'} = [ 'aix', 'win' ];
}

if ( $::opt_ps_protocol ) {
$skip{'include/protocol.combinations'} = [ 'nm' ];
} else {
$skip{'include/protocol.combinations'} = [ 'ps' ];
}

$skip{'include/maybe_debug.combinations'} =
[ defined $::mysqld_variables{'debug-dbug'} ? 'release' : 'debug' ];

@@ -0,0 +1,18 @@
--- stored_program_cache_func.result
+++ stored_program_cache_func,ps.result
@@ -21,13 +21,13 @@
1
show status like 'handler_read_key';
Variable_name Value
-Handler_read_key 2
+Handler_read_key 3
call p1;
1
1
show status like 'handler_read_key';
Variable_name Value
-Handler_read_key 3
+Handler_read_key 5
drop procedure p1;
set global stored_program_cache=default;
create procedure pr(i int) begin
@@ -1,7 +1,5 @@
if (`SELECT $PS_PROTOCOL != 0`)
{
--skip Test temporarily disabled for ps-protocol
}
--source include/protocol.inc

create procedure p1() select 1;

flush status;

0 comments on commit 429382c

Please sign in to comment.