Re: [HACKERS] 8.2 features? - Mailing list pgsql-patches

From Joe Conway
Subject Re: [HACKERS] 8.2 features?
Date
Msg-id 44BCF8D5.5080109@joeconway.com
Whole thread Raw
In response to Re: [HACKERS] 8.2 features?  (Joe Conway <mail@joeconway.com>)
List pgsql-patches
Andrew Dunstan wrote:
> Christopher Kings-Lynne wrote:
>
>>> The major downside is that somewhere between 9000 and 10000
>>> VALUES-targetlists produces "ERROR:  stack depth limit exceeded".
>>> Perhaps for the typical use-case this is sufficient though.
>>>
>>> I'm open to better ideas, comments, objections...
>>
>> If the use case is people running MySQL dumps, then there will be
>> millions of values-targetlists in MySQL dumps.
>
> Yeah.  The fabricated select hack does feel wrong to me. Taking a quick
> 2 minute look at the grammar it looks like a better bet would be to make
> InsertStmt.targetList a list of lists of values rather than just a list
> of values. Of course, that would make the changes more invasive. Even
> with that we'd still be reading the whole thing into memory ... is there
> a sane way to cache the inline data before statement execution?

I started down the path of making InsertStmt.targetList a list of
targetlists. The problem is finding a reasonable way to make that
available to the executor. Back to the drawing board I guess.

I have similar concerns with the millions of values-targetlists comment
that Chris made. But I don't see how we can cache the data easily short
of inventing a List alternative that spills to disk.

> I guess we can just say that for true bulk load our supported mechanism
> is still just COPY, but it would be a pity to restrict a feature that is
> in the standard that way.

True

Joe

pgsql-patches by date:

Previous
From: "Marko Kreen"
Date:
Subject: pgcrypto merge cleanup
Next
From: Andrew Dunstan
Date:
Subject: Re: [HACKERS] 8.2 features?