Remove an unneeded column-cache flush in aggregate SELECT

and an unreachable branch in the INSERT logic.

FossilOrigin-Name: ffa092e13b3781677b18418cca40e3dd1e388aed
This commit is contained in:
drh 2013-12-19 14:34:34 +00:00
parent edfac3456e
commit a021f121c9
4 changed files with 9 additions and 10 deletions

View File

@ -1,5 +1,5 @@
C Omit\san\sunnecessary\sOP_Null\sopcode\sfrom\sUPDATE. C Remove\san\sunneeded\scolumn-cache\sflush\sin\saggregate\sSELECT\nand\san\sunreachable\sbranch\sin\sthe\sINSERT\slogic.
D 2013-12-19T02:56:01.711 D 2013-12-19T14:34:34.832
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in 2ef13430cd359f7b361bb863504e227b25cc7f81 F Makefile.in 2ef13430cd359f7b361bb863504e227b25cc7f81
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@ -183,7 +183,7 @@ F src/global.c 1d7bb7ea8254ae6a68ed9bfaf65fcb3d1690b486
F src/hash.c ac3470bbf1ca4ae4e306a8ecb0fdf1731810ffe4 F src/hash.c ac3470bbf1ca4ae4e306a8ecb0fdf1731810ffe4
F src/hash.h 8890a25af81fb85a9ad7790d32eedab4b994da22 F src/hash.h 8890a25af81fb85a9ad7790d32eedab4b994da22
F src/hwtime.h d32741c8f4df852c7d959236615444e2b1063b08 F src/hwtime.h d32741c8f4df852c7d959236615444e2b1063b08
F src/insert.c d1b3fd53cd8e3f232e47675cf2c3d1b1f4101f2a F src/insert.c f165ba414eda735b327c8126def0a2428f9138de
F src/journal.c b4124532212b6952f42eb2c12fa3c25701d8ba8d F src/journal.c b4124532212b6952f42eb2c12fa3c25701d8ba8d
F src/legacy.c 0df0b1550b9cc1f58229644735e317ac89131f12 F src/legacy.c 0df0b1550b9cc1f58229644735e317ac89131f12
F src/lempar.c cdf0a000315332fc9b50b62f3b5e22e080a0952b F src/lempar.c cdf0a000315332fc9b50b62f3b5e22e080a0952b
@ -219,7 +219,7 @@ F src/printf.c 85d07756e45d7496d19439dcae3e6e9e0090f269
F src/random.c 0b2dbc37fdfbfa6bd455b091dfcef5bdb32dba68 F src/random.c 0b2dbc37fdfbfa6bd455b091dfcef5bdb32dba68
F src/resolve.c 7eda9097b29fcf3d2b42fdc17d1de672134e09b6 F src/resolve.c 7eda9097b29fcf3d2b42fdc17d1de672134e09b6
F src/rowset.c 64655f1a627c9c212d9ab497899e7424a34222e0 F src/rowset.c 64655f1a627c9c212d9ab497899e7424a34222e0
F src/select.c ecb020aa28e030761f6addd0adf5438e938931c1 F src/select.c 9d13850293cf19e5ffee59b231fa372e16ce65a9
F src/shell.c 18924f6ccfa70da98bf9e388bab512c0fd1e792e F src/shell.c 18924f6ccfa70da98bf9e388bab512c0fd1e792e
F src/sqlite.h.in 4ef56464aeaa3785a2c5ca37fb3a0fb229d68b2e F src/sqlite.h.in 4ef56464aeaa3785a2c5ca37fb3a0fb229d68b2e
F src/sqlite3.rc 11094cc6a157a028b301a9f06b3d03089ea37c3e F src/sqlite3.rc 11094cc6a157a028b301a9f06b3d03089ea37c3e
@ -1147,7 +1147,7 @@ F tool/vdbe-compress.tcl 0cf56e9263a152b84da86e75a5c0cdcdb7a47891
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01
F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff
P 61e2f3575c4a94f9571c28fb2bd19da84b0edceb P 72d111336c5016e5b5092dfebcd01253266a7685
R df16247ba6ed01ab9a8dff3d1c0e5ea9 R a48136d424494fa9261ddc391e19f98d
U drh U drh
Z 56ef984ce433e185375b049dfac62028 Z 822c060ba762ff386aec37ff13c59f91

View File

@ -1 +1 @@
72d111336c5016e5b5092dfebcd01253266a7685 ffa092e13b3781677b18418cca40e3dd1e388aed

View File

@ -1515,7 +1515,7 @@ void sqlite3GenerateConstraintChecks(
int x; int x;
/* Extract the PRIMARY KEY from the end of the index entry and /* Extract the PRIMARY KEY from the end of the index entry and
** store it in registers regR..regR+nPk-1 */ ** store it in registers regR..regR+nPk-1 */
if( (isUpdate || onError==OE_Replace) && pIdx!=pPk ){ if( pIdx!=pPk ){
for(i=0; i<pPk->nKeyCol; i++){ for(i=0; i<pPk->nKeyCol; i++){
x = sqlite3ColumnOfIndex(pIdx, pPk->aiColumn[i]); x = sqlite3ColumnOfIndex(pIdx, pPk->aiColumn[i]);
sqlite3VdbeAddOp3(v, OP_Column, iThisCur, x, regR+i); sqlite3VdbeAddOp3(v, OP_Column, iThisCur, x, regR+i);

View File

@ -3875,7 +3875,6 @@ static void updateAccumulator(Parse *pParse, AggInfo *pAggInfo){
struct AggInfo_col *pC; struct AggInfo_col *pC;
pAggInfo->directMode = 1; pAggInfo->directMode = 1;
sqlite3ExprCacheClear(pParse);
for(i=0, pF=pAggInfo->aFunc; i<pAggInfo->nFunc; i++, pF++){ for(i=0, pF=pAggInfo->aFunc; i<pAggInfo->nFunc; i++, pF++){
int nArg; int nArg;
int addrNext = 0; int addrNext = 0;