diff options
author | drh <drh@noemail.net> | 2015-08-27 18:24:02 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2015-08-27 18:24:02 +0000 |
commit | 6860e6fa6fec87334b5c9fe1bc3d0be45cf5ef49 (patch) | |
tree | 2cdbd99e5a1de4477e36bc8989d159c56ae67212 /src/insert.c | |
parent | b377020ca9d7dab4079c17cb351f54fe2ec1fc99 (diff) | |
download | sqlite-6860e6fa6fec87334b5c9fe1bc3d0be45cf5ef49.tar.gz sqlite-6860e6fa6fec87334b5c9fe1bc3d0be45cf5ef49.zip |
Activate the ability to use expressions in indexes in a query. There are some
test failures, but mostly this seems to work.
FossilOrigin-Name: 42f93f582eccd8a778189aa6c113874f995ab751
Diffstat (limited to 'src/insert.c')
-rw-r--r-- | src/insert.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/insert.c b/src/insert.c index 149096c04..73879303d 100644 --- a/src/insert.c +++ b/src/insert.c @@ -93,9 +93,12 @@ const char *sqlite3IndexAffinityStr(sqlite3 *db, Index *pIdx){ }else if( x==(-1) ){ pIdx->zColAff[n] = SQLITE_AFF_INTEGER; }else{ + char aff; assert( x==(-2) ); assert( pIdx->aColExpr!=0 ); - pIdx->zColAff[n] = sqlite3ExprAffinity(pIdx->aColExpr->a[n].pExpr); + aff = sqlite3ExprAffinity(pIdx->aColExpr->a[n].pExpr); + if( aff==0 ) aff = SQLITE_AFF_BLOB; + pIdx->zColAff[n] = aff; } } pIdx->zColAff[n] = 0; |