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
6f707430
Commit
6f707430
authored
Jan 09, 2021
by
Sergei Golubchik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cleanup: copy RAII helpers from 10.5, cleanup test
parent
4568a72c
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
114 additions
and
76 deletions
+114
-76
mysql-test/r/create.result
mysql-test/r/create.result
+12
-4
mysql-test/t/create.test
mysql-test/t/create.test
+69
-69
sql/sql_class.h
sql/sql_class.h
+32
-0
sql/unireg.cc
sql/unireg.cc
+1
-3
No files found.
mysql-test/r/create.result
View file @
6f707430
call mtr.add_suppression("table or database name 't-1'");
drop table if exists t1,t2,t3,t4,t5;
drop database if exists mysqltest;
drop view if exists v1;
create table t1 (b char(0));
insert into t1 values (""),(null);
select * from t1;
...
...
@@ -2066,10 +2063,21 @@ alter table t1 add
key xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0064 (f64) comment 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy';
ERROR HY000: Cannot create table `t1`: index information is too long. Decrease number of indexes or use shorter index names or shorter comments.
drop table t1;
End of 5.5 tests
#
# End of 5.5 tests
#
#
# MDEV-4880 Attempt to create a table without columns produces ER_ILLEGAL_HA instead of ER_TABLE_MUST_HAVE_COLUMNS
#
create table t1;
ERROR 42000: A table must have at least 1 column
#
# MDEV-11231 Server crashes in check_duplicate_key on CREATE TABLE ... SELECT
#
create table t1 (i int, j int, key(i), key(i)) as select 1 as i, 2 as j;
Warnings:
Note 1831 Duplicate index `i_2`. This is deprecated and will be disallowed in a future release
drop table t1;
#
# End of 10.0 tests
#
mysql-test/t/create.test
View file @
6f707430
This diff is collapsed.
Click to expand it.
sql/sql_class.h
View file @
6f707430
...
...
@@ -5997,6 +5997,38 @@ class Sql_mode_save
sql_mode_t
old_mode
;
// SQL mode saved at construction time.
};
class
Abort_on_warning_instant_set
{
THD
*
m_thd
;
bool
m_save_abort_on_warning
;
public:
Abort_on_warning_instant_set
(
THD
*
thd
,
bool
temporary_value
)
:
m_thd
(
thd
),
m_save_abort_on_warning
(
thd
->
abort_on_warning
)
{
thd
->
abort_on_warning
=
temporary_value
;
}
~
Abort_on_warning_instant_set
()
{
m_thd
->
abort_on_warning
=
m_save_abort_on_warning
;
}
};
class
Check_level_instant_set
{
THD
*
m_thd
;
enum_check_fields
m_check_level
;
public:
Check_level_instant_set
(
THD
*
thd
,
enum_check_fields
temporary_value
)
:
m_thd
(
thd
),
m_check_level
(
thd
->
count_cuted_fields
)
{
thd
->
count_cuted_fields
=
temporary_value
;
}
~
Check_level_instant_set
()
{
m_thd
->
count_cuted_fields
=
m_check_level
;
}
};
class
Switch_to_definer_security_ctx
{
public:
...
...
sql/unireg.cc
View file @
6f707430
...
...
@@ -944,7 +944,7 @@ static bool make_empty_rec(THD *thd, uchar *buff, uint table_options,
TABLE
table
;
TABLE_SHARE
share
;
Create_field
*
field
;
enum_check_fields
old_count_cuted_fields
=
thd
->
count_cuted_fields
;
Check_level_instant_set
old_count_cuted_fields
(
thd
,
CHECK_FIELD_WARN
)
;
DBUG_ENTER
(
"make_empty_rec"
);
/* We need a table to generate columns for default values */
...
...
@@ -963,7 +963,6 @@ static bool make_empty_rec(THD *thd, uchar *buff, uint table_options,
null_pos
=
buff
;
List_iterator
<
Create_field
>
it
(
create_fields
);
thd
->
count_cuted_fields
=
CHECK_FIELD_WARN
;
// To find wrong default values
while
((
field
=
it
++
))
{
/* regfield don't have to be deleted as it's allocated on THD::mem_root */
...
...
@@ -1039,6 +1038,5 @@ static bool make_empty_rec(THD *thd, uchar *buff, uint table_options,
*
(
null_pos
+
null_count
/
8
)
|=
~
(((
uchar
)
1
<<
(
null_count
&
7
))
-
1
);
err:
thd
->
count_cuted_fields
=
old_count_cuted_fields
;
DBUG_RETURN
(
error
);
}
/* make_empty_rec */
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