From: drh Date: Fri, 26 Mar 2010 17:42:57 +0000 (+0000) Subject: Enhance FTS3 to take advantage of the MAX() optimization. X-Git-Tag: mountain-lion~58^2~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4f7e8fcded93b98b70172e7ddc1a5784d48e95c0;p=thirdparty%2Fsqlite.git Enhance FTS3 to take advantage of the MAX() optimization. Cherrypick of [b7e42ae774]. FossilOrigin-Name: 4b65b4805100852a2b6a834aa6efc0bbf25b539f --- diff --git a/ext/fts3/fts3_write.c b/ext/fts3/fts3_write.c index 23b8866049..cc3c362c8e 100644 --- a/ext/fts3/fts3_write.c +++ b/ext/fts3/fts3_write.c @@ -186,9 +186,9 @@ static int fts3SqlStmt( /* 5 */ "DELETE FROM %Q.'%q_docsize'", /* 6 */ "DELETE FROM %Q.'%q_stat'", /* 7 */ "SELECT * FROM %Q.'%q_content' WHERE rowid=?", -/* 8 */ "SELECT coalesce(max(idx)+1, 0) FROM %Q.'%q_segdir' WHERE level=?", +/* 8 */ "SELECT (SELECT max(idx) FROM %Q.'%q_segdir' WHERE level = ?) + 1", /* 9 */ "INSERT INTO %Q.'%q_segments'(blockid, block) VALUES(?, ?)", -/* 10 */ "SELECT coalesce(max(blockid)+1, 1) FROM %Q.'%q_segments'", +/* 10 */ "SELECT coalesce((SELECT max(blockid) FROM %Q.'%q_segments') + 1, 1)", /* 11 */ "INSERT INTO %Q.'%q_segdir' VALUES(?,?,?,?,?,?)", /* Return segments in order from oldest to newest.*/ diff --git a/manifest b/manifest index ea79ac6e61..e163442bf3 100644 --- a/manifest +++ b/manifest @@ -1,8 +1,8 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 -C Correctly\shandle\sstrings\swith\szero-length\stokens\sin\sthe\sFTS3\soffsets()\nfunction.\s\sThis\sis\sa\scherrypick\sof\s[d37034f7fc]. -D 2010-03-26T17:40:32 +C Enhance\sFTS3\sto\stake\sadvantage\sof\sthe\sMAX()\soptimization.\nCherrypick\sof\s[b7e42ae774]. +D 2010-03-26T17:42:58 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.in 4f2f967b7e58a35bb74fb7ec8ae90e0f4ca7868b F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -71,7 +71,7 @@ F ext/fts3/fts3_snippet.c 538bd27a76e465cb4ef6bfcb5479d897e4d5a536 F ext/fts3/fts3_tokenizer.c 1a49ee3d79cbf0b9386250370d9cbfe4bb89c8ff F ext/fts3/fts3_tokenizer.h 13ffd9fcb397fec32a05ef5cd9e0fa659bf3dbd3 F ext/fts3/fts3_tokenizer1.c b6d86d1d750787db5c168c73da4e87670ed890a1 -F ext/fts3/fts3_write.c bff9bea026d6e627ab8e78e2ade310981128e0bd +F ext/fts3/fts3_write.c 4b21a0c6f2772b261f14e3a2e80e1e3e849268b0 F ext/fts3/mkfts3amal.tcl 252ecb7fe6467854f2aa237bf2c390b74e71f100 F ext/icu/README.txt 3b130aa66e7a681136f6add198b076a2f90d1e33 F ext/icu/icu.c 850e9a36567bbcce6bd85a4b68243cad8e3c2de2 @@ -795,14 +795,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f -P ca0bc2a22e893062876f67e0f53cbab44b45665d -R 24b9fa5b514ad48fc1f4636dc645593b +P ff6ae4f0e461fb5f8d08a0092488b7cd71cffb05 +R d58e97c2aeee1a71eb362796d3bf67a7 U drh -Z 5c92d97f4565d701ec12e576ffb6b46b +Z 13012b28c59ec8f8930f7acba20e41b4 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) -iD8DBQFLrPGToxKgR168RlERAkgmAJ0dIHzOOhFP1kPKfD8nXNpZ4LY0GQCfWVg1 -pHKKMY8ZMGN1beehZi5RipY= -=n0TY +iD8DBQFLrPIloxKgR168RlERAkkYAJ9x8rW5DhlihyUTZKz2NlQwqJeMrwCeKx/d +JiSuNdcWlhgNVN7PoDkwIhQ= +=/wLd -----END PGP SIGNATURE----- diff --git a/manifest.uuid b/manifest.uuid index df260148f5..19c5596ad3 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -ff6ae4f0e461fb5f8d08a0092488b7cd71cffb05 \ No newline at end of file +4b65b4805100852a2b6a834aa6efc0bbf25b539f \ No newline at end of file