Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gM6uD-0008T9-K2 for pgsql-hackers@arkaria.postgresql.org; Mon, 12 Nov 2018 07:45:10 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1gM6uA-0002OO-Ih for pgsql-hackers@arkaria.postgresql.org; Mon, 12 Nov 2018 07:45:06 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1gM6u9-0002OG-GH for pgsql-hackers@lists.postgresql.org; Mon, 12 Nov 2018 07:45:06 +0000 Received: from mailout3.samsung.com ([203.254.224.33]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1gM6u3-00064k-ML for pgsql-hackers@lists.postgresql.org; Mon, 12 Nov 2018 07:45:04 +0000 Received: from epcas4p3.samsung.com (unknown [182.195.41.33]) by mailout3.samsung.com (KnoxPortal) with ESMTP id 20181112074451epoutp03a313670839b259fdf2b1ae658e7d7f80~mULwPKGMF1700317003epoutp03r for ; Mon, 12 Nov 2018 07:44:51 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout3.samsung.com 20181112074451epoutp03a313670839b259fdf2b1ae658e7d7f80~mULwPKGMF1700317003epoutp03r DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1542008691; bh=tPh6EPPNUfr1JiiGJ47htMTTotQ5YjNYSBrN1B5WXoY=; h=From:To:Cc:In-Reply-To:Subject:Date:References:From; b=Rxt7h3TcKebE1gJC1LqRV0UuJthKstbEONKis4INFQdxIBMhv5QCqn59COMBTHjRX xU6yn0kwoIvQdoCCmNUeSSzmNvAwTdok78DIFvafBnBhO+yk57RTLm+pZiGjVumZai P9+M60nMuvIfbjqMBfKC1dt6+mHJTBudqZ8J5k+w= Received: from epsmges4p5.samsung.com (unknown [182.195.42.37]) by epcas4p2.samsung.com (KnoxPortal) with ESMTP id 20181112074450epcas4p286c04477e49dbc346d238f260393fef7~mULvcQPnQ2873928739epcas4p2H; Mon, 12 Nov 2018 07:44:50 +0000 (GMT) Received: from epcas4p2.samsung.com ( [182.195.41.32]) by epsmges4p5.samsung.com (EPCPMTA) with SMTP id 65.41.03852.27F29EB5; Mon, 12 Nov 2018 16:44:50 +0900 (KST) Received: from epsmtrp2.samsung.com (unknown [182.195.40.14]) by epcas4p3.samsung.com (KnoxPortal) with ESMTPA id 20181112074449epcas4p391083b0644b7ac4bdc3601f05093cceb~mULvAwUvH1047710477epcas4p3b; Mon, 12 Nov 2018 07:44:49 +0000 (GMT) Received: from epsmgms1p1new.samsung.com (unknown [182.195.42.41]) by epsmtrp2.samsung.com (KnoxPortal) with ESMTP id 20181112074449epsmtrp240741b2b11d54bf1cbdbe220315434f0~mULu-00dD1459214592epsmtrp2L; Mon, 12 Nov 2018 07:44:49 +0000 (GMT) X-AuditID: b6c32a25-a51ff70000000f0c-5b-5be92f722a3b Received: from epsmtip2.samsung.com ( [182.195.34.31]) by epsmgms1p1new.samsung.com (Symantec Messaging Gateway) with SMTP id 2E.7C.03696.17F29EB5; Mon, 12 Nov 2018 16:44:49 +0900 (KST) Received: from lmkPC (ip-70-2-253-71.ftwttx.spcsdns.net [70.2.253.71]) by epsmtip2.samsung.com (KnoxPortal) with ESMTPA id 20181112074449epsmtip2d8e5cbca2dca6f3dd3831827a9833224~mULuz4LwE1044910449epsmtip2Q; Mon, 12 Nov 2018 07:44:49 +0000 (GMT) From: "myungkyu.lim" To: "'Tomas Vondra'" , "'Adam Berlin'" , Cc: "'Surafel Temesgen'" In-Reply-To: <7f9880a1-416e-649d-3a5a-e36bff538814@2ndquadrant.com> Subject: RE: COPY FROM WHEN condition Date: Mon, 12 Nov 2018 16:44:49 +0900 Message-ID: <007e01d47a5b$9747ba60$c5d72f20$@samsung.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 14.0 Thread-Index: AQGAh2NG6wQCnEioIlMoXqBO2rmPJAFF5xVwArTsbj4CjUdIAgFodsoNpbQerpA= Content-Language: ko X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFuphleLIzCtJLcpLzFFi42LZdlhTQbdI/2W0QfNfTour/5exWGyb0ctu MaNtE5vFx6VX2B1YPH7fPcjksXPWXXaPo02FAcxRXDYpqTmZZalF+nYJXBmv705iLljPVnFi wXemBsa3LF2MnBwSAiYS648uALK5OIQEljJKNDz7ygySEBL4xCjxaqUNROIbo8TTRfcYYTr2 TnwN1bGXUWLWvUWsEB2/GSWOTVYBsdkE9CWu7zgCFhcRaGKUmLu/HMRmFjCQWLP9BNhqTgFn iX+9l4C2cXAIC6hKHFySBRJmATIf/WkEa+UVsJQ4tbSJBcIWlDg58wkLxBhtiWULXzND3KMg sePsa0aIVX4SHyacZoOoEZGY3dkGVXOETeL4PVYI20WiadsxqF+EJV4d38IOYUtJfH63lw3C Lpe423EXqqZCoqGzD6pGX2L2gjZWkJOZBTQl1u/Sh1jFJzGn+yATSFhCgFeio00IwlSTeHCe G6JRRmLlry1Qwz0kHvz4xTiBUXEWkr9mIflrFpL7ZyHsWsDIsopRLLWgODc9tdikwFSvODG3 uDQvXS85P3cTIziNaKnuYGxZ6H2IUYCDUYmHV6P0RbQQa2JZcWXuIUYJDmYlEV4+npfRQrwp iZVVqUX58UWlOanFhxilOViUxHkrJOdGCwmkJ5akZqemFqQWwWSZODilGhiDXtQwPlw8cVV7 S9Vhl/VTuBR+/w98fcKA5xiPucLKqpNvAj0NZhTUMYqHFNxQ9C7wuKH79kCVwMLDmSW9Z2cZ 7fpyRNVF4GWca+IzdcNEt5zf3gcOCzreNvpVsXGNzFqlJSEikZLPP7hz/3jyK1P5dVVyt7ND wcnrbwJ8F2cfm3LI/kr9JkslluKMREMt5qLiRAB9YrLrHwMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrGLMWRmVeSWpSXmKPExsWy7bCSvG6h/stog84NmhZX/y9jsdg2o5fd YkbbJjaLj0uvsDuwePy+e5DJY+esu+weR5sKA5ijuGxSUnMyy1KL9O0SuDL6p/cxFsxjq5jw 7x5LA+Mtli5GTg4JAROJvRNfA9lcHEICuxklNu++yg6RkJHouXeDuYuRA8gWlph5SwIkLCTw k1Fi5kRbEJtNQF/i+o4jrCC9IgItjBLLbp5jA0kwCxhIrNl+AmroNSaJ7mnPmUASnALOEv96 L4ENFRZQlTi4JAskzAJkPvrTyApi8wpYSpxa2sQCYQtKnJz5hAViprbE05tP4exlC18zQ9yp ILHj7GtGEFtEwE/iw4TTUDeISMzubGOewCg8C8moWUhGzUIyahaSlgWMLKsYJVMLinPTc4sN CwzzUsv1ihNzi0vz0vWS83M3MYJjQ0tzB+PlJfGHGAU4GJV4eBvKX0QLsSaWFVfmHmKU4GBW EuHl43kZLcSbklhZlVqUH19UmpNafIhRmoNFSZz3ad6xSCGB9MSS1OzU1ILUIpgsEwenVAOj g9aX+6LL7J1vc0sccfqay7O04X3zdln+849bvs49J8YYUvclKfnYXYntZw5eM98U6dd3alvi 0/ONma/O3tT+q1H/+tzhLv+vdSzpdruuei5vP+2bfaxrbbqzYrf5jwtLVdi3t9yvfXtpxmm9 nSLPczf9ejcx+OHL+wou8VIdd8SLI+rXC1RlK7EUZyQaajEXFScCAMo/33WJAgAA X-CMS-MailID: 20181112074449epcas4p391083b0644b7ac4bdc3601f05093cceb X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" CMS-TYPE: 104P X-CMS-RootMailID: 20181111210314epcas3p37f33fdd3aa51069e737bb66cb47db97f References: <154177868369.24563.8425283889569429535.pgcf@coridan.postgresql.org> <7f9880a1-416e-649d-3a5a-e36bff538814@2ndquadrant.com> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk >> COPY table_name WHERE (some_condition) >>=20 >> Users should already be familiar with the idea that WHERE performs a fil= ter. >>=20 > So, what about using FILTER here? We already use it for aggregates when > filtering rows to process. > That being said, I have no strong feelings either way. I'd be OK with > both WHEN and WHERE. I don't think it's an important point, In gram.y, where_clause: WHERE a_expr =7B =24=24 =3D =242; =7D =7C /*EMPTY*/ =7B =24=24 =3D NULL; =7D ; This is similar to the 'opt_when_clause' in this patch. So, I think 'WHERE' is a better form. BTW, 3rd patch worked very well in my tests. However, some wrong code style still exists. Node *whenClause=3D NULL; cstate->whenClause=3DwhenClause; Best regards, Myungkyu, Lim