Commit ac3884e2 authored by Michael Meskes's avatar Michael Meskes

*** empty log message ***

parent 3097788f
...@@ -871,5 +871,9 @@ Wed Mar 15 17:36:02 CET 2000 ...@@ -871,5 +871,9 @@ Wed Mar 15 17:36:02 CET 2000
Sun Mar 19 11:03:13 CET 2000 Sun Mar 19 11:03:13 CET 2000
- Fixed quoting bug in disconnect statement. - Fixed quoting bug in disconnect statement.
Thu Mar 23 08:13:39 CET 2000
- Synced preproc.y and keyword.c.
- Set library version to 3.1.0. - Set library version to 3.1.0.
- Set ecpg version to 2.7.0. - Set ecpg version to 2.7.0.
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/keywords.c,v 1.24 2000/03/15 19:09:10 meskes Exp $ * $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/keywords.c,v 1.25 2000/03/23 07:53:48 meskes Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -48,6 +48,7 @@ static ScanKeyword ScanKeywords[] = { ...@@ -48,6 +48,7 @@ static ScanKeyword ScanKeywords[] = {
{"begin", BEGIN_TRANS}, {"begin", BEGIN_TRANS},
{"between", BETWEEN}, {"between", BETWEEN},
{"binary", BINARY}, {"binary", BINARY},
{"bit", BIT},
{"both", BOTH}, {"both", BOTH},
{"by", BY}, {"by", BY},
{"cache", CACHE}, {"cache", CACHE},
......
...@@ -223,7 +223,7 @@ make_name(void) ...@@ -223,7 +223,7 @@ make_name(void)
* - Todd A. Brandys 1998-01-01? * - Todd A. Brandys 1998-01-01?
*/ */
%token ABORT_TRANS, ACCESS, AFTER, AGGREGATE, ANALYZE, %token ABORT_TRANS, ACCESS, AFTER, AGGREGATE, ANALYZE,
BACKWARD, BEFORE, BINARY, BACKWARD, BEFORE, BINARY, BIT
CACHE, CLUSTER, COMMENT, COPY, CREATEDB, CREATEUSER, CYCLE, CACHE, CLUSTER, COMMENT, COPY, CREATEDB, CREATEUSER, CYCLE,
DATABASE, DELIMITERS, DO, DATABASE, DELIMITERS, DO,
EACH, ENCODING, EXCLUSIVE, EXPLAIN, EXTEND, EACH, ENCODING, EXCLUSIVE, EXPLAIN, EXTEND,
...@@ -326,7 +326,7 @@ make_name(void) ...@@ -326,7 +326,7 @@ make_name(void)
%type <str> CreatePLangStmt IntegerOnly TriggerFuncArgs TriggerFuncArg %type <str> CreatePLangStmt IntegerOnly TriggerFuncArgs TriggerFuncArg
%type <str> ViewStmt LoadStmt CreatedbStmt createdb_opt_encoding %type <str> ViewStmt LoadStmt CreatedbStmt createdb_opt_encoding
%type <str> createdb_opt_location opt_encoding AlterTableStmt %type <str> createdb_opt_location opt_encoding AlterTableStmt
%type <str> DropdbStmt ClusterStmt grantee RevokeStmt table_expr %type <str> DropdbStmt ClusterStmt grantee RevokeStmt table_expr Bit bit
%type <str> GrantStmt privileges operation_commalist operation %type <str> GrantStmt privileges operation_commalist operation
%type <str> opt_cursor opt_lmode ConstraintsSetStmt comment_tg %type <str> opt_cursor opt_lmode ConstraintsSetStmt comment_tg
%type <str> case_expr when_clause_list case_default case_arg when_clause %type <str> case_expr when_clause_list case_default case_arg when_clause
...@@ -2899,6 +2899,7 @@ Typename: SimpleTypename opt_array_bounds ...@@ -2899,6 +2899,7 @@ Typename: SimpleTypename opt_array_bounds
SimpleTypename: Generic { $$ = $1; } SimpleTypename: Generic { $$ = $1; }
| Datetime { $$ = $1; } | Datetime { $$ = $1; }
| Numeric { $$ = $1; } | Numeric { $$ = $1; }
| Bit { $$ = $1; }
| Character { $$ = $1; } | Character { $$ = $1; }
; ;
...@@ -3059,6 +3060,35 @@ opt_decimal: '(' Iconst ',' Iconst ')' ...@@ -3059,6 +3060,35 @@ opt_decimal: '(' Iconst ',' Iconst ')'
} }
; ;
/*
* SQL92 bit-field data types
* The following implements BIT() and BIT VARYING().
*/
Bit: bit '(' Iconst ')'
{
$$ = cat_str(4, $1, make_str("("), $3, make_str(")"));
if (atol($3) < 1)
{
sprintf(errortext,"length for type '%s' must be at least 1",$1);
mmerror(ET_ERROR, errortext);
}
else if (atol($3) > (MaxAttrSize *sizeof(char)))
{
sprintf(errortext, "length for type '%s' cannot exceed %ld", $1,
(MaxAttrSize * sizeof(char)));
}
}
| bit
{
$$ = $1;
}
;
bit: BIT opt_varying
{
$$ = cat2_str(make_str("bit"), $2);
}
/* /*
* SQL92 character data types * SQL92 character data types
* The following implements CHAR() and VARCHAR(). * The following implements CHAR() and VARCHAR().
...@@ -3250,6 +3280,8 @@ a_expr: c_expr ...@@ -3250,6 +3280,8 @@ a_expr: c_expr
* If you add more explicitly-known operators, be sure to add them * If you add more explicitly-known operators, be sure to add them
* also to b_expr and to the MathOp list above. * also to b_expr and to the MathOp list above.
*/ */
| '+' a_expr %prec UMINUS
{ $$ = cat2_str(make_str("+"), $2); }
| '-' a_expr %prec UMINUS | '-' a_expr %prec UMINUS
{ $$ = cat2_str(make_str("-"), $2); } { $$ = cat2_str(make_str("-"), $2); }
| '%' a_expr | '%' a_expr
...@@ -3262,7 +3294,10 @@ a_expr: c_expr ...@@ -3262,7 +3294,10 @@ a_expr: c_expr
{ $$ = cat2_str(make_str(":"), $2); } { $$ = cat2_str(make_str(":"), $2); }
*/ */
| ';' a_expr | ';' a_expr
{ $$ = cat2_str(make_str(";"), $2); } { $$ = cat2_str(make_str(";"), $2);
mmerror(ET_WARN, "The ';' operator is deprecated. Use ln(x) instead."
"\n\tThis operator will be removed in a future release.");
}
| a_expr '%' | a_expr '%'
{ $$ = cat2_str($1, make_str("%")); } { $$ = cat2_str($1, make_str("%")); }
| a_expr '^' | a_expr '^'
...@@ -3380,7 +3415,10 @@ b_expr: c_expr ...@@ -3380,7 +3415,10 @@ b_expr: c_expr
{ $$ = cat2_str(make_str(":"), $2); } { $$ = cat2_str(make_str(":"), $2); }
*/ */
| ';' b_expr | ';' b_expr
{ $$ = cat2_str(make_str(";"), $2); } { $$ = cat2_str(make_str(";"), $2);
mmerror(ET_WARN, "The ';' operator is deprecated. Use ln(x) instead."
"\n\tThis operator will be removed in a future release.");
}
| b_expr '%' | b_expr '%'
{ $$ = cat2_str($1, make_str("%")); } { $$ = cat2_str($1, make_str("%")); }
| b_expr '^' | b_expr '^'
...@@ -3810,6 +3848,8 @@ TypeId: ColId ...@@ -3810,6 +3848,8 @@ TypeId: ColId
{ $$ = $1; } { $$ = $1; }
| numeric | numeric
{ $$ = $1; } { $$ = $1; }
| bit
{ $$ = $1; }
| character | character
{ $$ = $1; } { $$ = $1; }
; ;
...@@ -4884,6 +4924,7 @@ ECPGColId: /* to be used instead of ColId */ ...@@ -4884,6 +4924,7 @@ ECPGColId: /* to be used instead of ColId */
| EACH { $$ = make_str("each"); } | EACH { $$ = make_str("each"); }
| ENCODING { $$ = make_str("encoding"); } | ENCODING { $$ = make_str("encoding"); }
| EXCLUSIVE { $$ = make_str("exclusive"); } | EXCLUSIVE { $$ = make_str("exclusive"); }
| FORCE { $$ = make_str("force"); }
| FORWARD { $$ = make_str("forward"); } | FORWARD { $$ = make_str("forward"); }
| FUNCTION { $$ = make_str("function"); } | FUNCTION { $$ = make_str("function"); }
| HANDLER { $$ = make_str("handler"); } | HANDLER { $$ = make_str("handler"); }
...@@ -4957,7 +4998,9 @@ ECPGColLabel: ECPGColId { $$ = $1; } ...@@ -4957,7 +4998,9 @@ ECPGColLabel: ECPGColId { $$ = $1; }
| ABORT_TRANS { $$ = make_str("abort"); } | ABORT_TRANS { $$ = make_str("abort"); }
| ANALYZE { $$ = make_str("analyze"); } | ANALYZE { $$ = make_str("analyze"); }
| BINARY { $$ = make_str("binary"); } | BINARY { $$ = make_str("binary"); }
| BIT { $$ = make_str("bit"); }
| CASE { $$ = make_str("case"); } | CASE { $$ = make_str("case"); }
| CHARACTER { $$ = make_str("character"); }
| CLUSTER { $$ = make_str("cluster"); } | CLUSTER { $$ = make_str("cluster"); }
| COALESCE { $$ = make_str("coalesce"); } | COALESCE { $$ = make_str("coalesce"); }
| CONSTRAINT { $$ = make_str("constraint"); } | CONSTRAINT { $$ = make_str("constraint"); }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment