Re: Possible bug on insert

Поиск
Список
Период
Сортировка
От Rick Gigger
Тема Re: Possible bug on insert
Дата
Msg-id 017b01c38c39$e3535660$0700a8c0@trogdor
обсуждение исходный текст
Ответ на Generating a SQL Server population routine  (Martin_Hurst@dom.com)
Ответы Re: Possible bug on insert
Список pgsql-general
I think I have come across a bug in postgres 7.3.x.  I noticed that when I
upgraded to 7.3 my code broke on certain sql statements.  They still don't
work on the lastest stable release of 7.3.

Here is an example to illustrate my problem:

-- create the table with:
CREATE TABLE bugtest ( a int2 );

-- then do the following inserts:
insert into bugtest (a) select 1 union select 1; -- this one succeeds
insert into bugtest (a) select 1 union select '1'; -- this one also succeeds
insert into bugtest (a) select '1' union select 1; -- this one also succeeds
insert into bugtest (a) select '1' union select '1'; -- this one fails

The all succeed except the last one.  It fails with the following error:

ERROR:  column "a" is of type smallint but expression is of type text
        You will need to rewrite or cast the expression

It seems to me that they should all succeed.  At least postgres seems to
have no problem converting '<intvalue>' to <intvalue> anywhere else that I
can find.  At least the last 3 inserts shoudl either all fail or all succeed
(IMHO).

Is this a bug?  Has anyone else reported it?  Is there a procedure I need to
follow to report it?  Has it been fixed in 7.4?

On a sidenote I am doing the weird select union thing as a way to insert
many records at once without having to execute multiple queries.  I first
started doing it on SQLServer and it was much, much faster than doing
separate inserts.  Is there a better way to do it in postgres?  I have
looked at the copy from command but I can't find any examples of how to use
it in php or how to specify the columns / column order that you are going to
use with php.  Also what characters need to be excaped if I do this
(obviously new lines and tabs).  And nulls are represented by \N.

Rick Gigger


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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: PostgreSQL Beta4 Tag'd and Bundle'd ...
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Possible bug on insert