aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2011-03-25 20:10:42 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2011-03-25 20:10:42 -0400
commitbfa4440ca5d948c4d4f0ab5bb82d433200c35288 (patch)
tree729b839f5f03c46773250ce3d33fc351f394e63e /src/backend/executor
parentc8e993503d0f1a0cb8f187a136fb64cead9ba591 (diff)
downloadpostgresql-bfa4440ca5d948c4d4f0ab5bb82d433200c35288.tar.gz
postgresql-bfa4440ca5d948c4d4f0ab5bb82d433200c35288.zip
Pass collation to makeConst() instead of looking it up internally.
In nearly all cases, the caller already knows the correct collation, and in a number of places, the value the caller has handy is more correct than the default for the type would be. (In particular, this patch makes it significantly less likely that eval_const_expressions will result in changing the exposed collation of an expression.) So an internal lookup is both expensive and wrong.
Diffstat (limited to 'src/backend/executor')
-rw-r--r--src/backend/executor/execQual.c2
-rw-r--r--src/backend/executor/functions.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/src/backend/executor/execQual.c b/src/backend/executor/execQual.c
index e410818900d..c153ca00dbf 100644
--- a/src/backend/executor/execQual.c
+++ b/src/backend/executor/execQual.c
@@ -4653,7 +4653,7 @@ ExecInitExpr(Expr *node, PlanState *parent)
* don't really care what type of NULL it is, so
* always make an int4 NULL.
*/
- e = (Expr *) makeNullConst(INT4OID, -1);
+ e = (Expr *) makeNullConst(INT4OID, -1, InvalidOid);
}
estate = ExecInitExpr(e, parent);
outlist = lappend(outlist, estate);
diff --git a/src/backend/executor/functions.c b/src/backend/executor/functions.c
index ce3b77b847e..70d126c5213 100644
--- a/src/backend/executor/functions.c
+++ b/src/backend/executor/functions.c
@@ -1501,6 +1501,7 @@ check_sql_fn_retval(Oid func_id, Oid rettype, List *queryTreeList,
/* The type of the null we insert isn't important */
null_expr = (Expr *) makeConst(INT4OID,
-1,
+ InvalidOid,
sizeof(int32),
(Datum) 0,
true, /* isnull */
@@ -1562,6 +1563,7 @@ check_sql_fn_retval(Oid func_id, Oid rettype, List *queryTreeList,
/* The type of the null we insert isn't important */
null_expr = (Expr *) makeConst(INT4OID,
-1,
+ InvalidOid,
sizeof(int32),
(Datum) 0,
true, /* isnull */