@ -21,8 +21,6 @@
* NOTES
* CAPITALS are used to represent terminal symbols.
* non-capitals are used to represent non-terminals.
* SQL92-specific syntax is separated from plain SQL/Postgres syntax
* to help isolate the non-extensible portions of the parser.
*
* In general, nothing in this file should initiate database accesses
* nor depend on changeable state (such as SET variables). If you do
@ -1281,7 +1279,7 @@ schema_stmt:
*
* Set PG internal variable
* SET name TO 'var_value'
* Include SQL92 syntax (thomas 1997-10-22):
* Include SQL syntax (thomas 1997-10-22):
* SET TIME ZONE 'var_value'
*
*****************************************************************************/
@ -2780,7 +2778,7 @@ ColConstraint:
* to make it explicit.
* - thomas 1998-09-13
*
* WITH NULL and NULL are not SQL92 -standard syntax elements,
* WITH NULL and NULL are not SQL-standard syntax elements,
* so leave them out. Use DEFAULT NULL to explicitly indicate
* that a column may have that value. WITH NULL leads to
* shift/reduce conflicts with WITH TIME ZONE anyway.
@ -9159,7 +9157,7 @@ select_clause:
* As with select_no_parens, simple_select cannot have outer parentheses,
* but can have parenthesized subclauses.
*
* Note that sort clauses cannot be included at this level --- SQL92 requires
* Note that sort clauses cannot be included at this level --- SQL requires
* SELECT foo UNION SELECT bar ORDER BY baz
* to be parsed as
* (SELECT foo UNION SELECT bar) ORDER BY baz
@ -9660,7 +9658,7 @@ table_ref: relation_expr opt_alias_clause
/*
* It may seem silly to separate joined_table from table_ref, but there is
* method in SQL92 's madness: if you don't do it this way you get reduce-
* method in SQL's madness: if you don't do it this way you get reduce-
* reduce conflicts, because it's not clear to the parser generator whether
* to expect alias_clause after ')' or not. For the same reason we must
* treat 'JOIN' and 'join_type JOIN' separately, rather than allowing
@ -9959,7 +9957,7 @@ TableFuncElement: ColId Typename opt_collate_clause
/*****************************************************************************
*
* Type syntax
* SQL92 introduces a large amount of type-specific syntax.
* SQL introduces a large amount of type-specific syntax.
* Define individual clauses to handle these cases, and use
* the generic case to handle regular type-extensible Postgres syntax.
* - thomas 1997-10-10
@ -10085,7 +10083,7 @@ opt_type_modifiers: '(' expr_list ')' { $$ = $2; }
;
/*
* SQL92 numeric data types
* SQL numeric data types
*/
Numeric: INT_P
{
@ -10175,7 +10173,7 @@ opt_float: '(' Iconst ')'
;
/*
* SQL92 bit-field data types
* SQL bit-field data types
* The following implements BIT() and BIT VARYING().
*/
Bit: BitWithLength
@ -10232,7 +10230,7 @@ BitWithoutLength:
/*
* SQL92 character data types
* SQL character data types
* The following implements CHAR() and VARCHAR().
*/
Character: CharacterWithLength
@ -10329,7 +10327,7 @@ opt_charset:
;
/*
* SQL92 date/time types
* SQL date/time types
*/
ConstDatetime:
TIMESTAMP '(' Iconst ')' opt_timezone
@ -10661,7 +10659,7 @@ a_expr: c_expr { $$ = $1; }
}
/* NullTest clause
* Define SQL92 -style Null test clause.
* Define SQL-style Null test clause.
* Allow two forms described in the standard:
* a IS NULL
* a IS NOT NULL
@ -11189,7 +11187,7 @@ func_expr: func_name '(' ')' over_clause
/*
* We consider AGGREGATE(*) to invoke a parameterless
* aggregate. This does the right thing for COUNT(*),
* and there are no other aggregates in SQL92 that accept
* and there are no other aggregates in SQL that accept
* '*' as parameter.
*
* The FuncCall node is also marked agg_star = true,
@ -11505,7 +11503,7 @@ func_expr: func_name '(' ')' over_clause
}
| TRIM '(' BOTH trim_list ')'
{
/* various trim expressions are defined in SQL92
/* various trim expressions are defined in SQL
* - thomas 1997-07-19
*/
FuncCall *n = makeNode(FuncCall);
@ -12208,7 +12206,7 @@ in_expr: select_with_parens
;
/*
* Define SQL92-style case clause.
* Define SQL-style CASE clause.
* - Full specification
* CASE WHEN a = b THEN c ... ELSE d END
* - Implicit argument