From fbaac39256c63a6aeadd609f33b98cb264e6e532 Mon Sep 17 00:00:00 2001
From: Mark Dilger <mark.dilger@enterprisedb.com>
Date: Tue, 30 Jun 2020 11:49:07 -0700
Subject: [PATCH v1 2/2] Desupporting postfix operators.

This applies Tom's patch submitted to -hackers in message
https://www.postgresql.org/message-id/28461.1589932031%40sss.pgh.pa.us

By Tom's own admission, his patch only adjusted the grammar and not
the rest of the related issues in the code, so I have added in most
of what I think remains.

I still need to modify the docs to reflect that postfix operators
are no longer supported.

I still need to modify pg_upgrade to deal with existing postfix
operators.  What exactly should be done is not yet clear, as
dropping postfix operators from the catalogs seems the cleanest, but
not necessarily the most polite behavior in the case of user created
postfix operators that they might prefer to deal with without us
first nuking them.
---
 .../postgres_fdw/expected/postgres_fdw.out    |    8 +-
 contrib/postgres_fdw/sql/postgres_fdw.sql     |    2 +-
 src/backend/commands/operatorcmds.c           |   18 +-
 src/backend/parser/check_keywords.pl          |    1 +
 src/backend/parser/gram.y                     |   50 +-
 src/backend/utils/adt/misc.c                  |    4 +
 src/include/common/keywords.h                 |    7 +-
 src/include/parser/kwlist.h                   |   22 +-
 src/test/regress/expected/as.out              | 2310 ++++++++++-------
 src/test/regress/expected/create_operator.out |   20 +-
 src/test/regress/expected/numeric.out         |   27 +-
 src/test/regress/sql/create_operator.sql      |    2 +-
 src/test/regress/sql/numeric.sql              |   16 +-
 13 files changed, 1565 insertions(+), 922 deletions(-)

diff --git a/contrib/postgres_fdw/expected/postgres_fdw.out b/contrib/postgres_fdw/expected/postgres_fdw.out
index 82fc1290ef..4306ae31c9 100644
--- a/contrib/postgres_fdw/expected/postgres_fdw.out
+++ b/contrib/postgres_fdw/expected/postgres_fdw.out
@@ -653,12 +653,12 @@ EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM ft1 t1 WHERE c1 = -c1;          -- Op
    Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" = (- "C 1")))
 (3 rows)
 
-EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM ft1 t1 WHERE 1 = c1!;           -- OpExpr(r)
-                                                QUERY PLAN                                                
-----------------------------------------------------------------------------------------------------------
+EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM ft1 t1 WHERE 1 = !!c1;          -- OpExpr(r)
+                                                QUERY PLAN                                                 
+-----------------------------------------------------------------------------------------------------------
  Foreign Scan on public.ft1 t1
    Output: c1, c2, c3, c4, c5, c6, c7, c8
-   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE ((1::numeric = ("C 1" !)))
+   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE ((1::numeric = (!! "C 1")))
 (3 rows)
 
 EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM ft1 t1 WHERE (c1 IS NOT NULL) IS DISTINCT FROM (c1 IS NOT NULL); -- DistinctExpr
diff --git a/contrib/postgres_fdw/sql/postgres_fdw.sql b/contrib/postgres_fdw/sql/postgres_fdw.sql
index 83971665e3..a8e58a8f24 100644
--- a/contrib/postgres_fdw/sql/postgres_fdw.sql
+++ b/contrib/postgres_fdw/sql/postgres_fdw.sql
@@ -307,7 +307,7 @@ EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM ft1 t1 WHERE c1 IS NULL;        -- Nu
 EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM ft1 t1 WHERE c1 IS NOT NULL;    -- NullTest
 EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM ft1 t1 WHERE round(abs(c1), 0) = 1; -- FuncExpr
 EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM ft1 t1 WHERE c1 = -c1;          -- OpExpr(l)
-EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM ft1 t1 WHERE 1 = c1!;           -- OpExpr(r)
+EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM ft1 t1 WHERE 1 = !!c1;          -- OpExpr(r)
 EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM ft1 t1 WHERE (c1 IS NOT NULL) IS DISTINCT FROM (c1 IS NOT NULL); -- DistinctExpr
 EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM ft1 t1 WHERE c1 = ANY(ARRAY[c2, 1, c1 + 0]); -- ScalarArrayOpExpr
 EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM ft1 t1 WHERE c1 = (ARRAY[c1,c2,3])[1]; -- SubscriptingRef
diff --git a/src/backend/commands/operatorcmds.c b/src/backend/commands/operatorcmds.c
index 0a53e9b93e..cb7ffda4bd 100644
--- a/src/backend/commands/operatorcmds.c
+++ b/src/backend/commands/operatorcmds.c
@@ -168,10 +168,26 @@ DefineOperator(List *names, List *parameters)
 	if (typeName2)
 		typeId2 = typenameTypeId(NULL, typeName2);
 
+	/*
+	 * If neither argument is specified, do not mention postfix operator
+	 * discontinuation, as the user is unlikely to have meant to create a
+	 * postfix operator.  It is more likely they simply neglected to mention
+	 * the args.
+	 */
 	if (!OidIsValid(typeId1) && !OidIsValid(typeId2))
 		ereport(ERROR,
 				(errcode(ERRCODE_INVALID_FUNCTION_DEFINITION),
-				 errmsg("at least one of leftarg or rightarg must be specified")));
+				 errmsg("at least rightarg must be specified")));
+
+	/*
+	 * But if only the right arg is missing, they probably do intend to create
+	 * a postfix operator, so give them a hint about why that no longer works.
+	 */
+	if (!OidIsValid(typeId2))
+		ereport(ERROR,
+				(errcode(ERRCODE_INVALID_FUNCTION_DEFINITION),
+				 errmsg("rightarg must be specified"),
+				 errhint("postfix operator support has been discontinued")));
 
 	if (typeName1)
 	{
diff --git a/src/backend/parser/check_keywords.pl b/src/backend/parser/check_keywords.pl
index 702c97bba2..178f38ef6d 100644
--- a/src/backend/parser/check_keywords.pl
+++ b/src/backend/parser/check_keywords.pl
@@ -26,6 +26,7 @@ $\ = "\n";    # set output record separator
 
 my %keyword_categories;
 $keyword_categories{'unreserved_keyword'}     = 'UNRESERVED_KEYWORD';
+$keyword_categories{'non_label_keyword'}      = 'NON_LABEL_KEYWORD';
 $keyword_categories{'col_name_keyword'}       = 'COL_NAME_KEYWORD';
 $keyword_categories{'type_func_name_keyword'} = 'TYPE_FUNC_NAME_KEYWORD';
 $keyword_categories{'reserved_keyword'}       = 'RESERVED_KEYWORD';
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index 4ff35095b8..a11ebebe04 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -540,13 +540,14 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
 %type <str>		Sconst comment_text notify_payload
 %type <str>		RoleId opt_boolean_or_string
 %type <list>	var_list
-%type <str>		ColId ColLabel var_name type_function_name param_name
+%type <str>		ColId ColLabel BareColLabel
 %type <str>		NonReservedWord NonReservedWord_or_Sconst
+%type <str>		var_name type_function_name param_name
 %type <str>		createdb_opt_name
 %type <node>	var_value zone_value
 %type <rolespec> auth_ident RoleSpec opt_granted_by
 
-%type <keyword> unreserved_keyword type_func_name_keyword
+%type <keyword> unreserved_keyword non_label_keyword type_func_name_keyword
 %type <keyword> col_name_keyword reserved_keyword
 
 %type <node>	TableConstraint TableLikeClause
@@ -741,7 +742,6 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
 %nonassoc	'<' '>' '=' LESS_EQUALS GREATER_EQUALS NOT_EQUALS
 %nonassoc	BETWEEN IN_P LIKE ILIKE SIMILAR NOT_LA
 %nonassoc	ESCAPE			/* ESCAPE must be just above LIKE/ILIKE/SIMILAR */
-%left		POSTFIXOP		/* dummy for postfix Op rules */
 /*
  * To support target_el without AS, we must give IDENT an explicit priority
  * between POSTFIXOP and Op.  We can safely assign the same priority to
@@ -12989,8 +12989,6 @@ a_expr:		c_expr									{ $$ = $1; }
 				{ $$ = (Node *) makeA_Expr(AEXPR_OP, $2, $1, $3, @2); }
 			| qual_Op a_expr					%prec Op
 				{ $$ = (Node *) makeA_Expr(AEXPR_OP, $1, NULL, $2, @1); }
-			| a_expr qual_Op					%prec POSTFIXOP
-				{ $$ = (Node *) makeA_Expr(AEXPR_OP, $2, $1, NULL, @2); }
 
 			| a_expr AND a_expr
 				{ $$ = makeAndExpr($1, $3, @2); }
@@ -13404,8 +13402,6 @@ b_expr:		c_expr
 				{ $$ = (Node *) makeA_Expr(AEXPR_OP, $2, $1, $3, @2); }
 			| qual_Op b_expr					%prec Op
 				{ $$ = (Node *) makeA_Expr(AEXPR_OP, $1, NULL, $2, @1); }
-			| b_expr qual_Op					%prec POSTFIXOP
-				{ $$ = (Node *) makeA_Expr(AEXPR_OP, $2, $1, NULL, @2); }
 			| b_expr IS DISTINCT FROM b_expr		%prec IS
 				{
 					$$ = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", $1, $5, @2);
@@ -14667,7 +14663,7 @@ target_el:	a_expr AS ColLabel
 			 * as an infix expression, which we accomplish by assigning
 			 * IDENT a precedence higher than POSTFIXOP.
 			 */
-			| a_expr IDENT
+			| a_expr BareColLabel
 				{
 					$$ = makeNode(ResTarget);
 					$$->name = $2;
@@ -14977,6 +14973,7 @@ role_list:	RoleSpec
  */
 ColId:		IDENT									{ $$ = $1; }
 			| unreserved_keyword					{ $$ = pstrdup($1); }
+			| non_label_keyword						{ $$ = pstrdup($1); }
 			| col_name_keyword						{ $$ = pstrdup($1); }
 		;
 
@@ -14984,6 +14981,7 @@ ColId:		IDENT									{ $$ = $1; }
  */
 type_function_name:	IDENT							{ $$ = $1; }
 			| unreserved_keyword					{ $$ = pstrdup($1); }
+			| non_label_keyword						{ $$ = pstrdup($1); }
 			| type_func_name_keyword				{ $$ = pstrdup($1); }
 		;
 
@@ -14991,15 +14989,23 @@ type_function_name:	IDENT							{ $$ = $1; }
  */
 NonReservedWord:	IDENT							{ $$ = $1; }
 			| unreserved_keyword					{ $$ = pstrdup($1); }
+			| non_label_keyword						{ $$ = pstrdup($1); }
 			| col_name_keyword						{ $$ = pstrdup($1); }
 			| type_func_name_keyword				{ $$ = pstrdup($1); }
 		;
 
+/* Bare column label --- names that can be column labels without writing "AS".
+ */
+BareColLabel:	IDENT								{ $$ = $1; }
+			| unreserved_keyword					{ $$ = pstrdup($1); }
+		;
+
 /* Column label --- allowed labels in "AS" clauses.
  * This presently includes *all* Postgres keywords.
  */
 ColLabel:	IDENT									{ $$ = $1; }
 			| unreserved_keyword					{ $$ = pstrdup($1); }
+			| non_label_keyword						{ $$ = pstrdup($1); }
 			| col_name_keyword						{ $$ = pstrdup($1); }
 			| type_func_name_keyword				{ $$ = pstrdup($1); }
 			| reserved_keyword						{ $$ = pstrdup($1); }
@@ -15075,7 +15081,6 @@ unreserved_keyword:
 			| CYCLE
 			| DATA_P
 			| DATABASE
-			| DAY_P
 			| DEALLOCATE
 			| DECLARE
 			| DEFAULTS
@@ -15109,7 +15114,6 @@ unreserved_keyword:
 			| EXTENSION
 			| EXTERNAL
 			| FAMILY
-			| FILTER
 			| FIRST_P
 			| FOLLOWING
 			| FORCE
@@ -15123,7 +15127,6 @@ unreserved_keyword:
 			| HANDLER
 			| HEADER_P
 			| HOLD
-			| HOUR_P
 			| IDENTITY_P
 			| IF_P
 			| IMMEDIATE
@@ -15163,10 +15166,8 @@ unreserved_keyword:
 			| MATERIALIZED
 			| MAXVALUE
 			| METHOD
-			| MINUTE_P
 			| MINVALUE
 			| MODE
-			| MONTH_P
 			| MOVE
 			| NAME_P
 			| NAMES
@@ -15192,7 +15193,6 @@ unreserved_keyword:
 			| OPTIONS
 			| ORDINALITY
 			| OTHERS
-			| OVER
 			| OVERRIDING
 			| OWNED
 			| OWNER
@@ -15248,7 +15248,6 @@ unreserved_keyword:
 			| SCHEMAS
 			| SCROLL
 			| SEARCH
-			| SECOND_P
 			| SECURITY
 			| SEQUENCE
 			| SEQUENCES
@@ -15306,23 +15305,36 @@ unreserved_keyword:
 			| VALIDATE
 			| VALIDATOR
 			| VALUE_P
-			| VARYING
 			| VERSION_P
 			| VIEW
 			| VIEWS
 			| VOLATILE
 			| WHITESPACE_P
-			| WITHIN
-			| WITHOUT
 			| WORK
 			| WRAPPER
 			| WRITE
 			| XML_P
-			| YEAR_P
 			| YES_P
 			| ZONE
 		;
 
+/* "Non label" keywords --- cannot be a bare column label in a SELECT list
+ * (you have to write AS in front).  Otherwise usable for anything.
+ */
+non_label_keyword:
+			DAY_P
+			| FILTER
+			| HOUR_P
+			| MINUTE_P
+			| MONTH_P
+			| OVER
+			| SECOND_P
+			| VARYING
+			| WITHIN
+			| WITHOUT
+			| YEAR_P
+		;
+
 /* Column identifier --- keywords that can be column, table, etc names.
  *
  * Many of these keywords will in fact be recognized as type or function
diff --git a/src/backend/utils/adt/misc.c b/src/backend/utils/adt/misc.c
index ee340fb0f0..b6d0b83fdd 100644
--- a/src/backend/utils/adt/misc.c
+++ b/src/backend/utils/adt/misc.c
@@ -446,6 +446,10 @@ pg_get_keywords(PG_FUNCTION_ARGS)
 				values[1] = "U";
 				values[2] = _("unreserved");
 				break;
+			case NON_LABEL_KEYWORD:
+				values[1] = "N";
+				values[2] = _("unreserved (cannot be used as an implicit alias)");
+				break;
 			case COL_NAME_KEYWORD:
 				values[1] = "C";
 				values[2] = _("unreserved (cannot be function or type name)");
diff --git a/src/include/common/keywords.h b/src/include/common/keywords.h
index 257c050903..835126c599 100644
--- a/src/include/common/keywords.h
+++ b/src/include/common/keywords.h
@@ -18,9 +18,10 @@
 
 /* Keyword categories --- should match lists in gram.y */
 #define UNRESERVED_KEYWORD		0
-#define COL_NAME_KEYWORD		1
-#define TYPE_FUNC_NAME_KEYWORD	2
-#define RESERVED_KEYWORD		3
+#define NON_LABEL_KEYWORD		1
+#define COL_NAME_KEYWORD		2
+#define TYPE_FUNC_NAME_KEYWORD	3
+#define RESERVED_KEYWORD		4
 
 #ifndef FRONTEND
 extern PGDLLIMPORT const ScanKeywordList ScanKeywords;
diff --git a/src/include/parser/kwlist.h b/src/include/parser/kwlist.h
index 08f22ce211..7ab3d45fd3 100644
--- a/src/include/parser/kwlist.h
+++ b/src/include/parser/kwlist.h
@@ -114,7 +114,7 @@ PG_KEYWORD("cursor", CURSOR, UNRESERVED_KEYWORD)
 PG_KEYWORD("cycle", CYCLE, UNRESERVED_KEYWORD)
 PG_KEYWORD("data", DATA_P, UNRESERVED_KEYWORD)
 PG_KEYWORD("database", DATABASE, UNRESERVED_KEYWORD)
-PG_KEYWORD("day", DAY_P, UNRESERVED_KEYWORD)
+PG_KEYWORD("day", DAY_P, NON_LABEL_KEYWORD)
 PG_KEYWORD("deallocate", DEALLOCATE, UNRESERVED_KEYWORD)
 PG_KEYWORD("dec", DEC, COL_NAME_KEYWORD)
 PG_KEYWORD("decimal", DECIMAL_P, COL_NAME_KEYWORD)
@@ -162,7 +162,7 @@ PG_KEYWORD("extract", EXTRACT, COL_NAME_KEYWORD)
 PG_KEYWORD("false", FALSE_P, RESERVED_KEYWORD)
 PG_KEYWORD("family", FAMILY, UNRESERVED_KEYWORD)
 PG_KEYWORD("fetch", FETCH, RESERVED_KEYWORD)
-PG_KEYWORD("filter", FILTER, UNRESERVED_KEYWORD)
+PG_KEYWORD("filter", FILTER, NON_LABEL_KEYWORD)
 PG_KEYWORD("first", FIRST_P, UNRESERVED_KEYWORD)
 PG_KEYWORD("float", FLOAT_P, COL_NAME_KEYWORD)
 PG_KEYWORD("following", FOLLOWING, UNRESERVED_KEYWORD)
@@ -187,7 +187,7 @@ PG_KEYWORD("handler", HANDLER, UNRESERVED_KEYWORD)
 PG_KEYWORD("having", HAVING, RESERVED_KEYWORD)
 PG_KEYWORD("header", HEADER_P, UNRESERVED_KEYWORD)
 PG_KEYWORD("hold", HOLD, UNRESERVED_KEYWORD)
-PG_KEYWORD("hour", HOUR_P, UNRESERVED_KEYWORD)
+PG_KEYWORD("hour", HOUR_P, NON_LABEL_KEYWORD)
 PG_KEYWORD("identity", IDENTITY_P, UNRESERVED_KEYWORD)
 PG_KEYWORD("if", IF_P, UNRESERVED_KEYWORD)
 PG_KEYWORD("ilike", ILIKE, TYPE_FUNC_NAME_KEYWORD)
@@ -248,10 +248,10 @@ PG_KEYWORD("match", MATCH, UNRESERVED_KEYWORD)
 PG_KEYWORD("materialized", MATERIALIZED, UNRESERVED_KEYWORD)
 PG_KEYWORD("maxvalue", MAXVALUE, UNRESERVED_KEYWORD)
 PG_KEYWORD("method", METHOD, UNRESERVED_KEYWORD)
-PG_KEYWORD("minute", MINUTE_P, UNRESERVED_KEYWORD)
+PG_KEYWORD("minute", MINUTE_P, NON_LABEL_KEYWORD)
 PG_KEYWORD("minvalue", MINVALUE, UNRESERVED_KEYWORD)
 PG_KEYWORD("mode", MODE, UNRESERVED_KEYWORD)
-PG_KEYWORD("month", MONTH_P, UNRESERVED_KEYWORD)
+PG_KEYWORD("month", MONTH_P, NON_LABEL_KEYWORD)
 PG_KEYWORD("move", MOVE, UNRESERVED_KEYWORD)
 PG_KEYWORD("name", NAME_P, UNRESERVED_KEYWORD)
 PG_KEYWORD("names", NAMES, UNRESERVED_KEYWORD)
@@ -294,7 +294,7 @@ PG_KEYWORD("ordinality", ORDINALITY, UNRESERVED_KEYWORD)
 PG_KEYWORD("others", OTHERS, UNRESERVED_KEYWORD)
 PG_KEYWORD("out", OUT_P, COL_NAME_KEYWORD)
 PG_KEYWORD("outer", OUTER_P, TYPE_FUNC_NAME_KEYWORD)
-PG_KEYWORD("over", OVER, UNRESERVED_KEYWORD)
+PG_KEYWORD("over", OVER, NON_LABEL_KEYWORD)
 PG_KEYWORD("overlaps", OVERLAPS, TYPE_FUNC_NAME_KEYWORD)
 PG_KEYWORD("overlay", OVERLAY, COL_NAME_KEYWORD)
 PG_KEYWORD("overriding", OVERRIDING, UNRESERVED_KEYWORD)
@@ -361,7 +361,7 @@ PG_KEYWORD("schema", SCHEMA, UNRESERVED_KEYWORD)
 PG_KEYWORD("schemas", SCHEMAS, UNRESERVED_KEYWORD)
 PG_KEYWORD("scroll", SCROLL, UNRESERVED_KEYWORD)
 PG_KEYWORD("search", SEARCH, UNRESERVED_KEYWORD)
-PG_KEYWORD("second", SECOND_P, UNRESERVED_KEYWORD)
+PG_KEYWORD("second", SECOND_P, NON_LABEL_KEYWORD)
 PG_KEYWORD("security", SECURITY, UNRESERVED_KEYWORD)
 PG_KEYWORD("select", SELECT, RESERVED_KEYWORD)
 PG_KEYWORD("sequence", SEQUENCE, UNRESERVED_KEYWORD)
@@ -444,7 +444,7 @@ PG_KEYWORD("value", VALUE_P, UNRESERVED_KEYWORD)
 PG_KEYWORD("values", VALUES, COL_NAME_KEYWORD)
 PG_KEYWORD("varchar", VARCHAR, COL_NAME_KEYWORD)
 PG_KEYWORD("variadic", VARIADIC, RESERVED_KEYWORD)
-PG_KEYWORD("varying", VARYING, UNRESERVED_KEYWORD)
+PG_KEYWORD("varying", VARYING, NON_LABEL_KEYWORD)
 PG_KEYWORD("verbose", VERBOSE, TYPE_FUNC_NAME_KEYWORD)
 PG_KEYWORD("version", VERSION_P, UNRESERVED_KEYWORD)
 PG_KEYWORD("view", VIEW, UNRESERVED_KEYWORD)
@@ -455,8 +455,8 @@ PG_KEYWORD("where", WHERE, RESERVED_KEYWORD)
 PG_KEYWORD("whitespace", WHITESPACE_P, UNRESERVED_KEYWORD)
 PG_KEYWORD("window", WINDOW, RESERVED_KEYWORD)
 PG_KEYWORD("with", WITH, RESERVED_KEYWORD)
-PG_KEYWORD("within", WITHIN, UNRESERVED_KEYWORD)
-PG_KEYWORD("without", WITHOUT, UNRESERVED_KEYWORD)
+PG_KEYWORD("within", WITHIN, NON_LABEL_KEYWORD)
+PG_KEYWORD("without", WITHOUT, NON_LABEL_KEYWORD)
 PG_KEYWORD("work", WORK, UNRESERVED_KEYWORD)
 PG_KEYWORD("wrapper", WRAPPER, UNRESERVED_KEYWORD)
 PG_KEYWORD("write", WRITE, UNRESERVED_KEYWORD)
@@ -472,6 +472,6 @@ PG_KEYWORD("xmlpi", XMLPI, COL_NAME_KEYWORD)
 PG_KEYWORD("xmlroot", XMLROOT, COL_NAME_KEYWORD)
 PG_KEYWORD("xmlserialize", XMLSERIALIZE, COL_NAME_KEYWORD)
 PG_KEYWORD("xmltable", XMLTABLE, COL_NAME_KEYWORD)
-PG_KEYWORD("year", YEAR_P, UNRESERVED_KEYWORD)
+PG_KEYWORD("year", YEAR_P, NON_LABEL_KEYWORD)
 PG_KEYWORD("yes", YES_P, UNRESERVED_KEYWORD)
 PG_KEYWORD("zone", ZONE, UNRESERVED_KEYWORD)
diff --git a/src/test/regress/expected/as.out b/src/test/regress/expected/as.out
index 697bfb5ca4..31f1d87757 100644
--- a/src/test/regress/expected/as.out
+++ b/src/test/regress/expected/as.out
@@ -2268,9 +2268,11 @@ SELECT 1234 AS abort;
 (1 row)
 
 SELECT 1234 abort;
-ERROR:  syntax error at or near "abort"
-LINE 1: SELECT 1234 abort;
-                    ^
+ abort 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS absolute;
  absolute 
 ----------
@@ -2278,9 +2280,11 @@ SELECT 1234 AS absolute;
 (1 row)
 
 SELECT 1234 absolute;
-ERROR:  syntax error at or near "absolute"
-LINE 1: SELECT 1234 absolute;
-                    ^
+ absolute 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS access;
  access 
 --------
@@ -2288,9 +2292,11 @@ SELECT 1234 AS access;
 (1 row)
 
 SELECT 1234 access;
-ERROR:  syntax error at or near "access"
-LINE 1: SELECT 1234 access;
-                    ^
+ access 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS action;
  action 
 --------
@@ -2298,9 +2304,11 @@ SELECT 1234 AS action;
 (1 row)
 
 SELECT 1234 action;
-ERROR:  syntax error at or near "action"
-LINE 1: SELECT 1234 action;
-                    ^
+ action 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS add;
  add  
 ------
@@ -2308,9 +2316,11 @@ SELECT 1234 AS add;
 (1 row)
 
 SELECT 1234 add;
-ERROR:  syntax error at or near "add"
-LINE 1: SELECT 1234 add;
-                    ^
+ add  
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS admin;
  admin 
 -------
@@ -2318,9 +2328,11 @@ SELECT 1234 AS admin;
 (1 row)
 
 SELECT 1234 admin;
-ERROR:  syntax error at or near "admin"
-LINE 1: SELECT 1234 admin;
-                    ^
+ admin 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS after;
  after 
 -------
@@ -2328,9 +2340,11 @@ SELECT 1234 AS after;
 (1 row)
 
 SELECT 1234 after;
-ERROR:  syntax error at or near "after"
-LINE 1: SELECT 1234 after;
-                    ^
+ after 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS aggregate;
  aggregate 
 -----------
@@ -2338,9 +2352,11 @@ SELECT 1234 AS aggregate;
 (1 row)
 
 SELECT 1234 aggregate;
-ERROR:  syntax error at or near "aggregate"
-LINE 1: SELECT 1234 aggregate;
-                    ^
+ aggregate 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS also;
  also 
 ------
@@ -2348,9 +2364,11 @@ SELECT 1234 AS also;
 (1 row)
 
 SELECT 1234 also;
-ERROR:  syntax error at or near "also"
-LINE 1: SELECT 1234 also;
-                    ^
+ also 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS alter;
  alter 
 -------
@@ -2358,9 +2376,11 @@ SELECT 1234 AS alter;
 (1 row)
 
 SELECT 1234 alter;
-ERROR:  syntax error at or near "alter"
-LINE 1: SELECT 1234 alter;
-                    ^
+ alter 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS always;
  always 
 --------
@@ -2368,9 +2388,11 @@ SELECT 1234 AS always;
 (1 row)
 
 SELECT 1234 always;
-ERROR:  syntax error at or near "always"
-LINE 1: SELECT 1234 always;
-                    ^
+ always 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS assertion;
  assertion 
 -----------
@@ -2378,9 +2400,11 @@ SELECT 1234 AS assertion;
 (1 row)
 
 SELECT 1234 assertion;
-ERROR:  syntax error at or near "assertion"
-LINE 1: SELECT 1234 assertion;
-                    ^
+ assertion 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS assignment;
  assignment 
 ------------
@@ -2388,9 +2412,11 @@ SELECT 1234 AS assignment;
 (1 row)
 
 SELECT 1234 assignment;
-ERROR:  syntax error at or near "assignment"
-LINE 1: SELECT 1234 assignment;
-                    ^
+ assignment 
+------------
+       1234
+(1 row)
+
 SELECT 1234 AS at;
   at  
 ------
@@ -2398,9 +2424,11 @@ SELECT 1234 AS at;
 (1 row)
 
 SELECT 1234 at;
-ERROR:  syntax error at or near ";"
-LINE 1: SELECT 1234 at;
-                      ^
+  at  
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS attach;
  attach 
 --------
@@ -2408,9 +2436,11 @@ SELECT 1234 AS attach;
 (1 row)
 
 SELECT 1234 attach;
-ERROR:  syntax error at or near "attach"
-LINE 1: SELECT 1234 attach;
-                    ^
+ attach 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS attribute;
  attribute 
 -----------
@@ -2418,9 +2448,11 @@ SELECT 1234 AS attribute;
 (1 row)
 
 SELECT 1234 attribute;
-ERROR:  syntax error at or near "attribute"
-LINE 1: SELECT 1234 attribute;
-                    ^
+ attribute 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS backward;
  backward 
 ----------
@@ -2428,9 +2460,11 @@ SELECT 1234 AS backward;
 (1 row)
 
 SELECT 1234 backward;
-ERROR:  syntax error at or near "backward"
-LINE 1: SELECT 1234 backward;
-                    ^
+ backward 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS before;
  before 
 --------
@@ -2438,9 +2472,11 @@ SELECT 1234 AS before;
 (1 row)
 
 SELECT 1234 before;
-ERROR:  syntax error at or near "before"
-LINE 1: SELECT 1234 before;
-                    ^
+ before 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS begin;
  begin 
 -------
@@ -2448,9 +2484,11 @@ SELECT 1234 AS begin;
 (1 row)
 
 SELECT 1234 begin;
-ERROR:  syntax error at or near "begin"
-LINE 1: SELECT 1234 begin;
-                    ^
+ begin 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS by;
   by  
 ------
@@ -2458,9 +2496,11 @@ SELECT 1234 AS by;
 (1 row)
 
 SELECT 1234 by;
-ERROR:  syntax error at or near "by"
-LINE 1: SELECT 1234 by;
-                    ^
+  by  
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS cache;
  cache 
 -------
@@ -2468,9 +2508,11 @@ SELECT 1234 AS cache;
 (1 row)
 
 SELECT 1234 cache;
-ERROR:  syntax error at or near "cache"
-LINE 1: SELECT 1234 cache;
-                    ^
+ cache 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS call;
  call 
 ------
@@ -2478,9 +2520,11 @@ SELECT 1234 AS call;
 (1 row)
 
 SELECT 1234 call;
-ERROR:  syntax error at or near "call"
-LINE 1: SELECT 1234 call;
-                    ^
+ call 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS called;
  called 
 --------
@@ -2488,9 +2532,11 @@ SELECT 1234 AS called;
 (1 row)
 
 SELECT 1234 called;
-ERROR:  syntax error at or near "called"
-LINE 1: SELECT 1234 called;
-                    ^
+ called 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS cascade;
  cascade 
 ---------
@@ -2498,9 +2544,11 @@ SELECT 1234 AS cascade;
 (1 row)
 
 SELECT 1234 cascade;
-ERROR:  syntax error at or near "cascade"
-LINE 1: SELECT 1234 cascade;
-                    ^
+ cascade 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS cascaded;
  cascaded 
 ----------
@@ -2508,9 +2556,11 @@ SELECT 1234 AS cascaded;
 (1 row)
 
 SELECT 1234 cascaded;
-ERROR:  syntax error at or near "cascaded"
-LINE 1: SELECT 1234 cascaded;
-                    ^
+ cascaded 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS catalog;
  catalog 
 ---------
@@ -2518,9 +2568,11 @@ SELECT 1234 AS catalog;
 (1 row)
 
 SELECT 1234 catalog;
-ERROR:  syntax error at or near "catalog"
-LINE 1: SELECT 1234 catalog;
-                    ^
+ catalog 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS chain;
  chain 
 -------
@@ -2528,9 +2580,11 @@ SELECT 1234 AS chain;
 (1 row)
 
 SELECT 1234 chain;
-ERROR:  syntax error at or near "chain"
-LINE 1: SELECT 1234 chain;
-                    ^
+ chain 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS characteristics;
  characteristics 
 -----------------
@@ -2538,9 +2592,11 @@ SELECT 1234 AS characteristics;
 (1 row)
 
 SELECT 1234 characteristics;
-ERROR:  syntax error at or near "characteristics"
-LINE 1: SELECT 1234 characteristics;
-                    ^
+ characteristics 
+-----------------
+            1234
+(1 row)
+
 SELECT 1234 AS checkpoint;
  checkpoint 
 ------------
@@ -2548,9 +2604,11 @@ SELECT 1234 AS checkpoint;
 (1 row)
 
 SELECT 1234 checkpoint;
-ERROR:  syntax error at or near "checkpoint"
-LINE 1: SELECT 1234 checkpoint;
-                    ^
+ checkpoint 
+------------
+       1234
+(1 row)
+
 SELECT 1234 AS class;
  class 
 -------
@@ -2558,9 +2616,11 @@ SELECT 1234 AS class;
 (1 row)
 
 SELECT 1234 class;
-ERROR:  syntax error at or near "class"
-LINE 1: SELECT 1234 class;
-                    ^
+ class 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS close;
  close 
 -------
@@ -2568,9 +2628,11 @@ SELECT 1234 AS close;
 (1 row)
 
 SELECT 1234 close;
-ERROR:  syntax error at or near "close"
-LINE 1: SELECT 1234 close;
-                    ^
+ close 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS cluster;
  cluster 
 ---------
@@ -2578,9 +2640,11 @@ SELECT 1234 AS cluster;
 (1 row)
 
 SELECT 1234 cluster;
-ERROR:  syntax error at or near "cluster"
-LINE 1: SELECT 1234 cluster;
-                    ^
+ cluster 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS columns;
  columns 
 ---------
@@ -2588,9 +2652,11 @@ SELECT 1234 AS columns;
 (1 row)
 
 SELECT 1234 columns;
-ERROR:  syntax error at or near "columns"
-LINE 1: SELECT 1234 columns;
-                    ^
+ columns 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS comment;
  comment 
 ---------
@@ -2598,9 +2664,11 @@ SELECT 1234 AS comment;
 (1 row)
 
 SELECT 1234 comment;
-ERROR:  syntax error at or near "comment"
-LINE 1: SELECT 1234 comment;
-                    ^
+ comment 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS comments;
  comments 
 ----------
@@ -2608,9 +2676,11 @@ SELECT 1234 AS comments;
 (1 row)
 
 SELECT 1234 comments;
-ERROR:  syntax error at or near "comments"
-LINE 1: SELECT 1234 comments;
-                    ^
+ comments 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS commit;
  commit 
 --------
@@ -2618,9 +2688,11 @@ SELECT 1234 AS commit;
 (1 row)
 
 SELECT 1234 commit;
-ERROR:  syntax error at or near "commit"
-LINE 1: SELECT 1234 commit;
-                    ^
+ commit 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS committed;
  committed 
 -----------
@@ -2628,9 +2700,11 @@ SELECT 1234 AS committed;
 (1 row)
 
 SELECT 1234 committed;
-ERROR:  syntax error at or near "committed"
-LINE 1: SELECT 1234 committed;
-                    ^
+ committed 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS configuration;
  configuration 
 ---------------
@@ -2638,9 +2712,11 @@ SELECT 1234 AS configuration;
 (1 row)
 
 SELECT 1234 configuration;
-ERROR:  syntax error at or near "configuration"
-LINE 1: SELECT 1234 configuration;
-                    ^
+ configuration 
+---------------
+          1234
+(1 row)
+
 SELECT 1234 AS conflict;
  conflict 
 ----------
@@ -2648,9 +2724,11 @@ SELECT 1234 AS conflict;
 (1 row)
 
 SELECT 1234 conflict;
-ERROR:  syntax error at or near "conflict"
-LINE 1: SELECT 1234 conflict;
-                    ^
+ conflict 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS connection;
  connection 
 ------------
@@ -2658,9 +2736,11 @@ SELECT 1234 AS connection;
 (1 row)
 
 SELECT 1234 connection;
-ERROR:  syntax error at or near "connection"
-LINE 1: SELECT 1234 connection;
-                    ^
+ connection 
+------------
+       1234
+(1 row)
+
 SELECT 1234 AS constraints;
  constraints 
 -------------
@@ -2668,9 +2748,11 @@ SELECT 1234 AS constraints;
 (1 row)
 
 SELECT 1234 constraints;
-ERROR:  syntax error at or near "constraints"
-LINE 1: SELECT 1234 constraints;
-                    ^
+ constraints 
+-------------
+        1234
+(1 row)
+
 SELECT 1234 AS content;
  content 
 ---------
@@ -2678,9 +2760,11 @@ SELECT 1234 AS content;
 (1 row)
 
 SELECT 1234 content;
-ERROR:  syntax error at or near "content"
-LINE 1: SELECT 1234 content;
-                    ^
+ content 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS continue;
  continue 
 ----------
@@ -2688,9 +2772,11 @@ SELECT 1234 AS continue;
 (1 row)
 
 SELECT 1234 continue;
-ERROR:  syntax error at or near "continue"
-LINE 1: SELECT 1234 continue;
-                    ^
+ continue 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS conversion;
  conversion 
 ------------
@@ -2698,9 +2784,11 @@ SELECT 1234 AS conversion;
 (1 row)
 
 SELECT 1234 conversion;
-ERROR:  syntax error at or near "conversion"
-LINE 1: SELECT 1234 conversion;
-                    ^
+ conversion 
+------------
+       1234
+(1 row)
+
 SELECT 1234 AS copy;
  copy 
 ------
@@ -2708,9 +2796,11 @@ SELECT 1234 AS copy;
 (1 row)
 
 SELECT 1234 copy;
-ERROR:  syntax error at or near "copy"
-LINE 1: SELECT 1234 copy;
-                    ^
+ copy 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS cost;
  cost 
 ------
@@ -2718,9 +2808,11 @@ SELECT 1234 AS cost;
 (1 row)
 
 SELECT 1234 cost;
-ERROR:  syntax error at or near "cost"
-LINE 1: SELECT 1234 cost;
-                    ^
+ cost 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS csv;
  csv  
 ------
@@ -2728,9 +2820,11 @@ SELECT 1234 AS csv;
 (1 row)
 
 SELECT 1234 csv;
-ERROR:  syntax error at or near "csv"
-LINE 1: SELECT 1234 csv;
-                    ^
+ csv  
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS cube;
  cube 
 ------
@@ -2738,9 +2832,11 @@ SELECT 1234 AS cube;
 (1 row)
 
 SELECT 1234 cube;
-ERROR:  syntax error at or near "cube"
-LINE 1: SELECT 1234 cube;
-                    ^
+ cube 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS current;
  current 
 ---------
@@ -2748,9 +2844,11 @@ SELECT 1234 AS current;
 (1 row)
 
 SELECT 1234 current;
-ERROR:  syntax error at or near "current"
-LINE 1: SELECT 1234 current;
-                    ^
+ current 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS cursor;
  cursor 
 --------
@@ -2758,9 +2856,11 @@ SELECT 1234 AS cursor;
 (1 row)
 
 SELECT 1234 cursor;
-ERROR:  syntax error at or near "cursor"
-LINE 1: SELECT 1234 cursor;
-                    ^
+ cursor 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS cycle;
  cycle 
 -------
@@ -2768,9 +2868,11 @@ SELECT 1234 AS cycle;
 (1 row)
 
 SELECT 1234 cycle;
-ERROR:  syntax error at or near "cycle"
-LINE 1: SELECT 1234 cycle;
-                    ^
+ cycle 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS data;
  data 
 ------
@@ -2778,9 +2880,11 @@ SELECT 1234 AS data;
 (1 row)
 
 SELECT 1234 data;
-ERROR:  syntax error at or near "data"
-LINE 1: SELECT 1234 data;
-                    ^
+ data 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS database;
  database 
 ----------
@@ -2788,9 +2892,11 @@ SELECT 1234 AS database;
 (1 row)
 
 SELECT 1234 database;
-ERROR:  syntax error at or near "database"
-LINE 1: SELECT 1234 database;
-                    ^
+ database 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS day;
  day  
 ------
@@ -2808,9 +2914,11 @@ SELECT 1234 AS deallocate;
 (1 row)
 
 SELECT 1234 deallocate;
-ERROR:  syntax error at or near "deallocate"
-LINE 1: SELECT 1234 deallocate;
-                    ^
+ deallocate 
+------------
+       1234
+(1 row)
+
 SELECT 1234 AS declare;
  declare 
 ---------
@@ -2818,9 +2926,11 @@ SELECT 1234 AS declare;
 (1 row)
 
 SELECT 1234 declare;
-ERROR:  syntax error at or near "declare"
-LINE 1: SELECT 1234 declare;
-                    ^
+ declare 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS defaults;
  defaults 
 ----------
@@ -2828,9 +2938,11 @@ SELECT 1234 AS defaults;
 (1 row)
 
 SELECT 1234 defaults;
-ERROR:  syntax error at or near "defaults"
-LINE 1: SELECT 1234 defaults;
-                    ^
+ defaults 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS deferred;
  deferred 
 ----------
@@ -2838,9 +2950,11 @@ SELECT 1234 AS deferred;
 (1 row)
 
 SELECT 1234 deferred;
-ERROR:  syntax error at or near "deferred"
-LINE 1: SELECT 1234 deferred;
-                    ^
+ deferred 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS definer;
  definer 
 ---------
@@ -2848,9 +2962,11 @@ SELECT 1234 AS definer;
 (1 row)
 
 SELECT 1234 definer;
-ERROR:  syntax error at or near "definer"
-LINE 1: SELECT 1234 definer;
-                    ^
+ definer 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS delete;
  delete 
 --------
@@ -2858,9 +2974,11 @@ SELECT 1234 AS delete;
 (1 row)
 
 SELECT 1234 delete;
-ERROR:  syntax error at or near "delete"
-LINE 1: SELECT 1234 delete;
-                    ^
+ delete 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS delimiter;
  delimiter 
 -----------
@@ -2868,9 +2986,11 @@ SELECT 1234 AS delimiter;
 (1 row)
 
 SELECT 1234 delimiter;
-ERROR:  syntax error at or near "delimiter"
-LINE 1: SELECT 1234 delimiter;
-                    ^
+ delimiter 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS delimiters;
  delimiters 
 ------------
@@ -2878,9 +2998,11 @@ SELECT 1234 AS delimiters;
 (1 row)
 
 SELECT 1234 delimiters;
-ERROR:  syntax error at or near "delimiters"
-LINE 1: SELECT 1234 delimiters;
-                    ^
+ delimiters 
+------------
+       1234
+(1 row)
+
 SELECT 1234 AS depends;
  depends 
 ---------
@@ -2888,9 +3010,11 @@ SELECT 1234 AS depends;
 (1 row)
 
 SELECT 1234 depends;
-ERROR:  syntax error at or near "depends"
-LINE 1: SELECT 1234 depends;
-                    ^
+ depends 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS detach;
  detach 
 --------
@@ -2898,9 +3022,11 @@ SELECT 1234 AS detach;
 (1 row)
 
 SELECT 1234 detach;
-ERROR:  syntax error at or near "detach"
-LINE 1: SELECT 1234 detach;
-                    ^
+ detach 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS dictionary;
  dictionary 
 ------------
@@ -2908,9 +3034,11 @@ SELECT 1234 AS dictionary;
 (1 row)
 
 SELECT 1234 dictionary;
-ERROR:  syntax error at or near "dictionary"
-LINE 1: SELECT 1234 dictionary;
-                    ^
+ dictionary 
+------------
+       1234
+(1 row)
+
 SELECT 1234 AS disable;
  disable 
 ---------
@@ -2918,9 +3046,11 @@ SELECT 1234 AS disable;
 (1 row)
 
 SELECT 1234 disable;
-ERROR:  syntax error at or near "disable"
-LINE 1: SELECT 1234 disable;
-                    ^
+ disable 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS discard;
  discard 
 ---------
@@ -2928,9 +3058,11 @@ SELECT 1234 AS discard;
 (1 row)
 
 SELECT 1234 discard;
-ERROR:  syntax error at or near "discard"
-LINE 1: SELECT 1234 discard;
-                    ^
+ discard 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS document;
  document 
 ----------
@@ -2938,9 +3070,11 @@ SELECT 1234 AS document;
 (1 row)
 
 SELECT 1234 document;
-ERROR:  syntax error at or near "document"
-LINE 1: SELECT 1234 document;
-                    ^
+ document 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS domain;
  domain 
 --------
@@ -2948,9 +3082,11 @@ SELECT 1234 AS domain;
 (1 row)
 
 SELECT 1234 domain;
-ERROR:  syntax error at or near "domain"
-LINE 1: SELECT 1234 domain;
-                    ^
+ domain 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS double;
  double 
 --------
@@ -2958,9 +3094,11 @@ SELECT 1234 AS double;
 (1 row)
 
 SELECT 1234 double;
-ERROR:  syntax error at or near "double"
-LINE 1: SELECT 1234 double;
-                    ^
+ double 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS drop;
  drop 
 ------
@@ -2968,9 +3106,11 @@ SELECT 1234 AS drop;
 (1 row)
 
 SELECT 1234 drop;
-ERROR:  syntax error at or near "drop"
-LINE 1: SELECT 1234 drop;
-                    ^
+ drop 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS each;
  each 
 ------
@@ -2978,9 +3118,11 @@ SELECT 1234 AS each;
 (1 row)
 
 SELECT 1234 each;
-ERROR:  syntax error at or near "each"
-LINE 1: SELECT 1234 each;
-                    ^
+ each 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS enable;
  enable 
 --------
@@ -2988,9 +3130,11 @@ SELECT 1234 AS enable;
 (1 row)
 
 SELECT 1234 enable;
-ERROR:  syntax error at or near "enable"
-LINE 1: SELECT 1234 enable;
-                    ^
+ enable 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS encoding;
  encoding 
 ----------
@@ -2998,9 +3142,11 @@ SELECT 1234 AS encoding;
 (1 row)
 
 SELECT 1234 encoding;
-ERROR:  syntax error at or near "encoding"
-LINE 1: SELECT 1234 encoding;
-                    ^
+ encoding 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS encrypted;
  encrypted 
 -----------
@@ -3008,9 +3154,11 @@ SELECT 1234 AS encrypted;
 (1 row)
 
 SELECT 1234 encrypted;
-ERROR:  syntax error at or near "encrypted"
-LINE 1: SELECT 1234 encrypted;
-                    ^
+ encrypted 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS enum;
  enum 
 ------
@@ -3018,19 +3166,23 @@ SELECT 1234 AS enum;
 (1 row)
 
 SELECT 1234 enum;
-ERROR:  syntax error at or near "enum"
-LINE 1: SELECT 1234 enum;
-                    ^
+ enum 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS escape;
  escape 
 --------
    1234
 (1 row)
 
-SELECT 1234 escape;
-ERROR:  syntax error at or near "escape"
-LINE 1: SELECT 1234 escape;
-                    ^
+SELECT 1234 escape;
+ escape 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS event;
  event 
 -------
@@ -3038,9 +3190,11 @@ SELECT 1234 AS event;
 (1 row)
 
 SELECT 1234 event;
-ERROR:  syntax error at or near "event"
-LINE 1: SELECT 1234 event;
-                    ^
+ event 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS exclude;
  exclude 
 ---------
@@ -3048,9 +3202,11 @@ SELECT 1234 AS exclude;
 (1 row)
 
 SELECT 1234 exclude;
-ERROR:  syntax error at or near "exclude"
-LINE 1: SELECT 1234 exclude;
-                    ^
+ exclude 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS excluding;
  excluding 
 -----------
@@ -3058,9 +3214,11 @@ SELECT 1234 AS excluding;
 (1 row)
 
 SELECT 1234 excluding;
-ERROR:  syntax error at or near "excluding"
-LINE 1: SELECT 1234 excluding;
-                    ^
+ excluding 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS exclusive;
  exclusive 
 -----------
@@ -3068,9 +3226,11 @@ SELECT 1234 AS exclusive;
 (1 row)
 
 SELECT 1234 exclusive;
-ERROR:  syntax error at or near "exclusive"
-LINE 1: SELECT 1234 exclusive;
-                    ^
+ exclusive 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS execute;
  execute 
 ---------
@@ -3078,9 +3238,11 @@ SELECT 1234 AS execute;
 (1 row)
 
 SELECT 1234 execute;
-ERROR:  syntax error at or near "execute"
-LINE 1: SELECT 1234 execute;
-                    ^
+ execute 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS explain;
  explain 
 ---------
@@ -3088,9 +3250,11 @@ SELECT 1234 AS explain;
 (1 row)
 
 SELECT 1234 explain;
-ERROR:  syntax error at or near "explain"
-LINE 1: SELECT 1234 explain;
-                    ^
+ explain 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS expression;
  expression 
 ------------
@@ -3098,9 +3262,11 @@ SELECT 1234 AS expression;
 (1 row)
 
 SELECT 1234 expression;
-ERROR:  syntax error at or near "expression"
-LINE 1: SELECT 1234 expression;
-                    ^
+ expression 
+------------
+       1234
+(1 row)
+
 SELECT 1234 AS extension;
  extension 
 -----------
@@ -3108,9 +3274,11 @@ SELECT 1234 AS extension;
 (1 row)
 
 SELECT 1234 extension;
-ERROR:  syntax error at or near "extension"
-LINE 1: SELECT 1234 extension;
-                    ^
+ extension 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS external;
  external 
 ----------
@@ -3118,9 +3286,11 @@ SELECT 1234 AS external;
 (1 row)
 
 SELECT 1234 external;
-ERROR:  syntax error at or near "external"
-LINE 1: SELECT 1234 external;
-                    ^
+ external 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS family;
  family 
 --------
@@ -3128,9 +3298,11 @@ SELECT 1234 AS family;
 (1 row)
 
 SELECT 1234 family;
-ERROR:  syntax error at or near "family"
-LINE 1: SELECT 1234 family;
-                    ^
+ family 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS filter;
  filter 
 --------
@@ -3148,9 +3320,11 @@ SELECT 1234 AS first;
 (1 row)
 
 SELECT 1234 first;
-ERROR:  syntax error at or near "first"
-LINE 1: SELECT 1234 first;
-                    ^
+ first 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS following;
  following 
 -----------
@@ -3158,9 +3332,11 @@ SELECT 1234 AS following;
 (1 row)
 
 SELECT 1234 following;
-ERROR:  syntax error at or near "following"
-LINE 1: SELECT 1234 following;
-                    ^
+ following 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS force;
  force 
 -------
@@ -3168,9 +3344,11 @@ SELECT 1234 AS force;
 (1 row)
 
 SELECT 1234 force;
-ERROR:  syntax error at or near "force"
-LINE 1: SELECT 1234 force;
-                    ^
+ force 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS forward;
  forward 
 ---------
@@ -3178,9 +3356,11 @@ SELECT 1234 AS forward;
 (1 row)
 
 SELECT 1234 forward;
-ERROR:  syntax error at or near "forward"
-LINE 1: SELECT 1234 forward;
-                    ^
+ forward 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS function;
  function 
 ----------
@@ -3188,9 +3368,11 @@ SELECT 1234 AS function;
 (1 row)
 
 SELECT 1234 function;
-ERROR:  syntax error at or near "function"
-LINE 1: SELECT 1234 function;
-                    ^
+ function 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS functions;
  functions 
 -----------
@@ -3198,9 +3380,11 @@ SELECT 1234 AS functions;
 (1 row)
 
 SELECT 1234 functions;
-ERROR:  syntax error at or near "functions"
-LINE 1: SELECT 1234 functions;
-                    ^
+ functions 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS generated;
  generated 
 -----------
@@ -3208,9 +3392,11 @@ SELECT 1234 AS generated;
 (1 row)
 
 SELECT 1234 generated;
-ERROR:  syntax error at or near "generated"
-LINE 1: SELECT 1234 generated;
-                    ^
+ generated 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS global;
  global 
 --------
@@ -3218,9 +3404,11 @@ SELECT 1234 AS global;
 (1 row)
 
 SELECT 1234 global;
-ERROR:  syntax error at or near "global"
-LINE 1: SELECT 1234 global;
-                    ^
+ global 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS granted;
  granted 
 ---------
@@ -3228,9 +3416,11 @@ SELECT 1234 AS granted;
 (1 row)
 
 SELECT 1234 granted;
-ERROR:  syntax error at or near "granted"
-LINE 1: SELECT 1234 granted;
-                    ^
+ granted 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS groups;
  groups 
 --------
@@ -3238,9 +3428,11 @@ SELECT 1234 AS groups;
 (1 row)
 
 SELECT 1234 groups;
-ERROR:  syntax error at or near "groups"
-LINE 1: SELECT 1234 groups;
-                    ^
+ groups 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS handler;
  handler 
 ---------
@@ -3248,9 +3440,11 @@ SELECT 1234 AS handler;
 (1 row)
 
 SELECT 1234 handler;
-ERROR:  syntax error at or near "handler"
-LINE 1: SELECT 1234 handler;
-                    ^
+ handler 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS header;
  header 
 --------
@@ -3258,9 +3452,11 @@ SELECT 1234 AS header;
 (1 row)
 
 SELECT 1234 header;
-ERROR:  syntax error at or near "header"
-LINE 1: SELECT 1234 header;
-                    ^
+ header 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS hold;
  hold 
 ------
@@ -3268,9 +3464,11 @@ SELECT 1234 AS hold;
 (1 row)
 
 SELECT 1234 hold;
-ERROR:  syntax error at or near "hold"
-LINE 1: SELECT 1234 hold;
-                    ^
+ hold 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS hour;
  hour 
 ------
@@ -3288,9 +3486,11 @@ SELECT 1234 AS identity;
 (1 row)
 
 SELECT 1234 identity;
-ERROR:  syntax error at or near "identity"
-LINE 1: SELECT 1234 identity;
-                    ^
+ identity 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS if;
   if  
 ------
@@ -3298,9 +3498,11 @@ SELECT 1234 AS if;
 (1 row)
 
 SELECT 1234 if;
-ERROR:  syntax error at or near "if"
-LINE 1: SELECT 1234 if;
-                    ^
+  if  
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS immediate;
  immediate 
 -----------
@@ -3308,9 +3510,11 @@ SELECT 1234 AS immediate;
 (1 row)
 
 SELECT 1234 immediate;
-ERROR:  syntax error at or near "immediate"
-LINE 1: SELECT 1234 immediate;
-                    ^
+ immediate 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS immutable;
  immutable 
 -----------
@@ -3318,9 +3522,11 @@ SELECT 1234 AS immutable;
 (1 row)
 
 SELECT 1234 immutable;
-ERROR:  syntax error at or near "immutable"
-LINE 1: SELECT 1234 immutable;
-                    ^
+ immutable 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS implicit;
  implicit 
 ----------
@@ -3328,9 +3534,11 @@ SELECT 1234 AS implicit;
 (1 row)
 
 SELECT 1234 implicit;
-ERROR:  syntax error at or near "implicit"
-LINE 1: SELECT 1234 implicit;
-                    ^
+ implicit 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS import;
  import 
 --------
@@ -3338,9 +3546,11 @@ SELECT 1234 AS import;
 (1 row)
 
 SELECT 1234 import;
-ERROR:  syntax error at or near "import"
-LINE 1: SELECT 1234 import;
-                    ^
+ import 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS include;
  include 
 ---------
@@ -3348,9 +3558,11 @@ SELECT 1234 AS include;
 (1 row)
 
 SELECT 1234 include;
-ERROR:  syntax error at or near "include"
-LINE 1: SELECT 1234 include;
-                    ^
+ include 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS including;
  including 
 -----------
@@ -3358,9 +3570,11 @@ SELECT 1234 AS including;
 (1 row)
 
 SELECT 1234 including;
-ERROR:  syntax error at or near "including"
-LINE 1: SELECT 1234 including;
-                    ^
+ including 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS increment;
  increment 
 -----------
@@ -3368,9 +3582,11 @@ SELECT 1234 AS increment;
 (1 row)
 
 SELECT 1234 increment;
-ERROR:  syntax error at or near "increment"
-LINE 1: SELECT 1234 increment;
-                    ^
+ increment 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS index;
  index 
 -------
@@ -3378,9 +3594,11 @@ SELECT 1234 AS index;
 (1 row)
 
 SELECT 1234 index;
-ERROR:  syntax error at or near "index"
-LINE 1: SELECT 1234 index;
-                    ^
+ index 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS indexes;
  indexes 
 ---------
@@ -3388,9 +3606,11 @@ SELECT 1234 AS indexes;
 (1 row)
 
 SELECT 1234 indexes;
-ERROR:  syntax error at or near "indexes"
-LINE 1: SELECT 1234 indexes;
-                    ^
+ indexes 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS inherit;
  inherit 
 ---------
@@ -3398,9 +3618,11 @@ SELECT 1234 AS inherit;
 (1 row)
 
 SELECT 1234 inherit;
-ERROR:  syntax error at or near "inherit"
-LINE 1: SELECT 1234 inherit;
-                    ^
+ inherit 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS inherits;
  inherits 
 ----------
@@ -3408,9 +3630,11 @@ SELECT 1234 AS inherits;
 (1 row)
 
 SELECT 1234 inherits;
-ERROR:  syntax error at or near "inherits"
-LINE 1: SELECT 1234 inherits;
-                    ^
+ inherits 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS inline;
  inline 
 --------
@@ -3418,9 +3642,11 @@ SELECT 1234 AS inline;
 (1 row)
 
 SELECT 1234 inline;
-ERROR:  syntax error at or near "inline"
-LINE 1: SELECT 1234 inline;
-                    ^
+ inline 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS input;
  input 
 -------
@@ -3428,9 +3654,11 @@ SELECT 1234 AS input;
 (1 row)
 
 SELECT 1234 input;
-ERROR:  syntax error at or near "input"
-LINE 1: SELECT 1234 input;
-                    ^
+ input 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS insensitive;
  insensitive 
 -------------
@@ -3438,9 +3666,11 @@ SELECT 1234 AS insensitive;
 (1 row)
 
 SELECT 1234 insensitive;
-ERROR:  syntax error at or near "insensitive"
-LINE 1: SELECT 1234 insensitive;
-                    ^
+ insensitive 
+-------------
+        1234
+(1 row)
+
 SELECT 1234 AS insert;
  insert 
 --------
@@ -3448,9 +3678,11 @@ SELECT 1234 AS insert;
 (1 row)
 
 SELECT 1234 insert;
-ERROR:  syntax error at or near "insert"
-LINE 1: SELECT 1234 insert;
-                    ^
+ insert 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS instead;
  instead 
 ---------
@@ -3458,9 +3690,11 @@ SELECT 1234 AS instead;
 (1 row)
 
 SELECT 1234 instead;
-ERROR:  syntax error at or near "instead"
-LINE 1: SELECT 1234 instead;
-                    ^
+ instead 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS invoker;
  invoker 
 ---------
@@ -3468,9 +3702,11 @@ SELECT 1234 AS invoker;
 (1 row)
 
 SELECT 1234 invoker;
-ERROR:  syntax error at or near "invoker"
-LINE 1: SELECT 1234 invoker;
-                    ^
+ invoker 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS isolation;
  isolation 
 -----------
@@ -3478,9 +3714,11 @@ SELECT 1234 AS isolation;
 (1 row)
 
 SELECT 1234 isolation;
-ERROR:  syntax error at or near "isolation"
-LINE 1: SELECT 1234 isolation;
-                    ^
+ isolation 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS key;
  key  
 ------
@@ -3488,9 +3726,11 @@ SELECT 1234 AS key;
 (1 row)
 
 SELECT 1234 key;
-ERROR:  syntax error at or near "key"
-LINE 1: SELECT 1234 key;
-                    ^
+ key  
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS label;
  label 
 -------
@@ -3498,9 +3738,11 @@ SELECT 1234 AS label;
 (1 row)
 
 SELECT 1234 label;
-ERROR:  syntax error at or near "label"
-LINE 1: SELECT 1234 label;
-                    ^
+ label 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS language;
  language 
 ----------
@@ -3508,9 +3750,11 @@ SELECT 1234 AS language;
 (1 row)
 
 SELECT 1234 language;
-ERROR:  syntax error at or near "language"
-LINE 1: SELECT 1234 language;
-                    ^
+ language 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS large;
  large 
 -------
@@ -3518,9 +3762,11 @@ SELECT 1234 AS large;
 (1 row)
 
 SELECT 1234 large;
-ERROR:  syntax error at or near "large"
-LINE 1: SELECT 1234 large;
-                    ^
+ large 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS last;
  last 
 ------
@@ -3528,9 +3774,11 @@ SELECT 1234 AS last;
 (1 row)
 
 SELECT 1234 last;
-ERROR:  syntax error at or near "last"
-LINE 1: SELECT 1234 last;
-                    ^
+ last 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS leakproof;
  leakproof 
 -----------
@@ -3538,9 +3786,11 @@ SELECT 1234 AS leakproof;
 (1 row)
 
 SELECT 1234 leakproof;
-ERROR:  syntax error at or near "leakproof"
-LINE 1: SELECT 1234 leakproof;
-                    ^
+ leakproof 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS level;
  level 
 -------
@@ -3548,9 +3798,11 @@ SELECT 1234 AS level;
 (1 row)
 
 SELECT 1234 level;
-ERROR:  syntax error at or near "level"
-LINE 1: SELECT 1234 level;
-                    ^
+ level 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS listen;
  listen 
 --------
@@ -3558,9 +3810,11 @@ SELECT 1234 AS listen;
 (1 row)
 
 SELECT 1234 listen;
-ERROR:  syntax error at or near "listen"
-LINE 1: SELECT 1234 listen;
-                    ^
+ listen 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS load;
  load 
 ------
@@ -3568,9 +3822,11 @@ SELECT 1234 AS load;
 (1 row)
 
 SELECT 1234 load;
-ERROR:  syntax error at or near "load"
-LINE 1: SELECT 1234 load;
-                    ^
+ load 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS local;
  local 
 -------
@@ -3578,9 +3834,11 @@ SELECT 1234 AS local;
 (1 row)
 
 SELECT 1234 local;
-ERROR:  syntax error at or near "local"
-LINE 1: SELECT 1234 local;
-                    ^
+ local 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS location;
  location 
 ----------
@@ -3588,9 +3846,11 @@ SELECT 1234 AS location;
 (1 row)
 
 SELECT 1234 location;
-ERROR:  syntax error at or near "location"
-LINE 1: SELECT 1234 location;
-                    ^
+ location 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS lock;
  lock 
 ------
@@ -3598,9 +3858,11 @@ SELECT 1234 AS lock;
 (1 row)
 
 SELECT 1234 lock;
-ERROR:  syntax error at or near "lock"
-LINE 1: SELECT 1234 lock;
-                    ^
+ lock 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS locked;
  locked 
 --------
@@ -3608,9 +3870,11 @@ SELECT 1234 AS locked;
 (1 row)
 
 SELECT 1234 locked;
-ERROR:  syntax error at or near "locked"
-LINE 1: SELECT 1234 locked;
-                    ^
+ locked 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS logged;
  logged 
 --------
@@ -3618,9 +3882,11 @@ SELECT 1234 AS logged;
 (1 row)
 
 SELECT 1234 logged;
-ERROR:  syntax error at or near "logged"
-LINE 1: SELECT 1234 logged;
-                    ^
+ logged 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS mapping;
  mapping 
 ---------
@@ -3628,9 +3894,11 @@ SELECT 1234 AS mapping;
 (1 row)
 
 SELECT 1234 mapping;
-ERROR:  syntax error at or near "mapping"
-LINE 1: SELECT 1234 mapping;
-                    ^
+ mapping 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS match;
  match 
 -------
@@ -3638,9 +3906,11 @@ SELECT 1234 AS match;
 (1 row)
 
 SELECT 1234 match;
-ERROR:  syntax error at or near "match"
-LINE 1: SELECT 1234 match;
-                    ^
+ match 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS materialized;
  materialized 
 --------------
@@ -3648,9 +3918,11 @@ SELECT 1234 AS materialized;
 (1 row)
 
 SELECT 1234 materialized;
-ERROR:  syntax error at or near "materialized"
-LINE 1: SELECT 1234 materialized;
-                    ^
+ materialized 
+--------------
+         1234
+(1 row)
+
 SELECT 1234 AS maxvalue;
  maxvalue 
 ----------
@@ -3658,9 +3930,11 @@ SELECT 1234 AS maxvalue;
 (1 row)
 
 SELECT 1234 maxvalue;
-ERROR:  syntax error at or near "maxvalue"
-LINE 1: SELECT 1234 maxvalue;
-                    ^
+ maxvalue 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS method;
  method 
 --------
@@ -3668,9 +3942,11 @@ SELECT 1234 AS method;
 (1 row)
 
 SELECT 1234 method;
-ERROR:  syntax error at or near "method"
-LINE 1: SELECT 1234 method;
-                    ^
+ method 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS minute;
  minute 
 --------
@@ -3688,9 +3964,11 @@ SELECT 1234 AS minvalue;
 (1 row)
 
 SELECT 1234 minvalue;
-ERROR:  syntax error at or near "minvalue"
-LINE 1: SELECT 1234 minvalue;
-                    ^
+ minvalue 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS mode;
  mode 
 ------
@@ -3698,9 +3976,11 @@ SELECT 1234 AS mode;
 (1 row)
 
 SELECT 1234 mode;
-ERROR:  syntax error at or near "mode"
-LINE 1: SELECT 1234 mode;
-                    ^
+ mode 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS month;
  month 
 -------
@@ -3718,9 +3998,11 @@ SELECT 1234 AS move;
 (1 row)
 
 SELECT 1234 move;
-ERROR:  syntax error at or near "move"
-LINE 1: SELECT 1234 move;
-                    ^
+ move 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS name;
  name 
 ------
@@ -3728,9 +4010,11 @@ SELECT 1234 AS name;
 (1 row)
 
 SELECT 1234 name;
-ERROR:  syntax error at or near "name"
-LINE 1: SELECT 1234 name;
-                    ^
+ name 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS names;
  names 
 -------
@@ -3738,9 +4022,11 @@ SELECT 1234 AS names;
 (1 row)
 
 SELECT 1234 names;
-ERROR:  syntax error at or near "names"
-LINE 1: SELECT 1234 names;
-                    ^
+ names 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS new;
  new  
 ------
@@ -3748,9 +4034,11 @@ SELECT 1234 AS new;
 (1 row)
 
 SELECT 1234 new;
-ERROR:  syntax error at or near "new"
-LINE 1: SELECT 1234 new;
-                    ^
+ new  
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS next;
  next 
 ------
@@ -3758,9 +4046,11 @@ SELECT 1234 AS next;
 (1 row)
 
 SELECT 1234 next;
-ERROR:  syntax error at or near "next"
-LINE 1: SELECT 1234 next;
-                    ^
+ next 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS nfc;
  nfc  
 ------
@@ -3768,9 +4058,11 @@ SELECT 1234 AS nfc;
 (1 row)
 
 SELECT 1234 nfc;
-ERROR:  syntax error at or near "nfc"
-LINE 1: SELECT 1234 nfc;
-                    ^
+ nfc  
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS nfd;
  nfd  
 ------
@@ -3778,9 +4070,11 @@ SELECT 1234 AS nfd;
 (1 row)
 
 SELECT 1234 nfd;
-ERROR:  syntax error at or near "nfd"
-LINE 1: SELECT 1234 nfd;
-                    ^
+ nfd  
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS nfkc;
  nfkc 
 ------
@@ -3788,9 +4082,11 @@ SELECT 1234 AS nfkc;
 (1 row)
 
 SELECT 1234 nfkc;
-ERROR:  syntax error at or near "nfkc"
-LINE 1: SELECT 1234 nfkc;
-                    ^
+ nfkc 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS nfkd;
  nfkd 
 ------
@@ -3798,9 +4094,11 @@ SELECT 1234 AS nfkd;
 (1 row)
 
 SELECT 1234 nfkd;
-ERROR:  syntax error at or near "nfkd"
-LINE 1: SELECT 1234 nfkd;
-                    ^
+ nfkd 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS no;
   no  
 ------
@@ -3808,9 +4106,11 @@ SELECT 1234 AS no;
 (1 row)
 
 SELECT 1234 no;
-ERROR:  syntax error at or near "no"
-LINE 1: SELECT 1234 no;
-                    ^
+  no  
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS normalized;
  normalized 
 ------------
@@ -3818,9 +4118,11 @@ SELECT 1234 AS normalized;
 (1 row)
 
 SELECT 1234 normalized;
-ERROR:  syntax error at or near "normalized"
-LINE 1: SELECT 1234 normalized;
-                    ^
+ normalized 
+------------
+       1234
+(1 row)
+
 SELECT 1234 AS nothing;
  nothing 
 ---------
@@ -3828,9 +4130,11 @@ SELECT 1234 AS nothing;
 (1 row)
 
 SELECT 1234 nothing;
-ERROR:  syntax error at or near "nothing"
-LINE 1: SELECT 1234 nothing;
-                    ^
+ nothing 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS notify;
  notify 
 --------
@@ -3838,9 +4142,11 @@ SELECT 1234 AS notify;
 (1 row)
 
 SELECT 1234 notify;
-ERROR:  syntax error at or near "notify"
-LINE 1: SELECT 1234 notify;
-                    ^
+ notify 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS nowait;
  nowait 
 --------
@@ -3848,9 +4154,11 @@ SELECT 1234 AS nowait;
 (1 row)
 
 SELECT 1234 nowait;
-ERROR:  syntax error at or near "nowait"
-LINE 1: SELECT 1234 nowait;
-                    ^
+ nowait 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS nulls;
  nulls 
 -------
@@ -3858,9 +4166,11 @@ SELECT 1234 AS nulls;
 (1 row)
 
 SELECT 1234 nulls;
-ERROR:  syntax error at or near "nulls"
-LINE 1: SELECT 1234 nulls;
-                    ^
+ nulls 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS object;
  object 
 --------
@@ -3868,9 +4178,11 @@ SELECT 1234 AS object;
 (1 row)
 
 SELECT 1234 object;
-ERROR:  syntax error at or near "object"
-LINE 1: SELECT 1234 object;
-                    ^
+ object 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS of;
   of  
 ------
@@ -3878,9 +4190,11 @@ SELECT 1234 AS of;
 (1 row)
 
 SELECT 1234 of;
-ERROR:  syntax error at or near "of"
-LINE 1: SELECT 1234 of;
-                    ^
+  of  
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS off;
  off  
 ------
@@ -3888,9 +4202,11 @@ SELECT 1234 AS off;
 (1 row)
 
 SELECT 1234 off;
-ERROR:  syntax error at or near "off"
-LINE 1: SELECT 1234 off;
-                    ^
+ off  
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS oids;
  oids 
 ------
@@ -3898,9 +4214,11 @@ SELECT 1234 AS oids;
 (1 row)
 
 SELECT 1234 oids;
-ERROR:  syntax error at or near "oids"
-LINE 1: SELECT 1234 oids;
-                    ^
+ oids 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS old;
  old  
 ------
@@ -3908,19 +4226,23 @@ SELECT 1234 AS old;
 (1 row)
 
 SELECT 1234 old;
-ERROR:  syntax error at or near "old"
-LINE 1: SELECT 1234 old;
-                    ^
+ old  
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS operator;
  operator 
 ----------
      1234
 (1 row)
 
-SELECT 1234 operator;
-ERROR:  syntax error at or near ";"
-LINE 1: SELECT 1234 operator;
-                            ^
+SELECT 1234 operator;
+ operator 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS option;
  option 
 --------
@@ -3928,9 +4250,11 @@ SELECT 1234 AS option;
 (1 row)
 
 SELECT 1234 option;
-ERROR:  syntax error at or near "option"
-LINE 1: SELECT 1234 option;
-                    ^
+ option 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS options;
  options 
 ---------
@@ -3938,9 +4262,11 @@ SELECT 1234 AS options;
 (1 row)
 
 SELECT 1234 options;
-ERROR:  syntax error at or near "options"
-LINE 1: SELECT 1234 options;
-                    ^
+ options 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS ordinality;
  ordinality 
 ------------
@@ -3948,9 +4274,11 @@ SELECT 1234 AS ordinality;
 (1 row)
 
 SELECT 1234 ordinality;
-ERROR:  syntax error at or near "ordinality"
-LINE 1: SELECT 1234 ordinality;
-                    ^
+ ordinality 
+------------
+       1234
+(1 row)
+
 SELECT 1234 AS others;
  others 
 --------
@@ -3958,9 +4286,11 @@ SELECT 1234 AS others;
 (1 row)
 
 SELECT 1234 others;
-ERROR:  syntax error at or near "others"
-LINE 1: SELECT 1234 others;
-                    ^
+ others 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS over;
  over 
 ------
@@ -3978,9 +4308,11 @@ SELECT 1234 AS overriding;
 (1 row)
 
 SELECT 1234 overriding;
-ERROR:  syntax error at or near "overriding"
-LINE 1: SELECT 1234 overriding;
-                    ^
+ overriding 
+------------
+       1234
+(1 row)
+
 SELECT 1234 AS owned;
  owned 
 -------
@@ -3988,9 +4320,11 @@ SELECT 1234 AS owned;
 (1 row)
 
 SELECT 1234 owned;
-ERROR:  syntax error at or near "owned"
-LINE 1: SELECT 1234 owned;
-                    ^
+ owned 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS owner;
  owner 
 -------
@@ -3998,9 +4332,11 @@ SELECT 1234 AS owner;
 (1 row)
 
 SELECT 1234 owner;
-ERROR:  syntax error at or near "owner"
-LINE 1: SELECT 1234 owner;
-                    ^
+ owner 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS parallel;
  parallel 
 ----------
@@ -4008,9 +4344,11 @@ SELECT 1234 AS parallel;
 (1 row)
 
 SELECT 1234 parallel;
-ERROR:  syntax error at or near "parallel"
-LINE 1: SELECT 1234 parallel;
-                    ^
+ parallel 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS parser;
  parser 
 --------
@@ -4018,9 +4356,11 @@ SELECT 1234 AS parser;
 (1 row)
 
 SELECT 1234 parser;
-ERROR:  syntax error at or near "parser"
-LINE 1: SELECT 1234 parser;
-                    ^
+ parser 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS partial;
  partial 
 ---------
@@ -4028,9 +4368,11 @@ SELECT 1234 AS partial;
 (1 row)
 
 SELECT 1234 partial;
-ERROR:  syntax error at or near "partial"
-LINE 1: SELECT 1234 partial;
-                    ^
+ partial 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS partition;
  partition 
 -----------
@@ -4038,9 +4380,11 @@ SELECT 1234 AS partition;
 (1 row)
 
 SELECT 1234 partition;
-ERROR:  syntax error at or near "partition"
-LINE 1: SELECT 1234 partition;
-                    ^
+ partition 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS passing;
  passing 
 ---------
@@ -4048,9 +4392,11 @@ SELECT 1234 AS passing;
 (1 row)
 
 SELECT 1234 passing;
-ERROR:  syntax error at or near "passing"
-LINE 1: SELECT 1234 passing;
-                    ^
+ passing 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS password;
  password 
 ----------
@@ -4058,9 +4404,11 @@ SELECT 1234 AS password;
 (1 row)
 
 SELECT 1234 password;
-ERROR:  syntax error at or near "password"
-LINE 1: SELECT 1234 password;
-                    ^
+ password 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS plans;
  plans 
 -------
@@ -4068,9 +4416,11 @@ SELECT 1234 AS plans;
 (1 row)
 
 SELECT 1234 plans;
-ERROR:  syntax error at or near "plans"
-LINE 1: SELECT 1234 plans;
-                    ^
+ plans 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS policy;
  policy 
 --------
@@ -4078,9 +4428,11 @@ SELECT 1234 AS policy;
 (1 row)
 
 SELECT 1234 policy;
-ERROR:  syntax error at or near "policy"
-LINE 1: SELECT 1234 policy;
-                    ^
+ policy 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS preceding;
  preceding 
 -----------
@@ -4088,9 +4440,11 @@ SELECT 1234 AS preceding;
 (1 row)
 
 SELECT 1234 preceding;
-ERROR:  syntax error at or near "preceding"
-LINE 1: SELECT 1234 preceding;
-                    ^
+ preceding 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS prepare;
  prepare 
 ---------
@@ -4098,9 +4452,11 @@ SELECT 1234 AS prepare;
 (1 row)
 
 SELECT 1234 prepare;
-ERROR:  syntax error at or near "prepare"
-LINE 1: SELECT 1234 prepare;
-                    ^
+ prepare 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS prepared;
  prepared 
 ----------
@@ -4108,9 +4464,11 @@ SELECT 1234 AS prepared;
 (1 row)
 
 SELECT 1234 prepared;
-ERROR:  syntax error at or near "prepared"
-LINE 1: SELECT 1234 prepared;
-                    ^
+ prepared 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS preserve;
  preserve 
 ----------
@@ -4118,9 +4476,11 @@ SELECT 1234 AS preserve;
 (1 row)
 
 SELECT 1234 preserve;
-ERROR:  syntax error at or near "preserve"
-LINE 1: SELECT 1234 preserve;
-                    ^
+ preserve 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS prior;
  prior 
 -------
@@ -4128,9 +4488,11 @@ SELECT 1234 AS prior;
 (1 row)
 
 SELECT 1234 prior;
-ERROR:  syntax error at or near "prior"
-LINE 1: SELECT 1234 prior;
-                    ^
+ prior 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS privileges;
  privileges 
 ------------
@@ -4138,9 +4500,11 @@ SELECT 1234 AS privileges;
 (1 row)
 
 SELECT 1234 privileges;
-ERROR:  syntax error at or near "privileges"
-LINE 1: SELECT 1234 privileges;
-                    ^
+ privileges 
+------------
+       1234
+(1 row)
+
 SELECT 1234 AS procedural;
  procedural 
 ------------
@@ -4148,9 +4512,11 @@ SELECT 1234 AS procedural;
 (1 row)
 
 SELECT 1234 procedural;
-ERROR:  syntax error at or near "procedural"
-LINE 1: SELECT 1234 procedural;
-                    ^
+ procedural 
+------------
+       1234
+(1 row)
+
 SELECT 1234 AS procedure;
  procedure 
 -----------
@@ -4158,9 +4524,11 @@ SELECT 1234 AS procedure;
 (1 row)
 
 SELECT 1234 procedure;
-ERROR:  syntax error at or near "procedure"
-LINE 1: SELECT 1234 procedure;
-                    ^
+ procedure 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS procedures;
  procedures 
 ------------
@@ -4168,9 +4536,11 @@ SELECT 1234 AS procedures;
 (1 row)
 
 SELECT 1234 procedures;
-ERROR:  syntax error at or near "procedures"
-LINE 1: SELECT 1234 procedures;
-                    ^
+ procedures 
+------------
+       1234
+(1 row)
+
 SELECT 1234 AS program;
  program 
 ---------
@@ -4178,9 +4548,11 @@ SELECT 1234 AS program;
 (1 row)
 
 SELECT 1234 program;
-ERROR:  syntax error at or near "program"
-LINE 1: SELECT 1234 program;
-                    ^
+ program 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS publication;
  publication 
 -------------
@@ -4188,9 +4560,11 @@ SELECT 1234 AS publication;
 (1 row)
 
 SELECT 1234 publication;
-ERROR:  syntax error at or near "publication"
-LINE 1: SELECT 1234 publication;
-                    ^
+ publication 
+-------------
+        1234
+(1 row)
+
 SELECT 1234 AS quote;
  quote 
 -------
@@ -4198,9 +4572,11 @@ SELECT 1234 AS quote;
 (1 row)
 
 SELECT 1234 quote;
-ERROR:  syntax error at or near "quote"
-LINE 1: SELECT 1234 quote;
-                    ^
+ quote 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS range;
  range 
 -------
@@ -4208,9 +4584,11 @@ SELECT 1234 AS range;
 (1 row)
 
 SELECT 1234 range;
-ERROR:  syntax error at or near "range"
-LINE 1: SELECT 1234 range;
-                    ^
+ range 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS read;
  read 
 ------
@@ -4218,9 +4596,11 @@ SELECT 1234 AS read;
 (1 row)
 
 SELECT 1234 read;
-ERROR:  syntax error at or near "read"
-LINE 1: SELECT 1234 read;
-                    ^
+ read 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS reassign;
  reassign 
 ----------
@@ -4228,9 +4608,11 @@ SELECT 1234 AS reassign;
 (1 row)
 
 SELECT 1234 reassign;
-ERROR:  syntax error at or near "reassign"
-LINE 1: SELECT 1234 reassign;
-                    ^
+ reassign 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS recheck;
  recheck 
 ---------
@@ -4238,9 +4620,11 @@ SELECT 1234 AS recheck;
 (1 row)
 
 SELECT 1234 recheck;
-ERROR:  syntax error at or near "recheck"
-LINE 1: SELECT 1234 recheck;
-                    ^
+ recheck 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS recursive;
  recursive 
 -----------
@@ -4248,9 +4632,11 @@ SELECT 1234 AS recursive;
 (1 row)
 
 SELECT 1234 recursive;
-ERROR:  syntax error at or near "recursive"
-LINE 1: SELECT 1234 recursive;
-                    ^
+ recursive 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS ref;
  ref  
 ------
@@ -4258,9 +4644,11 @@ SELECT 1234 AS ref;
 (1 row)
 
 SELECT 1234 ref;
-ERROR:  syntax error at or near "ref"
-LINE 1: SELECT 1234 ref;
-                    ^
+ ref  
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS referencing;
  referencing 
 -------------
@@ -4268,9 +4656,11 @@ SELECT 1234 AS referencing;
 (1 row)
 
 SELECT 1234 referencing;
-ERROR:  syntax error at or near "referencing"
-LINE 1: SELECT 1234 referencing;
-                    ^
+ referencing 
+-------------
+        1234
+(1 row)
+
 SELECT 1234 AS refresh;
  refresh 
 ---------
@@ -4278,9 +4668,11 @@ SELECT 1234 AS refresh;
 (1 row)
 
 SELECT 1234 refresh;
-ERROR:  syntax error at or near "refresh"
-LINE 1: SELECT 1234 refresh;
-                    ^
+ refresh 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS reindex;
  reindex 
 ---------
@@ -4288,9 +4680,11 @@ SELECT 1234 AS reindex;
 (1 row)
 
 SELECT 1234 reindex;
-ERROR:  syntax error at or near "reindex"
-LINE 1: SELECT 1234 reindex;
-                    ^
+ reindex 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS relative;
  relative 
 ----------
@@ -4298,9 +4692,11 @@ SELECT 1234 AS relative;
 (1 row)
 
 SELECT 1234 relative;
-ERROR:  syntax error at or near "relative"
-LINE 1: SELECT 1234 relative;
-                    ^
+ relative 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS release;
  release 
 ---------
@@ -4308,9 +4704,11 @@ SELECT 1234 AS release;
 (1 row)
 
 SELECT 1234 release;
-ERROR:  syntax error at or near "release"
-LINE 1: SELECT 1234 release;
-                    ^
+ release 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS rename;
  rename 
 --------
@@ -4318,9 +4716,11 @@ SELECT 1234 AS rename;
 (1 row)
 
 SELECT 1234 rename;
-ERROR:  syntax error at or near "rename"
-LINE 1: SELECT 1234 rename;
-                    ^
+ rename 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS repeatable;
  repeatable 
 ------------
@@ -4328,9 +4728,11 @@ SELECT 1234 AS repeatable;
 (1 row)
 
 SELECT 1234 repeatable;
-ERROR:  syntax error at or near "repeatable"
-LINE 1: SELECT 1234 repeatable;
-                    ^
+ repeatable 
+------------
+       1234
+(1 row)
+
 SELECT 1234 AS replace;
  replace 
 ---------
@@ -4338,9 +4740,11 @@ SELECT 1234 AS replace;
 (1 row)
 
 SELECT 1234 replace;
-ERROR:  syntax error at or near "replace"
-LINE 1: SELECT 1234 replace;
-                    ^
+ replace 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS replica;
  replica 
 ---------
@@ -4348,9 +4752,11 @@ SELECT 1234 AS replica;
 (1 row)
 
 SELECT 1234 replica;
-ERROR:  syntax error at or near "replica"
-LINE 1: SELECT 1234 replica;
-                    ^
+ replica 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS reset;
  reset 
 -------
@@ -4358,9 +4764,11 @@ SELECT 1234 AS reset;
 (1 row)
 
 SELECT 1234 reset;
-ERROR:  syntax error at or near "reset"
-LINE 1: SELECT 1234 reset;
-                    ^
+ reset 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS restart;
  restart 
 ---------
@@ -4368,9 +4776,11 @@ SELECT 1234 AS restart;
 (1 row)
 
 SELECT 1234 restart;
-ERROR:  syntax error at or near "restart"
-LINE 1: SELECT 1234 restart;
-                    ^
+ restart 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS restrict;
  restrict 
 ----------
@@ -4378,9 +4788,11 @@ SELECT 1234 AS restrict;
 (1 row)
 
 SELECT 1234 restrict;
-ERROR:  syntax error at or near "restrict"
-LINE 1: SELECT 1234 restrict;
-                    ^
+ restrict 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS returns;
  returns 
 ---------
@@ -4388,9 +4800,11 @@ SELECT 1234 AS returns;
 (1 row)
 
 SELECT 1234 returns;
-ERROR:  syntax error at or near "returns"
-LINE 1: SELECT 1234 returns;
-                    ^
+ returns 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS revoke;
  revoke 
 --------
@@ -4398,9 +4812,11 @@ SELECT 1234 AS revoke;
 (1 row)
 
 SELECT 1234 revoke;
-ERROR:  syntax error at or near "revoke"
-LINE 1: SELECT 1234 revoke;
-                    ^
+ revoke 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS role;
  role 
 ------
@@ -4408,9 +4824,11 @@ SELECT 1234 AS role;
 (1 row)
 
 SELECT 1234 role;
-ERROR:  syntax error at or near "role"
-LINE 1: SELECT 1234 role;
-                    ^
+ role 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS rollback;
  rollback 
 ----------
@@ -4418,9 +4836,11 @@ SELECT 1234 AS rollback;
 (1 row)
 
 SELECT 1234 rollback;
-ERROR:  syntax error at or near "rollback"
-LINE 1: SELECT 1234 rollback;
-                    ^
+ rollback 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS rollup;
  rollup 
 --------
@@ -4428,9 +4848,11 @@ SELECT 1234 AS rollup;
 (1 row)
 
 SELECT 1234 rollup;
-ERROR:  syntax error at or near "rollup"
-LINE 1: SELECT 1234 rollup;
-                    ^
+ rollup 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS routine;
  routine 
 ---------
@@ -4438,9 +4860,11 @@ SELECT 1234 AS routine;
 (1 row)
 
 SELECT 1234 routine;
-ERROR:  syntax error at or near "routine"
-LINE 1: SELECT 1234 routine;
-                    ^
+ routine 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS routines;
  routines 
 ----------
@@ -4448,9 +4872,11 @@ SELECT 1234 AS routines;
 (1 row)
 
 SELECT 1234 routines;
-ERROR:  syntax error at or near "routines"
-LINE 1: SELECT 1234 routines;
-                    ^
+ routines 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS rows;
  rows 
 ------
@@ -4458,9 +4884,11 @@ SELECT 1234 AS rows;
 (1 row)
 
 SELECT 1234 rows;
-ERROR:  syntax error at or near "rows"
-LINE 1: SELECT 1234 rows;
-                    ^
+ rows 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS rule;
  rule 
 ------
@@ -4468,9 +4896,11 @@ SELECT 1234 AS rule;
 (1 row)
 
 SELECT 1234 rule;
-ERROR:  syntax error at or near "rule"
-LINE 1: SELECT 1234 rule;
-                    ^
+ rule 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS savepoint;
  savepoint 
 -----------
@@ -4478,9 +4908,11 @@ SELECT 1234 AS savepoint;
 (1 row)
 
 SELECT 1234 savepoint;
-ERROR:  syntax error at or near "savepoint"
-LINE 1: SELECT 1234 savepoint;
-                    ^
+ savepoint 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS schema;
  schema 
 --------
@@ -4488,9 +4920,11 @@ SELECT 1234 AS schema;
 (1 row)
 
 SELECT 1234 schema;
-ERROR:  syntax error at or near "schema"
-LINE 1: SELECT 1234 schema;
-                    ^
+ schema 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS schemas;
  schemas 
 ---------
@@ -4498,9 +4932,11 @@ SELECT 1234 AS schemas;
 (1 row)
 
 SELECT 1234 schemas;
-ERROR:  syntax error at or near "schemas"
-LINE 1: SELECT 1234 schemas;
-                    ^
+ schemas 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS scroll;
  scroll 
 --------
@@ -4508,9 +4944,11 @@ SELECT 1234 AS scroll;
 (1 row)
 
 SELECT 1234 scroll;
-ERROR:  syntax error at or near "scroll"
-LINE 1: SELECT 1234 scroll;
-                    ^
+ scroll 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS search;
  search 
 --------
@@ -4518,9 +4956,11 @@ SELECT 1234 AS search;
 (1 row)
 
 SELECT 1234 search;
-ERROR:  syntax error at or near "search"
-LINE 1: SELECT 1234 search;
-                    ^
+ search 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS second;
  second 
 --------
@@ -4538,9 +4978,11 @@ SELECT 1234 AS security;
 (1 row)
 
 SELECT 1234 security;
-ERROR:  syntax error at or near "security"
-LINE 1: SELECT 1234 security;
-                    ^
+ security 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS sequence;
  sequence 
 ----------
@@ -4548,9 +4990,11 @@ SELECT 1234 AS sequence;
 (1 row)
 
 SELECT 1234 sequence;
-ERROR:  syntax error at or near "sequence"
-LINE 1: SELECT 1234 sequence;
-                    ^
+ sequence 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS sequences;
  sequences 
 -----------
@@ -4558,9 +5002,11 @@ SELECT 1234 AS sequences;
 (1 row)
 
 SELECT 1234 sequences;
-ERROR:  syntax error at or near "sequences"
-LINE 1: SELECT 1234 sequences;
-                    ^
+ sequences 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS serializable;
  serializable 
 --------------
@@ -4568,9 +5014,11 @@ SELECT 1234 AS serializable;
 (1 row)
 
 SELECT 1234 serializable;
-ERROR:  syntax error at or near "serializable"
-LINE 1: SELECT 1234 serializable;
-                    ^
+ serializable 
+--------------
+         1234
+(1 row)
+
 SELECT 1234 AS server;
  server 
 --------
@@ -4578,9 +5026,11 @@ SELECT 1234 AS server;
 (1 row)
 
 SELECT 1234 server;
-ERROR:  syntax error at or near "server"
-LINE 1: SELECT 1234 server;
-                    ^
+ server 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS session;
  session 
 ---------
@@ -4588,9 +5038,11 @@ SELECT 1234 AS session;
 (1 row)
 
 SELECT 1234 session;
-ERROR:  syntax error at or near "session"
-LINE 1: SELECT 1234 session;
-                    ^
+ session 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS set;
  set  
 ------
@@ -4598,9 +5050,11 @@ SELECT 1234 AS set;
 (1 row)
 
 SELECT 1234 set;
-ERROR:  syntax error at or near "set"
-LINE 1: SELECT 1234 set;
-                    ^
+ set  
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS sets;
  sets 
 ------
@@ -4608,9 +5062,11 @@ SELECT 1234 AS sets;
 (1 row)
 
 SELECT 1234 sets;
-ERROR:  syntax error at or near "sets"
-LINE 1: SELECT 1234 sets;
-                    ^
+ sets 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS share;
  share 
 -------
@@ -4618,9 +5074,11 @@ SELECT 1234 AS share;
 (1 row)
 
 SELECT 1234 share;
-ERROR:  syntax error at or near "share"
-LINE 1: SELECT 1234 share;
-                    ^
+ share 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS show;
  show 
 ------
@@ -4628,9 +5086,11 @@ SELECT 1234 AS show;
 (1 row)
 
 SELECT 1234 show;
-ERROR:  syntax error at or near "show"
-LINE 1: SELECT 1234 show;
-                    ^
+ show 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS simple;
  simple 
 --------
@@ -4638,9 +5098,11 @@ SELECT 1234 AS simple;
 (1 row)
 
 SELECT 1234 simple;
-ERROR:  syntax error at or near "simple"
-LINE 1: SELECT 1234 simple;
-                    ^
+ simple 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS skip;
  skip 
 ------
@@ -4648,9 +5110,11 @@ SELECT 1234 AS skip;
 (1 row)
 
 SELECT 1234 skip;
-ERROR:  syntax error at or near "skip"
-LINE 1: SELECT 1234 skip;
-                    ^
+ skip 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS snapshot;
  snapshot 
 ----------
@@ -4658,9 +5122,11 @@ SELECT 1234 AS snapshot;
 (1 row)
 
 SELECT 1234 snapshot;
-ERROR:  syntax error at or near "snapshot"
-LINE 1: SELECT 1234 snapshot;
-                    ^
+ snapshot 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS sql;
  sql  
 ------
@@ -4668,9 +5134,11 @@ SELECT 1234 AS sql;
 (1 row)
 
 SELECT 1234 sql;
-ERROR:  syntax error at or near "sql"
-LINE 1: SELECT 1234 sql;
-                    ^
+ sql  
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS stable;
  stable 
 --------
@@ -4678,9 +5146,11 @@ SELECT 1234 AS stable;
 (1 row)
 
 SELECT 1234 stable;
-ERROR:  syntax error at or near "stable"
-LINE 1: SELECT 1234 stable;
-                    ^
+ stable 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS standalone;
  standalone 
 ------------
@@ -4688,9 +5158,11 @@ SELECT 1234 AS standalone;
 (1 row)
 
 SELECT 1234 standalone;
-ERROR:  syntax error at or near "standalone"
-LINE 1: SELECT 1234 standalone;
-                    ^
+ standalone 
+------------
+       1234
+(1 row)
+
 SELECT 1234 AS start;
  start 
 -------
@@ -4698,9 +5170,11 @@ SELECT 1234 AS start;
 (1 row)
 
 SELECT 1234 start;
-ERROR:  syntax error at or near "start"
-LINE 1: SELECT 1234 start;
-                    ^
+ start 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS statement;
  statement 
 -----------
@@ -4708,9 +5182,11 @@ SELECT 1234 AS statement;
 (1 row)
 
 SELECT 1234 statement;
-ERROR:  syntax error at or near "statement"
-LINE 1: SELECT 1234 statement;
-                    ^
+ statement 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS statistics;
  statistics 
 ------------
@@ -4718,9 +5194,11 @@ SELECT 1234 AS statistics;
 (1 row)
 
 SELECT 1234 statistics;
-ERROR:  syntax error at or near "statistics"
-LINE 1: SELECT 1234 statistics;
-                    ^
+ statistics 
+------------
+       1234
+(1 row)
+
 SELECT 1234 AS stdin;
  stdin 
 -------
@@ -4728,9 +5206,11 @@ SELECT 1234 AS stdin;
 (1 row)
 
 SELECT 1234 stdin;
-ERROR:  syntax error at or near "stdin"
-LINE 1: SELECT 1234 stdin;
-                    ^
+ stdin 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS stdout;
  stdout 
 --------
@@ -4738,9 +5218,11 @@ SELECT 1234 AS stdout;
 (1 row)
 
 SELECT 1234 stdout;
-ERROR:  syntax error at or near "stdout"
-LINE 1: SELECT 1234 stdout;
-                    ^
+ stdout 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS storage;
  storage 
 ---------
@@ -4748,9 +5230,11 @@ SELECT 1234 AS storage;
 (1 row)
 
 SELECT 1234 storage;
-ERROR:  syntax error at or near "storage"
-LINE 1: SELECT 1234 storage;
-                    ^
+ storage 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS stored;
  stored 
 --------
@@ -4758,9 +5242,11 @@ SELECT 1234 AS stored;
 (1 row)
 
 SELECT 1234 stored;
-ERROR:  syntax error at or near "stored"
-LINE 1: SELECT 1234 stored;
-                    ^
+ stored 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS strict;
  strict 
 --------
@@ -4768,9 +5254,11 @@ SELECT 1234 AS strict;
 (1 row)
 
 SELECT 1234 strict;
-ERROR:  syntax error at or near "strict"
-LINE 1: SELECT 1234 strict;
-                    ^
+ strict 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS strip;
  strip 
 -------
@@ -4778,19 +5266,23 @@ SELECT 1234 AS strip;
 (1 row)
 
 SELECT 1234 strip;
-ERROR:  syntax error at or near "strip"
-LINE 1: SELECT 1234 strip;
-                    ^
+ strip 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS subscription;
  subscription 
 --------------
          1234
 (1 row)
 
-SELECT 1234 subscription;
-ERROR:  syntax error at or near "subscription"
-LINE 1: SELECT 1234 subscription;
-                    ^
+SELECT 1234 subscription;
+ subscription 
+--------------
+         1234
+(1 row)
+
 SELECT 1234 AS support;
  support 
 ---------
@@ -4798,9 +5290,11 @@ SELECT 1234 AS support;
 (1 row)
 
 SELECT 1234 support;
-ERROR:  syntax error at or near "support"
-LINE 1: SELECT 1234 support;
-                    ^
+ support 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS sysid;
  sysid 
 -------
@@ -4808,9 +5302,11 @@ SELECT 1234 AS sysid;
 (1 row)
 
 SELECT 1234 sysid;
-ERROR:  syntax error at or near "sysid"
-LINE 1: SELECT 1234 sysid;
-                    ^
+ sysid 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS system;
  system 
 --------
@@ -4818,9 +5314,11 @@ SELECT 1234 AS system;
 (1 row)
 
 SELECT 1234 system;
-ERROR:  syntax error at or near "system"
-LINE 1: SELECT 1234 system;
-                    ^
+ system 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS tables;
  tables 
 --------
@@ -4828,9 +5326,11 @@ SELECT 1234 AS tables;
 (1 row)
 
 SELECT 1234 tables;
-ERROR:  syntax error at or near "tables"
-LINE 1: SELECT 1234 tables;
-                    ^
+ tables 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS tablespace;
  tablespace 
 ------------
@@ -4838,9 +5338,11 @@ SELECT 1234 AS tablespace;
 (1 row)
 
 SELECT 1234 tablespace;
-ERROR:  syntax error at or near "tablespace"
-LINE 1: SELECT 1234 tablespace;
-                    ^
+ tablespace 
+------------
+       1234
+(1 row)
+
 SELECT 1234 AS temp;
  temp 
 ------
@@ -4848,9 +5350,11 @@ SELECT 1234 AS temp;
 (1 row)
 
 SELECT 1234 temp;
-ERROR:  syntax error at or near "temp"
-LINE 1: SELECT 1234 temp;
-                    ^
+ temp 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS template;
  template 
 ----------
@@ -4858,9 +5362,11 @@ SELECT 1234 AS template;
 (1 row)
 
 SELECT 1234 template;
-ERROR:  syntax error at or near "template"
-LINE 1: SELECT 1234 template;
-                    ^
+ template 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS temporary;
  temporary 
 -----------
@@ -4868,9 +5374,11 @@ SELECT 1234 AS temporary;
 (1 row)
 
 SELECT 1234 temporary;
-ERROR:  syntax error at or near "temporary"
-LINE 1: SELECT 1234 temporary;
-                    ^
+ temporary 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS text;
  text 
 ------
@@ -4878,9 +5386,11 @@ SELECT 1234 AS text;
 (1 row)
 
 SELECT 1234 text;
-ERROR:  syntax error at or near "text"
-LINE 1: SELECT 1234 text;
-                    ^
+ text 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS ties;
  ties 
 ------
@@ -4888,9 +5398,11 @@ SELECT 1234 AS ties;
 (1 row)
 
 SELECT 1234 ties;
-ERROR:  syntax error at or near "ties"
-LINE 1: SELECT 1234 ties;
-                    ^
+ ties 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS transaction;
  transaction 
 -------------
@@ -4898,9 +5410,11 @@ SELECT 1234 AS transaction;
 (1 row)
 
 SELECT 1234 transaction;
-ERROR:  syntax error at or near "transaction"
-LINE 1: SELECT 1234 transaction;
-                    ^
+ transaction 
+-------------
+        1234
+(1 row)
+
 SELECT 1234 AS transform;
  transform 
 -----------
@@ -4908,9 +5422,11 @@ SELECT 1234 AS transform;
 (1 row)
 
 SELECT 1234 transform;
-ERROR:  syntax error at or near "transform"
-LINE 1: SELECT 1234 transform;
-                    ^
+ transform 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS trigger;
  trigger 
 ---------
@@ -4918,9 +5434,11 @@ SELECT 1234 AS trigger;
 (1 row)
 
 SELECT 1234 trigger;
-ERROR:  syntax error at or near "trigger"
-LINE 1: SELECT 1234 trigger;
-                    ^
+ trigger 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS truncate;
  truncate 
 ----------
@@ -4928,9 +5446,11 @@ SELECT 1234 AS truncate;
 (1 row)
 
 SELECT 1234 truncate;
-ERROR:  syntax error at or near "truncate"
-LINE 1: SELECT 1234 truncate;
-                    ^
+ truncate 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS trusted;
  trusted 
 ---------
@@ -4938,9 +5458,11 @@ SELECT 1234 AS trusted;
 (1 row)
 
 SELECT 1234 trusted;
-ERROR:  syntax error at or near "trusted"
-LINE 1: SELECT 1234 trusted;
-                    ^
+ trusted 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS type;
  type 
 ------
@@ -4948,9 +5470,11 @@ SELECT 1234 AS type;
 (1 row)
 
 SELECT 1234 type;
-ERROR:  syntax error at or near "type"
-LINE 1: SELECT 1234 type;
-                    ^
+ type 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS types;
  types 
 -------
@@ -4958,9 +5482,11 @@ SELECT 1234 AS types;
 (1 row)
 
 SELECT 1234 types;
-ERROR:  syntax error at or near "types"
-LINE 1: SELECT 1234 types;
-                    ^
+ types 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS uescape;
  uescape 
 ---------
@@ -4968,9 +5494,11 @@ SELECT 1234 AS uescape;
 (1 row)
 
 SELECT 1234 uescape;
-ERROR:  syntax error at or near "uescape"
-LINE 1: SELECT 1234 uescape;
-                    ^
+ uescape 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS unbounded;
  unbounded 
 -----------
@@ -4978,9 +5506,11 @@ SELECT 1234 AS unbounded;
 (1 row)
 
 SELECT 1234 unbounded;
-ERROR:  syntax error at or near "unbounded"
-LINE 1: SELECT 1234 unbounded;
-                    ^
+ unbounded 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS uncommitted;
  uncommitted 
 -------------
@@ -4988,9 +5518,11 @@ SELECT 1234 AS uncommitted;
 (1 row)
 
 SELECT 1234 uncommitted;
-ERROR:  syntax error at or near "uncommitted"
-LINE 1: SELECT 1234 uncommitted;
-                    ^
+ uncommitted 
+-------------
+        1234
+(1 row)
+
 SELECT 1234 AS unencrypted;
  unencrypted 
 -------------
@@ -4998,9 +5530,11 @@ SELECT 1234 AS unencrypted;
 (1 row)
 
 SELECT 1234 unencrypted;
-ERROR:  syntax error at or near "unencrypted"
-LINE 1: SELECT 1234 unencrypted;
-                    ^
+ unencrypted 
+-------------
+        1234
+(1 row)
+
 SELECT 1234 AS unknown;
  unknown 
 ---------
@@ -5008,9 +5542,11 @@ SELECT 1234 AS unknown;
 (1 row)
 
 SELECT 1234 unknown;
-ERROR:  syntax error at or near "unknown"
-LINE 1: SELECT 1234 unknown;
-                    ^
+ unknown 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS unlisten;
  unlisten 
 ----------
@@ -5018,9 +5554,11 @@ SELECT 1234 AS unlisten;
 (1 row)
 
 SELECT 1234 unlisten;
-ERROR:  syntax error at or near "unlisten"
-LINE 1: SELECT 1234 unlisten;
-                    ^
+ unlisten 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS unlogged;
  unlogged 
 ----------
@@ -5028,9 +5566,11 @@ SELECT 1234 AS unlogged;
 (1 row)
 
 SELECT 1234 unlogged;
-ERROR:  syntax error at or near "unlogged"
-LINE 1: SELECT 1234 unlogged;
-                    ^
+ unlogged 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS until;
  until 
 -------
@@ -5038,9 +5578,11 @@ SELECT 1234 AS until;
 (1 row)
 
 SELECT 1234 until;
-ERROR:  syntax error at or near "until"
-LINE 1: SELECT 1234 until;
-                    ^
+ until 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS update;
  update 
 --------
@@ -5048,9 +5590,11 @@ SELECT 1234 AS update;
 (1 row)
 
 SELECT 1234 update;
-ERROR:  syntax error at or near "update"
-LINE 1: SELECT 1234 update;
-                    ^
+ update 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS vacuum;
  vacuum 
 --------
@@ -5058,9 +5602,11 @@ SELECT 1234 AS vacuum;
 (1 row)
 
 SELECT 1234 vacuum;
-ERROR:  syntax error at or near "vacuum"
-LINE 1: SELECT 1234 vacuum;
-                    ^
+ vacuum 
+--------
+   1234
+(1 row)
+
 SELECT 1234 AS valid;
  valid 
 -------
@@ -5068,9 +5614,11 @@ SELECT 1234 AS valid;
 (1 row)
 
 SELECT 1234 valid;
-ERROR:  syntax error at or near "valid"
-LINE 1: SELECT 1234 valid;
-                    ^
+ valid 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS validate;
  validate 
 ----------
@@ -5078,9 +5626,11 @@ SELECT 1234 AS validate;
 (1 row)
 
 SELECT 1234 validate;
-ERROR:  syntax error at or near "validate"
-LINE 1: SELECT 1234 validate;
-                    ^
+ validate 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS validator;
  validator 
 -----------
@@ -5088,9 +5638,11 @@ SELECT 1234 AS validator;
 (1 row)
 
 SELECT 1234 validator;
-ERROR:  syntax error at or near "validator"
-LINE 1: SELECT 1234 validator;
-                    ^
+ validator 
+-----------
+      1234
+(1 row)
+
 SELECT 1234 AS value;
  value 
 -------
@@ -5098,9 +5650,11 @@ SELECT 1234 AS value;
 (1 row)
 
 SELECT 1234 value;
-ERROR:  syntax error at or near "value"
-LINE 1: SELECT 1234 value;
-                    ^
+ value 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS varying;
  varying 
 ---------
@@ -5118,9 +5672,11 @@ SELECT 1234 AS version;
 (1 row)
 
 SELECT 1234 version;
-ERROR:  syntax error at or near "version"
-LINE 1: SELECT 1234 version;
-                    ^
+ version 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS view;
  view 
 ------
@@ -5128,9 +5684,11 @@ SELECT 1234 AS view;
 (1 row)
 
 SELECT 1234 view;
-ERROR:  syntax error at or near "view"
-LINE 1: SELECT 1234 view;
-                    ^
+ view 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS views;
  views 
 -------
@@ -5138,9 +5696,11 @@ SELECT 1234 AS views;
 (1 row)
 
 SELECT 1234 views;
-ERROR:  syntax error at or near "views"
-LINE 1: SELECT 1234 views;
-                    ^
+ views 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS volatile;
  volatile 
 ----------
@@ -5148,9 +5708,11 @@ SELECT 1234 AS volatile;
 (1 row)
 
 SELECT 1234 volatile;
-ERROR:  syntax error at or near "volatile"
-LINE 1: SELECT 1234 volatile;
-                    ^
+ volatile 
+----------
+     1234
+(1 row)
+
 SELECT 1234 AS whitespace;
  whitespace 
 ------------
@@ -5158,9 +5720,11 @@ SELECT 1234 AS whitespace;
 (1 row)
 
 SELECT 1234 whitespace;
-ERROR:  syntax error at or near "whitespace"
-LINE 1: SELECT 1234 whitespace;
-                    ^
+ whitespace 
+------------
+       1234
+(1 row)
+
 SELECT 1234 AS within;
  within 
 --------
@@ -5188,9 +5752,11 @@ SELECT 1234 AS work;
 (1 row)
 
 SELECT 1234 work;
-ERROR:  syntax error at or near "work"
-LINE 1: SELECT 1234 work;
-                    ^
+ work 
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS wrapper;
  wrapper 
 ---------
@@ -5198,9 +5764,11 @@ SELECT 1234 AS wrapper;
 (1 row)
 
 SELECT 1234 wrapper;
-ERROR:  syntax error at or near "wrapper"
-LINE 1: SELECT 1234 wrapper;
-                    ^
+ wrapper 
+---------
+    1234
+(1 row)
+
 SELECT 1234 AS write;
  write 
 -------
@@ -5208,9 +5776,11 @@ SELECT 1234 AS write;
 (1 row)
 
 SELECT 1234 write;
-ERROR:  syntax error at or near "write"
-LINE 1: SELECT 1234 write;
-                    ^
+ write 
+-------
+  1234
+(1 row)
+
 SELECT 1234 AS xml;
  xml  
 ------
@@ -5218,9 +5788,11 @@ SELECT 1234 AS xml;
 (1 row)
 
 SELECT 1234 xml;
-ERROR:  syntax error at or near "xml"
-LINE 1: SELECT 1234 xml;
-                    ^
+ xml  
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS year;
  year 
 ------
@@ -5238,9 +5810,11 @@ SELECT 1234 AS yes;
 (1 row)
 
 SELECT 1234 yes;
-ERROR:  syntax error at or near "yes"
-LINE 1: SELECT 1234 yes;
-                    ^
+ yes  
+------
+ 1234
+(1 row)
+
 SELECT 1234 AS zone;
  zone 
 ------
@@ -5248,6 +5822,8 @@ SELECT 1234 AS zone;
 (1 row)
 
 SELECT 1234 zone;
-ERROR:  syntax error at or near "zone"
-LINE 1: SELECT 1234 zone;
-                    ^
+ zone 
+------
+ 1234
+(1 row)
+
diff --git a/src/test/regress/expected/create_operator.out b/src/test/regress/expected/create_operator.out
index 54e8b79159..ed77a6616e 100644
--- a/src/test/regress/expected/create_operator.out
+++ b/src/test/regress/expected/create_operator.out
@@ -22,10 +22,14 @@ CREATE OPERATOR #@# (
    leftarg = int8,		-- right unary
    procedure = numeric_fac
 );
+ERROR:  rightarg must be specified
+HINT:  postfix operator support has been discontinued
 CREATE OPERATOR #%# (
    leftarg = int8,		-- right unary
    procedure = numeric_fac
 );
+ERROR:  rightarg must be specified
+HINT:  postfix operator support has been discontinued
 -- Test operator created above
 SELECT point '(1,2)' <% widget '(0,0,3)' AS t,
        point '(1,2)' <% widget '(0,0,1)' AS f;
@@ -52,12 +56,12 @@ CREATE OPERATOR !=- (
    leftarg = int8,		-- right unary
    procedure = numeric_fac
 );
+ERROR:  rightarg must be specified
+HINT:  postfix operator support has been discontinued
 SELECT 2 !=-;
- ?column? 
-----------
-        2
-(1 row)
-
+ERROR:  syntax error at or near ";"
+LINE 1: SELECT 2 !=-;
+                    ^
 -- make sure lexer returns != as <> even in edge cases
 SELECT 2 !=/**/ 1, 2 !=/**/ 2;
  ?column? | ?column? 
@@ -172,11 +176,13 @@ CREATE OPERATOR #@%# (
    invalid_att = int8
 );
 WARNING:  operator attribute "invalid_att" not recognized
--- Should fail. At least leftarg or rightarg should be mandatorily specified
+ERROR:  rightarg must be specified
+HINT:  postfix operator support has been discontinued
+-- Should fail. At least rightarg should be mandatorily specified
 CREATE OPERATOR #@%# (
    procedure = numeric_fac
 );
-ERROR:  at least one of leftarg or rightarg must be specified
+ERROR:  at least rightarg must be specified
 -- Should fail. Procedure should be mandatorily specified
 CREATE OPERATOR #@%# (
    leftarg = int8
diff --git a/src/test/regress/expected/numeric.out b/src/test/regress/expected/numeric.out
index 81a0c5d40f..8b2e29779d 100644
--- a/src/test/regress/expected/numeric.out
+++ b/src/test/regress/expected/numeric.out
@@ -2318,7 +2318,7 @@ ERROR:  value overflows numeric format
 --
 -- Tests for factorial
 --
-SELECT 4!;
+SELECT !!4;
  ?column? 
 ----------
        24
@@ -2336,19 +2336,38 @@ SELECT factorial(15);
  1307674368000
 (1 row)
 
-SELECT 100000!;
+SELECT !!100000;
 ERROR:  value overflows numeric format
-SELECT 0!;
+SELECT !!0;
  ?column? 
 ----------
         1
 (1 row)
 
-SELECT -4!;
+SELECT !!(-4);
 ERROR:  factorial of a negative number is undefined
 SELECT factorial(-4);
 ERROR:  factorial of a negative number is undefined
 --
+-- Postfix operator support has been removed.
+--
+SELECT -5!;
+ERROR:  syntax error at or near ";"
+LINE 1: SELECT -5!;
+                  ^
+SELECT -0!;
+ERROR:  syntax error at or near ";"
+LINE 1: SELECT -0!;
+                  ^
+SELECT 0!;
+ERROR:  syntax error at or near ";"
+LINE 1: SELECT 0!;
+                 ^
+SELECT 100!;
+ERROR:  syntax error at or near ";"
+LINE 1: SELECT 100!;
+                   ^
+--
 -- Tests for pg_lsn()
 --
 SELECT pg_lsn(23783416::numeric);
diff --git a/src/test/regress/sql/create_operator.sql b/src/test/regress/sql/create_operator.sql
index 8b6fd0bb43..eb2335e0ef 100644
--- a/src/test/regress/sql/create_operator.sql
+++ b/src/test/regress/sql/create_operator.sql
@@ -133,7 +133,7 @@ CREATE OPERATOR #@%# (
    invalid_att = int8
 );
 
--- Should fail. At least leftarg or rightarg should be mandatorily specified
+-- Should fail. At least rightarg should be mandatorily specified
 CREATE OPERATOR #@%# (
    procedure = numeric_fac
 );
diff --git a/src/test/regress/sql/numeric.sql b/src/test/regress/sql/numeric.sql
index 5dc80f686f..f8ce69422e 100644
--- a/src/test/regress/sql/numeric.sql
+++ b/src/test/regress/sql/numeric.sql
@@ -1115,14 +1115,22 @@ SELECT lcm(9999 * (10::numeric)^131068 + (10::numeric^131068 - 1), 2); -- overfl
 --
 -- Tests for factorial
 --
-SELECT 4!;
+SELECT !!4;
 SELECT !!3;
 SELECT factorial(15);
-SELECT 100000!;
-SELECT 0!;
-SELECT -4!;
+SELECT !!100000;
+SELECT !!0;
+SELECT !!(-4);
 SELECT factorial(-4);
 
+--
+-- Postfix operator support has been removed.
+--
+SELECT -5!;
+SELECT -0!;
+SELECT 0!;
+SELECT 100!;
+
 --
 -- Tests for pg_lsn()
 --
-- 
2.21.1 (Apple Git-122.3)

