Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Merge the fix for ticket [d02e1406a58ea02] into trunk. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
dd34bec389359845b86f4cc4906ab440 |
User & Date: | drh 2012-10-09 21:07:23.774 |
References
2013-06-03
| ||
13:23 | • New ticket [bc1aea7b72] Incorrect result on LEFT JOIN with OR constraints and an ORDER BY clause. (artifact: a92b978f85 user: drh) | |
Context
2012-10-10
| ||
09:46 | Move a couple of WAL-related function declarations in sqliteInt.h and pager.h into "#ifndef SQLITE_OMIT_WAL" blocks. Otherwise, the amalgamation fails to build using some compilers with SQLITE_OMIT_WAL (static function declared but not defined). (check-in: f7437153b9 user: dan tags: trunk) | |
2012-10-09
| ||
21:07 | Merge the fix for ticket [d02e1406a58ea02] into trunk. (check-in: dd34bec389 user: drh tags: trunk) | |
18:51 | Attempt to suppress warnings generated by Coverity. (check-in: 7b1a6e6cb5 user: drh tags: trunk) | |
Changes
Changes to src/where.c.
︙ | ︙ | |||
4601 4602 4603 4604 4605 4606 4607 | /* Finish the loop through table entries that match term pOrTerm. */ sqlite3WhereEnd(pSubWInfo); } } } pLevel->u.pCovidx = pCov; | | | 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 | /* Finish the loop through table entries that match term pOrTerm. */ sqlite3WhereEnd(pSubWInfo); } } } pLevel->u.pCovidx = pCov; if( pCov ) pLevel->iIdxCur = iCovCur; if( pAndExpr ){ pAndExpr->pLeft = 0; sqlite3ExprDelete(pParse->db, pAndExpr); } sqlite3VdbeChangeP1(v, iRetInit, sqlite3VdbeCurrentAddr(v)); sqlite3VdbeAddOp2(v, OP_Goto, 0, pLevel->addrBrk); sqlite3VdbeResolveLabel(v, iLoopBody); |
︙ | ︙ |
Changes to test/whereD.test.
︙ | ︙ | |||
156 157 158 159 160 161 162 163 164 | do_searchcount_test 3.5.1 { SELECT a, b FROM t3 WHERE (a=1 AND b='one') OR rowid=4 } {1 one 2 two search 2} do_searchcount_test 3.5.2 { SELECT a, c FROM t3 WHERE (a=1 AND b='one') OR rowid=4 } {1 i 2 ii search 2} finish_test | > > > > > > > > > > > > > > > > > > > > > > > > > | 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 | do_searchcount_test 3.5.1 { SELECT a, b FROM t3 WHERE (a=1 AND b='one') OR rowid=4 } {1 one 2 two search 2} do_searchcount_test 3.5.2 { SELECT a, c FROM t3 WHERE (a=1 AND b='one') OR rowid=4 } {1 i 2 ii search 2} # Ticket [d02e1406a58ea02d] (2012-10-04) # LEFT JOIN with an OR in the ON clause causes segfault # do_test 4.1 { db eval { CREATE TABLE t41(a,b,c); INSERT INTO t41 VALUES(1,2,3), (4,5,6); CREATE TABLE t42(d,e,f); INSERT INTO t42 VALUES(3,6,9), (4,8,12); SELECT * FROM t41 AS x LEFT JOIN t42 AS y ON (y.d=x.c) OR (y.e=x.b); } } {1 2 3 3 6 9 4 5 6 {} {} {}} do_test 4.2 { db eval { CREATE INDEX t42d ON t42(d); CREATE INDEX t42e ON t42(e); SELECT * FROM t41 AS x LEFT JOIN t42 AS y ON (y.d=x.c) OR (y.e=x.b); } } {1 2 3 3 6 9 4 5 6 {} {} {}} do_test 4.2 { db eval { SELECT * FROM t41 AS x LEFT JOIN t42 AS y ON (y.d=x.c) OR (y.d=x.b); } } {1 2 3 3 6 9 4 5 6 {} {} {}} finish_test |