diff options
author | drh <drh@noemail.net> | 2020-02-06 20:46:08 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2020-02-06 20:46:08 +0000 |
commit | c84ad3185111e6f437fd89eb702614a232e0c76f (patch) | |
tree | ccb645a71d6a6887d8610c5438735d550f8c3a01 /src | |
parent | 0de19cac43b83ff4fa9840479633636f8bc0af37 (diff) | |
download | sqlite-c84ad3185111e6f437fd89eb702614a232e0c76f.tar.gz sqlite-c84ad3185111e6f437fd89eb702614a232e0c76f.zip |
There is no need to keep track of the number of changed rows or of the
last-insert-rowid while running VACUUM.
FossilOrigin-Name: a8a7c05b16f6c73ac55c359fbf62cae4a76eb0d105a3c53e9f47cede9fd85916
Diffstat (limited to 'src')
-rw-r--r-- | src/insert.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/insert.c b/src/insert.c index 5951a546f..43d2f11c1 100644 --- a/src/insert.c +++ b/src/insert.c @@ -2791,8 +2791,7 @@ static int xferOptimization( } if( db->mDbFlags & DBFLAG_Vacuum ){ sqlite3VdbeAddOp1(v, OP_SeekEnd, iDest); - insFlags = OPFLAG_NCHANGE|OPFLAG_LASTROWID| - OPFLAG_APPEND|OPFLAG_USESEEKRESULT; + insFlags = OPFLAG_APPEND|OPFLAG_USESEEKRESULT; }else{ insFlags = OPFLAG_NCHANGE|OPFLAG_LASTROWID|OPFLAG_APPEND; } @@ -2844,8 +2843,7 @@ static int xferOptimization( idxInsFlags = OPFLAG_USESEEKRESULT; sqlite3VdbeAddOp1(v, OP_SeekEnd, iDest); } - } - if( !HasRowid(pSrc) && pDestIdx->idxType==SQLITE_IDXTYPE_PRIMARYKEY ){ + }else if( !HasRowid(pSrc) && pDestIdx->idxType==SQLITE_IDXTYPE_PRIMARYKEY ){ idxInsFlags |= OPFLAG_NCHANGE; } sqlite3VdbeAddOp3(v, OP_RowData, iSrc, regData, 1); |