MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
QueryStringTypesTest.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.StringTypes;
21 import testsuite.clusterj.model.IdBase;
22 
24 
25  @Override
26  public Class getInstanceType() {
27  return StringTypes.class;
28  }
29 
30  @Override
31  void createInstances(int number) {
32  createAllStringTypesInstances(number);
33  }
34 
35  static String[] strings = new String[] {
36  "Alabama",
37  "Arkansas",
38  "Delaware",
39  "New Jersey",
40  "New York",
41  "Pennsylvania",
42  "Rhode Island",
43  "Texax",
44  "Virginia",
45  "Wyoming"
46  };
47 
74  public void test() {
75  btreeIndexScanString();
76  hashIndexScanString();
77  bothIndexScanString();
78  noneIndexScanString();
79  failOnError();
80  }
81 
82  public void btreeIndexScanString() {
83  equalQuery("string_not_null_btree", "idx_string_not_null_btree", getString(8), 8);
84  greaterEqualQuery("string_not_null_btree", "idx_string_not_null_btree", getString(7), 7, 8, 9);
85  greaterThanQuery("string_not_null_btree", "idx_string_not_null_btree", getString(6), 7, 8, 9);
86  lessEqualQuery("string_not_null_btree", "idx_string_not_null_btree", getString(4), 4, 3, 2, 1, 0);
87  lessThanQuery("string_not_null_btree", "idx_string_not_null_btree", getString(4), 3, 2, 1, 0);
88  betweenQuery("string_not_null_btree", "idx_string_not_null_btree", getString(4), getString(6), 4, 5, 6);
89  greaterEqualAndLessEqualQuery("string_not_null_btree", "idx_string_not_null_btree", getString(4), getString(6), 4, 5, 6);
90  greaterThanAndLessEqualQuery("string_not_null_btree", "idx_string_not_null_btree", getString(4), getString(6), 5, 6);
91  greaterEqualAndLessThanQuery("string_not_null_btree", "idx_string_not_null_btree", getString(4), getString(6), 4, 5);
92  greaterThanAndLessThanQuery("string_not_null_btree", "idx_string_not_null_btree", getString(4), getString(6), 5);
93 
94  equalQuery("string_null_btree", "idx_string_null_btree", getString(8), 8);
95  greaterEqualQuery("string_null_btree", "idx_string_null_btree", getString(7), 7, 8, 9);
96  greaterThanQuery("string_null_btree", "idx_string_null_btree", getString(6), 7, 8, 9);
97  lessEqualQuery("string_null_btree", "idx_string_null_btree", getString(4), 4, 3, 2, 1, 0);
98  lessThanQuery("string_null_btree", "idx_string_null_btree", getString(4), 3, 2, 1, 0);
99  betweenQuery("string_null_btree", "idx_string_null_btree", getString(4), getString(6), 4, 5, 6);
100  greaterEqualAndLessEqualQuery("string_null_btree", "idx_string_null_btree", getString(4), getString(6), 4, 5, 6);
101  greaterThanAndLessEqualQuery("string_null_btree", "idx_string_null_btree", getString(4), getString(6), 5, 6);
102  greaterEqualAndLessThanQuery("string_null_btree", "idx_string_null_btree", getString(4), getString(6), 4, 5);
103  greaterThanAndLessThanQuery("string_null_btree", "idx_string_null_btree", getString(4), getString(6), 5);
104 }
105 
106  public void hashIndexScanString() {
107  equalQuery("string_not_null_hash", "idx_string_not_null_hash", getString(8), 8);
108  greaterEqualQuery("string_not_null_hash", "none", getString(7), 7, 8, 9);
109  greaterThanQuery("string_not_null_hash", "none", getString(6), 7, 8, 9);
110  lessEqualQuery("string_not_null_hash", "none", getString(4), 4, 3, 2, 1, 0);
111  lessThanQuery("string_not_null_hash", "none", getString(4), 3, 2, 1, 0);
112  betweenQuery("string_not_null_hash", "none", getString(4), getString(6), 4, 5, 6);
113  greaterEqualAndLessEqualQuery("string_not_null_hash", "none", getString(4), getString(6), 4, 5, 6);
114  greaterThanAndLessEqualQuery("string_not_null_hash", "none", getString(4), getString(6), 5, 6);
115  greaterEqualAndLessThanQuery("string_not_null_hash", "none", getString(4), getString(6), 4, 5);
116  greaterThanAndLessThanQuery("string_not_null_hash", "none", getString(4), getString(6), 5);
117 
118  equalQuery("string_null_hash", "idx_string_null_hash", getString(8), 8);
119  greaterEqualQuery("string_null_hash", "none", getString(7), 7, 8, 9);
120  greaterThanQuery("string_null_hash", "none", getString(6), 7, 8, 9);
121  lessEqualQuery("string_null_hash", "none", getString(4), 4, 3, 2, 1, 0);
122  lessThanQuery("string_null_hash", "none", getString(4), 3, 2, 1, 0);
123  betweenQuery("string_null_hash", "none", getString(4), getString(6), 4, 5, 6);
124  greaterEqualAndLessEqualQuery("string_null_hash", "none", getString(4), getString(6), 4, 5, 6);
125  greaterThanAndLessEqualQuery("string_null_hash", "none", getString(4), getString(6), 5, 6);
126  greaterEqualAndLessThanQuery("string_null_hash", "none", getString(4), getString(6), 4, 5);
127  greaterThanAndLessThanQuery("string_null_hash", "none", getString(4), getString(6), 5);
128 
129  }
130 
131  public void bothIndexScanString() {
132  equalQuery("string_not_null_both", "idx_string_not_null_both", getString(8), 8);
133  greaterEqualQuery("string_not_null_both", "idx_string_not_null_both", getString(7), 7, 8, 9);
134  greaterThanQuery("string_not_null_both", "idx_string_not_null_both", getString(6), 7, 8, 9);
135  lessEqualQuery("string_not_null_both", "idx_string_not_null_both", getString(4), 4, 3, 2, 1, 0);
136  lessThanQuery("string_not_null_both", "idx_string_not_null_both", getString(4), 3, 2, 1, 0);
137  betweenQuery("string_not_null_both", "idx_string_not_null_both", getString(4), getString(6), 4, 5, 6);
138  greaterEqualAndLessEqualQuery("string_not_null_both", "idx_string_not_null_both", getString(4), getString(6), 4, 5, 6);
139  greaterThanAndLessEqualQuery("string_not_null_both", "idx_string_not_null_both", getString(4), getString(6), 5, 6);
140  greaterEqualAndLessThanQuery("string_not_null_both", "idx_string_not_null_both", getString(4), getString(6), 4, 5);
141  greaterThanAndLessThanQuery("string_not_null_both", "idx_string_not_null_both", getString(4), getString(6), 5);
142 
143  equalQuery("string_null_both", "idx_string_null_both", getString(8), 8);
144  greaterEqualQuery("string_null_both", "idx_string_null_both", getString(7), 7, 8, 9);
145  greaterThanQuery("string_null_both", "idx_string_null_both", getString(6), 7, 8, 9);
146  lessEqualQuery("string_null_both", "idx_string_null_both", getString(4), 4, 3, 2, 1, 0);
147  lessThanQuery("string_null_both", "idx_string_null_both", getString(4), 3, 2, 1, 0);
148  betweenQuery("string_null_both", "idx_string_null_both", getString(4), getString(6), 4, 5, 6);
149  greaterEqualAndLessEqualQuery("string_null_both", "idx_string_null_both", getString(4), getString(6), 4, 5, 6);
150  greaterThanAndLessEqualQuery("string_null_both", "idx_string_null_both", getString(4), getString(6), 5, 6);
151  greaterEqualAndLessThanQuery("string_null_both", "idx_string_null_both", getString(4), getString(6), 4, 5);
152  greaterThanAndLessThanQuery("string_null_both", "idx_string_null_both", getString(4), getString(6), 5);
153 
154  }
155 
156  public void noneIndexScanString() {
157  equalQuery("string_not_null_none", "none", getString(8), 8);
158  greaterEqualQuery("string_not_null_none", "none", getString(7), 7, 8, 9);
159  greaterThanQuery("string_not_null_none", "none", getString(6), 7, 8, 9);
160  lessEqualQuery("string_not_null_none", "none", getString(4), 4, 3, 2, 1, 0);
161  lessThanQuery("string_not_null_none", "none", getString(4), 3, 2, 1, 0);
162  betweenQuery("string_not_null_none", "none", getString(4), getString(6), 4, 5, 6);
163  greaterEqualAndLessEqualQuery("string_not_null_none", "none", getString(4), getString(6), 4, 5, 6);
164  greaterThanAndLessEqualQuery("string_not_null_none", "none", getString(4), getString(6), 5, 6);
165  greaterEqualAndLessThanQuery("string_not_null_none", "none", getString(4), getString(6), 4, 5);
166  greaterThanAndLessThanQuery("string_not_null_none", "none", getString(4), getString(6), 5);
167 
168  equalQuery("string_null_none", "none", getString(8), 8);
169  greaterEqualQuery("string_null_none", "none", getString(7), 7, 8, 9);
170  greaterThanQuery("string_null_none", "none", getString(6), 7, 8, 9);
171  lessEqualQuery("string_null_none", "none", getString(4), 4, 3, 2, 1, 0);
172  lessThanQuery("string_null_none", "none", getString(4), 3, 2, 1, 0);
173  betweenQuery("string_null_none", "none", getString(4), getString(6), 4, 5, 6);
174  greaterEqualAndLessEqualQuery("string_null_none", "none", getString(4), getString(6), 4, 5, 6);
175  greaterThanAndLessEqualQuery("string_null_none", "none", getString(4), getString(6), 5, 6);
176  greaterEqualAndLessThanQuery("string_null_none", "none", getString(4), getString(6), 4, 5);
177  greaterThanAndLessThanQuery("string_null_none", "none", getString(4), getString(6), 5);
178 
179  }
180 
181  private void createAllStringTypesInstances(int number) {
182  for (int i = 0; i < number; ++i) {
183  StringTypes instance = session.newInstance(StringTypes.class);
184  instance.setId(i);
185  instance.setString_not_null_hash(getString(i));
186  instance.setString_not_null_btree(getString(i));
187  instance.setString_not_null_both(getString(i));
188  instance.setString_not_null_none(getString(i));
189  instance.setString_null_hash(getString(i));
190  instance.setString_null_btree(getString(i));
191  instance.setString_null_both(getString(i));
192  instance.setString_null_none(getString(i));
193  instances.add(instance);
194  }
195  }
196 
197  protected String getString(int number) {
198  return strings[number];
199  }
200 
205  @Override
206  protected void printResultInstance(IdBase instance) {
207  if (instance instanceof StringTypes) {
208  StringTypes stringType = (StringTypes)instance;
209 // System.out.println(toString(stringType));
210  }
211  }
212 
213  public static String toString(IdBase idBase) {
214  StringTypes instance = (StringTypes)idBase;
215  StringBuffer buffer = new StringBuffer("StringTypes id: ");
216  buffer.append(instance.getId());
217  buffer.append("; string_not_null_both: ");
218  buffer.append(instance.getString_not_null_both());
219  buffer.append("; string_not_null_btree: ");
220  buffer.append(instance.getString_not_null_btree());
221  buffer.append("; string_not_null_hash: ");
222  buffer.append(instance.getString_not_null_hash());
223  buffer.append("; string_not_null_none: ");
224  buffer.append(instance.getString_not_null_none());
225  buffer.append("; string_null_both: ");
226  buffer.append(instance.getString_null_both().toString());
227  buffer.append("; string_null_btree: ");
228  buffer.append(instance.getString_null_btree().toString());
229  buffer.append("; string_null_hash: ");
230  buffer.append(instance.getString_null_hash().toString());
231  buffer.append("; string_null_none: ");
232  buffer.append(instance.getString_null_none().toString());
233  return buffer.toString();
234  }
235 }