mirror of
https://github.com/postgres/postgres.git
synced 2025-07-12 21:01:52 +03:00
Clean up a few failures to set collation fields in expression nodes.
I'm not sure these have any non-cosmetic implications, but I'm not sure they don't, either. In particular, ensure the CaseTestExpr generated by transformAssignmentIndirection to represent the base target column carries the correct collation, because parse_collate.c won't fix that. Tweak lsyscache.c API so that we can get the appropriate collation without an extra syscache lookup.
This commit is contained in:
@ -906,6 +906,8 @@ arrayconst_startup_fn(Node *clause, PredIterInfo info)
|
||||
state->opexpr.opfuncid = saop->opfuncid;
|
||||
state->opexpr.opresulttype = BOOLOID;
|
||||
state->opexpr.opretset = false;
|
||||
state->opexpr.opcollid = InvalidOid;
|
||||
state->opexpr.inputcollid = saop->inputcollid;
|
||||
state->opexpr.args = list_copy(saop->args);
|
||||
|
||||
/* Set up a dummy Const node to hold the per-element values */
|
||||
@ -972,6 +974,8 @@ arrayexpr_startup_fn(Node *clause, PredIterInfo info)
|
||||
state->opexpr.opfuncid = saop->opfuncid;
|
||||
state->opexpr.opresulttype = BOOLOID;
|
||||
state->opexpr.opretset = false;
|
||||
state->opexpr.opcollid = InvalidOid;
|
||||
state->opexpr.inputcollid = saop->inputcollid;
|
||||
state->opexpr.args = list_copy(saop->args);
|
||||
|
||||
/* Initialize iteration variable to first member of ArrayExpr */
|
||||
|
Reference in New Issue
Block a user