A quick comment on the patch

v43-0005-Add-UPDATE-DELETE-FOR-PORTION-OF.patch

regarding the code in transformForPortionOfClause() and the additions you made to lsyscache.c:

What you are doing is taking a type OID and a function OID and then converting them back to name and namespace and then building a node and then feeding that node back through the parse analysis transformation. This all seems quite fishy and cumbersome. I think instead of building a FuncCall and transforming it, try to build a FuncExpr directly. Then you wouldn't need these new helper functions, which would also reduce the surface area of your patch.

Additional mini-comment:

#include "utils/rangetypes.h"

in src/include/nodes/execnodes.h appears to be unnecessary (but it is then required in src/backend/commands/trigger.c).



Reply via email to