]> granicus.if.org Git - postgresql/commitdiff
Make reformat_dat_file.pl preserve all blank lines.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 9 Apr 2018 18:58:39 +0000 (14:58 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 9 Apr 2018 18:58:39 +0000 (14:58 -0400)
In its original form, reformat_dat_file.pl smashed consecutive blank
lines to a single blank line, which was helpful for mopping up excess
whitespace during the bootstrap data format conversion.  But going
forward, there seems little reason to do that; if developers want to
put in multiple blank lines, let 'em.  This makes it conform to the
documentation I (tgl) wrote, too.

In passing, clean up some sloppy markup choices in bki.sgml.

John Naylor

Discussion: https://postgr.es/m/28827.1523039259@sss.pgh.pa.us

doc/src/sgml/bki.sgml
src/include/catalog/reformat_dat_file.pl

index c4ffc61b84b71066d3a170222082b104b6d1c04d..f7a323ef3450ce9ad54a81e33f820fa9e3489768 100644 (file)
   </para>
 
   <para>
-   Frontend code should not include any <structname>pg_xxx.h</structname>
+   Frontend code should not include any <filename>pg_xxx.h</filename>
    catalog header file, as these files may contain C code that won't compile
    outside the backend.  (Typically, that happens because these files also
    contain declarations for functions
    in <filename>src/backend/catalog/</filename> files.)
    Instead, frontend code may include the corresponding
-   generated <structname>pg_xxx_d.h</structname> header, which will contain
+   generated <filename>pg_xxx_d.h</filename> header, which will contain
    OID <literal>#define</literal>s and any other data that might be of use
    on the client side.  If you want macros or other code in a catalog header
    to be visible to frontend code, write <literal>#ifdef
    EXPOSE_TO_CLIENT_CODE</literal> ... <literal>#endif</literal> around that
    section to instruct <filename>genbki.pl</filename> to copy that section
-   to the <structname>pg_xxx_d.h</structname> header.
+   to the <filename>pg_xxx_d.h</filename> header.
   </para>
 
   <para>
       Use of symbolic references is enabled in a particular catalog column
       by attaching <literal>BKI_LOOKUP(<replaceable>lookuprule</replaceable>)</literal>
       to the column's definition, where <replaceable>lookuprule</replaceable>
-      is <structname>pg_am</structname>, <structname>pg_proc</structname>,
-      <structname>pg_operator</structname>,
-      <structname>pg_opclass</structname>,
-      <structname>pg_opfamily</structname>,
-      or <structname>pg_type</structname>.
+      is <literal>pg_am</literal>, <literal>pg_proc</literal>,
+      <literal>pg_operator</literal>, <literal>pg_opclass</literal>,
+      <literal>pg_opfamily</literal>, or <literal>pg_type</literal>.
       <literal>BKI_LOOKUP</literal> can be attached to columns of
       type <type>Oid</type>, <type>regproc</type>, <type>oidvector</type>,
       or <type>Oid[]</type>; in the latter two cases it implies performing a
index bbceb16b65dfbd0a2d6deb4c3dcc1876e95d2500..038ba7bb05ea056ea3d2f837465e9d4486b26a18 100644 (file)
@@ -7,8 +7,7 @@
 #
 #    Metadata entries (if any) come first, with normal attributes
 #    starting on the following line, in the same order they would be in
-#    the corresponding table. Comments and non-consecutive blank lines
-#    are preserved.
+#    the corresponding table. Comments and blank lines are preserved.
 #
 # Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
 # Portions Copyright (c) 1994, Regents of the University of California
@@ -109,7 +108,6 @@ foreach my $catname (@catnames)
        my $catalog = $catalogs{$catname};
        my @attnames;
        my $schema = $catalog->{columns};
-       my $prev_blank = 0;
 
        foreach my $column (@$schema)
        {
@@ -158,27 +156,22 @@ foreach my $catname (@catnames)
                        my $data_str = format_hash(\%values, @attnames);
                        print $dat $data_str;
                        print $dat " },\n";
-                       $prev_blank = 0;
                }
 
                # Strings -- handle accordingly or ignore. It was necessary to
                # ignore bare commas during the initial data conversion. This
                # should be a no-op now, but we may as well keep that behavior.
-               # Note: We don't update $prev_blank if we ignore a string.
 
-               # Preserve non-consecutive blank lines.
+               # Preserve blank lines.
                elsif ($data =~ /^\s*$/)
                {
-                       next if $prev_blank;
                        print $dat "\n";
-                       $prev_blank = 1;
                }
 
                # Preserve comments or brackets that are on their own line.
                elsif ($data =~ /^\s*(\[|\]|#.*?)\s*$/)
                {
                        print $dat "$1\n";
-                       $prev_blank = 0;
                }
        }
        close $dat;