]> granicus.if.org Git - postgresql/commitdiff
Add blcksz to struct ControlFileData to check BLCKSZ is same
authorTatsuo Ishii <ishii@postgresql.org>
Tue, 12 Oct 1999 10:21:56 +0000 (10:21 +0000)
committerTatsuo Ishii <ishii@postgresql.org>
Tue, 12 Oct 1999 10:21:56 +0000 (10:21 +0000)
as BLCKSZ which the backend was compiled in.

src/backend/access/transam/xlog.c

index 09605cf94767820884304e3ee1e365836bf4949e..592a3a5bf724e194ef3aabb5a36395459b9cc069 100644 (file)
@@ -97,6 +97,7 @@ typedef struct ControlFileData
        XLogRecPtr              checkPoint;             /* last check point record ptr */
        time_t                  time;                   /* time stamp of last modification */
        DBState                 state;                  /* */
+       uint32                  blcksz;                 /* block size for this DB */
        /* MORE DATA FOLLOWS AT THE END OF THIS STRUCTURE
         * - locations of data dirs 
         */
@@ -1162,6 +1163,7 @@ BootStrapXLOG()
        ControlFile->checkPoint = checkPoint.redo;
        ControlFile->time = time(NULL);
        ControlFile->state = DB_SHUTDOWNED;
+       ControlFile->blcksz = BLCKSZ;
 
        if (write(fd, buffer, BLCKSZ) != BLCKSZ)
                elog(STOP, "BootStrapXLOG failed to write control file: %d", errno);
@@ -1249,6 +1251,9 @@ tryAgain:
                !XRecOffIsValid(ControlFile->checkPoint.xrecoff))
                elog(STOP, "Control file context is broken");
 
+       if (ControlFile->blcksz != BLCKSZ)
+               elog(STOP, "database was initialized in BLCKSZ(%d), but the backend was compiled in BLCKSZ(%d)",ControlFile->blcksz,BLCKSZ);
+
        if (ControlFile->state == DB_SHUTDOWNED)
                elog(LOG, "Data Base System was shutdowned at %s",
                                        str_time(ControlFile->time));