1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-27 18:02:13 +03:00

Merge branch '10.5' into 10.6

This commit is contained in:
Oleksandr Byelkin
2023-08-02 20:20:50 +02:00
42 changed files with 639 additions and 404 deletions

View File

@ -318,7 +318,7 @@ typedef struct st_copy_info {
class Key_part_spec :public Sql_alloc {
public:
LEX_CSTRING field_name;
Lex_ident field_name;
uint length;
bool generated;
Key_part_spec(const LEX_CSTRING *name, uint len, bool gen= false)
@ -453,6 +453,7 @@ public:
bool generated;
bool invisible;
bool without_overlaps;
bool old;
Lex_ident period;
Key(enum Keytype type_par, const LEX_CSTRING *name_arg,
@ -460,7 +461,7 @@ public:
:DDL_options(ddl_options),
type(type_par), key_create_info(default_key_create_info),
name(*name_arg), option_list(NULL), generated(generated_arg),
invisible(false), without_overlaps(false)
invisible(false), without_overlaps(false), old(false)
{
key_create_info.algorithm= algorithm_arg;
}
@ -471,12 +472,12 @@ public:
:DDL_options(ddl_options),
type(type_par), key_create_info(*key_info_arg), columns(*cols),
name(*name_arg), option_list(create_opt), generated(generated_arg),
invisible(false), without_overlaps(false)
invisible(false), without_overlaps(false), old(false)
{}
Key(const Key &rhs, MEM_ROOT *mem_root);
virtual ~Key() = default;
/* Equality comparison of keys (ignoring name) */
friend bool foreign_key_prefix(Key *a, Key *b);
friend bool is_foreign_key_prefix(Key *a, Key *b);
/**
Used to make a clone of this object for ALTER/CREATE TABLE
@sa comment for Key_part_spec::clone
@ -509,9 +510,7 @@ public:
ref_db(*ref_db_arg), ref_table(*ref_table_arg), ref_columns(*ref_cols),
delete_opt(delete_opt_arg), update_opt(update_opt_arg),
match_opt(match_opt_arg)
{
// We don't check for duplicate FKs.
key_create_info.check_for_duplicate_indexes= false;
{
}
Foreign_key(const Foreign_key &rhs, MEM_ROOT *mem_root);
/**