MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
QueryFloatTypesTest.java
1 /*
2  Copyright (c) 2010, 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 testsuite.clusterj;
19 
20 import testsuite.clusterj.model.FloatTypes;
21 import testsuite.clusterj.model.IdBase;
22 
23 public class QueryFloatTypesTest extends AbstractQueryTest {
24 
25  @Override
26  public Class getInstanceType() {
27  return FloatTypes.class;
28  }
29 
30  @Override
31  void createInstances(int number) {
32  createAllFloatTypesInstances(number);
33  }
34 
66  public void test() {
67  btreeIndexScanFloat();
68  hashIndexScanFloat();
69  bothIndexScanFloat();
70  noneIndexScanFloat();
71  failOnError();
72  }
73 
74  public void btreeIndexScanFloat() {
75  equalQuery("float_not_null_btree", "idx_float_not_null_btree", getFloat(8), 8);
76  greaterEqualQuery("float_not_null_btree", "idx_float_not_null_btree", getFloat(7), 7, 8, 9);
77  greaterThanQuery("float_not_null_btree", "idx_float_not_null_btree", getFloat(6), 7, 8, 9);
78  lessEqualQuery("float_not_null_btree", "idx_float_not_null_btree", getFloat(4), 4, 3, 2, 1, 0);
79  lessThanQuery("float_not_null_btree", "idx_float_not_null_btree", getFloat(4), 3, 2, 1, 0);
80  betweenQuery("float_not_null_btree", "idx_float_not_null_btree", getFloat(4), getFloat(6), 4, 5, 6);
81  greaterEqualAndLessEqualQuery("float_not_null_btree", "idx_float_not_null_btree", getFloat(4), getFloat(6), 4, 5, 6);
82  greaterThanAndLessEqualQuery("float_not_null_btree", "idx_float_not_null_btree", getFloat(4), getFloat(6), 5, 6);
83  greaterEqualAndLessThanQuery("float_not_null_btree", "idx_float_not_null_btree", getFloat(4), getFloat(6), 4, 5);
84  greaterThanAndLessThanQuery("float_not_null_btree", "idx_float_not_null_btree", getFloat(4), getFloat(6), 5);
85 
86  equalQuery("float_null_btree", "idx_float_null_btree", getFloat(8), 8);
87  greaterEqualQuery("float_null_btree", "idx_float_null_btree", getFloat(7), 7, 8, 9);
88  greaterThanQuery("float_null_btree", "idx_float_null_btree", getFloat(6), 7, 8, 9);
89  lessEqualQuery("float_null_btree", "idx_float_null_btree", getFloat(4), 4, 3, 2, 1, 0);
90  lessThanQuery("float_null_btree", "idx_float_null_btree", getFloat(4), 3, 2, 1, 0);
91  betweenQuery("float_null_btree", "idx_float_null_btree", getFloat(4), getFloat(6), 4, 5, 6);
92  greaterEqualAndLessEqualQuery("float_null_btree", "idx_float_null_btree", getFloat(4), getFloat(6), 4, 5, 6);
93  greaterThanAndLessEqualQuery("float_null_btree", "idx_float_null_btree", getFloat(4), getFloat(6), 5, 6);
94  greaterEqualAndLessThanQuery("float_null_btree", "idx_float_null_btree", getFloat(4), getFloat(6), 4, 5);
95  greaterThanAndLessThanQuery("float_null_btree", "idx_float_null_btree", getFloat(4), getFloat(6), 5);
96 }
97 
98  public void hashIndexScanFloat() {
99  equalQuery("float_not_null_hash", "idx_float_not_null_hash", getFloat(8), 8);
100  greaterEqualQuery("float_not_null_hash", "none", getFloat(7), 7, 8, 9);
101  greaterThanQuery("float_not_null_hash", "none", getFloat(6), 7, 8, 9);
102  lessEqualQuery("float_not_null_hash", "none", getFloat(4), 4, 3, 2, 1, 0);
103  lessThanQuery("float_not_null_hash", "none", getFloat(4), 3, 2, 1, 0);
104  betweenQuery("float_not_null_hash", "none", getFloat(4), getFloat(6), 4, 5, 6);
105  greaterEqualAndLessEqualQuery("float_not_null_hash", "none", getFloat(4), getFloat(6), 4, 5, 6);
106  greaterThanAndLessEqualQuery("float_not_null_hash", "none", getFloat(4), getFloat(6), 5, 6);
107  greaterEqualAndLessThanQuery("float_not_null_hash", "none", getFloat(4), getFloat(6), 4, 5);
108  greaterThanAndLessThanQuery("float_not_null_hash", "none", getFloat(4), getFloat(6), 5);
109 
110  equalQuery("float_null_hash", "idx_float_null_hash", getFloat(8), 8);
111  greaterEqualQuery("float_null_hash", "none", getFloat(7), 7, 8, 9);
112  greaterThanQuery("float_null_hash", "none", getFloat(6), 7, 8, 9);
113  lessEqualQuery("float_null_hash", "none", getFloat(4), 4, 3, 2, 1, 0);
114  lessThanQuery("float_null_hash", "none", getFloat(4), 3, 2, 1, 0);
115  betweenQuery("float_null_hash", "none", getFloat(4), getFloat(6), 4, 5, 6);
116  greaterEqualAndLessEqualQuery("float_null_hash", "none", getFloat(4), getFloat(6), 4, 5, 6);
117  greaterThanAndLessEqualQuery("float_null_hash", "none", getFloat(4), getFloat(6), 5, 6);
118  greaterEqualAndLessThanQuery("float_null_hash", "none", getFloat(4), getFloat(6), 4, 5);
119  greaterThanAndLessThanQuery("float_null_hash", "none", getFloat(4), getFloat(6), 5);
120 
121  }
122 
123  public void bothIndexScanFloat() {
124  equalQuery("float_not_null_both", "idx_float_not_null_both", getFloat(8), 8);
125  greaterEqualQuery("float_not_null_both", "idx_float_not_null_both", getFloat(7), 7, 8, 9);
126  greaterThanQuery("float_not_null_both", "idx_float_not_null_both", getFloat(6), 7, 8, 9);
127  lessEqualQuery("float_not_null_both", "idx_float_not_null_both", getFloat(4), 4, 3, 2, 1, 0);
128  lessThanQuery("float_not_null_both", "idx_float_not_null_both", getFloat(4), 3, 2, 1, 0);
129  betweenQuery("float_not_null_both", "idx_float_not_null_both", getFloat(4), getFloat(6), 4, 5, 6);
130  greaterEqualAndLessEqualQuery("float_not_null_both", "idx_float_not_null_both", getFloat(4), getFloat(6), 4, 5, 6);
131  greaterThanAndLessEqualQuery("float_not_null_both", "idx_float_not_null_both", getFloat(4), getFloat(6), 5, 6);
132  greaterEqualAndLessThanQuery("float_not_null_both", "idx_float_not_null_both", getFloat(4), getFloat(6), 4, 5);
133  greaterThanAndLessThanQuery("float_not_null_both", "idx_float_not_null_both", getFloat(4), getFloat(6), 5);
134 
135  equalQuery("float_null_both", "idx_float_null_both", getFloat(8), 8);
136  greaterEqualQuery("float_null_both", "idx_float_null_both", getFloat(7), 7, 8, 9);
137  greaterThanQuery("float_null_both", "idx_float_null_both", getFloat(6), 7, 8, 9);
138  lessEqualQuery("float_null_both", "idx_float_null_both", getFloat(4), 4, 3, 2, 1, 0);
139  lessThanQuery("float_null_both", "idx_float_null_both", getFloat(4), 3, 2, 1, 0);
140  betweenQuery("float_null_both", "idx_float_null_both", getFloat(4), getFloat(6), 4, 5, 6);
141  greaterEqualAndLessEqualQuery("float_null_both", "idx_float_null_both", getFloat(4), getFloat(6), 4, 5, 6);
142  greaterThanAndLessEqualQuery("float_null_both", "idx_float_null_both", getFloat(4), getFloat(6), 5, 6);
143  greaterEqualAndLessThanQuery("float_null_both", "idx_float_null_both", getFloat(4), getFloat(6), 4, 5);
144  greaterThanAndLessThanQuery("float_null_both", "idx_float_null_both", getFloat(4), getFloat(6), 5);
145 
146  }
147 
148  public void noneIndexScanFloat() {
149  equalQuery("float_not_null_none", "none", getFloat(8), 8);
150  greaterEqualQuery("float_not_null_none", "none", getFloat(7), 7, 8, 9);
151  greaterThanQuery("float_not_null_none", "none", getFloat(6), 7, 8, 9);
152  lessEqualQuery("float_not_null_none", "none", getFloat(4), 4, 3, 2, 1, 0);
153  lessThanQuery("float_not_null_none", "none", getFloat(4), 3, 2, 1, 0);
154  betweenQuery("float_not_null_none", "none", getFloat(4), getFloat(6), 4, 5, 6);
155  greaterEqualAndLessEqualQuery("float_not_null_none", "none", getFloat(4), getFloat(6), 4, 5, 6);
156  greaterThanAndLessEqualQuery("float_not_null_none", "none", getFloat(4), getFloat(6), 5, 6);
157  greaterEqualAndLessThanQuery("float_not_null_none", "none", getFloat(4), getFloat(6), 4, 5);
158  greaterThanAndLessThanQuery("float_not_null_none", "none", getFloat(4), getFloat(6), 5);
159 
160  equalQuery("float_null_none", "none", getFloat(8), 8);
161  greaterEqualQuery("float_null_none", "none", getFloat(7), 7, 8, 9);
162  greaterThanQuery("float_null_none", "none", getFloat(6), 7, 8, 9);
163  lessEqualQuery("float_null_none", "none", getFloat(4), 4, 3, 2, 1, 0);
164  lessThanQuery("float_null_none", "none", getFloat(4), 3, 2, 1, 0);
165  betweenQuery("float_null_none", "none", getFloat(4), getFloat(6), 4, 5, 6);
166  greaterEqualAndLessEqualQuery("float_null_none", "none", getFloat(4), getFloat(6), 4, 5, 6);
167  greaterThanAndLessEqualQuery("float_null_none", "none", getFloat(4), getFloat(6), 5, 6);
168  greaterEqualAndLessThanQuery("float_null_none", "none", getFloat(4), getFloat(6), 4, 5);
169  greaterThanAndLessThanQuery("float_null_none", "none", getFloat(4), getFloat(6), 5);
170 
171  }
172 
173  private void createAllFloatTypesInstances(int number) {
174  for (int i = 0; i < number; ++i) {
175  FloatTypes instance = session.newInstance(FloatTypes.class);
176  instance.setId(i);
177  instance.setFloat_not_null_hash(getFloat(i));
178  instance.setFloat_not_null_btree(getFloat(i));
179  instance.setFloat_not_null_both(getFloat(i));
180  instance.setFloat_not_null_none(getFloat(i));
181  instance.setFloat_null_hash(getFloat(i));
182  instance.setFloat_null_btree(getFloat(i));
183  instance.setFloat_null_both(getFloat(i));
184  instance.setFloat_null_none(getFloat(i));
185  instances.add(instance);
186  }
187  }
188 
189  protected Float getFloat(int number) {
190  return Float.valueOf(0.00001F * number);
191  }
192 
197  @Override
198  protected void printResultInstance(IdBase instance) {
199  if (instance instanceof FloatTypes) {
200  FloatTypes floatType = (FloatTypes)instance;
201 // System.out.println(toString(floatType));
202  }
203  }
204 
205  public static String toString(IdBase idBase) {
206  FloatTypes instance = (FloatTypes)idBase;
207  StringBuffer buffer = new StringBuffer("FloatTypes id: ");
208  buffer.append(instance.getId());
209  buffer.append("; float_not_null_both: ");
210  buffer.append(instance.getFloat_not_null_both());
211  buffer.append("; float_not_null_btree: ");
212  buffer.append(instance.getFloat_not_null_btree());
213  buffer.append("; float_not_null_hash: ");
214  buffer.append(instance.getFloat_not_null_hash());
215  buffer.append("; float_not_null_none: ");
216  buffer.append(instance.getFloat_not_null_none());
217  buffer.append("; float_null_both: ");
218  buffer.append(instance.getFloat_null_both().toString());
219  buffer.append("; float_null_btree: ");
220  buffer.append(instance.getFloat_null_btree().toString());
221  buffer.append("; float_null_hash: ");
222  buffer.append(instance.getFloat_null_hash().toString());
223  buffer.append("; float_null_none: ");
224  buffer.append(instance.getFloat_null_none().toString());
225  return buffer.toString();
226  }
227 }