> > When I attempt to perform a certain join (shown below), the disableTerm > function fails in the ALWAYS assertion, because the wtFlags field already has > the TERM_CODED bit set. As far as I can tell, it is looking at the first > constraint in the ON clause of the LEFT JOIN, possibly for the second time. > > The problem goes away on any of the following conditions: > > - native tables are used as opposed to virtual tables > - the first constraint of the WHERE clause (one.a = 3) is omitted > - the constant from the WHERE clause is repeated in the ON clause > (three.a = 3) > > I suspect there is a subtle difference in parsing and/or code generation > between native and virtual tables the leads to this effect
I couldn't immediately reproduce this using the "echo" virtual table module. It could have something to do with the scanning costs your virtual tables are returning to SQLite. Does this happen in 3.7.4? Can you provide us with code for virtual tables that cause the bug to occur? Dan. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users