Re: Incorrect comments in partition.c - Mailing list pgsql-hackers

From Amit Langote
Subject Re: Incorrect comments in partition.c
Date
Msg-id d9716065-5b30-9743-f00b-49144675a890@lab.ntt.co.jp
Whole thread Raw
In response to Incorrect comments in partition.c  (Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>)
Responses Re: Incorrect comments in partition.c
List pgsql-hackers
On 2018/01/23 20:43, Etsuro Fujita wrote:
> Here is a comment for get_qual_for_list in partition.c:
> 
>   * get_qual_for_list
>   *
>   * Returns an implicit-AND list of expressions to use as a list partition's
> - * constraint, given the partition key and bound structures.
> 
> I don't think the part "given the partition key and bound structures."
> is correct because we pass the *parent relation* and partition bound
> structure to that function.  So I think we should change that part as
> such.  get_qual_for_range has the same issue, so I think we need this
> change for that function as well.

Yeah.  It seems 6f6b99d1335 [1] changed their signatures to support
handling default partitions.

> Another one I noticed in comments in partition.c is:
> 
>  * get_qual_for_hash
>  *
>  * Given a list of partition columns, modulus and remainder
> corresponding to a
>  * partition, this function returns CHECK constraint expression Node for
> that
>  * partition.
> 
> I think the part "Given a list of partition columns, modulus and
> remainder corresponding to a partition" is wrong because we pass to that
> function the parent relation and partition bound structure the same way
> as for get_qual_for_list/get_qual_for_range.  So what about changing the
> above to something like this, similarly to
> get_qual_for_list/get_qual_for_range:
> 
>  Returns a CHECK constraint expression to use as a hash partition's
>  constraint, given the parent relation and partition bound structure.

Makes sense.

> Also:
> 
>  * The partition constraint for a hash partition is always a call to the
>  * built-in function satisfies_hash_partition().  The first two
> arguments are
>  * the modulus and remainder for the partition; the remaining arguments
> are the
>  * values to be hashed.
> 
> I also think the part "The first two arguments are the modulus and
> remainder for the partition;" is wrong (see satisfies_hash_partition).
> But I don't think we need to correct that here because we have described
> about the arguments in comments for that function.  So I'd like to
> propose removing the latter comment entirely from the above.

Here, too.  The comment seems to have been obsoleted by f3b0897a121 [2].

Thanks,
Amit

[1] https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=6f6b99d1335

[2] https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=f3b0897a121



pgsql-hackers by date:

Previous
From: David Steele
Date:
Subject: Re: PATCH: Configurable file mode mask
Next
From: Tom Lane
Date:
Subject: Re: [PATCH] fix for C4141 warning on MSVC