5454 */
5555public class QueryTest extends ProxyTestBase {
5656
57- private static boolean showResults = false ;
57+ private static boolean showResults = Boolean .getBoolean ("test.showresults" );
58+ private static int traceLevel = Integer .getInteger ("test.tracelevel" , 0 );
5859
5960 private final static int MIN_QUERY_COST = 2 ;
6061
@@ -127,7 +128,7 @@ public void beforeTest() throws Exception {
127128
128129 @ Override
129130 public void afterTest () throws Exception {
130- QueryRequest qreq = new QueryRequest ();
131+ QueryRequest qreq = newQueryRequest ();
131132 qreq .setStatement ("DELETE FROM testTable" );
132133 handle .queryIterable (qreq );
133134 tableOperation (handle , "DROP TABLE testTable" , null );
@@ -165,15 +166,15 @@ public void testQuery() {
165166 /*
166167 * Perform an update query
167168 */
168- try (QueryRequest queryRequest = new QueryRequest ()) {
169+ try (QueryRequest queryRequest = newQueryRequest ()) {
169170 queryRequest .setStatement (updateQuery );
170171 handle .query (queryRequest );
171172 }
172173
173174 /*
174175 * Use a simple get query to validate the update
175176 */
176- try (QueryRequest queryRequest = new QueryRequest ()) {
177+ try (QueryRequest queryRequest = newQueryRequest ()) {
177178 queryRequest .setStatement (getQuery );
178179 QueryResult queryRes = handle .query (queryRequest );
179180 assertEquals (1 , queryRes .getResults ().size ());
@@ -399,12 +400,10 @@ public void testOrderByPartitions() {
399400 recordKB , Consistency .EVENTUAL );
400401 }
401402
402- showResults = false ;
403-
404403 /*
405404 * Case 3: partial key offset limit
406405 */
407- query = "select sid, id, name, state " +
406+ query = "select sid, id, name, state " +
408407 "from testTable " +
409408 "order by sid " +
410409 "limit 5 offset 44" ;
@@ -1019,14 +1018,14 @@ public void testInsert() {
10191018 "(1, 15, \" myname\" , 23, \" WI\" , 2500, [], \" " +
10201019 longString + "\" )" ;
10211020
1022- req = new QueryRequest ();
1021+ req = newQueryRequest ();
10231022 req .setStatement (query );
10241023 ret = handle .query (req );
10251024
10261025 assertTrue (ret .getResults ().size () == 1 );
10271026
10281027 query = "select sid, id, name from testTable where id = 15" ;
1029- req = new QueryRequest ();
1028+ req = newQueryRequest ();
10301029 req .setStatement (query );
10311030 ret = handle .query (req );
10321031 assertTrue (ret .getResults ().size () == 1 );
@@ -1059,7 +1058,7 @@ public void testUpdatePrepared() {
10591058 .setVariable ("$sid" , new IntegerValue (0 ))
10601059 .setVariable ("$id" , new IntegerValue (1 ));
10611060
1062- try (QueryRequest req = new QueryRequest ()) {
1061+ try (QueryRequest req = newQueryRequest ()) {
10631062 req .setPreparedStatement (prepRet );
10641063 QueryResult res = handle .query (req );
10651064 assertNotNull (res .getResults ());
@@ -1110,7 +1109,7 @@ public void testPreparedLongRunning() {
11101109 .setVariable ("$sid" , new IntegerValue (0 ))
11111110 .setVariable ("$id" , new IntegerValue (1 ));
11121111
1113- try (QueryRequest req = new QueryRequest ()) {
1112+ try (QueryRequest req = newQueryRequest ()) {
11141113 req .setPreparedStatement (prepRet );
11151114 total ++;
11161115 verbose ("Running query #" + total + "..." );
@@ -1184,15 +1183,15 @@ public void testIllegalQuery() {
11841183 fail ("query should have failed" );
11851184 } catch (IllegalArgumentException iae ) {}
11861185
1187- queryReq = new QueryRequest ();
1186+ queryReq = newQueryRequest ();
11881187 queryReq .setStatement ("random string" );
11891188 try {
11901189 handle .query (queryReq );
11911190 fail ("query should have failed" );
11921191 } catch (IllegalArgumentException iae ) {}
11931192
11941193 /* Try a query that requires external variables that are missing */
1195- queryReq = new QueryRequest ();
1194+ queryReq = newQueryRequest ();
11961195 queryReq .setStatement (queryWithVariables );
11971196 try {
11981197 handle .query (queryReq );
@@ -1202,7 +1201,7 @@ public void testIllegalQuery() {
12021201
12031202 prepReq = new PrepareRequest ().setStatement (queryWithVariables );
12041203 PrepareResult prepRes = handle .prepare (prepReq );
1205- queryReq = new QueryRequest ();
1204+ queryReq = newQueryRequest ();
12061205 queryReq .setPreparedStatement (prepRes );
12071206 try {
12081207 handle .query (queryReq );
@@ -1216,7 +1215,7 @@ public void testIllegalQuery() {
12161215 PreparedStatement prepStmt = prepRes .getPreparedStatement ();
12171216 prepStmt .setVariable ("sid" , new IntegerValue (9 ));
12181217 prepStmt .setVariable ("id" , new IntegerValue (3 ));
1219- queryReq = new QueryRequest ();
1218+ queryReq = newQueryRequest ();
12201219 queryReq .setPreparedStatement (prepRes );
12211220 try {
12221221 handle .query (queryReq );
@@ -1230,7 +1229,7 @@ public void testIllegalQuery() {
12301229 prepStmt = prepRes .getPreparedStatement ();
12311230 prepStmt .setVariable ("$sid" , new DoubleValue (9.1d ));
12321231 prepStmt .setVariable ("$id" , new IntegerValue (3 ));
1233- queryReq = new QueryRequest ();
1232+ queryReq = newQueryRequest ();
12341233 queryReq .setPreparedStatement (prepRes );
12351234 try {
12361235 handle .query (queryReq );
@@ -1247,7 +1246,7 @@ public void testIllegalQuery() {
12471246 } catch (TableNotFoundException tnfe ) {
12481247 }
12491248
1250- queryReq = new QueryRequest ();
1249+ queryReq = newQueryRequest ();
12511250 queryReq .setStatement (query );
12521251 try {
12531252 handle .query (queryReq );
@@ -1264,7 +1263,7 @@ public void testIllegalQuery() {
12641263 } catch (IllegalArgumentException iae ) {
12651264 }
12661265
1267- queryReq = new QueryRequest ();
1266+ queryReq = newQueryRequest ();
12681267 queryReq .setStatement (query );
12691268 try {
12701269 handle .query (queryReq );
@@ -1281,15 +1280,15 @@ public void testIllegalQuery() {
12811280 } catch (IllegalArgumentException iae ) {
12821281 }
12831282
1284- queryReq = new QueryRequest ();
1283+ queryReq = newQueryRequest ();
12851284 queryReq .setStatement (query );
12861285 try {
12871286 handle .query (queryReq );
12881287 fail ("query should have failed" );
12891288 } catch (IllegalArgumentException iae ) {
12901289 }
12911290
1292- queryReq = new QueryRequest ();
1291+ queryReq = newQueryRequest ();
12931292 queryReq .setStatement (query );
12941293 try {
12951294 queryReq .setLimit (-1 );
@@ -1578,7 +1577,7 @@ public void testEvolution() {
15781577 PrepareResult prepRet = handle .prepare (prepReq );
15791578 assertNotNull (prepRet .getPreparedStatement ());
15801579
1581- try (QueryRequest qreq = new QueryRequest ()) {
1580+ try (QueryRequest qreq = newQueryRequest ()) {
15821581 qreq .setPreparedStatement (prepRet );
15831582 QueryResult qres = handle .query (qreq );
15841583 assertEquals (10 , qres .getResults ().size ());
@@ -1675,7 +1674,7 @@ public void testQueryOrder() {
16751674 /* Load rows to table */
16761675 loadRowsToScanTable (10 , 10 , 1 );
16771676
1678- try (QueryRequest queryReq = new QueryRequest ()) {
1677+ try (QueryRequest queryReq = newQueryRequest ()) {
16791678 queryReq .setStatement (
16801679 "select * from testTable where id = 1 and sid = 1" );
16811680
@@ -1735,7 +1734,7 @@ public void testLowThroughput() {
17351734 /*
17361735 * Ensure that this query completes
17371736 */
1738- try (QueryRequest queryReq = new QueryRequest ()) {
1737+ try (QueryRequest queryReq = newQueryRequest ()) {
17391738 queryReq .setStatement ("select * from " + name );
17401739 int numRes = 0 ;
17411740 do {
@@ -1800,11 +1799,11 @@ public void testLargeQueryStrings() {
18001799 "set t.data = " + data + "where id = 1 returning id" ;
18011800
18021801 /* insert, then update */
1803- QueryRequest req = new QueryRequest ();
1802+ QueryRequest req = newQueryRequest ();
18041803 req .setStatement (iquery );
18051804 QueryResult res = handle .query (req );
18061805 assertEquals (1 , res .getResults ().get (0 ).get ("id" ).getInt ());
1807- req = new QueryRequest ();
1806+ req = newQueryRequest ();
18081807 req .setStatement (uquery );
18091808 res = handle .query (req );
18101809 assertEquals (1 , res .getResults ().get (0 ).get ("id" ).getInt ());
@@ -1814,7 +1813,7 @@ public void testLargeQueryStrings() {
18141813 final String squery = "select * from " + tableName +
18151814 " t where t.data.data = " + genString (15000 );
18161815
1817- try (QueryRequest req = new QueryRequest ()) {
1816+ try (QueryRequest req = newQueryRequest ()) {
18181817 req .setStatement (squery );
18191818 handle .query (req );
18201819 fail ("Query should have failed" );
@@ -1907,7 +1906,7 @@ public void testBindArrayValue() {
19071906 pstmt .setVariable ("$id" , new IntegerValue (id ));
19081907 pstmt .setVariable ("$info" , arrVal );
19091908
1910- try (QueryRequest req = new QueryRequest ()) {
1909+ try (QueryRequest req = newQueryRequest ()) {
19111910 req .setPreparedStatement (pstmt );
19121911 handle .query (req );
19131912 fail ("Expected IAE" );
@@ -1923,7 +1922,7 @@ public void testBindArrayValue() {
19231922 pstmt .setVariable ("$id" , new IntegerValue (id ));
19241923 pstmt .setVariable ("$info" , arrVal );
19251924
1926- try (QueryRequest req = new QueryRequest ()) {
1925+ try (QueryRequest req = newQueryRequest ()) {
19271926 req .setPreparedStatement (pstmt );
19281927 handle .query (req );
19291928 fail ("Expected IAE" );
@@ -1936,7 +1935,7 @@ public void testUsabilityQueryIterable() {
19361935 /* Load rows to table */
19371936 loadRowsToScanTable (3 , 2 , 1 );
19381937
1939- QueryRequest qreq = new QueryRequest ();
1938+ QueryRequest qreq = newQueryRequest ();
19401939 qreq .setStatement ("select * from testTable" ).setLimit (3 );
19411940
19421941 int count = 0 ;
@@ -1980,7 +1979,7 @@ private void checkQueryIterableUnordered(String query) {
19801979 totalReadUnits = 0 , totalWriteUnits = 0 ;
19811980 RetryStats totalRetryStats = null ;
19821981
1983- try (QueryRequest qreq = new QueryRequest ()) {
1982+ try (QueryRequest qreq = newQueryRequest ()) {
19841983 qreq .setStatement (query ).setLimit (3 );
19851984
19861985 QueryResult qres ;
@@ -2007,7 +2006,7 @@ private void checkQueryIterableUnordered(String query) {
20072006 while (!qreq .isDone ());
20082007 }
20092008
2010- QueryRequest qreq = new QueryRequest ();
2009+ QueryRequest qreq = newQueryRequest ();
20112010 qreq .setStatement (query ).setLimit (3 );
20122011 QueryIterableResult qires = handle .queryIterable (qreq );
20132012 Set <MapValue > actualSet = new HashSet <>();
@@ -2050,10 +2049,10 @@ private void checkQueryIterableUnordered(String query) {
20502049 * the same as regular query() results.
20512050 */
20522051 private void checkQueryIterableOrdered (String query ) {
2053- QueryRequest qireq = new QueryRequest ();
2052+ QueryRequest qireq = newQueryRequest ();
20542053 qireq .setStatement (query );
20552054 try (QueryIterableResult qires = handle .queryIterable (qireq );
2056- QueryRequest qreq = new QueryRequest ()) {
2055+ QueryRequest qreq = newQueryRequest ()) {
20572056 qreq .setStatement (query );
20582057
20592058 Iterator <MapValue > qiIter = qires .iterator ();
@@ -2122,7 +2121,7 @@ public void testQueryIterableReuse() {
21222121 loadRowsToScanTable (numMajor , numPerMajor , 1 );
21232122
21242123 /* Get all results and try to use the iterator again */
2125- QueryRequest qr = new QueryRequest ();
2124+ QueryRequest qr = newQueryRequest ();
21262125 qr .setLimit (4 ).setStatement ("select * from testTable" );
21272126
21282127 int count = 0 ;
@@ -2178,15 +2177,15 @@ private void execInsertAndCheckInfo(PreparedStatement pstmt,
21782177 pstmt .setVariable ("$id" , new IntegerValue (id ));
21792178 pstmt .setVariable ("$info" , info );
21802179
2181- try (QueryRequest req = new QueryRequest ()) {
2180+ try (QueryRequest req = newQueryRequest ()) {
21822181 req .setPreparedStatement (pstmt );
21832182 QueryResult ret = handle .query (req );
21842183 assertEquals (1 , ret .getResults ().get (0 ).asMap ()
21852184 .get ("NumRowsInserted" ).getInt ());
21862185 }
21872186
21882187 String stmt = "select info from " + tableName + " where id = " + id ;
2189- try (QueryRequest req = new QueryRequest ()) {
2188+ try (QueryRequest req = newQueryRequest ()) {
21902189 req .setStatement (stmt );
21912190 QueryResult ret = handle .query (req );
21922191 assertEquals (1 , ret .getResults ().size ());
@@ -2224,7 +2223,7 @@ private void executeQuery(String statement,
22242223 int recordKB ,
22252224 Consistency consistency ) {
22262225
2227- try (final QueryRequest queryReq = new QueryRequest ()) {
2226+ try (final QueryRequest queryReq = newQueryRequest ()) {
22282227 queryReq .setStatement (statement ).setLimit (numLimit )
22292228 .setConsistency (consistency )
22302229 .setMaxReadKB (sizeLimit );
@@ -2274,8 +2273,7 @@ private void executeQuery(String statement,
22742273 writeKB += wkb ;
22752274
22762275 numBatches ++;
2277- }
2278- while (!queryReq .isDone ());
2276+ } while (!queryReq .isDone ());
22792277
22802278 if (showResults ) {
22812279 System .out .println ("Total ReadKB = " + readKB +
@@ -2294,7 +2292,7 @@ private void executeQuery(String query,
22942292 int maxReadKB ,
22952293 boolean usePrepStmt ) {
22962294
2297- try (final QueryRequest queryReq = new QueryRequest ()) {
2295+ try (final QueryRequest queryReq = newQueryRequest ()) {
22982296
22992297 if (bindValues == null || !usePrepStmt ) {
23002298 queryReq
@@ -2395,4 +2393,8 @@ private void loadRowsToTable(String tabName, String[] jsons) {
23952393 private static int getMinQueryCost () {
23962394 return MIN_QUERY_COST ;
23972395 }
2396+
2397+ private QueryRequest newQueryRequest () {
2398+ return new QueryRequest ().setTraceLevel (traceLevel );
2399+ }
23982400}
0 commit comments