Re: [POC] hash partitioning
Amul Sul <sulamul@gmail.com>
From: amul sul <sulamul@gmail.com>
To: Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>
Cc: Jesper Pedersen <jesper.pedersen@redhat.com>, Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>, Thom Brown <thom@linux.com>, Robert Haas <robertmhaas@gmail.com>, Dilip Kumar <dilipbalaut@gmail.com>, Yugo Nagata <nagata@sraoss.co.jp>, David Steele <david@pgmasters.net>,
Greg Stark <stark@mit.edu>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2017-10-10T11:07:40Z
Lists: pgsql-hackers
Attachments
- 0001-partition_bounds_copy-code-refactoring-v1.patch (application/octet-stream) patch v1-0001
- 0002-hash-partitioning_another_design-v24.patch (application/octet-stream) patch v24-0002
- 0003-Enable-partition-wise-join-support-v3.patch (application/octet-stream) patch v3-0003
On Tue, Oct 10, 2017 at 3:42 PM, Ashutosh Bapat <ashutosh.bapat@enterprisedb.com> wrote: > On Tue, Oct 10, 2017 at 3:32 PM, amul sul <sulamul@gmail.com> wrote: > >>> + hash_part? true : key->parttypbyval[j], >>> + key->parttyplen[j]); >>> parttyplen is the length of partition key attribute, whereas what you want here >>> is the length of type of modulus and remainder. Is that correct? Probably we >>> need some special handling wherever parttyplen and parttypbyval is used e.g. in >>> call to partition_bounds_equal() from build_joinrel_partition_info(). >>> >> >> Unless I am missing something, I don't think we should worry about parttyplen >> because in the datumCopy() when the datatype is pass-by-value then typelen >> is ignored. > > That's true, but it's ugly, passing typbyvalue of one type and len of other. > How about the attached patch(0003)? Also, the dim variable is renamed to natts. Regards, Amul
Commits
-
Add hash partitioning.
- 1aba8e651ac3 11.0 landed
-
Add sanity check for pg_proc.provariadic
- 35f059e9bdfb 11.0 landed
-
Add hash_combine64.
- b7f3eb31405f 11.0 landed
-
Make RelationGetPartitionDispatchInfo expand depth-first.
- 77b6b5e9ceca 11.0 cited
-
Introduce 64-bit hash functions with a 64-bit seed.
- 81c5e46c490e 11.0 cited
-
pg_dump: Add a --load-via-partition-root option.
- 23d7680d04b9 11.0 cited