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 "Quanlong Huang (Jira)" <ji...@apache.org> on 2021/03/30 07:24:00 UTC
[jira] [Commented] (IMPALA-3096) Incorrect subquery rewrite leads
to analysis error
[ https://issues.apache.org/jira/browse/IMPALA-3096?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17311215#comment-17311215 ]
Quanlong Huang commented on IMPALA-3096:
----------------------------------------
A similar issue reported by a community user:
{code:sql}
create table t_data(col1 string, col2 string);
create table t_pattern(col3 string);
select * from t_data where exists (select * from t_pattern where regexp_like(t_data.col2, t_pattern.col3));
ERROR: AnalysisException: No matching function with signature: regexp_like(BOOLEAN, STRING).
{code}
This still happens in master branch. The stacktrace is
{code:java}
I0330 15:20:31.251899 28503 jni-util.cc:286] df45209b1cf8abbf:eee7212d00000000] org.apache.impala.common.AnalysisException: No matching function with signature: regexp_like(BOOLEAN, STRING).
at org.apache.impala.analysis.FunctionCallExpr.analyzeImpl(FunctionCallExpr.java:622)
at org.apache.impala.analysis.Expr.analyze(Expr.java:503)
at org.apache.impala.analysis.SelectStmt$SelectAnalyzer.analyzeWhereClause(SelectStmt.java:454)
at org.apache.impala.analysis.SelectStmt$SelectAnalyzer.analyze(SelectStmt.java:317)
at org.apache.impala.analysis.SelectStmt$SelectAnalyzer.access$100(SelectStmt.java:298)
at org.apache.impala.analysis.SelectStmt.analyze(SelectStmt.java:291)
at org.apache.impala.analysis.InlineViewRef.analyze(InlineViewRef.java:219)
at org.apache.impala.analysis.StmtRewriter$SubqueryRewriter.mergeExpr(StmtRewriter.java:634)
at org.apache.impala.analysis.StmtRewriter$SubqueryRewriter.rewriteWhereClauseSubqueries(StmtRewriter.java:1455)
at org.apache.impala.analysis.StmtRewriter$SubqueryRewriter.rewriteSelectStmtHook(StmtRewriter.java:1336)
at org.apache.impala.analysis.StmtRewriter.rewriteSelectStatement(StmtRewriter.java:114)
at org.apache.impala.analysis.StmtRewriter.rewriteQueryStatement(StmtRewriter.java:87)
at org.apache.impala.analysis.StmtRewriter.rewrite(StmtRewriter.java:75)
at org.apache.impala.analysis.AnalysisContext.analyze(AnalysisContext.java:523)
at org.apache.impala.analysis.AnalysisContext.analyzeAndAuthorize(AnalysisContext.java:445)
at org.apache.impala.service.Frontend.doCreateExecRequest(Frontend.java:1641)
at org.apache.impala.service.Frontend.getTExecRequest(Frontend.java:1607)
at org.apache.impala.service.Frontend.createExecRequest(Frontend.java:1577)
at org.apache.impala.service.JniFrontend.createExecRequest(JniFrontend.java:162)
{code}
The expression "regexp_like(t_data.col2, t_pattern.col3)" is temporarily rewritten to "regexp_like(TRUE, t_pattern.col3)" so fails in re-analyze here:
{code:java}
inlineView.reset();
try {
inlineView.analyze(analyzer);
} catch (AnalysisException e) {
{code}
cc [~amansinha]
> Incorrect subquery rewrite leads to analysis error
> --------------------------------------------------
>
> Key: IMPALA-3096
> URL: https://issues.apache.org/jira/browse/IMPALA-3096
> Project: IMPALA
> Issue Type: Bug
> Components: Frontend
> Affects Versions: Impala 2.5.0
> Reporter: casey
> Assignee: Fang-Yu Rao
> Priority: Minor
> Labels: ramp-up
>
> The query below gets rewritten then an analysis error happens
> {noformat}
> Query: explain SELECT 1
> FROM alltypes a1
> INNER JOIN alltypesagg a2 ON a1.bigint_col = a2.month
> WHERE a1.smallint_col NOT IN (
> SELECT a3.int_col
> FROM alltypes a3
> INNER JOIN alltypes a4 ON a3.string_col = TRIM(a4.date_string_col)
> WHERE a3.id = a2.year AND (a2.timestamp_col + INTERVAL a4.smallint_col SECOND) IS NULL)
> ERROR: AnalysisException: Operand 'TRUE' of timestamp arithmetic expression '(TRUE + INTERVAL a4.smallint_col SECOND)' returns type 'BOOLEAN'. Expected type 'TIMESTAMP'.
> {noformat}
> If the "... + INTERVAL) IS NULL" expression at the bottom is removed there is no error.
> Version: 1920aa5ea214ea21917778d5faad3ef1cb3e9f87
--
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