01: /*
02: This file is part of the PolePosition database benchmark
03: http://www.polepos.org
04:
05: This program is free software; you can redistribute it and/or
06: modify it under the terms of the GNU General Public License
07: as published by the Free Software Foundation; either version 2
08: of the License, or (at your option) any later version.
09:
10: This program is distributed in the hope that it will be useful,
11: but WITHOUT ANY WARRANTY; without even the implied warranty of
12: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13: GNU General Public License for more details.
14:
15: You should have received a copy of the GNU General Public
16: License along with this program; if not, write to the Free
17: Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
18: MA 02111-1307, USA. */
19:
20: package org.polepos.teams.jdo;
21:
22: import java.util.*;
23:
24: import javax.jdo.*;
25:
26: import org.polepos.circuits.barcelona.*;
27: import org.polepos.teams.jdo.data.*;
28:
29: public class BarcelonaJdo extends JdoDriver implements BarcelonaDriver {
30:
31: public void write() {
32: int count = setup().getObjectCount();
33: begin();
34: for (int i = 1; i <= count; i++) {
35: JB4 b4 = new JB4();
36: b4.setAll(i);
37: store(b4);
38: }
39: commit();
40: }
41:
42: public void read() {
43: readExtent(JB4.class);
44: }
45:
46: public void query() {
47: int count = setup().getSelectCount();
48: String filter = "this.b2 == param";
49: for (int i = 1; i <= count; i++) {
50: Query query = db().newQuery(JB4.class, filter);
51: query.declareParameters("int param");
52: doQuery(query, i);
53: }
54: }
55:
56: public void delete() {
57: begin();
58: Extent extent = db().getExtent(JB4.class, false);
59: Iterator it = extent.iterator();
60: while (it.hasNext()) {
61: db().deletePersistent(it.next());
62: addToCheckSum(5);
63: }
64: extent.closeAll();
65: commit();
66: }
67:
68: }
|