syslogger line-end processing infelicity

Поиск
Список
Период
Сортировка
От Andrew Dunstan
Тема syslogger line-end processing infelicity
Дата
Msg-id 46608C6E.7020807@dunslane.net
обсуждение исходный текст
Ответы Re: syslogger line-end processing infelicity  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: syslogger line-end processing infelicity  (Magnus Hagander <magnus@hagander.net>)
Список pgsql-hackers
I have been looking at the syslogger code in connection with the CSV log 
output proposal, and I'm quite concerned about the way it translates 
every \n into \r\n for Windows output. This has several problems, not 
least of which is that we can by no means assume that every \n has no 
semantic significance. Consider the following:

INSERT INTO mytable (textfield) VALUES ($$abc
def$$);

Now if the line ending there is in fact \r\n we will output \r\r\n for 
it, and if it is just \n we will output \r\n, and in neither case will 
we be logging what is actually inserted.

My first thought is that we might need to distinguish between newlines 
embedded in the query, which shouldn't be touched, from the newline at 
the end of the log line.

My second thought is that we should quite possibly abandon this 
translation altogether - we know that our COPY code is quite happy with 
either style of line ending, as long as the file is consistent, and also 
many Windows programs will quite happily read files with Unix style line 
endings (e.g. Wordpad, although not Notepad).

My third thought is that even so my first thought has some virtue :-). 
We really need to ensure that we only rotate files when we are at a 
genuine end of log line - the situation that Greg Smith described of 
having the rotator chop a line in two between two files seem wholly 
unacceptable.

Thoughts?


cheers

andrew



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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Constraint exclusion oddity with composite index
Следующее
От: Bruce Momjian
Дата:
Сообщение: Upcoming events