mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Hack to ensure that CHAR's created in 5.0 are not converted to VARCHAR even if the row type is dynamic
(For 4.1 tables old 'VARCHAR' fields are converted to true VARCHAR in the next ALTER TABLE) This ensures that one can use MySQL 5.0 privilege tables with MySQL 4.1 mysql-test/r/information_schema.result: Update results (for .frm version number change) mysql-test/r/ndb_autodiscover.result: Update results (for .frm version number change) mysql-test/r/ps_1general.result: Update results (for .frm version number change) mysql-test/r/show_check.result: Update results (for .frm version number change) mysql-test/r/view.result: Update results (for .frm version number change) scripts/fill_func_tables.sh: Ensure that no privilege tables that is used in 4.1 uses VARCHAR scripts/mysql_create_system_tables.sh: Ensure that no privilege tables that is used in 4.1 uses VARCHAR scripts/mysql_fix_privilege_tables.sh: Fixed bug that made it impossible to run the script from the mysql source dist scripts/mysql_fix_privilege_tables.sql: Ensure that no privilege tables that is used in 4.1 uses VARCHAR sql/sql_table.cc: Only set create_info->varchar if we are using the new VARCHAR field sql/table.cc: Hack to ensure that CHAR's created in 5.0 are not converted to VARCHAR even if the row type is dynamic (For 4.1 tables old 'VARCHAR' fields are converted to true VARCHAR in the next ALTER TABLE)
This commit is contained in:
@ -613,7 +613,7 @@ int prepare_create_field(create_field *sql_field,
|
||||
Prepares the table and key structures for table creation.
|
||||
|
||||
NOTES
|
||||
sets create_info->varchar if the table has a varchar or blob.
|
||||
sets create_info->varchar if the table has a varchar
|
||||
|
||||
RETURN VALUES
|
||||
0 ok
|
||||
@ -862,12 +862,7 @@ int mysql_prepare_table(THD *thd, HA_CREATE_INFO *create_info,
|
||||
×tamps, ×tamps_with_niladic,
|
||||
file->table_flags()))
|
||||
DBUG_RETURN(-1);
|
||||
if (sql_field->sql_type == FIELD_TYPE_BLOB ||
|
||||
sql_field->sql_type == FIELD_TYPE_MEDIUM_BLOB ||
|
||||
sql_field->sql_type == FIELD_TYPE_TINY_BLOB ||
|
||||
sql_field->sql_type == FIELD_TYPE_LONG_BLOB ||
|
||||
sql_field->sql_type == FIELD_TYPE_GEOMETRY ||
|
||||
sql_field->sql_type == MYSQL_TYPE_VARCHAR)
|
||||
if (sql_field->sql_type == MYSQL_TYPE_VARCHAR)
|
||||
create_info->varchar= 1;
|
||||
sql_field->offset= pos;
|
||||
if (MTYP_TYPENR(sql_field->unireg_check) == Field::NEXT_NUMBER)
|
||||
|
Reference in New Issue
Block a user