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 | |
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
-rw-r--r-- | manifest | 17 | ||||
-rw-r--r-- | manifest.uuid | 2 | ||||
-rw-r--r-- | src/expr.c | 9 | ||||
-rw-r--r-- | test/rowvalue2.test | 1 |
4 files changed, 11 insertions, 18 deletions
@@ -1,5 +1,5 @@ -C Attempt\sto\ssimplify\sthe\slogic\sand\sgenerated\scode\sfor\svector\scomparisons.\nBasic\scomparison\soperators\sare\sworking,\sbut\sthere\sare\smany\sindexing\stest\nfailures\sstill\sto\sbe\sworked\sthrough. -D 2016-08-13T10:02:17.801 +C Fix\sto\sthe\svector\sless-than\soperator.\s\sAll\slegacy\stests\spassing\snow. +D 2016-08-13T12:37:47.521 F Makefile.in cfd8fb987cd7a6af046daa87daa146d5aad0e088 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc d66d0395c38571aab3804f8db0fa20707ae4609a @@ -338,7 +338,7 @@ F src/ctime.c e77f3dc297b4b65c96da78b4ae4272fdfae863d7 F src/date.c 95c9a8d00767e7221a8e9a31f4e913fc8029bf6b F src/dbstat.c 4f6f7f52b49beb9636ffbd517cfe44a402ba4ad0 F src/delete.c 4aba4214a377ce8ddde2d2e609777bcc8235200f -F src/expr.c 375de68ad2daf3bd339f79074ced5a6db77e2f62 +F src/expr.c d79a02ba0f5b44c3319154641247979c48eec637 F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb F src/fkey.c bc4145347595b7770f9a598cff1c848302cf5413 F src/func.c 29cc9acb170ec1387b9f63eb52cd85f8de96c771 @@ -1020,7 +1020,7 @@ F test/rowallock.test 3f88ec6819489d0b2341c7a7528ae17c053ab7cc F test/rowhash.test 0bc1d31415e4575d10cacf31e1a66b5cc0f8be81 F test/rowid.test 5b7509f384f4f6fae1af3c8c104c8ca299fea18d F test/rowvalue.test 56b34d31d91340a6e922e753b798880170cc1aa7 -F test/rowvalue2.test 8d5dfe75b8f4d1868a2f91f0356f20d36cba64ff +F test/rowvalue2.test 875068299fd4dd50ef0a47786462c8e1f4065f9a F test/rowvalue3.test dbe935260851b197dfbbbcb0ac2a15cb5f324fd4 F test/rowvalue4.test ed3f7974099f0fc508c9f95df55d37c49f43be65 F test/rowvalue5.test 01c7e0bc4048f30b58e6eb27ecd26e5bd312635e @@ -1516,10 +1516,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 381aa73141db8ec59adbcb09e71af660ee4ae5ce -R b082d1240e853643b05ab20adb3ffc1b -T *branch * vector-compare -T *sym-vector-compare * -T -sym-rowvalue * +P dfc028cfbe7657d20727a2670ecadb1575eb8cbb +R 051307c8175981bed144504907ca38ff U drh -Z 873e26b27a2fd221371ad3338313919b +Z bf986d41b4b86a5837f36c1caf70f646 diff --git a/manifest.uuid b/manifest.uuid index 617135c70..b233b1a33 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -dfc028cfbe7657d20727a2670ecadb1575eb8cbb
\ No newline at end of file +ec70a67ebc997f457be4d52d8affc37e142dc3ff
\ No newline at end of file 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; diff --git a/test/rowvalue2.test b/test/rowvalue2.test index c7d061e3e..b385b23ce 100644 --- a/test/rowvalue2.test +++ b/test/rowvalue2.test @@ -249,4 +249,3 @@ foreach {tn idx} { finish_test - |