aboutsummaryrefslogtreecommitdiff
path: root/src/select.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2015-07-14 15:39:22 +0000
committerdrh <drh@noemail.net>2015-07-14 15:39:22 +0000
commit38151adfe2f51c07ca50e9cbc6f44a9811097eb1 (patch)
tree44ecb68858c63553a92e23f56db4481f7a620327 /src/select.c
parentbed6de557a5282f92ed5019d5c89129a6ece6bab (diff)
parent201e0c68f7d5d19ba759f56fadd0d58c838c41f9 (diff)
downloadsqlite-38151adfe2f51c07ca50e9cbc6f44a9811097eb1.tar.gz
sqlite-38151adfe2f51c07ca50e9cbc6f44a9811097eb1.zip
Merge trunk changes, including the addition of FTS5 and pcache1 performance
enhancements. FossilOrigin-Name: db4cbefb8674c6cfff27c1e918741de1885c845c
Diffstat (limited to 'src/select.c')
-rw-r--r--src/select.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/select.c b/src/select.c
index ed5d2c6bf..13de02942 100644
--- a/src/select.c
+++ b/src/select.c
@@ -2070,10 +2070,14 @@ static void generateWithRecursiveQuery(
/* Execute the recursive SELECT taking the single row in Current as
** the value for the recursive-table. Store the results in the Queue.
*/
- p->pPrior = 0;
- sqlite3Select(pParse, p, &destQueue);
- assert( p->pPrior==0 );
- p->pPrior = pSetup;
+ if( p->selFlags & SF_Aggregate ){
+ sqlite3ErrorMsg(pParse, "recursive aggregate queries not supported");
+ }else{
+ p->pPrior = 0;
+ sqlite3Select(pParse, p, &destQueue);
+ assert( p->pPrior==0 );
+ p->pPrior = pSetup;
+ }
/* Keep running the loop until the Queue is empty */
sqlite3VdbeAddOp2(v, OP_Goto, 0, addrTop);