Re: A minor adjustment to get_cheapest_path_for_pathkeys

Aleksander Alekseev <aleksander@timescale.com>

From: Aleksander Alekseev <aleksander@timescale.com>
To: PostgreSQL-development <pgsql-hackers@postgresql.org>
Cc: Richard Guo <guofenglinux@gmail.com>
Date: 2023-07-11T12:16:38Z
Lists: pgsql-hackers
Hi,

> The check for parallel_safe should be even cheaper than cost comparison
> so I think it's better to do that first.  The attached patch does this
> and also updates the comment to mention the requirement about being
> parallel-safe.

The patch was marked as "Needs review" so I decided to take a look.

I see the reasoning behind the proposed change, but I'm not convinced
that there will be any measurable performance improvements. Firstly,
compare_path_costs() is rather cheap. Secondly, require_parallel_safe
is `false` in most of the cases. Last but not least, one should prove
that this particular place is a bottleneck under given loads. I doubt
it is. Most of the time it's a network, disk I/O or locks.

So unless the author can provide benchmarks that show measurable
benefits of the change I suggest rejecting it.

-- 
Best regards,
Aleksander Alekseev



Commits

  1. Reorder tests in get_cheapest_path_for_pathkeys().

  2. Fix an assortment of improper usages of string functions