binary operators on integers

Поиск
Список
Период
Сортировка
От Marko Kreen
Тема binary operators on integers
Дата
Msg-id 20000925092146.A12772@l-t.ee
обсуждение исходный текст
Ответы Re: binary operators on integers
Re: binary operators on integers
Список pgsql-patches
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.

--
marko


Вложения

В списке pgsql-patches по дате отправления:

Предыдущее
От: "James A. Pattie"
Дата:
Сообщение: Network Patch File for Specifing IP to Bind to
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: Fix for FK not finding columns when PK is defined