/*
* Copyright Aduna (http://www.aduna-software.com/) (c) 2008.
*
* Licensed under the Aduna BSD-style license.
*/
package org.openrdf.sail.rdbms.schema;
import java.sql.SQLException;
import org.openrdf.sail.helpers.DefaultSailChangedEvent;
/**
*
* @author James Leigh
*/
public class TripleBatch extends Batch {
public static int total_rows;
public static int total_st;
public static int total_wait;
private TripleTable table;
private DefaultSailChangedEvent sailChangedEvent;
public void setTable(TripleTable table) {
assert table != null;
this.table = table;
}
public void setSailChangedEvent(DefaultSailChangedEvent sailChangedEvent) {
this.sailChangedEvent = sailChangedEvent;
}
public boolean isReady() {
return table.isReady();
}
public synchronized int flush()
throws SQLException
{
table.blockUntilReady();
long start = System.currentTimeMillis();
int count = super.flush();
long end = System.currentTimeMillis();
total_rows += count;
total_st += 2;
total_wait += end - start;
if (count > 0) {
sailChangedEvent.setStatementsAdded(true);
}
return count;
}
}