Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
08a801e4
Commit
08a801e4
authored
Jun 23, 2010
by
Jimmy Yang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Move the fix for bug #54044 to security branch, and revert commit -r3520:3521.
parent
95586f2c
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
4 additions
and
77 deletions
+4
-77
mysql-test/suite/innodb/r/innodb_bug54044.result
mysql-test/suite/innodb/r/innodb_bug54044.result
+0
-3
mysql-test/suite/innodb/t/innodb_bug54044.test
mysql-test/suite/innodb/t/innodb_bug54044.test
+0
-11
mysql-test/suite/innodb_plugin/r/innodb_bug54044.result
mysql-test/suite/innodb_plugin/r/innodb_bug54044.result
+0
-3
mysql-test/suite/innodb_plugin/t/innodb_bug54044.test
mysql-test/suite/innodb_plugin/t/innodb_bug54044.test
+0
-11
storage/innobase/handler/ha_innodb.cc
storage/innobase/handler/ha_innodb.cc
+2
-22
storage/innodb_plugin/ChangeLog
storage/innodb_plugin/ChangeLog
+0
-5
storage/innodb_plugin/handler/ha_innodb.cc
storage/innodb_plugin/handler/ha_innodb.cc
+2
-22
No files found.
mysql-test/suite/innodb/r/innodb_bug54044.result
deleted
100644 → 0
View file @
95586f2c
CREATE TEMPORARY TABLE TABLE_54044 ENGINE = INNODB
AS SELECT IF(NULL IS NOT NULL, NULL, NULL);
ERROR HY000: Can't create table 'test.TABLE_54044' (errno: -1)
mysql-test/suite/innodb/t/innodb_bug54044.test
deleted
100644 → 0
View file @
95586f2c
# This is the test for bug #54044. Special handle MYSQL_TYPE_NULL type
# during create table, so it will not trigger assertion failure.
--
source
include
/
have_innodb
.
inc
# This 'create table' operation should fail because of
# using NULL datatype
--
error
ER_CANT_CREATE_TABLE
CREATE
TEMPORARY
TABLE
TABLE_54044
ENGINE
=
INNODB
AS
SELECT
IF
(
NULL
IS
NOT
NULL
,
NULL
,
NULL
);
mysql-test/suite/innodb_plugin/r/innodb_bug54044.result
deleted
100644 → 0
View file @
95586f2c
CREATE TEMPORARY TABLE TABLE_54044 ENGINE = INNODB
AS SELECT IF(NULL IS NOT NULL, NULL, NULL);
ERROR HY000: Can't create table 'test.TABLE_54044' (errno: -1)
mysql-test/suite/innodb_plugin/t/innodb_bug54044.test
deleted
100644 → 0
View file @
95586f2c
# This is the test for bug #54044. Special handle MYSQL_TYPE_NULL type
# during create table, so it will not trigger assertion failure.
--
source
include
/
have_innodb
.
inc
# This 'create table' operation should fail because of
# using NULL datatype
--
error
ER_CANT_CREATE_TABLE
CREATE
TEMPORARY
TABLE
TABLE_54044
ENGINE
=
INNODB
AS
SELECT
IF
(
NULL
IS
NOT
NULL
,
NULL
,
NULL
);
storage/innobase/handler/ha_innodb.cc
View file @
08a801e4
...
...
@@ -3242,11 +3242,6 @@ get_innobase_type_from_mysql_type(
case
MYSQL_TYPE_BLOB
:
case
MYSQL_TYPE_LONG_BLOB
:
return
(
DATA_BLOB
);
case
MYSQL_TYPE_NULL
:
/* MySQL currently accepts "NULL" datatype, but will
reject such datatype in the next release. We will cope
with it and not trigger assertion failure in 5.1 */
break
;
default:
assert
(
0
);
}
...
...
@@ -5268,22 +5263,7 @@ create_table_def(
field
=
form
->
field
[
i
];
col_type
=
get_innobase_type_from_mysql_type
(
&
unsigned_type
,
field
);
if
(
!
col_type
)
{
push_warning_printf
(
(
THD
*
)
trx
->
mysql_thd
,
MYSQL_ERROR
::
WARN_LEVEL_WARN
,
ER_CANT_CREATE_TABLE
,
"Error creating table '%s' with "
"column '%s'. Please check its "
"column type and try to re-create "
"the table with an appropriate "
"column type."
,
table
->
name
,
(
char
*
)
field
->
field_name
);
goto
err_col
;
}
field
);
if
(
field
->
null_ptr
)
{
nulls_allowed
=
0
;
}
else
{
...
...
@@ -5340,7 +5320,7 @@ create_table_def(
"different column name."
,
table
->
name
,
(
char
*
)
field
->
field_name
,
(
char
*
)
field
->
field_name
);
err_col:
dict_mem_table_free
(
table
);
trx_commit_for_mysql
(
trx
);
...
...
storage/innodb_plugin/ChangeLog
View file @
08a801e4
2010-06-22 The InnoDB Team
* handler/ha_innodb.cc, innodb_bug54044.test, innodb_bug54044.result
Fix Bug#54044, Create temporary tables and using innodb crashes.
2010-06-22 The InnoDB Team
* dict/dict0dict.c, dict/dict0mem.c, include/dict0mem.h,
...
...
storage/innodb_plugin/handler/ha_innodb.cc
View file @
08a801e4
...
...
@@ -3950,11 +3950,6 @@ get_innobase_type_from_mysql_type(
case
MYSQL_TYPE_BLOB
:
case
MYSQL_TYPE_LONG_BLOB
:
return
(
DATA_BLOB
);
case
MYSQL_TYPE_NULL
:
/* MySQL currently accepts "NULL" datatype, but will
reject such datatype in the next release. We will cope
with it and not trigger assertion failure in 5.1 */
break
;
default:
ut_error
;
}
...
...
@@ -6005,22 +6000,7 @@ create_table_def(
field
=
form
->
field
[
i
];
col_type
=
get_innobase_type_from_mysql_type
(
&
unsigned_type
,
field
);
if
(
!
col_type
)
{
push_warning_printf
(
(
THD
*
)
trx
->
mysql_thd
,
MYSQL_ERROR
::
WARN_LEVEL_WARN
,
ER_CANT_CREATE_TABLE
,
"Error creating table '%s' with "
"column '%s'. Please check its "
"column type and try to re-create "
"the table with an appropriate "
"column type."
,
table
->
name
,
(
char
*
)
field
->
field_name
);
goto
err_col
;
}
field
);
if
(
field
->
null_ptr
)
{
nulls_allowed
=
0
;
}
else
{
...
...
@@ -6078,7 +6058,7 @@ create_table_def(
if
(
dict_col_name_is_reserved
(
field
->
field_name
)){
my_error
(
ER_WRONG_COLUMN_NAME
,
MYF
(
0
),
field
->
field_name
);
err_col:
dict_mem_table_free
(
table
);
trx_commit_for_mysql
(
trx
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment