mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
bug#16125 - ndb bitfield of exact 32 bits, incorrect assertion (i.e. only noticable in debug compiled)
mysql-test/r/ndb_bitfield.result: bug#16125 mysql-test/t/ndb_bitfield.test: bug#16125 ndb/include/util/Bitmask.hpp: bug#16125
This commit is contained in:
@ -208,3 +208,9 @@ b bit(9),
|
||||
key(b)
|
||||
) engine=ndbcluster;
|
||||
ERROR HY000: Can't create table './test/t1.frm' (errno: 743)
|
||||
create table t1 (
|
||||
pk1 int primary key,
|
||||
b bit(32) not null
|
||||
) engine=ndbcluster;
|
||||
insert into t1 values (1,1);
|
||||
drop table t1;
|
||||
|
@ -112,3 +112,11 @@ create table t1 (
|
||||
key(b)
|
||||
) engine=ndbcluster;
|
||||
|
||||
# bug#16125
|
||||
create table t1 (
|
||||
pk1 int primary key,
|
||||
b bit(32) not null
|
||||
) engine=ndbcluster;
|
||||
|
||||
insert into t1 values (1,1);
|
||||
drop table t1;
|
||||
|
@ -814,7 +814,7 @@ inline void
|
||||
BitmaskImpl::getField(unsigned size, const Uint32 src[],
|
||||
unsigned pos, unsigned len, Uint32 dst[])
|
||||
{
|
||||
assert(pos + len < (size << 5));
|
||||
assert(pos + len <= (size << 5));
|
||||
|
||||
src += (pos >> 5);
|
||||
Uint32 offset = pos & 31;
|
||||
@ -833,7 +833,7 @@ inline void
|
||||
BitmaskImpl::setField(unsigned size, Uint32 dst[],
|
||||
unsigned pos, unsigned len, const Uint32 src[])
|
||||
{
|
||||
assert(pos + len < (size << 5));
|
||||
assert(pos + len <= (size << 5));
|
||||
|
||||
dst += (pos >> 5);
|
||||
Uint32 offset = pos & 31;
|
||||
|
Reference in New Issue
Block a user