aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordan <dan@noemail.net>2016-09-03 19:52:12 +0000
committerdan <dan@noemail.net>2016-09-03 19:52:12 +0000
commit80aa545337b65289a0db4e73c97d763c357aad53 (patch)
treee18e64e8a9ff63927a8406eec3363ce88c7b028c /src/expr.c
parent8f9d1ad8d555d8f077986c2337742922f30a4639 (diff)
downloadsqlite-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.c6
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;
}