cockroachdb / cockroachdb/cockroach

sql: internal error with JSON exists `?` operator and `ALL`

Open
#97,955 0 comments 0 reactions 0 assignees View on GitHub
C-bug S-3 T-sql-queries
Dominant language
Go
Stars
32.5k
Forks
4.1k
PR merge metrics
PR metrics pending

Description

To reproduce:

```sql
SELECT '{"a":1}'::JSONB ? ALL (SELECT * FROM (VALUES ('a')) v(t));
```

This results in an internal error:

```
ERROR: internal error: lookup for ComparisonExpr (('{"a": 1, "b": 2}')[jsonb] = ANY ((('a')[string],))[tuple{string}])[bool]'s CmpOp failed
SQLSTATE: XX000
DETAIL: stack trace:
github.com/cockroachdb/cockroach/pkg/sql/sem/tree/expr.go:490: MemoizeComparisonExprOp()
github.com/cockroachdb/cockroach/pkg/sql/sem/tree/expr.go:409: NewTypedComparisonExprWithSubOp()
github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/scalar.go:449: buildAnyScalar()
github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/scalar.go:105: buildScalar()
github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/scalar.go:193: buildBoolean()
github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/scalar.go:105: buildScalar()
github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:458: buildValuesRows()
github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:439: buildValues()
github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:200: buildRelational()
github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/builder.go:314: build()
github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/builder.go:249: Build()
github.com/cockroachdb/cockroach/pkg/sql/plan_opt.go:649: runExecBuilder()
github.com/cockroachdb/cockroach/pkg/sql/plan_opt.go:300: makeOptimizerPlan()
github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:1466: makeExecPlan()
github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:1074: dispatchToExecutionEngine()
github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:689: execStmtInOpenState()
github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:131: func1()
github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:2420: execWithProfiling()
github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:130: execStmt()
github.com/cockroachdb/cockroach/pkg/sql/conn_executor.go:1932: func1()
github.com/cockroachdb/cockroach/pkg/sql/conn_executor.go:1936: execCmd()
github.com/cockroachdb/cockroach/pkg/sql/conn_executor.go:1858: run()
github.com/cockroachdb/cockroach/pkg/sql/conn_executor.go:832: ServeConn()
github.com/cockroachdb/cockroach/pkg/sql/pgwire/conn.go:728: func1()
src/runtime/asm_arm64.s:1172: goexit()
```

Jira issue: CRDB-24985

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.