ca.sqlpower.architect.profile
Class RemoteDatabaseProfileCreator
java.lang.Object
ca.sqlpower.architect.profile.AbstractTableProfileCreator
ca.sqlpower.architect.profile.RemoteDatabaseProfileCreator
- All Implemented Interfaces:
- TableProfileCreator
public class RemoteDatabaseProfileCreator
- extends AbstractTableProfileCreator
A profile creator implementation that makes the RDBMS do all the hard work.
This profiler is best used when the database is separated from the local JVM
by a slow network, since only the results of the profile are transmitted over
the network. This profile creator is a poor choice when the database table
being profiled is larger than the remote database's available work memory,
since the SQL queries it issues require several full passes over the table,
as well as several partial sorts of the table.
Since the profiling is done by asking the remote database to aggregate the
data, some aggregates will not always be available on all data types. For
example, if the remote database is PostgreSQL, the average date of a date
column will be calculated; if the remote database is Oracle, the average date
will not be calculated. This class looks for the configuration of which
aggregate functions work with which data types in the SPDataSourceType of the
given SQLTable's data source. See createProfileFunctions(SPDataSourceType)
for details.
For a profiler better suited for use on large tables, see
LocalReservoirProfileCreator.
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
RemoteDatabaseProfileCreator
public RemoteDatabaseProfileCreator(ProfileSettings settings)
doProfileImpl
public boolean doProfileImpl(TableProfileResult tpr)
- Specified by:
doProfileImpl in class AbstractTableProfileCreator
doColumnProfile
protected void doColumnProfile(ColumnProfileResult cpr,
ca.sqlpower.util.MonitorableImpl pm)
throws java.sql.SQLException,
ArchitectException
- Performs profiling at the column level by issuing a SELECT statement against
the column referenced by cpr.
- Parameters:
cpr - The profile result to populatepm - The progress monitor. This progress monitor is only used for checking
if the operation is canceled; it is not updated with progress information.
- Throws:
java.sql.SQLException
ArchitectException
toString
public java.lang.String toString()
- Overrides:
toString in class java.lang.Object
Copyright © 2003-2007 SQL Power Group Inc. www.sqlpower.ca