Skip to content

Commit 252aa30

Browse files
author
jonas oreland
committed
ndb - merge 71 to 72
2 parents b81cf04 + 10e4d8e commit 252aa30

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+859
-291
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,196 @@
1+
include/master-slave.inc
2+
[connection master]
3+
SET SQL_LOG_BIN= 0;
4+
CREATE TABLE t1(`a` INT, `b` DATE DEFAULT NULL,
5+
`c` INT DEFAULT NULL,
6+
PRIMARY KEY(`a`)) ENGINE='NDB' DEFAULT CHARSET=LATIN1;
7+
CREATE TABLE t2(`a` INT, `b` DATE DEFAULT NULL,
8+
PRIMARY KEY(`a`)) ENGINE='NDB' DEFAULT CHARSET=LATIN1;
9+
CREATE TABLE t3(`a` INT, `b` DATE DEFAULT NULL,
10+
PRIMARY KEY(`a`)) ENGINE='NDB' DEFAULT CHARSET=LATIN1;
11+
CREATE TABLE t4(`a` INT, `b` DATE DEFAULT NULL,
12+
`c` INT DEFAULT NULL,
13+
PRIMARY KEY(`a`)) ENGINE='NDB' DEFAULT CHARSET=LATIN1;
14+
SET SQL_LOG_BIN= 1;
15+
CREATE TABLE t1(`a` INT, `b` DATE DEFAULT NULL,
16+
`c` INT DEFAULT NULL,
17+
PRIMARY KEY(`a`)) ENGINE='NDB' DEFAULT CHARSET=LATIN1;
18+
CREATE TABLE t2(`a` INT, `b` DATE DEFAULT NULL,
19+
PRIMARY KEY(`a`)) ENGINE='NDB' DEFAULT CHARSET=LATIN1;
20+
CREATE TABLE t3(`a` INT, `b` DATE DEFAULT '0000-00-00',
21+
`c` INT DEFAULT 500,
22+
PRIMARY KEY(`a`)) ENGINE='NDB' DEFAULT CHARSET=LATIN1;
23+
CREATE TABLE t4(`a` INT, `b` DATE DEFAULT '0000-00-00',
24+
PRIMARY KEY(`a`)) ENGINE='NDB' DEFAULT CHARSET=LATIN1;
25+
************* EXECUTION WITH INSERTS *************
26+
INSERT INTO t1(a,b,c) VALUES (1, null, 1);
27+
INSERT INTO t1(a,b,c) VALUES (2,'1111-11-11', 2);
28+
INSERT INTO t1(a,b) VALUES (3, null);
29+
INSERT INTO t1(a,c) VALUES (4, 4);
30+
INSERT INTO t1(a) VALUES (5);
31+
INSERT INTO t2(a,b) VALUES (1, null);
32+
INSERT INTO t2(a,b) VALUES (2,'1111-11-11');
33+
INSERT INTO t2(a) VALUES (3);
34+
INSERT INTO t3(a,b) VALUES (1, null);
35+
INSERT INTO t3(a,b) VALUES (2,'1111-11-11');
36+
INSERT INTO t3(a) VALUES (3);
37+
INSERT INTO t4(a,b,c) VALUES (1, null, 1);
38+
INSERT INTO t4(a,b,c) VALUES (2,'1111-11-11', 2);
39+
INSERT INTO t4(a,b) VALUES (3, null);
40+
INSERT INTO t4(a,c) VALUES (4, 4);
41+
INSERT INTO t4(a) VALUES (5);
42+
************* SHOWING THE RESULT SETS WITH INSERTS *************
43+
TABLES t1 and t2 must be equal otherwise an error will be thrown.
44+
include/diff_tables.inc [master:t1, slave:t1]
45+
include/diff_tables.inc [master:t2, slave:t2]
46+
TABLES t2 and t3 must be different.
47+
SELECT * FROM t3 ORDER BY a;
48+
a b
49+
1 NULL
50+
2 1111-11-11
51+
3 NULL
52+
SELECT * FROM t3 ORDER BY a;
53+
a b c
54+
1 NULL 500
55+
2 1111-11-11 500
56+
3 NULL 500
57+
SELECT * FROM t4 ORDER BY a;
58+
a b c
59+
1 NULL 1
60+
2 1111-11-11 2
61+
3 NULL NULL
62+
4 NULL 4
63+
5 NULL NULL
64+
SELECT * FROM t4 ORDER BY a;
65+
a b
66+
1 NULL
67+
2 1111-11-11
68+
3 NULL
69+
4 NULL
70+
5 NULL
71+
************* EXECUTION WITH UPDATES and REPLACES *************
72+
DELETE FROM t1;
73+
INSERT INTO t1(a,b,c) VALUES (1,'1111-11-11', 1);
74+
REPLACE INTO t1(a,b,c) VALUES (2,'1111-11-11', 2);
75+
UPDATE t1 set b= NULL, c= 300 where a= 1;
76+
REPLACE INTO t1(a,b,c) VALUES (2, NULL, 300);
77+
************* SHOWING THE RESULT SETS WITH UPDATES and REPLACES *************
78+
TABLES t1 and t2 must be equal otherwise an error will be thrown.
79+
include/diff_tables.inc [master:t1, slave:t1]
80+
************* CLEANING *************
81+
DROP TABLE t1;
82+
DROP TABLE t2;
83+
DROP TABLE t3;
84+
DROP TABLE t4;
85+
SET SQL_LOG_BIN= 0;
86+
CREATE TABLE t1 (`a` INT, `b` BIT DEFAULT NULL, `c` BIT DEFAULT NULL,
87+
PRIMARY KEY (`a`)) ENGINE= 'NDB';
88+
SET SQL_LOG_BIN= 1;
89+
CREATE TABLE t1 (`a` INT, `b` BIT DEFAULT b'01', `c` BIT DEFAULT NULL,
90+
PRIMARY KEY (`a`)) ENGINE= 'NDB';
91+
************* EXECUTION WITH INSERTS *************
92+
INSERT INTO t1(a,b,c) VALUES (1, null, b'01');
93+
INSERT INTO t1(a,b,c) VALUES (2,b'00', b'01');
94+
INSERT INTO t1(a,b) VALUES (3, null);
95+
INSERT INTO t1(a,c) VALUES (4, b'01');
96+
INSERT INTO t1(a) VALUES (5);
97+
************* SHOWING THE RESULT SETS WITH INSERTS *************
98+
TABLES t1 and t2 must be different.
99+
SELECT a,b+0,c+0 FROM t1 ORDER BY a;
100+
a b+0 c+0
101+
1 NULL 1
102+
2 0 1
103+
3 NULL NULL
104+
4 NULL 1
105+
5 NULL NULL
106+
SELECT a,b+0,c+0 FROM t1 ORDER BY a;
107+
a b+0 c+0
108+
1 NULL 1
109+
2 0 1
110+
3 NULL NULL
111+
4 NULL 1
112+
5 NULL NULL
113+
************* EXECUTION WITH UPDATES and REPLACES *************
114+
DELETE FROM t1;
115+
INSERT INTO t1(a,b,c) VALUES (1,b'00', b'01');
116+
REPLACE INTO t1(a,b,c) VALUES (2,b'00',b'01');
117+
UPDATE t1 set b= NULL, c= b'00' where a= 1;
118+
REPLACE INTO t1(a,b,c) VALUES (2, NULL, b'00');
119+
************* SHOWING THE RESULT SETS WITH UPDATES and REPLACES *************
120+
TABLES t1 and t2 must be equal otherwise an error will be thrown.
121+
include/diff_tables.inc [master:t1, slave:t1]
122+
DROP TABLE t1;
123+
################################################################################
124+
# NULL ---> NOT NULL (STRICT MODE)
125+
# UNCOMMENT THIS AFTER FIXING BUG#43992
126+
################################################################################
127+
################################################################################
128+
# NULL ---> NOT NULL (NON-STRICT MODE)
129+
################################################################################
130+
SET SQL_LOG_BIN= 0;
131+
CREATE TABLE t1(`a` INT NOT NULL, `b` INT,
132+
PRIMARY KEY(`a`)) ENGINE='NDB' DEFAULT CHARSET=LATIN1;
133+
CREATE TABLE t2(`a` INT NOT NULL, `b` INT,
134+
PRIMARY KEY(`a`)) ENGINE='NDB' DEFAULT CHARSET=LATIN1;
135+
CREATE TABLE t3(`a` INT NOT NULL, `b` INT,
136+
PRIMARY KEY(`a`)) ENGINE='NDB' DEFAULT CHARSET=LATIN1;
137+
SET SQL_LOG_BIN= 1;
138+
CREATE TABLE t1(`a` INT NOT NULL, `b` INT NOT NULL,
139+
`c` INT NOT NULL,
140+
PRIMARY KEY(`a`)) ENGINE='NDB' DEFAULT CHARSET=LATIN1;
141+
CREATE TABLE t2(`a` INT NOT NULL, `b` INT NOT NULL,
142+
`c` INT,
143+
PRIMARY KEY(`a`)) ENGINE='NDB' DEFAULT CHARSET=LATIN1;
144+
CREATE TABLE t3(`a` INT NOT NULL, `b` INT NOT NULL,
145+
`c` INT DEFAULT 500,
146+
PRIMARY KEY(`a`)) ENGINE='NDB' DEFAULT CHARSET=LATIN1;
147+
************* EXECUTION WITH INSERTS *************
148+
INSERT INTO t1(a) VALUES (1);
149+
INSERT INTO t1(a, b) VALUES (2, NULL);
150+
INSERT INTO t1(a, b) VALUES (3, 1);
151+
INSERT INTO t2(a) VALUES (1);
152+
INSERT INTO t2(a, b) VALUES (2, NULL);
153+
INSERT INTO t2(a, b) VALUES (3, 1);
154+
INSERT INTO t3(a) VALUES (1);
155+
INSERT INTO t3(a, b) VALUES (2, NULL);
156+
INSERT INTO t3(a, b) VALUES (3, 1);
157+
INSERT INTO t3(a, b) VALUES (4, 1);
158+
REPLACE INTO t3(a, b) VALUES (5, null);
159+
REPLACE INTO t3(a, b) VALUES (3, null);
160+
UPDATE t3 SET b = NULL where a = 4;
161+
************* SHOWING THE RESULT SETS *************
162+
SELECT * FROM t1 ORDER BY a;
163+
a b
164+
1 NULL
165+
2 NULL
166+
3 1
167+
SELECT * FROM t1 ORDER BY a;
168+
a b c
169+
SELECT * FROM t2 ORDER BY a;
170+
a b
171+
1 NULL
172+
2 NULL
173+
3 1
174+
SELECT * FROM t2 ORDER BY a;
175+
a b c
176+
1 0 NULL
177+
2 0 NULL
178+
3 1 NULL
179+
SELECT * FROM t3 ORDER BY a;
180+
a b
181+
1 NULL
182+
2 NULL
183+
3 NULL
184+
4 NULL
185+
5 NULL
186+
SELECT * FROM t3 ORDER BY a;
187+
a b c
188+
1 0 500
189+
2 0 500
190+
3 0 500
191+
4 0 500
192+
5 0 500
193+
DROP TABLE t1;
194+
DROP TABLE t2;
195+
DROP TABLE t3;
196+
include/rpl_end.inc
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
-- source include/have_binlog_format_row.inc
2+
-- source include/have_ndb.inc
3+
-- source include/master-slave.inc
4+
5+
let $engine = 'NDB';
6+
-- source extra/rpl_tests/rpl_not_null.test
7+
8+
--source include/rpl_end.inc

sql/ha_ndb_index_stat.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ ndb_index_stat_opt2str(const Ndb_index_stat_opt& opt, char* str)
227227
const Ndb_index_stat_opt::Val& v= opt.val[i];
228228
ptr+= strlen(ptr);
229229
const char* sep= (ptr == buf ? "" : ",");
230-
const uint sz= ptr < end ? end - ptr : 0;
230+
const uint sz= ptr < end ? (uint)(end - ptr) : 0;
231231

232232
switch (v.unit) {
233233
case Ndb_index_stat_opt::Ubool:

0 commit comments

Comments
 (0)