Re: [sqlsmith] Planner crash on foreign table join
Andrew Gierth <andrew@tao11.riddles.org.uk>
From: Andrew Gierth <andrew@tao11.riddles.org.uk>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andreas Seltenreich <seltenreich@gmx.de>, pgsql-hackers@postgresql.org,
Simon Riggs <simon@2ndquadrant.com>
Date: 2017-04-08T20:27:28Z
Lists: pgsql-hackers
>>>>> "Tom" == Tom Lane <tgl@sss.pgh.pa.us> writes:
Tom> Experimentation shows that actually, the standard regression tests
Tom> provide dozens of opportunities for find_relation_from_clauses to
Tom> fail on non-RestrictInfo input. However, it lacks any IsA check,
In a discussion with Andres on the hash grouping sets review thread, I
proposed that we should have something of the form
#define lfirst_node(_type_, l) (castNode(_type_,lfirst(l)))
to replace the current idiom of
foreach(l, blah)
{
SomeType *x = (SomeType *) lfirst(l);
(in my code I tend to omit the (SomeType *), which I dislike because it
adds no real protection)
by
foreach(l, blah)
{
SomeType *x = lfirst_node(SomeType, l);
in order to get that IsA check in there in a convenient way.
--
Andrew (irc:RhodiumToad)
Commits
-
Improve castNode notation by introducing list-extraction-specific variants.
- 8f0530f58061 10.0 landed
- ff9398052df5 9.3.17 landed
- be182d570210 9.6.3 landed
- bcb1a27dc039 9.5.7 landed
- ba0a0f3ed9e0 9.2.21 landed
- 89a41a1b6b71 9.4.12 landed
-
Clean up bugs in clause_selectivity() cleanup.
- eef8c0069e4d 10.0 landed
-
Add newly-symlinked files to "make clean" target.
- aba696d1af9a 10.0 cited
-
Reset API of clause_selectivity()
- ac2b09508834 10.0 cited