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
a64e3200
Commit
a64e3200
authored
Mar 10, 2009
by
Chad MILLER
Browse files
Options
Browse Files
Download
Plain Diff
Merge from bugfix tree.
parents
a0655506
a99cd3df
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
88 additions
and
6 deletions
+88
-6
client/mysqldump.c
client/mysqldump.c
+20
-6
mysql-test/r/mysqldump.result
mysql-test/r/mysqldump.result
+54
-0
mysql-test/t/mysqldump.test
mysql-test/t/mysqldump.test
+14
-0
No files found.
client/mysqldump.c
View file @
a64e3200
/* Copyright
(C) 2000 MySQL AB
/* Copyright
2000-2008 MySQL AB, 2009 Sun Microsystems, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -3104,6 +3104,11 @@ static my_bool dump_all_views_in_db(char *database)
char
*
table
;
uint
numrows
;
char
table_buff
[
NAME_LEN
*
2
+
3
];
char
hash_key
[
2
*
NAME_LEN
+
2
];
/* "db.tablename" */
char
*
afterdot
;
afterdot
=
strmov
(
hash_key
,
database
);
*
afterdot
++=
'.'
;
if
(
init_dumping
(
database
,
init_dumping_views
))
return
1
;
...
...
@@ -3113,10 +3118,15 @@ static my_bool dump_all_views_in_db(char *database)
{
DYNAMIC_STRING
query
;
init_dynamic_string_checked
(
&
query
,
"LOCK TABLES "
,
256
,
1024
);
for
(
numrows
=
0
;
(
table
=
getTableName
(
1
));
numrows
++
)
for
(
numrows
=
0
;
(
table
=
getTableName
(
1
));
)
{
dynstr_append_checked
(
&
query
,
quote_name
(
table
,
table_buff
,
1
));
dynstr_append_checked
(
&
query
,
" READ /*!32311 LOCAL */,"
);
char
*
end
=
strmov
(
afterdot
,
table
);
if
(
include_table
((
uchar
*
)
hash_key
,
end
-
hash_key
))
{
numrows
++
;
dynstr_append_checked
(
&
query
,
quote_name
(
table
,
table_buff
,
1
));
dynstr_append_checked
(
&
query
,
" READ /*!32311 LOCAL */,"
);
}
}
if
(
numrows
&&
mysql_real_query
(
mysql
,
query
.
str
,
query
.
length
-
1
))
DB_error
(
mysql
,
"when using LOCK TABLES"
);
...
...
@@ -3130,7 +3140,11 @@ static my_bool dump_all_views_in_db(char *database)
/* We shall continue here, if --force was given */
}
while
((
table
=
getTableName
(
0
)))
get_view_structure
(
table
,
database
);
{
char
*
end
=
strmov
(
afterdot
,
table
);
if
(
include_table
((
uchar
*
)
hash_key
,
end
-
hash_key
))
get_view_structure
(
table
,
database
);
}
if
(
opt_xml
)
{
fputs
(
"</database>
\n
"
,
md_result_file
);
...
...
@@ -3200,7 +3214,7 @@ static int dump_selected_tables(char *db, char **table_names, int tables)
DBUG_ENTER
(
"dump_selected_tables"
);
if
(
init_dumping
(
db
,
init_dumping_tables
))
return
1
;
DBUG_RETURN
(
1
)
;
init_alloc_root
(
&
root
,
8192
,
0
);
if
(
!
(
dump_tables
=
pos
=
(
char
**
)
alloc_root
(
&
root
,
tables
*
sizeof
(
char
*
))))
...
...
mysql-test/r/mysqldump.result
View file @
a64e3200
...
...
@@ -3559,6 +3559,60 @@ DROP TABLE t1,t2;
-- Dump completed on DATE
SET @@GLOBAL.CONCURRENT_INSERT = @OLD_CONCURRENT_INSERT;
#
# Bug #42635: mysqldump includes views that were excluded using
# the --ignore-table option
#
create database db42635;
use db42635;
create table t1 (id int);
create view db42635.v1 (c) as select * from db42635.t1;
create view db42635.v2 (c) as select * from db42635.t1;
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
DROP TABLE IF EXISTS `t1`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `t1` (
`id` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
LOCK TABLES `t1` WRITE;
/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
UNLOCK TABLES;
DROP TABLE IF EXISTS `v2`;
/*!50001 DROP VIEW IF EXISTS `v2`*/;
/*!50001 CREATE TABLE `v2` (
`c` int(11)
) ENGINE=MyISAM */;
/*!50001 DROP TABLE `v2`*/;
/*!50001 DROP VIEW IF EXISTS `v2`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
/*!50001 VIEW `v2` AS select `t1`.`id` AS `c` from `t1` */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
use test;
drop database db42635;
#
# Bug#33550 mysqldump 4.0 compatibility broken
#
SET NAMES utf8;
...
...
mysql-test/t/mysqldump.test
View file @
a64e3200
...
...
@@ -1649,6 +1649,20 @@ DROP TABLE t1,t2;
# We reset concurrent_inserts value to whatever it was at the start of the test
SET
@@
GLOBAL
.
CONCURRENT_INSERT
=
@
OLD_CONCURRENT_INSERT
;
--
echo
#
--
echo
# Bug #42635: mysqldump includes views that were excluded using
--
echo
# the --ignore-table option
--
echo
#
create
database
db42635
;
use
db42635
;
create
table
t1
(
id
int
);
create
view
db42635
.
v1
(
c
)
as
select
*
from
db42635
.
t1
;
create
view
db42635
.
v2
(
c
)
as
select
*
from
db42635
.
t1
;
--
exec
$MYSQL_DUMP
--
skip
-
comments
--
ignore
-
table
=
db42635
.
v1
db42635
use
test
;
drop
database
db42635
;
--
echo
#
--
echo
# Bug#33550 mysqldump 4.0 compatibility broken
...
...
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