[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