summaryrefslogtreecommitdiff
path: root/sql/unireg.cc
diff options
context:
space:
mode:
authorunknown <tsmith/tim@siva.hindu.god>2006-10-24 14:42:08 -0600
committerunknown <tsmith/tim@siva.hindu.god>2006-10-24 14:42:08 -0600
commitd4bfae38ac685d1f277fcc1b42ac003f98d8c940 (patch)
treef6b3ce247f0c1b8d045348dca4533d282d470935 /sql/unireg.cc
parent752e5f1ec77f79009804a6ed316843b184b46394 (diff)
parent69c7200219dd2010de7ca33d89432aff4fbd9e3a (diff)
downloadmariadb-git-d4bfae38ac685d1f277fcc1b42ac003f98d8c940.tar.gz
Merge siva.hindu.god:/usr/home/tim/m/bk/g50
into siva.hindu.god:/usr/home/tim/m/bk/50 configure.in: Auto merged mysql-test/r/rename.result: Auto merged mysql-test/r/subselect.result: Auto merged mysql-test/r/view.result: Auto merged mysql-test/t/subselect.test: Auto merged mysql-test/t/view.test: Auto merged mysys/mf_iocache.c: Auto merged sql/item_func.cc: Auto merged sql/opt_range.cc: Auto merged sql/opt_range.h: Auto merged sql/sql_lex.cc: Auto merged sql/sql_lex.h: Auto merged sql/sql_select.cc: Auto merged sql/sql_table.cc: Auto merged sql/table.cc: Auto merged myisam/sort.c: Manual merge mysql-test/r/innodb_mysql.result: Manual merge mysql-test/t/innodb_mysql.test: Manual merge
Diffstat (limited to 'sql/unireg.cc')
-rw-r--r--sql/unireg.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/sql/unireg.cc b/sql/unireg.cc
index 93afd9c9e4e..768a288ca19 100644
--- a/sql/unireg.cc
+++ b/sql/unireg.cc
@@ -718,6 +718,21 @@ static bool pack_fields(File file, List<create_field> &create_fields,
tmp.append(NAMES_SEP_CHAR);
for (const char **pos=field->interval->type_names ; *pos ; pos++)
{
+ char *val= (char*) *pos;
+ uint str_len= strlen(val);
+ /*
+ Note, hack: in old frm NAMES_SEP_CHAR is used to separate
+ names in the interval (ENUM/SET). To allow names to contain
+ NAMES_SEP_CHAR, we replace it with a comma before writing frm.
+ Backward conversion is done during frm file opening,
+ See table.cc, openfrm() function
+ */
+ for (uint cnt= 0 ; cnt < str_len ; cnt++)
+ {
+ char c= val[cnt];
+ if (c == NAMES_SEP_CHAR)
+ val[cnt]= ',';
+ }
tmp.append(*pos);
tmp.append(NAMES_SEP_CHAR);
}