aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2016-08-13 12:37:47 +0000
committerdrh <drh@noemail.net>2016-08-13 12:37:47 +0000
commita2f629251f764e86120dfd0bf800f8e237605a64 (patch)
tree4022779936eb4facb0859fa0911b0dd95c938d48 /src/expr.c
parent79752b6e63c03a18fd93817c6e9580d7445a7ce9 (diff)
downloadsqlite-a2f629251f764e86120dfd0bf800f8e237605a64.tar.gz
sqlite-a2f629251f764e86120dfd0bf800f8e237605a64.zip
Fix to the vector less-than operator. All legacy tests passing now.
FossilOrigin-Name: ec70a67ebc997f457be4d52d8affc37e142dc3ff
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/expr.c b/src/expr.c
index 54bf0dfab..4f02c98c4 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -485,14 +485,11 @@ static void codeVectorCompare(
}else if( opx==TK_NE ){
sqlite3VdbeAddOp2(v, OP_If, dest, addrDone); VdbeCoverage(v);
p5 |= SQLITE_KEEPNULL;
- }else if( opx==op ){
- assert( op==TK_LT || op==TK_GT );
- sqlite3VdbeAddOp3(v, OP_If, dest, addrDone, 1);
- VdbeCoverageIf(v, op==TK_LT);
- VdbeCoverageIf(v, op==TK_GT);
}else{
- assert( op==TK_LE || op==TK_GE );
+ assert( op==TK_LT || op==TK_GT || op==TK_LE || op==TK_GE );
sqlite3VdbeAddOp2(v, OP_ElseNotEq, 0, addrDone);
+ VdbeCoverageIf(v, op==TK_LT);
+ VdbeCoverageIf(v, op==TK_GT);
VdbeCoverageIf(v, op==TK_LE);
VdbeCoverageIf(v, op==TK_GE);
if( i==nLeft-2 ) opx = op;