pingcap / pingcap/tidb

executor report expression can not pushed down

Open
#41,755 2 comments 0 reactions 0 assignees View on GitHub
affects-7.0 affects-7.1 affects-7.5 affects-8.1 may-affects-4.0 may-affects-5.0 may-affects-5.1 may-affects-5.2 may-affects-5.3 may-affects-5.4 may-affects-6.0 may-affects-6.1 may-affects-6.2 may-affects-6.3 may-affects-6.4 may-affects-6.5 may-affects-6.6 severity/major sig/execution type/bug
Dominant language
Go
Stars
40.5k
Forks
6.2k
PR merge metrics
PR metrics pending

Description

## Bug Report

Please answer these questions before submitting your issue. Thanks!

### 1. Minimal reproduce step (Required)

tiup playground nightly

```sql
CREATE TABLE `fff0075f` (
`f1bd0257` mediumint(9) DEFAULT '-3257264',
`09c60a75` time NOT NULL DEFAULT '15:51:10',
PRIMARY KEY (`09c60a75`) /*T![clustered_index] CLUSTERED */
);
CREATE TABLE `d73bc349` (
`c2d953c7` json DEFAULT NULL,
`eb8866cc` text DEFAULT NULL
);

insert into `d73bc349` values (-22, '1JO');
insert into `fff0075f` values (-3257264, '23:13:57');

select `f1bd0257`
from `fff0075f`, `d73bc349`
where not (`d73bc349`.`c2d953c7` in (select `09c60a75` from `fff0075f` where not (`d73bc349`.`eb8866cc` in (select `09c60a75` from `fff0075f` where not (IsNull(`d73bc349`.`c2d953c7`))))))
```

### 2. What did you expect to see? (Required)

### 3. What did you see instead (Required)

```
[planner:1815]expression not(isnull(cast(cptest.d73bc349.c2d953c7, var_string(4294967295)))) cannot be pushed down
github.com/pingcap/errors.AddStack
/go/pkg/mod/github.com/pingcap/errors@v0.11.5-0.20221009092201-b66cddb77c32/errors.go:174
github.com/pingcap/errors.(*Error).GenWithStack
/go/pkg/mod/github.com/pingcap/errors@v0.11.5-0.20221009092201-b66cddb77c32/normalize.go:155
github.com/pingcap/tidb/expression.ExpressionsToPBList
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/expression/expr_to_pb.go:42
github.com/pingcap/tidb/planner/core.(*PhysicalSelection).ToPB
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/planner/core/plan_to_pb.go:129
github.com/pingcap/tidb/executor.constructDistExec
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/builder.go:3004
github.com/pingcap/tidb/executor.(*TableReaderExecutor).Open
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/table_reader.go:161
github.com/pingcap/tidb/executor.(*baseExecutor).Open
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/executor.go:202
github.com/pingcap/tidb/executor.(*HashJoinExec).Open
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/join.go:196
github.com/pingcap/tidb/executor.(*baseExecutor).Open
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/executor.go:202
github.com/pingcap/tidb/executor.(*SelectionExec).Open
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/executor.go:1601
github.com/pingcap/tidb/executor.(*baseExecutor).Open
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/executor.go:202
github.com/pingcap/tidb/executor.(*ProjectionExec).Open
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/projection.go:86
github.com/pingcap/tidb/executor.(*baseExecutor).Open
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/executor.go:202
github.com/pingcap/tidb/executor.(*HashJoinExec).Open
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/join.go:196
github.com/pingcap/tidb/executor.(*NestedLoopApplyExec).fetchAllInners
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/join.go:1401
github.com/pingcap/tidb/executor.(*NestedLoopApplyExec).Next
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/join.go:1468
github.com/pingcap/tidb/executor.Next
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/executor.go:324
github.com/pingcap/tidb/executor.(*SelectionExec).Next
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/executor.go:1661
github.com/pingcap/tidb/executor.Next
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/executor.go:324
github.com/pingcap/tidb/executor.(*ProjectionExec).unParallelExecute
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/projection.go:196
github.com/pingcap/tidb/executor.(*ProjectionExec).Next
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/projection.go:183
github.com/pingcap/tidb/executor.Next
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/executor.go:324
github.com/pingcap/tidb/executor.(*UpdateExec).updateRows
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/update.go:265
github.com/pingcap/tidb/executor.(*UpdateExec).Next
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/update.go:239
github.com/pingcap/tidb/executor.Next
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/executor.go:324
github.com/pingcap/tidb/executor.(*ExecStmt).next
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/adapter.go:1221
github.com/pingcap/tidb/executor.(*ExecStmt).handleNoDelayExecutor
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/adapter.go:973
github.com/pingcap/tidb/executor.(*ExecStmt).handleNoDelay
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/adapter.go:805
github.com/pingcap/tidb/executor.(*ExecStmt).Exec
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/adapter.go:600
github.com/pingcap/tidb/session.runStmt
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/session/session.go:2377
github.com/pingcap/tidb/session.(*session).ExecuteStmt
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/session/session.go:2234
github.com/pingcap/tidb/server.(*TiDBContext).ExecuteStmt
/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/driver_tidb.go:247"]
```

### 4. What is your TiDB version? (Required)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.