Re: plpython function problem workaround

Поиск
Список
Период
Сортировка
От Michael Fuhr
Тема Re: plpython function problem workaround
Дата
Msg-id 20050318023410.GB13277@winnie.fuhr.org
обсуждение исходный текст
Ответ на Re: plpython function problem workaround  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: plpython function problem workaround  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
On Thu, Mar 17, 2005 at 10:49:24AM -0500, Tom Lane wrote:

> Seems like we have to upgrade that thing to have a complete
> understanding of Python lexical rules --- at least enough to know where
> the line boundaries are.  Which is pretty much exactly the same as
> knowing which CRs to strip out.  So I guess we have a candidate place
> for a solution.
>
> Anyone want to code it up?  I don't know enough Python to do it ...

[Sound of crickets]

More pabulum for pondering:

% cat -v foo.py
print '''line 1^M
line^M2^M
line 3^M
'''^M

% python foo.py | cat -v
line 1
line
2
line 3

% cat -v bar.py
print 'line 1^M'

% python bar.py
  File "bar.py", line 1
    print 'line 1
                ^
SyntaxError: EOL while scanning single-quoted string

Line-ending CRs stripped, even inside quotes; mid-line CRs converted
to LF.  Tests done with Python 2.4 on FreeBSD 4.11-STABLE; I wonder
what Python on Windows would do.  If it behaves the same way, then
a munging algorithm might be CRLF => LF, otherwise CR => LF.  Or
we could take Marco's suggestion and do nothing, putting the burden
on the client to send the right thing.

That doesn't address the indentation munging, though.  That appears
to be a matter of knowing whether you're inside a quote or not when
a LF appears.

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/

В списке pgsql-general по дате отправления:

Предыдущее
От: Grant McLean
Дата:
Сообщение: Re: Installing PostgreSQL in Debian
Следующее
От: Tom Lane
Дата:
Сообщение: Re: plpython function problem workaround