From: drh Date: Mon, 21 Nov 2005 12:46:27 +0000 (+0000) Subject: The EXPLAIN QUERY PLAN now identifies when tables use the integer primary key. (CVS... X-Git-Tag: version-3.6.10~3389 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=36d649303feb066fddbfb718b66c8900d4088ad2;p=thirdparty%2Fsqlite.git The EXPLAIN QUERY PLAN now identifies when tables use the integer primary key. (CVS 2771) FossilOrigin-Name: 80721e2c9033abb2e9eed32892c4e486c293e1fa --- diff --git a/manifest b/manifest index 44dfce82b3..b9a13433f2 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\sproblem\swith\sthe\ssorting\sof\sliterals\sin\sa\scompound\squery.\sTicket\s#1501.\s(CVS\s2770) -D 2005-11-16T13:47:51 +C The\sEXPLAIN\sQUERY\sPLAN\snow\sidentifies\swhen\stables\suse\sthe\sinteger\sprimary\skey.\s(CVS\s2771) +D 2005-11-21T12:46:27 F Makefile.in 12784cdce5ffc8dfb707300c34e4f1eb3b8a14f1 F Makefile.linux-gcc aee18d8a05546dcf1888bd4547e442008a49a092 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 @@ -88,7 +88,7 @@ F src/vdbeapi.c 85bbe1d0243a89655433d60711b4bd71979b59cd F src/vdbeaux.c eb1ce3a40d37a1a7e92749e0ef72e3224fa5e55f F src/vdbefifo.c 9efb94c8c3f4c979ebd0028219483f88e57584f5 F src/vdbemem.c cd9609c1e7f71ec76d9840c84c3a57ebfa6539cf -F src/where.c 5b1bc977f34e21983fecf3878007918c844086d6 +F src/where.c 312ca128cb6cc7abffb1cd40295b7e871bd79102 F tclinstaller.tcl 046e3624671962dc50f0481d7c25b38ef803eb42 F test/all.test 7f0988442ab811dfa41793b5b550f5828ce316f3 F test/alter.test 9d6837a3d946b73df692b7cef2a7644d2e2f6bc6 @@ -319,7 +319,7 @@ F www/tclsqlite.tcl ddcf912ea48695603c8ed7efb29f0812ef8d1b49 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl a99cf5f6d8bd4d5537584a2b342f0fb9fa601d8b F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513 -P bb866ed880c33ec9ce6ded8ebdbb459fedf9c257 -R 7c9a33e45e816665be15765531c18711 +P b3882b434a1ef7d8d636c7c5917b9e8f0d2952fb +R 25ffda8d5782d9ad16227a0b0f9f23e5 U drh -Z aa3c54ef29f09c5fa4da147679eb55f1 +Z addd89d3da9030efc574ff6faf614d91 diff --git a/manifest.uuid b/manifest.uuid index 73b816ba82..94f56c9642 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -b3882b434a1ef7d8d636c7c5917b9e8f0d2952fb \ No newline at end of file +80721e2c9033abb2e9eed32892c4e486c293e1fa \ No newline at end of file diff --git a/src/where.c b/src/where.c index 481902306f..813d40e25a 100644 --- a/src/where.c +++ b/src/where.c @@ -16,7 +16,7 @@ ** so is applicable. Because this module is responsible for selecting ** indices, you might also think of this module as the "query optimizer". ** -** $Id: where.c,v 1.181 2005/11/14 22:29:06 drh Exp $ +** $Id: where.c,v 1.182 2005/11/21 12:46:27 drh Exp $ */ #include "sqliteInt.h" @@ -1550,6 +1550,8 @@ WhereInfo *sqlite3WhereBegin( } if( (pIx = pLevel->pIdx)!=0 ){ zMsg = sqlite3MPrintf("%z WITH INDEX %s", zMsg, pIx->zName); + }else if( pLevel->flags & (WHERE_ROWID_EQ|WHERE_ROWID_RANGE) ){ + zMsg = sqlite3MPrintf("%z USING INTEGER PRIMARY KEY", zMsg); } sqlite3VdbeOp3(v, OP_Explain, i, pLevel->iFrom, zMsg, P3_DYNAMIC); }