Commit fddaaf72 authored by Aleksey Midenkov's avatar Aleksey Midenkov Committed by Sergei Golubchik

MDEV-15978 Add Feature_system_versioning status variable

parent da25860d
...@@ -13,6 +13,7 @@ Feature_invisible_columns 0 ...@@ -13,6 +13,7 @@ Feature_invisible_columns 0
Feature_json 0 Feature_json 0
Feature_locale 0 Feature_locale 0
Feature_subquery 0 Feature_subquery 0
Feature_system_versioning 0
Feature_timezone 0 Feature_timezone 0
Feature_trigger 0 Feature_trigger 0
Feature_window_functions 0 Feature_window_functions 0
......
...@@ -126,4 +126,7 @@ select * from t for system_time between '0-0-0' and current_timestamp(6); ...@@ -126,4 +126,7 @@ select * from t for system_time between '0-0-0' and current_timestamp(6);
a a
2 2
1 1
show status like "Feature_system_versioning";
Variable_name Value
Feature_system_versioning 2
drop table t; drop table t;
...@@ -84,4 +84,6 @@ select * from t for system_time all; ...@@ -84,4 +84,6 @@ select * from t for system_time all;
select * from t for system_time from '0-0-0' to current_timestamp(6); select * from t for system_time from '0-0-0' to current_timestamp(6);
select * from t for system_time between '0-0-0' and current_timestamp(6); select * from t for system_time between '0-0-0' and current_timestamp(6);
show status like "Feature_system_versioning";
drop table t; drop table t;
...@@ -8558,6 +8558,7 @@ SHOW_VAR status_vars[]= { ...@@ -8558,6 +8558,7 @@ SHOW_VAR status_vars[]= {
{"Feature_json", (char*) offsetof(STATUS_VAR, feature_json), SHOW_LONG_STATUS}, {"Feature_json", (char*) offsetof(STATUS_VAR, feature_json), SHOW_LONG_STATUS},
{"Feature_locale", (char*) offsetof(STATUS_VAR, feature_locale), SHOW_LONG_STATUS}, {"Feature_locale", (char*) offsetof(STATUS_VAR, feature_locale), SHOW_LONG_STATUS},
{"Feature_subquery", (char*) offsetof(STATUS_VAR, feature_subquery), SHOW_LONG_STATUS}, {"Feature_subquery", (char*) offsetof(STATUS_VAR, feature_subquery), SHOW_LONG_STATUS},
{"Feature_system_versioning", (char*) offsetof(STATUS_VAR, feature_system_versioning), SHOW_LONG_STATUS},
{"Feature_timezone", (char*) offsetof(STATUS_VAR, feature_timezone), SHOW_LONG_STATUS}, {"Feature_timezone", (char*) offsetof(STATUS_VAR, feature_timezone), SHOW_LONG_STATUS},
{"Feature_trigger", (char*) offsetof(STATUS_VAR, feature_trigger), SHOW_LONG_STATUS}, {"Feature_trigger", (char*) offsetof(STATUS_VAR, feature_trigger), SHOW_LONG_STATUS},
{"Feature_window_functions", (char*) offsetof(STATUS_VAR, feature_window_functions), SHOW_LONG_STATUS}, {"Feature_window_functions", (char*) offsetof(STATUS_VAR, feature_window_functions), SHOW_LONG_STATUS},
......
...@@ -823,6 +823,7 @@ typedef struct system_status_var ...@@ -823,6 +823,7 @@ typedef struct system_status_var
ulong feature_json; /* +1 when JSON function appears in the statement */ ulong feature_json; /* +1 when JSON function appears in the statement */
ulong feature_locale; /* +1 when LOCALE is set */ ulong feature_locale; /* +1 when LOCALE is set */
ulong feature_subquery; /* +1 when subqueries are used */ ulong feature_subquery; /* +1 when subqueries are used */
ulong feature_system_versioning; /* +1 opening a table WITH SYSTEM VERSIONING */
ulong feature_timezone; /* +1 when XPATH is used */ ulong feature_timezone; /* +1 when XPATH is used */
ulong feature_trigger; /* +1 opening a table with triggers */ ulong feature_trigger; /* +1 opening a table with triggers */
ulong feature_xml; /* +1 when XPATH is used */ ulong feature_xml; /* +1 when XPATH is used */
......
...@@ -1777,6 +1777,7 @@ int TABLE_SHARE::init_from_binary_frm_image(THD *thd, bool write, ...@@ -1777,6 +1777,7 @@ int TABLE_SHARE::init_from_binary_frm_image(THD *thd, bool write,
vers_can_native= plugin_hton(se_plugin)->flags & HTON_NATIVE_SYS_VERSIONING; vers_can_native= plugin_hton(se_plugin)->flags & HTON_NATIVE_SYS_VERSIONING;
row_start_field= row_start; row_start_field= row_start;
row_end_field= row_end; row_end_field= row_end;
status_var_increment(thd->status_var.feature_system_versioning);
} // if (system_period == NULL) } // if (system_period == NULL)
for (i=0 ; i < share->fields; i++, strpos+=field_pack_length, field_ptr++) for (i=0 ; i < share->fields; i++, strpos+=field_pack_length, field_ptr++)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment