Jean-Michel =?ISO-8859-1?Q?Pour=E9?= <jm(at)poure(dot)com> writes:
> In Drupal database, we have two types:
> CREATE DOMAIN int_unsigned
> AS integer
> CONSTRAINT int_unsigned_check CHECK ((VALUE >= 0));
> Why do queries cast between integer and int_unsigned?
That domain doesn't have any operators of its own. To compare to
another value, or use an index, you have to cast it to integer which
does have operators. It's a no-op cast, but logically necessary.
regards, tom lane