From 3e20a726033191660171d17b9fc08206f0d4aaed Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Sat, 6 Sep 2003 14:01:51 +0000 Subject: [PATCH] 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. --- src/backend/parser/gram.y | 34 ++++------------------------------ 1 file 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 character %type extract_arg -%type opt_charset opt_collate +%type opt_charset %type opt_numeric opt_decimal %type 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);