diff options
author | unknown <konstantin@mysql.com> | 2006-02-24 00:00:15 +0300 |
---|---|---|
committer | unknown <konstantin@mysql.com> | 2006-02-24 00:00:15 +0300 |
commit | c5b1fab83867d44206039e03b42375383b262493 (patch) | |
tree | 1cad1f5d22790e28978c846e656214eaccf50aa0 /sql/sql_table.cc | |
parent | 86f1f1bcc7bbd8484eab810fc63789d4e95153f7 (diff) | |
parent | ac90a3e349aef14284229c3ebab676d1ac5c9c70 (diff) | |
download | mariadb-git-c5b1fab83867d44206039e03b42375383b262493.tar.gz |
Merge mysql.com:/opt/local/work/mysql-4.1-13134
into mysql.com:/opt/local/work/mysql-5.0-runtime
mysql-test/t/heap.test:
Auto merged
mysql-test/r/heap.result:
Manual merge (use local)
mysql-test/r/ps.result:
Manual merge (use local)
mysql-test/t/ps.test:
Manual merge.
sql/field.cc:
Manual merge.
sql/field.h:
Manual merge.
sql/sql_parse.cc:
Manual merge.
sql/sql_table.cc:
Manual merge.
Diffstat (limited to 'sql/sql_table.cc')
-rw-r--r-- | sql/sql_table.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sql/sql_table.cc b/sql/sql_table.cc index de350b83985..7795b07936a 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -688,6 +688,12 @@ static int mysql_prepare_table(THD *thd, HA_CREATE_INFO *create_info, { CHARSET_INFO *save_cs; + /* + Initialize length from its original value (number of characters), + which was set in the parser. This is necessary if we're + executing a prepared statement for the second time. + */ + sql_field->length= sql_field->char_length; if (!sql_field->charset) sql_field->charset= create_info->default_table_charset; /* @@ -872,7 +878,7 @@ static int mysql_prepare_table(THD *thd, HA_CREATE_INFO *create_info, sql_field->charset= (dup_field->charset ? dup_field->charset : create_info->default_table_charset); - sql_field->length= dup_field->chars_length; + sql_field->length= dup_field->char_length; sql_field->pack_length= dup_field->pack_length; sql_field->key_length= dup_field->key_length; sql_field->create_length_to_internal_length(); |