1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

System Versioning 1.0 pre5 [closes #407]

Merge branch '10.3' into trunk

Both field_visibility and VERS_HIDDEN_FLAG exist independently.

TODO:
VERS_HIDDEN_FLAG should be replaced with SYSTEM_INVISIBLE (or COMPLETELY_INVISIBLE?).
This commit is contained in:
Aleksey Midenkov
2017-12-15 15:01:13 +03:00
91 changed files with 2662 additions and 566 deletions

View File

@@ -335,6 +335,17 @@ enum enum_vcol_update_mode
VCOL_UPDATE_FOR_REPLACE
};
/* Field visibility enums */
enum field_visible_type{
NOT_INVISIBLE= 0,
USER_DEFINED_INVISIBLE,
/* automatically added by the server. Can be queried explicitly
in SELECT, otherwise invisible from anything" */
SYSTEM_INVISIBLE,
COMPLETELY_INVISIBLE,
MAX_BITS_INVISIBLE= 3
};
/**
Category of table found in the table share.
@@ -673,6 +684,7 @@ struct TABLE_SHARE
uint blob_fields; /* number of blob fields */
uint varchar_fields; /* number of varchar fields */
uint default_fields; /* number of default fields */
uint visible_fields; /* number of visible fields */
uint default_expressions;
uint table_check_constraints, field_check_constraints;
@@ -1559,8 +1571,8 @@ public:
uint vers_user_fields() const
{
return s->versioned ?
s->fields - VERSIONING_FIELDS :
s->fields;
s->visible_fields - VERSIONING_FIELDS :
s->visible_fields;
}
};