[
https://issues.apache.org/jira/browse/IGNITE-4035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15548806#comment-15548806
]
Andrew Mashenkov commented on IGNITE-4035:
------------------------------------------
I've noticed we have some cache in GridSqlQueryParser, but it was useless for
me. I have no cache hit running query above.
It looks like GridSqlQueryParser use IdentityHashMap because of Expression
objects do not realize equality contract. So it fully rely on H2 query
optimizer.
It wiil be nice to have a workaround here.
> SQL: Avoid excessive calls of deterministic functions on same arguments
> -----------------------------------------------------------------------
>
> Key: IGNITE-4035
> URL: https://issues.apache.org/jira/browse/IGNITE-4035
> Project: Ignite
> Issue Type: Sub-task
> Components: SQL
> Affects Versions: 1.6, 1.7
> Reporter: Andrew Mashenkov
> Labels: performance
>
> In sql query example below, heavy "datediff" deterministic function will be
> called 4 times per row. I'd expect function call once per row.
> It seems deterministic flag semantic is broken.
> Example:
> {noformat}
> Select
> avg(datediff('s',ts1,ts2)) as avg_diff,
> min(datediff('s',ts1,ts2)) as min_diff,
> max(datediff('s',ts1,ts2)) as max_diff
> From table
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)