summaryrefslogtreecommitdiff
path: root/sql/sql_class.cc
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2017-03-06 19:34:22 +0100
committerSergei Golubchik <serg@mariadb.org>2017-03-10 18:21:27 +0100
commit0877eff4012ab1184112814a3492d23bf266f848 (patch)
tree1b34a6bbbd9c1e2d505a0806b85bdc521620083a /sql/sql_class.cc
parent6305533de2fd38d43c149d4d7c847f65d68205c7 (diff)
downloadmariadb-git-0877eff4012ab1184112814a3492d23bf266f848.tar.gz
thd_rnd service
Diffstat (limited to 'sql/sql_class.cc')
-rw-r--r--sql/sql_class.cc22
1 files changed, 22 insertions, 0 deletions
diff --git a/sql/sql_class.cc b/sql/sql_class.cc
index fb58519b816..3a7e501c6c2 100644
--- a/sql/sql_class.cc
+++ b/sql/sql_class.cc
@@ -4475,6 +4475,28 @@ extern "C" int thd_is_connected(MYSQL_THD thd)
}
+extern "C" double thd_rnd(MYSQL_THD thd)
+{
+ return my_rnd(&thd->rand);
+}
+
+
+/**
+ Generate string of printable random characters of requested length.
+
+ @param to[out] Buffer for generation; must be at least length+1 bytes
+ long; result string is always null-terminated
+ @param length[in] How many random characters to put in buffer
+*/
+extern "C" void thd_create_random_password(MYSQL_THD thd,
+ char *to, size_t length)
+{
+ for (char *end= to + length; to < end; to++)
+ *to= (char) (my_rnd(&thd->rand)*94 + 33);
+ *to= '\0';
+}
+
+
#ifdef INNODB_COMPATIBILITY_HOOKS
extern "C" const struct charset_info_st *thd_charset(MYSQL_THD thd)
{