You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafodion.apache.org by "Hans Zeller (JIRA)" <ji...@apache.org> on 2017/05/10 20:55:04 UTC

[jira] [Commented] (TRAFODION-2611) Input parameters and current functions in input tables of TMUDFs

    [ https://issues.apache.org/jira/browse/TRAFODION-2611?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16005395#comment-16005395 ] 

Hans Zeller commented on TRAFODION-2611:
----------------------------------------

The bug is in TableMappingUDF::recomputeOuterReferences(). The outputs of the child query (including current_timestamp in this example) are stored in the TableMappingUDF node. It must add any outer references from these expressions to its own characteristic inputs.

> Input parameters and current functions in input tables of TMUDFs
> ----------------------------------------------------------------
>
>                 Key: TRAFODION-2611
>                 URL: https://issues.apache.org/jira/browse/TRAFODION-2611
>             Project: Apache Trafodion
>          Issue Type: Bug
>    Affects Versions: 2.0-incubating
>         Environment: any
>            Reporter: Hans Zeller
>            Assignee: Hans Zeller
>             Fix For: 2.2-incubating
>
>         Attachments: EchoUdf.cpp
>
>
> When the input of a table-mapping UDF (TMUDF) contains a parameter or a function that should be evaluated only once, such as current_timestamp, we do not always set up the correct data flow. This is visible, for example, when using a parallel UDF query that has "current_timestamp" as an input:
> {noformat}
> control query shape esp_exchange(cut,4);
> select * from udf(echo(table(select current_timestamp from tsrc <<+cardinality 1e9>>)));
> execute s;
> {noformat}
> This query could return different timestamps, which is wrong, all rows should have the same timestamp.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)