RE: Add Nullif case for eval_const_expressions_mutator

Hou, Zhijie <houzj.fnst@cn.fujitsu.com>

From: "Hou, Zhijie" <houzj.fnst@cn.fujitsu.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-01-12T04:58:34Z
Lists: pgsql-hackers

Attachments

> > I notice that there are no Nullif case in eval_const_expression.
> > Since Nullif is similar to Opexpr and is easy to implement, I try add
> > this case in eval_const_expressions_mutator.
> 
> I think this patch should be about a tenth the size.  Try modeling it on
> the T_SubscriptingRef-etc case, ie, use ece_generic_processing and then
> ece_evaluate_expr to cover the generic cases.  OpExpr is common enough to
> deserve specially optimized code, but NullIf isn't, so shorter is better.

Thanks for the review.

Attaching v2 patch , which followed the suggestion 
to use ece_generic_processing and ece_evaluate_expr to simplify the code.

Please have a check.

Best regards,
houzj



Commits

  1. Add support for NullIfExpr in eval_const_expressions