Re: COPY FROM WHEN condition
David Fetter <david@fetter.org>
From: David Fetter <david@fetter.org>
To: "Nasby, Jim" <nasbyj@amazon.com>
Cc: Corey Huinker <corey.huinker@gmail.com>, "surafel3000@gmail.com" <surafel3000@gmail.com>, "cmt@burggraben.net" <cmt@burggraben.net>, "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>
Date: 2018-11-01T00:41:55Z
Lists: pgsql-hackers
On Wed, Oct 31, 2018 at 11:21:33PM +0000, Nasby, Jim wrote: > On Oct 11, 2018, at 10:35 AM, David Fetter <david@fetter.org> wrote: > > > >> It didn't get far, but you may want to take a look at a rejected patch for > >> copy_srf() (set returning function) > >> https://www.postgresql.org/message-id/CADkLM%3DdoeiWQX4AGtDNG4PsWfSXz3ai7kY%3DPZm3sUhsUeev9Bg%40mail.gmail.com > >> https://commitfest.postgresql.org/12/869/ > >> > >> Having a set returning function gives you the full expressiveness of SQL, > >> at the cost of an extra materialization step. > > > > I wonder whether something JIT-like could elide this. A very > > interesting subset of such WHEN clauses could be pretty > > straight-forward to implement in a pretty efficient way. > > Are you thinking something like having a COPY command that provides > results in such a way that they could be referenced in a FROM clause > (perhaps a COPY that defines a cursor…)? That would also be nice, but what I was thinking of was that some highly restricted subset of cases of SQL in general could lend themselves to levels of optimization that would be impractical in other contexts. Best, David. -- David Fetter <david(at)fetter(dot)org> http://fetter.org/ Phone: +1 415 235 3778 Remember to vote! Consider donating to Postgres: http://www.postgresql.org/about/donate
Commits
-
Remove unused struct member, enforce multi_insert callback presence.
- 57a7a3adfe4e 12.0 landed
-
Separate per-batch and per-tuple memory contexts in COPY
- 36a1281f86c0 12.0 landed
-
Fix handling of volatile expressions in COPY FROM ... WHERE
- 4a8283d0ec5a 12.0 landed
-
Allow COPY FROM to filter data using WHERE conditions
- 31f3817402da 12.0 landed
-
Remove obsolete netbsd dynloader code
- b68ff3ea672c 12.0 cited