1111 *
1212 *
1313 * IDENTIFICATION
14- * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.398 2003/02/03 14:04:24 momjian Exp $
14+ * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.399 2003/02/05 20:16:42 tgl Exp $
1515 *
1616 * HISTORY
1717 * AUTHORDATEMAJOR EVENT
@@ -3229,7 +3229,7 @@ any_operator:
32293229 *
32303230 *****************************************************************************/
32313231
3232- CreateCastStmt: CREATE CAST' (' ConstTypename ASConstTypename ' )'
3232+ CreateCastStmt: CREATE CAST' (' Typename ASTypename ' )'
32333233WITH FUNCTION function_with_argtypes cast_context
32343234{
32353235CreateCastStmt *n = makeNode(CreateCastStmt);
@@ -3239,7 +3239,7 @@ CreateCastStmt: CREATE CAST '(' ConstTypename AS ConstTypename ')'
32393239n->context = (CoercionContext)$11 ;
32403240$$ = (Node *)n;
32413241}
3242- | CREATE CAST' (' ConstTypename ASConstTypename ' )'
3242+ | CREATE CAST' (' Typename ASTypename ' )'
32433243WITHOUT FUNCTION cast_context
32443244{
32453245CreateCastStmt *n = makeNode(CreateCastStmt);
@@ -3257,7 +3257,7 @@ cast_context: AS IMPLICIT_P{ $$ = COERCION_IMPLICIT; }
32573257;
32583258
32593259
3260- DropCastStmt: DROP CAST' (' ConstTypename ASConstTypename ' )' opt_drop_behavior
3260+ DropCastStmt: DROP CAST' (' Typename ASTypename ' )' opt_drop_behavior
32613261{
32623262DropCastStmt *n = makeNode(DropCastStmt);
32633263n->sourcetype =$4 ;
@@ -4948,9 +4948,10 @@ Typename:SimpleTypename opt_array_bounds
49484948$$ = $1 ;
49494949$$->arrayBounds = $2 ;
49504950}
4951- | SETOF SimpleTypename
4951+ | SETOF SimpleTypename opt_array_bounds
49524952{
49534953$$ = $2 ;
4954+ $$->arrayBounds = $3 ;
49544955$$->setof =TRUE ;
49554956}
49564957;
@@ -5173,6 +5174,8 @@ Bit:BitWithLength
51735174}
51745175;
51755176
5177+ /* ConstBit is like Bit except "BIT" defaults to unspecified length*/
5178+ /* See notes for ConstCharacter, which addresses same issue for "CHAR"*/
51765179ConstBit:BitWithLength
51775180{
51785181$$ = $1 ;