|
|||||||||
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 com.lucidera.lcs.LcsDataServer
class LcsDataServer
LcsDataServer implements the FarragoMedDataServer
interface for
LucidDB column-store data.
Field Summary |
---|
Fields inherited from class net.sf.farrago.namespace.impl.MedAbstractFennelDataServer |
---|
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 | |
---|---|
LcsDataServer(String serverMofId,
Properties props,
FarragoRepos repos)
|
Method Summary | |
---|---|
RelNode |
constructIndexBuildPlan(RelOptTable table,
FemLocalIndex index,
RelOptCluster cluster)
Creates a plan for loading existing rows of a table into an index. |
private void |
createSystemIndex(String namePrefix,
CwmTable table,
CwmColumn col,
boolean clustered,
boolean sorted,
boolean unique)
Creates an index with an internally generated name |
protected boolean |
getIncludeTuples(FemLocalIndex index)
Whether or not to include tuples in page count statistics |
FarragoMedColumnSet |
newColumnSet(String[] localName,
Properties tableProps,
FarragoTypeFactory typeFactory,
RelDataType rowType,
Map<String,Properties> columnPropMap)
Creates an instance of a FarragoMedColumnSet corresponding to row data identified by properties rather than container name. |
private void |
prepareClusteredIndexCmd(LcsIndexGuide indexGuide,
FemIndexCmd cmd,
FemLocalIndex index)
|
protected void |
prepareIndexCmd(FemIndexCmd cmd,
FemLocalIndex index)
Prepares an index command based on the catalog definition of the index. |
private void |
prepareUnclusteredIndexCmd(LcsIndexGuide indexGuide,
FemIndexCmd cmd,
FemLocalIndex index)
|
void |
registerRules(RelOptPlanner planner)
Gives this wrapper a chance to register any special optimization rules. |
boolean |
supportsAlterTableAddColumn()
Checks whether ALTER TABLE ADD COLUMN is implemented for tables stored by this local data server. |
void |
validateTableDefinition(FemLocalTable table,
FemLocalIndex generatedPrimaryKeyIndex,
boolean creation)
Validates the definition of a table being created. |
Methods inherited from class net.sf.farrago.namespace.impl.MedAbstractFennelDataServer |
---|
computeIndexStats, createIndex, dropIndex, getIndexSegmentId, getRuntimeSupport, versionIndexRoot |
Methods inherited from class net.sf.farrago.namespace.impl.MedAbstractLocalDataServer |
---|
getFennelDbHandle, getNameDirectory, setFennelDbHandle, validateTableDefinition |
Methods inherited from class net.sf.farrago.namespace.impl.MedAbstractDataServer |
---|
closeAllocation, getLoopbackDataSource, getProperties, getServerMofId, registerRelMetadataProviders, 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.FarragoMedDataServer |
---|
registerRelMetadataProviders, releaseResources, setLoopbackDataSource |
Methods inherited from interface org.eigenbase.util.ClosableAllocation |
---|
closeAllocation |
Constructor Detail |
---|
LcsDataServer(String serverMofId, Properties props, FarragoRepos repos)
Method Detail |
---|
public FarragoMedColumnSet newColumnSet(String[] localName, Properties tableProps, FarragoTypeFactory typeFactory, RelDataType rowType, Map<String,Properties> columnPropMap) throws SQLException
FarragoMedDataServer
localName
- the qualified name to assign to the column set within
Farrago; this should NOT be used for finding the actual data, since it
can be set arbitrarily by the caller; instead, it should be used to
implement the RelOptTable.getQualifiedName() method, and can be useful
for correlation during debuggingtableProps
- properties to use for data location and accesstypeFactory
- FarragoTypeFactory to use for defining typesrowType
- type to impose on the rows of this column set (including
column names and types), or null to infer row type; if this is non-null,
it must be saved for use by the getRowType() returned from
FarragoMedColumnSetcolumnPropMap
- map from column name to column-specific Properties;
this is optional and may only be specified when rowType is also specified
(the field names in rowType are used as the keys for columnPropMap)
SQLException
- if data access is unsuccessfulpublic void registerRules(RelOptPlanner planner)
FarragoMedDataServer
registerRules
in interface FarragoMedDataServer
registerRules
in class MedAbstractDataServer
planner
- the planner in which the rules should be registeredpublic void validateTableDefinition(FemLocalTable table, FemLocalIndex generatedPrimaryKeyIndex, boolean creation) throws SQLException
FarragoMedLocalDataServer
validateTableDefinition
in interface FarragoMedLocalDataServer
validateTableDefinition
in class MedAbstractLocalDataServer
table
- definition of the table being createdgeneratedPrimaryKeyIndex
- if non-null, a reference to an index
generated by the system to enforce the primary keycreation
- true if the table being validated is being newly created
SQLException
private void createSystemIndex(String namePrefix, CwmTable table, CwmColumn col, boolean clustered, boolean sorted, boolean unique)
namePrefix
- the initial prefix of the internal nametable
- table that the index will be created oncol
- column associated with the index; null if the index is not
associated with any columnclustered
- whether the index is clusteredsorted
- whether the index maintains its data in sort orderunique
- whether the data in the index is uniquepublic RelNode constructIndexBuildPlan(RelOptTable table, FemLocalIndex index, RelOptCluster cluster)
FarragoMedLocalDataServer
FarragoIndexBuilderRel
, and this plugin will supply
a rule which transforms that into a corresponding physical rel for
writing to the index. Where possible, the returned plan should consist of
logical rels, increasing optimization potential.
table
- the optimizer representation for the indexed tableindex
- the index to be loadedcluster
- container for newly created relational expressions
protected void prepareIndexCmd(FemIndexCmd cmd, FemLocalIndex index)
MedAbstractFennelDataServer
prepareIndexCmd
in class MedAbstractFennelDataServer
cmd
- command to be initializedindex
- catalog definition of indexprivate void prepareClusteredIndexCmd(LcsIndexGuide indexGuide, FemIndexCmd cmd, FemLocalIndex index)
private void prepareUnclusteredIndexCmd(LcsIndexGuide indexGuide, FemIndexCmd cmd, FemLocalIndex index)
protected boolean getIncludeTuples(FemLocalIndex index)
MedAbstractFennelDataServer
getIncludeTuples
in class MedAbstractFennelDataServer
public boolean supportsAlterTableAddColumn()
FarragoMedLocalDataServer
supportsAlterTableAddColumn
in interface FarragoMedLocalDataServer
supportsAlterTableAddColumn
in class MedAbstractLocalDataServer
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |