]
Steven Hawkins updated TEIID-6000:
----------------------------------
Parent: (was: TEIID-5977)
Issue Type: Feature Request (was: Sub-task)
Support virtual function inlining
---------------------------------
Key: TEIID-6000
URL:
https://issues.redhat.com/browse/TEIID-6000
Project: Teiid
Issue Type: Feature Request
Components: Query Engine
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Priority: Major
Fix For: 16.0
Original Estimate: 6 hours
Remaining Estimate: 6 hours
Virtual functions defined purely in ddl can be inlined under a given set of
circumstances.
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.