Thread

Commits

  1. Removed unused variable, openLogOff.

  2. Use pg_pread() and pg_pwrite() for data files and WAL.

  1. openLogOff is not needed anymore

    Antonin Houska <ah@cybertec.at> — 2019-03-06T11:12:10Z

    ... obviously due to commit c24dcd0. The following patch removes it.
    
    diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
    index ecd12fc53a..0fdd82a287 100644
    --- a/src/backend/access/transam/xlog.c
    +++ b/src/backend/access/transam/xlog.c
    @@ -771,13 +771,11 @@ static const char *xlogSourceNames[] = {"any", "archive", "pg_wal", "stream"};
     
     /*
      * openLogFile is -1 or a kernel FD for an open log file segment.
    - * When it's open, openLogOff is the current seek offset in the file.
    - * openLogSegNo identifies the segment.  These variables are only
    - * used to write the XLOG, and so will normally refer to the active segment.
    + * openLogSegNo identifies the segment.  These variables are only used to
    + * write the XLOG, and so will normally refer to the active segment.
      */
     static int	openLogFile = -1;
     static XLogSegNo openLogSegNo = 0;
    -static uint32 openLogOff = 0;
     
     /*
      * These variables are used similarly to the ones above, but for reading
    @@ -2447,7 +2445,6 @@ XLogWrite(XLogwrtRqst WriteRqst, bool flexible)
     			/* create/use new log file */
     			use_existent = true;
     			openLogFile = XLogFileInit(openLogSegNo, &use_existent, true);
    -			openLogOff = 0;
     		}
     
     		/* Make sure we have the current logfile open */
    @@ -2456,7 +2453,6 @@ XLogWrite(XLogwrtRqst WriteRqst, bool flexible)
     			XLByteToPrevSeg(LogwrtResult.Write, openLogSegNo,
     							wal_segment_size);
     			openLogFile = XLogFileOpen(openLogSegNo);
    -			openLogOff = 0;
     		}
     
     		/* Add current page to the set of pending pages-to-dump */
    @@ -2508,15 +2504,13 @@ XLogWrite(XLogwrtRqst WriteRqst, bool flexible)
     							 errmsg("could not write to log file %s "
     									"at offset %u, length %zu: %m",
     									XLogFileNameP(ThisTimeLineID, openLogSegNo),
    -									openLogOff, nbytes)));
    +									startoffset, nbytes)));
     				}
     				nleft -= written;
     				from += written;
     				startoffset += written;
     			} while (nleft > 0);
     
    -			/* Update state for write */
    -			openLogOff += nbytes;
     			npages = 0;
     
     			/*
    @@ -2602,7 +2596,6 @@ XLogWrite(XLogwrtRqst WriteRqst, bool flexible)
     				XLByteToPrevSeg(LogwrtResult.Write, openLogSegNo,
     								wal_segment_size);
     				openLogFile = XLogFileOpen(openLogSegNo);
    -				openLogOff = 0;
     			}
     
     			issue_xlog_fsync(openLogFile, openLogSegNo);
    
    
    -- 
    Antonin Houska
    https://www.cybertec-postgresql.com
    
    
    
  2. Re: openLogOff is not needed anymore

    Robert Haas <robertmhaas@gmail.com> — 2019-03-06T14:47:19Z

    On Wed, Mar 6, 2019 at 6:10 AM Antonin Houska <ah@cybertec.at> wrote:
    > ... obviously due to commit c24dcd0. The following patch removes it.
    
    Committed, after a short struggle to get the patch out of the email
    body in a usable form.
    
    -- 
    Robert Haas
    EnterpriseDB: http://www.enterprisedb.com
    The Enterprise PostgreSQL Company
    
    
    
  3. Re: openLogOff is not needed anymore

    Antonin Houska <ah@cybertec.at> — 2019-03-06T15:13:17Z

    Robert Haas <robertmhaas@gmail.com> wrote:
    
    > On Wed, Mar 6, 2019 at 6:10 AM Antonin Houska <ah@cybertec.at> wrote:
    > > ... obviously due to commit c24dcd0. The following patch removes it.
    > 
    > Committed, after a short struggle to get the patch out of the email
    > body in a usable form.
    
    It was just convenient for me to use vc-diff emacs command and copy & paste
    the diff into the message because I also use emacs as email client. I thought
    it should work but perhaps something went wrong with spaces.
    
    I'll always attach diffs to the message next time. Sorry for the problem.
    
    -- 
    Antonin Houska
    https://www.cybertec-postgresql.com