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
05353723
Commit
05353723
authored
Feb 07, 2006
by
pekka@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge pnousiainen@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/space/pekka/ndb/version/my50
parents
328b59a5
9aa06f3b
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
67 additions
and
14 deletions
+67
-14
mysql-test/r/ndb_index_unique.result
mysql-test/r/ndb_index_unique.result
+9
-0
mysql-test/t/ndb_index_unique.test
mysql-test/t/ndb_index_unique.test
+14
-0
ndb/src/kernel/blocks/dbacc/Dbacc.hpp
ndb/src/kernel/blocks/dbacc/Dbacc.hpp
+1
-1
ndb/src/kernel/main.cpp
ndb/src/kernel/main.cpp
+15
-9
ndb/src/kernel/vm/Configuration.cpp
ndb/src/kernel/vm/Configuration.cpp
+14
-3
ndb/src/kernel/vm/Configuration.hpp
ndb/src/kernel/vm/Configuration.hpp
+9
-1
sql/ha_ndbcluster.cc
sql/ha_ndbcluster.cc
+4
-0
sql/ha_ndbcluster.h
sql/ha_ndbcluster.h
+1
-0
No files found.
mysql-test/r/ndb_index_unique.result
View file @
05353723
...
...
@@ -626,3 +626,12 @@ select * from t1 where code = '12' and month = 4 and year = 2004 ;
id month year code
1 4 2004 12
drop table t1;
create table t1 (a int primary key, b varchar(1000) not null, unique key (b))
engine=ndb charset=utf8;
insert into t1 values (1, repeat(_utf8 0xe288ab6474, 200));
insert into t1 values (2, repeat(_utf8 0xe288ab6474, 200));
ERROR 23000: Duplicate entry '2' for key 1
select a, sha1(b) from t1;
a sha1(b)
1 08f5d02c8b8bc244f275bdfc22c42c5cab0d9d7d
drop table t1;
mysql-test/t/ndb_index_unique.test
View file @
05353723
...
...
@@ -309,4 +309,18 @@ select * from t1 where code = '12' and month = 4 and year = 2004 ;
drop
table
t1
;
# bug#15918 Unique Key Limit in NDB Engine
create
table
t1
(
a
int
primary
key
,
b
varchar
(
1000
)
not
null
,
unique
key
(
b
))
engine
=
ndb
charset
=
utf8
;
insert
into
t1
values
(
1
,
repeat
(
_utf8
0xe288ab6474
,
200
));
--
error
1062
insert
into
t1
values
(
2
,
repeat
(
_utf8
0xe288ab6474
,
200
));
select
a
,
sha1
(
b
)
from
t1
;
# perl -e 'print pack("H2000","e288ab6474"x200)' | sha1sum
drop
table
t1
;
# End of 4.1 tests
ndb/src/kernel/blocks/dbacc/Dbacc.hpp
View file @
05353723
...
...
@@ -1446,7 +1446,7 @@ private:
Uint32
cexcPrevforward
;
Uint32
clocalkey
[
32
];
union
{
Uint32
ckeys
[
2048
];
Uint32
ckeys
[
2048
*
MAX_XFRM_MULTIPLY
];
Uint64
ckeys_align
;
};
...
...
ndb/src/kernel/main.cpp
View file @
05353723
...
...
@@ -63,8 +63,10 @@ extern "C" void handler_sigusr1(int signum); // child signalling failed restart
void
systemInfo
(
const
Configuration
&
conf
,
const
LogLevel
&
ll
);
static
FILE
*
child_info_file_r
=
0
;
static
FILE
*
child_info_file_w
=
0
;
// These are used already before fork if fetch_configuration() fails
// (e.g. Unable to alloc node id). Set them to something reasonable.
static
FILE
*
child_info_file_r
=
stdin
;
static
FILE
*
child_info_file_w
=
stdout
;
static
void
writeChildInfo
(
const
char
*
token
,
int
val
)
{
...
...
@@ -270,8 +272,8 @@ int main(int argc, char** argv)
#ifndef NDB_WIN32
signal
(
SIGUSR1
,
handler_sigusr1
);
pid_t
child
;
while
(
1
)
pid_t
child
=
-
1
;
while
(
!
theConfig
->
getForegroundMode
())
// the cond is const
{
// setup reporting between child and parent
int
filedes
[
2
];
...
...
@@ -393,8 +395,10 @@ int main(int argc, char** argv)
if
(
child
>=
0
)
g_eventLogger
.
info
(
"Angel pid: %d ndb pid: %d"
,
getppid
(),
getpid
());
else
else
if
(
child
>
0
)
g_eventLogger
.
info
(
"Ndb pid: %d"
,
getpid
());
else
g_eventLogger
.
info
(
"Ndb started in foreground"
);
#else
g_eventLogger
.
info
(
"Ndb started"
);
#endif
...
...
@@ -569,10 +573,7 @@ catchsigs(bool ignore){
#ifdef SIGPOLL
SIGPOLL
,
#endif
SIGSEGV
,
#ifdef SIGTRAP
SIGTRAP
#endif
SIGSEGV
};
static
const
int
signals_ignore
[]
=
{
...
...
@@ -586,6 +587,11 @@ catchsigs(bool ignore){
handler_register
(
signals_error
[
i
],
handler_error
,
ignore
);
for
(
i
=
0
;
i
<
sizeof
(
signals_ignore
)
/
sizeof
(
signals_ignore
[
0
]);
i
++
)
handler_register
(
signals_ignore
[
i
],
SIG_IGN
,
ignore
);
#ifdef SIGTRAP
Configuration
*
theConfig
=
globalEmulatorData
.
theConfiguration
;
if
(
!
theConfig
->
getForegroundMode
())
handler_register
(
SIGTRAP
,
handler_error
,
ignore
);
#endif
#endif
}
...
...
ndb/src/kernel/vm/Configuration.cpp
View file @
05353723
...
...
@@ -48,11 +48,13 @@ extern EventLogger g_eventLogger;
enum
ndbd_options
{
OPT_INITIAL
=
NDB_STD_OPTIONS_LAST
,
OPT_NODAEMON
OPT_NODAEMON
,
OPT_FOREGROUND
};
NDB_STD_OPTS_VARS
;
static
int
_daemon
,
_no_daemon
,
_initial
,
_no_start
;
// XXX should be my_bool ???
static
int
_daemon
,
_no_daemon
,
_foreground
,
_initial
,
_no_start
;
/**
* Arguments to NDB process
*/
...
...
@@ -75,6 +77,11 @@ static struct my_option my_long_options[] =
"Do not start ndbd as daemon, provided for testing purposes"
,
(
gptr
*
)
&
_no_daemon
,
(
gptr
*
)
&
_no_daemon
,
0
,
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"foreground"
,
OPT_FOREGROUND
,
"Run real ndbd in foreground, provided for debugging purposes"
" (implies --nodaemon)"
,
(
gptr
*
)
&
_foreground
,
(
gptr
*
)
&
_foreground
,
0
,
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
0
,
0
,
0
,
0
,
0
,
0
,
GET_NO_ARG
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
}
};
static
void
short_usage_sub
(
void
)
...
...
@@ -103,13 +110,14 @@ Configuration::init(int argc, char** argv)
ndb_std_get_one_option
)))
exit
(
ho_error
);
if
(
_no_daemon
)
{
if
(
_no_daemon
||
_foreground
)
{
_daemon
=
0
;
}
DBUG_PRINT
(
"info"
,
(
"no_start=%d"
,
_no_start
));
DBUG_PRINT
(
"info"
,
(
"initial=%d"
,
_initial
));
DBUG_PRINT
(
"info"
,
(
"daemon=%d"
,
_daemon
));
DBUG_PRINT
(
"info"
,
(
"foreground=%d"
,
_foreground
));
DBUG_PRINT
(
"info"
,
(
"connect_str=%s"
,
opt_connect_str
));
ndbSetOwnVersion
();
...
...
@@ -131,6 +139,8 @@ Configuration::init(int argc, char** argv)
// Check daemon flag
if
(
_daemon
)
_daemonMode
=
true
;
if
(
_foreground
)
_foregroundMode
=
true
;
// Save programname
if
(
argc
>
0
&&
argv
[
0
]
!=
0
)
...
...
@@ -151,6 +161,7 @@ Configuration::Configuration()
_backupPath
=
0
;
_initialStart
=
false
;
_daemonMode
=
false
;
_foregroundMode
=
false
;
m_config_retriever
=
0
;
m_clusterConfig
=
0
;
m_clusterConfigIter
=
0
;
...
...
ndb/src/kernel/vm/Configuration.hpp
View file @
05353723
...
...
@@ -64,6 +64,7 @@ public:
bool
getInitialStart
()
const
;
void
setInitialStart
(
bool
val
);
bool
getDaemonMode
()
const
;
bool
getForegroundMode
()
const
;
const
ndb_mgm_configuration_iterator
*
getOwnConfigIterator
()
const
;
...
...
@@ -105,7 +106,8 @@ private:
char
*
_connectString
;
Uint32
m_mgmd_port
;
BaseString
m_mgmd_host
;
bool
_daemonMode
;
bool
_daemonMode
;
// if not, angel in foreground
bool
_foregroundMode
;
// no angel, raw ndbd in foreground
void
calcSizeAlt
(
class
ConfigValues
*
);
};
...
...
@@ -140,4 +142,10 @@ Configuration::getDaemonMode() const {
return
_daemonMode
;
}
inline
bool
Configuration
::
getForegroundMode
()
const
{
return
_foregroundMode
;
}
#endif
sql/ha_ndbcluster.cc
View file @
05353723
...
...
@@ -5098,6 +5098,10 @@ uint ha_ndbcluster::max_supported_key_length() const
{
return
NDB_MAX_KEY_SIZE
;
}
uint
ha_ndbcluster
::
max_supported_key_part_length
()
const
{
return
NDB_MAX_KEY_SIZE
;
}
bool
ha_ndbcluster
::
low_byte_first
()
const
{
#ifdef WORDS_BIGENDIAN
...
...
sql/ha_ndbcluster.h
View file @
05353723
...
...
@@ -510,6 +510,7 @@ class ha_ndbcluster: public handler
uint
max_supported_keys
()
const
;
uint
max_supported_key_parts
()
const
;
uint
max_supported_key_length
()
const
;
uint
max_supported_key_part_length
()
const
;
int
rename_table
(
const
char
*
from
,
const
char
*
to
);
int
delete_table
(
const
char
*
name
);
...
...
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