[ 
https://issues.apache.org/jira/browse/DRILL-7237?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Volodymyr Vysotskyi updated DRILL-7237:
---------------------------------------
    Description: 
*Description:*
The following issue can be reproduced on the fix for the 
[DRILL-7050|https://issues.apache.org/jira/browse/DRILL-7050].

_For the query with > 1 row in subquery results where the data type of these 
results *is not varchar*:_
{noformat}
SELECT
  e.full_name,
  (
    SELECT
      ine.employee_id
    FROM
      cp.`employee.json` ine
    WHERE
      ine.position_id = e.position_id
  ) as empl_id
FROM
  cp.`employee.json` e
LIMIT 20
{noformat}

_We have the following correct and informative error:_
{noformat}
Query Failed: An Error Occurred
org.apache.drill.common.exceptions.UserRemoteException: FUNCTION ERROR: Input 
for single_value function has more than one row Fragment 0:0 [Error Id: 
b770098f-b1c7-4647-9f41-9e986a0e47b7 on maprhost:31010]
{noformat}

_But when in the result set of the subquery we have *a varchar data type*:_
{noformat}
SELECT
  e.full_name,
  (
    SELECT
      ine.first_name
    FROM
      cp.`employee.json` ine
    WHERE
      ine.position_id = e.position_id
  ) as empl_id
FROM
  cp.`employee.json` e
LIMIT 20
{noformat}

*Actual result:*
_Drill throws the following error:_
{noformat}
org.apache.drill.common.exceptions.UserRemoteException: SYSTEM ERROR: 
IllegalStateException: Workspace variable 'value' in aggregation function 
'single_value' is not allowed to have variable length type. Fragment 0:0 
Please, refer to logs for more information. [Error Id: 
32325ba9-d2b3-4216-acf6-8e80dfe4a56a on maprhost:31010]
{noformat}
Log file is in the attachment "drillbit.log"

*Expected result:*
Drill should return the same informative error to any of a data types in the 
subquery result set.

  was:
*Description:*
The following issue can be reproduced on the EBF for the 
[DRILL-7050|https://issues.apache.org/jira/browse/DRILL-7050].

_For the query with > 1 row in subquery results where the data type of these 
results *is not varchar*:_
{noformat}
SELECT
  e.full_name,
  (
    SELECT
      ine.employee_id
    FROM
      cp.`employee.json` ine
    WHERE
      ine.position_id = e.position_id
  ) as empl_id
FROM
  cp.`employee.json` e
LIMIT 20
{noformat}

_We have the following correct and informative error:_
{noformat}
Query Failed: An Error Occurred
org.apache.drill.common.exceptions.UserRemoteException: FUNCTION ERROR: Input 
for single_value function has more than one row Fragment 0:0 [Error Id: 
b770098f-b1c7-4647-9f41-9e986a0e47b7 on maprhost:31010]
{noformat}

_But when in the result set of the subquery we have *a varchar data type*:_
{noformat}
SELECT
  e.full_name,
  (
    SELECT
      ine.first_name
    FROM
      cp.`employee.json` ine
    WHERE
      ine.position_id = e.position_id
  ) as empl_id
FROM
  cp.`employee.json` e
LIMIT 20
{noformat}

*Actual result:*
_Drill throws the following error:_
{noformat}
org.apache.drill.common.exceptions.UserRemoteException: SYSTEM ERROR: 
IllegalStateException: Workspace variable 'value' in aggregation function 
'single_value' is not allowed to have variable length type. Fragment 0:0 
Please, refer to logs for more information. [Error Id: 
32325ba9-d2b3-4216-acf6-8e80dfe4a56a on maprhost:31010]
{noformat}
Log file is in the attachment "drillbit.log"

*Expected result:*
Drill should return the same informative error to any of a data types in the 
subquery result set.


> IllegalStateException in aggregation function 'single_value' when there is a 
> varchar datatype in the subquery results
> ---------------------------------------------------------------------------------------------------------------------
>
>                 Key: DRILL-7237
>                 URL: https://issues.apache.org/jira/browse/DRILL-7237
>             Project: Apache Drill
>          Issue Type: Bug
>    Affects Versions: 1.14.0, 1.15.0
>            Reporter: Denys Ordynskiy
>            Assignee: Volodymyr Vysotskyi
>            Priority: Major
>             Fix For: 1.17.0
>
>         Attachments: drillbit.log
>
>
> *Description:*
> The following issue can be reproduced on the fix for the 
> [DRILL-7050|https://issues.apache.org/jira/browse/DRILL-7050].
> _For the query with > 1 row in subquery results where the data type of these 
> results *is not varchar*:_
> {noformat}
> SELECT
>   e.full_name,
>   (
>     SELECT
>       ine.employee_id
>     FROM
>       cp.`employee.json` ine
>     WHERE
>       ine.position_id = e.position_id
>   ) as empl_id
> FROM
>   cp.`employee.json` e
> LIMIT 20
> {noformat}
> _We have the following correct and informative error:_
> {noformat}
> Query Failed: An Error Occurred
> org.apache.drill.common.exceptions.UserRemoteException: FUNCTION ERROR: Input 
> for single_value function has more than one row Fragment 0:0 [Error Id: 
> b770098f-b1c7-4647-9f41-9e986a0e47b7 on maprhost:31010]
> {noformat}
> _But when in the result set of the subquery we have *a varchar data type*:_
> {noformat}
> SELECT
>   e.full_name,
>   (
>     SELECT
>       ine.first_name
>     FROM
>       cp.`employee.json` ine
>     WHERE
>       ine.position_id = e.position_id
>   ) as empl_id
> FROM
>   cp.`employee.json` e
> LIMIT 20
> {noformat}
> *Actual result:*
> _Drill throws the following error:_
> {noformat}
> org.apache.drill.common.exceptions.UserRemoteException: SYSTEM ERROR: 
> IllegalStateException: Workspace variable 'value' in aggregation function 
> 'single_value' is not allowed to have variable length type. Fragment 0:0 
> Please, refer to logs for more information. [Error Id: 
> 32325ba9-d2b3-4216-acf6-8e80dfe4a56a on maprhost:31010]
> {noformat}
> Log file is in the attachment "drillbit.log"
> *Expected result:*
> Drill should return the same informative error to any of a data types in the 
> subquery result set.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to