diff options
author | Michael Widenius <monty@askmonty.org> | 2011-02-28 13:16:17 +0200 |
---|---|---|
committer | Michael Widenius <monty@askmonty.org> | 2011-02-28 13:16:17 +0200 |
commit | 869f5d0e81d5cbecaec3605f292fbb363b9ccbf6 (patch) | |
tree | 9e2bc4700a2db961d967e53f00c941f3ee501173 /sql/sql_load.cc | |
parent | cfa0c6ff1d8f7268f895d79daf94e7d29197327d (diff) | |
parent | ff3da0f963b28d128005da8ca5d0c93a72d34b27 (diff) | |
download | mariadb-git-869f5d0e81d5cbecaec3605f292fbb363b9ccbf6.tar.gz |
Merge with alias as String
Diffstat (limited to 'sql/sql_load.cc')
-rw-r--r-- | sql/sql_load.cc | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/sql/sql_load.cc b/sql/sql_load.cc index a909335bfa7..f440f78a9bc 100644 --- a/sql/sql_load.cc +++ b/sql/sql_load.cc @@ -604,11 +604,15 @@ static bool write_execute_load_query_log_event(THD *thd, sql_exchange* ex, size_t pl= 0; List<Item> fv; Item *item, *val; - String pfield, pfields; int n; const char *tbl= table_name_arg; const char *tdb= (thd->db != NULL ? thd->db : db_arg); - String string_buf; + char name_buffer[SAFE_NAME_LEN*2]; + char command_buffer[1024]; + String string_buf(name_buffer, sizeof(name_buffer), + system_charset_info); + String pfields(command_buffer, sizeof(command_buffer), + system_charset_info); if (!thd->db || strcmp(db_arg, thd->db)) { @@ -617,7 +621,7 @@ static bool write_execute_load_query_log_event(THD *thd, sql_exchange* ex, prefix table name with database name so that it becomes a FQ name. */ - string_buf.set_charset(system_charset_info); + string_buf.length(0); string_buf.append(db_arg); string_buf.append("`"); string_buf.append("."); @@ -638,6 +642,7 @@ static bool write_execute_load_query_log_event(THD *thd, sql_exchange* ex, /* prepare fields-list and SET if needed; print_query won't do that for us. */ + pfields.length(0); if (!thd->lex->field_list.is_empty()) { List_iterator<Item> li(thd->lex->field_list); @@ -682,8 +687,8 @@ static bool write_execute_load_query_log_event(THD *thd, sql_exchange* ex, } } - p= pfields.c_ptr_safe(); - pl= strlen(p); + p= pfields.c_ptr_safe(); + pl= pfields.length(); if (!(load_data_query= (char *)thd->alloc(lle.get_query_buffer_length() + 1 + pl))) return TRUE; |