aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/commands/proclang.c4
-rw-r--r--src/backend/commands/tablecmds.c3
-rw-r--r--src/backend/parser/gram.y9
-rw-r--r--src/backend/parser/keywords.c6
-rw-r--r--src/backend/parser/parse_utilcmd.c4
-rw-r--r--src/backend/parser/parser.c5
-rw-r--r--src/backend/parser/scan.l4
-rw-r--r--src/backend/utils/adt/ruleutils.c4
-rw-r--r--src/backend/utils/misc/guc.c4
-rw-r--r--src/include/parser/gramparse.h25
-rw-r--r--src/include/parser/parser.h26
-rw-r--r--src/pl/plpgsql/src/pl_comp.c3
12 files changed, 53 insertions, 44 deletions
diff --git a/src/backend/commands/proclang.c b/src/backend/commands/proclang.c
index afb61981cec..27af379d7e1 100644
--- a/src/backend/commands/proclang.c
+++ b/src/backend/commands/proclang.c
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/commands/proclang.c,v 1.85 2009/06/11 14:48:56 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/commands/proclang.c,v 1.86 2009/07/12 17:12:33 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -28,8 +28,8 @@
#include "commands/defrem.h"
#include "commands/proclang.h"
#include "miscadmin.h"
-#include "parser/gramparse.h"
#include "parser/parse_func.h"
+#include "parser/parser.h"
#include "utils/acl.h"
#include "utils/builtins.h"
#include "utils/fmgroids.h"
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c
index f22e7be5d88..846f34e19dd 100644
--- a/src/backend/commands/tablecmds.c
+++ b/src/backend/commands/tablecmds.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.288 2009/06/18 01:27:02 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.289 2009/07/12 17:12:33 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -51,7 +51,6 @@
#include "nodes/nodeFuncs.h"
#include "nodes/parsenodes.h"
#include "optimizer/clauses.h"
-#include "parser/gramparse.h"
#include "parser/parse_clause.h"
#include "parser/parse_coerce.h"
#include "parser/parse_expr.h"
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index 06499fa9bc9..dd71071efd0 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -4,14 +4,14 @@
/*-------------------------------------------------------------------------
*
* gram.y
- * POSTGRES SQL YACC rules/actions
+ * POSTGRESQL BISON rules/actions
*
* Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.666 2009/07/06 02:58:40 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.667 2009/07/12 17:12:33 tgl Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@@ -58,6 +58,7 @@
#include "nodes/makefuncs.h"
#include "nodes/nodeFuncs.h"
#include "parser/gramparse.h"
+#include "parser/parser.h"
#include "storage/lmgr.h"
#include "utils/date.h"
#include "utils/datetime.h"
@@ -6807,7 +6808,7 @@ opt_hold: /* EMPTY */ { $$ = 0; }
*
* There is an ambiguity when a sub-SELECT is within an a_expr and there
* are excess parentheses: do the parentheses belong to the sub-SELECT or
- * to the surrounding a_expr? We don't really care, but yacc wants to know.
+ * to the surrounding a_expr? We don't really care, but bison wants to know.
* To resolve the ambiguity, we are careful to define the grammar so that
* the decision is staved off as long as possible: as long as we can keep
* absorbing parentheses into the sub-SELECT, we will do so, and only when
@@ -8204,7 +8205,7 @@ a_expr: c_expr { $$ = $1; }
}
/*
* These operators must be called out explicitly in order to make use
- * of yacc/bison's automatic operator-precedence handling. All other
+ * of bison's automatic operator-precedence handling. All other
* operator names are handled by the generic productions using "Op",
* below; and all those operators will have the same precedence.
*
diff --git a/src/backend/parser/keywords.c b/src/backend/parser/keywords.c
index 0abd802fea8..05e7fb9ee5a 100644
--- a/src/backend/parser/keywords.c
+++ b/src/backend/parser/keywords.c
@@ -9,16 +9,14 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/parser/keywords.c,v 1.212 2009/03/08 16:53:30 alvherre Exp $
+ * $PostgreSQL: pgsql/src/backend/parser/keywords.c,v 1.213 2009/07/12 17:12:33 tgl Exp $
*
*-------------------------------------------------------------------------
*/
#include "postgres.h"
-#include "nodes/nodes.h"
-#include "nodes/parsenodes.h"
+#include "parser/gramparse.h"
#include "parser/keywords.h"
-#include "parser/gram.h"
#define PG_KEYWORD(a,b,c) {a,b,c},
diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c
index e5a3621cce6..0c93f58c173 100644
--- a/src/backend/parser/parse_utilcmd.c
+++ b/src/backend/parser/parse_utilcmd.c
@@ -19,7 +19,7 @@
* Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/backend/parser/parse_utilcmd.c,v 2.21 2009/06/11 14:49:00 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/parser/parse_utilcmd.c,v 2.22 2009/07/12 17:12:34 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -42,12 +42,12 @@
#include "nodes/makefuncs.h"
#include "nodes/nodeFuncs.h"
#include "parser/analyze.h"
-#include "parser/gramparse.h"
#include "parser/parse_clause.h"
#include "parser/parse_expr.h"
#include "parser/parse_relation.h"
#include "parser/parse_type.h"
#include "parser/parse_utilcmd.h"
+#include "parser/parser.h"
#include "rewrite/rewriteManip.h"
#include "utils/acl.h"
#include "utils/builtins.h"
diff --git a/src/backend/parser/parser.c b/src/backend/parser/parser.c
index ee77c38f86e..1e7f93af536 100644
--- a/src/backend/parser/parser.c
+++ b/src/backend/parser/parser.c
@@ -14,15 +14,14 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/parser/parser.c,v 1.78 2009/06/11 14:49:00 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/parser/parser.c,v 1.79 2009/07/12 17:12:34 tgl Exp $
*
*-------------------------------------------------------------------------
*/
#include "postgres.h"
-#include "parser/gramparse.h" /* required before parser/gram.h! */
-#include "parser/gram.h"
+#include "parser/gramparse.h"
#include "parser/parser.h"
diff --git a/src/backend/parser/scan.l b/src/backend/parser/scan.l
index 6e18a41db1e..1483627510f 100644
--- a/src/backend/parser/scan.l
+++ b/src/backend/parser/scan.l
@@ -24,7 +24,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/parser/scan.l,v 1.153 2009/05/05 21:09:23 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/parser/scan.l,v 1.154 2009/07/12 17:12:34 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -35,8 +35,6 @@
#include "parser/gramparse.h"
#include "parser/keywords.h"
-/* Not needed now that this file is compiled as part of gram.y */
-/* #include "parser/gram.h" */
#include "parser/scansup.h"
#include "mb/pg_wchar.h"
diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c
index f52bf8b5a12..6fdef41cc04 100644
--- a/src/backend/utils/adt/ruleutils.c
+++ b/src/backend/utils/adt/ruleutils.c
@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/utils/adt/ruleutils.c,v 1.300 2009/06/11 14:49:04 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/adt/ruleutils.c,v 1.301 2009/07/12 17:12:34 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -39,10 +39,10 @@
#include "nodes/nodeFuncs.h"
#include "optimizer/clauses.h"
#include "optimizer/tlist.h"
-#include "parser/gramparse.h"
#include "parser/keywords.h"
#include "parser/parse_func.h"
#include "parser/parse_oper.h"
+#include "parser/parser.h"
#include "parser/parsetree.h"
#include "rewrite/rewriteHandler.h"
#include "rewrite/rewriteManip.h"
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index 210bd6ba6a5..66fa7810ae5 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -10,7 +10,7 @@
* Written by Peter Eisentraut <peter_e@gmx.net>.
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.505 2009/06/11 14:49:06 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.506 2009/07/12 17:12:34 tgl Exp $
*
*--------------------------------------------------------------------
*/
@@ -44,10 +44,10 @@
#include "optimizer/geqo.h"
#include "optimizer/paths.h"
#include "optimizer/planmain.h"
-#include "parser/gramparse.h"
#include "parser/parse_expr.h"
#include "parser/parse_relation.h"
#include "parser/parse_type.h"
+#include "parser/parser.h"
#include "parser/scansup.h"
#include "pgstat.h"
#include "postmaster/autovacuum.h"
diff --git a/src/include/parser/gramparse.h b/src/include/parser/gramparse.h
index 86719855be8..31290a270c8 100644
--- a/src/include/parser/gramparse.h
+++ b/src/include/parser/gramparse.h
@@ -1,13 +1,17 @@
/*-------------------------------------------------------------------------
*
* gramparse.h
- * Declarations for routines exported from lexer and parser files.
+ * Shared definitions for the "raw" parser (flex and bison phases only)
+ *
+ * NOTE: this file is only meant to be included in the core parsing files,
+ * ie, parser.c, gram.y, scan.l, and keywords.c. Definitions that are needed
+ * outside the core parser should be in parser.h.
*
*
* Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/parser/gramparse.h,v 1.44 2009/06/11 14:49:11 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/parser/gramparse.h,v 1.45 2009/07/12 17:12:34 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -27,17 +31,10 @@
*/
#define YYLTYPE int
-typedef enum
-{
- BACKSLASH_QUOTE_OFF,
- BACKSLASH_QUOTE_ON,
- BACKSLASH_QUOTE_SAFE_ENCODING
-} BackslashQuoteType;
-
-/* GUC variables in scan.l (every one of these is a bad idea :-() */
-extern int backslash_quote;
-extern bool escape_string_warning;
-extern bool standard_conforming_strings;
+/*
+ * After defining YYLTYPE, it's safe to include gram.h.
+ */
+#include "parser/gram.h"
/* from parser.c */
@@ -53,7 +50,5 @@ extern void base_yyerror(const char *message);
/* from gram.y */
extern void parser_init(void);
extern int base_yyparse(void);
-extern List *SystemFuncName(char *name);
-extern TypeName *SystemTypeName(char *name);
#endif /* GRAMPARSE_H */
diff --git a/src/include/parser/parser.h b/src/include/parser/parser.h
index cbe879302fc..becc24a9a94 100644
--- a/src/include/parser/parser.h
+++ b/src/include/parser/parser.h
@@ -1,23 +1,43 @@
/*-------------------------------------------------------------------------
*
* parser.h
- * Definitions for the "raw" parser (lex and yacc phases only)
+ * Definitions for the "raw" parser (flex and bison phases only)
*
+ * This is the external API for the raw lexing/parsing functions.
*
* Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/parser/parser.h,v 1.25 2009/04/19 21:50:08 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/parser/parser.h,v 1.26 2009/07/12 17:12:34 tgl Exp $
*
*-------------------------------------------------------------------------
*/
#ifndef PARSER_H
#define PARSER_H
-#include "nodes/pg_list.h"
+#include "nodes/parsenodes.h"
+
+typedef enum
+{
+ BACKSLASH_QUOTE_OFF,
+ BACKSLASH_QUOTE_ON,
+ BACKSLASH_QUOTE_SAFE_ENCODING
+} BackslashQuoteType;
+
+/* GUC variables in scan.l (every one of these is a bad idea :-() */
+extern int backslash_quote;
+extern bool escape_string_warning;
+extern bool standard_conforming_strings;
+
+
+/* Primary entry points for the raw parsing functions */
extern List *raw_parser(const char *str);
extern char *pg_parse_string_token(const char *token);
+/* Utility functions exported by gram.y (perhaps these should be elsewhere) */
+extern List *SystemFuncName(char *name);
+extern TypeName *SystemTypeName(char *name);
+
#endif /* PARSER_H */
diff --git a/src/pl/plpgsql/src/pl_comp.c b/src/pl/plpgsql/src/pl_comp.c
index 659e797f2cc..1b501d52f16 100644
--- a/src/pl/plpgsql/src/pl_comp.c
+++ b/src/pl/plpgsql/src/pl_comp.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_comp.c,v 1.136 2009/06/11 14:49:14 momjian Exp $
+ * $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_comp.c,v 1.137 2009/07/12 17:12:34 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -28,7 +28,6 @@
#include "catalog/pg_type.h"
#include "funcapi.h"
#include "nodes/makefuncs.h"
-#include "parser/gramparse.h"
#include "parser/parse_type.h"
#include "tcop/tcopprot.h"
#include "utils/array.h"