summaryrefslogtreecommitdiff
path: root/storage/mroonga/lib/mrn_column_name.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'storage/mroonga/lib/mrn_column_name.cpp')
-rw-r--r--storage/mroonga/lib/mrn_column_name.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/storage/mroonga/lib/mrn_column_name.cpp b/storage/mroonga/lib/mrn_column_name.cpp
index 986e07ac411..173553dd4d9 100644
--- a/storage/mroonga/lib/mrn_column_name.cpp
+++ b/storage/mroonga/lib/mrn_column_name.cpp
@@ -32,7 +32,12 @@
namespace mrn {
ColumnName::ColumnName(const char *mysql_name)
: mysql_name_(mysql_name) {
- encode();
+ encode(mysql_name, strlen(mysql_name));
+ }
+
+ ColumnName::ColumnName(const LEX_CSTRING &mysql_name)
+ : mysql_name_(mysql_name.str) {
+ encode(mysql_name.str, mysql_name.length);
}
const char *ColumnName::mysql_name() {
@@ -47,12 +52,13 @@ namespace mrn {
return length_;
}
- void ColumnName::encode() {
+ void ColumnName::encode(const char *mysql_name,
+ size_t mysql_name_length) {
MRN_DBUG_ENTER_METHOD();
uint errors;
length_ = mrn_strconvert(system_charset_info,
- mysql_name_,
- strlen(mysql_name_),
+ mysql_name,
+ mysql_name_length,
&my_charset_filename,
name_,
MRN_MAX_PATH_SIZE,