On 8/21/2013 3:26 PM, Simon Slavin wrote:
My problem is not with COLLATE in general.  It's with expressions.  Table 
definitions are fine.  Index definitions are fine.  It's purely that my 
understanding of the documention says that something like this

"ABC" COLLATE COL1 = "3F" COLLATE COL2

should be allowed, and I don't agree.

Should you be able to write

create table t1(x1 collate col1);
create table t2(x2 collate col2);
select * from t1, t2 where x1 = x2;

If that is to be allowed, then SQLite would already need a mechanism to deal with your case, and then there would be no reason to explicitly prohibit it - just an added complexity.

Now, perhaps what you are trying to say is that it should be a syntax error to apply a comparison to two operands with different collations. I can see how such a rule can be weaved into the existing behavior in a consistent way. I don't think it would fly, if only for reasons of backward compatibility and compatibility with other database systems, but at least this argument is defensible.
--
Igor Tandetnik

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

Reply via email to