[EMAIL PROTECTED] (Michael Fuhr) writes:

> We (the thread participants) could use somebody with a Windows
> server to do some testing.  

Glad to help... This is with postgresql 8.0.1, Python 2.4.

> Specifically, we're wondering if Python on Windows requires embedded
> Python code to have CRLF (\r\n) as a line ending, or if it requires
> (or at least permits) LF (\n) only. If you're able to help, could
> you could post the results of the following?
>
> CREATE FUNCTION pytest_lf() RETURNS integer AS
> 'x = 1\nreturn x\n'
> LANGUAGE plpythonu;
>
> CREATE FUNCTION pytest_crlf() RETURNS integer AS
> 'x = 1\r\nreturn x\r\n'
> LANGUAGE plpythonu;
>
> SELECT pytest_lf();
> SELECT pytest_crlf();
>
> With PostgreSQL 8.0.1, Python 2.4.1c1, and Solaris 9, I get this:
>
> test=# SELECT pytest_lf();
>  pytest_lf 
> -----------
>          1
> (1 row)
>
> test=# SELECT pytest_crlf();
> ERROR:  plpython: could not compile function "pytest_crlf"
> DETAIL:  exceptions.SyntaxError: invalid syntax (line 2)

I get exactly the same results.

> If you have the ability to compile standalone C programs with
> embedded Python, we'd also be interested in seeing what happens if
> you run the programs in the following messages:
>
> http://archives.postgresql.org/pgsql-general/2005-01/msg00876.php

I get:

>test1
What hath
Guido wrought?

> http://archives.postgresql.org/pgsql-general/2005-03/msg00630.php

I get:

>test2
> Initialized.
> Python 2.4 (#60, Nov 30 2004, 11:49:19) [MSC v.1310 32 bit (Intel)]
> running:
print 1
print 2

1
2

> end

> running:
print 1
print 2

  File "<string>", line 1
    print 1
           ^
SyntaxError: invalid syntax
> end

> Finalized.

I don't know if this helps? It seems reasonable to me - as far as
Python C code is concerned, code strings should be \n-separated, just
like in Unix. The only place CRLF is applicable is in code read from
files, where the C runtime converts it to \n-delimited before the
Python APIs see it (as far as I understand it, which isn't very
far...)

The long and short of it is that I believe you just use \n to delimit
lines on Windows, just like anywhere else.

Regards,
Paul.
-- 
SCSI is not magic. There are fundamental technical reasons why it is
necessary to sacrifice a young goat to your SCSI chain now and then.
-- John Woods

---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings

Reply via email to