mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 05:22:25 +01:00
Added bit field support for ndbcluster
This commit is contained in:
parent
bcf8a34448
commit
cb4dc28097
2 changed files with 213 additions and 0 deletions
152
mysql-test/r/ndb_bitfield.result
Normal file
152
mysql-test/r/ndb_bitfield.result
Normal file
|
@ -0,0 +1,152 @@
|
|||
drop table if exists t1;
|
||||
create table t1 (
|
||||
pk1 int not null primary key,
|
||||
b bit(64)
|
||||
) engine=ndbcluster;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`pk1` int(11) NOT NULL,
|
||||
`b` bit(64) default NULL,
|
||||
PRIMARY KEY (`pk1`)
|
||||
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
|
||||
insert into t1 values
|
||||
(0,b'1111111111111111111111111111111111111111111111111111111111111111'),
|
||||
(1,b'1000000000000000000000000000000000000000000000000000000000000000'),
|
||||
(2,b'0000000000000000000000000000000000000000000000000000000000000001'),
|
||||
(3,b'1010101010101010101010101010101010101010101010101010101010101010'),
|
||||
(4,b'0101010101010101010101010101010101010101010101010101010101010101');
|
||||
select hex(b) from t1 order by pk1;
|
||||
hex(b)
|
||||
FFFFFFFFFFFFFFFF
|
||||
8000000000000000
|
||||
1
|
||||
AAAAAAAAAAAAAAAA
|
||||
5555555555555555
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
pk1 int not null primary key,
|
||||
b bit(9)
|
||||
) engine=ndbcluster;
|
||||
insert into t1 values
|
||||
(0,b'000000000'),
|
||||
(1,b'000000001'),
|
||||
(2,b'000000010'),
|
||||
(3,b'000000011'),
|
||||
(4,b'000000100');
|
||||
select hex(b) from t1 order by pk1;
|
||||
hex(b)
|
||||
0
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
update t1 set b = b + b'101010101';
|
||||
select hex(b) from t1 order by pk1;
|
||||
hex(b)
|
||||
155
|
||||
156
|
||||
157
|
||||
158
|
||||
159
|
||||
drop table t1;
|
||||
create table t1 (a bit(7), b bit(9)) engine = ndbcluster;
|
||||
insert into t1 values
|
||||
(94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),
|
||||
(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),
|
||||
(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),
|
||||
(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),
|
||||
(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),
|
||||
(44, 307), (68, 454), (57, 135);
|
||||
select a+0 from t1 order by a;
|
||||
a+0
|
||||
0
|
||||
4
|
||||
5
|
||||
9
|
||||
23
|
||||
24
|
||||
28
|
||||
29
|
||||
30
|
||||
31
|
||||
34
|
||||
44
|
||||
49
|
||||
56
|
||||
57
|
||||
59
|
||||
60
|
||||
61
|
||||
68
|
||||
68
|
||||
75
|
||||
77
|
||||
78
|
||||
79
|
||||
87
|
||||
88
|
||||
94
|
||||
94
|
||||
104
|
||||
106
|
||||
108
|
||||
111
|
||||
116
|
||||
118
|
||||
119
|
||||
122
|
||||
123
|
||||
127
|
||||
select b+0 from t1 order by b;
|
||||
b+0
|
||||
36
|
||||
42
|
||||
46
|
||||
67
|
||||
83
|
||||
118
|
||||
123
|
||||
133
|
||||
135
|
||||
152
|
||||
177
|
||||
178
|
||||
188
|
||||
202
|
||||
206
|
||||
245
|
||||
280
|
||||
307
|
||||
343
|
||||
345
|
||||
349
|
||||
351
|
||||
363
|
||||
368
|
||||
368
|
||||
379
|
||||
380
|
||||
390
|
||||
398
|
||||
399
|
||||
403
|
||||
411
|
||||
411
|
||||
438
|
||||
446
|
||||
454
|
||||
468
|
||||
499
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
pk1 bit(9) not null primary key,
|
||||
b int
|
||||
) engine=ndbcluster;
|
||||
ERROR HY000: Can't create table './test/t1.frm' (errno: 743)
|
||||
create table t1 (
|
||||
pk1 int not null primary key,
|
||||
b bit(9),
|
||||
key(b)
|
||||
) engine=ndbcluster;
|
||||
ERROR HY000: Can't create table './test/t1.frm' (errno: 743)
|
61
mysql-test/t/ndb_bitfield.test
Normal file
61
mysql-test/t/ndb_bitfield.test
Normal file
|
@ -0,0 +1,61 @@
|
|||
-- source include/have_ndb.inc
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
|
||||
create table t1 (
|
||||
pk1 int not null primary key,
|
||||
b bit(64)
|
||||
) engine=ndbcluster;
|
||||
|
||||
show create table t1;
|
||||
insert into t1 values
|
||||
(0,b'1111111111111111111111111111111111111111111111111111111111111111'),
|
||||
(1,b'1000000000000000000000000000000000000000000000000000000000000000'),
|
||||
(2,b'0000000000000000000000000000000000000000000000000000000000000001'),
|
||||
(3,b'1010101010101010101010101010101010101010101010101010101010101010'),
|
||||
(4,b'0101010101010101010101010101010101010101010101010101010101010101');
|
||||
select hex(b) from t1 order by pk1;
|
||||
drop table t1;
|
||||
|
||||
create table t1 (
|
||||
pk1 int not null primary key,
|
||||
b bit(9)
|
||||
) engine=ndbcluster;
|
||||
insert into t1 values
|
||||
(0,b'000000000'),
|
||||
(1,b'000000001'),
|
||||
(2,b'000000010'),
|
||||
(3,b'000000011'),
|
||||
(4,b'000000100');
|
||||
select hex(b) from t1 order by pk1;
|
||||
update t1 set b = b + b'101010101';
|
||||
select hex(b) from t1 order by pk1;
|
||||
drop table t1;
|
||||
|
||||
create table t1 (a bit(7), b bit(9)) engine = ndbcluster;
|
||||
insert into t1 values
|
||||
(94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),
|
||||
(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),
|
||||
(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),
|
||||
(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),
|
||||
(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),
|
||||
(44, 307), (68, 454), (57, 135);
|
||||
select a+0 from t1 order by a;
|
||||
select b+0 from t1 order by b;
|
||||
drop table t1;
|
||||
|
||||
--error 1005
|
||||
create table t1 (
|
||||
pk1 bit(9) not null primary key,
|
||||
b int
|
||||
) engine=ndbcluster;
|
||||
|
||||
--error 1005
|
||||
create table t1 (
|
||||
pk1 int not null primary key,
|
||||
b bit(9),
|
||||
key(b)
|
||||
) engine=ndbcluster;
|
||||
|
Loading…
Reference in a new issue