문서 번호 : 11-4212471
Document Information
•
최초 작성일 : 2026.01.15
•
최종 수정일 : 2026.01.20
•
이 문서는 아래 버전을 기준으로 작성되었습니다.
◦
Singlestore : 9.0.14
Goal
기존 S2에서는 ColumnStore 테이블에 대해 ALTER TABLE MODIFY COLUMN이 지원되지 않았다.
9.0.14 버전부터 일부 제약이 완화되어, VARCHAR 데이터 타입의 크기를 확장할 수 있게 되었다.
이에 따라 본 문서에서는 해당 기능의 동작을 검증하기 위한 테스트를 진행한다.
VARCHAR 타입에 대한 확장은 지원하지만 축소 작업은 지원하지 않는다.
Solution
SingleStore 9.0.14 이전 버전 테스트 결과
•
9.0.14 이전 버전에서는 MODIFY COLUMN을 수행할 경우, 해당 기능을 지원하지 않는다는 에러가 발생하며 정상적으로 동작하지 않았다.
테이블 생성
CREATE TABLE t1 (
a VARCHAR(10)
);
SQL
복사
컬럼 타입 변경 (ERROR 발생)
ALTER TABLE t1 MODIFY a VARCHAR(20);
SQL
복사
ERROR 1890 ER_MEMSQL_ONLINE_ALTER_IMPOSSIBLE_COLUMNSTORE:
ALTER TABLE which modifies type of column `a` is not supported on a columnstore
table.
SQL
복사
SingleStore 9.0.14 버전 테스트
테이블 생성 및 데이터 삽입
CREATE TABLE t1 (
a VARCHAR(3)
);
SQL
복사
INSERT INTO t1 value ('111')
SQL
복사
컬럼 타입 변경 (VARCHAR 크기 확장)
•
크기 확장 작업이 에러 없이 정상적으로 동작함을 확인할 수 있다.
ALTER TABLE t1 MODIFY a VARCHAR(10);
Query OK, 0 rows affected (0.22 sec)
Records: 0 Duplicates: 0 Warnings: 0
SQL
복사
메타데이터 확인
•
VARCHAR 크기를 증가시키더라도 기존 데이터는 수정되지 않으며 별도의 BLOB 파일 생성 없이 메타데이터 변경만 수행된다.
VARCHAR 크기 확장 전 Columnar Segments 및 COLUMNS 뷰
SELECT TABLE_NAME, `FILE`, CREATION_TIME
FROM information_schema.COLUMNAR_SEGMENTS
WHERE TABLE_NAME='t1' AND COLUMN_NAME='a';
+---------------+--------------------+---------------------+
| TABLE_NAME | FILE | CREATION_TIME |
+---------------+--------------------+---------------------+
| t1 | blobs/2/0/0/12_323 | 2025-12-15 14:24:05 |
+---------------+--------------------+---------------------+
SQL
복사
SELECT COLUMN_NAME, DATA_TYPE,CHARACTER_MAXIMUM_LENGTH
FROM information_schema.COLUMNS
WHERE TABLE_NAME='t1' AND COLUMN_NAME='a';
+-------------+-----------+--------------------------+
| COLUMN_NAME | DATA_TYPE | CHARACTER_MAXIMUM_LENGTH |
+-------------+-----------+--------------------------+
| a | varchar | 3 |
+-------------+-----------+--------------------------+
SQL
복사
Varchar 크기 확장 후 Columnar Segments 및 COLUMNS 뷰
SELECT TABLE_NAME, `FILE`, CREATION_TIME
FROM information_schema.COLUMNAR_SEGMENTS
WHERE TABLE_NAME='t1' AND COLUMN_NAME='a';
+---------------+--------------------+---------------------+
| TABLE_NAME | FILE | CREATION_TIME |
+---------------+--------------------+---------------------+
| t1 | blobs/2/0/0/12_323 | 2025-12-15 14:24:05 |
+---------------+--------------------+---------------------+
SQL
복사
SELECT COLUMN_NAME, DATA_TYPE,CHARACTER_MAXIMUM_LENGTH
FROM information_schema.COLUMNS
WHERE TABLE_NAME='t1' AND COLUMN_NAME='a';
+-------------+-----------+--------------------------+
| COLUMN_NAME | DATA_TYPE | CHARACTER_MAXIMUM_LENGTH |
+-------------+-----------+--------------------------+
| a | varchar | 10 |
+-------------+-----------+--------------------------+
SQL
복사
References
History
일자 | 작성자 | 비고 |
2026.01.15 | hoon | 최초 작성 |
2026.01.20 | hoon | 내용 수정 |


