Revision: 150
http://polepos.svn.sourceforge.net/polepos/?rev=150&view=rev
Author: carlrosenberger
Date: 2010-11-30 21:09:30 +0000 (Tue, 30 Nov 2010)
Log Message:
-----------
cr + acv: Started querying on ComplexJdbc.
Modified Paths:
--------------
trunk/polepos/src/org/polepos/data/ComplexHolder0.java
trunk/polepos/src/org/polepos/teams/db4o/ComplexDb4o.java
trunk/polepos/src/org/polepos/teams/jdbc/ComplexJdbc.java
Modified: trunk/polepos/src/org/polepos/data/ComplexHolder0.java
===================================================================
--- trunk/polepos/src/org/polepos/data/ComplexHolder0.java 2010-11-30 20:41:13 UTC (rev 149)
+++ trunk/polepos/src/org/polepos/data/ComplexHolder0.java 2010-11-30 21:09:30 UTC (rev 150)
@@ -148,7 +148,6 @@
@Override
public void visit(ComplexHolder0 holder) {
checkSum += Math.abs(holder.ownCheckSum());
- System.out.println(holder._name + " " + Math.abs(holder.ownCheckSum()));
}
}
CheckSumVisitor visitor = new CheckSumVisitor();
Modified: trunk/polepos/src/org/polepos/teams/db4o/ComplexDb4o.java
===================================================================
--- trunk/polepos/src/org/polepos/teams/db4o/ComplexDb4o.java 2010-11-30 20:41:13 UTC (rev 149)
+++ trunk/polepos/src/org/polepos/teams/db4o/ComplexDb4o.java 2010-11-30 21:09:30 UTC (rev 150)
@@ -34,7 +34,7 @@
public void write() {
ComplexHolder0 holder = ComplexHolder0.generate(depth(), objectCount());
store(new ComplexRoot(holder));
- // addToCheckSum(holder);
+ addToCheckSum(holder);
}
@Override
@@ -70,7 +70,7 @@
}
ComplexHolder2 holder = result.get(0);
db().activate(holder, Integer.MAX_VALUE);
- // addToCheckSum(holder);
+ addToCheckSum(holder);
currentInt++;
if(currentInt > lastInt){
@@ -91,7 +91,7 @@
}, new Visitor<ComplexHolder0>() {
@Override
public void visit(ComplexHolder0 holder) {
- // addToCheckSum(holder.ownCheckSum());
+ addToCheckSum(holder.ownCheckSum());
holder.setName("updated");
ComplexHolder2 newChild = new ComplexHolder2();
newChild.setName("added");
@@ -106,15 +106,12 @@
public void delete() {
ComplexHolder0 holder = root();
db().activate(holder, Integer.MAX_VALUE);
- holder.traverse(new Visitor<ComplexHolder0>() {
+ holder.traverse(
+ new NullVisitor(),
+ new Visitor<ComplexHolder0>() {
@Override
public void visit(ComplexHolder0 holder) {
- // db().activate(holder, 2);
- }
- }, new Visitor<ComplexHolder0>() {
- @Override
- public void visit(ComplexHolder0 holder) {
- // addToCheckSum(holder.ownCheckSum());
+ addToCheckSum(holder.ownCheckSum());
db().delete(holder);
}
});
Modified: trunk/polepos/src/org/polepos/teams/jdbc/ComplexJdbc.java
===================================================================
--- trunk/polepos/src/org/polepos/teams/jdbc/ComplexJdbc.java 2010-11-30 20:41:13 UTC (rev 149)
+++ trunk/polepos/src/org/polepos/teams/jdbc/ComplexJdbc.java 2010-11-30 21:09:30 UTC (rev 150)
@@ -27,6 +27,9 @@
import org.polepos.data.*;
import org.polepos.framework.*;
+import com.db4o.*;
+import com.db4o.query.*;
+
public class ComplexJdbc extends JdbcDriver implements Complex {
private static final int ROOT_ID = 1;
@@ -115,7 +118,7 @@
final PreparedStatement childrenStat = prepareStatement("insert into children (parent, child, pos) values (?,?,?)");
final Map<ComplexHolder0,Integer> ids = new HashMap<ComplexHolder0, Integer>();
ComplexHolder0 holder = ComplexHolder0.generate(depth(), objectCount());
- // addToCheckSum(holder);
+ addToCheckSum(holder);
holder.traverse(new Visitor<ComplexHolder0>() {
@Override
public void visit(ComplexHolder0 holder) {
@@ -283,6 +286,7 @@
holder.setName(resultSet0.getString(NAME));
int previousId = resultSet0.getInt(PREVIOUS);
+ close(resultSet0);
if(previousId> 0){
holder.setPrevious(
readHolder(
@@ -368,7 +372,7 @@
}
childrenResultSet.close();
- close(resultSet0);
+
return holder;
}
@@ -390,8 +394,44 @@
@Override
public void query() {
- // TODO Auto-generated method stub
+ int selectCount = selectCount();
+ int firstInt = objectCount() * objectCount() + objectCount();
+ int lastInt = firstInt + (objectCount() * objectCount() * objectCount()) - 1;
+ int currentInt = firstInt;
+ for (int run = 0; run < selectCount; run++) {
+ StringBuilder sb = new StringBuilder();
+ sb.append("select * from complexHolder0 ");
+ sb.append("INNER JOIN complexHolder1 ");
+ sb.append("on complexHolder0.id = complexHolder1.id ");
+ sb.append("INNER JOIN complexHolder2 ");
+ sb.append("on complexHolder0.id = complexHolder2.id ");
+ PreparedStatement joinStat = prepareStatement(sb.toString());
+
+ try {
+ joinStat.executeQuery();
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new RuntimeException(e);
+ }
+
+// Query query = db().query();
+// query.constrain(ComplexHolder2.class);
+// query.descend("_i2").constrain(currentInt);
+// ObjectSet<ComplexHolder2> result = query.execute();
+// if(result.size() != 1) {
+// throw new IllegalStateException("" + result.size());
+// }
+// ComplexHolder2 holder = result.get(0);
+// db().activate(holder, Integer.MAX_VALUE);
+// addToCheckSum(holder);
+//
+// currentInt++;
+// if(currentInt > lastInt){
+// currentInt = firstInt;
+// }
+ }
+
}
@Override
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|