pingcap / pingcap/tidb

Optimize DDL for CHAR(10) to VARCHAR(100)

Open
#40,574 3 comments 0 reactions 0 assignees View on GitHub
help wanted type/enhancement
Dominant language
Go
Stars
40.5k
Forks
6.2k
PR merge metrics
PR metrics pending

Description

## Feature Request

Changing a column from a `CHAR(n)` to a `VARCHAR(m)` is now going through a full reorg. However the CHAR is guaranteed to fit in the VARCHAR as long as the charset remains the same and if m>=n.

Here the source is a CHAR and the target is a VARCHAR, but this is likely also true for any other combination of these types and might also be true for VARBINARY etc.

The improvement would be to do this as a metadata only change and only change the actual rows when they are written again.

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.