mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
SQL: implicit fields for IB tables + misc cleanups
This commit is contained in:
@ -3155,12 +3155,9 @@ copy_info_about_generated_fields(Alter_info *dst_alter_info,
|
||||
if (!src_create_info->versioned())
|
||||
return;
|
||||
|
||||
const System_versioning_info *versioning_info =
|
||||
src_create_info->get_system_versioning_info();
|
||||
DBUG_ASSERT(versioning_info);
|
||||
const char *row_start_field = versioning_info->generated_as_row.start->c_ptr();
|
||||
const char *row_start_field = src_create_info->vers_info.generated_as_row.start->c_ptr();
|
||||
DBUG_ASSERT(row_start_field);
|
||||
const char *row_end_field = versioning_info->generated_as_row.end->c_ptr();
|
||||
const char *row_end_field = src_create_info->vers_info.generated_as_row.end->c_ptr();
|
||||
DBUG_ASSERT(row_end_field);
|
||||
|
||||
List_iterator<Create_field> it(dst_alter_info->create_list);
|
||||
@ -3249,8 +3246,6 @@ mysql_prepare_create_table(THD *thd, HA_CREATE_INFO *create_info,
|
||||
}
|
||||
|
||||
select_field_pos= alter_info->create_list.elements - select_field_count;
|
||||
const System_versioning_info *versioning_info =
|
||||
create_info->get_system_versioning_info();
|
||||
|
||||
for (field_no=0; (sql_field=it++) ; field_no++)
|
||||
{
|
||||
@ -3478,15 +3473,15 @@ mysql_prepare_create_table(THD *thd, HA_CREATE_INFO *create_info,
|
||||
if (sql_field->stored_in_db())
|
||||
record_offset+= sql_field->pack_length;
|
||||
|
||||
if (versioning_info)
|
||||
if (create_info->versioned())
|
||||
{
|
||||
const bool is_generated_as_row_start =
|
||||
!my_strcasecmp(system_charset_info,
|
||||
versioning_info->generated_as_row.start->c_ptr(),
|
||||
create_info->vers_info.generated_as_row.start->c_ptr(),
|
||||
sql_field->field_name);
|
||||
const bool is_generated_as_row_end =
|
||||
!my_strcasecmp(system_charset_info,
|
||||
versioning_info->generated_as_row.end->c_ptr(),
|
||||
create_info->vers_info.generated_as_row.end->c_ptr(),
|
||||
sql_field->field_name);
|
||||
if (is_generated_as_row_start && is_generated_as_row_end)
|
||||
{
|
||||
@ -4351,13 +4346,9 @@ vers_prepare_keys(THD *thd,
|
||||
{
|
||||
DBUG_ASSERT(create_info->versioned());
|
||||
|
||||
const System_versioning_info *versioning_info=
|
||||
create_info->get_system_versioning_info();
|
||||
|
||||
DBUG_ASSERT(versioning_info);
|
||||
const char *row_start_field= versioning_info->generated_as_row.start->c_ptr();
|
||||
const char *row_start_field= create_info->vers_info.generated_as_row.start->c_ptr();
|
||||
DBUG_ASSERT(row_start_field);
|
||||
const char *row_end_field= versioning_info->generated_as_row.end->c_ptr();
|
||||
const char *row_end_field= create_info->vers_info.generated_as_row.end->c_ptr();
|
||||
DBUG_ASSERT(row_end_field);
|
||||
|
||||
List_iterator<Key> key_it(alter_info->key_list);
|
||||
@ -4384,7 +4375,7 @@ vers_prepare_keys(THD *thd,
|
||||
continue; // Key already contains Sys_start or Sys_end
|
||||
|
||||
const LEX_STRING &lex_sys_end=
|
||||
versioning_info->generated_as_row.end->lex_string();
|
||||
create_info->vers_info.generated_as_row.end->lex_string();
|
||||
Key_part_spec *key_part_sys_end_col=
|
||||
new(thd->mem_root) Key_part_spec(lex_sys_end, 0);
|
||||
key->columns.push_back(key_part_sys_end_col);
|
||||
|
Reference in New Issue
Block a user