[
https://issues.jboss.org/browse/TEIIDDES-2930?page=com.atlassian.jira.plu...
]
Barry LaFond commented on TEIIDDES-2930:
----------------------------------------
The generated vdb.xml below shows the following 2 table references which I looks correct?
"OBJECT_NS:primary_table" 'CustomerMatCache.Customer' in
*CustomerMatCache* source model
MATERIALIZED_TABLE 'CustomerMatCache.Customer' property in the *CustomerViewMat*
view model
{code}
<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
<vdb name="MyVDB" version="1">
<description/>
<property name="validationDateTime" value="Wed Oct 26 15:20:03 CDT
2016"/>
<property name="validationVersion" value="8.12.4"/>
<model name="CustomerMatCache">
<source connection-jndi-name="CustomerMatCache"
name="CustomerMatCache" translator-name="infinspan1"/>
<metadata type="DDL"><![CDATA[
SET NAMESPACE 'http://www.teiid.org/translator/object/2016' AS OBJECT_NS;
CREATE FOREIGN TABLE Customer (
id integer NOT NULL OPTIONS(FIXED_LENGTH 'TRUE'),
name string(100) NOT NULL,
email string(100) NOT NULL,
male boolean NOT NULL OPTIONS(FIXED_LENGTH 'TRUE'),
CONSTRAINT pk_id PRIMARY KEY(id)
) OPTIONS(UPDATABLE 'TRUE')
CREATE FOREIGN TABLE ST_Customer (
id integer NOT NULL OPTIONS(FIXED_LENGTH 'TRUE'),
name string(100) NOT NULL,
email string(100) NOT NULL,
male boolean NOT NULL OPTIONS(FIXED_LENGTH 'TRUE'),
CONSTRAINT pk_id PRIMARY KEY(id)
) OPTIONS(UPDATABLE 'TRUE', "OBJECT_NS:primary_table"
'CustomerMatCache.Customer')
]]></metadata>
</model>
<model name="sourceMSQmodel">
<source connection-jndi-name="New_MySQL_DS" name="sourceMSQmodel"
translator-name="mysql5"/>
<metadata type="DDL"><![CDATA[
CREATE FOREIGN TABLE testJDG.customers (
id integer NOT NULL OPTIONS(NAMEINSOURCE '`id`', NATIVE_TYPE 'INT',
FIXED_LENGTH 'TRUE'),
name string(100) NOT NULL OPTIONS(NAMEINSOURCE '`name`', NATIVE_TYPE
'VARCHAR'),
e_mail string(100) NOT NULL OPTIONS(NAMEINSOURCE '`e-mail`', NATIVE_TYPE
'VARCHAR'),
male boolean NOT NULL OPTIONS(NAMEINSOURCE '`male`', NATIVE_TYPE 'BIT',
FIXED_LENGTH 'TRUE'),
CONSTRAINT "PRIMARY" PRIMARY KEY(id)
) OPTIONS(NAMEINSOURCE '`testJDG`.`customers`', UPDATABLE 'TRUE')
CREATE FOREIGN TABLE testJDG.status (
VDBName string(50) NOT NULL OPTIONS(NAMEINSOURCE '`VDBName`', NATIVE_TYPE
'VARCHAR'),
VDBVersion integer NOT NULL OPTIONS(NAMEINSOURCE '`VDBVersion`', NATIVE_TYPE
'INT', FIXED_LENGTH 'TRUE'),
SchemaName string(50) NOT NULL OPTIONS(NAMEINSOURCE '`SchemaName`', NATIVE_TYPE
'VARCHAR'),
Name string(256) NOT NULL OPTIONS(NAMEINSOURCE '`Name`', NATIVE_TYPE
'VARCHAR'),
TargetSchemaName string(50) OPTIONS(NAMEINSOURCE '`TargetSchemaName`',
NATIVE_TYPE 'VARCHAR'),
TargetName string(256) NOT NULL OPTIONS(NAMEINSOURCE '`TargetName`', NATIVE_TYPE
'VARCHAR'),
Valid boolean NOT NULL OPTIONS(NAMEINSOURCE '`Valid`', NATIVE_TYPE 'BIT',
FIXED_LENGTH 'TRUE'),
LoadState string(25) NOT NULL OPTIONS(NAMEINSOURCE '`LoadState`', NATIVE_TYPE
'VARCHAR'),
Cardinality long OPTIONS(NAMEINSOURCE '`Cardinality`', NATIVE_TYPE
'BIGINT', FIXED_LENGTH 'TRUE'),
Updated timestamp NOT NULL DEFAULT 'CURRENT_TIMESTAMP' OPTIONS(NAMEINSOURCE
'`Updated`', NATIVE_TYPE 'TIMESTAMP', FIXED_LENGTH 'TRUE'),
LoadNumber long NOT NULL OPTIONS(NAMEINSOURCE '`LoadNumber`', NATIVE_TYPE
'BIGINT', FIXED_LENGTH 'TRUE'),
CONSTRAINT "PRIMARY" PRIMARY KEY(VDBName, VDBVersion, SchemaName, Name)
) OPTIONS(NAMEINSOURCE '`testJDG`.`status`', UPDATABLE 'TRUE')
]]></metadata>
</model>
<model name="CustomerViewModel" type="VIRTUAL">
<property name="imports" value="sourceMSQmodel"/>
<metadata type="DDL"><![CDATA[
CREATE VIEW viewCustomer (
id integer NOT NULL OPTIONS(FIXED_LENGTH 'TRUE'),
name string(100) NOT NULL,
email string(100) NOT NULL,
male boolean NOT NULL OPTIONS(FIXED_LENGTH 'TRUE')
) OPTIONS(UPDATABLE 'TRUE')
AS
SELECT
sourceMSQmodel.testJDG.customers.id, sourceMSQmodel.testJDG.customers.name,
sourceMSQmodel.testJDG.customers.e_mail AS email, sourceMSQmodel.testJDG.customers.male
FROM
sourceMSQmodel.testJDG.customers;
]]></metadata>
</model>
<model name="CustomerViewMat" type="VIRTUAL">
<property name="imports" value="sourceMSQmodel"/>
<metadata type="DDL"><![CDATA[
CREATE VIEW Customer (
id integer NOT NULL OPTIONS(FIXED_LENGTH 'TRUE'),
name string(100) NOT NULL,
email string(100) NOT NULL,
male boolean NOT NULL OPTIONS(FIXED_LENGTH 'TRUE'),
CONSTRAINT pk_id PRIMARY KEY(id)
) OPTIONS(MATERIALIZED 'TRUE', UPDATABLE 'TRUE', MATERIALIZED_TABLE
'CustomerMatCache.Customer', "teiid_rel:ALLOW_MATVIEW_MANAGEMENT"
'TRUE', "teiid_rel:MATVIEW_AFTER_LOAD_SCRIPT" 'execute
CustomerMatCache.native(''swap cache names'');',
"teiid_rel:MATVIEW_STATUS_TABLE" 'sourceMSQmodel.testJDG.status',
"teiid_rel:MATVIEW_TTL" '60000',
"teiid_rel:MATVIEW_BEFORE_LOAD_SCRIPT" 'execute
CustomerMatCache.native(''truncate cache'');',
"teiid_rel:MATVIEW_LOAD_SCRIPT" 'insert into CustomerMatCache.Customer
(name, id, email, male) SELECT name, id, email, male FROM
CustomerViewModel.viewCustomer')
AS
SELECT
*
FROM
CustomerViewModel.viewCustomer ;
]]></metadata>
</model>
</vdb>
{code}
Dynamic VDB should contain full path to the materialized table
--------------------------------------------------------------
Key: TEIIDDES-2930
URL:
https://issues.jboss.org/browse/TEIIDDES-2930
Project: Teiid Designer
Issue Type: Bug
Components: Dynamic VDBs
Affects Versions: 10.0.2
Environment: Fedora 24
Reporter: Matej Kralik
Assignee: Barry LaFond
Fix For: 10.0.2
Attachments: completeJDGproject.zip, customer-cache-table-info.png,
customer-view-info.png, jdgCustomer.zip, screenshot1.png, screenshotProp.png
I have a table (CustomerViewMat.Customer) and I set materialized table to another model
(CustomerMatCache.Customer) (screenshot1) .I create VDB and dynamic VDB. When I want to
deploy this dynamic VDB to the server, server shows me error:
TEIID31088 The materialization table Customer defined on view CustomerViewMat.Customer,
must be defined with "schema" qualifier that represents PHYSICAL model.
I noticed that in the dynamicVDB in the CustomerViewMat model is:
{code:java}
OPTIONS(MATERIALIZED 'TRUE', MATERIALIZED_TABLE 'Customer',
"teiid_rel: ...
{code}
I think that this happens because Customer table is in the CustomerViewMat and
CustomerMatCache too. But in the properties (Screenshot1) is set correctly model.
(CustomerMatCache)
When I set full path, vdb was deployed sucessfully
{code:java}
OPTIONS(MATERIALIZED 'TRUE', MATERIALIZED_TABLE
'CustomerMatCache.Customer', "teiid_rel: ...
{code}
--
This message was sent by Atlassian JIRA
(v7.2.2#72004)