On Thu, Oct 17, 2019 at 10:51 AM Asif Rehman <asifr.reh...@gmail.com> wrote:
> > Attached are the updated patches. > I had a quick look over these changes and they look good overall. However, here are my few review comments I caught while glancing the patches 0002 and 0003. --- 0002 patch 1. Can lsn option be renamed to start-wal-location? This will be more clear too. 2. +typedef struct +{ + char name[MAXPGPATH]; + char type; + int32 size; + time_t mtime; +} BackupFile; I think it will be good if we keep this structure in a common place so that the client can also use it. 3. + SEND_FILE_LIST, + SEND_FILES_CONTENT, Can above two commands renamed to SEND_BACKUP_MANIFEST and SEND_BACKUP_FILE respectively? The reason behind the first name change is, we are not getting only file lists here instead we are getting a few more details with that too. And for others, it will be inline with START_BACKUP/STOP_BACKUP/SEND_BACKUP_MANIFEST. 4. Typos: non-exlusive => non-exclusive retured => returned optionaly => optionally nessery => necessary totoal => total --- 0003 patch 1. +static int +simple_list_length(SimpleStringList *list) +{ + int len = 0; + SimpleStringListCell *cell; + + for (cell = list->head; cell; cell = cell->next, len++) + ; + + return len; +} I think it will be good if it goes to simple_list.c. That will help in other usages as well. 2. Please revert these unnecessary changes: @@ -1475,6 +1575,7 @@ ReceiveAndUnpackTarFile(PGconn *conn, PGresult *res, int rownum) */ snprintf(filename, sizeof(filename), "%s/%s", current_path, copybuf); + if (filename[strlen(filename) - 1] == '/') { /* @@ -1528,8 +1622,8 @@ ReceiveAndUnpackTarFile(PGconn *conn, PGresult *res, int rownum) * can map them too.) */ filename[strlen(filename) - 1] = '\0'; /* Remove trailing slash */ - mapped_tblspc_path = get_tablespace_mapping(©buf[157]); + if (symlink(mapped_tblspc_path, filename) != 0) { pg_log_error("could not create symbolic link from \"%s\" to \"%s\": %m", 3. Typos: retrive => retrieve takecare => take care tablespae => tablespace 4. ParallelBackupEnd() function does not do anything for parallelism. Will it be better to just rename it as EndBackup()? 5. To pass a tablespace path to the server in SEND_FILES_CONTENT, you are reusing a LABEL option, that seems odd. How about adding a new option for that? 6. It will be good if we have some comments explaining what the function is actually doing in its prologue. For functions like: GetBackupFilesList() ReceiveFiles() create_workers_and_fetch() Thanks > > Thanks, > > -- > Asif Rehman > Highgo Software (Canada/China/Pakistan) > URL : www.highgo.ca > > -- Jeevan Chalke Associate Database Architect & Team Lead, Product Development EnterpriseDB Corporation The Enterprise PostgreSQL Company