summaryrefslogtreecommitdiff
path: root/plugin/versioning
diff options
context:
space:
mode:
authorAleksey Midenkov <midenok@gmail.com>2017-03-30 12:57:31 +0300
committerAleksey Midenkov <midenok@gmail.com>2017-05-05 20:36:34 +0300
commit9e9af76eaf4eec4f105e029975ec5a142ec7e8f2 (patch)
treed03fcddae7dc34bf47e250d8697b1da8eb415015 /plugin/versioning
parentb240671c04248400ec7954e56dacfeab45ee5343 (diff)
downloadmariadb-git-9e9af76eaf4eec4f105e029975ec5a142ec7e8f2.tar.gz
SQL: vers_current_time refactoring [closes #117]
* session sysvars; * moved value parsing to set variable phase; * renamed 'temporal_current_timestamp' to 'vers_current_time'.
Diffstat (limited to 'plugin/versioning')
-rw-r--r--plugin/versioning/versioning.cc13
1 files changed, 9 insertions, 4 deletions
diff --git a/plugin/versioning/versioning.cc b/plugin/versioning/versioning.cc
index c1a5a7cd6a5..016367f89f4 100644
--- a/plugin/versioning/versioning.cc
+++ b/plugin/versioning/versioning.cc
@@ -17,6 +17,7 @@
#include <mysql_version.h>
#include <mysqld.h>
#include "sql_plugin.h" // st_plugin_int
+#include "sql_class.h"
/*
Disable __attribute__() on non-gcc compilers.
@@ -29,16 +30,20 @@ static int forced_versioning_init(void *p __attribute__ ((unused)))
{
DBUG_ENTER("forced_versioning_init");
- vers_force= true;
- vers_hide= VERS_HIDE_FULL;
+ mysql_mutex_lock(&LOCK_global_system_variables);
+ global_system_variables.vers_force= true;
+ global_system_variables.vers_hide= VERS_HIDE_FULL;
+ mysql_mutex_unlock(&LOCK_global_system_variables);
DBUG_RETURN(0);
}
static int forced_versioning_deinit(void *p __attribute__ ((unused)))
{
DBUG_ENTER("forced_versioning_deinit");
- vers_force= false;
- vers_hide= VERS_HIDE_AUTO;
+ mysql_mutex_lock(&LOCK_global_system_variables);
+ global_system_variables.vers_force= false;
+ global_system_variables.vers_hide= VERS_HIDE_AUTO;
+ mysql_mutex_unlock(&LOCK_global_system_variables);
DBUG_RETURN(0);
}