Move gramparse.h to src/backend/parser

This header is semi-private, being used only in files related to
raw parsing, so move to the backend directory where those files
live. This allows removal of Makefile rules that symlink gram.h to
src/include/parser, since gramparse.h can now include gram.h from
within the same directory. This has the side-effect of no longer
installing gram.h and gramparse.h, but there doesn't seem to be a
good reason to continue doing so.

Per suggestion from Andres Freund and Peter Eisentraut
Discussion: https://www.postgresql.org/message-id/20220904181759.px6uosll6zbxcum5%40awork3.anarazel.de
This commit is contained in:
John Naylor 2022-09-14 10:41:44 +07:00
parent f352e2d08a
commit ecaf7c5df5
10 changed files with 8 additions and 20 deletions

View File

@ -153,12 +153,7 @@ submake-utils-headers:
.PHONY: generated-headers
generated-headers: $(top_builddir)/src/include/parser/gram.h $(top_builddir)/src/include/storage/lwlocknames.h submake-catalog-headers submake-nodes-headers submake-utils-headers
$(top_builddir)/src/include/parser/gram.h: parser/gram.h
prereqdir=`cd '$(dir $<)' >/dev/null && pwd` && \
cd '$(dir $@)' && rm -f $(notdir $@) && \
$(LN_S) "$$prereqdir/$(notdir $<)" .
generated-headers: $(top_builddir)/src/include/storage/lwlocknames.h submake-catalog-headers submake-nodes-headers submake-utils-headers
$(top_builddir)/src/include/storage/lwlocknames.h: storage/lmgr/lwlocknames.h
prereqdir=`cd '$(dir $<)' >/dev/null && pwd` && \

View File

@ -55,9 +55,9 @@
#include "catalog/pg_trigger.h"
#include "commands/defrem.h"
#include "commands/trigger.h"
#include "gramparse.h"
#include "nodes/makefuncs.h"
#include "nodes/nodeFuncs.h"
#include "parser/gramparse.h"
#include "parser/parser.h"
#include "storage/lmgr.h"
#include "utils/date.h"

View File

@ -11,7 +11,7 @@
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* src/include/parser/gramparse.h
* src/backend/parser/gramparse.h
*
*-------------------------------------------------------------------------
*/
@ -26,7 +26,7 @@
* NB: include gram.h only AFTER including scanner.h, because scanner.h
* is what #defines YYLTYPE.
*/
#include "parser/gram.h"
#include "gram.h"
/*
* The YY_EXTRA data that a flex scanner allows us to pass around. Private

View File

@ -22,7 +22,7 @@
#include "postgres.h"
#include "mb/pg_wchar.h"
#include "parser/gramparse.h"
#include "gramparse.h"
#include "parser/parser.h"
#include "parser/scansup.h"

View File

@ -36,7 +36,7 @@
#include <unistd.h>
#include "common/string.h"
#include "parser/gramparse.h"
#include "gramparse.h"
#include "parser/parser.h" /* only needed for GUC variables */
#include "parser/scansup.h"
#include "port/pg_bitutils.h"

View File

@ -53,7 +53,7 @@ install: all installdirs
$(INSTALL_DATA) $(srcdir)/$$dir/*.h '$(DESTDIR)$(includedir_server)'/$$dir || exit; \
done
ifeq ($(vpath_build),yes)
for file in catalog/schemapg.h catalog/system_fk_info.h catalog/pg_*_d.h parser/gram.h storage/lwlocknames.h utils/probes.h; do \
for file in catalog/schemapg.h catalog/system_fk_info.h catalog/pg_*_d.h storage/lwlocknames.h utils/probes.h; do \
$(INSTALL_DATA) $$file '$(DESTDIR)$(includedir_server)'/$$file || exit; \
done
endif
@ -72,7 +72,7 @@ uninstall:
clean:
rm -f utils/fmgroids.h utils/fmgrprotos.h utils/errcodes.h utils/header-stamp
rm -f parser/gram.h storage/lwlocknames.h utils/probes.h
rm -f storage/lwlocknames.h utils/probes.h
rm -f catalog/schemapg.h catalog/system_fk_info.h
rm -f catalog/pg_*_d.h catalog/header-stamp
rm -f nodes/nodetags.h nodes/header-stamp

View File

@ -1 +0,0 @@
/gram.h

View File

@ -618,10 +618,6 @@ sub CopyIncludeFiles
'Server headers',
$target . '/include/server/',
'src/include/', 'pg_config.h', 'pg_config_ext.h', 'pg_config_os.h');
CopyFiles(
'Grammar header',
$target . '/include/server/parser/',
'src/backend/parser/', 'gram.h');
CopySetOfFiles(
'',
[ glob("src\\include\\*.h") ],

View File

@ -125,7 +125,6 @@ do
test "$f" = contrib/cube/cubeparse.h && continue
test "$f" = contrib/seg/segparse.h && continue
test "$f" = src/backend/bootstrap/bootparse.h && continue
test "$f" = src/include/parser/gram.h && continue
test "$f" = src/backend/parser/gram.h && continue
test "$f" = src/backend/replication/repl_gram.h && continue
test "$f" = src/backend/replication/syncrep_gram.h && continue

View File

@ -120,7 +120,6 @@ do
test "$f" = contrib/cube/cubeparse.h && continue
test "$f" = contrib/seg/segparse.h && continue
test "$f" = src/backend/bootstrap/bootparse.h && continue
test "$f" = src/include/parser/gram.h && continue
test "$f" = src/backend/parser/gram.h && continue
test "$f" = src/backend/replication/repl_gram.h && continue
test "$f" = src/backend/replication/syncrep_gram.h && continue