On Sep 15, 2011, at 11:00 AM, Sam Carleton wrote: > On Thu, Sep 15, 2011 at 10:05 AM, Simon Slavin <[email protected]> wrote: >> >> Documentation for COALESCE is here: >> >> http://www.sqlite.org/lang_corefunc.html >> >> It does not say whether it does short-circuit evaluation but the description >> does imply testing one by one, rather than evaluating all the conditions >> first. > > Simon, > > I don't mean to be difficult, but I simply don't get any indication of > how exactly COALESCE actually functions from this description: > > "coalesce(X,Y,...) The coalesce() function returns a copy of its first > non-NULL argument, or NULL if all arguments are NULL. Coalesce() must > be at least 2 arguments. "
While your suggested documentation won't harm, and will likely help, actually the above does suggest to me a short-circuit-ish kind of logic from the assertion that "The coalesce() function returns a copy of its first non-NULL argument." On the other hand, yeah, I am all for potentially redundant documentation if it can help. > > I get there has to be at least two arguments, but no where do I see > where it states it only executes an argument if all the previous one > fail. Now it would be crystal clear if it said something like: > > "coalesce(X,Y,...) The coalesce() function returns a copy of its first > non-NULL argument, or NULL if all arguments are NULL. Coalesce() must > be at least 2 arguments. Coalesce() does use short-circuit > evaluation." > > Sam > _______________________________________________ > sqlite-users mailing list > [email protected] > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users _______________________________________________ sqlite-users mailing list [email protected] http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

