aboutsummaryrefslogtreecommitdiff
path: root/mptest/mptest.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2013-04-06 14:04:22 +0000
committerdrh <drh@noemail.net>2013-04-06 14:04:22 +0000
commitf012ae07593dfe0006e579200f27e4f53f420d5e (patch)
tree3c14d22ea8ca54f87d9c18a6208fa40b5db416ec /mptest/mptest.c
parent3f5bc38037eda131bd0505cd8961e4955d5ce0cf (diff)
downloadsqlite-f012ae07593dfe0006e579200f27e4f53f420d5e.tar.gz
sqlite-f012ae07593dfe0006e579200f27e4f53f420d5e.zip
Get the mptest program running on windows.
FossilOrigin-Name: 3966b33284355325afda627ed6f4e26f967438f8
Diffstat (limited to 'mptest/mptest.c')
-rw-r--r--mptest/mptest.c24
1 files changed, 23 insertions, 1 deletions
diff --git a/mptest/mptest.c b/mptest/mptest.c
index e07e974de..ae7777038 100644
--- a/mptest/mptest.c
+++ b/mptest/mptest.c
@@ -22,6 +22,7 @@
** Recommended options:
**
** -DHAVE_USLEEP
+** -DSQLITE_MAX_SCHEMA_RETRY=100
** -DSQLITE_NO_SYNC
** -DSQLITE_THREADSAFE=0
** -DSQLITE_OMIT_LOAD_EXTENSION
@@ -542,14 +543,35 @@ static int finishScript(int iClient, int taskId, int bShutdown){
static void startClient(int iClient){
runSql("INSERT OR IGNORE INTO client VALUES(%d,0)", iClient);
if( sqlite3_changes(g.db) ){
+#if defined(__unix__)
char *zSys;
zSys = sqlite3_mprintf(
"%s \"%s\" --client %d --trace %d %s&",
g.argv0, g.zDbFile, iClient, g.iTrace,
g.bSqlTrace ? "--sqltrace " : "");
-
system(zSys);
sqlite3_free(zSys);
+#endif
+#if defined(_WIN32)
+ char *argv[10];
+ char zClient[20];
+ char zTrace[20];
+ argv[0] = g.argv0;
+ argv[1] = g.zDbFile;
+ argv[2] = "--client";
+ sqlite3_snprintf(sizeof(zClient),zClient,"%d",iClient);
+ argv[3] = zClient;
+ argv[4] = "--trace";
+ sqlite3_snprintf(sizeof(zTrace),zTrace,"%d",g.iTrace);
+ argv[5] = zTrace;
+ if( g.bSqlTrace ){
+ argv[6] = "--sqltrace";
+ argv[7] = 0;
+ }else{
+ argv[6] = 0;
+ }
+ _spawnv(_P_NOWAIT, g.argv0, argv);
+#endif
}
}