Wired if-statement in gen_partprune_steps_internal

From: Andy Fan <zhihui(dot)fan1213(at)gmail(dot)com>
To: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Wired if-statement in gen_partprune_steps_internal
Date: 2020-10-08 09:55:43
Message-ID: CAKU4AWqWoVii+bRTeBQmeVW+PznkdO8DfbwqNsu9Gj4ubt9A6w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi:

I found the following code in gen_partprune_steps_internal, which
looks the if-statement to be always true since list_length(results) > 1;
I added an Assert(step_ids != NIL) and all the test cases passed.
if the if-statement is always true, shall we remove it to avoid confusion?

gen_partprune_steps_internal(GeneratePruningStepsContext *context,

if (list_length(result) > 1)
{
List *step_ids = NIL;

foreach(lc, result)
{
PartitionPruneStep *step = lfirst(lc);

step_ids = lappend_int(step_ids, step->step_id);
}
Assert(step_ids != NIL);
if (step_ids != NIL) // This should always be true.
{
PartitionPruneStep *step;

step = gen_prune_step_combine(context, step_ids,

PARTPRUNE_COMBINE_INTERSECT);
result = lappend(result, step);
}
}

--
Best Regards
Andy Fan

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amul Sul 2020-10-08 10:22:58 Re: [Patch] ALTER SYSTEM READ ONLY
Previous Message Andrey V. Lepikhov 2020-10-08 09:39:47 Re: Asynchronous Append on postgres_fdw nodes.