]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add the new "--testset orm" to the speedtest1 utility.
authordrh <drh@noemail.net>
Tue, 14 Feb 2017 15:57:11 +0000 (15:57 +0000)
committerdrh <drh@noemail.net>
Tue, 14 Feb 2017 15:57:11 +0000 (15:57 +0000)
FossilOrigin-Name: 1836adc1d1f8e496ae0a07bf0fc933a19dc8fee5

manifest
manifest.uuid
test/speedtest1.c

index 2ceff8b1f91a414eb85a96cbacab429629612168..209981b594ec97f44d506152d5c234b1608124a7 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Change\sall\slegacy\sinstances\sof\s"#if\sSQLITE_DEBUG"\sto\s"#ifdef\sSQLITE_DEBUG"\sfor\nconsistency.
-D 2017-02-13T13:35:55.526
+C Add\sthe\snew\s"--testset\sorm"\sto\sthe\sspeedtest1\sutility.
+D 2017-02-14T15:57:11.586
 F Makefile.in edb6bcdd37748d2b1c3422ff727c748df7ffe918
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc 067a6766f800cc8d72845ab61f8de4ffe8f3fc99
@@ -1137,7 +1137,7 @@ F test/speed3.test 694affeb9100526007436334cf7d08f3d74b85ef
 F test/speed4.test abc0ad3399dcf9703abed2fff8705e4f8e416715
 F test/speed4p.explain 6b5f104ebeb34a038b2f714150f51d01143e59aa
 F test/speed4p.test 0e51908951677de5a969b723e03a27a1c45db38b
-F test/speedtest1.c 02fe15bb784c5276a083ffe9969cc51e0bce7644
+F test/speedtest1.c 89795b8e11f2e4d1e14882d5f03731f4bc49962a
 F test/spellfix.test f9c1f431e2c096c8775fec032952320c0e4700db
 F test/spellfix2.test dfc8f519a3fc204cb2dfa8b4f29821ae90f6f8c3
 F test/spellfix3.test 0f9efaaa502a0e0a09848028518a6fb096c8ad33
@@ -1555,7 +1555,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 f3b65926b1f439adb95e3bbce8e58785b8cf8427
-R 9a737f02698a8160ed54e0df3f0a03b5
+P 670f10b24230863688270d12ac519609ade2302b
+R 2249f4f56d1658c4b20a6cc317c60c9d
 U drh
-Z 858958ba65336814a070740bd151ce33
+Z 47dad88b095b1c4793f875e17e9e4c4b
index 897adb27e8c6248a4d2e354870e935eba9e412a5..eed33597ba86ea3463c741335118b8997622a824 100644 (file)
@@ -1 +1 @@
-670f10b24230863688270d12ac519609ade2302b
\ No newline at end of file
+1836adc1d1f8e496ae0a07bf0fc933a19dc8fee5
\ No newline at end of file
index f5b79915c87ccb2007be1aea7012321bbcaa590f..075b2e24aad7b5164fb2865c45853259c42868a3 100644 (file)
@@ -33,7 +33,7 @@ static const char zHelp[] =
   "  --size N            Relative test size.  Default=100\n"
   "  --stats             Show statistics at the end\n"
   "  --temp N            N from 0 to 9.  0: no temp table. 9: all temp tables\n"
-  "  --testset T         Run test-set T\n"
+  "  --testset T         Run test-set T (main, cte, rtree, orm, debug)\n"
   "  --trace             Turn on SQL tracing\n"
   "  --threads N         Use up to N threads for sorting\n"
   "  --utf16be           Set text encoding to UTF-16BE\n"
@@ -1307,6 +1307,275 @@ void testset_rtree(int p1, int p2){
 }
 #endif /* SQLITE_ENABLE_RTREE */
 
+/*
+** A testset that does key/value storage on tables with many columns.
+** This is the kind of workload generated by ORMs such as CoreData.
+*/
+void testset_orm(void){
+  unsigned i, j, n;
+  unsigned nRow;
+  unsigned x1, len;
+  char zNum[2000];              /* A number name */
+  static const char zType[] =   /* Types for all non-PK columns, in order */
+    "IBBIIITIVVITBTBFBFITTFBTBVBVIFTBBFITFFVBIFIVBVVVBTVTIBBFFIVIBTB"
+    "TVTTFTVTVFFIITIFBITFTTFFFVBIIBTTITFTFFVVVFIIITVBBVFFTVVB";
+
+  nRow = n = g.szTest*250;
+  speedtest1_begin_test(100, "Fill %d rows", n);
+  speedtest1_exec(
+    "BEGIN;"
+    "CREATE TABLE ZLOOKSLIKECOREDATA ("
+    "  ZPK INTEGER PRIMARY KEY,"
+    "  ZTERMFITTINGHOUSINGCOMMAND INTEGER,"
+    "  ZBRIEFGOBYDODGERHEIGHT BLOB,"
+    "  ZCAPABLETRIPDOORALMOND BLOB,"
+    "  ZDEPOSITPAIRCOLLEGECOMET INTEGER,"
+    "  ZFRAMEENTERSIMPLEMOUTH INTEGER,"
+    "  ZHOPEFULGATEHOLECHALK INTEGER,"
+    "  ZSLEEPYUSERGRANDBOWL TIMESTAMP,"
+    "  ZDEWPEACHCAREERCELERY INTEGER,"
+    "  ZHANGERLITHIUMDINNERMEET VARCHAR,"
+    "  ZCLUBRELEASELIZARDADVICE VARCHAR,"
+    "  ZCHARGECLICKHUMANEHIRE INTEGER,"
+    "  ZFINGERDUEPIZZAOPTION TIMESTAMP,"
+    "  ZFLYINGDOCTORTABLEMELODY BLOB,"
+    "  ZLONGFINLEAVEIMAGEOIL TIMESTAMP,"
+    "  ZFAMILYVISUALOWNERMATTER BLOB,"
+    "  ZGOLDYOUNGINITIALNOSE FLOAT,"
+    "  ZCAUSESALAMITERMCYAN BLOB,"
+    "  ZSPREADMOTORBISCUITBACON FLOAT,"
+    "  ZGIFTICEFISHGLUEHAIR INTEGER,"
+    "  ZNOTICEPEARPOLICYJUICE TIMESTAMP,"
+    "  ZBANKBUFFALORECOVERORBIT TIMESTAMP,"
+    "  ZLONGDIETESSAYNATURE FLOAT,"
+    "  ZACTIONRANGEELEGANTNEUTRON BLOB,"
+    "  ZCADETBRIGHTPLANETBANK TIMESTAMP,"
+    "  ZAIRFORGIVEHEADFROG BLOB,"
+    "  ZSHARKJUSTFRUITMOVIE VARCHAR,"
+    "  ZFARMERMORNINGMIRRORCONCERN BLOB,"
+    "  ZWOODPOETRYCOBBLERBENCH VARCHAR,"
+    "  ZHAFNIUMSCRIPTSALADMOTOR INTEGER,"
+    "  ZPROBLEMCLUBPOPOVERJELLY FLOAT,"
+    "  ZEIGHTLEADERWORKERMOST TIMESTAMP,"
+    "  ZGLASSRESERVEBARIUMMEAL BLOB,"
+    "  ZCLAMBITARUGULAFAJITA BLOB,"
+    "  ZDECADEJOYOUSWAVEHABIT FLOAT,"
+    "  ZCOMPANYSUMMERFIBERELF INTEGER,"
+    "  ZTREATTESTQUILLCHARGE TIMESTAMP,"
+    "  ZBROWBALANCEKEYCHOWDER FLOAT,"
+    "  ZPEACHCOPPERDINNERLAKE FLOAT,"
+    "  ZDRYWALLBEYONDBROWNBOWL VARCHAR,"
+    "  ZBELLYCRASHITEMLACK BLOB,"
+    "  ZTENNISCYCLEBILLOFFICER INTEGER,"
+    "  ZMALLEQUIPTHANKSGLUE FLOAT,"
+    "  ZMISSREPLYHUMANLIVING INTEGER,"
+    "  ZKIWIVISUALPRIDEAPPLE VARCHAR,"
+    "  ZWISHHITSKINMOTOR BLOB,"
+    "  ZCALMRACCOONPROGRAMDEBIT VARCHAR,"
+    "  ZSHINYASSISTLIVINGCRAB VARCHAR,"
+    "  ZRESOLVEWRISTWRAPAPPLE VARCHAR,"
+    "  ZAPPEALSIMPLESECONDHOUSING BLOB,"
+    "  ZCORNERANCHORTAPEDIVER TIMESTAMP,"
+    "  ZMEMORYREQUESTSOURCEBIG VARCHAR,"
+    "  ZTRYFACTKEEPMILK TIMESTAMP,"
+    "  ZDIVERPAINTLEATHEREASY INTEGER,"
+    "  ZSORTMISTYQUOTECABBAGE BLOB,"
+    "  ZTUNEGASBUFFALOCAPITAL BLOB,"
+    "  ZFILLSTOPLAWJOYFUL FLOAT,"
+    "  ZSTEELCAREFULPLATENUMBER FLOAT,"
+    "  ZGIVEVIVIDDIVINEMEANING INTEGER,"
+    "  ZTREATPACKFUTURECONVERT VARCHAR,"
+    "  ZCALMLYGEMFINISHEFFECT INTEGER,"
+    "  ZCABBAGESOCKEASEMINUTE BLOB,"
+    "  ZPLANETFAMILYPUREMEMORY TIMESTAMP,"
+    "  ZMERRYCRACKTRAINLEADER BLOB,"
+    "  ZMINORWAYPAPERCLASSY TIMESTAMP,"
+    "  ZEAGLELINEMINEMAIL VARCHAR,"
+    "  ZRESORTYARDGREENLET TIMESTAMP,"
+    "  ZYARDOREGANOVIVIDJEWEL TIMESTAMP,"
+    "  ZPURECAKEVIVIDNEATLY FLOAT,"
+    "  ZASKCONTACTMONITORFUN TIMESTAMP,"
+    "  ZMOVEWHOGAMMAINCH VARCHAR,"
+    "  ZLETTUCEBIRDMEETDEBATE TIMESTAMP,"
+    "  ZGENENATURALHEARINGKITE VARCHAR,"
+    "  ZMUFFINDRYERDRAWFORTUNE FLOAT,"
+    "  ZGRAYSURVEYWIRELOVE FLOAT,"
+    "  ZPLIERSPRINTASKOREGANO INTEGER,"
+    "  ZTRAVELDRIVERCONTESTLILY INTEGER,"
+    "  ZHUMORSPICESANDKIDNEY TIMESTAMP,"
+    "  ZARSENICSAMPLEWAITMUON INTEGER,"
+    "  ZLACEADDRESSGROUNDCAREFUL FLOAT,"
+    "  ZBAMBOOMESSWASABIEVENING BLOB,"
+    "  ZONERELEASEAVERAGENURSE INTEGER,"
+    "  ZRADIANTWHENTRYCARD TIMESTAMP,"
+    "  ZREWARDINSIDEMANGOINTENSE FLOAT,"
+    "  ZNEATSTEWPARTIRON TIMESTAMP,"
+    "  ZOUTSIDEPEAHENCOUNTICE TIMESTAMP,"
+    "  ZCREAMEVENINGLIPBRANCH FLOAT,"
+    "  ZWHALEMATHAVOCADOCOPPER FLOAT,"
+    "  ZLIFEUSELEAFYBELL FLOAT,"
+    "  ZWEALTHLINENGLEEFULDAY VARCHAR,"
+    "  ZFACEINVITETALKGOLD BLOB,"
+    "  ZWESTAMOUNTAFFECTHEARING INTEGER,"
+    "  ZDELAYOUTCOMEHORNAGENCY INTEGER,"
+    "  ZBIGTHINKCONVERTECONOMY BLOB,"
+    "  ZBASEGOUDAREGULARFORGIVE TIMESTAMP,"
+    "  ZPATTERNCLORINEGRANDCOLBY TIMESTAMP,"
+    "  ZCYANBASEFEEDADROIT INTEGER,"
+    "  ZCARRYFLOORMINNOWDRAGON TIMESTAMP,"
+    "  ZIMAGEPENCILOTHERBOTTOM FLOAT,"
+    "  ZXENONFLIGHTPALEAPPLE TIMESTAMP,"
+    "  ZHERRINGJOKEFEATUREHOPEFUL FLOAT,"
+    "  ZCAPYEARLYRIVETBRUSH FLOAT,"
+    "  ZAGEREEDFROGBASKET VARCHAR,"
+    "  ZUSUALBODYHALIBUTDIAMOND VARCHAR,"
+    "  ZFOOTTAPWORDENTRY VARCHAR,"
+    "  ZDISHKEEPBLESTMONITOR FLOAT,"
+    "  ZBROADABLESOLIDCASUAL INTEGER,"
+    "  ZSQUAREGLEEFULCHILDLIGHT INTEGER,"
+    "  ZHOLIDAYHEADPONYDETAIL INTEGER,"
+    "  ZGENERALRESORTSKYOPEN TIMESTAMP,"
+    "  ZGLADSPRAYKIDNEYGUPPY VARCHAR,"
+    "  ZSWIMHEAVYMENTIONKIND BLOB,"
+    "  ZMESSYSULFURDREAMFESTIVE BLOB,"
+    "  ZSKYSKYCLASSICBRIEF VARCHAR,"
+    "  ZDILLASKHOKILEMON FLOAT,"
+    "  ZJUNIORSHOWPRESSNOVA FLOAT,"
+    "  ZSIZETOEAWARDFRESH TIMESTAMP,"
+    "  ZKEYFAILAPRICOTMETAL VARCHAR,"
+    "  ZHANDYREPAIRPROTONAIRPORT VARCHAR,"
+    "  ZPOSTPROTEINHANDLEACTOR BLOB"
+    ");"
+  );
+  speedtest1_prepare(
+    "INSERT INTO ZLOOKSLIKECOREDATA(ZPK,ZAIRFORGIVEHEADFROG,"
+    "ZGIFTICEFISHGLUEHAIR,ZDELAYOUTCOMEHORNAGENCY,ZSLEEPYUSERGRANDBOWL,"
+    "ZGLASSRESERVEBARIUMMEAL,ZBRIEFGOBYDODGERHEIGHT,"
+    "ZBAMBOOMESSWASABIEVENING,ZFARMERMORNINGMIRRORCONCERN,"
+    "ZTREATPACKFUTURECONVERT,ZCAUSESALAMITERMCYAN,ZCALMRACCOONPROGRAMDEBIT,"
+    "ZHOLIDAYHEADPONYDETAIL,ZWOODPOETRYCOBBLERBENCH,ZHAFNIUMSCRIPTSALADMOTOR,"
+    "ZUSUALBODYHALIBUTDIAMOND,ZOUTSIDEPEAHENCOUNTICE,ZDIVERPAINTLEATHEREASY,"
+    "ZWESTAMOUNTAFFECTHEARING,ZSIZETOEAWARDFRESH,ZDEWPEACHCAREERCELERY,"
+    "ZSTEELCAREFULPLATENUMBER,ZCYANBASEFEEDADROIT,ZCALMLYGEMFINISHEFFECT,"
+    "ZHANDYREPAIRPROTONAIRPORT,ZGENENATURALHEARINGKITE,ZBROADABLESOLIDCASUAL,"
+    "ZPOSTPROTEINHANDLEACTOR,ZLACEADDRESSGROUNDCAREFUL,ZIMAGEPENCILOTHERBOTTOM,"
+    "ZPROBLEMCLUBPOPOVERJELLY,ZPATTERNCLORINEGRANDCOLBY,ZNEATSTEWPARTIRON,"
+    "ZAPPEALSIMPLESECONDHOUSING,ZMOVEWHOGAMMAINCH,ZTENNISCYCLEBILLOFFICER,"
+    "ZSHARKJUSTFRUITMOVIE,ZKEYFAILAPRICOTMETAL,ZCOMPANYSUMMERFIBERELF,"
+    "ZTERMFITTINGHOUSINGCOMMAND,ZRESORTYARDGREENLET,ZCABBAGESOCKEASEMINUTE,"
+    "ZSQUAREGLEEFULCHILDLIGHT,ZONERELEASEAVERAGENURSE,ZBIGTHINKCONVERTECONOMY,"
+    "ZPLIERSPRINTASKOREGANO,ZDECADEJOYOUSWAVEHABIT,ZDRYWALLBEYONDBROWNBOWL,"
+    "ZCLUBRELEASELIZARDADVICE,ZWHALEMATHAVOCADOCOPPER,ZBELLYCRASHITEMLACK,"
+    "ZLETTUCEBIRDMEETDEBATE,ZCAPABLETRIPDOORALMOND,ZRADIANTWHENTRYCARD,"
+    "ZCAPYEARLYRIVETBRUSH,ZAGEREEDFROGBASKET,ZSWIMHEAVYMENTIONKIND,"
+    "ZTRAVELDRIVERCONTESTLILY,ZGLADSPRAYKIDNEYGUPPY,ZBANKBUFFALORECOVERORBIT,"
+    "ZFINGERDUEPIZZAOPTION,ZCLAMBITARUGULAFAJITA,ZLONGFINLEAVEIMAGEOIL,"
+    "ZLONGDIETESSAYNATURE,ZJUNIORSHOWPRESSNOVA,ZHOPEFULGATEHOLECHALK,"
+    "ZDEPOSITPAIRCOLLEGECOMET,ZWEALTHLINENGLEEFULDAY,ZFILLSTOPLAWJOYFUL,"
+    "ZTUNEGASBUFFALOCAPITAL,ZGRAYSURVEYWIRELOVE,ZCORNERANCHORTAPEDIVER,"
+    "ZREWARDINSIDEMANGOINTENSE,ZCADETBRIGHTPLANETBANK,ZPLANETFAMILYPUREMEMORY,"
+    "ZTREATTESTQUILLCHARGE,ZCREAMEVENINGLIPBRANCH,ZSKYSKYCLASSICBRIEF,"
+    "ZARSENICSAMPLEWAITMUON,ZBROWBALANCEKEYCHOWDER,ZFLYINGDOCTORTABLEMELODY,"
+    "ZHANGERLITHIUMDINNERMEET,ZNOTICEPEARPOLICYJUICE,ZSHINYASSISTLIVINGCRAB,"
+    "ZLIFEUSELEAFYBELL,ZFACEINVITETALKGOLD,ZGENERALRESORTSKYOPEN,"
+    "ZPURECAKEVIVIDNEATLY,ZKIWIVISUALPRIDEAPPLE,ZMESSYSULFURDREAMFESTIVE,"
+    "ZCHARGECLICKHUMANEHIRE,ZHERRINGJOKEFEATUREHOPEFUL,ZYARDOREGANOVIVIDJEWEL,"
+    "ZFOOTTAPWORDENTRY,ZWISHHITSKINMOTOR,ZBASEGOUDAREGULARFORGIVE,"
+    "ZMUFFINDRYERDRAWFORTUNE,ZACTIONRANGEELEGANTNEUTRON,ZTRYFACTKEEPMILK,"
+    "ZPEACHCOPPERDINNERLAKE,ZFRAMEENTERSIMPLEMOUTH,ZMERRYCRACKTRAINLEADER,"
+    "ZMEMORYREQUESTSOURCEBIG,ZCARRYFLOORMINNOWDRAGON,ZMINORWAYPAPERCLASSY,"
+    "ZDILLASKHOKILEMON,ZRESOLVEWRISTWRAPAPPLE,ZASKCONTACTMONITORFUN,"
+    "ZGIVEVIVIDDIVINEMEANING,ZEIGHTLEADERWORKERMOST,ZMISSREPLYHUMANLIVING,"
+    "ZXENONFLIGHTPALEAPPLE,ZSORTMISTYQUOTECABBAGE,ZEAGLELINEMINEMAIL,"
+    "ZFAMILYVISUALOWNERMATTER,ZSPREADMOTORBISCUITBACON,ZDISHKEEPBLESTMONITOR,"
+    "ZMALLEQUIPTHANKSGLUE,ZGOLDYOUNGINITIALNOSE,ZHUMORSPICESANDKIDNEY)"
+    "VALUES(?1,?26,?20,?93,?8,?33,?3,?81,?28,?60,?18,?47,?109,?29,?30,?104,?86,"
+    "?54,?92,?117,?9,?58,?97,?61,?119,?73,?107,?120,?80,?99,?31,?96,?85,?50,?71,"
+    "?42,?27,?118,?36,?2,?67,?62,?108,?82,?94,?76,?35,?40,?11,?88,?41,?72,?4,"
+    "?83,?102,?103,?112,?77,?111,?22,?13,?34,?15,?23,?116,?7,?5,?90,?57,?56,"
+    "?75,?51,?84,?25,?63,?37,?87,?114,?79,?38,?14,?10,?21,?48,?89,?91,?110,"
+    "?69,?45,?113,?12,?101,?68,?105,?46,?95,?74,?24,?53,?39,?6,?64,?52,?98,"
+    "?65,?115,?49,?70,?59,?32,?44,?100,?55,?66,?16,?19,?106,?43,?17,?78);"
+  );
+  for(i=0; i<n; i++){
+    x1 = speedtest1_random();
+    speedtest1_numbername(x1, zNum, sizeof(zNum));
+    len = (int)strlen(zNum);
+    sqlite3_bind_int(g.pStmt, 1, i^0xf);
+    for(j=0; zType[j]; j++){
+      switch( zType[j] ){
+        case 'I':
+        case 'T':
+          sqlite3_bind_int(g.pStmt, j+2, x1);
+          break;
+        case 'F':
+          sqlite3_bind_double(g.pStmt, j+2, (double)x1);
+          break;
+        case 'V':
+        case 'B':
+          sqlite3_bind_text64(g.pStmt, j+2, zNum, len,
+                              SQLITE_STATIC, SQLITE_UTF8);
+          break;
+      }
+    }
+    speedtest1_run();
+  }
+  speedtest1_exec("COMMIT;");
+  speedtest1_end_test();
+
+  n = g.szTest*250;
+  speedtest1_begin_test(100, "Query %d rows by rowid", n);
+  speedtest1_prepare(
+    "SELECT ZCYANBASEFEEDADROIT,ZJUNIORSHOWPRESSNOVA,ZCAUSESALAMITERMCYAN,"
+    "ZHOPEFULGATEHOLECHALK,ZHUMORSPICESANDKIDNEY,ZSWIMHEAVYMENTIONKIND,"
+    "ZMOVEWHOGAMMAINCH,ZAPPEALSIMPLESECONDHOUSING,ZHAFNIUMSCRIPTSALADMOTOR,"
+    "ZNEATSTEWPARTIRON,ZLONGFINLEAVEIMAGEOIL,ZDEWPEACHCAREERCELERY,"
+    "ZXENONFLIGHTPALEAPPLE,ZCALMRACCOONPROGRAMDEBIT,ZUSUALBODYHALIBUTDIAMOND,"
+    "ZTRYFACTKEEPMILK,ZWEALTHLINENGLEEFULDAY,ZLONGDIETESSAYNATURE,"
+    "ZLIFEUSELEAFYBELL,ZTREATPACKFUTURECONVERT,ZMEMORYREQUESTSOURCEBIG,"
+    "ZYARDOREGANOVIVIDJEWEL,ZDEPOSITPAIRCOLLEGECOMET,ZSLEEPYUSERGRANDBOWL,"
+    "ZBRIEFGOBYDODGERHEIGHT,ZCLUBRELEASELIZARDADVICE,ZCAPABLETRIPDOORALMOND,"
+    "ZDRYWALLBEYONDBROWNBOWL,ZASKCONTACTMONITORFUN,ZKIWIVISUALPRIDEAPPLE,"
+    "ZNOTICEPEARPOLICYJUICE,ZPEACHCOPPERDINNERLAKE,ZSTEELCAREFULPLATENUMBER,"
+    "ZGLADSPRAYKIDNEYGUPPY,ZCOMPANYSUMMERFIBERELF,ZTENNISCYCLEBILLOFFICER,"
+    "ZIMAGEPENCILOTHERBOTTOM,ZWESTAMOUNTAFFECTHEARING,ZDIVERPAINTLEATHEREASY,"
+    "ZSKYSKYCLASSICBRIEF,ZMESSYSULFURDREAMFESTIVE,ZMERRYCRACKTRAINLEADER,"
+    "ZBROADABLESOLIDCASUAL,ZGLASSRESERVEBARIUMMEAL,ZTUNEGASBUFFALOCAPITAL,"
+    "ZBANKBUFFALORECOVERORBIT,ZTREATTESTQUILLCHARGE,ZBAMBOOMESSWASABIEVENING,"
+    "ZREWARDINSIDEMANGOINTENSE,ZEAGLELINEMINEMAIL,ZCALMLYGEMFINISHEFFECT,"
+    "ZKEYFAILAPRICOTMETAL,ZFINGERDUEPIZZAOPTION,ZCADETBRIGHTPLANETBANK,"
+    "ZGOLDYOUNGINITIALNOSE,ZMISSREPLYHUMANLIVING,ZEIGHTLEADERWORKERMOST,"
+    "ZFRAMEENTERSIMPLEMOUTH,ZBIGTHINKCONVERTECONOMY,ZFACEINVITETALKGOLD,"
+    "ZPOSTPROTEINHANDLEACTOR,ZHERRINGJOKEFEATUREHOPEFUL,ZCABBAGESOCKEASEMINUTE,"
+    "ZMUFFINDRYERDRAWFORTUNE,ZPROBLEMCLUBPOPOVERJELLY,ZGIVEVIVIDDIVINEMEANING,"
+    "ZGENENATURALHEARINGKITE,ZGENERALRESORTSKYOPEN,ZLETTUCEBIRDMEETDEBATE,"
+    "ZBASEGOUDAREGULARFORGIVE,ZCHARGECLICKHUMANEHIRE,ZPLANETFAMILYPUREMEMORY,"
+    "ZMINORWAYPAPERCLASSY,ZCAPYEARLYRIVETBRUSH,ZSIZETOEAWARDFRESH,"
+    "ZARSENICSAMPLEWAITMUON,ZSQUAREGLEEFULCHILDLIGHT,ZSHINYASSISTLIVINGCRAB,"
+    "ZCORNERANCHORTAPEDIVER,ZDECADEJOYOUSWAVEHABIT,ZTRAVELDRIVERCONTESTLILY,"
+    "ZFLYINGDOCTORTABLEMELODY,ZSHARKJUSTFRUITMOVIE,ZFAMILYVISUALOWNERMATTER,"
+    "ZFARMERMORNINGMIRRORCONCERN,ZGIFTICEFISHGLUEHAIR,ZOUTSIDEPEAHENCOUNTICE,"
+    "ZSPREADMOTORBISCUITBACON,ZWISHHITSKINMOTOR,ZHOLIDAYHEADPONYDETAIL,"
+    "ZWOODPOETRYCOBBLERBENCH,ZAIRFORGIVEHEADFROG,ZBROWBALANCEKEYCHOWDER,"
+    "ZDISHKEEPBLESTMONITOR,ZCLAMBITARUGULAFAJITA,ZPLIERSPRINTASKOREGANO,"
+    "ZRADIANTWHENTRYCARD,ZDELAYOUTCOMEHORNAGENCY,ZPURECAKEVIVIDNEATLY,"
+    "ZPATTERNCLORINEGRANDCOLBY,ZHANDYREPAIRPROTONAIRPORT,ZAGEREEDFROGBASKET,"
+    "ZSORTMISTYQUOTECABBAGE,ZFOOTTAPWORDENTRY,ZRESOLVEWRISTWRAPAPPLE,"
+    "ZDILLASKHOKILEMON,ZFILLSTOPLAWJOYFUL,ZACTIONRANGEELEGANTNEUTRON,"
+    "ZRESORTYARDGREENLET,ZCREAMEVENINGLIPBRANCH,ZWHALEMATHAVOCADOCOPPER,"
+    "ZGRAYSURVEYWIRELOVE,ZBELLYCRASHITEMLACK,ZHANGERLITHIUMDINNERMEET,"
+    "ZCARRYFLOORMINNOWDRAGON,ZMALLEQUIPTHANKSGLUE,ZTERMFITTINGHOUSINGCOMMAND,"
+    "ZONERELEASEAVERAGENURSE,ZLACEADDRESSGROUNDCAREFUL"
+    " FROM ZLOOKSLIKECOREDATA WHERE ZPK=?1;"
+  );
+  for(i=0; i<n; i++){
+    x1 = speedtest1_random()%nRow;
+    sqlite3_bind_int(g.pStmt, 1, x1);
+    speedtest1_run();
+  }
+  speedtest1_end_test();
+}
+
 /*
 ** A testset used for debugging speedtest1 itself.
 */
@@ -1610,6 +1879,8 @@ int main(int argc, char **argv){
     testset_main();
   }else if( strcmp(zTSet,"debug1")==0 ){
     testset_debug1();
+  }else if( strcmp(zTSet,"orm")==0 ){
+    testset_orm();
   }else if( strcmp(zTSet,"cte")==0 ){
     testset_cte();
   }else if( strcmp(zTSet,"rtree")==0 ){