Dear Wang,

I have tested about multilevel partitions, and it worked well.
Followings are my comments for v18-0001.

01. pg_get_publication_tables

```
+               ListCell   *lc;
```

This definition can be inside of the "for (i = 0; i < nelems; i++)".

02. pg_get_publication_tables

```
-                        * If the publication publishes partition changes via 
their
-                        * respective root partitioned tables, we must exclude 
partitions
-                        * in favor of including the root partitioned tables. 
Otherwise,
-                        * the function could return both the child and parent 
tables
-                        * which could cause data of the child table to be
-                        * double-published on the subscriber side.
+                        * Publications support partitioned tables. If
+                        * publish_via_partition_root is false, all changes are 
replicated
+                        * using leaf partition identity and schema, so we only 
need those.
+                        * Otherwise, get the partitioned table itself.
```

The comments can be  inside of the "else".

03. pg_get_publication_tables

```
+               pfree(elems);
```

Only elems is pfree()'d here, but how about other variable like pub_elem and 
pub_elem_tables?

Best Regards,
Hayato Kuroda
FUJITSU LIMITED

Reply via email to