matrixorigin / matrixorigin/matrixone

Feature Not Supported: Invisible columns (INVISIBLE keyword)

Open
#23,119 1 comment 0 reactions 1 assignee Claimed by @daviszhen View on GitHub
kind/feature priority/p1
Dominant language
Go
Stars
1.9k
Forks
311
Avg merge
1d 3h
Merged PRs (30d)
768

Description

## Description

MatrixOne does not support MySQL's invisible column feature. Executing `ALTER TABLE ... MODIFY COLUMN ... INVISIBLE` fails immediately with `ERROR 20105 ... unsupport column definition`. Invisible columns are widely used for logical hide/show scenarios, so lack of support blocks schema migration.

## Error Message

```
ERROR 20105 (HY000) at line 7: not supported: unsupport column definition &{{} false}
```

## Related Table DDL

```sql
CREATE TABLE test_mix_invisible_1271 (
id INT PRIMARY KEY,
marker VARCHAR(50),
created_at DATETIME
);
```

## Reproduction SQL

```sql
ALTER TABLE test_mix_invisible_1271 MODIFY COLUMN marker VARCHAR(50) INVISIBLE;
SHOW CREATE TABLE test_mix_invisible_1271;
```

## Impact
- MySQL schemas that rely on invisible columns cannot be migrated.
- Tools that temporarily hide columns for online schema change fail outright.

## Expected Behavior
MySQL accepts the `INVISIBLE` attribute and the column remains queryable but hidden from `SELECT *`. MatrixOne should either support the feature or return a graceful “not supported” error without classifying it as “unsupport column definition &{{} false}”.

## References
- Case 1271, 1291, 1311 ... in `test_batch_*_mixed_boundary` reports.

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.