|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.farrago.plugin.FarragoAbstractPluginBase net.sf.farrago.namespace.impl.MedAbstractBase net.sf.farrago.namespace.impl.MedAbstractDataServer net.sf.farrago.namespace.impl.MedAbstractLocalDataServer net.sf.farrago.namespace.impl.MedAbstractFennelDataServer
public abstract class MedAbstractFennelDataServer
MedAbstractFennelDataServer refines MedAbstractLocalDataServer
with
abstract support for using Fennel's btree indexing.
Field Summary | |
---|---|
protected FarragoRepos |
repos
|
Fields inherited from class net.sf.farrago.plugin.FarragoAbstractPluginBase |
---|
BOOLEAN_CHOICES_DEFAULT_FALSE, BOOLEAN_CHOICES_DEFAULT_TRUE, EMPTY_DRIVER_PROPERTIES |
Fields inherited from interface net.sf.farrago.namespace.FarragoMedDataServer |
---|
PROP_SERVER_NAME, PROP_SERVER_TYPE, PROP_SERVER_VERSION |
Constructor Summary | |
---|---|
protected |
MedAbstractFennelDataServer(String serverMofId,
Properties props,
FarragoRepos repos)
|
Method Summary | |
---|---|
FarragoMedLocalIndexStats |
computeIndexStats(FemLocalIndex index,
long rootPageId,
boolean estimate,
FennelTxnContext txnContext)
Verifies an index and returns its page count. |
long |
createIndex(FemLocalIndex index,
FennelTxnContext txnContext)
Creates an index. |
void |
dropIndex(FemLocalIndex index,
long rootPageId,
boolean truncate,
FennelTxnContext txnContext)
Drops or truncates an index. |
protected abstract boolean |
getIncludeTuples(FemLocalIndex index)
Whether or not to include tuples in page count statistics |
static long |
getIndexSegmentId(FemLocalIndex index)
Gets the SegmentId of the segment storing an index. |
Object |
getRuntimeSupport(Object param)
Gets an object needed for runtime support. |
private void |
initIndexCmd(FemIndexCmd cmd,
FemLocalIndex index,
FennelTxnContext txnContext)
|
protected abstract void |
prepareIndexCmd(FemIndexCmd cmd,
FemLocalIndex index)
Prepares an index command based on the catalog definition of the index. |
void |
versionIndexRoot(Long oldRoot,
Long newRoot,
FennelTxnContext txnContext)
Versions the root page of an index |
Methods inherited from class net.sf.farrago.namespace.impl.MedAbstractLocalDataServer |
---|
getFennelDbHandle, getNameDirectory, setFennelDbHandle, supportsAlterTableAddColumn, validateTableDefinition, validateTableDefinition |
Methods inherited from class net.sf.farrago.namespace.impl.MedAbstractDataServer |
---|
closeAllocation, getLoopbackDataSource, getProperties, getServerMofId, registerRelMetadataProviders, registerRules, releaseResources, setLoopbackDataSource |
Methods inherited from class net.sf.farrago.plugin.FarragoAbstractPluginBase |
---|
getBooleanProperty, getByteProperty, getDoubleProperty, getFloatProperty, getIntProperty, getLongProperty, getShortProperty, requireProperty |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface net.sf.farrago.namespace.FarragoMedLocalDataServer |
---|
constructIndexBuildPlan |
Methods inherited from interface net.sf.farrago.namespace.FarragoMedDataServer |
---|
newColumnSet, registerRelMetadataProviders, registerRules, releaseResources, setLoopbackDataSource |
Methods inherited from interface org.eigenbase.util.ClosableAllocation |
---|
closeAllocation |
Field Detail |
---|
protected FarragoRepos repos
Constructor Detail |
---|
protected MedAbstractFennelDataServer(String serverMofId, Properties props, FarragoRepos repos)
Method Detail |
---|
public Object getRuntimeSupport(Object param) throws SQLException
FarragoMedDataServer
getRuntimeSupport
in interface FarragoMedDataServer
getRuntimeSupport
in class MedAbstractDataServer
param
- parameter supplied at runtime
SQLException
public long createIndex(FemLocalIndex index, FennelTxnContext txnContext)
FarragoMedLocalDataServer
index
- definition of the index to createtxnContext
- Fennel txn context
public void dropIndex(FemLocalIndex index, long rootPageId, boolean truncate, FennelTxnContext txnContext)
FarragoMedLocalDataServer
index
- definition of the index to droprootPageId
- root PageId of indextruncate
- if true, only truncate storage; if false, drop storage
entirelytxnContext
- Fennel txn contextpublic FarragoMedLocalIndexStats computeIndexStats(FemLocalIndex index, long rootPageId, boolean estimate, FennelTxnContext txnContext)
FarragoMedLocalDataServer
index
- definition of the index to verifyrootPageId
- root PageId of indexestimate
- whether to estimate statistics for a quicker result (and
at the cost of no unique key count)txnContext
- Fennel txn context
private void initIndexCmd(FemIndexCmd cmd, FemLocalIndex index, FennelTxnContext txnContext)
protected abstract void prepareIndexCmd(FemIndexCmd cmd, FemLocalIndex index)
cmd
- command to be initializedindex
- catalog definition of indexprotected abstract boolean getIncludeTuples(FemLocalIndex index)
public static long getIndexSegmentId(FemLocalIndex index)
index
- the index of interest
public void versionIndexRoot(Long oldRoot, Long newRoot, FennelTxnContext txnContext)
FarragoMedLocalDataServer
oldRoot
- original root pagenewRoot
- new versioned, root pagetxnContext
- Fennel txn context
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |