1
0
mirror of https://github.com/MariaDB/server.git synced 2026-01-06 05:22:24 +03:00

Changes to make mysqlslap buildable and runable on win32.

This commit is contained in:
SergeyV@selena.
2006-01-16 19:35:01 +03:00
parent c0bf54d568
commit 94b26428c3
3 changed files with 87 additions and 17 deletions

View File

@@ -85,13 +85,28 @@ TODO:
#include <stdarg.h>
#include <sslopt-vars.h>
#include <sys/types.h>
#ifndef __WIN__
#include <sys/wait.h>
#endif
#include <ctype.h>
#include <my_pthread.h>
#define MYSLAPLOCK "/myslaplock.lck"
#define MYSLAPLOCK_DIR "/tmp"
#ifdef __WIN__
#define srandom srand
#define random rand
#define snprintf _snprintf
#define USE_THREADS_DEFAULT TRUE
#else
#define USE_THREADS_DEFAULT FALSE
#endif
#ifdef HAVE_SMEM
static char *shared_memory_base_name=0;
#endif
static char **defaults_argv;
static char *host= NULL, *opt_password= NULL, *user= NULL,
@@ -213,6 +228,17 @@ static long int timedif(struct timeval a, struct timeval b)
return s + us;
}
#ifdef __WIN__
static int gettimeofday(struct timeval *tp, void *tzp)
{
unsigned int ticks;
ticks= GetTickCount();
tp->tv_usec= ticks*1000;
tp->tv_sec= ticks/1000;
return 0;
}
#endif
int main(int argc, char **argv)
{
@@ -222,7 +248,7 @@ int main(int argc, char **argv)
unsigned long long client_limit;
statement *eptr;
DBUG_ENTER("main");
//DBUG_ENTER("main");
MY_INIT(argv[0]);
/* Seed the random number generator if we will be using it. */
@@ -353,7 +379,7 @@ int main(int argc, char **argv)
free_defaults(defaults_argv);
my_end(0);
DBUG_RETURN(0); /* No compiler warnings */
return 0;
}
@@ -452,7 +478,7 @@ static struct my_option my_long_options[] =
{"use-threads", OPT_USE_THREADS,
"Use pthread calls instead of fork() calls (default on Windows)",
(gptr*) &opt_use_threads, (gptr*) &opt_use_threads, 0,
GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
GET_NO_ARG, NO_ARG, USE_THREADS_DEFAULT, 0, 0, 0, 0, 0},
#include <sslopt-longopts.h>
#ifndef DONT_ALLOW_USER_CHANGE
{"user", 'u', "User for login if not current user.", (gptr*) &user,
@@ -936,7 +962,6 @@ drop_schema(MYSQL *mysql, const char *db)
DBUG_RETURN(0);
}
static int
run_scheduler(stats *sptr, statement *stmts, uint concur, ulonglong limit)
{
@@ -980,6 +1005,7 @@ run_scheduler(stats *sptr, statement *stmts, uint concur, ulonglong limit)
}
}
}
#ifndef __WIN__
else
{
fflush(NULL);
@@ -1020,6 +1046,7 @@ run_scheduler(stats *sptr, statement *stmts, uint concur, ulonglong limit)
}
}
}
#endif
/* Lets release use some clients! */
if (!opt_slave)
@@ -1041,6 +1068,7 @@ run_scheduler(stats *sptr, statement *stmts, uint concur, ulonglong limit)
}
my_lock(lock_file, F_UNLCK, 0, F_TO_EOF, MYF(0));
}
#ifndef __WIN__
else
{
WAIT:
@@ -1051,6 +1079,7 @@ WAIT:
DBUG_PRINT("info", ("Parent: child %d status %d", pid, status));
}
}
#endif
gettimeofday(&end_time, NULL);
my_close(lock_file, MYF(0));