Re: Insert SHRT_MIN fails for int2 column
От | Kelly Burkhart |
---|---|
Тема | Re: Insert SHRT_MIN fails for int2 column |
Дата | |
Msg-id | 1110220954.3206.20.camel@krb06 обсуждение исходный текст |
Ответ на | Re: Insert SHRT_MIN fails for int2 column (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: Insert SHRT_MIN fails for int2 column
|
Список | pgsql-odbc |
On Mon, 2005-03-07 at 11:44, Tom Lane wrote: > 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. Attached is a patch to resolve this. BTW, is it appropriate for me to send pgsqlodbc patches to this list? Or should I send all patches to psql-patches? -K
Вложения
В списке pgsql-odbc по дате отправления: