Dear Hou,

Thank you for reviewing! The patch can be available in [1].

> 1.
> 
> +check_for_lost_slots(ClusterInfo *cluster)
> +{
> +     int                     i,
> +                             ntups,
> +                             i_slotname;
> +     PGresult   *res;
> +     DbInfo     *active_db = &cluster->dbarr.dbs[0];
> +     PGconn     *conn = connectToServer(cluster, active_db->db_name);
> +
> +     /* logical slots can be migrated since PG17. */
> +     if (GET_MAJOR_VERSION(cluster->major_version) <= 1600)
> +             return;
> 
> I think we should build connection after this check, otherwise the connection
> may be left open after returning.

Fixed.

> 2.
> +check_for_confirmed_flush_lsn(ClusterInfo *cluster)
> +{
> +     int                     i,
> +                             ntups,
> +                             i_slotname;
> +     PGresult   *res;
> +     DbInfo     *active_db = &cluster->dbarr.dbs[0];
> +     PGconn     *conn = connectToServer(cluster, active_db->db_name);
> +
> +     /* logical slots can be migrated since PG17. */
> +     if (GET_MAJOR_VERSION(cluster->major_version) <= 1600)
> +             return;
> 
> Same as above.

Fixed.

> 3.
> +                             if
> (GET_MAJOR_VERSION(cluster->major_version) >= 17)
> +                             {
> 
> I think you mean 1700 here.

Right, fixed.

> 4.
> +                                     p = strpbrk(p,
> "01234567890ABCDEF");
> +
> +                                     /*
> +                                      * Upper and lower part of LSN must
> be read separately
> +                                      * because it is reported as %X/%X
> format.
> +                                      */
> +                                     upper_lsn = strtoul(p, &slash, 16);
> +                                     lower_lsn = strtoul(++slash, NULL,
> 16);
> 
> Maybe we'd better add a sanity check after strpbrk like "if (p == NULL ||
> strlen(p) <= 1)" to be consistent with other similar code.

Added.

[1]: 
https://www.postgresql.org/message-id/TYCPR01MB5870B5C0FE0C61CD04CBD719F51EA%40TYCPR01MB5870.jpnprd01.prod.outlook.com

Best Regards,
Hayato Kuroda
FUJITSU LIMITED

Reply via email to