From: | amul sul <sulamul(at)gmail(dot)com> |
---|---|
To: | Dilip Kumar <dilipbalaut(at)gmail(dot)com> |
Cc: | Yugo Nagata <nagata(at)sraoss(dot)co(dot)jp>, Robert Haas <robertmhaas(at)gmail(dot)com>, Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com>, David Steele <david(at)pgmasters(dot)net>, Greg Stark <stark(at)mit(dot)edu>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: [POC] hash partitioning |
Date: | 2017-07-05 12:38:00 |
Message-ID: | CAAJ_b96jnnjsVCcMG5tpiDLLi8B76dK+R2wermmk6uKbOnwdFg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, Jul 5, 2017 at 4:50 PM, Dilip Kumar <dilipbalaut(at)gmail(dot)com> wrote:
> On Mon, Jul 3, 2017 at 4:39 PM, amul sul <sulamul(at)gmail(dot)com> wrote:
>> Thanks to catching this, fixed in the attached version.
>
> Few comments on the latest version.
>
Thanks for your review, please find my comment inline:
> 0001 looks fine, for 0002 I have some comments.
>
> 1.
> + hbounds = (PartitionHashBound * *) palloc(nparts *
> + sizeof(PartitionHashBound *));
>
> /s/(PartitionHashBound * *)/(PartitionHashBound **)/g
>
Fixed in the attached version.
> 2.
> RelationBuildPartitionDesc
> {
> ....
>
>
> * catalog scan that retrieved them, whereas that in the latter is
> * defined by canonicalized representation of the list values or the
> * range bounds.
> */
> for (i = 0; i < nparts; i++)
> result->oids[mapping[i]] = oids[i];
>
> Should this comments mention about hash as well?
>
Instead, I have generalised this comment in the attached patch
> 3.
>
> if (b1->datums[b1->ndatums - 1][0] != b2->datums[b2->ndatums - 1][0])
> return false;
>
> if (b1->ndatums != b2->ndatums)
> return false;
>
> If ndatums itself is different then no need to access datum memory, so
> better to check ndatum first.
>
You are correct, we already doing this in the
partition_bounds_equal(). This is a redundant code, removed in the
attached version.
> 4.
> + * next larger modulus. For example, if you have a bunch
> + * of partitions that all have modulus 5, you can add a
> + * new new partition with modulus 10 or a new partition
>
> Typo, "new new partition" -> "new partition"
>
Fixed in the attached version.
Regards,
Amul
Attachment | Content-Type | Size |
---|---|---|
0001-Cleanup_v6.patch | application/octet-stream | 4.0 KB |
0002-hash-partitioning_another_design-v15.patch | application/octet-stream | 78.5 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Craig Ringer | 2017-07-05 12:50:27 | Re: [HACKERS] Postgres process invoking exit resulting in sh-QUIT core |
Previous Message | Amit Kapila | 2017-07-05 12:30:50 | Re: Request more documentation for incompatibility of parallelism and plpgsql exec_run_select |