Re: allow COPY routines to read arbitrary numbers of fields

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

In response to

Responses

Browse pgsql-hackers by date

  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