Martijn van Oosterhout <kleptog@svana.org> writes: > On Sat, Dec 31, 2005 at 12:58:19AM -0500, Greg Stark wrote: >> Two things are either the same or they aren't, and that can't change >> based on context.
> So someone who wants a case-insensetive search actually doesn't want > "Foo" to equal "foo"? That nice simple worldview falls down in other areas as well. An example is zero and minus zero in IEEE math: they are equal for some purposes but not others. I think you really have to say that equality is defined with respect to a particular datatype and a particular set of operators. The example of case-insensitive sorting suggests that we need to assume that sort comparison functions can make finer-grained comparisons than the associated "equals" operator does. The current infrastructure forces these to be exactly the same, but as long as we're busy reinventing stuff, we could have two comparison functions associated with a btree opclass: one that mimics the operators' behavior and one that makes finer-grained comparisons and defines the actual sort order. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings