Thread
-
= is not always defined as equality is bad
Zeugswetter Andreas <andreas.zeugswetter@telecom.at> — 1998-01-12T08:12:34Z
Vadim wrote: > but this will be "known bug": this breaks OO-nature of Postgres, because of > operators can be overrided and '=' can mean s o m e t h i n g (not equality). > Example: box data type. For boxes, = means equality of _areas_ and =~ > means that boxes are the same ==> =~ ANY should be used for IN. Ok, here I think there should be a restriction to have the = operator always be defined as equality operator. Because in the long run it will be hard to write equality restrictions. a = a1 and b =~ b1 and c +*#~ c1. Also =, >, <, >= and the like will allways be candidates for use by the optimizer (boolean math to simplify restriction or to make an existing index usable could be used). I vote for: = must always be defined as equality in user defined types. (if such comparison is not possible for a special type the = should not be defined for it) I therefore also suggest changing the box ops =~ to = and the area = to some other sign. Andreas
-
Re: [HACKERS] = is not always defined as equality is bad
Bruce Momjian <maillist@candle.pha.pa.us> — 1998-01-12T13:33:05Z
> > Vadim wrote: > > but this will be "known bug": this breaks OO-nature of Postgres, > because of > > operators can be overrided and '=' can mean s o m e t h i n g (not > equality). > > Example: box data type. For boxes, = means equality of _areas_ and =~ > > means that boxes are the same ==> =~ ANY should be used for IN. > > Ok, here I think there should be a restriction to have the = operator > always be defined as equality operator. Because in the long run it will > be hard > to write equality restrictions. a = a1 and b =~ b1 and c +*#~ c1. > Also =, >, <, >= and the like will allways be candidates for use by the > optimizer > (boolean math to simplify restriction or to make an existing index > usable could be used). I think each operator in pg_operator has a 'commutative' field for this: | oprcom | oid | 4 | -- Bruce Momjian maillist@candle.pha.pa.us