diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/select.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/select.c b/src/select.c index d437283a4..33c8b2762 100644 --- a/src/select.c +++ b/src/select.c @@ -942,10 +942,12 @@ static void selectExprDefer( if( pItem->u.x.iOrderByCol==0 ){ Expr *pExpr = pItem->pExpr; Table *pTab; - assert( ExprUseYTab(pExpr) ); - pTab = pExpr->y.pTab; - if( pExpr->op==TK_COLUMN && pExpr->iColumn>=0 && pTab && !IsVirtual(pTab) - && (pTab->aCol[pExpr->iColumn].colFlags & COLFLAG_SORTERREF) + if( pExpr->op==TK_COLUMN + && pExpr->iColumn>=0 + && ALWAYS( ExprUseYTab(pExpr) ) + && (pTab = pExpr->y.pTab)!=0 + && IsOrdinaryTable(pTab) + && (pTab->aCol[pExpr->iColumn].colFlags & COLFLAG_SORTERREF)!=0 ){ int j; for(j=0; j<nDefer; j++){ |