mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-21 08:29:39 +08:00
Fix failure to propagate collation in negate_clause().
Turns out it was this, and not so much plpgsql, that was at fault in Stefan Huehner's collation-error-in-a-trigger bug report of a couple weeks ago.
This commit is contained in:
parent
9b19c12e1d
commit
c8e993503d
@ -104,6 +104,8 @@ negate_clause(Node *node)
|
|||||||
newopexpr->opfuncid = InvalidOid;
|
newopexpr->opfuncid = InvalidOid;
|
||||||
newopexpr->opresulttype = opexpr->opresulttype;
|
newopexpr->opresulttype = opexpr->opresulttype;
|
||||||
newopexpr->opretset = opexpr->opretset;
|
newopexpr->opretset = opexpr->opretset;
|
||||||
|
newopexpr->opcollid = opexpr->opcollid;
|
||||||
|
newopexpr->inputcollid = opexpr->inputcollid;
|
||||||
newopexpr->args = opexpr->args;
|
newopexpr->args = opexpr->args;
|
||||||
newopexpr->location = opexpr->location;
|
newopexpr->location = opexpr->location;
|
||||||
return (Node *) newopexpr;
|
return (Node *) newopexpr;
|
||||||
@ -126,6 +128,7 @@ negate_clause(Node *node)
|
|||||||
newopexpr->opno = negator;
|
newopexpr->opno = negator;
|
||||||
newopexpr->opfuncid = InvalidOid;
|
newopexpr->opfuncid = InvalidOid;
|
||||||
newopexpr->useOr = !saopexpr->useOr;
|
newopexpr->useOr = !saopexpr->useOr;
|
||||||
|
newopexpr->inputcollid = saopexpr->inputcollid;
|
||||||
newopexpr->args = saopexpr->args;
|
newopexpr->args = saopexpr->args;
|
||||||
newopexpr->location = saopexpr->location;
|
newopexpr->location = saopexpr->location;
|
||||||
return (Node *) newopexpr;
|
return (Node *) newopexpr;
|
||||||
|
Loading…
Reference in New Issue
Block a user