summaryrefslogtreecommitdiff
path: root/sql/sql_yacc.yy
diff options
context:
space:
mode:
authormonty@hundin.mysql.fi <>2002-06-04 08:23:57 +0300
committermonty@hundin.mysql.fi <>2002-06-04 08:23:57 +0300
commitee6bd848804192d9bb4258ccf84b61b774190673 (patch)
treeab63127fecca420ce57c76f7e3b5903ee4138d91 /sql/sql_yacc.yy
parentf0b28da6f91cf87804015b5dde4820be040c2de7 (diff)
downloadmariadb-git-ee6bd848804192d9bb4258ccf84b61b774190673.tar.gz
Changes for new binary .frm format
Fixes after last merge from 4.0. (Code not yet complete, need anoter merge from 4.0)
Diffstat (limited to 'sql/sql_yacc.yy')
-rw-r--r--sql/sql_yacc.yy25
1 files changed, 19 insertions, 6 deletions
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index 32af9a0197f..578cad25bb4 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -1147,7 +1147,7 @@ references:
};
opt_ref_list:
- /* empty */ {}
+ /* empty */ opt_on_delete {}
| '(' ref_list ')' opt_on_delete {};
ref_list:
@@ -1273,11 +1273,24 @@ alter_list_item:
lex->change= $3.str; lex->simple_alter=0;
}
field_spec opt_place
- | MODIFY_SYM opt_column field_spec
- {
- Lex->simple_alter=0;
- }
- opt_place
+ | MODIFY_SYM opt_column field_ident
+ {
+ LEX *lex=Lex;
+ lex->length=lex->dec=0; lex->type=0; lex->interval=0;
+ lex->default_value=lex->comment=0;
+ lex->simple_alter=0;
+ }
+ type opt_attribute
+ {
+ LEX *lex=Lex;
+ if (add_field_to_list($3.str,
+ (enum enum_field_types) $5,
+ lex->length,lex->dec,lex->type,
+ lex->default_value, lex->comment,
+ $3.str, lex->interval))
+ YYABORT;
+ }
+ opt_place
| DROP opt_column field_ident opt_restrict
{
LEX *lex=Lex;