Re: newline conversion in SQL command strings - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: newline conversion in SQL command strings
Date
Msg-id 505AB138.9090307@vmware.com
Whole thread Raw
In response to newline conversion in SQL command strings  (Peter Eisentraut <peter_e@gmx.net>)
Responses Re: newline conversion in SQL command strings  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-hackers
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



pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: [v9.3] Extra Daemons (Re: elegant and effective way for running jobs inside a database)
Next
From: Heikki Linnakangas
Date:
Subject: Re: Fwd: PATCH: psql boolean display