]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix another lsmtest build problem. Add the "-trans BOOLEAN" option to "lsmtest
authordan <dan@noemail.net>
Wed, 7 Jun 2017 19:46:18 +0000 (19:46 +0000)
committerdan <dan@noemail.net>
Wed, 7 Jun 2017 19:46:18 +0000 (19:46 +0000)
speed2".

FossilOrigin-Name: 61853bc171e7c3af1db6a33ac8b1ad21e1c08e8d6b317fe061fdcd89c9a42e88

ext/lsm1/Makefile
ext/lsm1/lsm-test/lsmtest_main.c
ext/lsm1/lsm-test/lsmtest_tdb.c
ext/lsm1/lsm-test/lsmtest_tdb3.c
manifest
manifest.uuid

index 37dfa77f0580a484819a0798ca3b90b263222a4f..13253ce1426267f4597c70edce1a159e290f62cd 100644 (file)
@@ -47,10 +47,10 @@ LSMOPTS = -DLSM_MUTEX_PTHREADS=1 -I$(LSMDIR)
 lsm.so:        $(LSMOBJ)
        $(TCCX) -shared -o lsm.so $(LSMOBJ)
 
-%.o:   $(LSMDIR)/%.c $(LSMHDR)
+%.o:   $(LSMDIR)/%.c $(LSMHDR) sqlite3.h
        $(TCCX) $(LSMOPTS) -c $<
        
-lsmtest$(EXE): $(LSMOBJ) $(LSMTESTSRC) $(LSMTESTHDR)
+lsmtest$(EXE): $(LSMOBJ) $(LSMTESTSRC) $(LSMTESTHDR) sqlite3.o
        # $(TCPPX) -c $(TOP)/lsm-test/lsmtest_tdb2.cc
-       $(TCCX) $(LSMOPTS) $(LSMTESTSRC) $(LSMOBJ) -o lsmtest$(EXE) $(THREADLIB) -lsqlite3 
+       $(TCCX) $(LSMOPTS) $(LSMTESTSRC) $(LSMOBJ) sqlite3.o -o lsmtest$(EXE) $(THREADLIB) 
 
index c388d4beaa2310a97489d9293788dac9ffa9f1b8..2e836f74e731ce21892cac91461e497d9897e68b 100644 (file)
@@ -1,5 +1,5 @@
 
-#include <stdarg.h>
+#include "stdarg.h"
 #include "lsmtest.h"
 #include "stdio.h"
 #include "assert.h"
@@ -363,7 +363,7 @@ char *testMallocVPrintf(const char *zFormat, va_list ap){
   va_list copy;
   char *zRet;
 
-  va_copy(copy, ap);
+  __va_copy(copy, ap);
   nByte = vsnprintf(0, 0, zFormat, copy);
   va_end(copy);
 
@@ -572,6 +572,7 @@ static void do_speed_write_hook2(
 #define ST_NSCAN   5
 #define ST_KEYSIZE 6
 #define ST_VALSIZE 7
+#define ST_TRANS   8
 
 
 static void print_speed_test_help(){
@@ -593,6 +594,7 @@ static void print_speed_test_help(){
 "  -keysize $keysize                (default value 12)\n"
 "  -valsize $valsize                (default value 100)\n"
 "  -system  $system                 (default value \"lsm\")\n"
+"  -trans   $trans                  (default value 0)\n"
 "\n"
 );
 }
@@ -611,12 +613,13 @@ int do_speed_test2(int nArg, char **azArg){
     { "-nscan",   ST_NSCAN,      0},
     { "-keysize", ST_KEYSIZE,   12},
     { "-valsize", ST_VALSIZE,  100},
+    { "-trans",   ST_TRANS,      0},
     { "-system",  -1,            0},
     { "help",     -2,            0},
     {0, 0, 0}
   };
   int i;
-  int aParam[8];
+  int aParam[9];
   int rc = 0;
   int bReadonly = 0;
   int nContent = 0;
@@ -712,7 +715,11 @@ int do_speed_test2(int nArg, char **azArg){
       msWrite = 0;
     }else{
       testTimeInit();
+
+      if( aParam[ST_TRANS] ) testBegin(pDb, 2, &rc);
       testWriteDatasourceRange(pDb, pData, i*nWrite, nWrite, &rc);
+      if( aParam[ST_TRANS] ) testCommit(pDb, 0, &rc);
+
       msWrite = testTimeGet();
       nContent += nWrite;
     }
@@ -724,6 +731,7 @@ int do_speed_test2(int nArg, char **azArg){
 
     if( aParam[ST_FETCH] ){
       testTimeInit();
+      if( aParam[ST_TRANS] ) testBegin(pDb, 1, &rc);
       for(iFetch=0; iFetch<aParam[ST_FETCH]; iFetch++){
         int iKey = testPrngValue(i*nWrite+iFetch) % nContent;
 #ifndef NDEBUG
@@ -738,6 +746,7 @@ int do_speed_test2(int nArg, char **azArg){
         if( rc ) break;
 #endif
       }
+      if( aParam[ST_TRANS] ) testCommit(pDb, 0, &rc);
       msFetch = testTimeGet();
     }else{
       msFetch = 0;
index 96e1cbff1810e893edd1f8c1d37e6fb45ca02322..f99c0f5601cf9598f2b32d14f201d2c8a2ce632e 100644 (file)
@@ -693,6 +693,13 @@ static int sql_open(
   sqlite3_exec(pDb->db, "PRAGMA synchronous=OFF", 0, 0, 0);
   sqlite3_exec(pDb->db, "PRAGMA journal_mode=WAL", 0, 0, 0);
   sqlite3_exec(pDb->db, "PRAGMA wal_autocheckpoint=4096", 0, 0, 0);
+  if( zSpec ){
+    rc = sqlite3_exec(pDb->db, zSpec, 0, 0, 0);
+    if( rc!=SQLITE_OK ){
+      sql_close((TestDb *)pDb);
+      return rc;
+    }
+  }
 
   *ppDb = (TestDb *)pDb;
   return 0;
index 3f0600d5651eb274af200967e8ab1f60c121828f..3cd843ad8038830df4ec7dd6e6861f1e2d8bf423 100644 (file)
@@ -509,6 +509,8 @@ static int test_lsm_close(TestDb *pTestDb){
   return rc;
 }
 
+static void mt_signal_worker(LsmDb*, int);
+
 static int waitOnCheckpointer(LsmDb *pDb, lsm_db *db){
   int nSleep = 0;
   int nKB;
@@ -518,6 +520,9 @@ static int waitOnCheckpointer(LsmDb *pDb, lsm_db *db){
     nKB = 0;
     rc = lsm_info(db, LSM_INFO_CHECKPOINT_SIZE, &nKB);
     if( rc!=LSM_OK || nKB<pDb->nMtMaxCkpt ) break;
+#ifdef LSM_MUTEX_PTHREADS
+    mt_signal_worker(pDb, 1);
+#endif
     usleep(5000);
     nSleep += 5;
   }while( 1 );
@@ -529,8 +534,6 @@ static int waitOnCheckpointer(LsmDb *pDb, lsm_db *db){
   return rc;
 }
 
-static void mt_signal_worker(LsmDb*, int);
-
 static int waitOnWorker(LsmDb *pDb){
   int rc;
   int nLimit = -1;
@@ -792,6 +795,8 @@ int test_lsm_config_str(
   const char *z = zStr;
   int nThread = 1;
 
+  if( zStr==0 ) return 0;
+
   assert( db );
   while( z[0] ){
     const char *zStart;
index fcd3f370fae09372b634eb947d31eefa64204983..7926ed97494ef38fc68988f6cd0501b62292d7f5 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sa\sthreading\sproblem\sin\slsm\stest\scode.
-D 2017-06-06T16:14:49.928
+C Fix\sanother\slsmtest\sbuild\sproblem.\sAdd\sthe\s"-trans\sBOOLEAN"\soption\sto\s"lsmtest\nspeed2".
+D 2017-06-07T19:46:18.561
 F Makefile.in 1cc758ce3374a32425e4d130c2fe7b026b20de5b8843243de75f087c0a2661fb
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc 8eeb80162074004e906b53d7340a12a14c471a83743aab975947e95ce061efcc
@@ -208,7 +208,7 @@ F ext/fts5/tool/showfts5.tcl d54da0e067306663e2d5d523965ca487698e722c
 F ext/icu/README.txt d9fbbad0c2f647c3fdf715fc9fd64af53aedfc43
 F ext/icu/icu.c 84900472a088a3a172c6c079f58a1d3a1952c332
 F ext/icu/sqliteicu.h 728867a802baa5a96de7495e9689a8e01715ef37
-F ext/lsm1/Makefile d5cab6d4b8d2def0e9fe5dff476617ea3f7392e8a0fb1ed1c024a5152f5b44a4
+F ext/lsm1/Makefile 5f60d0e1635ee51c438973f37a93f8e562229b446db59fc00af1621d39fdee26
 F ext/lsm1/lsm-test/README 87ea529d2abe615e856d4714bfe8bb185e6c2771b8612aa6298588b7b43e6f86
 F ext/lsm1/lsm-test/lsmtest.h e7057a3f9db71938496fc8ef081c9f45623b25bfd8499b3550d1ea7123143e90
 F ext/lsm1/lsm-test/lsmtest1.c 27c3cf6512514b25a145154ae4e54d053d883b2f7f52ed214747b5ebaceedd3e
@@ -224,12 +224,12 @@ F ext/lsm1/lsm-test/lsmtest_bt.c d70d9a9be5eef9360af1251dd083948d74fd30137a08f61
 F ext/lsm1/lsm-test/lsmtest_datasource.c 5d770be191d0ca51315926723009b2c25c0b4b8136840494ef710ac324aa916c
 F ext/lsm1/lsm-test/lsmtest_func.c 159aa401bc8032bfa3d8cf2977bd687abebab880255895a5eb45770d626fa38d
 F ext/lsm1/lsm-test/lsmtest_io.c 2b71d1208a5671b3836fb95cdb4c0263ae7eb51542d16ef7f6bb9b651b15f194
-F ext/lsm1/lsm-test/lsmtest_main.c db1d641afd8ba4ca8c6f37b388054ac981f8ba934411e754fe175058f417d372
+F ext/lsm1/lsm-test/lsmtest_main.c 54959b48ceee78ced319bb9d0e1f1abe42741ba63c5ae2bf11d1f03dd80fa601
 F ext/lsm1/lsm-test/lsmtest_mem.c 996b1e76cc876e8d765182a2f14159b1acbf56cbf86d286173e13e970b79a945
-F ext/lsm1/lsm-test/lsmtest_tdb.c f40971180a55013e75760995b0716ac4540450466bf329201767aba04f5467c1
+F ext/lsm1/lsm-test/lsmtest_tdb.c 59a58b2513e0dbb581008c0a32c6e2b630dafafe8972f800cc13faac5fe63b1a
 F ext/lsm1/lsm-test/lsmtest_tdb.h de1ee8c71a7ef61d964e40e057cffea387d7b58a51d95905ab909937d24e4a91
 F ext/lsm1/lsm-test/lsmtest_tdb2.cc 99ea7f2dd9c7536c8fb9bdd329e4cfeb76899f3ddf6f48bdd3926e016922b715
-F ext/lsm1/lsm-test/lsmtest_tdb3.c 0d476702104b6b1d5cf7ae1859439342957a91e8cab7b94fad42eedf1773ab88
+F ext/lsm1/lsm-test/lsmtest_tdb3.c 4030ad346f4cb46716f12832f66b0a26292b4ec0e2d16a55db28a795921ad0f5
 F ext/lsm1/lsm-test/lsmtest_tdb4.c 47e8bb5eba266472d690fb8264f1855ebdba0ae5a0e541e35fcda61ebf1d277f
 F ext/lsm1/lsm-test/lsmtest_util.c 0c2b7c1d109fbd6b7b9a2780f1315e2438a973d18afea5c4eccf94e8827c8260
 F ext/lsm1/lsm.h 0f6f64ff071471cb87bf98beb8386566f30ea001
@@ -1622,7 +1622,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 1d23294d88b1a80fe1f5403ea4fd75e61bb4932d5b714ea450d1b4b84f0896ab
-R ad500c27b061422115e55ee6b6bc891e
+P 501238b9fbb4eece084b4bfce84a5f37a986f34db8081df517e60ef81f357454
+R 2f17872e101c8015a88bc34e46b72bd4
 U dan
-Z 9c5176e83d35bdbef8753c5d13feca6e
+Z f9a3b900d1113fa410083f6360886457
index 64ed02c03ef6e06f6ff13f375b3af4d095a9aa25..9d32958b14615cfee7cb7716f062433ccbc946a2 100644 (file)
@@ -1 +1 @@
-501238b9fbb4eece084b4bfce84a5f37a986f34db8081df517e60ef81f357454
\ No newline at end of file
+61853bc171e7c3af1db6a33ac8b1ad21e1c08e8d6b317fe061fdcd89c9a42e88
\ No newline at end of file