summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--storage/maria/ma_loghandler.c21
-rw-r--r--storage/maria/ma_loghandler.h5
-rwxr-xr-xstorage/maria/unittest/ma_test_all-t424
-rw-r--r--storage/maria/unittest/ma_test_loghandler-t.c3
-rw-r--r--storage/maria/unittest/ma_test_loghandler_first_lsn-t.c3
-rw-r--r--storage/maria/unittest/ma_test_loghandler_max_lsn-t.c3
-rw-r--r--storage/maria/unittest/ma_test_loghandler_multigroup-t.c4
-rw-r--r--storage/maria/unittest/ma_test_loghandler_multithread-t.c3
-rw-r--r--storage/maria/unittest/ma_test_loghandler_noflush-t.c3
-rw-r--r--storage/maria/unittest/ma_test_loghandler_nologs-t.c6
-rw-r--r--storage/maria/unittest/ma_test_loghandler_pagecache-t.c3
-rw-r--r--storage/maria/unittest/ma_test_loghandler_purge-t.c3
12 files changed, 460 insertions, 21 deletions
diff --git a/storage/maria/ma_loghandler.c b/storage/maria/ma_loghandler.c
index c0a79c0be91..bafbe3a10f2 100644
--- a/storage/maria/ma_loghandler.c
+++ b/storage/maria/ma_loghandler.c
@@ -2807,13 +2807,15 @@ static void translog_free_link(PAGECACHE_BLOCK_LINK *direct_link)
@param last_page_ok Result of the check whether last page OK.
(for now only we check only that file length
divisible on page length).
+ @param no_errors suppress messages about non-critical errors
@retval 0 OK
@retval 1 Error
*/
static my_bool translog_get_last_page_addr(TRANSLOG_ADDRESS *addr,
- my_bool *last_page_ok)
+ my_bool *last_page_ok,
+ my_bool no_errors)
{
MY_STAT stat_buff, *local_stat;
char path[FN_REFLEN];
@@ -2822,7 +2824,8 @@ static my_bool translog_get_last_page_addr(TRANSLOG_ADDRESS *addr,
DBUG_ENTER("translog_get_last_page_addr");
if (!(local_stat= my_stat(translog_filename_by_fileno(file_no, path),
- &stat_buff, MYF(MY_WME))))
+ &stat_buff,
+ (no_errors ? MYF(0) : MYF(MY_WME)))))
DBUG_RETURN(1);
DBUG_PRINT("info", ("File size: %lu", (ulong) local_stat->st_size));
if (local_stat->st_size > TRANSLOG_PAGE_SIZE)
@@ -3049,6 +3052,7 @@ my_bool translog_is_log_files()
TRANSLOG_RECORD_CRC)
@param read_only Put transaction log in read-only mode
@param init_table_func function to initialize record descriptors table
+ @param no_errors suppress messages about non-critical errors
@todo
Free used resources in case of error.
@@ -3062,7 +3066,8 @@ my_bool translog_init_with_table(const char *directory,
uint32 server_version,
uint32 server_id, PAGECACHE *pagecache,
uint flags, my_bool readonly,
- void (*init_table_func)())
+ void (*init_table_func)(),
+ my_bool no_errors)
{
int i;
int old_log_was_recovered= 0, logs_found= 0;
@@ -3217,7 +3222,7 @@ my_bool translog_init_with_table(const char *directory,
}
/* Set horizon to the beginning of the last file first */
log_descriptor.horizon= last_page= MAKE_LSN(last_logno, 0);
- if (translog_get_last_page_addr(&last_page, &pageok))
+ if (translog_get_last_page_addr(&last_page, &pageok, no_errors))
{
if (!translog_is_log_files())
{
@@ -3238,7 +3243,7 @@ my_bool translog_init_with_table(const char *directory,
else
{
last_page-= LSN_ONE_FILE;
- if (translog_get_last_page_addr(&last_page, &pageok))
+ if (translog_get_last_page_addr(&last_page, &pageok, 0))
DBUG_RETURN(1);
}
}
@@ -3317,7 +3322,7 @@ my_bool translog_init_with_table(const char *directory,
{
TRANSLOG_ADDRESS current_file_last_page;
current_file_last_page= current_page;
- if (translog_get_last_page_addr(&current_file_last_page, &pageok))
+ if (translog_get_last_page_addr(&current_file_last_page, &pageok, 0))
DBUG_RETURN(1);
if (!pageok)
{
@@ -3593,7 +3598,7 @@ my_bool translog_init_with_table(const char *directory,
}
file_no--;
page_addr= MAKE_LSN(file_no, TRANSLOG_PAGE_SIZE);
- translog_get_last_page_addr(&page_addr, &last_page_ok);
+ translog_get_last_page_addr(&page_addr, &last_page_ok, 0);
/* page should be OK as it is not the last file */
DBUG_ASSERT(last_page_ok);
}
@@ -5842,7 +5847,7 @@ static my_bool translog_scanner_set_last_page(TRANSLOG_SCANNER_DATA *scanner)
return (0);
}
scanner->last_file_page= scanner->page_addr;
- return (translog_get_last_page_addr(&scanner->last_file_page, &page_ok));
+ return (translog_get_last_page_addr(&scanner->last_file_page, &page_ok, 0));
}
diff --git a/storage/maria/ma_loghandler.h b/storage/maria/ma_loghandler.h
index 28a687fa49d..8adaea43260 100644
--- a/storage/maria/ma_loghandler.h
+++ b/storage/maria/ma_loghandler.h
@@ -257,7 +257,7 @@ C_MODE_START
extern void translog_example_table_init();
extern void translog_table_init();
#define translog_init(D,M,V,I,C,F,R) \
- translog_init_with_table(D,M,V,I,C,F,R,&translog_table_init)
+ translog_init_with_table(D,M,V,I,C,F,R,&translog_table_init,0)
extern my_bool translog_init_with_table(const char *directory,
uint32 log_file_max_size,
uint32 server_version,
@@ -265,7 +265,8 @@ extern my_bool translog_init_with_table(const char *directory,
PAGECACHE *pagecache,
uint flags,
my_bool readonly,
- void (*init_table_func)());
+ void (*init_table_func)(),
+ my_bool no_error);
extern my_bool
translog_write_record(LSN *lsn, enum translog_record_type type, TRN *trn,
diff --git a/storage/maria/unittest/ma_test_all-t b/storage/maria/unittest/ma_test_all-t
new file mode 100755
index 00000000000..69f8cbe1c09
--- /dev/null
+++ b/storage/maria/unittest/ma_test_all-t
@@ -0,0 +1,424 @@
+#!/usr/bin/perl -w
+#
+# Run various unit tests.
+#
+
+my $maria_path= $ENV{'maria_path'};
+
+run_tests();
+
+####
+#### Initialise variables, clean temporary files and run the tests
+####
+
+sub run_tests
+{
+ my $valgrind_opt= "valgrind --alignment=8 --leak-check=yes";
+ my $silent_opt= "-s";
+ my $suffix= "";
+ my $nr_tests= 0;
+
+ #
+ # initialisations and previous run clean-ups
+ #
+
+ $maria_path= "." if (!defined($maria_path) || !length($maria_path));
+ unlink <*.TMD maria_log*>; # Delete temporary files
+
+ #
+ # IMPORTANT: If you modify this file, please read this:
+ #
+ # Count total number of tests. Make sure that the functions return
+ # number of unit tests correctly, e.g. calls to ok(). The last argument
+ # for each function is a flag counter and will return the number of
+ # unit tests in each. Please see comments on function ok() at the end.
+ #
+ # If you modify any functions or add any new ones, please make sure the
+ # unit tests are appropriately detected here. A wrong count will
+ # make the unit test fail during 'make test'. $nr_tests must be right.
+ #
+
+ $nr_tests+= run_check_tests(0, 0, 0, 0, 1) * 4; #
+ $nr_tests+= run_repair_tests(0, 0, 0, 0, 1) * 4; # called 4 times
+ $nr_tests+= run_pack_tests(0, 0, 0, 0, 1) * 4; #
+ $nr_tests+= run_tests_on_warnings_and_errors(0, 0, 0, 1);
+ $nr_tests+= run_ma_test_recovery(0, 1);
+ $nr_tests+= run_tests_on_clrs(0, 1);
+
+ #
+ # Run tests
+ #
+
+ print "1..$nr_tests\n";
+
+ print "Running tests with dynamic row format\n";
+ run_check_tests($suffix, $silent_opt, "", 0, 0);
+ run_repair_tests($suffix, $silent_opt, "", 0, 0);
+ run_pack_tests($suffix, $silent_opt, "", 0, 0);
+
+ print "Running tests with static row format\n";
+ run_check_tests($suffix, $silent_opt, "-S", 0, 0);
+ run_repair_tests($suffix, $silent_opt, "-S", 0, 0);
+ run_pack_tests($suffix, $silent_opt, "-S", 0, 0);
+
+ print "Running tests with block row format\n";
+ run_check_tests($suffix, $silent_opt, "-M", 0, 0);
+ run_repair_tests($suffix, $silent_opt, "-M", 0, 0);
+ run_pack_tests($suffix, $silent_opt, "-M", 0, 0);
+
+ print "Running tests with block row format and transactions\n";
+ run_check_tests($suffix, $silent_opt, "-M -T", 0, 0);
+ run_repair_tests($suffix, $silent_opt, "-M -T", 0, 0);
+ run_pack_tests($suffix, $silent_opt, "-M -T", 0, 0);
+
+ run_tests_on_warnings_and_errors($suffix, $silent_opt, 0, 0);
+ run_ma_test_recovery(0, 0);
+ run_tests_on_clrs(0, 0);
+
+ return;
+}
+
+####
+#### regular tests
+####
+
+sub run_check_tests
+{
+ my ($suffix, $silent, $row_type, $verbose, $count)= @_;
+ my ($i, $nr_tests);
+ my @ma_test1_opt= ( ["","-se"],
+ ["-N","-se"],
+ ["-P --checksum","-se"],
+ ["-P -N","-se"],
+ ["-B -N -R2","-sm"],
+ ["-a -k 480 --unique","-sm"],
+ ["-a -N -R1 ","-sm"],
+ ["-p","-sm"],
+ ["-p -N --unique","-sm"],
+ ["-p -N --key_length=127 --checksum","-sm"],
+ ["-p -N --key_length=128","-sm"],
+ ["-p --key_length=480","-sm"],
+ ["-a -B","-sm"],
+ ["-a -B --key_length=64 --unique","-sm"],
+ ["-a -B -k 480 --checksum","-sm"],
+ ["-a -B -k 480 -N --unique --checksum","-sm"],
+ ["-a -m","-sm"],
+ ["-a -m -P --unique --checksum","-sm"],
+ ["-a -m -P --key_length=480 --key_cache","-sm"],
+ ["-m -p","-sm"],
+ ["-w --unique","-sm"],
+ ["-a -w --key_length=64 --checksum","-sm"],
+ ["-a -w -N --key_length=480","-sm"],
+ ["-a -w --key_length=480 --checksum","-sm"],
+ ["-a -b -N","-sm"],
+ ["-a -b --key_length=480","-sm"],
+ ["-p -B --key_length=480","-sm"],
+ ["--checksum --unique","-se"],
+ ["--unique","-se"],
+ ["--key_multiple -N -S","-sm"],
+ ["--key_multiple -a -p --key_length=480","-sm"],
+ ["--key_multiple -a -B --key_length=480","-sm"],
+ ["--key_multiple -P -S","-sm"] );
+ my @ma_test2_opt= ( ["-L -K -W -P","-sm"],
+ ["-L -K -W -P -A","-sm"],
+ ["-L -K -P -R3 -m50 -b1000000","-sm"],
+ ["-L -B","-sm"],
+ ["-D -B -c","-sm"],
+ ["-m10000 -e4096 -K","-sm"],
+ ["-m10000 -e8192 -K","-sm"],
+ ["-m10000 -e16384 -E16384 -K -L","-sm"],
+ ["-c -b65000","-se"] );
+
+ if ($count)
+ {
+ $nr_tests= 2; # Number of tests outside loops
+ for ($i= 0; defined($ma_test1_opt[$i]); $i++) { $nr_tests+=2; }
+ for ($i= 0; defined($ma_test2_opt[$i]); $i++) { $nr_tests+=2; }
+ return $nr_tests;
+ }
+
+ for ($i= 0; defined($ma_test1_opt[$i]); $i++)
+ {
+ unlink <maria_log_control maria_log.*>;
+ ok("$maria_path/ma_test1$suffix $silent $ma_test1_opt[$i][0] $row_type",
+ $verbose, $i + 1);
+ ok("$maria_path/maria_chk$suffix $ma_test1_opt[$i][1] test1",
+ $verbose, $i + 1);
+ }
+ #
+ # These tests are outside the loops. Make sure to include them in
+ # nr_tests manually
+ #
+ ok("$maria_path/maria_pack$suffix --force -s test1", $verbose, 0);
+ ok("$maria_path/maria_chk$suffix -ess test1", $verbose, 0);
+
+ for ($i= 0; defined($ma_test2_opt[$i]); $i++)
+ {
+ unlink <maria_log_control maria_log.*>;
+ ok("$maria_path/ma_test2$suffix $silent $ma_test2_opt[$i][0] $row_type",
+ $verbose, $i + 1);
+ ok("$maria_path/maria_chk$suffix $ma_test2_opt[$i][1] test2",
+ $verbose, $i + 1);
+ }
+ unlink <rm -f maria_log_control maria_log.*>;
+
+ return 0;
+}
+
+####
+#### repair tests
+####
+
+sub run_repair_tests()
+{
+ my ($suffix, $silent, $row_type, $verbose, $count)= @_;
+ my ($i, $nr_tests);
+ my @t1= ("$maria_path/ma_test1$suffix $silent --checksum $row_type",
+ "$maria_path/maria_chk$suffix -se test1",
+ "$maria_path/maria_chk$suffix --silent -re --transaction-log test1",
+ "$maria_path/maria_chk$suffix -rs test1",
+ "$maria_path/maria_chk$suffix -se test1",
+ "$maria_path/maria_chk$suffix -rqs test1",
+ "$maria_path/maria_chk$suffix -se test1",
+ "$maria_path/maria_chk$suffix -rs --correct-checksum test1",
+ "$maria_path/maria_chk$suffix -se test1",
+ "$maria_path/maria_chk$suffix -rqs --correct-checksum test1",
+ "$maria_path/maria_chk$suffix -se test1",
+ "$maria_path/maria_chk$suffix -ros --correct-checksum test1",
+ "$maria_path/maria_chk$suffix -se test1",
+ "$maria_path/maria_chk$suffix -rqos --correct-checksum test1",
+ "$maria_path/maria_chk$suffix -se test1",
+ "$maria_path/ma_test2$suffix $silent -c -d1 $row_type",
+ "$maria_path/maria_chk$suffix -s --parallel-recover test2",
+ "$maria_path/maria_chk$suffix -se test2",
+ "$maria_path/maria_chk$suffix -s --parallel-recover --quick test2",
+ "$maria_path/maria_chk$suffix -se test2",
+ "$maria_path/ma_test2$suffix $silent -c $row_type",
+ "$maria_path/maria_chk$suffix -se test2",
+ "$maria_path/maria_chk$suffix -sr test2",
+ "$maria_path/maria_chk$suffix -se test2"
+ );
+
+ if ($count)
+ {
+ $nr_tests= 0;
+ for ($i= 0; defined($t1[$i]); $i++) { $nr_tests++; }
+ return $nr_tests;
+ }
+ for ($i= 0; defined($t1[$i]); $i++)
+ {
+ ok($t1[$i], $verbose, $i + 1);
+ }
+ return 0;
+}
+
+####
+#### pack tests
+####
+
+sub run_pack_tests()
+{
+ my ($suffix, $silent, $row_type, $verbose, $count)= @_;
+ my ($i, $nr_tests);
+
+ my @t1= ("$maria_path/ma_test1$suffix $silent --checksum $row_type",
+ "$maria_path/maria_pack$suffix --force -s test1",
+ "$maria_path/maria_chk$suffix -ess test1",
+ "$maria_path/maria_chk$suffix -rqs test1",
+ "$maria_path/maria_chk$suffix -es test1",
+ "$maria_path/maria_chk$suffix -rs test1",
+ "$maria_path/maria_chk$suffix -es test1",
+ "$maria_path/maria_chk$suffix -rus test1",
+ "$maria_path/maria_chk$suffix -es test1",
+
+ "$maria_path/ma_test1$suffix $silent --checksum $row_type",
+ "$maria_path/maria_pack$suffix --force -s test1",
+ "$maria_path/maria_chk$suffix -rus --safe-recover test1",
+ "$maria_path/maria_chk$suffix -es test1",
+
+ "$maria_path/ma_test1$suffix $silent --checksum -S $row_type",
+ "$maria_path/maria_chk$suffix -se test1",
+ "$maria_path/maria_chk$suffix -ros test1",
+ "$maria_path/maria_chk$suffix -rqs test1",
+ "$maria_path/maria_chk$suffix -se test1",
+
+ "$maria_path/maria_pack$suffix --force -s test1",
+ "$maria_path/maria_chk$suffix -rqs test1",
+ "$maria_path/maria_chk$suffix -es test1",
+ "$maria_path/maria_chk$suffix -rus test1",
+ "$maria_path/maria_chk$suffix -es test1",
+
+ "$maria_path/ma_test2$suffix $silent -c -d1 $row_type",
+ "$maria_path/maria_chk$suffix -s --parallel-recover test2",
+ "$maria_path/maria_chk$suffix -se test2",
+ "$maria_path/maria_chk$suffix -s --unpack --parallel-recover test2",
+ "$maria_path/maria_chk$suffix -se test2",
+ "$maria_path/maria_pack$suffix --force -s test1",
+ "$maria_path/maria_chk$suffix -s --unpack --parallel-recover test2",
+ "$maria_path/maria_chk$suffix -se test2"
+ );
+
+ if ($count)
+ {
+ $nr_tests= 0;
+ for ($i= 0; defined($t1[$i]); $i++) { $nr_tests++; }
+ return $nr_tests;
+ }
+ for ($i= 0; defined($t1[$i]); $i++)
+ {
+ ok($t1[$i], $verbose, $i + 1);
+ }
+ return 0;
+}
+
+####
+#### Tests that gives warnings or errors
+####
+
+sub run_tests_on_warnings_and_errors
+{
+ my ($suffix, $silent, $verbose, $count)= @_;
+ my ($com);
+
+ return 9 if ($count); # Number of tests in this function, e.g. calls to ok()
+
+ ok("$maria_path/ma_test2$suffix $silent -L -K -W -P -S -R1 -m500",
+ $verbose, 0);
+ ok("$maria_path/maria_chk$suffix -sm test2", $verbose, 0);
+ print "ma_test2$suffix $silent -L -K -R1 -m2000 ; Should give error 135\n";
+ # In the following a failure is a success and success is a failure
+ $com= "$maria_path/ma_test2$suffix $silent -L -K -R1 -m2000 ";
+ $com.= ">ma_test2_message.txt 2>&1 && false";
+ ok($com, $verbose, 0, 1);
+ ok("cat ma_test2_message.txt", $verbose, 0);
+ ok("grep \"Error: 135\" ma_test2_message.txt > /dev/null", $verbose, 0);
+ print "$maria_path/maria_chk$suffix -sm test2 will warn that\n";
+ print "'Datafile is almost full'\n";
+ ok("$maria_path/maria_chk$suffix -sm test2 >ma_test2_message.txt 2>&1",
+ $verbose, 0);
+ ok("cat ma_test2_message.txt", $verbose, 0);
+ ok("grep \"warning: Datafile is almost full\" ma_test2_message.txt>/dev/null",
+ $verbose, 0);
+ unlink <rm -f ma_test2_message.txt>;
+ ok("$maria_path/maria_chk$suffix -ssm test2", $verbose, 0);
+
+ return 0;
+}
+
+####
+#### Test that removing tables and applying the log leads to identical tables
+####
+
+sub run_ma_test_recovery
+{
+ my ($verbose, $count)= @_;
+
+ return 1 if ($count); # Number of tests in this function
+ ok("$maria_path/ma_test_recovery", $verbose, 0);
+ return 0;
+}
+
+####
+#### Tests on CLR's
+####
+
+sub run_tests_on_clrs
+{
+ my ($verbose, $count)= @_;
+ my ($i, $nr_tests);
+
+ my @t1= ("$maria_path/ma_test2 -s -L -K -W -P -M -T -c -b -t2 -u1",
+ "cp maria_log_control tmp",
+ "$maria_path/maria_read_log -a -s",
+ "$maria_path/maria_chk -s -e test2",
+ "cp tmp/maria_log_control .",
+ "rm test2.MA?",
+ "$maria_path/maria_read_log -a -s",
+ "$maria_path/maria_chk -s -e test2"
+ );
+ my @t2= ("$maria_path/ma_test2 -s -L -K -W -P -M -T -c -b -t2 -u1",
+ "$maria_path/maria_read_log -a -s",
+ "$maria_path/maria_chk -s -e test2",
+ "rm test2.MA?",
+ "$maria_path/maria_read_log -a -s",
+ "$maria_path/maria_chk -e -s test2"
+ );
+
+ if ($count)
+ {
+ $nr_tests= 0;
+ for ($i= 0; defined($t1[$i]); $i++) { $nr_tests++; }
+ for ($i= 0; defined($t2[$i]); $i++) { $nr_tests++; }
+ return $nr_tests;
+ }
+
+ unlink <maria_log.* maria_log_control>;
+ for ($i= 0; defined($t1[$i]); $i++)
+ {
+ ok($t1[$i], $verbose, $i + 1);
+ }
+
+ unlink <maria_log.* maria_log_control>;
+ for ($i= 0; defined($t2[$i]); $i++)
+ {
+ ok($t2[$i], $verbose, $i + 1);
+ }
+ return 0;
+}
+
+#
+# Print "ok" on success and "not ok" on error
+#
+# Note: Every time this function is called it will be counted
+# as a unit test.
+#
+# Args: $com: The actual command run. Will be printed on a failure
+# $verbose: Be more verbose.
+# $iteration: Number of iterations in a loop when the error
+# occurred. If not in loop, this should be blank
+# (e.g. send zero).
+# $expected_error: Optional; put here expected error code. Test
+# will pass with this result only.
+#
+# Return value: Will return 1 on success and 0 on an error
+#
+
+sub ok
+{
+ my ($com, $verbose, $iteration, $expected_error)= @_;
+ my ($msg, $output, $err);
+
+ $expected_error= 0 if (!defined($expected_error));
+
+ if ($verbose)
+ {
+ print "Running: '$com'\n";
+ }
+ $output= `$com 2>&1`;
+ $err= $? >> 8;
+ if ($verbose)
+ {
+ print "$output\n";
+ }
+ if ($err == $expected_error)
+ {
+ print "ok\n";
+ return 1;
+ }
+ print "not ok\n";
+ $msg= "\nFailed test '$com' ";
+ if ($iteration)
+ {
+ $msg.= "(loop iteration $iteration.) ";
+ }
+ $msg.= "at line ";
+ $msg.= (caller)[2];
+ $msg.= " (errcode: $err)\n";
+ if ($expected_error)
+ {
+ $msg.= "Was expecting errcode: $expected_error\n";
+ }
+ warn $msg;
+
+ return 0;
+}
diff --git a/storage/maria/unittest/ma_test_loghandler-t.c b/storage/maria/unittest/ma_test_loghandler-t.c
index 8d9ac59cae8..13104f565c4 100644
--- a/storage/maria/unittest/ma_test_loghandler-t.c
+++ b/storage/maria/unittest/ma_test_loghandler-t.c
@@ -177,7 +177,8 @@ int main(int argc __attribute__((unused)), char *argv[])
exit(1);
}
if (translog_init_with_table(".", LOG_FILE_SIZE, 50112, 0, &pagecache,
- LOG_FLAGS, 0, &translog_example_table_init))
+ LOG_FLAGS, 0, &translog_example_table_init,
+ 0))
{
fprintf(stderr, "Can't init loghandler (%d)\n", errno);
exit(1);
diff --git a/storage/maria/unittest/ma_test_loghandler_first_lsn-t.c b/storage/maria/unittest/ma_test_loghandler_first_lsn-t.c
index d67d33e5cad..e07eb8621c0 100644
--- a/storage/maria/unittest/ma_test_loghandler_first_lsn-t.c
+++ b/storage/maria/unittest/ma_test_loghandler_first_lsn-t.c
@@ -67,7 +67,8 @@ int main(int argc __attribute__((unused)), char *argv[])
exit(1);
}
if (translog_init_with_table(".", LOG_FILE_SIZE, 50112, 0, &pagecache,
- LOG_FLAGS, 0, &translog_example_table_init))
+ LOG_FLAGS, 0, &translog_example_table_init,
+ 0))
{
fprintf(stderr, "Can't init loghandler (%d)\n", errno);
exit(1);
diff --git a/storage/maria/unittest/ma_test_loghandler_max_lsn-t.c b/storage/maria/unittest/ma_test_loghandler_max_lsn-t.c
index c971c23d878..114f56103a7 100644
--- a/storage/maria/unittest/ma_test_loghandler_max_lsn-t.c
+++ b/storage/maria/unittest/ma_test_loghandler_max_lsn-t.c
@@ -61,7 +61,8 @@ int main(int argc __attribute__((unused)), char *argv[])
exit(1);
}
if (translog_init_with_table(".", LOG_FILE_SIZE, 50112, 0, &pagecache,
- LOG_FLAGS, 0, &translog_example_table_init))
+ LOG_FLAGS, 0, &translog_example_table_init,
+ 0))
{
fprintf(stderr, "Can't init loghandler (%d)\n", errno);
exit(1);
diff --git a/storage/maria/unittest/ma_test_loghandler_multigroup-t.c b/storage/maria/unittest/ma_test_loghandler_multigroup-t.c
index f44b85598ae..61ae3f2a277 100644
--- a/storage/maria/unittest/ma_test_loghandler_multigroup-t.c
+++ b/storage/maria/unittest/ma_test_loghandler_multigroup-t.c
@@ -186,7 +186,7 @@ int main(int argc __attribute__((unused)), char *argv[])
exit(1);
}
if (translog_init_with_table(".", LOG_FILE_SIZE, 50112, 0, &pagecache,
- 0, 0, &translog_example_table_init))
+ 0, 0, &translog_example_table_init, 0))
{
fprintf(stderr, "Can't init loghandler (%d)\n", errno);
exit(1);
@@ -350,7 +350,7 @@ int main(int argc __attribute__((unused)), char *argv[])
exit(1);
}
if (translog_init_with_table(".", LOG_FILE_SIZE, 50112, 0, &pagecache,
- 0, READONLY, &translog_example_table_init))
+ 0, READONLY, &translog_example_table_init, 0))
{
fprintf(stderr, "pass2: Can't init loghandler (%d)\n", errno);
exit(1);
diff --git a/storage/maria/unittest/ma_test_loghandler_multithread-t.c b/storage/maria/unittest/ma_test_loghandler_multithread-t.c
index 54c1d82be8f..e79c700a9db 100644
--- a/storage/maria/unittest/ma_test_loghandler_multithread-t.c
+++ b/storage/maria/unittest/ma_test_loghandler_multithread-t.c
@@ -284,7 +284,8 @@ int main(int argc __attribute__((unused)),
exit(1);
}
if (translog_init_with_table(".", LOG_FILE_SIZE, 50112, 0, &pagecache,
- LOG_FLAGS, 0, &translog_example_table_init))
+ LOG_FLAGS, 0, &translog_example_table_init,
+ 0))
{
fprintf(stderr, "Can't init loghandler (%d)\n", errno);
exit(1);
diff --git a/storage/maria/unittest/ma_test_loghandler_noflush-t.c b/storage/maria/unittest/ma_test_loghandler_noflush-t.c
index 60483c3debc..098841e6288 100644
--- a/storage/maria/unittest/ma_test_loghandler_noflush-t.c
+++ b/storage/maria/unittest/ma_test_loghandler_noflush-t.c
@@ -69,7 +69,8 @@ int main(int argc __attribute__((unused)), char *argv[])
exit(1);
}
if (translog_init_with_table(".", LOG_FILE_SIZE, 50112, 0, &pagecache,
- LOG_FLAGS, 0, &translog_example_table_init))
+ LOG_FLAGS, 0, &translog_example_table_init,
+ 0))
{
fprintf(stderr, "Can't init loghandler (%d)\n", errno);
exit(1);
diff --git a/storage/maria/unittest/ma_test_loghandler_nologs-t.c b/storage/maria/unittest/ma_test_loghandler_nologs-t.c
index b0dc08e6894..339d07d0d9d 100644
--- a/storage/maria/unittest/ma_test_loghandler_nologs-t.c
+++ b/storage/maria/unittest/ma_test_loghandler_nologs-t.c
@@ -64,7 +64,8 @@ int main(int argc __attribute__((unused)), char *argv[])
exit(1);
}
if (translog_init_with_table(".", LOG_FILE_SIZE, 50112, 0, &pagecache,
- LOG_FLAGS, 0, &translog_example_table_init))
+ LOG_FLAGS, 0, &translog_example_table_init,
+ 0))
{
fprintf(stderr, "Can't init loghandler (%d)\n", errno);
exit(1);
@@ -137,7 +138,8 @@ int main(int argc __attribute__((unused)), char *argv[])
exit(1);
}
if (translog_init_with_table(".", LOG_FILE_SIZE, 50112, 0, &pagecache,
- LOG_FLAGS, 0, &translog_example_table_init))
+ LOG_FLAGS, 0, &translog_example_table_init,
+ 1))
{
fprintf(stderr, "Can't init loghandler (%d)\n", errno);
exit(1);
diff --git a/storage/maria/unittest/ma_test_loghandler_pagecache-t.c b/storage/maria/unittest/ma_test_loghandler_pagecache-t.c
index 8bc5cd5a45b..fe3f37f8b2a 100644
--- a/storage/maria/unittest/ma_test_loghandler_pagecache-t.c
+++ b/storage/maria/unittest/ma_test_loghandler_pagecache-t.c
@@ -94,7 +94,8 @@ int main(int argc __attribute__((unused)), char *argv[])
exit(1);
}
if (translog_init_with_table(".", LOG_FILE_SIZE, 50112, 0, &pagecache,
- LOG_FLAGS, 0, &translog_example_table_init))
+ LOG_FLAGS, 0, &translog_example_table_init,
+ 0))
{
fprintf(stderr, "Can't init loghandler (%d)\n", errno);
exit(1);
diff --git a/storage/maria/unittest/ma_test_loghandler_purge-t.c b/storage/maria/unittest/ma_test_loghandler_purge-t.c
index ac6fd33e327..8a537260c9b 100644
--- a/storage/maria/unittest/ma_test_loghandler_purge-t.c
+++ b/storage/maria/unittest/ma_test_loghandler_purge-t.c
@@ -64,7 +64,8 @@ int main(int argc __attribute__((unused)), char *argv[])
exit(1);
}
if (translog_init_with_table(".", LOG_FILE_SIZE, 50112, 0, &pagecache,
- LOG_FLAGS, 0, &translog_example_table_init))
+ LOG_FLAGS, 0, &translog_example_table_init,
+ 0))
{
fprintf(stderr, "Can't init loghandler (%d)\n", errno);
exit(1);