1--disable_warnings 2let $MYSQLD_DATADIR= `select @@datadir`; 3let $restart_file= $MYSQLTEST_VARDIR/tmp/mysqld.1.expect; 4let $error_log= $MYSQLTEST_VARDIR/log/my_restart.err; 5select variable_name, variable_value from information_schema.global_variables where variable_name="rocksdb_ignore_unknown_options"; 6 7# 8# MariaDB: The following shell commands are not portable so we are 9# using perl instead: 10#--exec find $MYSQLD_DATADIR/#rocksdb/OPTIONS* | sort -t- -k 2 -n | tail -1 | xargs -0 -I {} -t sh -c "sed -i 's/rocksdb_version=.*/rocksdb_version=99.9.9/' {}" 11#--exec find $MYSQLD_DATADIR/#rocksdb/OPTIONS* | sort -t- -k 2 -n | tail -1 | xargs -0 -I {} -t sh -c "echo hello=world>>{}" 12 13perl; 14 my $path=$ENV{MYSQLTEST_VARDIR} . "/mysqld.1/data/\#rocksdb"; 15 opendir(my $dh, $path) || die "Can't opendir $some_dir: $!"; 16 my @files = grep { /^OPTIONS/ } readdir($dh); 17 closedir($dh); 18 19 sub compare_second_as_number { 20 local $aa= shift; 21 local $bb= shift; 22 $aa =~ s/OPTIONS-//; 23 $bb =~ s/OPTIONS-//; 24 return $aa <=> $bb; 25 } 26 27 @sorted_files = sort { compare_second_as_number($a, $b); } @files; 28 my $last_file= $sorted_files[-1]; 29 30 my $contents=""; 31 open(my $fh, "<", "$path/$last_file") || die ("Couldn't open $path/$last_file"); 32 while (<$fh>) { 33 $_ =~ s/rocksdb_version=.*/rocksdb_version=99.9.9/; 34 $contents .= $_; 35 } 36 close($fh); 37 $contents .= "hello=world\n"; 38 open(my $fh, ">", "$path/$last_file") || die("Can't open $path/$file for writing"); 39 print $fh $contents; 40 close($fh); 41EOF 42 43--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect 44--shutdown_server 45 46--error 1 47--exec $MYSQLD_CMD --plugin_load=$HA_ROCKSDB_SO --rocksdb_ignore_unknown_options=0 --log-error=$error_log 48 49let SEARCH_FILE= $error_log; 50let SEARCH_PATTERN= RocksDB: Compatibility check against existing database options failed; 51--source include/search_pattern_in_file.inc 52--remove_file $error_log 53--enable_reconnect 54--exec echo "restart" > $restart_file 55--source include/wait_until_connected_again.inc 56select variable_name, variable_value from information_schema.global_variables where variable_name="rocksdb_ignore_unknown_options"; 57