Re: allow COPY routines to read arbitrary numbers of fields
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andrew Dunstan <andrew@dunslane.net>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2010-12-06T17:11:09Z
Lists: pgsql-hackers
Andrew Dunstan <andrew@dunslane.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