[teiid-issues] [JBoss JIRA] (TEIID-5714) Can't push cross source function

Steven Hawkins (Jira) issues at jboss.org
Thu Apr 4 17:05:00 EDT 2019


     [ https://issues.jboss.org/browse/TEIID-5714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steven Hawkins updated TEIID-5714:
----------------------------------
    Workaround Description: 

An ugly workaround would be to use a procedure:

begin  
  create local temporary table t (c bigdecimal);  
  loop on (SELECT TAB1.STRINGCOL, TAB1.DATE FROM MODEL2.TABLE1 TAB1) as x  
  begin  
     insert into t values (MODEL1."dbo.examplefunc"(STRINGCOL, DATE, TRUE) );  
  end  
   select * from t;  
end  
 

If there is another source table on MODEL1 another slightly less ugly workaround would be to use a subquery associated with MODEL1:

SELECT (SELECT MODEL1."dbo.examplefunc"(TAB1.STRINGCOL, TAB1.DATE, TRUE) FROM MODEL1.TABLEX LIMIT 1) MODEL2.TABLE1 TAB1


> Can't push cross source function
> --------------------------------
>
>                 Key: TEIID-5714
>                 URL: https://issues.jboss.org/browse/TEIID-5714
>             Project: Teiid
>          Issue Type: Bug
>          Components: Query Engine
>            Reporter: Steven Hawkins
>            Assignee: Steven Hawkins
>            Priority: Major
>             Fix For: 12.2, 12.1.1
>
>
> With two sources, MODEL1 and MODEL2, with a function on MODEL1:
> CREATE FOREIGN FUNCTION "dbo.examplefunc"(col1 string, col2 date, col3 boolean) returns bigdecimal;
>  
> A query of the function against only a table on MODEL2 will fail with "cannot be pushed to source":
> SELECT MODEL1."dbo.examplefunc"(TAB1.STRINGCOL, TAB1.DATE, TRUE) FROM MODEL2.TABLE1 TAB1



--
This message was sent by Atlassian Jira
(v7.12.1#712002)


More information about the teiid-issues mailing list