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
dd6958eb
Commit
dd6958eb
authored
Jan 20, 2005
by
tomas@poseidon.ndb.mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into poseidon.ndb.mysql.com:/home/tomas/mysql-5.0
parents
6b5c7c72
ac53ecce
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
58 additions
and
9 deletions
+58
-9
mysql-test/mysql-test-run.sh
mysql-test/mysql-test-run.sh
+3
-0
mysql-test/r/ndb_autodiscover.result
mysql-test/r/ndb_autodiscover.result
+10
-0
mysql-test/t/ndb_autodiscover.test
mysql-test/t/ndb_autodiscover.test
+20
-0
ndb/tools/waiter.cpp
ndb/tools/waiter.cpp
+21
-6
sql/lock.cc
sql/lock.cc
+4
-3
No files found.
mysql-test/mysql-test-run.sh
View file @
dd6958eb
...
...
@@ -540,6 +540,7 @@ if [ x$SOURCE_DIST = x1 ] ; then
INSTALL_DB
=
"./install_test_db"
MYSQL_FIX_SYSTEM_TABLES
=
"
$BASEDIR
/scripts/mysql_fix_privilege_tables"
NDB_TOOLS_DIR
=
"
$BASEDIR
/ndb/tools"
NDB_MGM
=
"
$BASEDIR
/ndb/src/mgmclient/ndb_mgm"
else
if
test
-x
"
$BASEDIR
/libexec/mysqld"
then
...
...
@@ -566,6 +567,7 @@ else
INSTALL_DB
=
"./install_test_db --bin"
MYSQL_FIX_SYSTEM_TABLES
=
"
$CLIENT_BINDIR
/mysql_fix_privilege_tables"
NDB_TOOLS_DIR
=
"
$CLIENT_BINDIR
"
NDB_MGM
=
"
$CLIENT_BINDIR
/ndb_mgm"
if
test
-d
"
$BASEDIR
/share/mysql/english"
then
LANGUAGE
=
"
$BASEDIR
/share/mysql/english/"
...
...
@@ -615,6 +617,7 @@ MYSQL="$MYSQL --host=localhost --port=$MASTER_MYPORT --socket=$MASTER_MYSOCK --u
export
MYSQL MYSQL_DUMP MYSQL_BINLOG MYSQL_FIX_SYSTEM_TABLES
export
CLIENT_BINDIR TESTS_BINDIR CHARSETSDIR
export
NDB_TOOLS_DIR
export
NDB_MGM
MYSQL_TEST_ARGS
=
"--no-defaults --socket=
$MASTER_MYSOCK
--database=
$DB
\
--user=
$DBUSER
--password=
$DBPASSWD
--silent -v --skip-safemalloc
\
...
...
mysql-test/r/ndb_autodiscover.result
View file @
dd6958eb
...
...
@@ -359,6 +359,16 @@ information_schema
mysql
test
use test;
drop database if exists test_only_ndb_tables;
create database test_only_ndb_tables;
use test_only_ndb_tables;
create table t1 (a int primary key) engine=ndb;
select * from t1;
a
select * from t1;
ERROR HY000: Can't lock file (errno: 4009)
use test;
drop database test_only_ndb_tables;
CREATE TABLE t9 (
a int NOT NULL PRIMARY KEY,
b int
...
...
mysql-test/t/ndb_autodiscover.test
View file @
dd6958eb
...
...
@@ -452,6 +452,26 @@ drop database test2;
show
databases
;
use
test
;
#########################################################
# Bug#8035
# mysqld would segfault on second select * before bug was fixed
#
--
disable_warnings
drop
database
if
exists
test_only_ndb_tables
;
--
enable_warnings
create
database
test_only_ndb_tables
;
use
test_only_ndb_tables
;
create
table
t1
(
a
int
primary
key
)
engine
=
ndb
;
select
*
from
t1
;
--
exec
$NDB_MGM
--
no
-
defaults
-
e
"all restart -n"
>
/
dev
/
null
--
exec
$NDB_TOOLS_DIR
/
ndb_waiter
--
no
-
defaults
--
not
-
started
>
/
dev
/
null
--
error
1015
select
*
from
t1
;
--
exec
$NDB_MGM
--
no
-
defaults
-
e
"all start"
>
/
dev
/
null
--
exec
$NDB_TOOLS_DIR
/
ndb_waiter
--
no
-
defaults
>
/
dev
/
null
use
test
;
drop
database
test_only_ndb_tables
;
######################################################
# Note! This should always be the last step in this
# file, the table t9 will be used and dropped
...
...
ndb/tools/waiter.cpp
View file @
dd6958eb
...
...
@@ -31,11 +31,13 @@ waitClusterStatus(const char* _addr, ndb_mgm_node_status _status,
unsigned
int
_timeout
);
enum
ndb_waiter_options
{
NDB_STD_OPTS_OPTIONS
NDB_STD_OPTS_OPTIONS
,
OPT_WAIT_STATUS_NOT_STARTED
};
NDB_STD_OPTS_VARS
;
static
int
_no_contact
=
0
;
static
int
_not_started
=
0
;
static
int
_timeout
=
120
;
static
struct
my_option
my_long_options
[]
=
{
...
...
@@ -43,6 +45,9 @@ static struct my_option my_long_options[] =
{
"no-contact"
,
'n'
,
"Wait for cluster no contact"
,
(
gptr
*
)
&
_no_contact
,
(
gptr
*
)
&
_no_contact
,
0
,
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"not-started"
,
OPT_WAIT_STATUS_NOT_STARTED
,
"Wait for cluster not started"
,
(
gptr
*
)
&
_not_started
,
(
gptr
*
)
&
_not_started
,
0
,
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"timeout"
,
't'
,
"Timeout to wait"
,
(
gptr
*
)
&
_timeout
,
(
gptr
*
)
&
_timeout
,
0
,
GET_INT
,
REQUIRED_ARG
,
120
,
0
,
0
,
0
,
0
,
0
},
...
...
@@ -91,12 +96,22 @@ int main(int argc, char** argv){
if
(
_hostName
==
0
)
_hostName
=
opt_connect_str
;
if
(
_no_contact
)
{
if
(
waitClusterStatus
(
_hostName
,
NDB_MGM_NODE_STATUS_NO_CONTACT
,
_timeout
)
!=
0
)
return
NDBT_ProgramExit
(
NDBT_FAILED
);
}
else
if
(
waitClusterStatus
(
_hostName
,
NDB_MGM_NODE_STATUS_STARTED
,
_timeout
)
!=
0
)
return
NDBT_ProgramExit
(
NDBT_FAILED
);
enum
ndb_mgm_node_status
wait_status
;
if
(
_no_contact
)
{
wait_status
=
NDB_MGM_NODE_STATUS_NO_CONTACT
;
}
else
if
(
_not_started
)
{
wait_status
=
NDB_MGM_NODE_STATUS_NOT_STARTED
;
}
else
{
wait_status
=
NDB_MGM_NODE_STATUS_STARTED
;
}
if
(
waitClusterStatus
(
_hostName
,
wait_status
,
_timeout
)
!=
0
)
return
NDBT_ProgramExit
(
NDBT_FAILED
);
return
NDBT_ProgramExit
(
NDBT_OK
);
}
...
...
sql/lock.cc
View file @
dd6958eb
...
...
@@ -182,12 +182,12 @@ static int lock_external(THD *thd, TABLE **tables, uint count)
if
((
error
=
(
*
tables
)
->
file
->
external_lock
(
thd
,
lock_type
)))
{
print_lock_error
(
error
,
(
*
tables
)
->
file
->
table_type
());
for
(;
i
--
;
tables
--
)
{
(
*
tables
)
->
file
->
external_lock
(
thd
,
F_UNLCK
);
(
*
tables
)
->
current_lock
=
F_UNLCK
;
}
print_lock_error
(
error
,
(
*
tables
)
->
file
->
table_type
());
DBUG_RETURN
(
error
);
}
else
...
...
@@ -375,12 +375,13 @@ static int unlock_external(THD *thd, TABLE **table,uint count)
{
(
*
table
)
->
current_lock
=
F_UNLCK
;
if
((
error
=
(
*
table
)
->
file
->
external_lock
(
thd
,
F_UNLCK
)))
{
error_code
=
error
;
print_lock_error
(
error_code
,
(
*
table
)
->
file
->
table_type
());
}
}
table
++
;
}
while
(
--
count
);
if
(
error_code
)
print_lock_error
(
error_code
,
(
*
table
)
->
file
->
table_type
());
DBUG_RETURN
(
error_code
);
}
...
...
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