I think I've made my position on this feature clear in earlier threads. This feature
is to narrowly conceived.
Maybe the problem is that it has not been sufficiently explained, at least not in a public
forum. I don't have any problem with implementing a new vision over several versions,
which I suspect is what you're doing, but what's the vision. As far as I can tell
from the public discussions and JIRAs, we are implementation a new API to be used in
connector scope, and have an expectation that it will be grown into a full blown metadata
API. That's backwards in my opinion. We should be defining the best API we can based
upon the universe of potential environments/clients that we envision for Teiid. We can
then implement over successive versions in different components, right away in connectors
if that's the priority.
I don't know enough to respond to the issue you raise. Seems to me that it should
have been resolved before this feature got on the roadmap and implemented.
~jd
----- "Steven Hawkins" <shawkins(a)redhat.com> wrote:
https://jira.jboss.org/jira/browse/TEIID-684 covers allowing
connectors to supply metadata. An initial check-in of this feature
was added last night. For those that are interested have a look at
TestVDBLessExecution in the test-integration module.
Through just a ConfigurationInfo.def file:
<VDB>
<VDBInfo>
<Property Name="Name" Value="VDBLess" />
<Property Name="Version" Value="4" />
<Property Name="UseConnectorMetadata" Value="true" />
</VDBInfo>
<Model>
<Property Name="Name" Value="SummitData" />
<ConnectorBindings>
<Connector Name="Text Connector" />
</ConnectorBindings>
</Model>
<ConnectorBindings>
<Connector Name="Text Connector" ComponentType="Text File
Connector">
<Properties>
<Property Name="Immutable">true</Property>
<Property
Name="DescriptorFile">src/test/resources/vdbless/TextDescriptor.txt</Property>
</Properties>
</Connector>
</ConnectorBindings>
</VDB>
The text connector supplies the metadata for the SummitData model
(through the TextDescriptor file). I'll have the wiring added for the
JDBC connector shortly along with additional metadata features, such
as keys and procedures.
Note that the changes have heavily refactored the metadata module.
The intention is for 6.2 Designer to specifically fork the the 6.1
version of the metadata code to provide their own implementation of
the QueryMetadataInterface with their legacy usage of MetadataRecords.
This does not require any api level changes on their part or changes
to the current preview integration mechanism. There are currently no
plans to incorporate this work into Designer as this is currently
envisioned for ease of use of stand-alone Teiid.
An issue that is open for discussion is that the connector api now
exposes the MetadataRecord objects as well as it the MetadataObject
interfaces (Group, Element, etc). A case could be made for expanding
the MetadataObject interfaces to include getters and setters for all
relevant fields on MetadataRecords (there are currently many fields
that the user doesn't need to modify that are only used by index logic
or are handled by the MetadataFactory). We still however would need
to have separate implementations of the interfaces since the Designer
preview feature would still provide metadata through its QMI in the
from of legacy MetadataRecords. If we do expand the interfaces in
this way, we would also probably want to add logic to ensure that no
modifications can be performed when the records are supplied as
RuntimeMetadata.
One warning that should be added is that since the metadata is
non-persistent direct usage of uuid values in system tables should be
discouraged.
Steve
_______________________________________________
teiid-dev mailing list
teiid-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/teiid-dev