Re: Feature request: include script file into function body
От | Steve White |
---|---|
Тема | Re: Feature request: include script file into function body |
Дата | |
Msg-id | 20110202111808.GA21282@cashmere.aip.de обсуждение исходный текст |
Ответ на | Re: Feature request: include script file into function body (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: Feature request: include script file into function body
Re: Feature request: include script file into function body |
Список | pgsql-bugs |
Hi, Robert, On 1.02.11, Robert Haas wrote: > > Can't you already do it this way: > > \set yadda `cat yadda_yadda.py` > CREATE FUNCTION yadda_yadda() returns text language plpythonu AS > :'yadda'; > > I guess it probably won't work on Windows... > This would also satisfy my immediate needs... if only I could get it to work. I made a file 'yadda_yadda.py' containing only the line: print 'hello world' ==================================================================== d=# \set yadda `cat yadda_yadda.py` d=# \echo :yadda print 'hello world' ==================================================================== So far, so good. But the :'yadda'; produces an error--it seems the variable yadda isn't expanded in the presence of the quotes. ==================================================================== d=# CREATE FUNCTION yadda_yadda() returns text language plpythonu AS :'yadda'; ERROR: syntax error at or near ":" LINE 2: :'yadda'; ==================================================================== Without the quotes, the colon expands the variable, but not into a string function body: ==================================================================== d=# CREATE FUNCTION yadda_yadda() returns text language plpythonu AS :yadda; ERROR: syntax error at or near "print" LINE 2: print 'hello world'; ==================================================================== Just for completeness and blind optimism let's try putting string delimiters on the outside. The command succeeds but with the wrong effect. ==================================================================== d=# CREATE OR REPLACE FUNCTION yadda_yadda() returns text language plpythonu AS $$:yadda$$; CREATE FUNCTION cepheids=# \df+ yadda_yadda List of functions Schema | Name | Result data type | Argument data types | Type | Volatility | Owner | Language | Source code| Description -----------+-------------+------------------+---------------------+--------+------------+----------+-----------+-------------+------------- astronomy | yadda_yadda | text | | normal | volatile | cepheids | plpythonu | :yadda | ==================================================================== Please explain. -- | - - - - - - - - - - - - - - - - - - - - - - - - - | Steve White +49(331)7499-202 | E-Science Zi. 27 Villa Turbulenz | - - - - - - - - - - - - - - - - - - - - - - - - - | Astrophysikalisches Institut Potsdam (AIP) | An der Sternwarte 16, D-14482 Potsdam | | Vorstand: Prof. Dr. Matthias Steinmetz, Peter A. Stolz | | Stiftung privaten Rechts, Stiftungsverzeichnis Brandenburg: III/7-71-026 | - - - - - - - - - - - - - - - - - - - - - - - - -
В списке pgsql-bugs по дате отправления:
Предыдущее
От: Tom LaneДата:
Сообщение: Re: Feature request: include script file into function body
Следующее
От: Pavel StehuleДата:
Сообщение: Re: Feature request: include script file into function body