cockroachdb / cockroachdb/cockroach

Sentry: parse.go:105: building declarative schema change targets for ALTER TABLE: ttl_expiration_expression × must be a valid expression: expected 1 statement, but found 2 (1) while executing: ALTER ...

Open
#175,035 4 comments 0 reactions 1 assignee Assigned to @himanshu-shrivastava-crl View on GitHub
branch-release-26.2 C-bug O-sentry P-2 T-sql-foundations X-blathers-triaged
Dominant language
Go
Stars
32.5k
Forks
4.1k
PR merge metrics
PR metrics pending

Description

This issue was auto filed by Sentry. It represents a crash or reported error on a live cluster with telemetry enabled.

Sentry Link: [https://cockroach-labs.sentry.io/issues/7726014482/?referrer=webhooks_plugin](https://cockroach-labs.sentry.io/issues/7726014482/?referrer=webhooks_plugin)

Panic Message:

```
parse.go:105: building declarative schema change targets for ALTER TABLE: ttl_expiration_expression × must be a valid expression: expected 1 statement, but found 2
(1) while executing: ALTER TABLE _ SET ('ttl_expiration_expression' = '_')
Wraps: (2) attached stack trace
-- stack trace:
| github.com/cockroachdb/cockroach/pkg/sql/schemachanger/scerrors.EventLogger.HandlePanicAndLogError
| pkg/sql/schemachanger/scerrors/errors.go:82
| runtime.gopanic
| GOROOT/src/runtime/panic.go:783
| [...repeated from below...]
Wraps: (3) building declarative schema change targets for ALTER TABLE
Wraps: (4) candidate pg code: 22023
Wraps: (5) attached stack trace
-- stack trace:
| github.com/cockroachdb/cockroach/pkg/sql/catalog/schemaexpr.ValidateTTLExpirationExpression
| pkg/sql/catalog/schemaexpr/expr.go:634
| github.com/cockroachdb/cockroach/pkg/sql/schemachanger/scbuild.(*builderState).TTLExpirationExpression
| pkg/sql/schemachanger/scbuild/builder_state.go:683
| github.com/cockroachdb/cockroach/pkg/sql/schemachanger/scbuild/internal/scbuildstmt.applyTTLStorageParamsSet
| pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table_set_storage_param.go:284
| github.com/cockroachdb/cockroach/pkg/sql/schemachanger/scbuild/internal/scbuildstmt.AlterTableSetStorageParams
| pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table_set_storage_param.go:431
| reflect.Value.call
| GOROOT/src/reflect/value.go:581
| reflect.Value.Call
| GOROOT/src/reflect/value.go:365
| github.com/cockroachdb/cockroach/pkg/sql/schemachanger/scbuild/internal/scbuildstmt.AlterTable
| pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table.go:178
| reflect.Value.call
| GOROOT/src/reflect/value.go:581
| reflect.Value.Call
| GOROOT/src/reflect/value.go:365
| github.com/cockroachdb/cockroach/pkg/sql/schemachanger/scbuild/internal/scbuildstmt.Process
| pkg/sql/schemachanger/scbuild/internal/scbuildstmt/process.go:198
| github.com/cockroachdb/cockroach/pkg/sql/schemachanger/scbuild.Build
| pkg/sql/schemachanger/scbuild/build.go:104
| github.com/cockroachdb/cockroach/pkg/sql.(*planner).SchemaChange
| pkg/sql/schema_change_plan_node.go:93
| github.com/cockroachdb/cockroach/pkg/sql.buildOpaque
| pkg/sql/opaque.go:52
| github.com/cockroachdb/cockroach/pkg/sql/opt/optbuilder.(*Builder).tryBuildOpaque
| pkg/sql/opt/optbuilder/opaque.go:65
| github.com/cockroachdb/cockroach/pkg/sql/opt/optbuilder.(*Builder).buildStmt
| pkg/sql/opt/optbuilder/builder.go:515
| github.com/cockroachdb/cockroach/pkg/sql/opt/optbuilder.(*Builder).buildStmtAtRootWithScope
| pkg/sql/opt/optbuilder/builder.go:337
| github.com/cockroachdb/cockroach/pkg/sql/opt/optbuilder.(*Builder).buildStmtAtRoot
| pkg/sql/opt/optbuilder/builder.go:313
| github.com/cockroachdb/cockroach/pkg/sql/opt/optbuilder.(*Builder).Build
| pkg/sql/opt/optbuilder/builder.go:292
| github.com/cockroachdb/cockroach/pkg/sql.(*optPlanningCtx).buildExecMemo
| pkg/sql/plan_opt.go:1003
| github.com/cockroachdb/cockroach/pkg/sql.(*planner).makeOptimizerPlanInternal
| pkg/sql/plan_opt.go:348
| github.com/cockroachdb/cockroach/pkg/sql.(*planner).makeOptimizerPlan
| pkg/sql/plan_opt.go:328
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).makeExecPlan
| pkg/sql/conn_executor_exec.go:3474
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).dispatchToExecutionEngine
| pkg/sql/conn_executor_exec.go:3044
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execStmtInOpenState
| pkg/sql/conn_executor_exec.go:1122
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execStmt.func2
| pkg/sql/conn_executor_exec.go:183
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execWithProfiling
| pkg/sql/conn_executor_exec.go:4734
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execStmt
| pkg/sql/conn_executor_exec.go:182
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execCmd.func1
| pkg/sql/conn_executor.go:2481
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execCmd
| pkg/sql/conn_executor.go:2486
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).run
| pkg/sql/conn_executor.go:2394
| github.com/cockroachdb/cockroach/pkg/sql.(*Server).ServeConn
| pkg/sql/conn_executor.go:1135
Wraps: (6) ttl_expiration_expression × must be a valid expression
Wraps: (7) assertion failure
Wraps: (8) attached stack trace
-- stack trace:
| github.com/cockroachdb/cockroach/pkg/sql/parser.(*Parser).parseOne
| pkg/sql/parser/parse.go:105
| github.com/cockroachdb/cockroach/pkg/sql/parser.ParseOneWithOptions
| pkg/sql/parser/parse.go:295
| github.com/cockroachdb/cockroach/pkg/sql/parser.ParseExprsWithOptions
| pkg/sql/parser/parse.go:406
| github.com/cockroachdb/cockroach/pkg/sql/parser.ParseExprs
| pkg/sql/parser/parse.go:389
| github.com/cockroachdb/cockroach/pkg/sql/catalog/schemaexpr.ValidateTTLExpirationExpression
| pkg/sql/catalog/schemaexpr/expr.go:632
| github.com/cockroachdb/cockroach/pkg/sql/schemachanger/scbuild.(*builderState).TTLExpirationExpression
| pkg/sql/schemachanger/scbuild/builder_state.go:683
| github.com/cockroachdb/cockroach/pkg/sql/schemachanger/scbuild/internal/scbuildstmt.applyTTLStorageParamsSet
| pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table_set_storage_param.go:284
| github.com/cockroachdb/cockroach/pkg/sql/schemachanger/scbuild/internal/scbuildstmt.AlterTableSetStorageParams
| pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table_set_storage_param.go:431
| reflect.Value.call
| GOROOT/src/reflect/value.go:581
| reflect.Value.Call
| GOROOT/src/reflect/value.go:365
| github.com/cockroachdb/cockroach/pkg/sql/schemachanger/scbuild/internal/scbuildstmt.AlterTable
| pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table.go:178
| reflect.Value.call
| GOROOT/src/reflect/value.go:581
| reflect.Value.Call
| GOROOT/src/reflect/value.go:365
| github.com/cockroachdb/cockroach/pkg/sql/schemachanger/scbuild/internal/scbuildstmt.Process
| pkg/sql/schemachanger/scbuild/internal/scbuildstmt/process.go:198
| github.com/cockroachdb/cockroach/pkg/sql/schemachanger/scbuild.Build
| pkg/sql/schemachanger/scbuild/build.go:104
| github.com/cockroachdb/cockroach/pkg/sql.(*planner).SchemaChange
| pkg/sql/schema_change_plan_node.go:93
| github.com/cockroachdb/cockroach/pkg/sql.buildOpaque
| pkg/sql/opaque.go:52
| github.com/cockroachdb/cockroach/pkg/sql/opt/optbuilder.(*Builder).tryBuildOpaque
| pkg/sql/opt/optbuilder/opaque.go:65
| github.com/cockroachdb/cockroach/pkg/sql/opt/optbuilder.(*Builder).buildStmt
| pkg/sql/opt/optbuilder/builder.go:515
| github.com/cockroachdb/cockroach/pkg/sql/opt/optbuilder.(*Builder).buildStmtAtRootWithScope
| pkg/sql/opt/optbuilder/builder.go:337
| github.com/cockroachdb/cockroach/pkg/sql/opt/optbuilder.(*Builder).buildStmtAtRoot
| pkg/sql/opt/optbuilder/builder.go:313
| github.com/cockroachdb/cockroach/pkg/sql/opt/optbuilder.(*Builder).Build
| pkg/sql/opt/optbuilder/builder.go:292
| github.com/cockroachdb/cockroach/pkg/sql.(*optPlanningCtx).buildExecMemo
| pkg/sql/plan_opt.go:1003
| github.com/cockroachdb/cockroach/pkg/sql.(*planner).makeOptimizerPlanInternal
| pkg/sql/plan_opt.go:348
| github.com/cockroachdb/cockroach/pkg/sql.(*planner).makeOptimizerPlan
| pkg/sql/plan_opt.go:328
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).makeExecPlan
| pkg/sql/conn_executor_exec.go:3474
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).dispatchToExecutionEngine
| pkg/sql/conn_executor_exec.go:3044
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execStmtInOpenState
| pkg/sql/conn_executor_exec.go:1122
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execStmt.func2
| pkg/sql/conn_executor_exec.go:183
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execWithProfiling
| pkg/sql/conn_executor_exec.go:4734
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execStmt
| pkg/sq...
```

Stacktrace (expand for inline code snippets):

[pkg/sql/conn_executor.go#L1134-L1136](pkg/sql/conn_executor.go#L1134-L1136)
[pkg/sql/conn_executor.go#L2393-L2395](pkg/sql/conn_executor.go#L2393-L2395)
[pkg/sql/conn_executor.go#L2485-L2487](pkg/sql/conn_executor.go#L2485-L2487)
[pkg/sql/conn_executor.go#L2480-L2482](pkg/sql/conn_executor.go#L2480-L2482)
[pkg/sql/conn_executor_exec.go#L181-L183](pkg/sql/conn_executor_exec.go#L181-L183)
[pkg/sql/conn_executor_exec.go#L4733-L4735](pkg/sql/conn_executor_exec.go#L4733-L4735)
[pkg/sql/conn_executor_exec.go#L182-L184](pkg/sql/conn_executor_exec.go#L182-L184)
[pkg/sql/conn_executor_exec.go#L1121-L1123](pkg/sql/conn_executor_exec.go#L1121-L1123)
[pkg/sql/conn_executor_exec.go#L3043-L3045](pkg/sql/conn_executor_exec.go#L3043-L3045)
[pkg/sql/conn_executor_exec.go#L3473-L3475](pkg/sql/conn_executor_exec.go#L3473-L3475)
[pkg/sql/plan_opt.go#L327-L329](pkg/sql/plan_opt.go#L327-L329)
[pkg/sql/plan_opt.go#L347-L349](pkg/sql/plan_opt.go#L347-L349)
[pkg/sql/plan_opt.go#L1002-L1004](pkg/sql/plan_opt.go#L1002-L1004)
[pkg/sql/opt/optbuilder/builder.go#L291-L293](pkg/sql/opt/optbuilder/builder.go#L291-L293)
[pkg/sql/opt/optbuilder/builder.go#L312-L314](pkg/sql/opt/optbuilder/builder.go#L312-L314)
[pkg/sql/opt/optbuilder/builder.go#L336-L338](pkg/sql/opt/optbuilder/builder.go#L336-L338)
[pkg/sql/opt/optbuilder/builder.go#L514-L516](pkg/sql/opt/optbuilder/builder.go#L514-L516)
[pkg/sql/opt/optbuilder/opaque.go#L64-L66](pkg/sql/opt/optbuilder/opaque.go#L64-L66)
[pkg/sql/opaque.go#L51-L53](pkg/sql/opaque.go#L51-L53)
[pkg/sql/schema_change_plan_node.go#L92-L94](pkg/sql/schema_change_plan_node.go#L92-L94)
[pkg/sql/schemachanger/scbuild/build.go#L103-L105](pkg/sql/schemachanger/scbuild/build.go#L103-L105)
[pkg/sql/schemachanger/scbuild/internal/scbuildstmt/process.go#L197-L199](pkg/sql/schemachanger/scbuild/internal/scbuildstmt/process.go#L197-L199)
[GOROOT/src/reflect/value.go#L364-L366](GOROOT/src/reflect/value.go#L364-L366)
[GOROOT/src/reflect/value.go#L580-L582](GOROOT/src/reflect/value.go#L580-L582)
[pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table.go#L177-L179](pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table.go#L177-L179)
[GOROOT/src/reflect/value.go#L364-L366](GOROOT/src/reflect/value.go#L364-L366)
[GOROOT/src/reflect/value.go#L580-L582](GOROOT/src/reflect/value.go#L580-L582)
[pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table_set_storage_param.go#L430-L432](pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table_set_storage_param.go#L430-L432)
[pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table_set_storage_param.go#L283-L285](pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table_set_storage_param.go#L283-L285)
[pkg/sql/schemachanger/scbuild/builder_state.go#L692-L694](pkg/sql/schemachanger/scbuild/builder_state.go#L692-L694)
[GOROOT/src/runtime/panic.go#L782-L784](GOROOT/src/runtime/panic.go#L782-L784)
[pkg/sql/schemachanger/scerrors/errors.go#L81-L83](pkg/sql/schemachanger/scerrors/errors.go#L81-L83)
[pkg/sql/pgwire/conn.go#L253-L255](pkg/sql/pgwire/conn.go#L253-L255)
[pkg/sql/conn_executor.go#L1134-L1136](pkg/sql/conn_executor.go#L1134-L1136)
[pkg/sql/conn_executor.go#L2393-L2395](pkg/sql/conn_executor.go#L2393-L2395)
[pkg/sql/conn_executor.go#L2485-L2487](pkg/sql/conn_executor.go#L2485-L2487)
[pkg/sql/conn_executor.go#L2480-L2482](pkg/sql/conn_executor.go#L2480-L2482)
[pkg/sql/conn_executor_exec.go#L181-L183](pkg/sql/conn_executor_exec.go#L181-L183)
[pkg/sql/conn_executor_exec.go#L4733-L4735](pkg/sql/conn_executor_exec.go#L4733-L4735)
[pkg/sql/conn_executor_exec.go#L182-L184](pkg/sql/conn_executor_exec.go#L182-L184)
[pkg/sql/conn_executor_exec.go#L1121-L1123](pkg/sql/conn_executor_exec.go#L1121-L1123)
[pkg/sql/conn_executor_exec.go#L3043-L3045](pkg/sql/conn_executor_exec.go#L3043-L3045)
[pkg/sql/conn_executor_exec.go#L3473-L3475](pkg/sql/conn_executor_exec.go#L3473-L3475)
[pkg/sql/plan_opt.go#L327-L329](pkg/sql/plan_opt.go#L327-L329)
[pkg/sql/plan_opt.go#L347-L349](pkg/sql/plan_opt.go#L347-L349)
[pkg/sql/plan_opt.go#L1002-L1004](pkg/sql/plan_opt.go#L1002-L1004)
[pkg/sql/opt/optbuilder/builder.go#L291-L293](pkg/sql/opt/optbuilder/builder.go#L291-L293)
[pkg/sql/opt/optbuilder/builder.go#L312-L314](pkg/sql/opt/optbuilder/builder.go#L312-L314)
[pkg/sql/opt/optbuilder/builder.go#L336-L338](pkg/sql/opt/optbuilder/builder.go#L336-L338)
[pkg/sql/opt/optbuilder/builder.go#L514-L516](pkg/sql/opt/optbuilder/builder.go#L514-L516)
[pkg/sql/opt/optbuilder/opaque.go#L64-L66](pkg/sql/opt/optbuilder/opaque.go#L64-L66)
[pkg/sql/opaque.go#L51-L53](pkg/sql/opaque.go#L51-L53)
[pkg/sql/schema_change_plan_node.go#L92-L94](pkg/sql/schema_change_plan_node.go#L92-L94)
[pkg/sql/schemachanger/scbuild/build.go#L103-L105](pkg/sql/schemachanger/scbuild/build.go#L103-L105)
[pkg/sql/schemachanger/scbuild/internal/scbuildstmt/process.go#L197-L199](pkg/sql/schemachanger/scbuild/internal/scbuildstmt/process.go#L197-L199)
[GOROOT/src/reflect/value.go#L364-L366](GOROOT/src/reflect/value.go#L364-L366)
[GOROOT/src/reflect/value.go#L580-L582](GOROOT/src/reflect/value.go#L580-L582)
[pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table.go#L177-L179](pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table.go#L177-L179)
[GOROOT/src/reflect/value.go#L364-L366](GOROOT/src/reflect/value.go#L364-L366)
[GOROOT/src/reflect/value.go#L580-L582](GOROOT/src/reflect/value.go#L580-L582)
[pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table_set_storage_param.go#L430-L432](pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table_set_storage_param.go#L430-L432)
[pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table_set_storage_param.go#L283-L285](pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table_set_storage_param.go#L283-L285)
[pkg/sql/schemachanger/scbuild/builder_state.go#L682-L684](pkg/sql/schemachanger/scbuild/builder_state.go#L682-L684)
[pkg/sql/catalog/schemaexpr/expr.go#L633-L635](pkg/sql/catalog/schemaexpr/expr.go#L633-L635)
[pkg/sql/conn_executor.go#L2480-L2482](pkg/sql/conn_executor.go#L2480-L2482)
[pkg/sql/conn_executor_exec.go#L181-L183](pkg/sql/conn_executor_exec.go#L181-L183)
[pkg/sql/conn_executor_exec.go#L4733-L4735](pkg/sql/conn_executor_exec.go#L4733-L4735)
[pkg/sql/conn_executor_exec.go#L182-L184](pkg/sql/conn_executor_exec.go#L182-L184)
[pkg/sql/conn_executor_exec.go#L1121-L1123](pkg/sql/conn_executor_exec.go#L1121-L1123)
[pkg/sql/conn_executor_exec.go#L3043-L3045](pkg/sql/conn_executor_exec.go#L3043-L3045)
[pkg/sql/conn_executor_exec.go#L3473-L3475](pkg/sql/conn_executor_exec.go#L3473-L3475)
[pkg/sql/plan_opt.go#L327-L329](pkg/sql/plan_opt.go#L327-L329)
[pkg/sql/plan_opt.go#L347-L349](pkg/sql/plan_opt.go#L347-L349)
[pkg/sql/plan_opt.go#L1002-L1004](pkg/sql/plan_opt.go#L1002-L1004)
[pkg/sql/opt/optbuilder/builder.go#L291-L293](pkg/sql/opt/optbuilder/builder.go#L291-L293)
[pkg/sql/opt/optbuilder/builder.go#L312-L314](pkg/sql/opt/optbuilder/builder.go#L312-L314)
[pkg/sql/opt/optbuilder/builder.go#L336-L338](pkg/sql/opt/optbuilder/builder.go#L336-L338)
[pkg/sql/opt/optbuilder/builder.go#L514-L516](pkg/sql/opt/optbuilder/builder.go#L514-L516)
[pkg/sql/opt/optbuilder/opaque.go#L64-L66](pkg/sql/opt/optbuilder/opaque.go#L64-L66)
[pkg/sql/opaque.go#L51-L53](pkg/sql/opaque.go#L51-L53)
[pkg/sql/schema_change_plan_node.go#L92-L94](pkg/sql/schema_change_plan_node.go#L92-L94)
[pkg/sql/schemachanger/scbuild/build.go#L103-L105](pkg/sql/schemachanger/scbuild/build.go#L103-L105)
[pkg/sql/schemachanger/scbuild/internal/scbuildstmt/process.go#L197-L199](pkg/sql/schemachanger/scbuild/internal/scbuildstmt/process.go#L197-L199)
[GOROOT/src/reflect/value.go#L364-L366](GOROOT/src/reflect/value.go#L364-L366)
[GOROOT/src/reflect/value.go#L580-L582](GOROOT/src/reflect/value.go#L580-L582)
[pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table.go#L177-L179](pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table.go#L177-L179)
[GOROOT/src/reflect/value.go#L364-L366](GOROOT/src/reflect/value.go#L364-L366)
[GOROOT/src/reflect/value.go#L580-L582](GOROOT/src/reflect/value.go#L580-L582)
[pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table_set_storage_param.go#L430-L432](pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table_set_storage_param.go#L430-L432)
[pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table_set_storage_param.go#L283-L285](pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table_set_storage_param.go#L283-L285)
[pkg/sql/schemachanger/scbuild/builder_state.go#L682-L684](pkg/sql/schemachanger/scbuild/builder_state.go#L682-L684)
[pkg/sql/catalog/schemaexpr/expr.go#L631-L633](pkg/sql/catalog/schemaexpr/expr.go#L631-L633)
[pkg/sql/parser/parse.go#L388-L390](pkg/sql/parser/parse.go#L388-L390)
[pkg/sql/parser/parse.go#L405-L407](pkg/sql/parser/parse.go#L405-L407)
[pkg/sql/parser/parse.go#L294-L296](pkg/sql/parser/parse.go#L294-L296)
[pkg/sql/parser/parse.go#L104-L106](pkg/sql/parser/parse.go#L104-L106)

```
pkg/sql/conn_executor.go in pkg/sql.(*Server).ServeConn at line 1135
pkg/sql/conn_executor.go in pkg/sql.(*connExecutor).run at line 2394
pkg/sql/conn_executor.go in pkg/sql.(*connExecutor).execCmd at line 2486
pkg/sql/conn_executor.go in pkg/sql.(*connExecutor).execCmd.func1 at line 2481
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execStmt at line 182
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execWithProfiling at line 4734
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execStmt.func2 at line 183
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execStmtInOpenState at line 1122
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).dispatchToExecutionEngine at line 3044
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).makeExecPlan at line 3474
pkg/sql/plan_opt.go in pkg/sql.(*planner).makeOptimizerPlan at line 328
pkg/sql/plan_opt.go in pkg/sql.(*planner).makeOptimizerPlanInternal at line 348
pkg/sql/plan_opt.go in pkg/sql.(*optPlanningCtx).buildExecMemo at line 1003
pkg/sql/opt/optbuilder/builder.go in pkg/sql/opt/optbuilder.(*Builder).Build at line 292
pkg/sql/opt/optbuilder/builder.go in pkg/sql/opt/optbuilder.(*Builder).buildStmtAtRoot at line 313
pkg/sql/opt/optbuilder/builder.go in pkg/sql/opt/optbuilder.(*Builder).buildStmtAtRootWithScope at line 337
pkg/sql/opt/optbuilder/builder.go in pkg/sql/opt/optbuilder.(*Builder).buildStmt at line 515
pkg/sql/opt/optbuilder/opaque.go in pkg/sql/opt/optbuilder.(*Builder).tryBuildOpaque at line 65
pkg/sql/opaque.go in pkg/sql.buildOpaque at line 52
pkg/sql/schema_change_plan_node.go in pkg/sql.(*planner).SchemaChange at line 93
pkg/sql/schemachanger/scbuild/build.go in pkg/sql/schemachanger/scbuild.Build at line 104
pkg/sql/schemachanger/scbuild/internal/scbuildstmt/process.go in pkg/sql/schemachanger/scbuild/internal/scbuildstmt.Process at line 198
GOROOT/src/reflect/value.go in reflect.Value.Call at line 365
GOROOT/src/reflect/value.go in reflect.Value.call at line 581
pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table.go in pkg/sql/schemachanger/scbuild/internal/scbuildstmt.AlterTable at line 178
GOROOT/src/reflect/value.go in reflect.Value.Call at line 365
GOROOT/src/reflect/value.go in reflect.Value.call at line 581
pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table_set_storage_param.go in pkg/sql/schemachanger/scbuild/internal/scbuildstmt.AlterTableSetStorageParams at line 431
pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table_set_storage_param.go in pkg/sql/schemachanger/scbuild/internal/scbuildstmt.applyTTLStorageParamsSet at line 284
pkg/sql/schemachanger/scbuild/builder_state.go in pkg/sql/schemachanger/scbuild.(*builderState).TTLExpirationExpression at line 693
GOROOT/src/runtime/panic.go in runtime.gopanic at line 783
pkg/sql/schemachanger/scerrors/errors.go in pkg/sql/schemachanger/scerrors.EventLogger.HandlePanicAndLogError at line 82
pkg/sql/pgwire/conn.go in pkg/sql/pgwire.(*conn).processCommands at line 254
pkg/sql/conn_executor.go in pkg/sql.(*Server).ServeConn at line 1135
pkg/sql/conn_executor.go in pkg/sql.(*connExecutor).run at line 2394
pkg/sql/conn_executor.go in pkg/sql.(*connExecutor).execCmd at line 2486
pkg/sql/conn_executor.go in pkg/sql.(*connExecutor).execCmd.func1 at line 2481
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execStmt at line 182
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execWithProfiling at line 4734
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execStmt.func2 at line 183
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execStmtInOpenState at line 1122
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).dispatchToExecutionEngine at line 3044
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).makeExecPlan at line 3474
pkg/sql/plan_opt.go in pkg/sql.(*planner).makeOptimizerPlan at line 328
pkg/sql/plan_opt.go in pkg/sql.(*planner).makeOptimizerPlanInternal at line 348
pkg/sql/plan_opt.go in pkg/sql.(*optPlanningCtx).buildExecMemo at line 1003
pkg/sql/opt/optbuilder/builder.go in pkg/sql/opt/optbuilder.(*Builder).Build at line 292
pkg/sql/opt/optbuilder/builder.go in pkg/sql/opt/optbuilder.(*Builder).buildStmtAtRoot at line 313
pkg/sql/opt/optbuilder/builder.go in pkg/sql/opt/optbuilder.(*Builder).buildStmtAtRootWithScope at line 337
pkg/sql/opt/optbuilder/builder.go in pkg/sql/opt/optbuilder.(*Builder).buildStmt at line 515
pkg/sql/opt/optbuilder/opaque.go in pkg/sql/opt/optbuilder.(*Builder).tryBuildOpaque at line 65
pkg/sql/opaque.go in pkg/sql.buildOpaque at line 52
pkg/sql/schema_change_plan_node.go in pkg/sql.(*planner).SchemaChange at line 93
pkg/sql/schemachanger/scbuild/build.go in pkg/sql/schemachanger/scbuild.Build at line 104
pkg/sql/schemachanger/scbuild/internal/scbuildstmt/process.go in pkg/sql/schemachanger/scbuild/internal/scbuildstmt.Process at line 198
GOROOT/src/reflect/value.go in reflect.Value.Call at line 365
GOROOT/src/reflect/value.go in reflect.Value.call at line 581
pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table.go in pkg/sql/schemachanger/scbuild/internal/scbuildstmt.AlterTable at line 178
GOROOT/src/reflect/value.go in reflect.Value.Call at line 365
GOROOT/src/reflect/value.go in reflect.Value.call at line 581
pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table_set_storage_param.go in pkg/sql/schemachanger/scbuild/internal/scbuildstmt.AlterTableSetStorageParams at line 431
pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table_set_storage_param.go in pkg/sql/schemachanger/scbuild/internal/scbuildstmt.applyTTLStorageParamsSet at line 284
pkg/sql/schemachanger/scbuild/builder_state.go in pkg/sql/schemachanger/scbuild.(*builderState).TTLExpirationExpression at line 683
pkg/sql/catalog/schemaexpr/expr.go in pkg/sql/catalog/schemaexpr.ValidateTTLExpirationExpression at line 634
pkg/sql/conn_executor.go in pkg/sql.(*connExecutor).execCmd.func1 at line 2481
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execStmt at line 182
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execWithProfiling at line 4734
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execStmt.func2 at line 183
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execStmtInOpenState at line 1122
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).dispatchToExecutionEngine at line 3044
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).makeExecPlan at line 3474
pkg/sql/plan_opt.go in pkg/sql.(*planner).makeOptimizerPlan at line 328
pkg/sql/plan_opt.go in pkg/sql.(*planner).makeOptimizerPlanInternal at line 348
pkg/sql/plan_opt.go in pkg/sql.(*optPlanningCtx).buildExecMemo at line 1003
pkg/sql/opt/optbuilder/builder.go in pkg/sql/opt/optbuilder.(*Builder).Build at line 292
pkg/sql/opt/optbuilder/builder.go in pkg/sql/opt/optbuilder.(*Builder).buildStmtAtRoot at line 313
pkg/sql/opt/optbuilder/builder.go in pkg/sql/opt/optbuilder.(*Builder).buildStmtAtRootWithScope at line 337
pkg/sql/opt/optbuilder/builder.go in pkg/sql/opt/optbuilder.(*Builder).buildStmt at line 515
pkg/sql/opt/optbuilder/opaque.go in pkg/sql/opt/optbuilder.(*Builder).tryBuildOpaque at line 65
pkg/sql/opaque.go in pkg/sql.buildOpaque at line 52
pkg/sql/schema_change_plan_node.go in pkg/sql.(*planner).SchemaChange at line 93
pkg/sql/schemachanger/scbuild/build.go in pkg/sql/schemachanger/scbuild.Build at line 104
pkg/sql/schemachanger/scbuild/internal/scbuildstmt/process.go in pkg/sql/schemachanger/scbuild/internal/scbuildstmt.Process at line 198
GOROOT/src/reflect/value.go in reflect.Value.Call at line 365
GOROOT/src/reflect/value.go in reflect.Value.call at line 581
pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table.go in pkg/sql/schemachanger/scbuild/internal/scbuildstmt.AlterTable at line 178
GOROOT/src/reflect/value.go in reflect.Value.Call at line 365
GOROOT/src/reflect/value.go in reflect.Value.call at line 581
pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table_set_storage_param.go in pkg/sql/schemachanger/scbuild/internal/scbuildstmt.AlterTableSetStorageParams at line 431
pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table_set_storage_param.go in pkg/sql/schemachanger/scbuild/internal/scbuildstmt.applyTTLStorageParamsSet at line 284
pkg/sql/schemachanger/scbuild/builder_state.go in pkg/sql/schemachanger/scbuild.(*builderState).TTLExpirationExpression at line 683
pkg/sql/catalog/schemaexpr/expr.go in pkg/sql/catalog/schemaexpr.ValidateTTLExpirationExpression at line 632
pkg/sql/parser/parse.go in pkg/sql/parser.ParseExprs at line 389
pkg/sql/parser/parse.go in pkg/sql/parser.ParseExprsWithOptions at line 406
pkg/sql/parser/parse.go in pkg/sql/parser.ParseOneWithOptions at line 295
pkg/sql/parser/parse.go in pkg/sql/parser.(*Parser).parseOne at line 105
```

### Tags

| Tag | Value |
| --- | --- |
| Command | start-single-node |
| Environment | v26.2.5 |
| Go Version | go1.25.5 |
| Platform | linux arm64 |
| Distribution | CCL |
| Cockroach Release | v26.2.5 |
| Cockroach SHA | c8455423826d0c4ba75a9ae78eb2dbd7e11648bb |
| # of CPUs | 16 |
| # of Goroutines | 1984 |

Jira issue: CRDB-68184

Contributor guide

Open the contributing guide

Research direction

Start with pkg/sql/catalog/schemaexpr/expr.go at ValidateTTLExpirationExpression and follow the stack into pkg/sql/schemachanger/scbuild/internal/scbuildstmt/alter_table_set_storage_param.go, which handles ALTER TABLE storage parameters. Reproduce the reported ALTER TABLE statement with ttl_expiration_expression set to an invalid value and trace why parsing two statements triggers a panic. Done means the malformed expression is handled without a crash and relevant tests pass; the issue names no specific test.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, sql
Domain
backend, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.