On 8/22/2013 8:52 AM, Simon Slavin wrote:
Nevertheless do you understand the point I'm trying to make -- that collations 
are a modifier for comparisons not individual values ?

I do understand your point. I still don't understand how it's supposed to apply in practice to a situation like

create table t(x text collate nocase);
select * from t where x = 'a';

Here, at the time I specify "collate nocase", there is no comparison it could apply to. So what is it a property of, in your thinking? By what mechanism does it end up applying to x='a' comparison (I assume to do want the statement to return rows both with 'a' and 'A' in column x)? How would you modify the formal spec at http://sqlite.org/datatype3.html to lead to your desired outcome? Precise wording matters.

As I said, I could relate to your point of view better if you just did this: in http://sqlite.org/datatype3.html section 6.1, replaced two occurrences of "with precedence to the left operand" with "It's an error if two operands have different collations". This keeps the existing, well defined mechanisms intact, while neatly excluding the case you seem to find most objectionable.
--
Igor Tandetnik

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

Reply via email to