diff options
author | Michael Widenius <monty@askmonty.org> | 2013-06-18 02:01:34 +0300 |
---|---|---|
committer | Michael Widenius <monty@askmonty.org> | 2013-06-18 02:01:34 +0300 |
commit | 2534521f9a7d66b48cb9ca9402e82a0c58b156d8 (patch) | |
tree | 920207a20892d748bd6b04a6699f07a5f3f1fae5 /sql/item_strfunc.h | |
parent | 0b7f8ed9738546f57d9159b52894e5abc99086fc (diff) | |
download | mariadb-git-2534521f9a7d66b48cb9ca9402e82a0c58b156d8.tar.gz |
Fixed some merge issues:
- temporary tables now works
- mysql-system_tables updated to not use temporary tables
- PASSWORD() function fixed
- Support for STATS_AUTO_RECALC, STATS_PERSISTENT and STATS_SAMPLE_PAGES table options
Diffstat (limited to 'sql/item_strfunc.h')
-rw-r--r-- | sql/item_strfunc.h | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/sql/item_strfunc.h b/sql/item_strfunc.h index 44be352bb05..c4fdc453ccc 100644 --- a/sql/item_strfunc.h +++ b/sql/item_strfunc.h @@ -21,6 +21,8 @@ /* This file defines all string functions */ +#include "crypt_genhash_impl.h" + #ifdef USE_PRAGMA_INTERFACE #pragma interface /* gcc class implementation */ #endif @@ -311,16 +313,21 @@ public: class Item_func_password :public Item_str_ascii_func { - char tmp_value[SCRAMBLED_PASSWORD_CHAR_LENGTH+1]; + char m_hashed_password_buffer[CRYPT_MAX_PASSWORD_SIZE + 1]; + unsigned int m_hashed_password_buffer_len; + bool m_recalculate_password; public: - Item_func_password(Item *a) :Item_str_ascii_func(a) {} - String *val_str_ascii(String *str); - void fix_length_and_dec() + Item_func_password(Item *a) :Item_str_ascii_func(a) { - fix_length_and_charset(SCRAMBLED_PASSWORD_CHAR_LENGTH, default_charset()); + m_hashed_password_buffer_len= 0; + m_recalculate_password= false; } + String *val_str_ascii(String *str); + void fix_length_and_dec(); const char *func_name() const { return "password"; } static char *alloc(THD *thd, const char *password, size_t pass_len); + static char *create_password_hash_buffer(THD *thd, const char *password, + size_t pass_len); }; |