@@ -5852,10 +5852,9 @@ create_table_option:
58525852 }
58535853 | WITH SYSTEM VERSIONING
58545854 {
5855- System_versioning_info *info = Lex->vers_get_info();
5856- if (!info)
5857- MYSQL_YYABORT;
5858- info->declared_system_versioning = true;
5855+ System_versioning_info &info= Lex->vers_get_info();
5856+ info.declared_system_versioning= true;
5857+ info.versioned= true;
58595858 }
58605859 ;
58615860
@@ -6060,15 +6059,14 @@ period_for_system_time:
60606059 // If FOR_SYM is followed by SYSTEM_TIME_SYM then they are merged to: FOR_SYSTEM_TIME_SYM .
60616060 PERIOD_SYM FOR_SYSTEM_TIME_SYM '(' period_for_system_time_column_id ',' period_for_system_time_column_id ')'
60626061 {
6063- System_versioning_info *info = Lex->vers_get_info();
6064- if (!info)
6065- MYSQL_YYABORT;
6062+ System_versioning_info &info= Lex->vers_get_info();
60666063 if (!my_strcasecmp(system_charset_info, $4->c_ptr(), $6->c_ptr()))
60676064 {
60686065 my_error(ER_SYS_START_AND_SYS_END_SAME, MYF(0), $4->c_ptr());
60696066 MYSQL_YYABORT;
60706067 }
6071- info->set_period_for_system_time($4, $6);
6068+ info.set_period_for_system_time($4, $6);
6069+ info.versioned= true;
60726070 }
60736071 ;
60746072
@@ -6168,26 +6166,24 @@ field_def:
61686166 vcol_opt_specifier vcol_opt_attribute
61696167 | opt_generated_always AS ROW_SYM start_or_end
61706168 {
6171- System_versioning_info *info =
6172- Lex->vers_get_info();
6173- if (!info)
6174- MYSQL_YYABORT;
6175- String *field_name = new (thd->mem_root)
6169+ System_versioning_info &info= Lex->vers_get_info();
6170+ info.versioned= true;
6171+ String *field_name= new (thd->mem_root)
61766172 String((const char*)Lex->last_field->field_name, system_charset_info);
61776173 if (!field_name)
61786174 MYSQL_YYABORT;
61796175
6180- String **p = NULL;
6181- int err_nr = 0;
6176+ String **p= NULL;
6177+ int err_nr= 0;
61826178 switch ($4)
61836179 {
61846180 case 1:
6185- p = &info-> generated_as_row.start;
6186- err_nr = ER_SYS_START_MORE_THAN_ONCE;
6181+ p= &info. generated_as_row.start;
6182+ err_nr= ER_SYS_START_MORE_THAN_ONCE;
61876183 break;
61886184 case 0:
6189- p = &info-> generated_as_row.end;
6190- err_nr = ER_SYS_END_MORE_THAN_ONCE;
6185+ p= &info. generated_as_row.end;
6186+ err_nr= ER_SYS_END_MORE_THAN_ONCE;
61916187 break;
61926188 default:
61936189 /* Not Reachable */
@@ -6199,7 +6195,7 @@ field_def:
61996195 my_error(err_nr, MYF(0), field_name->c_ptr());
62006196 MYSQL_YYABORT;
62016197 }
6202- *p = field_name;
6198+ *p= field_name;
62036199 }
62046200 ;
62056201
0 commit comments