You are viewing a plain text version of this content. The canonical link for it is here.
Posted to olio-commits@incubator.apache.org by kl...@apache.org on 2009/10/10 00:38:07 UTC
svn commit: r823754 - in /incubator/olio/workload/java/trunk: bin/
src/org/apache/olio/workload/loader/
Author: klichong
Date: Sat Oct 10 00:38:06 2009
New Revision: 823754
URL: http://svn.apache.org/viewvc?rev=823754&view=rev
Log:
addendum to OLIO issue 133. Fixed schema for auto-increment for each loader object, and edited schema file.
Modified:
incubator/olio/workload/java/trunk/bin/schema.sql
incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Address.java
incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Attendees.java
incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Comments.java
incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Friends.java
incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Invitation.java
incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Person.java
incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/SocialEvent.java
incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Tag.java
Modified: incubator/olio/workload/java/trunk/bin/schema.sql
URL: http://svn.apache.org/viewvc/incubator/olio/workload/java/trunk/bin/schema.sql?rev=823754&r1=823753&r2=823754&view=diff
==============================================================================
--- incubator/olio/workload/java/trunk/bin/schema.sql (original)
+++ incubator/olio/workload/java/trunk/bin/schema.sql Sat Oct 10 00:38:06 2009
@@ -42,25 +42,20 @@
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `ADDRESS` (
- `ADDRESSID` int(11) NOT NULL,
- `STATE` varchar(255) DEFAULT NULL,
- `COUNTRY` varchar(255) DEFAULT NULL,
+ `ADDRESSID` INTEGER NOT NULL AUTO_INCREMENT,
+ `STATE` varchar(25) DEFAULT NULL,
+ `COUNTRY` varchar(55) DEFAULT NULL,
`LATITUDE` double DEFAULT NULL,
`LONGITUDE` double DEFAULT NULL,
- `CITY` varchar(255) DEFAULT NULL,
- `ZIP` varchar(255) DEFAULT NULL,
- `STREET1` varchar(255) DEFAULT NULL,
- `STREET2` varchar(255) DEFAULT NULL,
+ `CITY` varchar(55) DEFAULT NULL,
+ `ZIP` varchar(12) DEFAULT NULL,
+ `STREET1` varchar(55) DEFAULT NULL,
+ `STREET2` varchar(55) DEFAULT NULL,
PRIMARY KEY (`ADDRESSID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
--
--- Dumping data for table `ADDRESS`
---
-
-
---
-- Table structure for table `COMMENTS_RATING`
--
@@ -68,12 +63,12 @@
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `COMMENTS_RATING` (
- `commentsid` int(11) NOT NULL,
+ `commentsid` INTEGER NOT NULL AUTO_INCREMENT,
`CREATIONTIME` datetime DEFAULT NULL,
`COMMENTS` text,
- `RATING` int(11) DEFAULT NULL,
- `USERNAME_USERNAME` varchar(255) DEFAULT NULL,
- `SOCIALEVENT_SOCIALEVENTID` int(11) DEFAULT NULL,
+ `RATING` INTEGER DEFAULT NULL,
+ `USERNAME_USERNAME` varchar(55) DEFAULT NULL,
+ `SOCIALEVENT_SOCIALEVENTID` INTEGER DEFAULT NULL,
PRIMARY KEY (`commentsid`),
KEY `FK_COMMENTS_RATING_SOCIALEVENT_SOCIALEVENTID` (`SOCIALEVENT_SOCIALEVENTID`),
KEY `FK_COMMENTS_RATING_USERNAME_USERNAME` (`USERNAME_USERNAME`),
@@ -82,9 +77,6 @@
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
---
--- Dumping data for table `COMMENTS_RATING`
---
/*!40000 ALTER TABLE `COMMENTS_RATING` DISABLE KEYS */;
/*!40000 ALTER TABLE `COMMENTS_RATING` ENABLE KEYS */;
@@ -103,9 +95,6 @@
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
---
--- Dumping data for table `ID_GEN`
---
--
-- Table structure for table `INVITATION`
@@ -115,10 +104,10 @@
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `INVITATION` (
- `INVITATIONID` int(11) NOT NULL,
+ `INVITATIONID` INTEGER NOT NULL AUTO_INCREMENT,
`ISACCEPTED` tinyint(1) DEFAULT '0',
- `REQUESTOR_USERNAME` varchar(255) DEFAULT NULL,
- `CANDIDATE_USERNAME` varchar(255) DEFAULT NULL,
+ `REQUESTOR_USERNAME` varchar(25) DEFAULT NULL,
+ `CANDIDATE_USERNAME` varchar(25) DEFAULT NULL,
PRIMARY KEY (`INVITATIONID`),
KEY `FK_INVITATION_CANDIDATE_USERNAME` (`CANDIDATE_USERNAME`),
KEY `FK_INVITATION_REQUESTOR_USERNAME` (`REQUESTOR_USERNAME`),
@@ -127,10 +116,6 @@
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
---
--- Dumping data for table `INVITATION`
---
-
--
-- Table structure for table `PERSON`
@@ -140,27 +125,23 @@
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `PERSON` (
- `USERNAME` varchar(255) NOT NULL,
- `PASSWORD` varchar(255) DEFAULT NULL,
+ `USERNAME` varchar(25) NOT NULL,
+ `PASSWORD` varchar(25) DEFAULT NULL,
`SUMMARY` text,
- `TELEPHONE` varchar(255) DEFAULT NULL,
- `IMAGETHUMBURL` varchar(255) DEFAULT NULL,
- `IMAGEURL` varchar(255) DEFAULT NULL,
- `FIRSTNAME` varchar(255) DEFAULT NULL,
- `LASTNAME` varchar(255) DEFAULT NULL,
- `EMAIL` varchar(255) DEFAULT NULL,
- `TIMEZONE` varchar(255) DEFAULT NULL,
- `ADDRESS_ADDRESSID` int(11) DEFAULT NULL,
+ `TELEPHONE` varchar(25) DEFAULT NULL,
+ `IMAGETHUMBURL` varchar(100) DEFAULT NULL,
+ `IMAGEURL` varchar(100) DEFAULT NULL,
+ `FIRSTNAME` varchar(25) DEFAULT NULL,
+ `LASTNAME` varchar(25) DEFAULT NULL,
+ `EMAIL` varchar(90) DEFAULT NULL,
+ `TIMEZONE` varchar(25) DEFAULT NULL,
+ `ADDRESS_ADDRESSID` INTEGER DEFAULT NULL,
PRIMARY KEY (`USERNAME`),
KEY `FK_PERSON_ADDRESS_ADDRESSID` (`ADDRESS_ADDRESSID`),
CONSTRAINT `FK_PERSON_ADDRESS_ADDRESSID` FOREIGN KEY (`ADDRESS_ADDRESSID`) REFERENCES `ADDRESS` (`ADDRESSID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
---
--- Dumping data for table `PERSON`
---
-
--
-- Table structure for table `PERSON_PERSON`
@@ -170,8 +151,8 @@
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `PERSON_PERSON` (
- `Person_USERNAME` varchar(255) NOT NULL,
- `friends_USERNAME` varchar(255) NOT NULL,
+ `Person_USERNAME` varchar(25) NOT NULL,
+ `friends_USERNAME` varchar(25) NOT NULL,
PRIMARY KEY (`Person_USERNAME`,`friends_USERNAME`),
KEY `FK_PERSON_PERSON_friends_USERNAME` (`friends_USERNAME`),
CONSTRAINT `FK_PERSON_PERSON_Person_USERNAME` FOREIGN KEY (`Person_USERNAME`) REFERENCES `PERSON` (`USERNAME`),
@@ -179,10 +160,6 @@
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
---
--- Dumping data for table `PERSON_PERSON`
---
-
--
-- Table structure for table `PERSON_SOCIALEVENT`
@@ -192,8 +169,8 @@
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `PERSON_SOCIALEVENT` (
- `SOCIALEVENTID` int(11) NOT NULL,
- `USERNAME` varchar(255) NOT NULL,
+ `SOCIALEVENTID` INTEGER NOT NULL,
+ `USERNAME` varchar(25) NOT NULL,
PRIMARY KEY (`SOCIALEVENTID`,`USERNAME`),
KEY `FK_PERSON_SOCIALEVENT_USERNAME` (`USERNAME`),
CONSTRAINT `FK_PERSON_SOCIALEVENT_USERNAME` FOREIGN KEY (`USERNAME`) REFERENCES `PERSON` (`USERNAME`),
@@ -202,11 +179,6 @@
SET character_set_client = @saved_cs_client;
--
--- Dumping data for table `PERSON_SOCIALEVENT`
---
-
-
---
-- Table structure for table `SOCIALEVENT`
--
@@ -214,21 +186,21 @@
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `SOCIALEVENT` (
- `SOCIALEVENTID` int(11) NOT NULL,
- `DESCRIPTION` text,
- `TITLE` varchar(255) DEFAULT NULL,
- `SUBMITTERUSERNAME` varchar(255) DEFAULT NULL,
- `SUMMARY` varchar(255) DEFAULT NULL,
- `TELEPHONE` varchar(255) DEFAULT NULL,
- `IMAGETHUMBURL` varchar(255) DEFAULT NULL,
- `IMAGEURL` varchar(255) DEFAULT NULL,
- `LITERATUREURL` varchar(255) DEFAULT NULL,
+ `SOCIALEVENTID` INTEGER NOT NULL AUTO_INCREMENT,
+ `DESCRIPTION` VARCHAR(500) NOT NULL,
+ `TITLE` varchar(100) DEFAULT NULL,
+ `SUBMITTERUSERNAME` varchar(25) DEFAULT NULL,
+ `SUMMARY` varchar(100) DEFAULT NULL,
+ `TELEPHONE` varchar(20) DEFAULT NULL,
+ `IMAGETHUMBURL` varchar(100) DEFAULT NULL,
+ `IMAGEURL` varchar(100) DEFAULT NULL,
+ `LITERATUREURL` varchar(100) DEFAULT NULL,
`EVENTTIMESTAMP` datetime DEFAULT NULL,
- `TOTALSCORE` int(11) DEFAULT NULL,
- `NUMBEROFVOTES` int(11) DEFAULT NULL,
- `DISABLED` int(11) DEFAULT NULL,
+ `TOTALSCORE` INTEGER DEFAULT NULL,
+ `NUMBEROFVOTES` INTEGER DEFAULT NULL,
+ `DISABLED` INTEGER DEFAULT NULL,
`CREATEDTIMESTAMP` datetime DEFAULT NULL,
- `ADDRESS_ADDRESSID` int(11) DEFAULT NULL,
+ `ADDRESS_ADDRESSID` INTEGER DEFAULT NULL,
PRIMARY KEY (`SOCIALEVENTID`),
KEY `FK_SOCIALEVENT_ADDRESS_ADDRESSID` (`ADDRESS_ADDRESSID`),
CONSTRAINT `FK_SOCIALEVENT_ADDRESS_ADDRESSID` FOREIGN KEY (`ADDRESS_ADDRESSID`) REFERENCES `ADDRESS` (`ADDRESSID`)
@@ -242,11 +214,6 @@
--
--- Dumping data for table `SOCIALEVENT`
---
-
-
---
-- Table structure for table `SOCIALEVENTTAG`
--
@@ -254,9 +221,9 @@
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `SOCIALEVENTTAG` (
- `SOCIALEVENTTAGID` int(11) NOT NULL,
- `TAG` varchar(255) DEFAULT NULL,
- `REFCOUNT` int(11) DEFAULT NULL,
+ `SOCIALEVENTTAGID` INTEGER NOT NULL AUTO_INCREMENT,
+ `TAG` varchar(30) DEFAULT NULL,
+ `REFCOUNT` INTEGER DEFAULT NULL,
PRIMARY KEY (`SOCIALEVENTTAGID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
@@ -269,8 +236,8 @@
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `SOCIALEVENTTAG_SOCIALEVENT` (
- `SOCIALEVENTTAGID` int(11) NOT NULL,
- `SOCIALEVENTID` int(11) NOT NULL,
+ `SOCIALEVENTTAGID` INTEGER NOT NULL,
+ `SOCIALEVENTID` INTEGER NOT NULL,
PRIMARY KEY (`SOCIALEVENTTAGID`,`SOCIALEVENTID`),
KEY `FK_SOCIALEVENTTAG_SOCIALEVENT_SOCIALEVENTID` (`SOCIALEVENTID`),
CONSTRAINT `FK_SOCIALEVENTTAG_SOCIALEVENT_SOCIALEVENTID` FOREIGN KEY (`SOCIALEVENTID`) REFERENCES `SOCIALEVENT` (`SOCIALEVENTID`),
Modified: incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Address.java
URL: http://svn.apache.org/viewvc/incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Address.java?rev=823754&r1=823753&r2=823754&view=diff
==============================================================================
--- incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Address.java (original)
+++ incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Address.java Sat Oct 10 00:38:06 2009
@@ -35,39 +35,41 @@
*/
public class Address extends Loadable {
- private static final String STATEMENT = "insert into ADDRESS (addressid, street1, " +
+ private static final String STATEMENT = "insert into ADDRESS (street1, " +
"street2, city, state, zip, country, latitude, longitude)" +
- "values (?, ?, ?, ?, ?, ?, ?, ?, ?)";
- public static final String[] STREETEXTS = {"Blvd", "Ave", "St", "Ln", ""};
+ "values (?, ?, ?, ?, ?, ?, ?, ?)";
+ public static final String[] STREETEXTS = { "Blvd", "Ave", "St", "Ln", "" };
static Logger logger = Logger.getLogger(Address.class.getName());
+
String[] fields = new String[8];
- private int id;
+
public String getClearStatement() {
return "truncate table ADDRESS";
}
public void prepare() {
- id = getSequence();
- ++id;
+ //int id = getSequence();
+ //++id;
ThreadResource tr = ThreadResource.getInstance();
Random r = tr.getRandom();
StringBuilder buffer = tr.getBuffer();
buffer.append(r.makeNString(1, 5)).append(' '); // number
RandomUtil.randomName(r, buffer, 1, 11); // street
String streetExt = STREETEXTS[r.random(0, STREETEXTS.length - 1)];
- if (streetExt.length() > 0) {
+ if (streetExt.length() > 0)
buffer.append(' ').append(streetExt);
- }
+
fields[0] = buffer.toString();
int toggle = r.random(0, 1); // street2
- if (toggle > 0) {
+ if (toggle > 0)
fields[1] = r.makeCString(5, 20);
- }
+
fields[2] = r.makeCString(4, 14); // city
fields[3] = r.makeCString(2, 2).toUpperCase(); // state
fields[4] = r.makeNString(5, 5); // zip
+
toggle = r.random(0, 1);
if (toggle == 0) {
fields[5] = "USA";
@@ -77,6 +79,7 @@
}
// Latitude, we do not get addresses in polar circles. So the limit
fields[6] = String.format("%.6f", r.drandom(-66.560556d, 66.560556d));
+
fields[7] = String.format("%.6f", r.drandom(-179.999999d, 180d));
}
@@ -84,22 +87,20 @@
ThreadConnection c = ThreadConnection.getInstance();
try {
PreparedStatement s = c.prepareStatement(STATEMENT);
- s.setInt(1, id);
- for (int i = 0; i < fields.length; i++) {
- if (fields[i] != null) {
- s.setString(i + 2, fields[i]);
- } else {
- s.setNull(i + 2, Types.VARCHAR);
- }
- }
+ for (int i = 0; i < fields.length; i++)
+ if (fields[i] != null)
+ s.setString(i + 1, fields[i]);
+ else
+ s.setNull(i + 1, Types.VARCHAR);
c.addBatch();
-
+
} catch (SQLException e) {
logger.log(Level.SEVERE, e.getMessage(), e);
+ //LoadController.increaseErrorCount();
}
}
- /**
+ /**
* For address, update ID after all the data is loaded.
* So we update the ID_GEN table at postload and add 1 to count.
*/
@@ -107,14 +108,25 @@
ThreadConnection c = ThreadConnection.getInstance();
try {
//update id
- logger.fine("Updating Address ID");
- c.prepareStatement("INSERT INTO ID_GEN " +
+ logger.info("Updating Address ID");
+
+ c.prepareStatement("INSERT INTO ID_GEN " +
"(GEN_KEY, GEN_VALUE) " +
- "VALUES ('ADDRESS_ID', " + ScaleFactors.users + 1 + ")");
- c.executeUpdate();
- logger.fine("After updating Address ID");
+ "VALUES ('ADDRESS_ID', "+ ScaleFactors.users+1 + ")");
+ c.executeUpdate();
+
+ /*
+ c.prepareStatement("update ID_GEN set GEN_VALUE = " +
+ "(select count(*) + 1 from ADDRESS) " +
+ "where GEN_KEY='ADDRESS_ID'");
+ c.executeUpdate();
+ */
+ logger.info("After updating Address ID");
} catch (SQLException e) {
logger.log(Level.SEVERE, e.getMessage(), e);
+ //LoadController.increaseErrorCount();
}
+
+
}
}
Modified: incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Attendees.java
URL: http://svn.apache.org/viewvc/incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Attendees.java?rev=823754&r1=823753&r2=823754&view=diff
==============================================================================
--- incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Attendees.java (original)
+++ incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Attendees.java Sat Oct 10 00:38:06 2009
@@ -48,11 +48,8 @@
public String getClearStatement() {
return "truncate table PERSON_SOCIALEVENT";
}
-/**
- public Attendees(int eventId) {
- this.eventId = ++eventId;
- }
-**/
+
+
public void prepare() {
eventId = getSequence();
++eventId;
Modified: incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Comments.java
URL: http://svn.apache.org/viewvc/incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Comments.java?rev=823754&r1=823753&r2=823754&view=diff
==============================================================================
--- incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Comments.java (original)
+++ incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Comments.java Sat Oct 10 00:38:06 2009
@@ -28,7 +28,6 @@
import java.util.logging.Level;
import java.sql.PreparedStatement;
import java.sql.SQLException;
-import java.util.concurrent.atomic.AtomicLong;
import java.text.DateFormat;
import java.sql.Date;
@@ -39,19 +38,17 @@
// We use on average of 10 comments per event. Random 0..20 comments..
private static final String STATEMENT = "insert into COMMENTS_RATING " +
- "(commentsid, username_username, socialevent_socialeventid, comments, rating, creationtime) values (?, ?, ?, ?, ?, ?)";
+ "(username_username, socialevent_socialeventid, comments, rating, creationtime) values (?, ?, ?, ?, ?)";
+
static Logger logger = Logger.getLogger(Comments.class.getName());
- private static AtomicLong idGen = new AtomicLong(1);
+
public static final Date BASE_DATE = new Date(System.currentTimeMillis());
+
int eventId;
String[] userNames;
String[] comments;
int[] ratings;
- String[] cDates;
-
- public static long getNextId() {
- return idGen.getAndIncrement();
- }
+ Date created_at;
public String getClearStatement() {
return "truncate table COMMENTS_RATING";
@@ -66,43 +63,37 @@
userNames = new String[commentCount];
comments = new String[commentCount];
ratings = new int[commentCount];
- cDates = new String[commentCount];
-
- DateFormat dateFormat = tr.getDateFormat();
- String cDate = dateFormat.format(
- r.makeDateInInterval(BASE_DATE, 0, 540));
- int eventHr = r.random(7, 21);
- int eventMin = (int) r.random(0, 59);
-
for (int i = 0; i < userNames.length; i++) {
int userId = r.random(1, ScaleFactors.users);
userNames[i] = UserName.getUserName(userId);
comments[i] = r.makeCString(10, 1000);
- ratings[i] = r.random(2, 5);
- cDates[i] = String.format("%s %02d:%s:00",
- cDate, eventHr, eventMin);
+ ratings[i] = r.random(2, 5);
}
+ created_at = r.makeDateInInterval( BASE_DATE, -540, 0);
+
}
+
public void load() {
ThreadConnection c = ThreadConnection.getInstance();
try {
for (int i = 0; i < userNames.length; i++) {
PreparedStatement s = c.prepareStatement(STATEMENT);
- s.setLong(1, getNextId());
- s.setString(2, userNames[i]);
- s.setInt(3, eventId);
- s.setString(4, comments[i]);
- s.setInt(5, ratings[i]);
- s.setString(6, cDates[i]);
+ s.setString(1, userNames[i]);
+ s.setInt(2, eventId);
+ s.setString(3, comments[i]);
+ s.setInt(4, ratings[i]);
+ s.setDate(5, created_at);
c.addBatch();
+
}
} catch (SQLException e) {
logger.log(Level.SEVERE, e.getMessage(), e);
+ //LoadController.increaseErrorCount();
}
}
-
- /**
+
+ /**
* For address, update ID after all the data is loaded.
* So we update the ID_GEN table at postload and add 1 to count.
*/
@@ -110,20 +101,36 @@
ThreadConnection c = ThreadConnection.getInstance();
try {
//update id
-
+
//bug exists in JPA where we are using one ID generator (address)
//for now, update to a ridiculous high number to avoid duplicate key
//exceptions
-
- logger.fine("Updating Comments_Rating ID");
- c.prepareStatement("INSERT INTO ID_GEN " +
+
+
+ logger.fine("updating Comments_Rating ID");
+ /*
+ c.prepareStatement("update ID_GEN set GEN_VALUE = " +
+ "(select count(*) + 1 from COMMENTS_RATING) " +
+ "where GEN_KEY='COMMENTS_RATING_ID'");
+ c.executeUpdate();
+ */
+
+ logger.fine("Updating Comments_Rating ID");
+
+ c.prepareStatement("INSERT INTO ID_GEN " +
"(GEN_KEY, GEN_VALUE) " +
- "VALUES ('COMMENTS_RATING_ID', " + ScaleFactors.events + 1 + ")");
- c.executeUpdate();
- logger.fine("After updating Comments_Rating ID");
+ "VALUES ('COMMENTS_RATING_ID', "+ ScaleFactors.events +1 + ")");
+ c.executeUpdate();
+
+
+
+ logger.fine("After updating Comments_Rating ID");
} catch (SQLException e) {
logger.log(Level.SEVERE, e.getMessage(), e);
- // LoadController.increaseErrorCount();
+ // LoadController.increaseErrorCount();
}
+
+
}
+
}
Modified: incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Friends.java
URL: http://svn.apache.org/viewvc/incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Friends.java?rev=823754&r1=823753&r2=823754&view=diff
==============================================================================
--- incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Friends.java (original)
+++ incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Friends.java Sat Oct 10 00:38:06 2009
@@ -41,7 +41,7 @@
static Logger logger = Logger.getLogger(Friends.class.getName());
- int id;
+ //int id;
String userName;
String[] friends;
@@ -50,7 +50,7 @@
}
public void prepare() {
- id = getSequence();
+ int id = getSequence();
++id;
ThreadResource tr = ThreadResource.getInstance();
Random r = tr.getRandom();
@@ -82,6 +82,7 @@
}
} catch (SQLException e) {
logger.log(Level.SEVERE, e.getMessage(), e);
+ //LoadController.increaseErrorCount();
}
}
}
Modified: incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Invitation.java
URL: http://svn.apache.org/viewvc/incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Invitation.java?rev=823754&r1=823753&r2=823754&view=diff
==============================================================================
--- incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Invitation.java (original)
+++ incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Invitation.java Sat Oct 10 00:38:06 2009
@@ -38,7 +38,8 @@
// follow same as friends. Average of 15 invitations. Random 2..28 Friends.
private static final String STATEMENT = "insert into INVITATION " +
- "(invitationid, isaccepted, requestor_username, candidate_username) values (?, ?, ?, ?)";
+ // "(invitationid, isaccepted, requestor_username, candidate_username) values (?, ?, ?, ?)";
+ "(isaccepted, requestor_username, candidate_username) values (?, ?, ?)";
static Logger logger = Logger.getLogger(Friends.class.getName());
@@ -52,6 +53,7 @@
public String getClearStatement() {
return "truncate table INVITATION";
}
+
public void prepare() {
id = getSequence();
@@ -80,10 +82,16 @@
try {
for (String friend : friends) {
PreparedStatement s = c.prepareStatement(STATEMENT);
- s.setInt(1, aint.incrementAndGet());
- s.setInt(2, 0);
- s.setString(3, requestorUsername);
- s.setString(4, friend);
+ int alternate=0;
+ if (alternate%2 == 0){
+ s.setInt(1, 0);
+ }else{
+ s.setInt(1, 1);
+ }
+ s.setString(2, requestorUsername);
+ s.setString(3, friend);
+
+ alternate++;
c.addBatch();
}
} catch (SQLException e) {
@@ -93,23 +101,28 @@
}
}
- /**
+ /**
* For address, update ID after all the data is loaded.
* So we update the ID_GEN table at postload and add 1 to count.
*/
public void postLoad() {
ThreadConnection c = ThreadConnection.getInstance();
- try {
+ try {
+ //update id
+
//bug exists in JPA where we are using one ID generator (address)
//for now, update to a ridiculous high number to avoid duplicate key
- //exceptions
+ //exceptions
+
logger.fine("Updating Invitation ID");
c.prepareStatement("INSERT INTO ID_GEN " +
"(GEN_KEY, GEN_VALUE) " +
"VALUES ('INVITATION_ID', "+ ScaleFactors.users +1 + ")");
c.executeUpdate();
-
+
+
+
logger.fine("After updating Invitation ID");
} catch (SQLException e) {
logger.log(Level.SEVERE, e.getMessage(), e);
Modified: incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Person.java
URL: http://svn.apache.org/viewvc/incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Person.java?rev=823754&r1=823753&r2=823754&view=diff
==============================================================================
--- incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Person.java (original)
+++ incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Person.java Sat Oct 10 00:38:06 2009
@@ -1,4 +1,4 @@
- /*
+/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -42,16 +42,15 @@
"values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
static Logger logger = Logger.getLogger(Person.class.getName());
- int id;
String[] fields = new String[10];
int addressId;
-
+
public String getClearStatement() {
return "truncate table PERSON";
}
public void prepare() {
- id = getSequence();
+ int id = getSequence();
++id;
ThreadResource tr = ThreadResource.getInstance();
Random r = tr.getRandom();
Modified: incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/SocialEvent.java
URL: http://svn.apache.org/viewvc/incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/SocialEvent.java?rev=823754&r1=823753&r2=823754&view=diff
==============================================================================
--- incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/SocialEvent.java (original)
+++ incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/SocialEvent.java Sat Oct 10 00:38:06 2009
@@ -41,16 +41,16 @@
public static final Date BASE_DATE = new Date(System.currentTimeMillis());
private static final String STATEMENT = "insert into SOCIALEVENT " +
- "(socialeventid, title, summary, description, submitterUserName, imageurl, " +
- "imagethumburl, literatureurl, telephone, " +
- "eventtimestamp, createdtimestamp, ADDRESS_addressid, " +
- "totalscore, numberofvotes, disabled) " +
- "values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
+ //"(socialeventid, title, summary, description, submitterUserName, imageurl, " +
+ "(title, summary, description, submitterUserName, imageurl, " + //5
+ "imagethumburl, literatureurl, telephone, " + //8
+ "eventtimestamp, createdtimestamp, ADDRESS_addressid, " + //11
+ "totalscore, numberofvotes, disabled) " + //14
+ "values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
private static final String[] EVT_MINUTES = { "00", "15", "30", "45" };
static Logger logger = Logger.getLogger(SocialEvent.class.getName());
- int id;
String[] fields = new String[9];
Date createdTimestamp;
@@ -61,7 +61,7 @@
}
public void prepare() {
- id = getSequence();
+ int id = getSequence();
++id;
ThreadResource tr = ThreadResource.getInstance();
Random r = tr.getRandom();
@@ -69,7 +69,7 @@
fields[0] = RandomUtil.randomText(r, 15, 20); //title
fields[1] = RandomUtil.randomText(r, 15, 50); //summary
fields[2] = RandomUtil.randomText(r, 50, 495); // description
- fields[3] = UserName.getUserName(r.random(1, ScaleFactors.users));
+ fields[3] = UserName.getUserName(r.random(1, ScaleFactors.users)); //submitterUserName
fields[4] = "e" + id + ".jpg"; // imageurl
fields[5] = "e" + id + "t.jpg"; // imagethumburl
fields[6] = "e" + id + "l.pdf"; //literatureurl
@@ -81,32 +81,31 @@
String eventMin = EVT_MINUTES[r.random(0, 3)]; // eventtimestamp
fields[8] = String.format("%s %02d:%s:00",
eventDate, eventHr, eventMin);
+
createdTimestamp = r.makeDateInInterval( //createdtimestamp
BASE_DATE, -540, 0);
ifields[0] = r.random(1, ScaleFactors.users); // addressId
// The rest is initialized to 0 anyway, leave it that way.
}
-
- public void load() {
+
+ public void load() {
ThreadConnection c = ThreadConnection.getInstance();
try {
PreparedStatement s = c.prepareStatement(STATEMENT);
- s.setInt (1, id);
- int len=2;
- for (int i = 0; i < fields.length; i++,len++)
+ for (int i = 0; i < fields.length; i++)
if (fields[i] != null)
- s.setString(i + 2, fields[i]);
+ s.setString(i + 1, fields[i]);
else
- s.setNull(i + 2, Types.VARCHAR);
- s.setDate(len, createdTimestamp);
- len++;
- for (int i = 0; i < ifields.length; i++,len++)
- s.setInt(len, ifields[i]);
+ s.setNull(i + 1, Types.VARCHAR);
+ s.setDate(10, createdTimestamp);
+ for (int i = 0; i < ifields.length; i++)
+ s.setInt(11 + i, ifields[i]);
c.addBatch();
} catch (SQLException e) {
logger.log(Level.SEVERE, e.getMessage(), e);
}
}
+
/**
* For tags, we won't know the refcount till all the data is loaded.
@@ -116,17 +115,26 @@
ThreadConnection c = ThreadConnection.getInstance();
try {
//update id
- logger.fine("before updating socialEventID");
+ logger.fine("before updating socialEventID");
c.prepareStatement("INSERT INTO ID_GEN " +
"(GEN_KEY, GEN_VALUE) " +
"VALUES ('SOCIAL_EVENT_ID', "+ ScaleFactors.events +1 + ")");
c.executeUpdate();
+ /*
+ c.prepareStatement("update ID_GEN set GEN_VALUE = " +
+ "(select count(*) +1 from SOCIALEVENT) " +
+ "where GEN_KEY='SOCIAL_EVENT_ID'");
+ c.executeUpdate();
+ */
logger.fine("after updating socialEventID");
} catch (SQLException e) {
logger.log(Level.SEVERE, e.getMessage(), e);
//LoadController.increaseErrorCount();
}
+
+
}
+
}
Modified: incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Tag.java
URL: http://svn.apache.org/viewvc/incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Tag.java?rev=823754&r1=823753&r2=823754&view=diff
==============================================================================
--- incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Tag.java (original)
+++ incubator/olio/workload/java/trunk/src/org/apache/olio/workload/loader/Tag.java Sat Oct 10 00:38:06 2009
@@ -36,30 +36,32 @@
// Note that the tag id in the database is autoincrement and may
// not coincide with this tag id/name when using multi-thread loading.
private static final String STATEMENT = "insert into SOCIALEVENTTAG " +
- "(socialeventtagid, tag, refcount) values (?, ?, ?)";
+ //"(socialeventtagid, tag, refcount) values (?, ?, ?)";
+ "(tag, refcount) values (?, ?)";
static Logger logger = Logger.getLogger(Tag.class.getName());
- int id;
String tag;
+
+
public String getClearStatement() {
- return "truncate table SOCIALEVENTTAG";
+ return "truncate table SOCIALEVENTTAG ";
}
public void prepare() {
- id = getSequence();
+ int id = getSequence();
++id;
tag = UserName.getUserName(id);
}
+
public void load() {
ThreadConnection c = ThreadConnection.getInstance();
try {
PreparedStatement s = c.prepareStatement(STATEMENT);
- s.setInt (1, id);
- s.setString(2, tag);
- s.setInt(3, 0); // Initialize it to 0 first, count and add later.
+ s.setString(1, tag);
+ s.setInt(2, 0); // Initialize it to 0 first, count and add later.
c.addBatch();
} catch (SQLException e) {
logger.log(Level.SEVERE, e.getMessage(), e);
@@ -82,7 +84,13 @@
//update id
logger.fine("updating Tag ID_GEN ID");
- c.prepareStatement("INSERT INTO ID_GEN " +
+ /*
+ c.prepareStatement("update ID_GEN set GEN_VALUE = " +
+ "(select count(*) +1 from SOCIALEVENTTAG) " +
+ "where GEN_KEY='SOCIAL_EVENT_TAG_ID'");
+ c.executeUpdate();
+ */
+ c.prepareStatement("INSERT INTO ID_GEN " +
"(GEN_KEY, GEN_VALUE) " +
"VALUES ('SOCIAL_EVENT_TAG_ID', "+ ScaleFactors.tagCount + ")");
c.executeUpdate();
@@ -91,5 +99,7 @@
} catch (SQLException e) {
logger.log(Level.SEVERE, e.getMessage(), e);
}
+
+
}
}