]
Steven Hawkins commented on TEIID-4730:
---------------------------------------
What we want to work toward are three levels of sharing:
None - rarely needed, means that every vdb version and every importing vdb would have
it's own materialization
Shared by name/version (default) - track the VDB name/version of the base VDB on the
materialized view.
Fully shared - track the VDB name of the base VDB on the materialized view and use a
version of 0. This also doesn't quite match with either VDB or Schema sharing, but
more naturally reflects what we're trying to do in the importing case.
Problem with Import VDB with Materialized View (external)
---------------------------------------------------------
Key: TEIID-4730
URL:
https://issues.jboss.org/browse/TEIID-4730
Project: Teiid
Issue Type: Bug
Components: Common
Affects Versions: 9.1.2
Environment: * Teiid 9.1.2
* CentOs 7
* WildFly 10
Reporter: Pedro InĂ¡cio
Assignee: Ramesh Reddy
Labels: CR1
Fix For: 9.2
Attachments: externalMaterializationOrderProblem-vdb.xml, numberingPlan-vdb.xml
Having defined a VDB which contains a Model that has External Materialization, when
importing this VDB into another that also uses External Materialization, Teiid Server is
searching in the wrong place for the view status.
Example:
..
<import-vdb name="CountryServiceListVDB" version="1"
import-data-policies="true"/>
...
<model name="MyView" type="VIRTUAL">
...
SELECT cns,
country_code
FROM NumberingPlan.numbering_plan;
....
</metadata>
</model>
*NumberingPlan.numbering_plan is defined in the imported VDB, and is also Materialized.*
*Warning in Logs: *
17:51:45,161 WARN [org.teiid.MATVIEWS] (Worker8_QueryProcessorQueue10653) n9M6de3y5xHM
org.teiid.jdbc.TeiidSQLException: TEIID30328 Unable to evaluate (SELECT
mvstatus('NumberingPlan', 'numbering_plan', Valid, LoadState,
'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN
NumberingPlanMaterialized.status ON VDBName =
'ExternalMaterializationOrderProblem' AND VDBVersion = '1' AND SchemaName
= 'NumberingPlan' AND Name = 'numbering_plan' LIMIT 2): TEIID30328 Unable
to evaluate mvstatus('NumberingPlan', 'numbering_plan', Valid, LoadState,
'THROW_EXCEPTION'): TEIID30384 Error while evaluating function mvstatus