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
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
72f395a5
Commit
72f395a5
authored
Jun 12, 2007
by
gkodinov/kgeorge@magare.gmz
Browse files
Options
Browse Files
Download
Plain Diff
Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into magare.gmz:/home/kgeorge/mysql/autopush/B27816-5.1-opt
parents
0d6bae22
949d96f1
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
47 additions
and
13 deletions
+47
-13
mysql-test/r/partition.result
mysql-test/r/partition.result
+8
-0
mysql-test/t/partition.test
mysql-test/t/partition.test
+14
-0
sql/log.cc
sql/log.cc
+2
-0
sql/sql_table.cc
sql/sql_table.cc
+23
-13
No files found.
mysql-test/r/partition.result
View file @
72f395a5
...
...
@@ -1245,4 +1245,12 @@ INSERT INTO t1 SELECT a + 8, b FROM t1;
ALTER TABLE t1 ADD PARTITION (PARTITION p1 VALUES LESS THAN (64));
ALTER TABLE t1 DROP PARTITION p1;
DROP TABLE t1;
USE mysql;
SET GLOBAL general_log = 0;
ALTER TABLE general_log ENGINE = MyISAM;
ALTER TABLE general_log PARTITION BY RANGE (TO_DAYS(event_time))
(PARTITION p0 VALUES LESS THAN (733144), PARTITION p1 VALUES LESS THAN (3000000));
ERROR HY000: Incorrect usage of PARTITION and log table
ALTER TABLE general_log ENGINE = CSV;
SET GLOBAL general_log = default;
End of 5.1 tests
mysql-test/t/partition.test
View file @
72f395a5
...
...
@@ -1465,4 +1465,18 @@ ALTER TABLE t1 DROP PARTITION p1;
DROP
TABLE
t1
;
#
# Bug #27816: Log tables ran with partitions crashes the server when logging
# is enabled.
#
USE
mysql
;
SET
GLOBAL
general_log
=
0
;
ALTER
TABLE
general_log
ENGINE
=
MyISAM
;
--
error
ER_WRONG_USAGE
ALTER
TABLE
general_log
PARTITION
BY
RANGE
(
TO_DAYS
(
event_time
))
(
PARTITION
p0
VALUES
LESS
THAN
(
733144
),
PARTITION
p1
VALUES
LESS
THAN
(
3000000
));
ALTER
TABLE
general_log
ENGINE
=
CSV
;
SET
GLOBAL
general_log
=
default
;
--
echo
End
of
5.1
tests
sql/log.cc
View file @
72f395a5
...
...
@@ -296,6 +296,8 @@ bool Log_to_csv_event_handler::open_log_table(uint log_table_type)
table
->
db
=
log_thd
->
db
;
table
->
db_length
=
log_thd
->
db_length
;
lex_start
(
log_thd
);
log_thd
->
clear_error
();
if
(
simple_open_n_lock_tables
(
log_thd
,
table
)
||
table
->
table
->
file
->
extra
(
HA_EXTRA_MARK_AS_LOG_TABLE
)
||
table
->
table
->
file
->
ha_rnd_init
(
0
))
...
...
sql/sql_table.cc
View file @
72f395a5
...
...
@@ -5747,21 +5747,31 @@ bool mysql_alter_table(THD *thd,char *new_db, char *new_name,
table_list
->
table_name_length
,
table_list
->
table_name
,
0
);
/* Disable alter of enabled log tables */
if
(
table_kind
&&
logger
.
is_log_table_enabled
(
table_kind
))
if
(
table_kind
)
{
my_error
(
ER_BAD_LOG_STATEMENT
,
MYF
(
0
),
"ALTER"
);
DBUG_RETURN
(
TRUE
);
}
/* Disable alter of enabled log tables */
if
(
logger
.
is_log_table_enabled
(
table_kind
))
{
my_error
(
ER_BAD_LOG_STATEMENT
,
MYF
(
0
),
"ALTER"
);
DBUG_RETURN
(
TRUE
);
}
/* Disable alter of log tables to unsupported engine */
if
(
table_kind
&&
(
create_info
->
used_fields
&
HA_CREATE_USED_ENGINE
)
&&
(
!
create_info
->
db_type
||
/* unknown engine */
!
(
create_info
->
db_type
->
flags
&
HTON_SUPPORT_LOG_TABLES
)))
{
my_error
(
ER_UNSUPORTED_LOG_ENGINE
,
MYF
(
0
));
DBUG_RETURN
(
TRUE
);
/* Disable alter of log tables to unsupported engine */
if
((
create_info
->
used_fields
&
HA_CREATE_USED_ENGINE
)
&&
(
!
create_info
->
db_type
||
/* unknown engine */
!
(
create_info
->
db_type
->
flags
&
HTON_SUPPORT_LOG_TABLES
)))
{
my_error
(
ER_UNSUPORTED_LOG_ENGINE
,
MYF
(
0
));
DBUG_RETURN
(
TRUE
);
}
#ifdef WITH_PARTITION_STORAGE_ENGINE
if
(
alter_info
->
flags
&
ALTER_PARTITION
)
{
my_error
(
ER_WRONG_USAGE
,
MYF
(
0
),
"PARTITION"
,
"log table"
);
DBUG_RETURN
(
TRUE
);
}
#endif
}
}
...
...
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