forked from sqlancer/sqlancer
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFelderaNoRECOracle.java
More file actions
36 lines (30 loc) · 1.11 KB
/
FelderaNoRECOracle.java
File metadata and controls
36 lines (30 loc) · 1.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package sqlancer.feldera.oracle;
import sqlancer.Main;
import sqlancer.MainOptions;
import sqlancer.common.oracle.TestOracle;
import sqlancer.feldera.FelderaConnection;
import sqlancer.feldera.FelderaGlobalState;
import java.util.Map;
public class FelderaNoRECOracle implements TestOracle<FelderaGlobalState> {
protected final FelderaGlobalState state;
protected final Main.StateLogger logger;
protected final MainOptions options;
protected final FelderaConnection con;
public FelderaNoRECOracle(FelderaGlobalState state) {
this.state = state;
this.con = state.getConnection();
this.logger = state.getLogger();
this.options = state.getOptions();
}
@Override
public void check() throws Exception {
con.prepare();
for (String view : state.getViews()) {
String query = String.format("select * from %s except select * from %s_optimized", view, view);
Map<String, Object> ret = con.execute(query);
if (!ret.isEmpty()) {
throw new AssertionError("query failed: " + query);
}
}
}
}