We just experienced the hard way that overloading certain built-in SQL 
function can interfere with core SQL commands if the overloaded function 
behaves differently from the built-in function.

Not surprising, after looking at the sources:

* ALTER TABLE - alter.c uses SUBSTR and LIKE.
* VACUUM      - vacuum.c uses SUBSTR, LIKE, and QUOTE.
* Possible others?

Would it be possible that the SQLite core always uses the built-in 
functions instead of the overloaded ones? Or should overloading be 
disabled for "core critical" SQL functions?

If not, maybe those "critical" functions could be mentioned in the
documentation to warn developers that strange things might happen if
they change their behavior?

IMHO, LIKE is especially critical since it is a likely candidate for 
overriding to add UNICODE LIKE to applications.

Ralf
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to