SQLite

Check-in [a0c08d2689]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:The optimization on this branch is logically incorrect. It changes the return value of "SELECT 0 OR 'xyzzy'" FROM 0 to 'xyzzy'.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | simplify-or-clause
Files: files | file ages | folders
SHA1: a0c08d2689804958937662f2529f182812c4aaa6
User & Date: drh 2015-10-29 14:29:01.051
Original Comment: Remove an "exit" call in the where2.test script that accidentally left in the code following a debugging session.
Context
2015-10-29
14:29
The optimization on this branch is logically incorrect. It changes the return value of "SELECT 0 OR 'xyzzy'" FROM 0 to 'xyzzy'. (Closed-Leaf check-in: a0c08d2689 user: drh tags: simplify-or-clause)
12:27
Apply optimizations to simplify OR clauses that contain constant terms. (check-in: d533e23f05 user: drh tags: simplify-or-clause)
Changes
Unified Diff Ignore Whitespace Patch
Changes to test/where2.test.
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
    }
  } {99 6 10000 10006 nosort t1 i1w}
}

# Verify that OR clauses get translated into IN operators.
#
set ::idx {}
exit
ifcapable subquery {set ::idx i1w}
do_test where2-6.1.1 {
  queryplan {
    SELECT * FROM t1 WHERE w=99 OR w=100 ORDER BY +w
  }
} [list 99 6 10000 10006 100 6 10201 10207 sort t1 $::idx]
do_test where2-6.1.2 {







<







294
295
296
297
298
299
300

301
302
303
304
305
306
307
    }
  } {99 6 10000 10006 nosort t1 i1w}
}

# Verify that OR clauses get translated into IN operators.
#
set ::idx {}

ifcapable subquery {set ::idx i1w}
do_test where2-6.1.1 {
  queryplan {
    SELECT * FROM t1 WHERE w=99 OR w=100 ORDER BY +w
  }
} [list 99 6 10000 10006 100 6 10201 10207 sort t1 $::idx]
do_test where2-6.1.2 {