aboutsummaryrefslogtreecommitdiff
path: root/src/vdbeblob.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2015-08-25 16:57:52 +0000
committerdrh <drh@noemail.net>2015-08-25 16:57:52 +0000
commit1f9ca2c84ca1601fde33eab74d376ac1b1c9d3b0 (patch)
tree27077a7e223e2bf5378c681d1a0a5e29e3aa7c40 /src/vdbeblob.c
parenta514b8eb0cc9c6773171381a1dfe5b456d963a97 (diff)
downloadsqlite-1f9ca2c84ca1601fde33eab74d376ac1b1c9d3b0.tar.gz
sqlite-1f9ca2c84ca1601fde33eab74d376ac1b1c9d3b0.zip
Add code to maintain indexes with expression arguments across DELETE, INSERT,
and UPDATE statements. Legacy tests pass, but the new code paths are still largely untested. The query planner currently makes no effort to use expression indexes. FossilOrigin-Name: efaabdb71626bdc03768e87e186c72f6f3da75b2
Diffstat (limited to 'src/vdbeblob.c')
-rw-r--r--src/vdbeblob.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/vdbeblob.c b/src/vdbeblob.c
index ea01f5ce8..2cdc3edb0 100644
--- a/src/vdbeblob.c
+++ b/src/vdbeblob.c
@@ -247,7 +247,8 @@ int sqlite3_blob_open(
for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
int j;
for(j=0; j<pIdx->nKeyCol; j++){
- if( pIdx->aiColumn[j]==iCol ){
+ /* FIXME: Be smarter about indexes that use expressions */
+ if( pIdx->aiColumn[j]==iCol || pIdx->aiColumn[j]==(-2) ){
zFault = "indexed";
}
}