Received: from localhost (unknown [200.46.208.211]) by mail.postgresql.org (Postfix) with ESMTP id CE700632C8E for ; Thu, 16 Jul 2009 17:40:23 -0300 (ADT) Received: from mail.postgresql.org ([200.46.204.86]) by localhost (mx1.hub.org [200.46.208.211]) (amavisd-maia, port 10024) with ESMTP id 96173-09 for ; Thu, 16 Jul 2009 17:40:08 -0300 (ADT) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-ew0-f223.google.com (mail-ew0-f223.google.com [209.85.219.223]) by mail.postgresql.org (Postfix) with ESMTP id E8E10633F07 for ; Thu, 16 Jul 2009 17:40:12 -0300 (ADT) Received: by ewy23 with SMTP id 23so459702ewy.19 for ; Thu, 16 Jul 2009 13:40:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:cc:subject:references:in-reply-to :content-type:content-transfer-encoding; bh=TX6C0im8jGamZsbC+AWKGrliFDq+ZLGj1r+0yyytNL4=; b=dEwoNIcN/TJrbnCg35jmzQk+v8hncovp+McYTVYvhCqE4Sru0SLZzn6hbESiWEdfoB eRRhJCLL2KAzyxdXa8k79aoKCMh/1XkwjoTm0H7awi9Xuer+px5EZ2qncHJY9m23QGgk uspXXsgeoGghHaeO8uomuVPc4BxJaYPEsLDE4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; b=eY4F/kWVUjJHA1qrbR3f4YkTltaiLkaoI8SqttT7Dyh2f62doCm+jjfqXy1iB4SJ3S g0RN4w2KxbIT9fQKceKLCA1pmj+R3PnOlw77jht02l1j/+LxWr4nIxG8DvbClFREklsE 1GzrLgjXx8/kr8YpKSCspwquEUEi3EfoHFhug= Received: by 10.210.126.18 with SMTP id y18mr261813ebc.51.1247776808853; Thu, 16 Jul 2009 13:40:08 -0700 (PDT) Received: from ?192.168.1.100? ([24.144.38.166]) by mx.google.com with ESMTPS id 28sm1335431eye.36.2009.07.16.13.40.05 (version=TLSv1/SSLv3 cipher=RC4-MD5); Thu, 16 Jul 2009 13:40:07 -0700 (PDT) Message-ID: <4A5F9023.2030200@gmail.com> Date: Thu, 16 Jul 2009 15:40:03 -0500 From: Chris Spotts User-Agent: Thunderbird 2.0.0.22 (X11/20090608) MIME-Version: 1.0 To: Josh Berkus CC: Andrew Dunstan , Itagaki Takahiro , Jaime Casanova , pgsql-hackers@postgresql.org Subject: Re: COPY WITH CSV FORCE QUOTE * References: <3073cc9b0907132239j420dfdc7na4b362458a2495e4@mail.gmail.com> <20090714152309.944E.52131E4D@oss.ntt.co.jp> <20090714162110.9457.52131E4D@oss.ntt.co.jp> <4A5CB2E6.8040502@dunslane.net> <4A5F797F.4040508@agliodbs.com> <4A5F7EE2.5000704@dunslane.net> <4A5F89E2.50507@agliodbs.com> In-Reply-To: <4A5F89E2.50507@agliodbs.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0 tagged_above=0 required=5 tests=none X-Spam-Level: X-Archive-Number: 200907/1025 X-Sequence-Number: 141647 Josh Berkus wrote: > Andrew, > >> AFAICT on a brief look at the patch, it doesn't affect the quoting of >> nulls on export, it just allows * as an alias for all columns for FORCE >> QUOTE (as well as FORCE NOT NULL). But FORCE QUOTE has never forced >> quoting of null values, only non-null values. We have never quoted null >> values, and I'm fairly resistant to any suggestion that we should. > > See? That's what happens when I can't build the docs. ;-) (and > there's no previous discussion of the feature). > >> >> As for importing data from programs that produce all values in quotes >> including null/missing values (your pro case above), arguably what we >> need is another flag that would turn an empty string into a null. > > ooooh, TODO, please? There's a lot of this out there, and I've had to > build sed into a lot of import routines. > +1 For that on the TODO, happens all the time...