Re: binary operators on integers

From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Marko Kreen <marko(at)l-t(dot)ee>
Cc: pgsql-patches(at)postgresql(dot)org
Subject: Re: binary operators on integers
Date: 2000-10-24 20:23:55
Message-ID: Pine.LNX.4.21.0010242219020.1165-100000@peter.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

This patch was installed, with xor as "#". The parser still needs work.
Besides the known issue of "|", this also parses funny:

=> select 5 & ~ 6;
ERROR: Unable to identify a right operator '&' for type 'int4'

Marko Kreen writes:

> Here is my next take on binary operators for integers.
> It implements the following operators for int2/int4/int8:
>
> ~ - not
> & - and
> ^ - xor
> | - or
> << - shift left
> >> - shift right
>
> Notes:
>
> * My original choice for xor was '#' because the '^' operator conflicts
> with power operator on floats but Tom Lane said:
>
> > Well, you *could* use '^' since there's no definition of it for integer
> > operands. But that would mean that something like '4^2', which was
> > formerly implicitly coerced to float and interpreted as floating
> > power function, would suddenly mean something different. Again a
> > serious risk of silently breaking applications. This doesn't apply to
> > '|' though, since it has no numeric interpretation at all right now.
>
> As the bit-string uses '^' too for xor-ing it would be nice to be
> consistent. I am quite unsure on this matter. The patch now seems
> otherwise sane to me, this is the only issue left.
>
> * On << and >> the second argument is always int32 as this seems
> to be the 'default' int type in PostgreSQL.
>
> * Oids used are 1874 - 1909.
>
> Comments?
>
> Patch is against current CVS.
>
>

--
Peter Eisentraut peter_e(at)gmx(dot)net http://yi.org/peter-e/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Marko Kreen 2000-10-24 20:38:44 Re: binary operators on integers
Previous Message Larry Rosenman 2000-10-24 19:42:00 looks like we forgot something...

Browse pgsql-patches by date

  From Date Subject
Next Message Marko Kreen 2000-10-24 20:38:44 Re: binary operators on integers
Previous Message Peter Eisentraut 2000-10-24 18:44:22 Re: [PATCHES] add darwin/osxpb support to cvs