summaryrefslogtreecommitdiff
path: root/sql/table.h
diff options
context:
space:
mode:
authorAleksey Midenkov <midenok@gmail.com>2019-11-25 16:01:43 +0300
committerAleksey Midenkov <midenok@gmail.com>2019-11-25 16:01:43 +0300
commit33f55789d354b0fccf5234027dc0bd66cbd0c539 (patch)
treec223a494f81a6adb384a2e7e3e0323b8992fcef5 /sql/table.h
parent4111a53079da9850c630ce30eec7f8a38744eacd (diff)
downloadmariadb-git-33f55789d354b0fccf5234027dc0bd66cbd0c539.tar.gz
MDEV-18727 improve DML operation of System Versioning (10.4)
UPDATE, DELETE: replace linear search of current/historical records with vers_setup_conds(). Additional DML cases in view.test
Diffstat (limited to 'sql/table.h')
-rw-r--r--sql/table.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/sql/table.h b/sql/table.h
index 700c5f036fd..ae46b192854 100644
--- a/sql/table.h
+++ b/sql/table.h
@@ -1930,6 +1930,7 @@ struct vers_select_conds_t
{
vers_system_time_t type;
bool used:1;
+ bool delete_history:1;
Vers_history_point start;
Vers_history_point end;
Lex_ident name;
@@ -1943,6 +1944,7 @@ struct vers_select_conds_t
{
type= SYSTEM_TIME_UNSPECIFIED;
used= false;
+ delete_history= false;
start.empty();
end.empty();
}
@@ -1954,6 +1956,8 @@ struct vers_select_conds_t
{
type= _type;
used= false;
+ delete_history= (type == SYSTEM_TIME_HISTORY ||
+ type == SYSTEM_TIME_BEFORE);
start= _start;
end= _end;
name= _name;