[JBoss JIRA] (TEIID-2558) Add translator support for dependent join pushdown
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2558?page=com.atlassian.jira.plugin... ]
Steven Hawkins edited comment on TEIID-2558 at 7/13/13 6:31 AM:
----------------------------------------------------------------
The array method above is reasonably performant when a cardinality hint is added, but it is a somewhat limiting approach. The full array must be held in memory (which may be reasonable for even joins with millions of rows that use a single/simple join column) and anything other than a single number/string join would require the creation of an appropriate array/struct type to hold the key data.
One possible approach would be to assume that appropriate global temporary tables have already been created possibly by us at deployment type - but given the possible type combinations and possible multiple appearances of dependent sets in a given source query that seems unpalatable.
was (Author: shawkins):
The array method above is reasonably performant when a cardinality hint is added, but it is a somewhat limiting approach. The full array must be held in memory (which may be reasonable for even joins with millions of rows that use a single/simple join column) and any single number/string join would require the creation of an appropriate array/struct type to hold the key data.
One possible approach would be to assume that appropriate global temporary tables have already been created possibly by us at deployment type - but given the possible type combinations and possible multiple appearances of dependent sets in a given source query that seems unpalatable.
> Add translator support for dependent join pushdown
> --------------------------------------------------
>
> Key: TEIID-2558
> URL: https://issues.jboss.org/browse/TEIID-2558
> Project: Teiid
> Issue Type: Sub-task
> Components: Connector API
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 8.5
>
>
> JDBC translators should offer built-in support for dependent join pushdown - possibly with index creation and other options.
--
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
11 years, 5 months
[JBoss JIRA] (TEIID-2558) Add translator support for dependent join pushdown
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2558?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-2558:
---------------------------------------
The array method above is reasonably performant when a cardinality hint is added, but it is a somewhat limiting approach. The full array must be held in memory (which may be reasonable for even joins with millions of rows that use a single/simple join column) and any single number/string join would require the creation of an appropriate array/struct type to hold the key data.
One possible approach would be to assume that appropriate global temporary tables have already been created possibly by us at deployment type - but given the possible type combinations and possible multiple appearances of dependent sets in a given source query that seems unpalatable.
> Add translator support for dependent join pushdown
> --------------------------------------------------
>
> Key: TEIID-2558
> URL: https://issues.jboss.org/browse/TEIID-2558
> Project: Teiid
> Issue Type: Sub-task
> Components: Connector API
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 8.5
>
>
> JDBC translators should offer built-in support for dependent join pushdown - possibly with index creation and other options.
--
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
11 years, 5 months
[JBoss JIRA] (TEIID-2577) Translator API to provide session backed connection
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-2577?page=com.atlassian.jira.plugin... ]
Ramesh Reddy commented on TEIID-2577:
-------------------------------------
Mark - I understand your motivation for the feature, but I am only questioning request as feature supported by Teiid. I do not know the security implications but I rather see Teiid provide akin to "SET SESSION AUTHORIZATION" style command to assume the session identification on a *local* connection.
> Translator API to provide session backed connection
> ---------------------------------------------------
>
> Key: TEIID-2577
> URL: https://issues.jboss.org/browse/TEIID-2577
> Project: Teiid
> Issue Type: Feature Request
> Reporter: Mark Addleman
> Assignee: Steven Hawkins
>
> Provide an API (probably from an ExecutionContext) to obtain a JDBC connection to the same Teiid instance under the client's session.
--
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
11 years, 5 months
[JBoss JIRA] (TEIID-2577) Translator API to provide session backed connection
by Mark Addleman (JIRA)
[ https://issues.jboss.org/browse/TEIID-2577?page=com.atlassian.jira.plugin... ]
Mark Addleman commented on TEIID-2577:
--------------------------------------
Ramesh - The motivation isn't so much that we didn't want caching in the translator layer. The issue is that the client doesn't know the *logical* schema of the stored procedure. The *logical* schema is determined by the translator & data source. Therefore, we need a level of indirection and a way to implement that indirection. Using traditional SQL constructs, we were trying to implement the indirection by a VARCHAR column containing a SELECT statement. The SELECT statement could have been a constant UNION of all the rows returned by the data source but, obviously, that would be unwieldy. Instead, we thought to have the translator populate a temp table and return a SELECT statement against that temp table.
Ultimately, I think this is entirely the wrong approach. Instead, our stored procedure should return an XML document of the result set from the data source. Then, the client can populate a temp table with the results.
> Translator API to provide session backed connection
> ---------------------------------------------------
>
> Key: TEIID-2577
> URL: https://issues.jboss.org/browse/TEIID-2577
> Project: Teiid
> Issue Type: Feature Request
> Reporter: Mark Addleman
> Assignee: Steven Hawkins
>
> Provide an API (probably from an ExecutionContext) to obtain a JDBC connection to the same Teiid instance under the client's session.
--
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
11 years, 5 months
[JBoss JIRA] (TEIID-2577) Translator API to provide session backed connection
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-2577?page=com.atlassian.jira.plugin... ]
Ramesh Reddy commented on TEIID-2577:
-------------------------------------
Bringing the client semantics to the translation layer is an anti-pattern to me, the connection is needed to either do further work that should have handled before the request got to the translator layer, or based on the current execution further work is needs to be queued.
If I am understanding the forum text correctly, the need for temp table arises because they did not want write caching facilities at translator layer, instead the job delegated back to engine to use a temp table. Now to use session scoped temp table we are saying we need the same connection back. It seems like we are driving towards what may be a context aware stateless connector execution to state-full execution. Correct me if I am wrong, but providing this as feature at API level does not seem correct to me.
> Translator API to provide session backed connection
> ---------------------------------------------------
>
> Key: TEIID-2577
> URL: https://issues.jboss.org/browse/TEIID-2577
> Project: Teiid
> Issue Type: Feature Request
> Reporter: Mark Addleman
> Assignee: Steven Hawkins
>
> Provide an API (probably from an ExecutionContext) to obtain a JDBC connection to the same Teiid instance under the client's session.
--
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
11 years, 5 months