diff options
author | unknown <mikael/pappa@dator5.(none)> | 2006-07-22 10:13:47 -0400 |
---|---|---|
committer | unknown <mikael/pappa@dator5.(none)> | 2006-07-22 10:13:47 -0400 |
commit | d8559b3d93d0bc9eb8eb4865e0d37a509e9aaa6d (patch) | |
tree | 79c45d0512ac3075739aa805956cf456381c06a7 /sql/sql_show.cc | |
parent | 0036ab8c9737ac3c75d191b313b6487ac2f80f66 (diff) | |
parent | aa0ab122cd12657a7e9c9528bb0b9ef2560b7f07 (diff) | |
download | mariadb-git-d8559b3d93d0bc9eb8eb4865e0d37a509e9aaa6d.tar.gz |
Merge dator5.(none):/home/pappa/bug20340
into dator5.(none):/home/pappa/bug20733
sql/sql_show.cc:
Auto merged
Diffstat (limited to 'sql/sql_show.cc')
-rw-r--r-- | sql/sql_show.cc | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/sql/sql_show.cc b/sql/sql_show.cc index 1a7547a5348..d80282eecf6 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -770,7 +770,14 @@ mysqld_list_fields(THD *thd, TABLE_LIST *table_list, const char *wild) { if (!wild || !wild[0] || !wild_case_compare(system_charset_info, field->field_name,wild)) - field_list.push_back(new Item_field(field)); + { + if (table_list->view) + field_list.push_back(new Item_ident_for_show(field, + table_list->view_db.str, + table_list->view_name.str)); + else + field_list.push_back(new Item_field(field)); + } } restore_record(table, s->default_values); // Get empty record table->use_all_columns(); @@ -1345,10 +1352,10 @@ int store_create_info(THD *thd, TABLE_LIST *table_list, String *packet, packet->append(buff, (uint) (end - buff)); } table->file->append_create_info(packet); - if (share->comment && share->comment[0]) + if (share->comment.length) { packet->append(STRING_WITH_LEN(" COMMENT=")); - append_unescaped(packet, share->comment, strlen(share->comment)); + append_unescaped(packet, share->comment.str, share->comment.length); } if (share->connect_string.length) { @@ -2901,11 +2908,14 @@ static int get_schema_tables_record(THD *thd, struct st_table_list *tables, (uint) (ptr-option_buff)-1), cs); { char *comment; - comment= show_table->file->update_table_comment(share->comment); + comment= show_table->file->update_table_comment(share->comment.str); if (comment) { - table->field[20]->store(comment, strlen(comment), cs); - if (comment != share->comment) + table->field[20]->store(comment, + (comment == share->comment.str ? + share->comment.length : + strlen(comment)), cs); + if (comment != share->comment.str) my_free(comment, MYF(0)); } } |