Converting an object to a string has a very defined path in JavaScript, toString is called. Perhaps the spec should mention toString.

Marking the query as bogus seems wrong, since the JavaScript language is very lenient about types and implicit type conversions when needed. Implicit conversion to strings is what any proficient JavaScript author would expect to happen. I don't see any reason to make the storage spec behave differently.

On Apr 10, 2008, at 4:32 AM, Dimitri Glazkov wrote:

In other words, if the type of the argument is not null, string,
double, or int, the argument is implicitly converted to to string.

As an alternative, I would like to present a slightly different
approach: if, during step 3 of the executeSql algorithm
(http://www.whatwg.org/specs/web-apps/current-work/multipage/section-sql.html#executing ),
an argument is found to be unpalatable for the underlying database
implementation, the statement is marked bogus.

Though a bit more stringent than the implicit conversion, this
approach explicitly prevents any subtle coercion bugs and will
probably lead to more debuggable code.

— Timothy Hatcher


Reply via email to