From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: allow COPY routines to read arbitrary numbers of fields |
Date: | 2010-12-06 17:11:09 |
Message-ID: | 27888.1291655469@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
> Attached is a patch that allows CopyReadAttibutesText() and
> CopyReadAttributesCSV() to read arbitrary numbers of attributes.
> Underflowing attributes are recorded as null, and space is made for
> overflowing attributes on a line.
Why are you still passing nfields as a separate parameter instead of
relying on the value you added to the struct? That can't do anything
except cause confusion, especially once the two values diverge due to a
previous array-expansion. Also, why did you change the setup code to
not compute nfields in binary mode? That seems at best an unnecessary
change, and at worst a breakage of the binary path --- did you test it?
Also please be a little more careful with the formatting. This for
instance is pretty sloppy:
! * strings. cstate->raw_fields[k] is set to point to the k'th attribute
! * string, * or NULL when the input matches the null marker string.
and there seem to be some gratuitous whitespace changes as well.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Kevin Grittner | 2010-12-06 17:22:16 | Re: serializable read only deferrable |
Previous Message | Jim Nasby | 2010-12-06 17:06:49 | Re: Re: Rethinking hint bits WAS: Protecting against unexpected zero-pages: proposal |