-C Fix\sOOM\serror\sreporting\sin\sthe\sjson1_group_object()\sSQL\sfunction.\s\sRemove\nan\sunreachable\sbranch\sfrom\sthe\sJSON1\slogic.
-D 2016-11-07T18:18:08.418
+C Tweaks\sto\sspeedtest1.c\sto\sbetter\sreflect\smobile\susage\sbased\son\sfindings\sin\nthe\s"Pocket\sData"\spaper\sby\sKennedy,\sAjay,\sChallen,\sand\sZiarek.
+D 2016-11-08T00:30:11.643
F Makefile.in 6fd48ffcf7c2deea7499062d1f3747f986c19678
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
F Makefile.msc e0217f2d35a0448abbe4b066132ae20136e8b408
F test/speed4.test abc0ad3399dcf9703abed2fff8705e4f8e416715
F test/speed4p.explain 6b5f104ebeb34a038b2f714150f51d01143e59aa
F test/speed4p.test 0e51908951677de5a969b723e03a27a1c45db38b
-F test/speedtest1.c ffb96750d02e21d1acdbf63464153580825206d7
+F test/speedtest1.c 4b2538e937332a1fb280c1db42b07e1690a39789
F test/spellfix.test f9c1f431e2c096c8775fec032952320c0e4700db
F test/spellfix2.test dfc8f519a3fc204cb2dfa8b4f29821ae90f6f8c3
F test/spellfix3.test 0f9efaaa502a0e0a09848028518a6fb096c8ad33
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 145cd13e3c5a42a717807bcc13c0f7212f38bff8
-R 5bf098c60c4b2458fcef57830990e98c
+P b54098491531cd26ed461275ef4aae3d3ec9065e
+R 29c0fc43bc0904b3fe84b3580650f63d
U drh
-Z beca6c8fe13d65bdcd7b60c2b18aa7d8
+Z 7fea0b281bf173d5dc107b8135144da1
speedtest1_begin_test(130, "%d SELECTS, numeric BETWEEN, unindexed", n);
speedtest1_exec("BEGIN");
speedtest1_prepare(
- "SELECT count(*), avg(b), sum(length(c)) FROM t1\n"
+ "SELECT count(*), avg(b), sum(length(c)), group_concat(c) FROM t1\n"
" WHERE b BETWEEN ?1 AND ?2; -- %d times", n
);
for(i=1; i<=n; i++){
speedtest1_begin_test(140, "%d SELECTS, LIKE, unindexed", n);
speedtest1_exec("BEGIN");
speedtest1_prepare(
- "SELECT count(*), avg(b), sum(length(c)) FROM t1\n"
+ "SELECT count(*), avg(b), sum(length(c)), group_concat(c) FROM t1\n"
" WHERE c LIKE ?1; -- %d times", n
);
for(i=1; i<=n; i++){
speedtest1_begin_test(160, "%d SELECTS, numeric BETWEEN, indexed", n);
speedtest1_exec("BEGIN");
speedtest1_prepare(
- "SELECT count(*), avg(b), sum(length(c)) FROM t1\n"
+ "SELECT count(*), avg(b), sum(length(c)), group_concat(a) FROM t1\n"
" WHERE b BETWEEN ?1 AND ?2; -- %d times", n
);
for(i=1; i<=n; i++){
speedtest1_begin_test(161, "%d SELECTS, numeric BETWEEN, PK", n);
speedtest1_exec("BEGIN");
speedtest1_prepare(
- "SELECT count(*), avg(b), sum(length(c)) FROM t2\n"
+ "SELECT count(*), avg(b), sum(length(c)), group_concat(a) FROM t2\n"
" WHERE a BETWEEN ?1 AND ?2; -- %d times", n
);
for(i=1; i<=n; i++){
speedtest1_begin_test(170, "%d SELECTS, text BETWEEN, indexed", n);
speedtest1_exec("BEGIN");
speedtest1_prepare(
- "SELECT count(*), avg(b), sum(length(c)) FROM t1\n"
+ "SELECT count(*), avg(b), sum(length(c)), group_concat(a) FROM t1\n"
" WHERE c BETWEEN ?1 AND (?1||'~'); -- %d times", n
);
for(i=1; i<=n; i++){
speedtest1_run();
speedtest1_end_test();
+ sz = n = g.szTest*700;
+ zNum[0] = 0;
+ maxb = roundup_allones(sz/3);
+ speedtest1_begin_test(400, "%d INSERT OR REPLACE ops on an IPK", n);
+ speedtest1_exec("BEGIN");
+ speedtest1_exec("CREATE%s TABLE t5(a INTEGER PRIMARY KEY, b %s);",
+ isTemp(9), g.zNN);
+ speedtest1_prepare("INSERT OR REPLACE INTO t5 VALUES(?1,?2); -- %d times",n);
+ for(i=1; i<=n; i++){
+ x1 = swizzle(i,maxb);
+ speedtest1_numbername(i, zNum, sizeof(zNum));
+ sqlite3_bind_int(g.pStmt, 1, (sqlite3_int64)x1);
+ sqlite3_bind_text(g.pStmt, 2, zNum, -1, SQLITE_STATIC);
+ speedtest1_run();
+ }
+ speedtest1_exec("COMMIT");
+ speedtest1_end_test();
+ speedtest1_begin_test(410, "%d SELECTS on an IPK", n);
+ speedtest1_prepare("SELECT b FROM t5 WHERE a=?1; -- %d times",n);
+ for(i=1; i<=n; i++){
+ x1 = swizzle(i,maxb);
+ sqlite3_bind_int(g.pStmt, 1, (sqlite3_int64)x1);
+ speedtest1_run();
+ }
+ speedtest1_end_test();
+
+ sz = n = g.szTest*700;
+ zNum[0] = 0;
+ maxb = roundup_allones(sz/3);
+ speedtest1_begin_test(500, "%d INSERT OR REPLACE ops on TEXT PK", n);
+ speedtest1_exec("BEGIN");
+ speedtest1_exec("CREATE%s TABLE t6(a TEXT PRIMARY KEY, b %s)%s;",
+ isTemp(9), g.zNN,
+ sqlite3_libversion_number()>=3008002 ? "WITHOUT ROWID" : "");
+ speedtest1_prepare("INSERT OR REPLACE INTO t6 VALUES(?1,?2); -- %d times",n);
+ for(i=1; i<=n; i++){
+ x1 = swizzle(i,maxb);
+ speedtest1_numbername(x1, zNum, sizeof(zNum));
+ sqlite3_bind_int(g.pStmt, 2, i);
+ sqlite3_bind_text(g.pStmt, 1, zNum, -1, SQLITE_STATIC);
+ speedtest1_run();
+ }
+ speedtest1_exec("COMMIT");
+ speedtest1_end_test();
+ speedtest1_begin_test(510, "%d SELECTS on an IPK", n);
+ speedtest1_prepare("SELECT b FROM t6 WHERE a=?1; -- %d times",n);
+ for(i=1; i<=n; i++){
+ x1 = swizzle(i,maxb);
+ speedtest1_numbername(x1, zNum, sizeof(zNum));
+ sqlite3_bind_text(g.pStmt, 1, zNum, -1, SQLITE_STATIC);
+ speedtest1_run();
+ }
+ speedtest1_end_test();
+
+
speedtest1_begin_test(980, "PRAGMA integrity_check");
speedtest1_exec("PRAGMA integrity_check");
speedtest1_end_test();