Skip to content

Commit 4fc645e

Browse files
authored
Enhance testing coverage for [var]binary data types (#3459)
Enhance testing coverage for [var]binary data types Signed-off-by: Dipesh Dhameliya <dddhamel@amazon.com>
1 parent d4b13e1 commit 4fc645e

File tree

6 files changed

+11759
-56
lines changed

6 files changed

+11759
-56
lines changed
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
CREATE TABLE BINARY_dt(a BINARY(5), b VARBINARY(10));
2+
#inserting random values
3+
INSERT INTO BINARY_dt(a, b) values (1234, 12345);
4+
~~ROW COUNT: 1~~
5+
6+
INSERT INTO BINARY_dt(a, b) values (NULL, NULL);
7+
~~ROW COUNT: 1~~
8+
9+
INSERT INTO BINARY_dt(a, b) values (0x31323334, 0x3132333435);
10+
~~ROW COUNT: 1~~
11+
12+
INSERT INTO BINARY_dt(a, b) values (0x31323334, 0x00);
13+
~~ROW COUNT: 1~~
14+
15+
INSERT INTO BINARY_dt(a, b) values (0x00, 0x3132333435);
16+
~~ROW COUNT: 1~~
17+
18+
INSERT INTO BINARY_dt(a, b) values (0x31323334, 0x);
19+
~~ROW COUNT: 1~~
20+
21+
INSERT INTO BINARY_dt(a, b) values (0x, 0x3132333435);
22+
~~ROW COUNT: 1~~
23+
24+
25+
#boundary conditions
26+
INSERT INTO BINARY_dt(a, b) values (0x3132333435, 0x31323334353637383940);
27+
~~ROW COUNT: 1~~
28+
29+
INSERT INTO BINARY_dt(a, b) values (0x313233343536, 0x31323334353637383940);
30+
~~ERROR (Code: 33557097)~~
31+
32+
~~ERROR (Message: String or binary data would be truncated.
33+
The statement has been terminated.)~~
34+
35+
INSERT INTO BINARY_dt(a, b) values (0x3132333435, 0x3132333435363738394041);
36+
~~ERROR (Code: 33557097)~~
37+
38+
~~ERROR (Message: String or binary data would be truncated.
39+
The statement has been terminated.)~~
40+
41+
42+
#string to binary insert / test left padding
43+
INSERT INTO BINARY_dt(a, b) values ('abc ', ' abc ');
44+
~~ERROR (Code: 33557097)~~
45+
46+
~~ERROR (Message: cannot coerce string literal to binary datatype)~~
47+
48+
49+
SELECT * FROM BINARY_dt order by a;
50+
~~START~~
51+
binary#!#varbinary
52+
<NULL>#!#<NULL>
53+
0000000000#!#3132333435
54+
0000000000#!#3132333435
55+
00000004D2#!#00003039
56+
3132333400#!#00
57+
3132333400#!#
58+
3132333400#!#3132333435
59+
3132333435#!#31323334353637383940
60+
~~END~~
61+
62+
63+
prepst#!# INSERT INTO BINARY_dt(a, b) values(?, ?) #!#binary|-|a|-|1234#!#varbinary|-|b|-|12345
64+
~~ROW COUNT: 1~~
65+
66+
prepst#!#exec#!#binary|-|a|-|12345678#!#varbinary|-|b|-|12345
67+
~~ERROR (Code: 33557097)~~
68+
69+
~~ERROR (Message: String or binary data would be truncated.
70+
The statement has been terminated.)~~
71+
72+
prepst#!#exec#!#binary|-|a|-|12345#!#varbinary|-|b|-|12345678999
73+
~~ERROR (Code: 33557097)~~
74+
75+
~~ERROR (Message: String or binary data would be truncated.
76+
The statement has been terminated.)~~
77+
78+
prepst#!#exec#!#binary|-|a|-|<NULL>#!#varbinary|-|b|-|<NULL>
79+
~~ROW COUNT: 1~~
80+
81+
82+
SELECT * FROM BINARY_dt order by a;
83+
~~START~~
84+
binary#!#varbinary
85+
<NULL>#!#<NULL>
86+
<NULL>#!#<NULL>
87+
0000000000#!#3132333435
88+
0000000000#!#3132333435
89+
00000004D2#!#00003039
90+
3132333400#!#
91+
3132333400#!#00
92+
3132333400#!#3132333435
93+
3132333400#!#3132333435
94+
3132333435#!#31323334353637383940
95+
~~END~~
96+
97+
DROP TABLE BINARY_dt;
98+

test/JDBC/expected/TestBinary.out

Lines changed: 4271 additions & 27 deletions
Large diffs are not rendered by default.

test/JDBC/expected/non_default_server_collation/chinese_prc_ci_as/TestBinary.out

Lines changed: 4313 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
CREATE TABLE BINARY_dt(a BINARY(5), b VARBINARY(10));
2+
#inserting random values
3+
INSERT INTO BINARY_dt(a, b) values (1234, 12345);
4+
INSERT INTO BINARY_dt(a, b) values (NULL, NULL);
5+
INSERT INTO BINARY_dt(a, b) values (0x31323334, 0x3132333435);
6+
INSERT INTO BINARY_dt(a, b) values (0x31323334, 0x00);
7+
INSERT INTO BINARY_dt(a, b) values (0x00, 0x3132333435);
8+
INSERT INTO BINARY_dt(a, b) values (0x31323334, 0x);
9+
INSERT INTO BINARY_dt(a, b) values (0x, 0x3132333435);
10+
11+
#boundary conditions
12+
INSERT INTO BINARY_dt(a, b) values (0x3132333435, 0x31323334353637383940);
13+
INSERT INTO BINARY_dt(a, b) values (0x313233343536, 0x31323334353637383940);
14+
INSERT INTO BINARY_dt(a, b) values (0x3132333435, 0x3132333435363738394041);
15+
16+
#string to binary insert / test left padding
17+
INSERT INTO BINARY_dt(a, b) values ('abc ', ' abc ');
18+
19+
SELECT * FROM BINARY_dt order by a;
20+
21+
prepst#!# INSERT INTO BINARY_dt(a, b) values(@a, @b) #!#binary|-|a|-|1234#!#varbinary|-|b|-|12345
22+
prepst#!#exec#!#binary|-|a|-|12345678#!#varbinary|-|b|-|12345
23+
prepst#!#exec#!#binary|-|a|-|12345#!#varbinary|-|b|-|12345678999
24+
prepst#!#exec#!#binary|-|a|-|<NULL>#!#varbinary|-|b|-|<NULL>
25+
26+
SELECT * FROM BINARY_dt order by a;
27+
DROP TABLE BINARY_dt;
28+

0 commit comments

Comments
 (0)