[JBoss JIRA] (TEIID-2381) Expanded source hint support
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2381?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-2381.
-----------------------------------
Fix Version/s: 8.5
(was: 8.4.1)
Resolution: Partially Completed
Checked into 8.5 since this is a sizable change and may have follow-on changes. Can be pulled into 8.4.1 if needed.
The change allows for the source hint to appear in any query (with, subquery, etc.), not just a user level query. And any usage of a source hint in a view will be preserved and a list of all applicable hints will be sent to the ExecutionContext (getHints and getGeneralHints). The getHint and getGeneralHint methods still exist and will return a space concatenated string of the applicable hints.
No attempt was made in the source hint of either directing if the top level hint should effectively override lower hints nor to add a general global syntax for hint application. As such this still remains a somewhat crude mechanism in situations involving multiple source queries to the same source.
There is also a behavior change here in that the source hint will no longer be applicable to procedure plans and non-merged subqueries (that is any scalar/exists/in that is not rewriten as a join). With clause items, inline, and the those queries that are transitively exposed by view access are all considered affected by the source hint and will accumulate in a single hint. For example:
WITH x as (SELECT /*+ sh:'x' */ e1 from pm1.g2) SELECT /*+ sh:'foo' bar:'leading' */ g1.e1 from pm1.g1, x where g1.e1 = x.e1 order by g1.e1 limit 1
If it is pushed as a single query will then the pushdown would effectively be:
WITH x as (SELECT e1 from pm1.g2) SELECT /*+ sh:'foo x' bar:'leading' */ g1.e1 from pm1.g1, x where g1.e1 = x.e1 order by g1.e1 limit 1
Note the combination of the general hints in the main select (which is considered the root query). It may alternatively be desirable to keep the source hint in the nearest query and altering the translator sql objects rather than squashing to a single hint on the ExecutionContext - however with non-preserved views we are forced to merge the hint upward and we just assuming that WITH should be treated the same way.
If pushed as two queries, we have:
SELECT /*+ sh:'x' */ e1 from pm1.g2
and
SELECT /*+ sh:'foo' bar:'leading' */ g1.e1 from pm1.g1
At some point OPTION MAKE [NOT] DEP, NO CACHE, and the source hint mechanism need to be rationalized (see also TEIID-2263) and have the specification syntax expanded so that the user can be more exacting as to where the hint is applicable.
> Expanded source hint support
> ----------------------------
>
> Key: TEIID-2381
> URL: https://issues.jboss.org/browse/TEIID-2381
> Project: Teiid
> Issue Type: Enhancement
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 8.5
>
> Attachments: HintsExecutionFactory.java, RandomExecutionFactory.java, RandomNumberStoredProcedureExecution.java, SysviewHintsExecutionTest.java
>
>
> We currently look at the source hint in only the root user query (not in subqueries nor the with clause) and only consider it in a very narrow set of circumstances when it's used in a view.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 10 months
[JBoss JIRA] (TEIID-2398) Web console in domain mode loose active servers and shows just inactive ones
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-2398?page=com.atlassian.jira.plugin... ]
Ramesh Reddy commented on TEIID-2398:
-------------------------------------
FYI, I am planning on a release tomorrow on this, so if you can check I can include any fixes that are needed
> Web console in domain mode loose active servers and shows just inactive ones
> ----------------------------------------------------------------------------
>
> Key: TEIID-2398
> URL: https://issues.jboss.org/browse/TEIID-2398
> Project: Teiid
> Issue Type: Bug
> Components: Web Console
> Affects Versions: 8.2
> Environment: Centos 6.3, JBoss 7.1.1 TEIID 8.2, Java 1.6
> Reporter: luca gioppo
> Assignee: Ramesh Reddy
> Labels: console, domain, web
> Fix For: 8.4
>
> Attachments: teiid-console-dist-1.1.0-SNAPSHOT-jboss-as7.zip, teiid.png, teiid2.png, teiid3.png, teiid4.png, teiid5.png
>
>
> I have a domain environment (for now just one host with both the domain controllere and tow servers instances) with two server groups and one servre in each group; it will be configured to be in HA.
> I added the web console to the installation (copyed the stuff in the folder and hope this was the correct way of doing)
> When I go to the runtime only the stopped server are present and canno select the running one.
> This makes the console un-usable since not choosing the server stop all other activity with errors.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 10 months
[JBoss JIRA] (TEIID-2539) Add "allow-join" metadata based join processing on Foreign keys
by Ramesh Reddy (JIRA)
Ramesh Reddy created TEIID-2539:
-----------------------------------
Summary: Add "allow-join" metadata based join processing on Foreign keys
Key: TEIID-2539
URL: https://issues.jboss.org/browse/TEIID-2539
Project: Teiid
Issue Type: Enhancement
Components: Query Engine
Reporter: Ramesh Reddy
Assignee: Steven Hawkins
Fix For: 8.4.1
MongoDB source generally does not support any joins between it collection of documents. However, one document can be embedded in other parent document, then those documents can be viewed as JOIN based documents.
Teiid's MongoDB translator takes the above as an approach to define each collection as a table, and provides ways to embed related tables into parent document for supporting the JOIN in SQL.
However, there may be situations, there is PK-FK relation between two tables, but they are not embeded, in those situations based on the capabilities of translator the query engine still pushes the join into translator for processing, but translator can not handle the join. In these situations, where the collections are not embedded the query engine need to behave as if translator does not support JOIN.
The proposal here is to add a extension metadata on FOREIGN KEY called "allow-joins=false", which query engine will consult along with the capabilities of the translator before it pushes the JOIN to the source translator.
This would be useful in non-relational translators to selectively support JOINS where possible.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 10 months