[ 
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)

Reply via email to