mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-22 20:22:44 +03:00
Fixes to EXPLAIN QUERY PLAN output. Change weights back to something closer
to what they are in legacy. More test case fixes. FossilOrigin-Name: 36373b85f9a97840aa06e24ae31c12fcfbae084e
This commit is contained in:
@@ -3884,11 +3884,10 @@ static void explainSimpleCount(
|
||||
Index *pIdx /* Index used to optimize scan, or NULL */
|
||||
){
|
||||
if( pParse->explain==2 ){
|
||||
char *zEqp = sqlite3MPrintf(pParse->db, "SCAN TABLE %s %s%s(~%d rows)",
|
||||
char *zEqp = sqlite3MPrintf(pParse->db, "SCAN TABLE %s%s%s",
|
||||
pTab->zName,
|
||||
pIdx ? "USING COVERING INDEX " : "",
|
||||
pIdx ? pIdx->zName : "",
|
||||
pTab->nRowEst
|
||||
pIdx ? " USING COVERING INDEX " : "",
|
||||
pIdx ? pIdx->zName : ""
|
||||
);
|
||||
sqlite3VdbeAddOp4(
|
||||
pParse->pVdbe, OP_Explain, pParse->iSelectId, 0, 0, zEqp, P4_DYNAMIC
|
||||
|
||||
@@ -4308,7 +4308,7 @@ static int whereLoopAddBtreeIndex(
|
||||
}else{
|
||||
/* Each row involves a step of the index, then a binary search of
|
||||
** the main table */
|
||||
WhereCost rStepAndSearch = rLogSize>80 ? rLogSize-80 : 1;
|
||||
WhereCost rStepAndSearch = whereCostAdd(10, rLogSize>17 ? rLogSize-17 : 1);
|
||||
pNew->rRun = whereCostAdd(pNew->rRun, rStepAndSearch);
|
||||
}
|
||||
/* TBD: Adjust nOut for additional constraints */
|
||||
|
||||
Reference in New Issue
Block a user