From 05eb63286483bab94cc44f77124b98a25e8fdac7 Mon Sep 17 00:00:00 2001
From: "Thomas G. Lockhart" <lockhart@fourpalms.org>
Date: Mon, 1 Sep 1997 05:53:31 +0000
Subject: [PATCH] Add more reserved words, mostly for SQL92 compliance. Include
 reserved words for string handling, outer joins, and unions.

---
 src/backend/parser/keywords.c | 63 +++++++++++++++++++++++++----------
 1 file changed, 45 insertions(+), 18 deletions(-)

diff --git a/src/backend/parser/keywords.c b/src/backend/parser/keywords.c
index d2275f3789e..1d663b9c8a2 100644
--- a/src/backend/parser/keywords.c
+++ b/src/backend/parser/keywords.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.12 1997/08/22 14:33:21 vadim Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.13 1997/09/01 05:53:31 thomas Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -35,7 +35,7 @@ static ScanKeyword ScanKeywords[] = {
 	{ "acl",		ACL		},
 	{ "add",		ADD		},
 	{ "after",		AFTER		},
-	{ "aggregate",          AGGREGATE       },
+	{ "aggregate",		AGGREGATE	},
 	{ "all",		ALL		},
 	{ "alter",		ALTER		},
 	{ "analyze",		ANALYZE		},
@@ -44,13 +44,14 @@ static ScanKeyword ScanKeywords[] = {
 	{ "archIve",		ARCHIVE		},   /* XXX crooked: I < _ */
 	{ "arch_store",		ARCH_STORE	},
 	{ "archive",		ARCHIVE		},   /* XXX crooked: i > _ */
-        { "as",                 AS              },
-        { "asc",		ASC             },
+        { "as",                 AS		},
+        { "asc",		ASC		},
 	{ "backward",		BACKWARD	},
 	{ "before",		BEFORE		},
 	{ "begin",		BEGIN_TRANS	},
 	{ "between",		BETWEEN		},
 	{ "binary",		BINARY		},
+	{ "both",		BOTH		},
 	{ "by",			BY		},
 	{ "cast",		CAST		},
 	{ "change",		CHANGE		},
@@ -62,70 +63,89 @@ static ScanKeyword ScanKeywords[] = {
 	{ "constraint",		CONSTRAINT	},
 	{ "copy",		COPY		},
 	{ "create",		CREATE		},
+	{ "cross",		CROSS		},
 	{ "current",		CURRENT		},
 	{ "cursor",		CURSOR		},
 	{ "database",		DATABASE	},
+	{ "day",		DAYINTERVAL	},
 	{ "declare",		DECLARE		},
 	{ "default",		DEFAULT		},
 	{ "delete",		DELETE		},
-	{ "delimiters",         DELIMITERS      },
+	{ "delimiters",		DELIMITERS	},
 	{ "desc",		DESC		},
 	{ "distinct",		DISTINCT	},
 	{ "do",			DO		},
 	{ "drop",		DROP		},
 	{ "end",		END_TRANS	},
 	{ "execute",		EXECUTE		},
+	{ "exists",		EXISTS		},
 	{ "explain",		EXPLAIN		},
 	{ "extend",		EXTEND		},
+	{ "extract",		EXTRACT		},
 	{ "fetch",		FETCH		},
 	{ "for",		FOR		},
 	{ "forward",		FORWARD		},
 	{ "from",		FROM		},
+	{ "full",		FULL		},
 	{ "function",		FUNCTION	},
-	{ "grant",              GRANT           },
+	{ "grant",		GRANT		},
 	{ "group",		GROUP		},
 	{ "having",		HAVING		},
 	{ "heavy",		HEAVY		},
+	{ "hour",		HOURINTERVAL	},
 	{ "in",			IN		},
 	{ "index",		INDEX		},
 	{ "inherits",		INHERITS	},
+	{ "inner",		INNERJOIN	},
 	{ "insert",		INSERT		},
 	{ "instead",		INSTEAD		},
+	{ "interval",		INTERVAL	},
 	{ "into",		INTO		},
 	{ "is",			IS		},
-	{ "isnull",             ISNULL          },
+	{ "isnull",		ISNULL		},
+	{ "join",		JOIN		},
 	{ "language",		LANGUAGE	},
+	{ "leading",		LEADING		},
+	{ "left",		LEFT		},
 	{ "light",		LIGHT		},
 	{ "like",		LIKE		},
-	{ "listen",             LISTEN          },
-	{ "load",               LOAD            },
+	{ "listen",		LISTEN		},
+	{ "load",		LOAD		},
+	{ "local",		LOCAL		},
 	{ "merge",		MERGE		},
+	{ "minute",		MINUTEINTERVAL	},
+	{ "month",		MONTHINTERVAL	},
 	{ "move",		MOVE		},
+	{ "natural",		NATURAL		},
 	{ "new",		NEW		},
 	{ "none",		NONE		},
 	{ "not",		NOT		},
-	{ "nothing",            NOTHING         },
-	{ "notify",             NOTIFY          },
-	{ "notnull",            NOTNULL         },
+	{ "nothing",		NOTHING		},
+	{ "notify",		NOTIFY		},
+	{ "notnull",		NOTNULL		},
 	{ "null",		PNULL		},
 	{ "oids",		OIDS		},
 	{ "on",			ON		},
 	{ "operator",		OPERATOR	},
-        { "option",             OPTION          },
+        { "option",		OPTION		},
 	{ "or",			OR		},
 	{ "order",		ORDER		},
-        { "privileges",         PRIVILEGES      },
-	{ "public",             PUBLIC          },
+	{ "outer",		OUTERJOIN	},
+        { "position",		POSITION	},
+        { "privileges",		PRIVILEGES	},
+	{ "public",		PUBLIC		},
 	{ "purge",		PURGE		},
-	{ "recipe",             RECIPE          },
+	{ "recipe",		RECIPE		},
 	{ "rename",		RENAME		},
 	{ "replace",		REPLACE		},
 	{ "reset",		RESET		},
 	{ "retrieve",		RETRIEVE	},
 	{ "returns",		RETURNS		},
-        { "revoke",             REVOKE          },
+        { "revoke",		REVOKE		},
+        { "right",		RIGHT		},
 	{ "rollback",		ROLLBACK	},
 	{ "rule",		RULE		},
+	{ "second",		SECONDINTERVAL	},
 	{ "select",		SELECT		},
 	{ "sequence",		SEQUENCE	},
 	{ "set",		SET		},
@@ -134,11 +154,16 @@ static ScanKeyword ScanKeywords[] = {
 	{ "stdin",		STDIN		},
 	{ "stdout",		STDOUT		},
 	{ "store",		STORE		},
+	{ "substring",		SUBSTRING	},
 	{ "table",		TABLE		},
+	{ "time",		TIME		},
 	{ "to",			TO		},
 	{ "transaction",	TRANSACTION	},
+	{ "trailing",		TRAILING	},
+	{ "trim",		TRIM		},
 	{ "type",		P_TYPE		},
-	{ "unique",             UNIQUE          },
+	{ "union",		UNION		},
+	{ "unique",		UNIQUE		},
 	{ "update",		UPDATE		},
 	{ "using",		USING		},
 	{ "vacuum",		VACUUM		},
@@ -149,6 +174,8 @@ static ScanKeyword ScanKeywords[] = {
 	{ "where",		WHERE		},
 	{ "with",		WITH		},
 	{ "work",		WORK		},
+	{ "year",		YEARINTERVAL	},
+	{ "zone",		ZONE		},
 };
 
 ScanKeyword *
-- 
GitLab