]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Enhance FTS3 to take advantage of the MAX() optimization.
authordrh <drh@noemail.net>
Fri, 26 Mar 2010 17:42:57 +0000 (17:42 +0000)
committerdrh <drh@noemail.net>
Fri, 26 Mar 2010 17:42:57 +0000 (17:42 +0000)
Cherrypick of [b7e42ae774].

FossilOrigin-Name: 4b65b4805100852a2b6a834aa6efc0bbf25b539f

ext/fts3/fts3_write.c
manifest
manifest.uuid

index 23b8866049ab96c9087d480b6f6b2a400b9dafb2..cc3c362c8e6118938707713414acf7e2175873fa 100644 (file)
@@ -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.*/ 
index ea79ac6e617a151d6cce2c4c84219f4377e7b88b..e163442bf3e01c8786335dde7450ae692e97226f 100644 (file)
--- 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-----
index df260148f5d465496124e195d247661a7db0f2df..19c5596ad336e8225e9773cf99c08adbe0b4b4f4 100644 (file)
@@ -1 +1 @@
-ff6ae4f0e461fb5f8d08a0092488b7cd71cffb05
\ No newline at end of file
+4b65b4805100852a2b6a834aa6efc0bbf25b539f
\ No newline at end of file