8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-24 12:03:02 +01:00

Resolved CORE-1386.

This commit is contained in:
dimitr 2007-08-27 10:50:00 +00:00
parent 66df470481
commit 4284e1ee34
2 changed files with 11 additions and 2 deletions

View File

@ -62,6 +62,7 @@ static const TOK tokens[] =
{AFTER, "AFTER", 1, false}, {AFTER, "AFTER", 1, false},
{ALL, "ALL", 1, false}, {ALL, "ALL", 1, false},
{ALTER, "ALTER", 1, false}, {ALTER, "ALTER", 1, false},
{ALWAYS, "ALWAYS", 2, true},
{AND, "AND", 1, false}, {AND, "AND", 1, false},
{ANY, "ANY", 1, false}, {ANY, "ANY", 1, false},
{AS, "AS", 1, false}, {AS, "AS", 1, false},
@ -177,6 +178,7 @@ static const TOK tokens[] =
{FULL, "FULL", 1, false}, {FULL, "FULL", 1, false},
{FUNCTION, "FUNCTION", 1, false}, {FUNCTION, "FUNCTION", 1, false},
{GDSCODE, "GDSCODE", 1, false}, {GDSCODE, "GDSCODE", 1, false},
{GENERATED, "GENERATED", 2, true},
{GENERATOR, "GENERATOR", 1, false}, {GENERATOR, "GENERATOR", 1, false},
{GEN_ID, "GEN_ID", 1, false}, {GEN_ID, "GEN_ID", 1, false},
{GEN_UUID, "GEN_UUID", 2, false}, {GEN_UUID, "GEN_UUID", 2, false},

View File

@ -516,6 +516,7 @@ static LexerState lex;
%token ABS %token ABS
%token ACCENT %token ACCENT
%token ACOS %token ACOS
%token ALWAYS
%token ASCII_CHAR %token ASCII_CHAR
%token ASCII_VAL %token ASCII_VAL
%token ASIN %token ASIN
@ -538,6 +539,7 @@ static LexerState lex;
%token EXP %token EXP
%token FLOOR %token FLOOR
%token GEN_UUID %token GEN_UUID
%token GENERATED
%token GLOBAL %token GLOBAL
%token HASH %token HASH
%token INSENSITIVE %token INSENSITIVE
@ -1326,7 +1328,6 @@ column_def : column_def_name data_type_or_domain domain_default_opt
| column_def_name non_array_type def_computed | column_def_name non_array_type def_computed
{ $$ = make_node (nod_def_field, (int) e_dfl_count, { $$ = make_node (nod_def_field, (int) e_dfl_count,
$1, NULL, NULL, NULL, NULL, NULL, $3); } $1, NULL, NULL, NULL, NULL, NULL, $3); }
| column_def_name def_computed | column_def_name def_computed
{ $$ = make_node (nod_def_field, (int) e_dfl_count, { $$ = make_node (nod_def_field, (int) e_dfl_count,
$1, NULL, NULL, NULL, NULL, NULL, $2); } $1, NULL, NULL, NULL, NULL, NULL, $2); }
@ -1336,12 +1337,16 @@ column_def : column_def_name data_type_or_domain domain_default_opt
* source text * source text
*/ */
def_computed : computed_by '(' begin_trigger value end_trigger ')' def_computed : computed_clause '(' begin_trigger value end_trigger ')'
{ {
lex.g_field->fld_flags |= FLD_computed; lex.g_field->fld_flags |= FLD_computed;
$$ = make_node (nod_def_computed, 2, $4, $5); } $$ = make_node (nod_def_computed, 2, $4, $5); }
; ;
computed_clause : computed_by
| GENERATED ALWAYS AS
;
computed_by : COMPUTED BY computed_by : COMPUTED BY
| COMPUTED | COMPUTED
; ;
@ -4744,6 +4749,7 @@ non_reserved_word :
| ABS /* added in FB 2.1 */ | ABS /* added in FB 2.1 */
| ACCENT | ACCENT
| ACOS | ACOS
| ALWAYS
| ASCII_CHAR | ASCII_CHAR
| ASCII_VAL | ASCII_VAL
| ASIN | ASIN
@ -4764,6 +4770,7 @@ non_reserved_word :
| EXP | EXP
| FLOOR | FLOOR
| GEN_UUID | GEN_UUID
| GENERATED
| HASH | HASH
| LIST | LIST
| LN | LN