You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Nikita Amelchev (Jira)" <ji...@apache.org> on 2025/10/01 06:56:00 UTC
[jira] [Updated] (IGNITE-26404) H2QueryInfo#planWithoutScanCount does not consider all cases
[ https://issues.apache.org/jira/browse/IGNITE-26404?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nikita Amelchev updated IGNITE-26404:
-------------------------------------
Fix Version/s: 2.18
> H2QueryInfo#planWithoutScanCount does not consider all cases
> ------------------------------------------------------------
>
> Key: IGNITE-26404
> URL: https://issues.apache.org/jira/browse/IGNITE-26404
> Project: Ignite
> Issue Type: Bug
> Reporter: Aleksandr Chesnokov
> Assignee: Aleksandr Chesnokov
> Priority: Major
> Labels: ise
> Fix For: 2.18
>
> Time Spent: 1h
> Remaining Estimate: 0h
>
> {{H2QueryInfo#planWithoutScanCount}} does not consider all cases:
> 1) It deletes only the first occurrence of the {{scanCount}} field, but there can be several occurrences (e.g. in {{{}UNION{}}})
> 2) Sometimes {{scanCount}} is located inside {{/++ ... ++/}} comments, not in {{/* ... */}}
> As a result, it generates local plans for perfStat that differ only by {{{}scanCount{}}}, which makes {{perfStat}} heavier
> An example is given below.
> Before:
>
> {noformat}
> SELECT
> u.id,
> u.name
> FROM users u
> WHERE u.active = true
> /* scanCount: 1 */
> UNION ALL
> SELECT
> c.id,
> c.contact_name
> FROM customers c
> WHERE c.status = 'VIP';
> /++ scanCount: 3 ++/
> {noformat}
> After:
> {noformat}
> SELECT
> u.id,
> u.name
> FROM users u
> WHERE u.active = true
> UNION ALL
> SELECT
> c.id,
> c.contact_name
> FROM customers c
> WHERE c.status = 'VIP';
> {noformat}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)