Hello,

I have quite strange behavior of the following SQL:

insert into address (cid,email) select distinct '49'::int,member.email from 
member imit 1 ;

It should insert just 1 record.
But it insert all recodrs which will be selected by subselect...
What's wrong with this SQL? Or this is a bug? If it is a bug...
How to fix it (patch, workaround...)

Thanks in advance.

-- 
Sincerely Yours,
Denis Perchine

----------------------------------
E-Mail: dyp@perchine.com
HomePage: http://www.perchine.com/dyp/
FidoNet: 2:5000/120.5
----------------------------------

Tue, 10 Oct 2000 14:02:22 +0700
Denis Perchine <dyp@perchine.com>
Problem specifying limit in select inside insert.
Denis Perchine <dyp@perchine.com> writes:
> insert into address (cid,email) select distinct '49'::int,member.email from 
> member imit 1 ;

INSERT ... SELECT ... LIMIT doesn't work.  In existing releases the
LIMIT clause is just dropped on the floor by the parser :-(.  In current
CVS sources you get
	ERROR:  LIMIT is not supported in subselects
which at least lets you know you have a problem.  I have a to-do item
to see if this can be made to work right, but it's not very high
priority.  I think the correct fix is to pull LIMIT handling out of
ExecutorRun and make it be handled by a new plan node type, but that'll
probably take more time than I can spare before 7.1 ...

			regards, tom lane

Tue, 10 Oct 2000 12:21:34 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: Problem specifying limit in select inside insert. 