Commit ae676e85 authored by Bjorn Munch's avatar Bjorn Munch

upmerge 51590

parents 6e90fa4c 1a6a5402
...@@ -7536,9 +7536,6 @@ void get_command_type(struct st_command* command) ...@@ -7536,9 +7536,6 @@ void get_command_type(struct st_command* command)
sizeof(saved_expected_errors)); sizeof(saved_expected_errors));
DBUG_PRINT("info", ("There are %d expected errors", DBUG_PRINT("info", ("There are %d expected errors",
command->expected_errors.count)); command->expected_errors.count));
command->abort_on_error= (command->expected_errors.count == 0 &&
abort_on_error);
DBUG_VOID_RETURN; DBUG_VOID_RETURN;
} }
...@@ -7886,6 +7883,10 @@ int main(int argc, char **argv) ...@@ -7886,6 +7883,10 @@ int main(int argc, char **argv)
command->type= Q_COMMENT; command->type= Q_COMMENT;
} }
/* (Re-)set abort_on_error for this command */
command->abort_on_error= (command->expected_errors.count == 0 &&
abort_on_error);
/* delimiter needs to be executed so we can continue to parse */ /* delimiter needs to be executed so we can continue to parse */
my_bool ok_to_do= cur_block->ok || command->type == Q_DELIMITER; my_bool ok_to_do= cur_block->ok || command->type == Q_DELIMITER;
/* /*
......
...@@ -325,6 +325,7 @@ outer=2 ifval=0 ...@@ -325,6 +325,7 @@ outer=2 ifval=0
outer=1 ifval=1 outer=1 ifval=1
here is the sourced script here is the sourced script
ERROR 42S02: Table 'test.nowhere' doesn't exist ERROR 42S02: Table 'test.nowhere' doesn't exist
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'else' at line 1
In loop In loop
here is the sourced script here is the sourced script
......
...@@ -863,7 +863,7 @@ while ($outer) ...@@ -863,7 +863,7 @@ while ($outer)
} }
# Test source in an if in a while which is false on 1st iteration # Test source in an if in a while which is false on 1st iteration
# Also test --error in same context # Also test --error and --disable_abort_on_error in same context
let $outer= 2; # Number of outer loops let $outer= 2; # Number of outer loops
let $ifval= 0; # false 1st time let $ifval= 0; # false 1st time
while ($outer) while ($outer)
...@@ -874,6 +874,10 @@ while ($outer) ...@@ -874,6 +874,10 @@ while ($outer)
--source $MYSQLTEST_VARDIR/tmp/sourced.inc --source $MYSQLTEST_VARDIR/tmp/sourced.inc
--error ER_NO_SUCH_TABLE --error ER_NO_SUCH_TABLE
SELECT * from nowhere; SELECT * from nowhere;
--disable_abort_on_error
# Statement giving a different error, to make sure we don't mask it
SELECT * FROM nowhere else;
--enable_abort_on_error
} }
dec $outer; dec $outer;
inc $ifval; inc $ifval;
...@@ -1724,7 +1728,16 @@ select 1; ...@@ -1724,7 +1728,16 @@ select 1;
--reap --reap
EOF EOF
--error 1 --error 1
--exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/mysqltest.in 2>&1 # Must filter unpredictable extra warning from output
--exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/mysqltest.in > $MYSQL_TMP_DIR/mysqltest.out 2>&1
--perl
my $dir= $ENV{'MYSQL_TMP_DIR'};
open (FILE, "$dir/mysqltest.out");
while (<FILE>) {
print unless /Note: net_clear/; # This shows up on rare occations
}
EOF
remove_file $MYSQL_TMP_DIR/mysqltest.out;
remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.in; remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.in;
drop table t1; drop table t1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment