mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-12 13:01:09 +03:00
Improved EQP output for recursive CTEs and multi-value VALUES clauses.
FossilOrigin-Name: f2f525548c65f89f55cbe91da8a21512dedc6f7b68b58b7906d653e800a2963a
This commit is contained in:
@@ -2290,6 +2290,8 @@ static void generateWithRecursiveQuery(
|
||||
|
||||
/* Store the results of the setup-query in Queue. */
|
||||
pSetup->pNext = 0;
|
||||
ExplainQueryPlan((pParse, 1, "SETUP"));
|
||||
ExplainQueryPlanSetId(pParse, pSetup);
|
||||
rc = sqlite3Select(pParse, pSetup, &destQueue);
|
||||
pSetup->pNext = p;
|
||||
if( rc ) goto end_of_recursive_query;
|
||||
@@ -2324,6 +2326,8 @@ static void generateWithRecursiveQuery(
|
||||
sqlite3ErrorMsg(pParse, "recursive aggregate queries not supported");
|
||||
}else{
|
||||
p->pPrior = 0;
|
||||
ExplainQueryPlan((pParse, 1, "RECURSIVE STEP"));
|
||||
ExplainQueryPlanSetId(pParse, p);
|
||||
sqlite3Select(pParse, p, &destQueue);
|
||||
assert( p->pPrior==0 );
|
||||
p->pPrior = pSetup;
|
||||
@@ -2383,6 +2387,7 @@ static int multiSelectValues(
|
||||
p = p->pPrior;
|
||||
nRow++;
|
||||
}while(1);
|
||||
ExplainQueryPlan((pParse, 0, "SCAN %d CONSTANT ROWS", nRow));
|
||||
while( p ){
|
||||
pPrior = p->pPrior;
|
||||
p->pPrior = 0;
|
||||
|
||||
Reference in New Issue
Block a user