MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DecimalTypesTest.java
1 /*
2  * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; version 2 of the License.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program; if not, write to the Free Software
15  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
16  */
17 
18 package jdbctest;
19 
20 import java.math.BigDecimal;
21 
22 public class DecimalTypesTest extends testsuite.clusterj.DecimalTypesTest {
23 
43  @Override
44  public void testWriteJDBCReadNDB() {
45  }
46 
48  @Override
49  public void testWriteNDBReadJDBC() {
50  }
51 
53  public void testWriteJDBCReadJDBC() {
55  failOnError();
56  }
57 
59  public void testQuery() {
61  writeToJDBC(columnDescriptors, instances);
62  queryAndVerifyResults("id greaterThan", columnDescriptors,
63  "id > ?", new Object[] {5}, 6, 7, 8, 9);
64  queryAndVerifyResults("id greaterEqual", columnDescriptors,
65  "id >= ?", new Object[] {5}, 5, 6, 7, 8, 9);
66  queryAndVerifyResults("id lessThan", columnDescriptors,
67  "id < ?", new Object[] {3}, 0, 1, 2);
68  queryAndVerifyResults("id lessEqual", columnDescriptors,
69  "id <= ?", new Object[] {3}, 0, 1, 2, 3);
70 
71  queryAndVerifyResults("decimal_null_btree equal", columnDescriptors,
72  "decimal_null_btree = ?", new BigDecimal[] {BigDecimal.valueOf(3.00001)}, 3);
73  queryAndVerifyResults("decimal_null_btree lessEqual", columnDescriptors,
74  "decimal_null_btree <= ?", new BigDecimal[] {BigDecimal.valueOf(3.00001)}, 0, 1, 2, 3);
75  queryAndVerifyResults("decimal_null_btree lessThan", columnDescriptors,
76  "decimal_null_btree < ?", new BigDecimal[] {BigDecimal.valueOf(3.00001)}, 0, 1, 2);
77  queryAndVerifyResults("decimal_null_btree greaterEqual", columnDescriptors,
78  "decimal_null_btree >= ?", new BigDecimal[] {BigDecimal.valueOf(6.00001)}, 6, 7, 8, 9);
79  queryAndVerifyResults("decimal_null_btree greaterThan", columnDescriptors,
80  "decimal_null_btree > ?", new BigDecimal[] {BigDecimal.valueOf(6.00001)}, 7, 8, 9);
81 
82  queryAndVerifyResults("decimal_null_hash equal", columnDescriptors,
83  "decimal_null_hash = ?", new BigDecimal[] {BigDecimal.valueOf(3.0)}, 3);
84  queryAndVerifyResults("decimal_null_hash lessEqual", columnDescriptors,
85  "decimal_null_hash <= ?", new BigDecimal[] {BigDecimal.valueOf(3.0)}, 0, 1, 2, 3);
86  queryAndVerifyResults("decimal_null_hash lessThan", columnDescriptors,
87  "decimal_null_hash < ?", new BigDecimal[] {BigDecimal.valueOf(3.0)}, 0, 1, 2);
88  queryAndVerifyResults("decimal_null_hash greaterEqual", columnDescriptors,
89  "decimal_null_hash >= ?", new BigDecimal[] {BigDecimal.valueOf(6.0)}, 6, 7, 8, 9);
90  queryAndVerifyResults("decimal_null_hash greaterThan", columnDescriptors,
91  "decimal_null_hash > ?", new BigDecimal[] {BigDecimal.valueOf(6.0)}, 7, 8, 9);
92 
93  queryAndVerifyResults("decimal_null_both equal", columnDescriptors,
94  "decimal_null_both = ?", new BigDecimal[] {BigDecimal.valueOf(3.00002)}, 3);
95  queryAndVerifyResults("decimal_null_both lessEqual", columnDescriptors,
96  "decimal_null_both <= ?", new BigDecimal[] {BigDecimal.valueOf(3.00002)}, 0, 1, 2, 3);
97  queryAndVerifyResults("decimal_null_both lessThan", columnDescriptors,
98  "decimal_null_both < ?", new BigDecimal[] {BigDecimal.valueOf(3.00002)}, 0, 1, 2);
99  queryAndVerifyResults("decimal_null_both greaterEqual", columnDescriptors,
100  "decimal_null_both >= ?", new BigDecimal[] {BigDecimal.valueOf(6.00002)}, 6, 7, 8, 9);
101  queryAndVerifyResults("decimal_null_both greaterThan", columnDescriptors,
102  "decimal_null_both > ?", new BigDecimal[] {BigDecimal.valueOf(6.00002)}, 7, 8, 9);
103 
104  queryAndVerifyResults("decimal_null_none equal", columnDescriptors,
105  "decimal_null_none = ?", new BigDecimal[] {BigDecimal.valueOf(3.00003)}, 3);
106  queryAndVerifyResults("decimal_null_none lessEqual", columnDescriptors,
107  "decimal_null_none <= ?", new BigDecimal[] {BigDecimal.valueOf(3.00003)}, 0, 1, 2, 3);
108  queryAndVerifyResults("decimal_null_none lessThan", columnDescriptors,
109  "decimal_null_none < ?", new BigDecimal[] {BigDecimal.valueOf(3.00003)}, 0, 1, 2);
110  queryAndVerifyResults("decimal_null_none greaterEqual", columnDescriptors,
111  "decimal_null_none >= ?", new BigDecimal[] {BigDecimal.valueOf(6.00003)}, 6, 7, 8, 9);
112  queryAndVerifyResults("decimal_null_none greaterThan", columnDescriptors,
113  "decimal_null_none > ?", new BigDecimal[] {BigDecimal.valueOf(6.00003)}, 7, 8, 9);
114 
115  // query multiple terms
116  queryAndVerifyResults("decimal_null_btree greaterThan and lessEqual", columnDescriptors,
117  "decimal_null_btree > ? and decimal_null_btree <= ?",
118  new BigDecimal[] {BigDecimal.valueOf(3.00001), BigDecimal.valueOf(6.00001)},
119  4, 5, 6);
120  queryAndVerifyResults("decimal_null_btree lessThan", columnDescriptors,
121  "decimal_null_btree < ?",
122  new BigDecimal[] {BigDecimal.valueOf(3.00001)},
123  0, 1, 2);
124  queryAndVerifyResults("decimal_null_btree greaterEqual", columnDescriptors,
125  "decimal_null_btree >= ?",
126  new BigDecimal[] {BigDecimal.valueOf(6.00001)},
127  6, 7, 8, 9);
128  queryAndVerifyResults("decimal_null_btree greaterThan", columnDescriptors,
129  "decimal_null_btree > ?",
130  new BigDecimal[] {BigDecimal.valueOf(6.00001)},
131  7, 8, 9);
132 
133  queryAndVerifyResults("decimal_null_btree greaterThan and lessEqual and decimal_null_none lessThan " +
134  "or decimal_null_none greaterThan", columnDescriptors,
135  "decimal_null_btree > ? and decimal_null_btree <= ?" +
136  " and (decimal_null_none < ? or decimal_null_none > ?)",
137  new BigDecimal[] {BigDecimal.valueOf(0.00001), BigDecimal.valueOf(8.00001),
138  BigDecimal.valueOf(3.00003), BigDecimal.valueOf(6.00003)},
139  1, 2, 7, 8);
140 
141  queryAndVerifyResults("decimal_null_btree greaterThan and lessEqual" +
142  " and not (decimal_null_none lessThan or decimal_null_none greaterThan)", columnDescriptors,
143  "decimal_null_btree > ? and decimal_null_btree <= ?" +
144  " and not (decimal_null_none < ? or decimal_null_none > ?)",
145  new BigDecimal[] {BigDecimal.valueOf(0.00001), BigDecimal.valueOf(8.00001),
146  BigDecimal.valueOf(3.00003), BigDecimal.valueOf(6.00003)},
147  3, 4, 5, 6);
148 
149  queryAndVerifyResults("decimal_null_btree greaterThan and lessEqual" +
150  " and (decimal_null_none between)", columnDescriptors,
151  "decimal_null_btree > ? and decimal_null_btree <= ?" +
152  " and decimal_null_none between ? and ?",
153  new BigDecimal[] {BigDecimal.valueOf(0.00001), BigDecimal.valueOf(8.00001),
154  BigDecimal.valueOf(3.00003), BigDecimal.valueOf(6.00003)},
155  3, 4, 5, 6);
156 
157  queryAndVerifyResults("decimal_null_btree greaterThan and lessEqual" +
158  " and not (decimal_null_none between)", columnDescriptors,
159  "decimal_null_btree > ? and decimal_null_btree <= ?" +
160  " and not decimal_null_none between ? and ?",
161  new BigDecimal[] {BigDecimal.valueOf(0.00001), BigDecimal.valueOf(8.00001),
162  BigDecimal.valueOf(3.00003), BigDecimal.valueOf(6.00003)},
163  1, 2, 7, 8);
164 
165  queryAndVerifyResults("decimal_null_btree greaterThan and lessEqual" +
166  " and not (decimal_null_none between)", columnDescriptors,
167  "decimal_null_btree > ? and decimal_null_btree <= ?" +
168  " and decimal_null_none not between ? and ?",
169  new BigDecimal[] {BigDecimal.valueOf(0.00001), BigDecimal.valueOf(8.00001),
170  BigDecimal.valueOf(3.00003), BigDecimal.valueOf(6.00003)},
171  1, 2, 7, 8);
172 
173  queryAndVerifyResults("decimal_null_none between " +
174  "and decimal_null_btree greaterThan and lessEqual", columnDescriptors,
175  "decimal_null_none between ? and ?" +
176  " and decimal_null_btree > ? and decimal_null_btree <= ?",
177  new BigDecimal[] {
178  BigDecimal.valueOf(3.00003), BigDecimal.valueOf(6.00003),
179  BigDecimal.valueOf(0.00001), BigDecimal.valueOf(8.00001)},
180  3, 4, 5, 6);
181 
182  queryAndVerifyResults("not decimal_null_none between " +
183  " and decimal_null_btree greaterThan and lessEqual", columnDescriptors,
184  "not decimal_null_none between ? and ?" +
185  " and decimal_null_btree > ? and decimal_null_btree <= ?",
186  new BigDecimal[] {
187  BigDecimal.valueOf(3.00003), BigDecimal.valueOf(6.00003),
188  BigDecimal.valueOf(0.00001), BigDecimal.valueOf(8.00001)},
189  1, 2, 7, 8);
190 
191  queryAndVerifyResults("decimal_null_none not between " +
192  "and decimal_null_btree greaterThan and lessEqual", columnDescriptors,
193  "decimal_null_none not between ? and ?" +
194  " and decimal_null_btree > ? and decimal_null_btree <= ?",
195  new BigDecimal[] {
196  BigDecimal.valueOf(3.00003), BigDecimal.valueOf(6.00003),
197  BigDecimal.valueOf(0.00001), BigDecimal.valueOf(8.00001)},
198  1, 2, 7, 8);
199 
200  queryAndVerifyResults("decimal_null_none between", columnDescriptors,
201  "decimal_null_none between ? and ?",
202  new BigDecimal[] {BigDecimal.valueOf(4.00003), BigDecimal.valueOf(7.00003)},
203  4, 5, 6, 7);
204 
205  queryAndVerifyResults("decimal_null_none not between", columnDescriptors,
206  "decimal_null_none not between ? and ?",
207  new BigDecimal[] {BigDecimal.valueOf(4.00003), BigDecimal.valueOf(7.00003)},
208  0, 1, 2, 3, 8, 9);
209 
210  queryAndVerifyResults("not decimal_null_none between", columnDescriptors,
211  "not decimal_null_none between ? and ?",
212  new BigDecimal[] {BigDecimal.valueOf(4.00003), BigDecimal.valueOf(7.00003)},
213  0, 1, 2, 3, 8, 9);
214 
215  failOnError();
216  }
217 
218 }