Re: Feature request: include script file into function body - Mailing list pgsql-bugs
From | Steve White |
---|---|
Subject | Re: Feature request: include script file into function body |
Date | |
Msg-id | 20110202111808.GA21282@cashmere.aip.de Whole thread Raw |
In response to | Re: Feature request: include script file into function body (Robert Haas <robertmhaas@gmail.com>) |
Responses |
Re: Feature request: include script file into function body
Re: Feature request: include script file into function body |
List | 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 by date: