Hi,

I am interested in this feature and took a quick a look at the patch.
Here are a few comments.

(1)
+                               appendStringInfo(&cmd, "%s", q);

We'd better use appendStringInfoString(&cmd, q);


(2)
+       whereclause = transformWhereClause(pstate,
+                                                                          
copyObject(pri->whereClause),
+                                                                          
EXPR_KIND_PUBLICATION_WHERE,
+                                                                          
"PUBLICATION");
+
+       /* Fix up collation information */
+       assign_expr_collations(pstate, whereclause);

Is it better to invoke eval_const_expressions or canonicalize_qual here to
simplify the expression ?


(3)
+                               appendPQExpBuffer(&buf,
+                                                                 ", 
pg_get_expr(pr.prqual, c.oid)");
+                       else
+                               appendPQExpBuffer(&buf,
+                                                                 ", NULL");

we'd better use appendPQExpBufferStr instead of appendPQExpBuffer here.

(4)
nodeTag(expr) == T_FuncCall)

It might looks clearer to use IsA(expr, FuncCall) here.

Best regards,
Houzj

Reply via email to