More issues with expressions always false (no patch)

From: Ranier Vilela <ranier(dot)vf(at)gmail(dot)com>
To: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: More issues with expressions always false (no patch)
Date: 2019-12-20 00:01:11
Message-ID: CAEudQAo=DCebm1RXtig9OH+QivpS97sMkikt0A9qHmMUs+g6ZA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Continuing on always false expressions.
There are three difficult cases, whose solutions which needs to be well
thought out.
This is not a case of simply removing the expressions, perhaps, but have to
be sure.

First case:
src \ backend \ executor \ nodeSubplan.c (line 507)

if (node-> hashtable)

node-> hastable is assigned with NULL at line 498, so the test will always
fail.

Second case:
Here the case is similar, but worse.

src \ backend \ executor \ nodeSubplan.c (line 535)
if (node-> hashnulls)
ResetTupleHashTable (node-> hashtable);

node-> hashnulls is assigned with NULL at line 499, so the test will always
fail.
Otherwise, it would have already been discovered, because it would
inevitably occur
an access violation, since > hashtable would be accessed.

Third case:
\ src \ backend \ utils \ cache \ relcache.c (line 5190)
if (relation-> rd_pubactions)

It will never be executed, because if relation-> rd_pubactions is true, the
function returns on line 5154.

regards,
Ranier Vilela

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2019-12-20 00:12:22 Re: Building infrastructure for B-Tree deduplication that recognizes when opclass equality is also equivalence
Previous Message Dagfinn Ilmari Mannsåker 2019-12-19 23:57:59 Re: [PATCH] Fix expressions always false