From: | Claudio Freire <klaussfreire(at)gmail(dot)com> |
---|---|
To: | Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: On partitioning |
Date: | 2014-12-12 22:04:40 |
Message-ID: | CAGTBQpaqEbSO+=s1xod1G6xfawc1RRnYEL3jGp870h7APnCgGg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, Dec 12, 2014 at 6:48 PM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
> On Fri, Dec 12, 2014 at 4:28 PM, Jim Nasby <Jim(dot)Nasby(at)bluetreble(dot)com> wrote:
>>> Sure. Mind you, I'm not proposing that the syntax I just mooted is
>>> actually for the best. What I'm saying is that we need to talk about
>>> it.
>>
>> Frankly, if we're going to require users to explicitly define each partition
>> then I think the most appropriate API would be a function. Users will be
>> writing code to create new partitions as needed, and it's generally easier
>> to write code that calls a function as opposed to glomming a text string
>> together and passing that to EXECUTE.
>
> I have very little idea what the API you're imagining would actually
> look like from this description, but it sounds like a terrible idea.
> We don't want to make this infinitely general. We need a *fast* way
> to go from a value (or list of values, one per partitioning column) to
> a partition OID, and the way to get there is not to call arbitrary
> user code.
I think this was mentioned upthread, but I'll repeat it anyway since
it seems to need repeating.
More than fast, you want it analyzable (by the planner). Ie: it has to
be easy to prove partition exclusion against a where clause.
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2014-12-12 22:04:57 | Re: PATCH: hashjoin - gracefully increasing NTUP_PER_BUCKET instead of batching |
Previous Message | Tomas Vondra | 2014-12-12 21:54:08 | Re: PATCH: hashjoin - gracefully increasing NTUP_PER_BUCKET instead of batching |