1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

Timestamp-based versioning for InnoDB [closes #209]

* Removed integer_fields check
* Reworked Vers_parse_info::check_sys_fields()
* Misc renames
* versioned as vers_sys_type_t

* Removed versioned_by_sql(), versioned_by_engine()

versioned() works as before;
versioned(VERS_TIMESTAMP) is versioned_by_sql();
versioned(VERS_TRX_ID) is versioned_by_engine().

* create_tmp_table() fix
* Foreign constraints for timestamp-based
* Range auto-specifier fix
* SQL: 1-row partition rotation fix [fixes #260]
* Fix 'drop system versioning, algorithm=inplace'
This commit is contained in:
Aleksey Midenkov
2017-12-18 19:03:51 +03:00
committed by GitHub
parent d5e37621cf
commit b55a149194
73 changed files with 1178 additions and 836 deletions

View File

@ -1757,7 +1757,7 @@ protected:
bool is_end(const char *name) const;
bool is_start(const Create_field &f) const;
bool is_end(const Create_field &f) const;
bool fix_implicit(THD *thd, Alter_info *alter_info, bool integer_fields, int *added= NULL);
bool fix_implicit(THD *thd, Alter_info *alter_info, int *added= NULL);
operator bool() const
{
return as_row.start || as_row.end || system_time.start || system_time.end;
@ -1772,8 +1772,8 @@ protected:
*this;
}
bool check_with_conditions(const char *table_name) const;
bool check_generated_type(const char *table_name, Alter_info *alter_info,
bool integer_fields) const;
bool check_sys_fields(const char *table_name, Alter_info *alter_info,
bool native) const;
public:
static const LString default_start;