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
efdef780
Commit
efdef780
authored
Nov 21, 2005
by
mskold@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge mskold@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/local/home/marty/MySQL/mysql-4.1
parents
133c00be
16fcccce
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
44 additions
and
7 deletions
+44
-7
mysql-test/r/ndb_alter_table.result
mysql-test/r/ndb_alter_table.result
+1
-2
mysql-test/t/ndb_alter_table.test
mysql-test/t/ndb_alter_table.test
+4
-0
sql/ha_ndbcluster.cc
sql/ha_ndbcluster.cc
+39
-5
No files found.
mysql-test/r/ndb_alter_table.result
View file @
efdef780
...
@@ -179,8 +179,7 @@ a b c
...
@@ -179,8 +179,7 @@ a b c
2 two two
2 two two
alter table t1 drop index c;
alter table t1 drop index c;
select * from t1 where b = 'two';
select * from t1 where b = 'two';
a b c
ERROR HY000: Table definition has changed, please retry transaction
2 two two
select * from t1 where b = 'two';
select * from t1 where b = 'two';
a b c
a b c
2 two two
2 two two
...
...
mysql-test/t/ndb_alter_table.test
View file @
efdef780
...
@@ -138,6 +138,7 @@ INSERT INTO t1 VALUES (1,2,0),(18,19,4),(20,21,0);
...
@@ -138,6 +138,7 @@ INSERT INTO t1 VALUES (1,2,0),(18,19,4),(20,21,0);
select
c
from
t1
order
by
c
;
select
c
from
t1
order
by
c
;
drop
table
t1
;
drop
table
t1
;
--
disable_ps_protocol
create
table
t1
(
a
int
primary
key
,
b
varchar
(
10
),
c
varchar
(
10
),
index
(
b
)
)
create
table
t1
(
a
int
primary
key
,
b
varchar
(
10
),
c
varchar
(
10
),
index
(
b
)
)
engine
=
ndb
;
engine
=
ndb
;
insert
into
t1
values
(
1
,
'one'
,
'one'
),
(
2
,
'two'
,
'two'
),
(
3
,
'three'
,
'three'
);
insert
into
t1
values
(
1
,
'one'
,
'one'
),
(
2
,
'two'
,
'two'
),
(
3
,
'three'
,
'three'
);
...
@@ -147,10 +148,13 @@ select * from t1 where b = 'two';
...
@@ -147,10 +148,13 @@ select * from t1 where b = 'two';
connection
server1
;
connection
server1
;
alter
table
t1
drop
index
c
;
alter
table
t1
drop
index
c
;
connection
server2
;
connection
server2
;
# This should fail since index information is not automatically refreshed
--
error
1105
select
*
from
t1
where
b
=
'two'
;
select
*
from
t1
where
b
=
'two'
;
select
*
from
t1
where
b
=
'two'
;
select
*
from
t1
where
b
=
'two'
;
connection
server1
;
connection
server1
;
drop
table
t1
;
drop
table
t1
;
--
enable_ps_protocol
#--disable_warnings
#--disable_warnings
#DROP TABLE IF EXISTS t2;
#DROP TABLE IF EXISTS t2;
...
...
sql/ha_ndbcluster.cc
View file @
efdef780
...
@@ -50,6 +50,8 @@ static const char *ha_ndb_ext=".ndb";
...
@@ -50,6 +50,8 @@ static const char *ha_ndb_ext=".ndb";
#define NDB_FAILED_AUTO_INCREMENT ~(Uint64)0
#define NDB_FAILED_AUTO_INCREMENT ~(Uint64)0
#define NDB_AUTO_INCREMENT_RETRIES 10
#define NDB_AUTO_INCREMENT_RETRIES 10
#define NDB_INVALID_SCHEMA_OBJECT 241
#define ERR_PRINT(err) \
#define ERR_PRINT(err) \
DBUG_PRINT("error", ("%d message: %s", err.code, err.message))
DBUG_PRINT("error", ("%d message: %s", err.code, err.message))
...
@@ -212,7 +214,21 @@ Thd_ndb::Thd_ndb()
...
@@ -212,7 +214,21 @@ Thd_ndb::Thd_ndb()
Thd_ndb
::~
Thd_ndb
()
Thd_ndb
::~
Thd_ndb
()
{
{
if
(
ndb
)
if
(
ndb
)
{
#ifndef DBUG_OFF
Ndb
::
Free_list_usage
tmp
;
tmp
.
m_name
=
0
;
while
(
ndb
->
get_free_list_usage
(
&
tmp
))
{
uint
leaked
=
(
uint
)
tmp
.
m_created
-
tmp
.
m_free
;
if
(
leaked
)
fprintf
(
stderr
,
"NDB: Found %u %s%s that %s not been released
\n
"
,
leaked
,
tmp
.
m_name
,
(
leaked
==
1
)
?
""
:
"'s"
,
(
leaked
==
1
)
?
"has"
:
"have"
);
}
#endif
delete
ndb
;
delete
ndb
;
}
ndb
=
0
;
ndb
=
0
;
}
}
...
@@ -3269,15 +3285,19 @@ int ha_ndbcluster::external_lock(THD *thd, int lock_type)
...
@@ -3269,15 +3285,19 @@ int ha_ndbcluster::external_lock(THD *thd, int lock_type)
DBUG_PRINT
(
"info"
,
(
"Table schema version: %d"
,
DBUG_PRINT
(
"info"
,
(
"Table schema version: %d"
,
tab
->
getObjectVersion
()));
tab
->
getObjectVersion
()));
}
}
if
(
m_table
!=
(
void
*
)
tab
||
m_table_version
<
tab
->
getObjectVersion
()
)
if
(
m_table
!=
(
void
*
)
tab
)
{
{
/*
The table has been altered, refresh the index list
*/
build_index_list
(
ndb
,
table
,
ILBP_OPEN
);
m_table
=
(
void
*
)
tab
;
m_table
=
(
void
*
)
tab
;
m_table_version
=
tab
->
getObjectVersion
();
m_table_version
=
tab
->
getObjectVersion
();
}
}
else
if
(
m_table_version
<
tab
->
getObjectVersion
())
{
/*
The table has been altered, caller has to retry
*/
NdbError
err
=
ndb
->
getNdbError
(
NDB_INVALID_SCHEMA_OBJECT
);
DBUG_RETURN
(
ndb_to_mysql_error
(
&
err
));
}
m_table_info
=
tab_info
;
m_table_info
=
tab_info
;
}
}
no_uncommitted_rows_init
(
thd
);
no_uncommitted_rows_init
(
thd
);
...
@@ -4657,7 +4677,21 @@ bool ndbcluster_end()
...
@@ -4657,7 +4677,21 @@ bool ndbcluster_end()
{
{
DBUG_ENTER
(
"ndbcluster_end"
);
DBUG_ENTER
(
"ndbcluster_end"
);
if
(
g_ndb
)
if
(
g_ndb
)
{
#ifndef DBUG_OFF
Ndb
::
Free_list_usage
tmp
;
tmp
.
m_name
=
0
;
while
(
g_ndb
->
get_free_list_usage
(
&
tmp
))
{
uint
leaked
=
(
uint
)
tmp
.
m_created
-
tmp
.
m_free
;
if
(
leaked
)
fprintf
(
stderr
,
"NDB: Found %u %s%s that %s not been released
\n
"
,
leaked
,
tmp
.
m_name
,
(
leaked
==
1
)
?
""
:
"'s"
,
(
leaked
==
1
)
?
"has"
:
"have"
);
}
#endif
delete
g_ndb
;
delete
g_ndb
;
}
g_ndb
=
NULL
;
g_ndb
=
NULL
;
if
(
g_ndb_cluster_connection
)
if
(
g_ndb_cluster_connection
)
delete
g_ndb_cluster_connection
;
delete
g_ndb_cluster_connection
;
...
...
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