Bug #31145: ALTER TABLE DROP COLUMN, ADD COLUMN crashes (linux) or
freezes (win) the server The check for equality was assuming the field object is always created. If it's not it was de-referencing a NULL pointer. Fixed to use the data in the create object instead.
This commit is contained in:
parent
479668498b
commit
dbb7073c21
@ -1338,4 +1338,11 @@ ALTER TABLE t1 CHANGE COLUMN f1 f1_no_real_change TIMESTAMP NULL DEFAULT NULL;
|
||||
affected rows: 0
|
||||
info: Records: 0 Duplicates: 0 Warnings: 0
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug #31145: ALTER TABLE DROP COLUMN, ADD COLUMN crashes (linux)
|
||||
# or freezes (win) the server
|
||||
#
|
||||
CREATE TABLE t1 (a TEXT, id INT, b INT);
|
||||
ALTER TABLE t1 DROP COLUMN a, ADD COLUMN c TEXT FIRST;
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
|
@ -1061,4 +1061,16 @@ ALTER TABLE t1 CHANGE COLUMN f1 f1_no_real_change TIMESTAMP NULL DEFAULT NULL;
|
||||
--disable_info
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Bug #31145: ALTER TABLE DROP COLUMN, ADD COLUMN crashes (linux)
|
||||
--echo # or freezes (win) the server
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (a TEXT, id INT, b INT);
|
||||
ALTER TABLE t1 DROP COLUMN a, ADD COLUMN c TEXT FIRST;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
@ -8282,8 +8282,7 @@ uint Field_blob::is_equal(Create_field *new_field)
|
||||
|
||||
return ((new_field->sql_type == get_blob_type_from_length(max_data_length()))
|
||||
&& new_field->charset == field_charset &&
|
||||
((Field_blob *)new_field->field)->max_data_length() ==
|
||||
max_data_length());
|
||||
new_field->pack_length == pack_length());
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user