diff options
author | unknown <knielsen@knielsen-hq.org> | 2012-08-24 15:29:01 +0200 |
---|---|---|
committer | unknown <knielsen@knielsen-hq.org> | 2012-08-24 15:29:01 +0200 |
commit | ced3907c02dfa3b237e14d79aa800b3a0769e94a (patch) | |
tree | 1189a55392ca290d6c9e8446250b7a9384feafb6 /sql/sql_truncate.cc | |
parent | caa535eb9fa97bd7c2190292bb4a3a3c1aaa71e3 (diff) | |
parent | fc666a0df6c69a620d3cffacd78e2569fb0ac410 (diff) | |
download | mariadb-git-ced3907c02dfa3b237e14d79aa800b3a0769e94a.tar.gz |
Merge from 5.3
Diffstat (limited to 'sql/sql_truncate.cc')
-rw-r--r-- | sql/sql_truncate.cc | 41 |
1 files changed, 23 insertions, 18 deletions
diff --git a/sql/sql_truncate.cc b/sql/sql_truncate.cc index 3c1b231d3f2..9d4ca5e1373 100644 --- a/sql/sql_truncate.cc +++ b/sql/sql_truncate.cc @@ -24,6 +24,7 @@ #include "sql_acl.h" // DROP_ACL #include "sql_parse.h" // check_one_table_access() #include "sql_truncate.h" +#include "sql_show.h" /** @@ -35,7 +36,8 @@ @return TRUE on failure, FALSE otherwise. */ -static bool fk_info_append_fields(String *str, List<LEX_STRING> *fields) +static bool fk_info_append_fields(THD *thd, String *str, + List<LEX_STRING> *fields) { bool res= FALSE; LEX_STRING *field; @@ -43,9 +45,8 @@ static bool fk_info_append_fields(String *str, List<LEX_STRING> *fields) while ((field= it++)) { - res|= str->append("`"); - res|= str->append(field); - res|= str->append("`, "); + res|= append_identifier(thd, str, field->str, field->length); + res|= str->append(", "); } str->chop(); @@ -76,20 +77,24 @@ static const char *fk_info_str(THD *thd, FOREIGN_KEY_INFO *fk_info) `db`.`tbl`, CONSTRAINT `id` FOREIGN KEY (`fk`) REFERENCES `db`.`tbl` (`fk`) */ - res|= str.append('`'); - res|= str.append(fk_info->foreign_db); - res|= str.append("`.`"); - res|= str.append(fk_info->foreign_table); - res|= str.append("`, CONSTRAINT `"); - res|= str.append(fk_info->foreign_id); - res|= str.append("` FOREIGN KEY ("); - res|= fk_info_append_fields(&str, &fk_info->foreign_fields); - res|= str.append(") REFERENCES `"); - res|= str.append(fk_info->referenced_db); - res|= str.append("`.`"); - res|= str.append(fk_info->referenced_table); - res|= str.append("` ("); - res|= fk_info_append_fields(&str, &fk_info->referenced_fields); + res|= append_identifier(thd, &str, fk_info->foreign_db->str, + fk_info->foreign_db->length); + res|= str.append("."); + res|= append_identifier(thd, &str, fk_info->foreign_table->str, + fk_info->foreign_table->length); + res|= str.append(", CONSTRAINT "); + res|= append_identifier(thd, &str, fk_info->foreign_id->str, + fk_info->foreign_id->length); + res|= str.append(" FOREIGN KEY ("); + res|= fk_info_append_fields(thd, &str, &fk_info->foreign_fields); + res|= str.append(") REFERENCES "); + res|= append_identifier(thd, &str, fk_info->referenced_db->str, + fk_info->referenced_db->length); + res|= str.append("."); + res|= append_identifier(thd, &str, fk_info->referenced_table->str, + fk_info->referenced_table->length); + res|= str.append(" ("); + res|= fk_info_append_fields(thd, &str, &fk_info->referenced_fields); res|= str.append(')'); return res ? NULL : thd->strmake(str.ptr(), str.length()); |