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
4bbca0b6
Commit
4bbca0b6
authored
Sep 28, 2006
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mockturtle.local:/home/dlenev/src/mysql-4.1-runtime
parents
abd883f4
eaeb3d4f
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
67 additions
and
3 deletions
+67
-3
mysql-test/r/temp_table.result
mysql-test/r/temp_table.result
+17
-0
mysql-test/t/temp_table.test
mysql-test/t/temp_table.test
+47
-1
sql/sql_table.cc
sql/sql_table.cc
+3
-2
No files found.
mysql-test/r/temp_table.result
View file @
4bbca0b6
...
...
@@ -108,3 +108,20 @@ d c
bar 2
foo 1
drop table t1, t2;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (i INT);
LOCK TABLE t1 WRITE;
CREATE TEMPORARY TABLE t1 (i INT);
The following command should not block
DROP TEMPORARY TABLE t1;
DROP TABLE t1;
CREATE TABLE t1 (i INT);
CREATE TEMPORARY TABLE t2 (i INT);
DROP TEMPORARY TABLE t2, t1;
ERROR 42S02: Unknown table 't1'
SELECT * FROM t2;
ERROR 42S02: Table 'test.t2' doesn't exist
SELECT * FROM t1;
i
DROP TABLE t1;
End of 4.1 tests.
mysql-test/t/temp_table.test
View file @
4bbca0b6
...
...
@@ -99,4 +99,50 @@ insert into t2 values (NULL, 'foo'), (NULL, 'bar');
select
d
,
c
from
t1
left
join
t2
on
b
=
c
where
a
=
3
order
by
d
;
drop
table
t1
,
t2
;
# End of 4.1 tests
#
# BUG#21096: locking issue ; temporary table conflicts.
#
# The problem was that on DROP TEMPORARY table name lock was acquired,
# which should not be done.
#
--
disable_warnings
DROP
TABLE
IF
EXISTS
t1
;
--
enable_warnings
CREATE
TABLE
t1
(
i
INT
);
LOCK
TABLE
t1
WRITE
;
connect
(
conn1
,
localhost
,
root
,,);
CREATE
TEMPORARY
TABLE
t1
(
i
INT
);
--
echo
The
following
command
should
not
block
DROP
TEMPORARY
TABLE
t1
;
disconnect
conn1
;
connection
default
;
DROP
TABLE
t1
;
#
# Check that it's not possible to drop a base table with
# DROP TEMPORARY statement.
#
CREATE
TABLE
t1
(
i
INT
);
CREATE
TEMPORARY
TABLE
t2
(
i
INT
);
--
error
1051
DROP
TEMPORARY
TABLE
t2
,
t1
;
# Table t2 should have been dropped.
--
error
1146
SELECT
*
FROM
t2
;
# But table t1 should still be there.
SELECT
*
FROM
t1
;
DROP
TABLE
t1
;
--
echo
End
of
4.1
tests
.
sql/sql_table.cc
View file @
4bbca0b6
...
...
@@ -214,7 +214,7 @@ int mysql_rm_table_part2(THD *thd, TABLE_LIST *tables, bool if_exists,
bool
some_tables_deleted
=
0
,
tmp_table_deleted
=
0
,
foreign_key_error
=
0
;
DBUG_ENTER
(
"mysql_rm_table_part2"
);
if
(
lock_table_names
(
thd
,
tables
))
if
(
!
drop_temporary
&&
lock_table_names
(
thd
,
tables
))
DBUG_RETURN
(
1
);
for
(
table
=
tables
;
table
;
table
=
table
->
next
)
...
...
@@ -311,7 +311,8 @@ int mysql_rm_table_part2(THD *thd, TABLE_LIST *tables, bool if_exists,
}
}
unlock_table_names
(
thd
,
tables
);
if
(
!
drop_temporary
)
unlock_table_names
(
thd
,
tables
);
DBUG_RETURN
(
error
);
}
...
...
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