aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2003-09-06 14:01:51 +0000
committerPeter Eisentraut <peter_e@gmx.net>2003-09-06 14:01:51 +0000
commit3e20a726033191660171d17b9fc08206f0d4aaed (patch)
treecc2cd3d02b0a7eaef680497502b6aac28e9ab8a7
parent4060f07578a2e6e1741b70f990c7a0e373a5365e (diff)
downloadpostgresql-3e20a726033191660171d17b9fc08206f0d4aaed.tar.gz
postgresql-3e20a726033191660171d17b9fc08206f0d4aaed.zip
Make all valid uses of the COLLATE clause yield the same result: a syntax
error. There is no point in providing some kind of forward compatibility now, because no one can tell what a future implementation will look like.
-rw-r--r--src/backend/parser/gram.y34
1 files changed, 4 insertions, 30 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index 5bdbe012a95..45671f1b7be 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -11,7 +11,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.430 2003/08/22 20:34:33 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.431 2003/09/06 14:01:51 petere Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@@ -294,7 +294,7 @@ static void doNegateFloat(Value *v);
Bit ConstBit BitWithLength BitWithoutLength
%type <str> character
%type <str> extract_arg
-%type <str> opt_charset opt_collate
+%type <str> opt_charset
%type <ival> opt_numeric opt_decimal
%type <boolean> opt_varying opt_timezone
@@ -441,7 +441,6 @@ static void doNegateFloat(Value *v);
%right UMINUS
%left '[' ']'
%left '(' ')'
-%left COLLATE
%left TYPECAST
%left '.'
/*
@@ -1461,19 +1460,13 @@ TableElement:
| TableConstraint { $$ = $1; }
;
-columnDef: ColId Typename ColQualList opt_collate
+columnDef: ColId Typename ColQualList
{
ColumnDef *n = makeNode(ColumnDef);
n->colname = $1;
n->typename = $2;
n->constraints = $3;
n->is_local = true;
-
- if ($4 != NULL)
- ereport(NOTICE,
- (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("CREATE TABLE / COLLATE is not yet implemented; clause ignored")));
-
$$ = (Node *)n;
}
;
@@ -3843,17 +3836,12 @@ DropdbStmt: DROP DATABASE database_name
*****************************************************************************/
CreateDomainStmt:
- CREATE DOMAIN_P any_name opt_as Typename ColQualList opt_collate
+ CREATE DOMAIN_P any_name opt_as Typename ColQualList
{
CreateDomainStmt *n = makeNode(CreateDomainStmt);
n->domainname = $3;
n->typename = $5;
n->constraints = $6;
-
- if ($7 != NULL)
- ereport(NOTICE,
- (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("CREATE DOMAIN / COLLATE is not yet implemented; clause ignored")));
$$ = (Node *)n;
}
;
@@ -5463,11 +5451,6 @@ opt_charset:
| /*EMPTY*/ { $$ = NULL; }
;
-opt_collate:
- COLLATE ColId { $$ = $2; }
- | /*EMPTY*/ { $$ = NULL; }
- ;
-
ConstDatetime:
TIMESTAMP '(' Iconst ')' opt_timezone
{
@@ -5753,15 +5736,6 @@ qual_all_Op:
a_expr: c_expr { $$ = $1; }
| a_expr TYPECAST Typename
{ $$ = makeTypeCast($1, $3); }
- | a_expr COLLATE ColId
- {
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName($3);
- n->args = makeList1($1);
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- $$ = (Node *) n;
- }
| a_expr AT TIME ZONE c_expr
{
FuncCall *n = makeNode(FuncCall);