aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2020-02-06 20:46:08 +0000
committerdrh <drh@noemail.net>2020-02-06 20:46:08 +0000
commitc84ad3185111e6f437fd89eb702614a232e0c76f (patch)
treeccb645a71d6a6887d8610c5438735d550f8c3a01 /src
parent0de19cac43b83ff4fa9840479633636f8bc0af37 (diff)
downloadsqlite-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.c6
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);