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
ad12809f
Commit
ad12809f
authored
Jul 17, 2006
by
iggy@rolltop.ignatz42.dyndns.org
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug# 20221- Dumping of multiple databases containing view(s) yields maleformed dumps.
parent
00ec3973
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
91 additions
and
3 deletions
+91
-3
client/mysqldump.c
client/mysqldump.c
+14
-3
mysql-test/r/mysqldump.result
mysql-test/r/mysqldump.result
+39
-0
mysql-test/t/mysqldump.test
mysql-test/t/mysqldump.test
+38
-0
No files found.
client/mysqldump.c
View file @
ad12809f
...
@@ -2637,7 +2637,7 @@ static int init_dumping(char *database)
...
@@ -2637,7 +2637,7 @@ static int init_dumping(char *database)
/*
/*
length of table name * 2 (if name contains quotes), 2 quotes and 0
length of table name * 2 (if name contains quotes), 2 quotes and 0
*/
*/
char
quoted_database_buf
[
64
*
2
+
3
];
char
quoted_database_buf
[
NAME_LEN
*
2
+
3
];
char
*
qdatabase
=
quote_name
(
database
,
quoted_database_buf
,
opt_quoted
);
char
*
qdatabase
=
quote_name
(
database
,
quoted_database_buf
,
opt_quoted
);
if
(
opt_comments
)
if
(
opt_comments
)
{
{
...
@@ -2786,7 +2786,18 @@ static my_bool dump_all_views_in_db(char *database)
...
@@ -2786,7 +2786,18 @@ static my_bool dump_all_views_in_db(char *database)
DB_error
(
sock
,
"when selecting the database"
);
DB_error
(
sock
,
"when selecting the database"
);
return
1
;
return
1
;
}
}
if
(
opt_databases
||
opt_alldbs
)
{
char
quoted_database_buf
[
NAME_LEN
*
2
+
3
];
char
*
qdatabase
=
quote_name
(
database
,
quoted_database_buf
,
opt_quoted
);
if
(
opt_comments
)
{
fprintf
(
md_result_file
,
"
\n
--
\n
-- Current Database: %s
\n
--
\n
"
,
qdatabase
);
check_io
(
md_result_file
);
}
fprintf
(
md_result_file
,
"
\n
USE %s;
\n
"
,
qdatabase
);
check_io
(
md_result_file
);
}
if
(
opt_xml
)
if
(
opt_xml
)
print_xml_tag1
(
md_result_file
,
""
,
"database name="
,
database
,
"
\n
"
);
print_xml_tag1
(
md_result_file
,
""
,
"database name="
,
database
,
"
\n
"
);
if
(
lock_tables
)
if
(
lock_tables
)
...
@@ -3239,7 +3250,7 @@ static char *primary_key_fields(const char *table_name)
...
@@ -3239,7 +3250,7 @@ static char *primary_key_fields(const char *table_name)
MYSQL_RES
*
res
=
NULL
;
MYSQL_RES
*
res
=
NULL
;
MYSQL_ROW
row
;
MYSQL_ROW
row
;
/* SHOW KEYS FROM + table name * 2 (escaped) + 2 quotes + \0 */
/* SHOW KEYS FROM + table name * 2 (escaped) + 2 quotes + \0 */
char
show_keys_buff
[
15
+
64
*
2
+
3
];
char
show_keys_buff
[
15
+
NAME_LEN
*
2
+
3
];
uint
result_length
=
0
;
uint
result_length
=
0
;
char
*
result
=
0
;
char
*
result
=
0
;
...
...
mysql-test/r/mysqldump.result
View file @
ad12809f
...
@@ -2503,6 +2503,8 @@ DROP TABLE IF EXISTS `v2`;
...
@@ -2503,6 +2503,8 @@ DROP TABLE IF EXISTS `v2`;
`b` varchar(32),
`b` varchar(32),
`c` varchar(32)
`c` varchar(32)
) */;
) */;
USE `test`;
/*!50001 DROP TABLE IF EXISTS `v0`*/;
/*!50001 DROP TABLE IF EXISTS `v0`*/;
/*!50001 DROP VIEW IF EXISTS `v0`*/;
/*!50001 DROP VIEW IF EXISTS `v0`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50001 CREATE ALGORITHM=UNDEFINED */
...
@@ -2826,6 +2828,8 @@ DROP TABLE IF EXISTS `v1`;
...
@@ -2826,6 +2828,8 @@ DROP TABLE IF EXISTS `v1`;
/*!50001 CREATE TABLE `v1` (
/*!50001 CREATE TABLE `v1` (
`id` int(11)
`id` int(11)
) */;
) */;
USE `mysqldump_test_db`;
/*!50001 DROP TABLE IF EXISTS `v1`*/;
/*!50001 DROP TABLE IF EXISTS `v1`*/;
/*!50001 DROP VIEW IF EXISTS `v1`*/;
/*!50001 DROP VIEW IF EXISTS `v1`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50001 CREATE ALGORITHM=UNDEFINED */
...
@@ -2867,6 +2871,10 @@ USE `mysqldump_views`;
...
@@ -2867,6 +2871,10 @@ USE `mysqldump_views`;
/*!50001 CREATE TABLE `nasishnasifu` (
/*!50001 CREATE TABLE `nasishnasifu` (
`id` bigint(20) unsigned
`id` bigint(20) unsigned
) */;
) */;
USE `mysqldump_tables`;
USE `mysqldump_views`;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
/*!50001 VIEW `mysqldump_views`.`nasishnasifu` AS select `mysqldump_tables`.`basetable`.`id` AS `id` from `mysqldump_tables`.`basetable` */;
/*!50001 VIEW `mysqldump_views`.`nasishnasifu` AS select `mysqldump_tables`.`basetable`.`id` AS `id` from `mysqldump_tables`.`basetable` */;
...
@@ -2874,3 +2882,34 @@ drop view nasishnasifu;
...
@@ -2874,3 +2882,34 @@ drop view nasishnasifu;
drop database mysqldump_views;
drop database mysqldump_views;
drop table mysqldump_tables.basetable;
drop table mysqldump_tables.basetable;
drop database mysqldump_tables;
drop database mysqldump_tables;
create database mysqldump_dba;
use mysqldump_dba;
create table t1 (f1 int, f2 int);
insert into t1 values (1,1);
create view v1 as select f1, f2 from t1;
create database mysqldump_dbb;
use mysqldump_dbb;
create table t1 (f1 int, f2 int);
insert into t1 values (2,2);
create view v1 as select f1, f2 from t1;
drop view v1;
drop table t1;
drop database mysqldump_dbb;
use mysqldump_dba;
drop view v1;
drop table t1;
drop database mysqldump_dba;
select * from mysqldump_dba.v1;
f1 f2
1 1
select * from mysqldump_dbb.v1;
f1 f2
2 2
use mysqldump_dba;
drop view v1;
drop table t1;
drop database mysqldump_dba;
use mysqldump_dbb;
drop view v1;
drop table t1;
drop database mysqldump_dbb;
mysql-test/t/mysqldump.test
View file @
ad12809f
...
@@ -1230,3 +1230,41 @@ drop view nasishnasifu;
...
@@ -1230,3 +1230,41 @@ drop view nasishnasifu;
drop
database
mysqldump_views
;
drop
database
mysqldump_views
;
drop
table
mysqldump_tables
.
basetable
;
drop
table
mysqldump_tables
.
basetable
;
drop
database
mysqldump_tables
;
drop
database
mysqldump_tables
;
# Bug20221 Dumping of multiple databases containing view(s) yields maleformed dumps
create
database
mysqldump_dba
;
use
mysqldump_dba
;
create
table
t1
(
f1
int
,
f2
int
);
insert
into
t1
values
(
1
,
1
);
create
view
v1
as
select
f1
,
f2
from
t1
;
create
database
mysqldump_dbb
;
use
mysqldump_dbb
;
create
table
t1
(
f1
int
,
f2
int
);
insert
into
t1
values
(
2
,
2
);
create
view
v1
as
select
f1
,
f2
from
t1
;
--
exec
$MYSQL_DUMP
--
skip
-
comments
--
add
-
drop
-
database
--
databases
mysqldump_dba
mysqldump_dbb
>
$MYSQLTEST_VARDIR
/
tmp
/
bug20221_backup
;
drop
view
v1
;
drop
table
t1
;
drop
database
mysqldump_dbb
;
use
mysqldump_dba
;
drop
view
v1
;
drop
table
t1
;
drop
database
mysqldump_dba
;
--
exec
$MYSQL
<
$MYSQLTEST_VARDIR
/
tmp
/
bug20221_backup
;
select
*
from
mysqldump_dba
.
v1
;
select
*
from
mysqldump_dbb
.
v1
;
use
mysqldump_dba
;
drop
view
v1
;
drop
table
t1
;
drop
database
mysqldump_dba
;
use
mysqldump_dbb
;
drop
view
v1
;
drop
table
t1
;
drop
database
mysqldump_dbb
;
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