• Tom Lane's avatar
    Clean up some problems with redundant cross-type arithmetic operators. Add · b163baa8
    Tom Lane authored
    int2-and-int8 implementations of the basic arithmetic operators +, -, *, /.
    This doesn't really add any new functionality, but it avoids "operator is not
    unique" failures that formerly occurred in these cases because the parser
    couldn't decide whether to promote the int2 to int4 or int8.  We could
    alternatively have removed the existing cross-type operators, but
    experimentation shows that the cost of an additional type coercion expression
    node is noticeable compared to such cheap operators; so let's not give up any
    performance here.  On the other hand, I removed the int2-and-int4 modulo (%)
    operators since they didn't seem as important from a performance standpoint.
    Per a complaint last January from ykhuang.
    b163baa8
pg_proc.h 343 KB