mirror of
https://github.com/postgres/postgres.git
synced 2025-06-05 23:56:58 +03:00
postgres_fdw: Promote an Assert() to elog().
Andreas Seltenreich reports that it is possible for a PlaceHolderVar to creep into this tlist, and I fear that even after that's fixed we might have other, similar bugs in this area either now or in the future. There's a lot of action-at-a-distance here, because the validity of this assertion depends on core planner behavior; so, let's use elog() to make sure we catch this even in non-assert builds, rather than just crashing.
This commit is contained in:
parent
783cb6e48b
commit
332fdbef20
@ -1112,8 +1112,10 @@ deparseExplicitTargetList(List *tlist, List **retrieved_attrs,
|
|||||||
/* Extract expression if TargetEntry node */
|
/* Extract expression if TargetEntry node */
|
||||||
Assert(IsA(tle, TargetEntry));
|
Assert(IsA(tle, TargetEntry));
|
||||||
var = (Var *) tle->expr;
|
var = (Var *) tle->expr;
|
||||||
|
|
||||||
/* We expect only Var nodes here */
|
/* We expect only Var nodes here */
|
||||||
Assert(IsA(var, Var));
|
if (!IsA(var, Var))
|
||||||
|
elog(ERROR, "non-Var not expected in target list");
|
||||||
|
|
||||||
if (i > 0)
|
if (i > 0)
|
||||||
appendStringInfoString(buf, ", ");
|
appendStringInfoString(buf, ", ");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user