mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-14 00:22:38 +03:00
Use sqlite3XPrintf() instead of sqlite3StrAccumAppend() in a few places
for better performance and a smaller footprint. FossilOrigin-Name: 82355e41084387fa11b7b531e4d660dd3b4cd984
This commit is contained in:
@@ -165,19 +165,18 @@ int sqlite3WhereExplainOneScan(
|
||||
explainIndexRange(&str, pLoop, pItem->pTab);
|
||||
}
|
||||
}else if( (flags & WHERE_IPK)!=0 && (flags & WHERE_CONSTRAINT)!=0 ){
|
||||
const char *zRange;
|
||||
const char *zRangeOp;
|
||||
if( flags&(WHERE_COLUMN_EQ|WHERE_COLUMN_IN) ){
|
||||
zRange = "(rowid=?)";
|
||||
zRangeOp = "=";
|
||||
}else if( (flags&WHERE_BOTH_LIMIT)==WHERE_BOTH_LIMIT ){
|
||||
zRange = "(rowid>? AND rowid<?)";
|
||||
zRangeOp = ">? AND rowid<";
|
||||
}else if( flags&WHERE_BTM_LIMIT ){
|
||||
zRange = "(rowid>?)";
|
||||
zRangeOp = ">";
|
||||
}else{
|
||||
assert( flags&WHERE_TOP_LIMIT);
|
||||
zRange = "(rowid<?)";
|
||||
zRangeOp = "<";
|
||||
}
|
||||
sqlite3StrAccumAppendAll(&str, " USING INTEGER PRIMARY KEY ");
|
||||
sqlite3StrAccumAppendAll(&str, zRange);
|
||||
sqlite3XPrintf(&str, 0, " USING INTEGER PRIMARY KEY (rowid%s?)",zRangeOp);
|
||||
}
|
||||
#ifndef SQLITE_OMIT_VIRTUALTABLE
|
||||
else if( (flags & WHERE_VIRTUALTABLE)!=0 ){
|
||||
|
||||
Reference in New Issue
Block a user