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
2d5711b8
Commit
2d5711b8
authored
Nov 30, 2004
by
tomas@poseidon.ndb.mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1-clean
parents
f3e20188
4ba04a3d
Changes
33
Show whitespace changes
Inline
Side-by-side
Showing
33 changed files
with
146 additions
and
44 deletions
+146
-44
client/mysqladmin.cc
client/mysqladmin.cc
+9
-0
mysql-test/r/ndb_index_unique.result
mysql-test/r/ndb_index_unique.result
+36
-0
mysql-test/t/ndb_index_unique.test
mysql-test/t/ndb_index_unique.test
+20
-0
netware/comp_err.def
netware/comp_err.def
+1
-1
netware/isamchk.def
netware/isamchk.def
+1
-1
netware/isamlog.def
netware/isamlog.def
+1
-1
netware/libmysql.def
netware/libmysql.def
+1
-1
netware/my_print_defaults.def
netware/my_print_defaults.def
+1
-1
netware/myisam_ftdump.def
netware/myisam_ftdump.def
+1
-1
netware/myisamchk.def
netware/myisamchk.def
+1
-1
netware/myisamlog.def
netware/myisamlog.def
+1
-1
netware/myisampack.def
netware/myisampack.def
+1
-1
netware/mysql.def
netware/mysql.def
+1
-1
netware/mysql_install.def
netware/mysql_install.def
+1
-1
netware/mysql_install_db.def
netware/mysql_install_db.def
+1
-1
netware/mysql_test_run.def
netware/mysql_test_run.def
+1
-1
netware/mysql_waitpid.def
netware/mysql_waitpid.def
+1
-1
netware/mysqladmin.def
netware/mysqladmin.def
+1
-1
netware/mysqlbinlog.def
netware/mysqlbinlog.def
+1
-1
netware/mysqlcheck.def
netware/mysqlcheck.def
+1
-1
netware/mysqld.def
netware/mysqld.def
+1
-1
netware/mysqld_safe.def
netware/mysqld_safe.def
+1
-1
netware/mysqldump.def
netware/mysqldump.def
+1
-1
netware/mysqlimport.def
netware/mysqlimport.def
+1
-1
netware/mysqlshow.def
netware/mysqlshow.def
+1
-1
netware/mysqltest.def
netware/mysqltest.def
+1
-1
netware/pack_isam.def
netware/pack_isam.def
+1
-1
netware/perror.def
netware/perror.def
+1
-1
netware/replace.def
netware/replace.def
+1
-1
netware/resolve_stack_dump.def
netware/resolve_stack_dump.def
+1
-1
netware/resolveip.def
netware/resolveip.def
+1
-1
sql/ha_ndbcluster.cc
sql/ha_ndbcluster.cc
+38
-6
sql/mysqld.cc
sql/mysqld.cc
+15
-10
No files found.
client/mysqladmin.cc
View file @
2d5711b8
...
...
@@ -125,6 +125,10 @@ static TYPELIB command_typelib=
static
struct
my_option
my_long_options
[]
=
{
#ifdef __NETWARE__
{
"autoclose"
,
'a'
,
" Auto close the screen on exit for NetWare"
,
0
,
0
,
0
,
GET_NO_ARG
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
#endif
{
"count"
,
'c'
,
"Number of iterations to make. This works with -i (--sleep) only."
,
(
gptr
*
)
&
nr_iterations
,
(
gptr
*
)
&
nr_iterations
,
0
,
GET_UINT
,
...
...
@@ -218,6 +222,11 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
int
error
=
0
;
switch
(
optid
)
{
#ifdef __NETWARE__
case
'a'
:
setscreenmode
(
SCR_AUTOCLOSE_ON_EXIT
);
// auto close the screen /
break
;
#endif
case
'c'
:
opt_count_iterations
=
1
;
break
;
...
...
mysql-test/r/ndb_index_unique.result
View file @
2d5711b8
...
...
@@ -574,3 +574,39 @@ uid gid rid cid
1 1 2 3
1 1 2 4
drop table t1,t2,t3,t4,t5,t6,t7;
CREATE TABLE t1 (
a int unsigned NOT NULL PRIMARY KEY,
b int unsigned,
c int unsigned,
UNIQUE bc(b,c) ) engine = ndb;
insert into t1 values(1,1,1),(2,NULL,2),(3,NULL,NULL),(4,4,NULL);
select * from t1 where b=1 and c=1;
a b c
1 1 1
select * from t1 where b is null and c is null;
a b c
3 NULL NULL
select * from t1 where b is null and c = 2;
a b c
2 NULL 2
select * from t1 where b = 4 and c is null;
a b c
4 4 NULL
create table t8 as
select * from t1 where (b = 1 and c = 1)
or (b is null and c is null)
or (b is null and c = 2)
or (b = 4 and c is null);
select * from t8 order by a;
a b c
1 1 1
2 NULL 2
3 NULL NULL
4 4 NULL
select * from t1 order by a;
a b c
1 1 1
2 NULL 2
3 NULL NULL
4 4 NULL
drop table t1, t8;
mysql-test/t/ndb_index_unique.test
View file @
2d5711b8
...
...
@@ -265,4 +265,24 @@ select * from t4 where rid = 2 order by cid;
drop
table
t1
,
t2
,
t3
,
t4
,
t5
,
t6
,
t7
;
# test null in indexes
CREATE
TABLE
t1
(
a
int
unsigned
NOT
NULL
PRIMARY
KEY
,
b
int
unsigned
,
c
int
unsigned
,
UNIQUE
bc
(
b
,
c
)
)
engine
=
ndb
;
insert
into
t1
values
(
1
,
1
,
1
),(
2
,
NULL
,
2
),(
3
,
NULL
,
NULL
),(
4
,
4
,
NULL
);
select
*
from
t1
where
b
=
1
and
c
=
1
;
select
*
from
t1
where
b
is
null
and
c
is
null
;
select
*
from
t1
where
b
is
null
and
c
=
2
;
select
*
from
t1
where
b
=
4
and
c
is
null
;
create
table
t8
as
select
*
from
t1
where
(
b
=
1
and
c
=
1
)
or
(
b
is
null
and
c
is
null
)
or
(
b
is
null
and
c
=
2
)
or
(
b
=
4
and
c
is
null
);
select
*
from
t8
order
by
a
;
select
*
from
t1
order
by
a
;
drop
table
t1
,
t8
;
netware/comp_err.def
View file @
2d5711b8
...
...
@@ -2,7 +2,7 @@
# MySQL Error File Compiler
#------------------------------------------------------------------------------
MODULE libc.nlm
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Error File Compiler"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/isamchk.def
View file @
2d5711b8
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL ISAM Table Check Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL ISAM Table Check Tool"
VERSION 4, 0
STACKSIZE 65536
...
...
netware/isamlog.def
View file @
2d5711b8
...
...
@@ -2,7 +2,7 @@
# ISAM Log
#------------------------------------------------------------------------------
MODULE libc.nlm
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL ISAM Table Log Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/libmysql.def
View file @
2d5711b8
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
EXPORT @libmysql.imp
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Client Library"
VERSION 4, 0
AUTOUNLOAD
...
...
netware/my_print_defaults.def
View file @
2d5711b8
...
...
@@ -2,7 +2,7 @@
# My Print Defaults
#------------------------------------------------------------------------------
MODULE libc.nlm
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Print Defaults Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/myisam_ftdump.def
View file @
2d5711b8
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL MyISAM Table Dump Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL MyISAM Table Dump Tool"
VERSION 4, 0
STACKSIZE 65536
...
...
netware/myisamchk.def
View file @
2d5711b8
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL MyISAM Table Check Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL MyISAM Table Check Tool"
VERSION 4, 0
STACKSIZE 65536
...
...
netware/myisamlog.def
View file @
2d5711b8
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL MyISAM Table Log Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL MyISAM Table Log Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/myisampack.def
View file @
2d5711b8
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL MyISAM Table Pack Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL MyISAM Table Pack Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/mysql.def
View file @
2d5711b8
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL Monitor"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Monitor"
VERSION 4, 0
MULTIPLE
...
...
netware/mysql_install.def
View file @
2d5711b8
...
...
@@ -2,7 +2,7 @@
# My Print Defaults
#------------------------------------------------------------------------------
MODULE libc.nlm
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Install Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/mysql_install_db.def
View file @
2d5711b8
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL Install"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Initial Database Installer"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/mysql_test_run.def
View file @
2d5711b8
...
...
@@ -4,7 +4,7 @@
MODULE libc.nlm
STACKSIZE 65536
SCREENNAME "MySQL Test Run"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Test Run"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/mysql_waitpid.def
View file @
2d5711b8
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
#SCREENNAME "MySQL Tool - Wait for a Program to Terminate"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Tool - Wait for a Program to Terminate"
VERSION 4, 0
STACKSIZE 65536
...
...
netware/mysqladmin.def
View file @
2d5711b8
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL Admin"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Admin Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/mysqlbinlog.def
View file @
2d5711b8
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL Binary Log Dump Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Binary Log Dump Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/mysqlcheck.def
View file @
2d5711b8
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL Check Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Check Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/mysqld.def
View file @
2d5711b8
...
...
@@ -2,7 +2,7 @@
# MySQL Server
#------------------------------------------------------------------------------
MODULE libc.nlm
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Database Server"
VERSION 4, 0
MULTIPLE
...
...
netware/mysqld_safe.def
View file @
2d5711b8
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL Database Server"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Database Server Monitor"
VERSION 4, 0
MULTIPLE
...
...
netware/mysqldump.def
View file @
2d5711b8
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL Dump Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Dump Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/mysqlimport.def
View file @
2d5711b8
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL Import"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Import Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/mysqlshow.def
View file @
2d5711b8
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL Show"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Show Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/mysqltest.def
View file @
2d5711b8
...
...
@@ -2,7 +2,7 @@
# MySQL Admin
#------------------------------------------------------------------------------
MODULE libc.nlm
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Test Case Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/pack_isam.def
View file @
2d5711b8
...
...
@@ -2,7 +2,7 @@
# Pack ISAM
#------------------------------------------------------------------------------
MODULE libc.nlm
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL ISAM Table Pack Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/perror.def
View file @
2d5711b8
...
...
@@ -2,7 +2,7 @@
# PERROR
#------------------------------------------------------------------------------
MODULE libc.nlm
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Error Code Description Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/replace.def
View file @
2d5711b8
...
...
@@ -2,7 +2,7 @@
# Replace
#------------------------------------------------------------------------------
MODULE libc.nlm
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Text Replacement Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/resolve_stack_dump.def
View file @
2d5711b8
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
#SCREENNAME "MySQL Stack Dump Resolve Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Stack Dump Resolve Tool"
VERSION 4, 0
STACKSIZE 65536
...
...
netware/resolveip.def
View file @
2d5711b8
...
...
@@ -2,7 +2,7 @@
# Resolve IP
#------------------------------------------------------------------------------
MODULE libc.nlm
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL IP/Hostname Resolve Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
sql/ha_ndbcluster.cc
View file @
2d5711b8
...
...
@@ -1197,9 +1197,10 @@ int ha_ndbcluster::unique_index_read(const byte *key,
for
(
i
=
0
;
key_part
!=
end
;
key_part
++
,
i
++
)
{
if
(
set_ndb_key
(
op
,
key_part
->
field
,
i
,
key_ptr
))
if
(
set_ndb_key
(
op
,
key_part
->
field
,
i
,
key_part
->
null_bit
?
key_ptr
+
1
:
key_ptr
))
ERR_RETURN
(
trans
->
getNdbError
());
key_ptr
+=
key_part
->
length
;
key_ptr
+=
key_part
->
store_
length
;
}
// Get non-index attribute(s)
...
...
@@ -2287,6 +2288,28 @@ int ha_ndbcluster::index_end()
DBUG_RETURN
(
close_scan
());
}
/**
* Check if key contains null
*/
static
int
check_null_in_key
(
const
KEY
*
key_info
,
const
byte
*
key
,
uint
key_len
)
{
KEY_PART_INFO
*
curr_part
,
*
end_part
;
const
byte
*
end_ptr
=
key
+
key_len
;
curr_part
=
key_info
->
key_part
;
end_part
=
curr_part
+
key_info
->
key_parts
;
for
(;
curr_part
!=
end_part
&&
key
<
end_ptr
;
curr_part
++
)
{
if
(
curr_part
->
null_bit
&&
*
key
)
return
1
;
key
+=
curr_part
->
store_length
;
}
return
0
;
}
int
ha_ndbcluster
::
index_read
(
byte
*
buf
,
const
byte
*
key
,
uint
key_len
,
...
...
@@ -2304,6 +2327,8 @@ int ha_ndbcluster::index_read(byte *buf,
case
PRIMARY_KEY_INDEX
:
if
(
find_flag
==
HA_READ_KEY_EXACT
&&
key_info
->
key_length
==
key_len
)
{
if
(
m_active_cursor
&&
(
error
=
close_scan
()))
DBUG_RETURN
(
error
);
DBUG_RETURN
(
pk_read
(
key
,
key_len
,
buf
));
}
else
if
(
type
==
PRIMARY_KEY_INDEX
)
...
...
@@ -2313,8 +2338,11 @@ int ha_ndbcluster::index_read(byte *buf,
break
;
case
UNIQUE_ORDERED_INDEX
:
case
UNIQUE_INDEX
:
if
(
find_flag
==
HA_READ_KEY_EXACT
&&
key_info
->
key_length
==
key_len
)
if
(
find_flag
==
HA_READ_KEY_EXACT
&&
key_info
->
key_length
==
key_len
&&
!
check_null_in_key
(
key_info
,
key
,
key_len
))
{
if
(
m_active_cursor
&&
(
error
=
close_scan
()))
DBUG_RETURN
(
error
);
DBUG_RETURN
(
unique_index_read
(
key
,
key_len
,
buf
));
}
else
if
(
type
==
UNIQUE_INDEX
)
...
...
@@ -2418,6 +2446,8 @@ int ha_ndbcluster::read_range_first_to_buf(const key_range *start_key,
start_key
->
length
==
key_info
->
key_length
&&
start_key
->
flag
==
HA_READ_KEY_EXACT
)
{
if
(
m_active_cursor
&&
(
error
=
close_scan
()))
DBUG_RETURN
(
error
);
error
=
pk_read
(
start_key
->
key
,
start_key
->
length
,
buf
);
DBUG_RETURN
(
error
==
HA_ERR_KEY_NOT_FOUND
?
HA_ERR_END_OF_FILE
:
error
);
}
...
...
@@ -2425,10 +2455,12 @@ int ha_ndbcluster::read_range_first_to_buf(const key_range *start_key,
case
UNIQUE_ORDERED_INDEX
:
case
UNIQUE_INDEX
:
key_info
=
table
->
key_info
+
active_index
;
if
(
start_key
&&
start_key
->
length
==
key_info
->
key_length
&&
start_key
->
flag
==
HA_READ_KEY_EXACT
)
if
(
start_key
&&
start_key
->
length
==
key_info
->
key_length
&&
start_key
->
flag
==
HA_READ_KEY_EXACT
&&
!
check_null_in_key
(
key_info
,
start_key
->
key
,
start_key
->
length
)
)
{
if
(
m_active_cursor
&&
(
error
=
close_scan
()))
DBUG_RETURN
(
error
);
error
=
unique_index_read
(
start_key
->
key
,
start_key
->
length
,
buf
);
DBUG_RETURN
(
error
==
HA_ERR_KEY_NOT_FOUND
?
HA_ERR_END_OF_FILE
:
error
);
}
...
...
sql/mysqld.cc
View file @
2d5711b8
...
...
@@ -146,6 +146,7 @@ static VolumeID_t datavolid;
static
event_handle_t
eh
;
static
Report_t
ref
;
static
void
*
refneb
=
NULL
;
my_bool
event_flag
=
FALSE
;
static
int
volumeid
=
-
1
;
/* NEB event callback */
...
...
@@ -815,6 +816,7 @@ static void __cdecl kill_server(int sig_ptr)
else
unireg_end
();
#ifdef __NETWARE__
if
(
!
event_flag
)
pthread_join
(
select_thread
,
NULL
);
// wait for main thread
#endif
/* __NETWARE__ */
...
...
@@ -1525,6 +1527,7 @@ static void check_data_home(const char *path)
// down server event callback
void
mysql_down_server_cb
(
void
*
,
void
*
)
{
event_flag
=
TRUE
;
kill_server
(
0
);
}
...
...
@@ -1534,7 +1537,6 @@ void mysql_cb_destroy(void *)
{
UnRegisterEventNotification
(
eh
);
// cleanup down event notification
NX_UNWRAP_INTERFACE
(
ref
);
/* Deregister NSS volume deactivation event */
NX_UNWRAP_INTERFACE
(
refneb
);
if
(
neb_consumer_id
)
...
...
@@ -1558,7 +1560,7 @@ void mysql_cb_init()
Register for volume deactivation event
Wrap the callback function, as it is called by non-LibC thread
*/
(
void
)
NX_WRAP_INTERFACE
(
neb_event_callback
,
1
,
&
refneb
);
(
void
*
)
NX_WRAP_INTERFACE
(
neb_event_callback
,
1
,
&
refneb
);
registerwithneb
();
NXVmRegisterExitHandler
(
mysql_cb_destroy
,
NULL
);
// clean-up
...
...
@@ -1655,7 +1657,9 @@ ulong neb_event_callback(struct EventBlock *eblock)
{
consoleprintf
(
"MySQL data volume is deactivated, shutting down MySQL Server
\n
"
);
nw_panic
=
TRUE
;
event_flag
=
TRUE
;
kill_server
(
0
);
}
}
return
0
;
...
...
@@ -1729,8 +1733,8 @@ static void init_signals(void)
for
(
uint
i
=
0
;
i
<
sizeof
(
signals
)
/
sizeof
(
int
)
;
i
++
)
signal
(
signals
[
i
],
kill_server
);
mysql_cb_init
();
// initialize callbacks
}
}
static
void
start_signal_handler
(
void
)
{
...
...
@@ -3065,6 +3069,7 @@ we force server id to 2, but this MySQL server will not act as a slave.");
#endif
clean_up_mutexes
();
my_end
(
opt_endinfo
?
MY_CHECK_ERROR
|
MY_GIVE_INFO
:
0
);
exit
(
0
);
return
(
0
);
/* purecov: deadcode */
}
...
...
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