Thanks for the interest, but I now can't repro the bug using pure sqlite3, and only trigger it using Python (2.6) with its sqlite3 module.
- Eric On Tue, Apr 5, 2011 at 5:21 PM, Eric Promislow <eric.promis...@gmail.com>wrote: > This won't be a trivial case to reproduce -- I need to create two tables, > with several rows, and my main db tool is broken right now. I did find a > workaround, > groveling over the results in Python. > > If I bind the values to literals like so: > select "... str1" as p1_path and "... str2" as p2_path where.... > > the substr clause works. So I do need to create a real table to > repro this. > > > On Tue, Apr 5, 2011 at 5:12 PM, Igor Tandetnik <itandet...@mvps.org>wrote: > >> On 4/5/2011 6:59 PM, Eric Promislow wrote: >> > Notice the clause in the middle of the query: >> > and (substr(p2.path, length(p1.path) + 1, 1) = "/" >> > or substr(p2.path, length(p1.path) + 1, 1) != "/") >> > >> > If I comment out this full clause, the query returns the expected result >> > set. >> > >> > But if I leave it uncommented, the query returns an empty set. But the >> > clause >> > should be tautologically true -- either the character after the prefix >> is >> > "/" or it >> > isn't. >> >> The third possiblity is that substr() returns null, in which case both >> comparisons will be false. >> -- >> Igor Tandetnik >> >> _______________________________________________ >> sqlite-users mailing list >> sqlite-users@sqlite.org >> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users >> > > _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users