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
f8ae1e53
Commit
f8ae1e53
authored
Apr 05, 2005
by
msvensson@neptunus.(none)
Browse files
Options
Browse Files
Download
Plain Diff
Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1
into neptunus.(none):/home/msvensson/mysql/bug6762
parents
247f2ac5
71ccc569
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
33 additions
and
4 deletions
+33
-4
mysql-test/r/ndb_alter_table.result
mysql-test/r/ndb_alter_table.result
+1
-1
mysql-test/r/ndb_multi.result
mysql-test/r/ndb_multi.result
+1
-0
mysql-test/t/ndb_alter_table.test
mysql-test/t/ndb_alter_table.test
+1
-1
mysql-test/t/ndb_multi.test
mysql-test/t/ndb_multi.test
+2
-0
sql/ha_ndbcluster.cc
sql/ha_ndbcluster.cc
+28
-2
No files found.
mysql-test/r/ndb_alter_table.result
View file @
f8ae1e53
...
...
@@ -179,7 +179,7 @@ a b c
2 two two
alter table t1 drop index c;
select * from t1 where b = 'two';
ERROR
42S02: Table 'test.t1' doesn't exist
ERROR
HY000: Table definition has changed, please retry transaction
select * from t1 where b = 'two';
a b c
2 two two
...
...
mysql-test/r/ndb_multi.result
View file @
f8ae1e53
...
...
@@ -47,3 +47,4 @@ t2
t3
t4
drop table t1, t2, t3, t4;
drop table t1, t3, t4;
mysql-test/t/ndb_alter_table.test
View file @
f8ae1e53
...
...
@@ -143,7 +143,7 @@ select * from t1 where b = 'two';
connection
server1
;
alter
table
t1
drop
index
c
;
connection
server2
;
--
error
11
46
--
error
11
05
select
*
from
t1
where
b
=
'two'
;
select
*
from
t1
where
b
=
'two'
;
connection
server1
;
...
...
mysql-test/t/ndb_multi.test
View file @
f8ae1e53
...
...
@@ -40,5 +40,7 @@ show status like 'handler_discover%';
show
tables
;
drop
table
t1
,
t2
,
t3
,
t4
;
connection
server2
;
drop
table
t1
,
t3
,
t4
;
sql/ha_ndbcluster.cc
View file @
f8ae1e53
...
...
@@ -113,7 +113,6 @@ static const err_code_mapping err_map[]=
{
4244
,
HA_ERR_TABLE_EXIST
,
1
},
{
709
,
HA_ERR_NO_SUCH_TABLE
,
1
},
{
284
,
HA_ERR_NO_SUCH_TABLE
,
1
},
{
266
,
HA_ERR_LOCK_WAIT_TIMEOUT
,
1
},
{
274
,
HA_ERR_LOCK_WAIT_TIMEOUT
,
1
},
...
...
@@ -363,7 +362,7 @@ void ha_ndbcluster::invalidateDictionaryCache()
int
ha_ndbcluster
::
ndb_err
(
NdbConnection
*
trans
)
{
int
res
;
const
NdbError
err
=
trans
->
getNdbError
();
NdbError
err
=
trans
->
getNdbError
();
DBUG_ENTER
(
"ndb_err"
);
ERR_PRINT
(
err
);
...
...
@@ -371,6 +370,33 @@ int ha_ndbcluster::ndb_err(NdbConnection *trans)
case
NdbError
:
:
SchemaError
:
{
invalidateDictionaryCache
();
if
(
err
.
code
==
284
)
{
/*
Check if the table is _really_ gone or if the table has
been alterend and thus changed table id
*/
NDBDICT
*
dict
=
get_ndb
()
->
getDictionary
();
DBUG_PRINT
(
"info"
,
(
"Check if table %s is really gone"
,
m_tabname
));
if
(
!
(
dict
->
getTable
(
m_tabname
)))
{
err
=
dict
->
getNdbError
();
DBUG_PRINT
(
"info"
,
(
"Table not found, error: %d"
,
err
.
code
));
if
(
err
.
code
!=
709
)
DBUG_RETURN
(
1
);
}
else
{
DBUG_PRINT
(
"info"
,
(
"Table exist but must have changed"
));
/* In 5.0, this should be replaced with a mapping to a mysql error */
my_printf_error
(
ER_UNKNOWN_ERROR
,
"Table definition has changed, "
\
"please retry transaction"
,
MYF
(
0
));
DBUG_RETURN
(
1
);
}
}
break
;
}
default:
...
...
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