//
// $Id$
package com.threerings.user;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import com.samskivert.io.PersistenceException;
import com.samskivert.jdbc.ConnectionProvider;
import com.samskivert.jdbc.JDBCUtil;
import com.samskivert.jdbc.DatabaseLiaison;
import com.samskivert.jdbc.SimpleRepository;
/**
* Manages database access for doing our own quick and dirty tracking ala clientstep.
*/
public class TrackingRepository extends SimpleRepository
{
/** Name of the tracking table. */
public static final String TRACKING_TABLE = "TRACKING";
/**
* The database identifier used when establishing a database
* connection. This value being trackingdb.
*/
public static final String TRACKING_DB_IDENT = "trackingdb";
/**
* Creates the repository and prepares it for operation.
*
* @param provider the database connection provider.
*/
public TrackingRepository (ConnectionProvider provider)
throws PersistenceException
{
super(provider, TRACKING_DB_IDENT);
}
/**
* Records a tracking event to the database.
*/
public void addTrackingEvent (final String event, final String description,
final int accountId, final int siteId)
throws PersistenceException
{
executeUpdate(new Operation