diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2018-04-09 14:58:39 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2018-04-09 14:58:39 -0400 |
commit | 2cdf359fc4471c488fbb0dbd31678d78c3c1043b (patch) | |
tree | eceb2bcf0abc4198306b58b0ec100967c1565b8a | |
parent | af1a949109d8212711df943c053b1038c0afdae1 (diff) | |
download | postgresql-2cdf359fc4471c488fbb0dbd31678d78c3c1043b.tar.gz postgresql-2cdf359fc4471c488fbb0dbd31678d78c3c1043b.zip |
Make reformat_dat_file.pl preserve all blank lines.
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
-rw-r--r-- | doc/src/sgml/bki.sgml | 14 | ||||
-rw-r--r-- | src/include/catalog/reformat_dat_file.pl | 11 |
2 files changed, 8 insertions, 17 deletions
diff --git a/doc/src/sgml/bki.sgml b/doc/src/sgml/bki.sgml index c4ffc61b84b..f7a323ef345 100644 --- a/doc/src/sgml/bki.sgml +++ b/doc/src/sgml/bki.sgml @@ -129,19 +129,19 @@ </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> @@ -419,11 +419,9 @@ 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 diff --git a/src/include/catalog/reformat_dat_file.pl b/src/include/catalog/reformat_dat_file.pl index bbceb16b65d..038ba7bb05e 100644 --- a/src/include/catalog/reformat_dat_file.pl +++ b/src/include/catalog/reformat_dat_file.pl @@ -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; |