[JBoss JIRA] (TEIID-5977) There should be a way to push down a virtual function defined in ddl
by Steven Hawkins (Jira)
[ https://issues.redhat.com/browse/TEIID-5977?page=com.atlassian.jira.plugi... ]
Steven Hawkins commented on TEIID-5977:
---------------------------------------
Thinking about it some more, it might need to be bi-directional - to add support for source functions automatically added by translators using a virtual function you would either need a similar declaration on the virtual function or issue an alter against the source function. I'll see if the latter can work to keep things simple.
> There should be a way to push down a virtual function defined in ddl
> --------------------------------------------------------------------
>
> Key: TEIID-5977
> URL: https://issues.redhat.com/browse/TEIID-5977
> Project: Teiid
> Issue Type: Enhancement
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Priority: Major
> Fix For: 15.0
>
> Original Estimate: 6 hours
> Time Spent: 2 hours
> Remaining Estimate: 4 hours
>
> If you create a function that is defined in ddl, it currently requires that a translator be extended to add a pushdown function and handling. It would be better if there were a way to do this entirely in ddl. This could be either/or:
> 1. when the function is defined by an expression rather than a more complex procedure statement, we should check to see if that can be inlined.
> 2. provide a way to match source functions.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 5 months
[JBoss JIRA] (TEIID-5977) There should be a way to push down a virtual function defined in ddl
by Steven Hawkins (Jira)
[ https://issues.redhat.com/browse/TEIID-5977?page=com.atlassian.jira.plugi... ]
Steven Hawkins updated TEIID-5977:
----------------------------------
Issue Type: Enhancement (was: Bug)
> There should be a way to push down a virtual function defined in ddl
> --------------------------------------------------------------------
>
> Key: TEIID-5977
> URL: https://issues.redhat.com/browse/TEIID-5977
> Project: Teiid
> Issue Type: Enhancement
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Priority: Major
> Fix For: 15.0
>
> Original Estimate: 6 hours
> Time Spent: 2 hours
> Remaining Estimate: 4 hours
>
> If you create a function that is defined in ddl, it currently requires that a translator be extended to add a pushdown function and handling. It would be better if there were a way to do this entirely in ddl. This could be either/or:
> 1. when the function is defined by an expression rather than a more complex procedure statement, we should check to see if that can be inlined.
> 2. provide a way to match source functions.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 5 months
[JBoss JIRA] (TEIID-5977) There should be a way to push down a virtual function defined in ddl
by Steven Hawkins (Jira)
[ https://issues.redhat.com/browse/TEIID-5977?focusedWorklogId=12451799&pag... ]
Steven Hawkins logged work on TEIID-5977:
-----------------------------------------
Author: Steven Hawkins
Created on: 23/Jul/20 8:20 PM
Start Date: 23/Jul/20 8:20 PM
Worklog Time Spent: 2 hours
Issue Time Tracking
-------------------
Remaining Estimate: 4 hours (was: 6 hours)
Time Spent: 2 hours
Worklog Id: (was: 12451799)
> There should be a way to push down a virtual function defined in ddl
> --------------------------------------------------------------------
>
> Key: TEIID-5977
> URL: https://issues.redhat.com/browse/TEIID-5977
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Priority: Major
> Fix For: 15.0
>
> Original Estimate: 6 hours
> Time Spent: 2 hours
> Remaining Estimate: 4 hours
>
> If you create a function that is defined in ddl, it currently requires that a translator be extended to add a pushdown function and handling. It would be better if there were a way to do this entirely in ddl. This could be either/or:
> 1. when the function is defined by an expression rather than a more complex procedure statement, we should check to see if that can be inlined.
> 2. provide a way to match source functions.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 5 months
[JBoss JIRA] (TEIID-5977) There should be a way to push down a virtual function defined in ddl
by Steven Hawkins (Jira)
[ https://issues.redhat.com/browse/TEIID-5977?page=com.atlassian.jira.plugi... ]
Steven Hawkins updated TEIID-5977:
----------------------------------
Original Estimate: 6 hours
Remaining Estimate: 6 hours
Story Points: 1 (was: 0.5)
Sprint: DV Sprint 65, DV Sprint 66 (was: DV Sprint 65)
> There should be a way to push down a virtual function defined in ddl
> --------------------------------------------------------------------
>
> Key: TEIID-5977
> URL: https://issues.redhat.com/browse/TEIID-5977
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Priority: Major
> Fix For: 15.0
>
> Original Estimate: 6 hours
> Remaining Estimate: 6 hours
>
> If you create a function that is defined in ddl, it currently requires that a translator be extended to add a pushdown function and handling. It would be better if there were a way to do this entirely in ddl. This could be either/or:
> 1. when the function is defined by an expression rather than a more complex procedure statement, we should check to see if that can be inlined.
> 2. provide a way to match source functions.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 5 months
[JBoss JIRA] (TEIID-5977) There should be a way to push down a virtual function defined in ddl
by Steven Hawkins (Jira)
[ https://issues.redhat.com/browse/TEIID-5977?page=com.atlassian.jira.plugi... ]
Steven Hawkins commented on TEIID-5977:
---------------------------------------
inlining is possible, but involved. it should be driven/controlled by a hint/option - never inline, aways inline, or only inline after pushdown (similar to our handling of things like concat2 where it's best to pushdown the original function rather than the compensation).
the static analysis of whether the function can be inlined should be done only once - that it's just a return statement with an expression. The parameter expressions would need to be checked to see if anything is non-deterministic (or probably if it contains subcommands) and to disallow the inlining if the parameter is used multiple times in the expression (which could also be determined ahead of time). The rewrite could then handle the appropriate expression mapping.
To match source functions there are a couple of possibilities. One line of thought is that this is similar to the conformed source functionality, such that the virtual function could map to a specific source function that then declared it was conformed to a set of sources - this would effectively be two features conformed sources for functions and a mapping between a virtual function and a source function. However that doesn't quite line up to the primary need here, which is to ddl drive the pushdown of a virtual function which can then give you the native_query handling. The other option is to have source functions declare what virtual function they represent, which could require validation. For example:
create virtual function func ...;
create foreign function source_func ... OPTIONS ("teiid_rel:virtual_function" 'schema.func' "teiid_rel:native_query" '...');
That would then declare the source support and provide the source handling of the function. This would just require some additional logic around pushdown.
> There should be a way to push down a virtual function defined in ddl
> --------------------------------------------------------------------
>
> Key: TEIID-5977
> URL: https://issues.redhat.com/browse/TEIID-5977
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Priority: Major
> Fix For: 15.0
>
>
> If you create a function that is defined in ddl, it currently requires that a translator be extended to add a pushdown function and handling. It would be better if there were a way to do this entirely in ddl. This could be either/or:
> 1. when the function is defined by an expression rather than a more complex procedure statement, we should check to see if that can be inlined.
> 2. provide a way to match source functions.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 5 months
[JBoss JIRA] (TEIID-5965) Allow variables to be used as TextTable delimeters, row delimeters, quote, header, skip rows, and escape characters
by Steven Hawkins (Jira)
[ https://issues.redhat.com/browse/TEIID-5965?page=com.atlassian.jira.plugi... ]
Steven Hawkins updated TEIID-5965:
----------------------------------
Fix Version/s: Backlog
(was: 15.0)
> Allow variables to be used as TextTable delimeters, row delimeters, quote, header, skip rows, and escape characters
> -------------------------------------------------------------------------------------------------------------------
>
> Key: TEIID-5965
> URL: https://issues.redhat.com/browse/TEIID-5965
> Project: Teiid
> Issue Type: Enhancement
> Components: Query Engine
> Affects Versions: 13.1
> Reporter: Dmitrii Pogorelov
> Assignee: Steven Hawkins
> Priority: Minor
> Fix For: Backlog
>
> Original Estimate: 5 hours
> Time Spent: 1 hour
> Remaining Estimate: 4 hours
>
> In the specified example, the delimiter is TAB. Many web APIs allow customization of the delimiter character, and in order to provide a generic parser, sometimes it is way easier to define a delimiter as a variable, and not need to create a long nested structure with IF-THEN-ELSE-IF-ELSE constructs:
> {code:sql}
> Select * From TextTable (
> 'c1 c2
> 1 2'
> Columns
> c1 integer,
> c2 integer
> Delimiter E'\t'
> Header 1
> )x;
> {code}
> Imagine that based on setup on API side (out of our control) the content can be delivered via tab or semicolon, e.g.
> {code}
> c1;c2
> 1;2
> {code}
> or
> {code}
> c1 c2
> 1 2
> {code}
> Let's save this response into a variable and see the code, which we will need to write depending on the setup:
> {code:sql}
> Begin
> ...
> If (delimiter = 'tab')
> Begin
> Select * From TextTable (
> apiResponse
> Columns
> c1 integer,
> c2 integer
> Delimiter E'\t'
> Header 1
> )x;
> End
> Else If (delimiter = 'tab')
> Begin
> Select * From TextTable (
> apiResponse
> Columns
> c1 integer,
> c2 integer
> Delimiter ';'
> Header 1
> )x;
> End
> End
> {code}
> The if-else block is constantly growing, especially if we want to customize quote, escape, delimiter, and row delimiter.
> Thus it would be great if we could make these values configurable. In this case, we could end up with this expected code, which is more readable and more easily customizable:
> {code:sql}
> Begin
> ...
> Declare string delimiter = E'\t';
> Select * From TextTable (
> apiResponse
> Columns
> c1 integer,
> c2 integer
> Delimiter delimiter
> Header 1
> )x;
> End
> {code}
> With a bit of tweaking and certain assumptions, leading in the trust level, we can even read the first line and try to auto-detect the delimiter automatically (e.g. by counting tabs, commas, and semicolons in the first line).
> Please, could you be so kind as to make HEADER and SKIP values customizable (rather than hardcoded numbers)?
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 5 months
[JBoss JIRA] (TEIID-5977) There should be a way to push down a virtual function defined in ddl
by Steven Hawkins (Jira)
[ https://issues.redhat.com/browse/TEIID-5977?page=com.atlassian.jira.plugi... ]
Work on TEIID-5977 started by Steven Hawkins.
---------------------------------------------
> There should be a way to push down a virtual function defined in ddl
> --------------------------------------------------------------------
>
> Key: TEIID-5977
> URL: https://issues.redhat.com/browse/TEIID-5977
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Priority: Major
> Fix For: 15.0
>
>
> If you create a function that is defined in ddl, it currently requires that a translator be extended to add a pushdown function and handling. It would be better if there were a way to do this entirely in ddl. This could be either/or:
> 1. when the function is defined by an expression rather than a more complex procedure statement, we should check to see if that can be inlined.
> 2. provide a way to match source functions.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 5 months
[JBoss JIRA] (TEIID-5974) Can't Use Console to Change Logging Configuration
by Steven Hawkins (Jira)
[ https://issues.redhat.com/browse/TEIID-5974?page=com.atlassian.jira.plugi... ]
Steven Hawkins updated TEIID-5974:
----------------------------------
Fix Version/s: Backlog
(was: 15.0)
> Can't Use Console to Change Logging Configuration
> -------------------------------------------------
>
> Key: TEIID-5974
> URL: https://issues.redhat.com/browse/TEIID-5974
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 12.2
> Reporter: Mike Higgins
> Assignee: Steven Hawkins
> Priority: Minor
> Fix For: Backlog
>
>
> Could be a problem on my end, but Installing this version with Wildfly does not let me access the configuration->logging web console page. It comes up blank. I use this to change the command logging level on a running server.
> Seems to happen in version 13, also.
> I tried using the checkboxes in subsystem>teiid>configure>logging but they did not seem to change the level.
>
> Please let me know if this if reproducible for you.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 5 months
[JBoss JIRA] (TEIID-5999) OData does not handle variadic parameters
by Steven Hawkins (Jira)
Steven Hawkins created TEIID-5999:
-------------------------------------
Summary: OData does not handle variadic parameters
Key: TEIID-5999
URL: https://issues.redhat.com/browse/TEIID-5999
Project: Teiid
Issue Type: Quality Risk
Components: OData
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Fix For: Backlog
A variadic procedure parameter will be treated as a single parameter instead. It's possible to map a procedure with a collection parameter as well (and even a procedure without the variadic parameter) to account for other possible invocations.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 5 months
[JBoss JIRA] (TEIID-5736) General odata function mapping
by Steven Hawkins (Jira)
[ https://issues.redhat.com/browse/TEIID-5736?focusedWorklogId=12451796&pag... ]
Steven Hawkins logged work on TEIID-5736:
-----------------------------------------
Author: Steven Hawkins
Created on: 23/Jul/20 11:19 AM
Start Date: 23/Jul/20 11:19 AM
Worklog Time Spent: 2 hours
Issue Time Tracking
-------------------
Remaining Estimate: 0 minutes
Time Spent: 2 hours
Worklog Id: (was: 12451796)
> General odata function mapping
> ------------------------------
>
> Key: TEIID-5736
> URL: https://issues.redhat.com/browse/TEIID-5736
> Project: Teiid
> Issue Type: Quality Risk
> Components: OData
> Reporter: Steven Hawkins
> Priority: Major
> Fix For: 15.0
>
> Time Spent: 2 hours
> Remaining Estimate: 0 minutes
>
> We are currently mapping procedures and functions defined by ddl to odata functions/actions. The latter is due that the function is represented in our system metadata as a procedure. We need to decide if all functions should be mapped. There's also the notion of a composable function that could be helpful.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 5 months