Skip to content

Commit 48da530

Browse files
committed
Added code to query tests to allow setting trace level
The trace level can now be set when running Query tests with: -Dtest.tracelevel=<number> Additionally, the showResults flag is now managed with: -Dtest.showresults=[true|false]
1 parent 7c3cfef commit 48da530

File tree

1 file changed

+42
-40
lines changed

1 file changed

+42
-40
lines changed

driver/src/test/java/oracle/nosql/driver/QueryTest.java

Lines changed: 42 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@
5454
*/
5555
public 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

Comments
 (0)