You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "David Rorke (Jira)" <ji...@apache.org> on 2020/04/01 01:11:00 UTC
[jira] [Created] (IMPALA-9589) Parser failures on valid SQL
David Rorke created IMPALA-9589:
-----------------------------------
Summary: Parser failures on valid SQL
Key: IMPALA-9589
URL: https://issues.apache.org/jira/browse/IMPALA-9589
Project: IMPALA
Issue Type: Bug
Components: Frontend
Affects Versions: Impala 3.3.0
Reporter: David Rorke
The impala parser fails to parse the following valid SQL:
{noformat}
SELECT
*
FROM
(
(
SELECT
`sr_item_sk`,
`sr_reason_sk`,
`sr_ticket_number`,
`sr_return_quantity`
FROM
`tpcds_10000_decimal_parquet`.`store_returns`
WHERE
`sr_reason_sk` IS NOT NULL
) AS `t1`
INNER JOIN (
SELECT
`r_reason_sk`
FROM
`tpcds_10000_decimal_parquet`.`reason`
WHERE
`r_reason_desc` = 'reason 66'
) AS `t3` ON `t1`.`sr_reason_sk` = `t3`.`r_reason_sk`
);
ERROR: ParseException: Syntax error in line 14:
) AS `t1`
^
Encountered: AS
Expected: LIMIT, ORDER, UNION
{noformat}
The query parses fine when you remove the outer set of parentheses:
{noformat}
SELECT
*
FROM
(
SELECT
`sr_item_sk`,
`sr_reason_sk`,
`sr_ticket_number`,
`sr_return_quantity`
FROM
`tpcds_10000_decimal_parquet`.`store_returns`
WHERE
`sr_reason_sk` IS NOT NULL
) AS `t1`
INNER JOIN (
SELECT
`r_reason_sk`
FROM
`tpcds_10000_decimal_parquet`.`reason`
WHERE
`r_reason_desc` = 'reason 66'
) AS `t3` ON `t1`.`sr_reason_sk` = `t3`.`r_reason_sk`;
{noformat}
The failing query is a simplified subset of the following query (a rewrite of TPC-DS query 93) which also fails to parse:
{noformat}
Query: SELECT `t`.`ss_customer_sk`,
SUM(
CASE WHEN `t1`.`sr_return_quantity` IS NOT NULL THEN CAST(
`t`.`ss_quantity` - `t1`.`sr_return_quantity` AS DECIMAL(10, 0)
) * `t`.`ss_sales_price` ELSE CAST(
`t`.`ss_quantity` AS DECIMAL(10, 0)
) * `t`.`ss_sales_price` END
) AS `$f1`
FROM
(
SELECT
`ss_item_sk`,
`ss_customer_sk`,
`ss_ticket_number`,
`ss_quantity`,
`ss_sales_price`
FROM
`tpcds_10000_decimal_parquet`.`store_sales`
) AS `t`
INNER JOIN (
(
SELECT
`sr_item_sk`,
`sr_reason_sk`,
`sr_ticket_number`,
`sr_return_quantity`
FROM
`tpcds_10000_decimal_parquet`.`store_returns`
WHERE
`sr_reason_sk` IS NOT NULL
) AS `t1`
INNER JOIN (
SELECT
`r_reason_sk`
FROM
`tpcds_10000_decimal_parquet`.`reason`
WHERE
`r_reason_desc` = 'reason 66'
) AS `t3` ON `t1`.`sr_reason_sk` = `t3`.`r_reason_sk`
) ON `t`.`ss_item_sk` = `t1`.`sr_item_sk`
AND `t`.`ss_ticket_number` = `t1`.`sr_ticket_number`
GROUP BY
`t`.`ss_customer_sk`
ORDER BY
SUM(
CASE WHEN `t1`.`sr_return_quantity` IS NOT NULL THEN CAST(
`t`.`ss_quantity` - `t1`.`sr_return_quantity` AS DECIMAL(10, 0)
) * `t`.`ss_sales_price` ELSE CAST(
`t`.`ss_quantity` AS DECIMAL(10, 0)
) * `t`.`ss_sales_price` END
),
`t`.`ss_customer_sk`
LIMIT
100
Query submitted at: 2020-03-31 18:04:21 (Coordinator: https://drorke-dm-perf-coordinator3.drorke-d.xcu2-8y8x.dev.cldr.work:25000)
ERROR: ParseException: Syntax error in line 31:
) AS `t1`
^
Encountered: AS
Expected: LIMIT, ORDER, UNION
{noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org