On 20.09.2012 05:56, Peter Eisentraut wrote:
I have received a number of bug reports about plsh choking on
Windows-style line endings. The problem is that the user uses some
Windows-based tool or other to execute an SQL command line this:
CREATE FUNCTION foo() RETURNS something<CR><LF>
LANGUAGE plsh<CR><LF>
AS $$<CR><LF>
#!/bin/sh<CR><LF>
<CR><LF>
do something<CR><LF>
do something<CR><LF>
$$;<CR><LF>
which (apparently, I don't have Windows handy) creates a function with
the prosrc body of
'<CR><LF>
#!/bin/sh<CR><LF>
<CR><LF>
do something<CR><LF>
do something<CR><LF>
'
But executing this fails because Unix shells reject<CR> characters in
inappropriate places as syntax errors.
I don't know how to handle that. It would be unfortunate to have the
behavior of a function depend on the kind of client used to create or
modify it.
Could you strip the CRs? Either at CREATE FUNCTION time, or when the
function is executed.
- Heikki
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers