Re: Proposal: USING clause for DO statement
От | Pavel Stehule |
---|---|
Тема | Re: Proposal: USING clause for DO statement |
Дата | |
Msg-id | 162867790911211056j49485332r25a9b41b444ae464@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Proposal: USING clause for DO statement (Merlin Moncure <mmoncure@gmail.com>) |
Список | pgsql-hackers |
2009/11/21 Merlin Moncure <mmoncure@gmail.com>: > On Sat, Nov 21, 2009 at 1:24 PM, Pavel Stehule <pavel.stehule@gmail.com> wrote: >> 2009/11/21 Merlin Moncure <mmoncure@gmail.com>: >>> On Sat, Nov 21, 2009 at 12:36 PM, Andrew Dunstan <andrew@dunslane.net> wrote: >>>>> Perhaps part of the problem is that psql can't interpolate its variable >>>>> into strings. Solving that might lessen the impetus for this, and have other >>>>> uses besides. >> I am not sure, if I understand well. Can you show some use cases, please? > > If I understand Andrew correctly, > > \set msg world > > DO $$ > BEGIN > RAISE NOTICE 'Hello, %', :msg; > END > $$; > This is base of my proposal :). But we cannot do it directly: a) the body of DO statement is black box for psql parser, b) psql does know nothing about used PL language - without this knowledge cannot do correct substitution: plpgsq use ', java use "", perl use "" these points are reason, why I propose "external USING clause" - it outside blackbox, it is common for all PL Point b is solved via using a real params - not substitution. Regards Pavel
В списке pgsql-hackers по дате отправления: