On Thu, Aug 29, 2013 at 11:47 AM, Marc L. Allen <[email protected]
> wrote:

> Silly question.. I looked at the fix.  Why ignore indexes with greater
> than 4 fields?  Isn't that a bit risky?  Wouldn't it be better to ignore
> the fields after the 4th one for planning?
>

The whereShortCut() routine is merely an optimization.  It provides a quick
plan for the common case of a single-table query using an equality
constraint on a PRIMARY KEY or UNIQUE index.  Anything that falls through
whereShortCut() goes into the regular query planner and will get analyzed
thoroughly there.

You could omit the whereShortCut() routine entirely and SQLite would still
give the correct answer.  The only downside is that sqlite3_prepare_v2()
would run slightly slower in the common case.
-- 
D. Richard Hipp
[email protected]
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to