[ https://issues.apache.org/jira/browse/IGNITE-14906?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thibaud Faurie resolved IGNITE-14906. ------------------------------------- Release Note: Missclick : Duplicate of IGNITE-14905 Resolution: Duplicate > SQL GROUP BY Column not found issue > ----------------------------------- > > Key: IGNITE-14906 > URL: https://issues.apache.org/jira/browse/IGNITE-14906 > Project: Ignite > Issue Type: Bug > Components: cache, sql, thin client > Affects Versions: 2.10 > Environment: Ignite server nodes on linux docker containers. > Application executed in linux docker container. > Windows 10 pro : DBeaver, VSCode > My application language : Scala with Apache Ignite Java official library > Reporter: Thibaud Faurie > Priority: Major > > I have a query that I want to execute through SQL API. > I have no issue when I run my Query with DBeaver (via Ignite thin client). > But as soon as I use it in my code with SQL API, it throws an error saying > that column permission_id is not found. > More stranger thing, if I pause execution of my code (which generates an > instance of client node in my cluster) at the SqlFieldsQuery execution step, > the same error can be thrown by DBeaver sometimes (not 100% accurate) > However, I figured out this error only occurs when I use the GROUP BY clause > and some aggregation functions such as GROUP_CONCAT. As soon as I remove > those, it works like a charm. I suspect some bug with H2 and distributed > caches. > Here is my SQL query : > SELECT app_id, app_label, app_version, app_universal_id, app_status, > app_manifest_url, app_store_url, app_created_at, app_updated_at, > CONCAT_WS('||', permission_id, GROUP_CONCAT(content SEPARATOR ';'), code, > language_id, label, GROUP_CONCAT(text_id SEPARATOR ';')) AS info_data, > 'PERMISSION_LANG_VARIANT' AS type_data > FROM ( > SELECT APP.id AS app_id, APP.label AS app_label, PERMISSION.id AS > permission_id, TEXT.content, LANG.code, TEXT.language_id, LANG.label, TEXT.id > AS text_id, APP.version AS app_version, APP.app_universal_id AS > app_universal_id, APP.status AS app_status, APP.manifest_url AS > app_manifest_url, APP.store_url AS app_store_url, APP.created_at AS > app_created_at, APP.updated_at AS app_updated_at > FROM FUSION.APPLICATION AS APP > INNER JOIN FUSION.PERMISSION AS PERMISSION ON APP.id = > PERMISSION.application_id > INNER JOIN FUSION.TEXT AS TEXT ON TEXT.id = PERMISSION.label_text_id > INNER JOIN FUSION.LANGUAGE AS LANG ON TEXT.language_id = LANG.id > UNION ALL > SELECT APP.id AS app_id, APP.label AS app_label, PERMISSION.id AS > permission_id, TEXT.content, LANG.code, TEXT.language_id, LANG.label, TEXT.id > AS text_id, APP.version AS app_version, APP.app_universal_id AS > app_universal_id, APP.status AS app_status, APP.manifest_url AS > app_manifest_url, APP.store_url AS app_store_url, APP.created_at AS > app_created_at, APP.updated_at AS app_updated_at > FROM FUSION.APPLICATION AS APP > INNER JOIN FUSION.PERMISSION AS PERMISSION ON APP.id = > PERMISSION.application_id > INNER JOIN FUSION.TEXT AS TEXT ON TEXT.id = PERMISSION.description_text_id > INNER JOIN FUSION.LANGUAGE AS LANG ON TEXT.language_id = LANG.id > ) > GROUP BY permission_id, language_id > Here is the code I use to execute: > var igniteQuery = new SqlFieldsQuery(queryString) > var query = igniteCache.query(igniteQuery) > query.getAll() -- This message was sent by Atlassian Jira (v8.3.4#803005)