net.sf.farrago.namespace.mql
Class MedMqlDataServer
java.lang.Object
net.sf.farrago.plugin.FarragoAbstractPluginBase
net.sf.farrago.namespace.impl.MedAbstractBase
net.sf.farrago.namespace.impl.MedAbstractDataServer
net.sf.farrago.namespace.mql.MedMqlDataServer
- All Implemented Interfaces:
- FarragoMedDataServer, FarragoAllocation, ClosableAllocation
class MedMqlDataServer
- extends MedAbstractDataServer
MedMqlDataServer provides an implementation of the FarragoMedDataServer
interface for MQL.
- Version:
- $Id: //open/dev/farrago/ext/mql/src/net/sf/farrago/namespace/mql/MedMqlDataServer.java#5 $
- Author:
- John V. Sichi
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PROP_URL
public static final String PROP_URL
- See Also:
- Constant Field Values
PROP_METAWEB_TYPE
public static final String PROP_METAWEB_TYPE
- See Also:
- Constant Field Values
PROP_UDX_SPECIFIC_NAME
public static final String PROP_UDX_SPECIFIC_NAME
- See Also:
- Constant Field Values
DEFAULT_URL
public static final String DEFAULT_URL
- See Also:
- Constant Field Values
DEFAULT_UDX_SPECIFIC_NAME
public static final String DEFAULT_UDX_SPECIFIC_NAME
- See Also:
- Constant Field Values
wrapper
private MedAbstractDataWrapper wrapper
url
private String url
MedMqlDataServer
MedMqlDataServer(MedAbstractDataWrapper wrapper,
String serverMofId,
Properties props)
initialize
void initialize()
throws SQLException
- Throws:
SQLException
getNameDirectory
public FarragoMedNameDirectory getNameDirectory()
throws SQLException
- Description copied from interface:
FarragoMedDataServer
- Gets a FarragoMedNameDirectory corresponding to this server.
- Specified by:
getNameDirectory
in interface FarragoMedDataServer
- Overrides:
getNameDirectory
in class MedAbstractDataServer
- Returns:
- directory, or null if this server does not have the required
metadata capability
- Throws:
SQLException
- if directory access is unsuccessful (but not if
directory access is unsupported)
newColumnSet
public FarragoMedColumnSet newColumnSet(String[] localName,
Properties tableProps,
FarragoTypeFactory typeFactory,
RelDataType rowType,
Map<String,Properties> columnPropMap)
throws SQLException
- Description copied from interface:
FarragoMedDataServer
- Creates an instance of a FarragoMedColumnSet corresponding to row data
identified by properties rather than container name. This supports the
SQL/MED CREATE FOREIGN TABLE statement. As much validation as possible
should be performed, including accessing representative data.
- Parameters:
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)
- Returns:
- new FarragoMedColumnSet
- Throws:
SQLException
- if data access is unsuccessful
registerRules
public void registerRules(RelOptPlanner planner)
- Description copied from interface:
FarragoMedDataServer
- Gives this wrapper a chance to register any special optimization rules.
This method may be called more than once, each time with a different
planner instance.
- Specified by:
registerRules
in interface FarragoMedDataServer
- Overrides:
registerRules
in class MedAbstractDataServer
- Parameters:
planner
- the planner in which the rules should be registered
getWrapper
MedAbstractDataWrapper getWrapper()
getUrl
public String getUrl()