Files
greptimedb/tests/cases/standalone/common/alter/add_col.result
Niwaka 0163ce8df9 feat: add column if not exists (#5393)
* feat: add column if not exists

* chore: address reviews
2025-01-21 02:38:25 +00:00

142 lines
5.7 KiB
Plaintext

CREATE TABLE test(i INTEGER, j TIMESTAMP TIME INDEX);
Affected Rows: 0
DESC TABLE test;
+--------+----------------------+-----+------+---------+---------------+
| Column | Type | Key | Null | Default | Semantic Type |
+--------+----------------------+-----+------+---------+---------------+
| i | Int32 | | YES | | FIELD |
| j | TimestampMillisecond | PRI | NO | | TIMESTAMP |
+--------+----------------------+-----+------+---------+---------------+
INSERT INTO test VALUES (1, 1), (2, 2);
Affected Rows: 2
ALTER TABLE test ADD COLUMN k INTEGER;
Affected Rows: 0
ALTER TABLE test ADD COLUMN IF NOT EXISTS k INTEGER;
Affected Rows: 0
SELECT * FROM test;
+---+-------------------------+---+
| i | j | k |
+---+-------------------------+---+
| 1 | 1970-01-01T00:00:00.001 | |
| 2 | 1970-01-01T00:00:00.002 | |
+---+-------------------------+---+
DESC TABLE test;
+--------+----------------------+-----+------+---------+---------------+
| Column | Type | Key | Null | Default | Semantic Type |
+--------+----------------------+-----+------+---------+---------------+
| i | Int32 | | YES | | FIELD |
| j | TimestampMillisecond | PRI | NO | | TIMESTAMP |
| k | Int32 | | YES | | FIELD |
+--------+----------------------+-----+------+---------+---------------+
ALTER TABLE test ADD COLUMN host STRING PRIMARY KEY;
Affected Rows: 0
SELECT * FROM test;
+---+-------------------------+---+------+
| i | j | k | host |
+---+-------------------------+---+------+
| 1 | 1970-01-01T00:00:00.001 | | |
| 2 | 1970-01-01T00:00:00.002 | | |
+---+-------------------------+---+------+
DESC TABLE test;
+--------+----------------------+-----+------+---------+---------------+
| Column | Type | Key | Null | Default | Semantic Type |
+--------+----------------------+-----+------+---------+---------------+
| i | Int32 | | YES | | FIELD |
| j | TimestampMillisecond | PRI | NO | | TIMESTAMP |
| k | Int32 | | YES | | FIELD |
| host | String | PRI | YES | | TAG |
+--------+----------------------+-----+------+---------+---------------+
ALTER TABLE test ADD COLUMN idc STRING default 'idc' PRIMARY KEY;
Affected Rows: 0
SELECT * FROM test;
+---+-------------------------+---+------+-----+
| i | j | k | host | idc |
+---+-------------------------+---+------+-----+
| 1 | 1970-01-01T00:00:00.001 | | | idc |
| 2 | 1970-01-01T00:00:00.002 | | | idc |
+---+-------------------------+---+------+-----+
DESC TABLE test;
+--------+----------------------+-----+------+---------+---------------+
| Column | Type | Key | Null | Default | Semantic Type |
+--------+----------------------+-----+------+---------+---------------+
| i | Int32 | | YES | | FIELD |
| j | TimestampMillisecond | PRI | NO | | TIMESTAMP |
| k | Int32 | | YES | | FIELD |
| host | String | PRI | YES | | TAG |
| idc | String | PRI | YES | idc | TAG |
+--------+----------------------+-----+------+---------+---------------+
ALTER TABLE test ADD COLUMN "IdC" STRING default 'idc' PRIMARY KEY;
Affected Rows: 0
DESC TABLE test;
+--------+----------------------+-----+------+---------+---------------+
| Column | Type | Key | Null | Default | Semantic Type |
+--------+----------------------+-----+------+---------+---------------+
| i | Int32 | | YES | | FIELD |
| j | TimestampMillisecond | PRI | NO | | TIMESTAMP |
| k | Int32 | | YES | | FIELD |
| host | String | PRI | YES | | TAG |
| idc | String | PRI | YES | idc | TAG |
| IdC | String | PRI | YES | idc | TAG |
+--------+----------------------+-----+------+---------+---------------+
ALTER TABLE test ADD COLUMN "foo" STRING default 'foo' PRIMARY KEY, ADD COLUMN "bar" STRING default 'bar' PRIMARY KEY;
Affected Rows: 0
ALTER TABLE test ADD COLUMN IF NOT EXISTS "foo" STRING default 'foo' PRIMARY KEY, ADD COLUMN "bar" STRING default 'bar' PRIMARY KEY;
Error: 4003(TableColumnExists), Column bar already exists in table test
ALTER TABLE test ADD COLUMN IF NOT EXISTS "foo" STRING default 'foo' PRIMARY KEY, ADD COLUMN IF NOT EXISTS "bar" STRING default 'bar' PRIMARY KEY;
Affected Rows: 0
DESC TABLE test;
+--------+----------------------+-----+------+---------+---------------+
| Column | Type | Key | Null | Default | Semantic Type |
+--------+----------------------+-----+------+---------+---------------+
| i | Int32 | | YES | | FIELD |
| j | TimestampMillisecond | PRI | NO | | TIMESTAMP |
| k | Int32 | | YES | | FIELD |
| host | String | PRI | YES | | TAG |
| idc | String | PRI | YES | idc | TAG |
| IdC | String | PRI | YES | idc | TAG |
| foo | String | PRI | YES | foo | TAG |
| bar | String | PRI | YES | bar | TAG |
+--------+----------------------+-----+------+---------+---------------+
DROP TABLE test;
Affected Rows: 0