[teiid-issues] [JBoss JIRA] (TEIID-3725) In the JDG translators, enable named cache swapping so that materialization can be supported
Van Halbert (JIRA)
issues at jboss.org
Mon Nov 23 18:29:00 EST 2015
[ https://issues.jboss.org/browse/TEIID-3725?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13132955#comment-13132955 ]
Van Halbert edited comment on TEIID-3725 at 11/23/15 6:28 PM:
--------------------------------------------------------------
Looking at an example of dynamic vdb and materialization:
...
MATERIALIZED_TABLE 'Accounts.h2_stock_mat',
"teiid_rel:MATVIEW_TTL" 60000,
"teiid_rel:MATVIEW_BEFORE_LOAD_SCRIPT" 'execute accounts.native(''truncate table mat_stock_staging'');',
"teiid_rel:MATVIEW_AFTER_LOAD_SCRIPT" 'execute accounts.native(''ALTER TABLE h2_stock_mat RENAME TO h2_stock_mat_temp'');execute accounts.native(''ALTER TABLE mat_stock_staging RENAME TO h2_stock_mat'');execute accounts.native(''ALTER TABLE h2_stock_mat_temp RENAME TO mat_stock_staging'');',
"teiid_rel:ON_VDB_DROP_SCRIPT" 'DELETE FROM Accounts.status WHERE Name=''stockPricesMatView'' AND schemaname = ''StocksMatModel''',
"teiid_rel:MATERIALIZED_STAGE_TABLE" 'Accounts.mat_stock_staging',
"teiid_rel:ALLOW_MATVIEW_MANAGEMENT" 'true',
"teiid_rel:MATVIEW_STATUS_TABLE" 'status',
"teiid_rel:MATVIEW_SHARE_SCOPE" 'NONE',
"teiid_rel:MATVIEW_ONERROR_ACTION" 'THROW_EXCEPTION')
...
What about supporting native calls to be caught by the translator to swap the names? Or maybe a pushed down function call that the translator caught to swap the cache?
By using similar options related to using the above properties would keep it consistent, regardless type of data source used.
was (Author: van.halbert):
Looking at an example of dynamic vdb and materialization:
...
MATERIALIZED_TABLE 'Accounts.h2_stock_mat',
"teiid_rel:MATVIEW_TTL" 60000,
"teiid_rel:MATVIEW_BEFORE_LOAD_SCRIPT" 'execute accounts.native(''truncate table mat_stock_staging'');',
"teiid_rel:MATVIEW_AFTER_LOAD_SCRIPT" 'execute accounts.native(''ALTER TABLE h2_stock_mat RENAME TO h2_stock_mat_temp'');execute accounts.native(''ALTER TABLE mat_stock_staging RENAME TO h2_stock_mat'');execute accounts.native(''ALTER TABLE h2_stock_mat_temp RENAME TO mat_stock_staging'');',
"teiid_rel:ON_VDB_DROP_SCRIPT" 'DELETE FROM Accounts.status WHERE Name=''stockPricesMatView'' AND schemaname = ''StocksMatModel''',
"teiid_rel:MATERIALIZED_STAGE_TABLE" 'Accounts.mat_stock_staging',
"teiid_rel:ALLOW_MATVIEW_MANAGEMENT" 'true',
"teiid_rel:MATVIEW_STATUS_TABLE" 'status',
"teiid_rel:MATVIEW_SHARE_SCOPE" 'NONE',
"teiid_rel:MATVIEW_ONERROR_ACTION" 'THROW_EXCEPTION')
...
What about supporting native calls to be caught by the translator to swap the names? Or maybe a pushed down function call that the translator caught to swap the cache?
By using similar options that are used for relational sources would keep it consistent, regardless type of data source used.
> In the JDG translators, enable named cache swapping so that materialization can be supported
> --------------------------------------------------------------------------------------------
>
> Key: TEIID-3725
> URL: https://issues.jboss.org/browse/TEIID-3725
> Project: Teiid
> Issue Type: Feature Request
> Components: Misc. Connectors
> Affects Versions: 8.12
> Reporter: Van Halbert
> Assignee: Van Halbert
>
> The JDG translators, that in order to support materialization, will need to enable the named cache that's referenced by the connection, to be swapped. This is due to JDG doesn't currently support renaming a cache (i.e., like table rename in JDBC). And because of that, it limits how the cache can be refreshed (don't want to clear it before re-loading).
> Ideas are:
> 1. configure translator with the 2 cache names to use (a) initial cache to read from and (b) the staging cache to use
> perform materialize load
> call SYSADMIN.setProperty to trigger the swapping of the cache names
> 2 ???
> Note: because there's no persistence in Teiid so that any cache name changes will outlive a server restart, when a restart occurs, the translator will read from the cache identified as the initial cache to read from.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
More information about the teiid-issues
mailing list