pingcap / tidb

TiDB is an open-source, cloud-native, distributed, MySQL-Compatible database for elastic scale and real-time analytics. Try AI-powered Chat2Query free at : https://www.pingcap.com/tidb-serverless/
https://pingcap.com
Apache License 2.0
36.94k stars 5.81k forks source link

[HY000][1105] runtime error: index out of range [0] with length 0 #46070

Closed sayJason closed 1 year ago

sayJason commented 1 year ago

Bug Report

Please answer these questions before submitting your issue. Thanks!

1. Minimal reproduce step (Required)

SELECT (- a), (a)
FROM (SELECT 1 AS a) AS t1
HAVING (1 != ALL (SELECT 1))
ORDER BY a

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

Normal execution and return empty

3. What did you see instead (Required)

An error occurs

4. What is your TiDB version? (Required)

Release Version: v7.3.0 Edition: Community Git Commit Hash: 40b72e7a9a4fc9670d4c5d974dd503a3c6097471 Git Branch: heads/refs/tags/v7.3.0 UTC Build Time: 2023-08-08 10:08:14 GoVersion: go1.20.7 Race Enabled: false Check Table Before Drop: false Store: tikv

seiya-annie commented 1 year ago

in master:

mysql> SELECT (- a), (a)
    -> FROM (SELECT 1 AS a) AS t1
    -> HAVING (1 != ALL (SELECT 1))
    -> ORDER BY a;
Empty set (0.01 sec)

mysql> 

in 7.3.0:

mysql> use test;
Database changed
mysql> SELECT (- a), (a)
    -> FROM (SELECT 1 AS a) AS t1
    -> HAVING (1 != ALL (SELECT 1))
    -> ORDER BY a;
ERROR 1105 (HY000): runtime error: index out of range [0] with length 0
mysql> exit
seiya-annie commented 1 year ago
[2023/08/15 07:50:49.937 +08:00] [INFO] [conn.go:1081] ["command dispatched failed"] [conn=396361732] [connInfo="id:396361732, addr:172.16.6.114:33342 status:10, collation:utf8_general_ci, user:root"] [command=Query] [status="inTxn:0, autocommit:1"] [sql="SELECT (- a), (a)\nFROM (SELECT 1 AS a) AS t1\nHAVING (1 != ALL (SELECT 1))\nORDER BY a"] [txn_mode=PESSIMISTIC] [timestamp=0] [err="runtime error: index out of range [0] with length 0\ngithub.com/pingcap/tidb/executor.(*recordSet).Next.func1\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/adapter.go:151\nruntime.gopanic\n\t/usr/local/go/src/runtime/panic.go:884\nruntime.goPanicIndex\n\t/usr/local/go/src/runtime/panic.go:113\ngithub.com/pingcap/tidb/util/chunk.(*Column).IsNull\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/util/chunk/column.go:169\ngithub.com/pingcap/tidb/util/chunk.(*Column).CopyReconstruct\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/util/chunk/column.go:724\ngithub.com/pingcap/tidb/expression.(*Column).VecEvalInt\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/expression/column.go:298\ngithub.com/pingcap/tidb/expression.EvalExpr\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/expression/expression.go:578\ngithub.com/pingcap/tidb/expression.VecEvalBool\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/expression/expression.go:373\ngithub.com/pingcap/tidb/expression.vectorizedFilter\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/expression/chunk_executor.go:489\ngithub.com/pingcap/tidb/expression.VectorizedFilterConsiderNull\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/expression/chunk_executor.go:401\ngithub.com/pingcap/tidb/expression.VectorizedFilter\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/expression/chunk_executor.go:379\ngithub.com/pingcap/tidb/executor.(*SelectionExec).Next\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/executor.go:1639\ngithub.com/pingcap/tidb/executor.Next\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/executor.go:253\ngithub.com/pingcap/tidb/executor.(*SortExec).fetchRowChunks\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/sort.go:199\ngithub.com/pingcap/tidb/executor.(*SortExec).Next\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/sort.go:117\ngithub.com/pingcap/tidb/executor.Next\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/executor.go:253\ngithub.com/pingcap/tidb/executor.(*ProjectionExec).unParallelExecute\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/projection.go:197\ngithub.com/pingcap/tidb/executor.(*ProjectionExec).Next\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/projection.go:184\ngithub.com/pingcap/tidb/executor.Next\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/executor.go:253\ngithub.com/pingcap/tidb/executor.(*ExecStmt).next\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/adapter.go:1223\ngithub.com/pingcap/tidb/executor.(*recordSet).Next\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/adapter.go:155\ngithub.com/pingcap/tidb/server/internal/resultset.(*tidbResultSet).Next\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/internal/resultset/resultset.go:62\ngithub.com/pingcap/tidb/server.(*clientConn).writeChunks\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/conn.go:2212\ngithub.com/pingcap/tidb/server.(*clientConn).writeResultSet\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/conn.go:2155\ngithub.com/pingcap/tidb/server.(*clientConn).handleStmt\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/conn.go:2023\ngithub.com/pingcap/tidb/server.(*clientConn).handleQuery\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/conn.go:1784\ngithub.com/pingcap/tidb/server.(*clientConn).dispatch\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/conn.go:1271\ngithub.com/pingcap/tidb/server.(*clientConn).Run\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/conn.go:1050\ngithub.com/pingcap/tidb/server.(*Server).onConn\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/server.go:662\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1598"]
wshwsh12 commented 1 year ago

fixed by https://github.com/pingcap/tidb/pull/45831