-C Add\sthe\sSQLITE_BITMASK_TYPE\scompile-time\soption.
-D 2016-02-23T16:28:34.108
+C Identify\sindexes\sthat\scomplete\scover\stheir\stable.
+D 2016-02-24T15:43:05.820
F Makefile.in 4e90dc1521879022aa9479268a4cd141d1771142
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
F Makefile.msc 28fc4ee02333996d31b3602b39eeb8e609a89ce4
F src/btree.c 7bb920c473c277380fcb3e8a8ee28ce1a48e0abc
F src/btree.h a5008b9afe56e8e54ade6c436a910f112defcca9
F src/btreeInt.h c18b7d2a3494695133e4e60ee36061d37f45d9a5
-F src/build.c 88f185a37d1e087818fd7077d84d65c5babefdb1
+F src/build.c 2c85d62e502e3f41f37049733c25be77780660e2
F src/callback.c 0643b8fb06c95a8977beb201b268210d4b131a22
F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
F src/ctime.c 60e135af364d777a9ab41c97e5e89cd224da6198
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh a98af506df552f3b3c0d904f94e4cdc4e1a6d598
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P aa9f4c622af191edbeb6a535942944f8c91f5c37
-R 4a575c5637747e2b18640a9618428d3e
+P 0064a8c77b2b048c71277d1cfd1ba3975b513b70
+R 5e33894201e325c17491a9fc46b648e7
+T *branch * covering-index
+T *sym-covering-index *
+T -sym-trunk *
U drh
-Z c4c6cb390dd2f5f6f2bb80636719a5f7
+Z 47bfdcb1d11cf503d0a7a3e3179c205c
}else{
pIndex->aiColumn[i] = XN_ROWID;
pIndex->azColl[i] = sqlite3StrBINARY;
+ /* If this index contains every column of its table, then mark
+ ** it as a covering index */
+ if( pTblName!=0 && pIndex->nColumn>=pTab->nCol ){
+ pIndex->isCovering = 1;
+ for(j=0; j<pTab->nCol; j++){
+ if( j==pTab->iPKey ) continue;
+ if( sqlite3ColumnOfIndex(pIndex,j)>=0 ) continue;
+ pIndex->isCovering = 0;
+ break;
+ }
+ }
}
sqlite3DefaultRowEst(pIndex);
if( pParse->pNewTable==0 ) estimateIndexWidth(pIndex);