cockroachdb / cockroachdb/cockroach
sql: Internal Error when casting return value from INTERNAL functions
- Dominant language
- Go
- Stars
- 32.5k
- Forks
- 4.1k
- PR merge metrics
- PR metrics pending
Description
**Describe the problem**
The latest alpha version of the CockroachDB (`v23.1.0-alpha.2`) encounters Internal Error when executing the following query.
```sql
SELECT * FROM LATERAL ROWS FROM (CAST(CRDB_INTERNAL.SHOW_CREATE_ALL_TABLES('anyRandomText') AS INT));
```
**To Reproduce**
1. In operating system Ubuntu 20.04 LTS, download the CockroachDB source code from the github source.
2. Download the pre-build CockroachDB binaries (v22.2.3 and v23.1.0 alpha) from [link](https://www.cockroachlabs.com/docs/releases/index.html)
3. Run `./cockroach demo`, and then paste the PoC query to the cockroach cli environment.
4. Observe the `Internal Error` and log the stack information.
**Expected behavior**
The `SELECT` statement should return empty result.
**Additional data / screenshots**
Here is the stack trace from `v23.1.0-alpha.2`:
```
ERROR: internal error: generator functions cannot be evaluated as scalars
SQLSTATE: XX000
DETAIL: stack trace:
github.com/cockroachdb/cockroach/pkg/sql/sem/builtins/generator_builtins.go:645: func357()
github.com/cockroachdb/cockroach/pkg/sql/sem/eval/expr.go:468: EvalFuncExpr()
github.com/cockroachdb/cockroach/bazel-out/k8-opt/bin/pkg/sql/sem/tree/eval_expr_generated.go:276: Eval()
github.com/cockroachdb/cockroach/pkg/sql/sem/eval/expr.go:180: EvalCastExpr()
github.com/cockroachdb/cockroach/bazel-out/k8-opt/bin/pkg/sql/sem/tree/eval_expr_generated.go:96: Eval()
github.com/cockroachdb/cockroach/pkg/sql/sem/eval/expr.go:26: Expr()
github.com/cockroachdb/cockroach/pkg/sql/execinfrapb/pkg/sql/execinfrapb/expr.go:248: Eval()
github.com/cockroachdb/cockroach/pkg/sql/rowexec/project_set.go:241: nextGeneratorValues()
github.com/cockroachdb/cockroach/pkg/sql/rowexec/project_set.go:292: Next()
github.com/cockroachdb/cockroach/pkg/sql/colexec/columnarizer.go:243: Next()
github.com/cockroachdb/cockroach/pkg/sql/colflow/stats.go:118: next()
github.com/cockroachdb/cockroach/pkg/sql/colexecerror/error.go:92: CatchVectorizedRuntimeError()
github.com/cockroachdb/cockroach/pkg/sql/colflow/stats.go:126: Next()
github.com/cockroachdb/cockroach/pkg/sql/colflow/flow_coordinator.go:252: nextAdapter()
github.com/cockroachdb/cockroach/pkg/sql/colexecerror/error.go:92: CatchVectorizedRuntimeError()
github.com/cockroachdb/cockroach/pkg/sql/colflow/flow_coordinator.go:256: next()
github.com/cockroachdb/cockroach/pkg/sql/colflow/flow_coordinator.go:294: Run()
github.com/cockroachdb/cockroach/pkg/sql/colflow/vectorized_flow.go:309: Run()
github.com/cockroachdb/cockroach/pkg/sql/distsql_running.go:857: Run()
github.com/cockroachdb/cockroach/pkg/sql/distsql_running.go:1793: PlanAndRun()
github.com/cockroachdb/cockroach/pkg/sql/distsql_running.go:1544: PlanAndRunAll()
github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:1642: execWithDistSQLEngine()
github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:1263: dispatchToExecutionEngine()
github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:745: execStmtInOpenState()
github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:131: func1()
github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:2530: execWithProfiling()
github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:130: execStmt()
github.com/cockroachdb/cockroach/pkg/sql/conn_executor.go:1969: func1()
github.com/cockroachdb/cockroach/pkg/sql/conn_executor.go:1974: execCmd()
github.com/cockroachdb/cockroach/pkg/sql/conn_executor.go:1892: run()
github.com/cockroachdb/cockroach/pkg/sql/conn_executor.go:861: ServeConn()
github.com/cockroachdb/cockroach/pkg/sql/pgwire/conn.go:731: func1()
HINT: You have encountered an unexpected error.
```
**Environment:**
- CockroachDB version: v23.1.0-alpha.2
- Server OS: Ubuntu 20.04 LTS
- Client app: CockroachDB demo command. (`./cockroach demo`)
- Detailed CockroachDB version output:
```
cockroach version details:
Build Tag: v23.1.0-alpha.2
Build Time: 2023/02/13 18:32:33
Distribution: CCL
Platform: linux amd64 (x86_64-pc-linux-gnu)
Go Version: go1.19.4
C Compiler: gcc 6.5.0
Build Commit ID: eb158026c50d8fa856e42f928d844831ea9e6b28
Build Type: release
```
**Additional context**
The bug can also be reproduced in `v23.1.0-alpha.2`, `v23.1.0-alpha.1`, `v22.2.3`, `v22.1.13` and `v21.2.17`. I haven't tested versions before `v21.2.17`.
Jira issue: CRDB-24625
Contributor guide
Assessment
This issue has not been assessed yet.