Re: Insert SHRT_MIN fails for int2 column

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Insert SHRT_MIN fails for int2 column
Дата
Msg-id 3084.1110217475@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Insert SHRT_MIN fails for int2 column  (Kelly Burkhart <kelly@tradebotsystems.com>)
Ответы Re: Insert SHRT_MIN fails for int2 column
Список pgsql-odbc
Kelly Burkhart <kelly@tradebotsystems.com> writes:
> The ::int2 cast is added in convert.c on line 3024 (for 08.00.0005)
> preceded by a comment stating it is necessary:

>     /* needs cast because there is no automatic downcast from
>         int4 constants */
>     CVT_APPEND_STR(qb, "::int2");

> Is this really necessary?  On my 7.4.2 database, the following works
> just fine:

> create table tst ( i16 int2 );
> insert into tst ( i16 ) values ( -32768 );

In that context the down-conversion will work because it's considered an
assignment coercion.  However there are other cases where an explicit
cast is indeed needed, for instance

    select foo(42::int2)

where foo is declared as taking an int2 parameter.

The best thing would be to leave the cast in place but add parentheses
around the value being casted.

            regards, tom lane

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

Предыдущее
От: jross@wykids.org
Дата:
Сообщение: Re: Installation problem with psqlodbc-08_00_0100.zip
Следующее
От: jross@wykids.org
Дата:
Сообщение: Unable to connect to PostgreSQL 8.0 with any driver...