diff --git a/README.md b/README.md
index df3afef..da39618 100644
--- a/README.md
+++ b/README.md
@@ -21,7 +21,7 @@ programs.
Person bob = new Person("Bob", 30, charlie);
Person alice = new Person("Alice", 28, bob);
- Estore db = new Estore("exampleDb", new EstoreOptions().useUnsafe(false));
+ Estore db = new Estore("exampleDb");
db.captureAll(alice);
// MATCH finds Person objects; RETURN puts them in column p
diff --git a/estore/pom.xml b/estore/pom.xml
index 85dbb79..f47ffa3 100644
--- a/estore/pom.xml
+++ b/estore/pom.xml
@@ -211,7 +211,7 @@
[9,)
- --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.sql=ALL-UNNAMED --add-opens jdk.unsupported/sun.misc=ALL-UNNAMED
+ --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.sql=ALL-UNNAMED
diff --git a/estore/scripts/gen_usecase_data.py b/estore/scripts/gen_usecase_data.py
index d148744..d3ba88f 100644
--- a/estore/scripts/gen_usecase_data.py
+++ b/estore/scripts/gen_usecase_data.py
@@ -28,7 +28,6 @@ def generate_json(data_type):
queries = ["getCatalogs", "getSchemas", "getTables"]
implementations = {
"egraph-reflection": "\\ToolReflection",
- "egraph-unsafe": "\\ToolUnsafe",
"jdbc": "\\JDBC"
}
test_class = "H2MetadataTest"
@@ -36,7 +35,6 @@ def generate_json(data_type):
queries = ["dbName", "options", "dynamicClass"]
implementations = {
"egraph-reflection": "\\ToolReflection",
- "egraph-unsafe": "\\ToolUnsafe",
}
test_class = "EstoreMetadataTest"
@@ -61,10 +59,9 @@ def generate_json(data_type):
}
}
else:
- use_unsafe = "true" if impl == "egraph-unsafe" else "false"
queryName = query[0].upper() + query[1:] if data_type == 'egraph' else query[3:]
suffix = "ESTORE" if data_type == 'h2' else ""
- command = f"mvn test -Dtest={test_class}#test{queryName}{suffix}Repeat -DuseUnsafe={use_unsafe} -Dprofile=true"
+ command = f"mvn test -Dtest={test_class}#test{queryName}{suffix}Repeat -Dprofile=true"
# print(command)
metrics = ["Parse Tree Generation Time", "Query Plan AST Building Time", "Query Execution Time", "Total Query Time"]
metric_data = {metric: [] for metric in metrics}
diff --git a/estore/src/main/java/org/estore/Estore.java b/estore/src/main/java/org/estore/Estore.java
index b1f07b8..0e9a226 100644
--- a/estore/src/main/java/org/estore/Estore.java
+++ b/estore/src/main/java/org/estore/Estore.java
@@ -20,7 +20,6 @@
import org.estore.planner.LogicalPlanBuilder;
import org.estore.planner.util.ClassInfo;
import org.estore.planner.util.Table;
-import sun.misc.Unsafe;
public class Estore implements Serializable {
private String name;
@@ -34,7 +33,6 @@ public class Estore implements Serializable {
*/
private HashMap runtimeClassInfoMap;
- private Unsafe unsafe;
private EstoreOptions options;
private int id;
private ArrayList dynamicClasses;
@@ -70,18 +68,12 @@ public Estore(String name) throws Exception {
public Estore(String name, EstoreOptions options) throws Exception {
this.name = name;
this.options = options;
- this.unsafe = null;
this.id = 0;
datastore = new HashMap();
labelObjectMap = new LabelMap();
labelClassInfoMap = new HashMap();
runtimeClassInfoMap = new HashMap();
dynamicClasses = new ArrayList();
- if (options.getUseUnsafe()) {
- Field f = Unsafe.class.getDeclaredField("theUnsafe");
- f.setAccessible(true);
- unsafe = (Unsafe) f.get(null);
- }
}
public void addDynamicClass(Class> klass) {
@@ -121,7 +113,7 @@ public void insert(Object obj) throws EstoreException {
}
datastore.put(objHashCode, obj);
if (labelObjectMap.get(className) == null) {
- cInfo = labelObjectMap.putNew(objClass, new ArrayList