mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Automatic merge with 5.1
This commit is contained in:
@@ -362,6 +362,7 @@ name char(1) not null,
|
|||||||
uid int not null,
|
uid int not null,
|
||||||
primary key (id),
|
primary key (id),
|
||||||
index uid_index (uid));
|
index uid_index (uid));
|
||||||
|
begin;
|
||||||
insert into t1(id, uid, name) values(1, 0, ' ');
|
insert into t1(id, uid, name) values(1, 0, ' ');
|
||||||
insert into t1(uid, name) values(0, ' ');
|
insert into t1(uid, name) values(0, ' ');
|
||||||
insert into t2(uid, name) select uid, name from t1;
|
insert into t2(uid, name) select uid, name from t1;
|
||||||
@@ -410,6 +411,7 @@ insert into t2(uid, name) values
|
|||||||
insert into t1(uid, name) select uid, name from t2 order by uid;
|
insert into t1(uid, name) select uid, name from t2 order by uid;
|
||||||
delete from t2;
|
delete from t2;
|
||||||
insert into t2(id, uid, name) select id, uid, name from t1;
|
insert into t2(id, uid, name) select id, uid, name from t1;
|
||||||
|
commit;
|
||||||
select count(*) from t1;
|
select count(*) from t1;
|
||||||
count(*)
|
count(*)
|
||||||
1026
|
1026
|
||||||
|
@@ -322,6 +322,7 @@ create table t2 (
|
|||||||
primary key (id),
|
primary key (id),
|
||||||
index uid_index (uid));
|
index uid_index (uid));
|
||||||
|
|
||||||
|
begin;
|
||||||
insert into t1(id, uid, name) values(1, 0, ' ');
|
insert into t1(id, uid, name) values(1, 0, ' ');
|
||||||
insert into t1(uid, name) values(0, ' ');
|
insert into t1(uid, name) values(0, ' ');
|
||||||
|
|
||||||
@@ -375,6 +376,8 @@ insert into t1(uid, name) select uid, name from t2 order by uid;
|
|||||||
delete from t2;
|
delete from t2;
|
||||||
insert into t2(id, uid, name) select id, uid, name from t1;
|
insert into t2(id, uid, name) select id, uid, name from t1;
|
||||||
|
|
||||||
|
commit;
|
||||||
|
|
||||||
select count(*) from t1;
|
select count(*) from t1;
|
||||||
select count(*) from t2;
|
select count(*) from t2;
|
||||||
|
|
||||||
|
@@ -173,6 +173,8 @@ int main(int argc __attribute__((unused)), char *argv[])
|
|||||||
maria_data_root= (char *)".";
|
maria_data_root= (char *)".";
|
||||||
if (maria_log_remove())
|
if (maria_log_remove())
|
||||||
exit(1);
|
exit(1);
|
||||||
|
/* We don't need to do physical syncs in this test */
|
||||||
|
my_disable_sync= 1;
|
||||||
|
|
||||||
for (i= 0; i < (LONG_BUFFER_SIZE + LSN_STORE_SIZE * 2 + 2); i+= 2)
|
for (i= 0; i < (LONG_BUFFER_SIZE + LSN_STORE_SIZE * 2 + 2); i+= 2)
|
||||||
{
|
{
|
||||||
|
@@ -247,6 +247,8 @@ int main(int argc __attribute__((unused)), char *argv[])
|
|||||||
load_defaults("my", load_default_groups, &argc, &argv);
|
load_defaults("my", load_default_groups, &argc, &argv);
|
||||||
default_argv= argv;
|
default_argv= argv;
|
||||||
get_options(&argc, &argv);
|
get_options(&argc, &argv);
|
||||||
|
/* We don't need to do physical syncs in this test */
|
||||||
|
my_disable_sync= 1;
|
||||||
|
|
||||||
if (maria_log_remove())
|
if (maria_log_remove())
|
||||||
exit(1);
|
exit(1);
|
||||||
|
@@ -271,6 +271,8 @@ int main(int argc __attribute__((unused)),
|
|||||||
|
|
||||||
plan(WRITERS + FLUSHERS +
|
plan(WRITERS + FLUSHERS +
|
||||||
ITERATIONS * WRITERS * 3 + FLUSH_ITERATIONS * FLUSHERS );
|
ITERATIONS * WRITERS * 3 + FLUSH_ITERATIONS * FLUSHERS );
|
||||||
|
/* We don't need to do physical syncs in this test */
|
||||||
|
my_disable_sync= 1;
|
||||||
|
|
||||||
bzero(&pagecache, sizeof(pagecache));
|
bzero(&pagecache, sizeof(pagecache));
|
||||||
maria_data_root= (char *)".";
|
maria_data_root= (char *)".";
|
||||||
|
@@ -526,8 +526,14 @@ int main()
|
|||||||
int const max_size = MAX_TESTED_BITMAP_SIZE;
|
int const max_size = MAX_TESTED_BITMAP_SIZE;
|
||||||
MY_INIT("bitmap-t");
|
MY_INIT("bitmap-t");
|
||||||
|
|
||||||
plan(max_size - min_size);
|
plan((max_size - min_size)/7+1);
|
||||||
for (i= min_size; i < max_size; i++)
|
|
||||||
|
/*
|
||||||
|
It's ok to do steps in 7, as i module 64 will go trough all values 1..63.
|
||||||
|
Any errors in the code should manifest as we are working with integers
|
||||||
|
of size 16, 32, or 64 bits...
|
||||||
|
*/
|
||||||
|
for (i= min_size; i < max_size; i+=7)
|
||||||
ok(do_test(i) == 0, "bitmap size %d", i);
|
ok(do_test(i) == 0, "bitmap size %d", i);
|
||||||
return exit_status();
|
return exit_status();
|
||||||
}
|
}
|
||||||
|
@@ -82,7 +82,9 @@ int main(int argc __attribute__((unused)), char **argv)
|
|||||||
workaround until we know why it crashes randomly on some machine
|
workaround until we know why it crashes randomly on some machine
|
||||||
(BUG#22320).
|
(BUG#22320).
|
||||||
*/
|
*/
|
||||||
sleep(2);
|
#ifdef NOT_USED
|
||||||
|
sleep(1);
|
||||||
|
#endif
|
||||||
pthread_mutex_destroy(&mutex);
|
pthread_mutex_destroy(&mutex);
|
||||||
pthread_cond_destroy(&cond);
|
pthread_cond_destroy(&cond);
|
||||||
pthread_attr_destroy(&thr_attr);
|
pthread_attr_destroy(&thr_attr);
|
||||||
|
@@ -181,6 +181,11 @@ void do_one_test()
|
|||||||
void do_tests()
|
void do_tests()
|
||||||
{
|
{
|
||||||
DBUG_ENTER("do_tests");
|
DBUG_ENTER("do_tests");
|
||||||
|
if (skip_big_tests)
|
||||||
|
{
|
||||||
|
skip(1, "Big test skipped");
|
||||||
|
return;
|
||||||
|
}
|
||||||
plan(14);
|
plan(14);
|
||||||
compile_time_assert(THREADS >= 4);
|
compile_time_assert(THREADS >= 4);
|
||||||
|
|
||||||
|
@@ -1,4 +1,5 @@
|
|||||||
/* Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
|
/* Copyright (c) 2006, 2010, Oracle and/or its affiliates.
|
||||||
|
Copyright (c) 2011, Monty Program Ab
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -27,6 +28,10 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
|
||||||
|
static ulong start_timer(void);
|
||||||
|
static void end_timer(ulong start_time,char *buff);
|
||||||
|
static void nice_time(double sec,char *buff,my_bool part_second);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Visual Studio 2003 does not know vsnprintf but knows _vsnprintf.
|
Visual Studio 2003 does not know vsnprintf but knows _vsnprintf.
|
||||||
We don't put this #define in config-win.h because we prefer
|
We don't put this #define in config-win.h because we prefer
|
||||||
@@ -185,6 +190,7 @@ static signal_entry install_signal[]= {
|
|||||||
};
|
};
|
||||||
|
|
||||||
int skip_big_tests= 1;
|
int skip_big_tests= 1;
|
||||||
|
ulong start_time= 0;
|
||||||
|
|
||||||
void
|
void
|
||||||
plan(int count)
|
plan(int count)
|
||||||
@@ -192,6 +198,8 @@ plan(int count)
|
|||||||
char *config= getenv("MYTAP_CONFIG");
|
char *config= getenv("MYTAP_CONFIG");
|
||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
|
start_time= start_timer();
|
||||||
|
|
||||||
if (config)
|
if (config)
|
||||||
skip_big_tests= strcmp(config, "big");
|
skip_big_tests= strcmp(config, "big");
|
||||||
|
|
||||||
@@ -289,6 +297,7 @@ skip(int how_many, char const *fmt, ...)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
todo_start(char const *message, ...)
|
todo_start(char const *message, ...)
|
||||||
{
|
{
|
||||||
@@ -304,7 +313,10 @@ todo_end()
|
|||||||
*g_test.todo = '\0';
|
*g_test.todo = '\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
int exit_status() {
|
int exit_status()
|
||||||
|
{
|
||||||
|
char buff[60];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
If there were no plan, we write one last instead.
|
If there were no plan, we write one last instead.
|
||||||
*/
|
*/
|
||||||
@@ -323,10 +335,81 @@ int exit_status() {
|
|||||||
diag("Failed %d tests!", g_test.failed);
|
diag("Failed %d tests!", g_test.failed);
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
if (start_time)
|
||||||
|
{
|
||||||
|
end_timer(start_time, buff);
|
||||||
|
printf("Test took %s\n", buff);
|
||||||
|
fflush(stdout);
|
||||||
|
}
|
||||||
|
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(__WIN__) || defined(__NETWARE__)
|
||||||
|
#include <time.h>
|
||||||
|
#else
|
||||||
|
#include <sys/times.h>
|
||||||
|
#ifdef _SC_CLK_TCK // For mit-pthreads
|
||||||
|
#undef CLOCKS_PER_SEC
|
||||||
|
#define CLOCKS_PER_SEC (sysconf(_SC_CLK_TCK))
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static ulong start_timer(void)
|
||||||
|
{
|
||||||
|
#if defined(__WIN__) || defined(__NETWARE__)
|
||||||
|
return clock();
|
||||||
|
#else
|
||||||
|
struct tms tms_tmp;
|
||||||
|
return times(&tms_tmp);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
Write as many as 52+1 bytes to buff, in the form of a legible
|
||||||
|
duration of time.
|
||||||
|
|
||||||
|
len("4294967296 days, 23 hours, 59 minutes, 60.00 seconds") -> 52
|
||||||
|
*/
|
||||||
|
|
||||||
|
static void nice_time(double sec,char *buff, my_bool part_second)
|
||||||
|
{
|
||||||
|
ulong tmp;
|
||||||
|
if (sec >= 3600.0*24)
|
||||||
|
{
|
||||||
|
tmp=(ulong) floor(sec/(3600.0*24));
|
||||||
|
sec-=3600.0*24*tmp;
|
||||||
|
buff+= my_sprintf(buff, (buff, "%ld %s", tmp,
|
||||||
|
tmp > 1 ? " days " : " day "));
|
||||||
|
}
|
||||||
|
if (sec >= 3600.0)
|
||||||
|
{
|
||||||
|
tmp=(ulong) floor(sec/3600.0);
|
||||||
|
sec-=3600.0*tmp;
|
||||||
|
buff+= my_sprintf(buff, (buff, "%ld %s", tmp,
|
||||||
|
tmp > 1 ? " hours " : " hour "));
|
||||||
|
}
|
||||||
|
if (sec >= 60.0)
|
||||||
|
{
|
||||||
|
tmp=(ulong) floor(sec/60.0);
|
||||||
|
sec-=60.0*tmp;
|
||||||
|
buff+= my_sprintf(buff, (buff, "%ld min ", tmp));
|
||||||
|
}
|
||||||
|
if (part_second)
|
||||||
|
sprintf(buff,"%.2f sec",sec);
|
||||||
|
else
|
||||||
|
sprintf(buff,"%d sec",(int) sec);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void end_timer(ulong start_time,char *buff)
|
||||||
|
{
|
||||||
|
nice_time((double) (start_timer() - start_time) /
|
||||||
|
CLOCKS_PER_SEC,buff,1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@mainpage Testing C and C++ using MyTAP
|
@mainpage Testing C and C++ using MyTAP
|
||||||
|
|
||||||
|
@@ -103,7 +103,7 @@ sub run_cmd (@) {
|
|||||||
# Removing the first './' from the file names
|
# Removing the first './' from the file names
|
||||||
foreach (@files) { s!^\./!! }
|
foreach (@files) { s!^\./!! }
|
||||||
$ENV{'HARNESS_PERL_SWITCHES'} .= ' -e "exec @ARGV"';
|
$ENV{'HARNESS_PERL_SWITCHES'} .= ' -e "exec @ARGV"';
|
||||||
|
$Test::Harness::Timer = 1;
|
||||||
runtests @files;
|
runtests @files;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user