• Tom Lane's avatar
    Add static assertions about pg_control fitting into one disk sector. · 3cb29c42
    Tom Lane authored
    When pg_control was first designed, sizeof(ControlFileData) was small
    enough that a comment seemed like plenty to document the assumption that
    it'd fit into one disk sector.  Now it's nearly 300 bytes, raising the
    possibility that somebody would carelessly add enough stuff to create
    a problem.  Let's add a StaticAssertStmt() to ensure that the situation
    doesn't pass unnoticed if it ever occurs.
    
    While at it, rename PG_CONTROL_SIZE to PG_CONTROL_FILE_SIZE to make it
    clearer what that symbol means, and convert the existing runtime
    comparisons of sizeof(ControlFileData) vs. PG_CONTROL_FILE_SIZE to be
    static asserts --- we didn't have that technology when this code was
    first written.
    
    Discussion: https://postgr.es/m/9192.1500490591@sss.pgh.pa.us
    3cb29c42
xlog.c 376 KB