Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch unique-constraint-weights Excluding Merge-Ins
This is equivalent to a diff from 11d9015f31 to 5c243eec7b
2018-10-06
| ||
13:46 | Add test cases and assert() statements to ensure that the authorizer is being called as expected from within ALTER TABLE. (check-in: ff10d2c7de user: dan tags: trunk) | |
2018-10-05
| ||
20:09 | When the left-hand side of a WHERE clause contraint is a UNIQUE column, and that term of the WHERE clause is not used for indexing, assume that the term reduces the number of output rows by half. This is one proposed fix for ticket [e8b674241947eb3ba4] (Leaf check-in: 5c243eec7b user: drh tags: unique-constraint-weights) | |
15:10 | Changes to geopoly to silience false-positive warnings coming out of clang. (check-in: 11d9015f31 user: drh tags: trunk) | |
2018-10-03
| ||
18:05 | Add an ALWAYS on an unreachable branch in the ALTER TABLE logic. (check-in: ebcd452317 user: drh tags: trunk) | |
Changes to ext/rtree/rtreeC.test.
︙ | |||
173 174 175 176 177 178 179 | 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 | - + + | } {1 1 3 {}} #-------------------------------------------------------------------- # Test that the sqlite_stat1 data is used correctly. # reset_db do_execsql_test 5.1 { |
︙ | |||
217 218 219 220 221 222 223 | 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 | - + | db close sqlite3 db test.db do_eqp_test 5.4 { SELECT * FROM t1, rt WHERE x==id; } { QUERY PLAN |--SCAN TABLE rt VIRTUAL TABLE INDEX 2: |
︙ |
Changes to src/where.c.
︙ | |||
2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 | 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 | + + + + + + + + + + + + + | && !ExprHasProperty(pTerm->pExpr, EP_FromJoin) ){ continue; } if( IsUniqueIndex(pProbe) && saved_nEq==pProbe->nKeyCol-1 ){ pBuilder->bldFlags |= SQLITE_BLDF_UNIQUE; if( pProbe->nKeyCol==1 && pTerm->truthProb>=0 && (pTerm->eOperator & (WO_EQ|WO_IS|WO_IN))!=0 ){ /* If the LHS of an == or IS or IN operator is unique, then ** make the guess that the truth probability of the expression is 50%. ** This is probably an overestimate, but we want to be safe. Without ** this guess, the truth probability would be 93.75%, which is usually ** a little too high for such a constraint, resulting in an output row ** count that is too large, and throwing off the calcualations on the ** cost of an external sort. */ pTerm->truthProb = -10; } }else{ pBuilder->bldFlags |= SQLITE_BLDF_INDEXED; } pNew->wsFlags = saved_wsFlags; pNew->u.btree.nEq = saved_nEq; pNew->u.btree.nBtm = saved_nBtm; pNew->u.btree.nTop = saved_nTop; |
︙ |
Changes to test/whereF.test.
︙ | |||
48 49 50 51 52 53 54 | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | - - + + - - - + + + | source $testdir/tester.tcl set testprefix whereF do_execsql_test 1.0 { PRAGMA automatic_index = 0; CREATE TABLE t1(a, b, c); CREATE TABLE t2(d, e, f); |
︙ |
Changes to test/whereG.test.
︙ | |||
147 148 149 150 151 152 153 | 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | - - + + | AND album.aid=track.aid; } } {1 {second argument to likelihood() must be a constant between 0.0 and 1.0}} # Commuting a term of the WHERE clause should not change the query plan # do_execsql_test whereG-3.0 { |
︙ |
Changes to test/whereL.test.
︙ | |||
43 44 45 46 47 48 49 | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | - - + + | do_eqp_test 120 { SELECT * FROM t1, t2, t3 WHERE t1.a=t2.a AND t2.a=t3.j AND t3.j=5 ORDER BY t1.a; } { QUERY PLAN |--SEARCH TABLE t1 USING INDEX sqlite_autoindex_t1_1 (a=?) |
︙ |
Changes to test/with3.test.
︙ | |||
122 123 124 125 126 127 128 | 122 123 124 125 126 127 128 129 130 131 132 133 | - - + + | | | |--SCAN CONSTANT ROW | | `--SCALAR SUBQUERY | | `--SCAN TABLE w2 | `--RECURSIVE STEP | |--SCAN TABLE w1 | `--SCAN TABLE c |--SCAN SUBQUERY xxxxxx |