aboutsummaryrefslogtreecommitdiff
path: root/src/insert.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2015-08-27 18:24:02 +0000
committerdrh <drh@noemail.net>2015-08-27 18:24:02 +0000
commit6860e6fa6fec87334b5c9fe1bc3d0be45cf5ef49 (patch)
tree2cdbd99e5a1de4477e36bc8989d159c56ae67212 /src/insert.c
parentb377020ca9d7dab4079c17cb351f54fe2ec1fc99 (diff)
downloadsqlite-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.c5
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;