MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
QueryDoubleTypesTest.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.DoubleTypes;
21 import testsuite.clusterj.model.IdBase;
22 
24 
25  @Override
26  public Class getInstanceType() {
27  return DoubleTypes.class;
28  }
29 
30  @Override
31  void createInstances(int number) {
32  createAllDoubleTypesInstances(number);
33  }
34 
57  public void test() {
58  btreeIndexScanDouble();
59  hashIndexScanDouble();
60  bothIndexScanDouble();
61  noneIndexScanDouble();
62  failOnError();
63  }
64 
65  public void btreeIndexScanDouble() {
66  equalQuery("double_not_null_btree", "idx_double_not_null_btree", getDouble(8), 8);
67  greaterEqualQuery("double_not_null_btree", "idx_double_not_null_btree", getDouble(7), 7, 8, 9);
68  greaterThanQuery("double_not_null_btree", "idx_double_not_null_btree", getDouble(6), 7, 8, 9);
69  lessEqualQuery("double_not_null_btree", "idx_double_not_null_btree", getDouble(4), 4, 3, 2, 1, 0);
70  lessThanQuery("double_not_null_btree", "idx_double_not_null_btree", getDouble(4), 3, 2, 1, 0);
71  betweenQuery("double_not_null_btree", "idx_double_not_null_btree", getDouble(4), getDouble(6), 4, 5, 6);
72  greaterEqualAndLessEqualQuery("double_not_null_btree", "idx_double_not_null_btree", getDouble(4), getDouble(6), 4, 5, 6);
73  greaterThanAndLessEqualQuery("double_not_null_btree", "idx_double_not_null_btree", getDouble(4), getDouble(6), 5, 6);
74  greaterEqualAndLessThanQuery("double_not_null_btree", "idx_double_not_null_btree", getDouble(4), getDouble(6), 4, 5);
75  greaterThanAndLessThanQuery("double_not_null_btree", "idx_double_not_null_btree", getDouble(4), getDouble(6), 5);
76 
77  equalQuery("double_null_btree", "idx_double_null_btree", getDouble(8), 8);
78  greaterEqualQuery("double_null_btree", "idx_double_null_btree", getDouble(7), 7, 8, 9);
79  greaterThanQuery("double_null_btree", "idx_double_null_btree", getDouble(6), 7, 8, 9);
80  lessEqualQuery("double_null_btree", "idx_double_null_btree", getDouble(4), 4, 3, 2, 1, 0);
81  lessThanQuery("double_null_btree", "idx_double_null_btree", getDouble(4), 3, 2, 1, 0);
82  betweenQuery("double_null_btree", "idx_double_null_btree", getDouble(4), getDouble(6), 4, 5, 6);
83  greaterEqualAndLessEqualQuery("double_null_btree", "idx_double_null_btree", getDouble(4), getDouble(6), 4, 5, 6);
84  greaterThanAndLessEqualQuery("double_null_btree", "idx_double_null_btree", getDouble(4), getDouble(6), 5, 6);
85  greaterEqualAndLessThanQuery("double_null_btree", "idx_double_null_btree", getDouble(4), getDouble(6), 4, 5);
86  greaterThanAndLessThanQuery("double_null_btree", "idx_double_null_btree", getDouble(4), getDouble(6), 5);
87 }
88 
89  public void hashIndexScanDouble() {
90  equalQuery("double_not_null_hash", "idx_double_not_null_hash", getDouble(8), 8);
91  greaterEqualQuery("double_not_null_hash", "none", getDouble(7), 7, 8, 9);
92  greaterThanQuery("double_not_null_hash", "none", getDouble(6), 7, 8, 9);
93  lessEqualQuery("double_not_null_hash", "none", getDouble(4), 4, 3, 2, 1, 0);
94  lessThanQuery("double_not_null_hash", "none", getDouble(4), 3, 2, 1, 0);
95  betweenQuery("double_not_null_hash", "none", getDouble(4), getDouble(6), 4, 5, 6);
96  greaterEqualAndLessEqualQuery("double_not_null_hash", "none", getDouble(4), getDouble(6), 4, 5, 6);
97  greaterThanAndLessEqualQuery("double_not_null_hash", "none", getDouble(4), getDouble(6), 5, 6);
98  greaterEqualAndLessThanQuery("double_not_null_hash", "none", getDouble(4), getDouble(6), 4, 5);
99  greaterThanAndLessThanQuery("double_not_null_hash", "none", getDouble(4), getDouble(6), 5);
100 
101  equalQuery("double_null_hash", "idx_double_null_hash", getDouble(8), 8);
102  greaterEqualQuery("double_null_hash", "none", getDouble(7), 7, 8, 9);
103  greaterThanQuery("double_null_hash", "none", getDouble(6), 7, 8, 9);
104  lessEqualQuery("double_null_hash", "none", getDouble(4), 4, 3, 2, 1, 0);
105  lessThanQuery("double_null_hash", "none", getDouble(4), 3, 2, 1, 0);
106  betweenQuery("double_null_hash", "none", getDouble(4), getDouble(6), 4, 5, 6);
107  greaterEqualAndLessEqualQuery("double_null_hash", "none", getDouble(4), getDouble(6), 4, 5, 6);
108  greaterThanAndLessEqualQuery("double_null_hash", "none", getDouble(4), getDouble(6), 5, 6);
109  greaterEqualAndLessThanQuery("double_null_hash", "none", getDouble(4), getDouble(6), 4, 5);
110  greaterThanAndLessThanQuery("double_null_hash", "none", getDouble(4), getDouble(6), 5);
111 
112  }
113 
114  public void bothIndexScanDouble() {
115  equalQuery("double_not_null_both", "idx_double_not_null_both", getDouble(8), 8);
116  greaterEqualQuery("double_not_null_both", "idx_double_not_null_both", getDouble(7), 7, 8, 9);
117  greaterThanQuery("double_not_null_both", "idx_double_not_null_both", getDouble(6), 7, 8, 9);
118  lessEqualQuery("double_not_null_both", "idx_double_not_null_both", getDouble(4), 4, 3, 2, 1, 0);
119  lessThanQuery("double_not_null_both", "idx_double_not_null_both", getDouble(4), 3, 2, 1, 0);
120  betweenQuery("double_not_null_both", "idx_double_not_null_both", getDouble(4), getDouble(6), 4, 5, 6);
121  greaterEqualAndLessEqualQuery("double_not_null_both", "idx_double_not_null_both", getDouble(4), getDouble(6), 4, 5, 6);
122  greaterThanAndLessEqualQuery("double_not_null_both", "idx_double_not_null_both", getDouble(4), getDouble(6), 5, 6);
123  greaterEqualAndLessThanQuery("double_not_null_both", "idx_double_not_null_both", getDouble(4), getDouble(6), 4, 5);
124  greaterThanAndLessThanQuery("double_not_null_both", "idx_double_not_null_both", getDouble(4), getDouble(6), 5);
125 
126  equalQuery("double_null_both", "idx_double_null_both", getDouble(8), 8);
127  greaterEqualQuery("double_null_both", "idx_double_null_both", getDouble(7), 7, 8, 9);
128  greaterThanQuery("double_null_both", "idx_double_null_both", getDouble(6), 7, 8, 9);
129  lessEqualQuery("double_null_both", "idx_double_null_both", getDouble(4), 4, 3, 2, 1, 0);
130  lessThanQuery("double_null_both", "idx_double_null_both", getDouble(4), 3, 2, 1, 0);
131  betweenQuery("double_null_both", "idx_double_null_both", getDouble(4), getDouble(6), 4, 5, 6);
132  greaterEqualAndLessEqualQuery("double_null_both", "idx_double_null_both", getDouble(4), getDouble(6), 4, 5, 6);
133  greaterThanAndLessEqualQuery("double_null_both", "idx_double_null_both", getDouble(4), getDouble(6), 5, 6);
134  greaterEqualAndLessThanQuery("double_null_both", "idx_double_null_both", getDouble(4), getDouble(6), 4, 5);
135  greaterThanAndLessThanQuery("double_null_both", "idx_double_null_both", getDouble(4), getDouble(6), 5);
136 
137  }
138 
139  public void noneIndexScanDouble() {
140  equalQuery("double_not_null_none", "none", getDouble(8), 8);
141  greaterEqualQuery("double_not_null_none", "none", getDouble(7), 7, 8, 9);
142  greaterThanQuery("double_not_null_none", "none", getDouble(6), 7, 8, 9);
143  lessEqualQuery("double_not_null_none", "none", getDouble(4), 4, 3, 2, 1, 0);
144  lessThanQuery("double_not_null_none", "none", getDouble(4), 3, 2, 1, 0);
145  betweenQuery("double_not_null_none", "none", getDouble(4), getDouble(6), 4, 5, 6);
146  greaterEqualAndLessEqualQuery("double_not_null_none", "none", getDouble(4), getDouble(6), 4, 5, 6);
147  greaterThanAndLessEqualQuery("double_not_null_none", "none", getDouble(4), getDouble(6), 5, 6);
148  greaterEqualAndLessThanQuery("double_not_null_none", "none", getDouble(4), getDouble(6), 4, 5);
149  greaterThanAndLessThanQuery("double_not_null_none", "none", getDouble(4), getDouble(6), 5);
150 
151  equalQuery("double_null_none", "none", getDouble(8), 8);
152  greaterEqualQuery("double_null_none", "none", getDouble(7), 7, 8, 9);
153  greaterThanQuery("double_null_none", "none", getDouble(6), 7, 8, 9);
154  lessEqualQuery("double_null_none", "none", getDouble(4), 4, 3, 2, 1, 0);
155  lessThanQuery("double_null_none", "none", getDouble(4), 3, 2, 1, 0);
156  betweenQuery("double_null_none", "none", getDouble(4), getDouble(6), 4, 5, 6);
157  greaterEqualAndLessEqualQuery("double_null_none", "none", getDouble(4), getDouble(6), 4, 5, 6);
158  greaterThanAndLessEqualQuery("double_null_none", "none", getDouble(4), getDouble(6), 5, 6);
159  greaterEqualAndLessThanQuery("double_null_none", "none", getDouble(4), getDouble(6), 4, 5);
160  greaterThanAndLessThanQuery("double_null_none", "none", getDouble(4), getDouble(6), 5);
161 
162  }
163 
164  private void createAllDoubleTypesInstances(int number) {
165  for (int i = 0; i < number; ++i) {
166  DoubleTypes instance = session.newInstance(DoubleTypes.class);
167  instance.setId(i);
168  instance.setDouble_not_null_hash(getDouble(i));
169  instance.setDouble_not_null_btree(getDouble(i));
170  instance.setDouble_not_null_both(getDouble(i));
171  instance.setDouble_not_null_none(getDouble(i));
172  instance.setDouble_null_hash(getDouble(i));
173  instance.setDouble_null_btree(getDouble(i));
174  instance.setDouble_null_both(getDouble(i));
175  instance.setDouble_null_none(getDouble(i));
176  instances.add(instance);
177  }
178  }
179 
180  protected Double getDouble(int number) {
181  return Double.valueOf(0.00001D * number);
182  }
183 
188  @Override
189  protected void printResultInstance(IdBase instance) {
190  if (instance instanceof DoubleTypes) {
191  DoubleTypes doubleType = (DoubleTypes)instance;
192 // System.out.println(toString(doubleType));
193  }
194  }
195 
196  public static String toString(IdBase idBase) {
197  DoubleTypes instance = (DoubleTypes)idBase;
198  StringBuffer buffer = new StringBuffer("DoubleTypes id: ");
199  buffer.append(instance.getId());
200  buffer.append("; double_not_null_both: ");
201  buffer.append(instance.getDouble_not_null_both());
202  buffer.append("; double_not_null_btree: ");
203  buffer.append(instance.getDouble_not_null_btree());
204  buffer.append("; double_not_null_hash: ");
205  buffer.append(instance.getDouble_not_null_hash());
206  buffer.append("; double_not_null_none: ");
207  buffer.append(instance.getDouble_not_null_none());
208  buffer.append("; double_null_both: ");
209  buffer.append(instance.getDouble_null_both().toString());
210  buffer.append("; double_null_btree: ");
211  buffer.append(instance.getDouble_null_btree().toString());
212  buffer.append("; double_null_hash: ");
213  buffer.append(instance.getDouble_null_hash().toString());
214  buffer.append("; double_null_none: ");
215  buffer.append(instance.getDouble_null_none().toString());
216  return buffer.toString();
217  }
218 }