Move gramparse.h to src/backend/parser
authorJohn Naylor <john.naylor@postgresql.org>
Wed, 14 Sep 2022 03:41:44 +0000 (10:41 +0700)
committerJohn Naylor <john.naylor@postgresql.org>
Wed, 14 Sep 2022 03:57:13 +0000 (10:57 +0700)
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

src/backend/Makefile
src/backend/parser/gram.y
src/backend/parser/gramparse.h [moved from src/include/parser/gramparse.h with 97% similarity]
src/backend/parser/parser.c
src/backend/parser/scan.l
src/include/Makefile
src/include/parser/.gitignore [deleted file]
src/tools/msvc/Install.pm
src/tools/pginclude/cpluspluscheck
src/tools/pginclude/headerscheck

index d0d34821d52704022ca810bfbf6eafbbc08ae865..181c217fae4c86cc22a93861be713c33f7e9e44d 100644 (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` && \
index ea33784316df18c0d1618651197f91fb89e20801..82f03fc9c93f5ac21e3900737ca5a8b69699b7a2 100644 (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"
similarity index 97%
rename from src/include/parser/gramparse.h
rename to src/backend/parser/gramparse.h
index 41b753a96c62e3ac27e73123d321cca4341001c0..c4726c618df3a1ff9254a59569d2047972632d38 100644 (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
index 50227cc0989f4a2a9a318be020b8ba97945087bf..ef85d3bb68e4caf41115608199ab0fa6fe906335 100644 (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"
 
index 882e081aae2eb5739e57a48bf4d0ff6660b6a4a3..db8b0fe8ebcc52a0d1d58e4b4615ff8bb11e68e9 100644 (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"
index 1e5040061707624fdb73ecfb6fe0cb9e0fe37348..7472cd5e015aa0db60ad19a652694e0479918910 100644 (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
diff --git a/src/include/parser/.gitignore b/src/include/parser/.gitignore
deleted file mode 100644 (file)
index 19ea955..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/gram.h
index 5da299476eb0db86b2a503f2a2125f5287dc6819..e20661ba6e57b4a6448722a2d6642f9f24ce04af 100644 (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") ],
index c408647297bb36b0e74efc1b85fd3c959335f999..f0841fbc29335ea4cc70b8336eb9f1efd5b3c715 100755 (executable)
@@ -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
index 6f6f0b8bdafedb9f8335a3f40800e643016ca408..56c78b7cca066077bf05809e675e814081d096a6 100755 (executable)
@@ -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