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
53bb0bdc
Commit
53bb0bdc
authored
Sep 12, 2006
by
Kristofer.Pettersson@naruto
Browse files
Options
Browse Files
Download
Plain Diff
Merge naruto.:C:/cpp/bug20789/my50-bug20789
into naruto.:C:/cpp/mysql-5.1-maint
parents
9b18cae3
323efcc0
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
78 additions
and
0 deletions
+78
-0
mysql-test/r/windows.result
mysql-test/r/windows.result
+28
-0
mysql-test/t/windows.test
mysql-test/t/windows.test
+39
-0
storage/myisam/mi_locking.c
storage/myisam/mi_locking.c
+11
-0
No files found.
mysql-test/r/windows.result
View file @
53bb0bdc
...
...
@@ -6,3 +6,31 @@ use prn;
ERROR 42000: Unknown database 'prn'
create table nu (a int);
drop table nu;
CREATE TABLE `t1` (
`TIM` datetime NOT NULL,
`VAL` double default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE `t2` (
`TIM` datetime NOT NULL,
`VAL` double default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE `mt` (
`TIM` datetime NOT NULL,
`VAL` double default NULL
) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 INSERT_METHOD=LAST
UNION=(`t1`,`t2`);
INSERT INTO mt VALUES ('2006-01-01',0);
ALTER TABLE `t2` RENAME TO `t`;
INSERT INTO mt VALUES ('2006-01-01',0);
ERROR HY000: Can't lock file (errno: 155)
select * from mt;
ERROR HY000: Can't lock file (errno: 155)
FLUSH TABLES;
select * from mt;
ERROR HY000: Can't find file: 'mt' (errno: 2)
ALTER TABLE `t` RENAME TO `t2`;
INSERT INTO mt VALUES ('2006-01-01',0);
select * from mt;
TIM VAL
2006-01-01 00:00:00 0
2006-01-01 00:00:00 0
mysql-test/t/windows.test
View file @
53bb0bdc
...
...
@@ -18,3 +18,42 @@ create table nu (a int);
drop
table
nu
;
# End of 4.1 tests
#
# Bug #20789: Merge Subtable Rename Causes Crash
#
CREATE
TABLE
`t1`
(
`TIM`
datetime
NOT
NULL
,
`VAL`
double
default
NULL
)
ENGINE
=
MyISAM
DEFAULT
CHARSET
=
latin1
;
CREATE
TABLE
`t2`
(
`TIM`
datetime
NOT
NULL
,
`VAL`
double
default
NULL
)
ENGINE
=
MyISAM
DEFAULT
CHARSET
=
latin1
;
CREATE
TABLE
`mt`
(
`TIM`
datetime
NOT
NULL
,
`VAL`
double
default
NULL
)
ENGINE
=
MRG_MyISAM
DEFAULT
CHARSET
=
latin1
INSERT_METHOD
=
LAST
UNION
=
(
`t1`
,
`t2`
);
# insert into the merge table and thus open it.
INSERT
INTO
mt
VALUES
(
'2006-01-01'
,
0
);
# Alter one of the tables that are part of the merge table
ALTER
TABLE
`t2`
RENAME
TO
`t`
;
# Insert into the merge table that has just been altered
--
error
1015
INSERT
INTO
mt
VALUES
(
'2006-01-01'
,
0
);
--
error
1015
select
*
from
mt
;
FLUSH
TABLES
;
--
error
1017
select
*
from
mt
;
# Alter one of the tables that are part of the merge table
ALTER
TABLE
`t`
RENAME
TO
`t2`
;
INSERT
INTO
mt
VALUES
(
'2006-01-01'
,
0
);
select
*
from
mt
;
storage/myisam/mi_locking.c
View file @
53bb0bdc
...
...
@@ -236,7 +236,18 @@ int mi_lock_database(MI_INFO *info, int lock_type)
default:
break
;
/* Impossible */
}
}
#ifdef __WIN__
else
{
/*
The file has been closed and kfile is -1.
See mi_extra.c about implementation of
HA_EXTRA_PREPARE_FOR_DELETE.
*/
error
=
HA_ERR_NO_SUCH_TABLE
;
}
#endif
pthread_mutex_unlock
(
&
share
->
intern_lock
);
#if defined(FULL_LOG) || defined(_lint)
lock_type
|=
(
int
)
(
flag
<<
8
);
/* Set bit to set if real lock */
...
...
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