diff options
author | dan <dan@noemail.net> | 2016-09-03 19:52:12 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2016-09-03 19:52:12 +0000 |
commit | 80aa545337b65289a0db4e73c97d763c357aad53 (patch) | |
tree | e18e64e8a9ff63927a8406eec3363ce88c7b028c /src/expr.c | |
parent | 8f9d1ad8d555d8f077986c2337742922f30a4639 (diff) | |
download | sqlite-80aa545337b65289a0db4e73c97d763c357aad53.tar.gz sqlite-80aa545337b65289a0db4e73c97d763c357aad53.zip |
Fix a problem causing the affinity of sub-select row-value elements to be ignored in some contextes.
FossilOrigin-Name: 7d9bd22c0715ede2592ee1fa7ebc215aded1ca1b
Diffstat (limited to 'src/expr.c')
-rw-r--r-- | src/expr.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/expr.c b/src/expr.c index 31df95c05..76f0d4908 100644 --- a/src/expr.c +++ b/src/expr.c @@ -61,6 +61,12 @@ char sqlite3ExprAffinity(Expr *pExpr){ if( op==TK_AGG_COLUMN || op==TK_COLUMN ){ return sqlite3TableColumnAffinity(pExpr->pTab, pExpr->iColumn); } + if( op==TK_SELECT_COLUMN ){ + assert( pExpr->pLeft->flags&EP_xIsSelect ); + return sqlite3ExprAffinity( + pExpr->pLeft->x.pSelect->pEList->a[pExpr->iColumn].pExpr + ); + } return pExpr->affinity; } |