> What is relevant is not determined by the type of the object, but by
> the task at hand, in other words by the comparator.

No.  There is only one meaning of "equal".   Two things are either
equal or not.  How to compare them is determined by only their type.


You are correct, James,  types are defined by the set of attributes or 
properties: things that have the same attributes are of the same type. Agree. 
You are also correct that two objects of the same type are equivalent when all 
of their attributes are identical. This may be called "byte equal". Agree too. 
However, sometimes, in comparison we want to ignore some of the attributes, or 
compare derived ones. Many busses can carry 25 people, and may be considered 
equal if we simply need to transport people. Busses certainly differ by other 
attributes. 

When we talk about error correction, if a word does not exist in the 
dictionary, we want to find a closest one --- different by one character, 
perhaps. These two words are called equal, although they are not byte equal. 
See for example 

http://en.wikipedia.org/wiki/Hamming_distance

Thus, equality or inequality is, in general, established with respect to a 
metric (a set of attributes and a rule to combine them). The list of these 
attributes and the rule must be known to the comparator. Thus different 
comparators differ by the set of attributes and rules that they apply. 
Therefore, one can speak of types of comparators, as these are their attributes.

Therefore, I agree with Simon: it is the comparison ( "=", BETWEEN, IN , etc) 
statements that must be modified with a collation, not their operands. 


Roman

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

Reply via email to