summaryrefslogtreecommitdiff
path: root/sql/set_var.cc
diff options
context:
space:
mode:
authorVicentiu Ciorbaru <cvicentiu@gmail.com>2014-07-13 23:57:10 +0000
committerSergei Golubchik <serg@mariadb.org>2014-07-23 14:48:12 +0200
commit64b27c734eed91e2b79701c9c53283d9411f702f (patch)
tree6f7e49f44ad916637fb214fc93df1a59bcf76553 /sql/set_var.cc
parent43351faf2b229fb2e87331227efb2daf554647a7 (diff)
downloadmariadb-git-64b27c734eed91e2b79701c9c53283d9411f702f.tar.gz
Added default role implementation
Diffstat (limited to 'sql/set_var.cc')
-rw-r--r--sql/set_var.cc24
1 files changed, 24 insertions, 0 deletions
diff --git a/sql/set_var.cc b/sql/set_var.cc
index ea577bbfa74..5c1e00af33e 100644
--- a/sql/set_var.cc
+++ b/sql/set_var.cc
@@ -852,6 +852,7 @@ int set_var_password::update(THD *thd)
/*****************************************************************************
Functions to handle SET ROLE
*****************************************************************************/
+
int set_var_role::check(THD *thd)
{
#ifndef NO_EMBEDDED_ACCESS_CHECKS
@@ -871,6 +872,29 @@ int set_var_role::update(THD *thd)
#endif
}
+/*****************************************************************************
+ Functions to handle SET DEFAULT ROLE
+*****************************************************************************/
+
+int set_var_default_role::check(THD *thd)
+{
+#ifndef NO_EMBEDDED_ACCESS_CHECKS
+ user= get_current_user(thd, user);
+ int status= acl_check_set_default_role(thd, user->host.str, user->user.str);
+ return status;
+#else
+ return 0;
+#endif
+}
+
+int set_var_default_role::update(THD *thd)
+{
+#ifndef NO_EMBEDDED_ACCESS_CHECKS
+ return acl_set_default_role(thd, user->host.str, user->user.str, role.str);
+#else
+ return 0;
+#endif
+}
/*****************************************************************************
Functions to handle SET NAMES and SET CHARACTER SET