diff options
author | drh <drh@noemail.net> | 2016-08-13 12:37:47 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2016-08-13 12:37:47 +0000 |
commit | a2f629251f764e86120dfd0bf800f8e237605a64 (patch) | |
tree | 4022779936eb4facb0859fa0911b0dd95c938d48 /src/expr.c | |
parent | 79752b6e63c03a18fd93817c6e9580d7445a7ce9 (diff) | |
download | sqlite-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.c | 9 |
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; |