summaryrefslogtreecommitdiff
path: root/storage/maria/ma_test1.c
diff options
context:
space:
mode:
authorunknown <monty@narttu.mysql.fi>2007-10-20 01:33:12 +0300
committerunknown <monty@narttu.mysql.fi>2007-10-20 01:33:12 +0300
commit301ee8d9a37eebcced4d6e44ac669200731c9f75 (patch)
tree065cc5f84dd28f31db7f48793402cc17d0b2ae27 /storage/maria/ma_test1.c
parent13d53bf657060acaecf055107e5e6cc7045f351e (diff)
parent1cede43268dec2baa2d80cff591da517d6500f74 (diff)
downloadmariadb-git-301ee8d9a37eebcced4d6e44ac669200731c9f75.tar.gz
Merge bk-internal.mysql.com:/home/bk/mysql-maria
into mysql.com:/home/my/mysql-maria include/my_sys.h: Auto merged mysql-test/r/maria.result: Auto merged mysql-test/t/maria.test: Auto merged sql/handler.h: Auto merged sql/mysqld.cc: Auto merged storage/maria/ha_maria.cc: Auto merged storage/maria/ma_bitmap.c: Auto merged storage/maria/ma_blockrec.c: Auto merged storage/maria/ma_loghandler.c: Auto merged storage/maria/ma_pagecache.c: Auto merged storage/maria/ma_test1.c: Auto merged storage/maria/ma_test_recovery.expected: Auto merged storage/maria/ma_test_recovery: Auto merged sql/mysql_priv.h: manual merge storage/maria/ma_recovery.c: manual merge storage/maria/ma_test2.c: manual merge
Diffstat (limited to 'storage/maria/ma_test1.c')
-rw-r--r--storage/maria/ma_test1.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/storage/maria/ma_test1.c b/storage/maria/ma_test1.c
index 3f08a302cfb..1f487e01cd3 100644
--- a/storage/maria/ma_test1.c
+++ b/storage/maria/ma_test1.c
@@ -20,6 +20,7 @@
#include <m_string.h>
#include "ma_control_file.h"
#include "ma_loghandler.h"
+#include "ma_checkpoint.h"
#include "trnman.h"
extern PAGECACHE *maria_log_pagecache;
@@ -29,7 +30,7 @@ extern const char *maria_data_root;
static void usage();
-static int rec_pointer_size=0, flags[50], testflag;
+static int rec_pointer_size=0, flags[50], testflag, checkpoint;
static int key_field=FIELD_SKIP_PRESPACE,extra_field=FIELD_SKIP_ENDSPACE;
static int key_type=HA_KEYTYPE_NUM;
static int create_flag=0;
@@ -83,7 +84,7 @@ int main(int argc,char *argv[])
translog_init(maria_data_root, TRANSLOG_FILE_SIZE,
0, 0, maria_log_pagecache,
TRANSLOG_DEFAULT_FLAGS) ||
- (transactional && trnman_init(0)))
+ (transactional && (trnman_init(0) || ma_checkpoint_init(0))))
{
fprintf(stderr, "Error in initialization");
exit(1);
@@ -227,6 +228,9 @@ static int run_test(const char *filename)
if (maria_commit(file) || maria_begin(file))
goto err;
+ if (checkpoint == 1 && ma_checkpoint_execute(CHECKPOINT_MEDIUM, FALSE))
+ goto err;
+
if (testflag == 1)
goto end;
@@ -247,6 +251,9 @@ static int run_test(const char *filename)
flags[0]=2;
}
+ if (checkpoint == 2 && ma_checkpoint_execute(CHECKPOINT_MEDIUM, FALSE))
+ goto err;
+
if (testflag == 2)
{
printf("Terminating after inserts\n");
@@ -308,6 +315,9 @@ static int run_test(const char *filename)
maria_scan_end(file);
}
+ if (checkpoint == 3 && ma_checkpoint_execute(CHECKPOINT_MEDIUM, FALSE))
+ goto err;
+
if (testflag == 3)
{
printf("Terminating after updates\n");
@@ -371,6 +381,9 @@ static int run_test(const char *filename)
}
}
+ if (checkpoint == 4 && ma_checkpoint_execute(CHECKPOINT_MEDIUM, FALSE))
+ goto err;
+
if (testflag == 4)
{
printf("Terminating after deletes\n");
@@ -673,6 +686,8 @@ static void update_record(uchar *record)
static struct my_option my_long_options[] =
{
+ {"checkpoint", 'H', "Checkpoint at specified stage", (uchar**) &checkpoint,
+ (uchar**) &checkpoint, 0, GET_INT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{"checksum", 'c', "Undocumented",
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
#ifndef DBUG_OFF