diff --git a/src/datanode/src/error.rs b/src/datanode/src/error.rs index ea73e2c898..f666027f27 100644 --- a/src/datanode/src/error.rs +++ b/src/datanode/src/error.rs @@ -308,7 +308,7 @@ pub enum Error { }, #[snafu(display( - "No valid default value can be build automatically, column: {}", + "No valid default value can be built automatically, column: {}", column, ))] ColumnNoneDefaultValue { diff --git a/src/frontend/src/error.rs b/src/frontend/src/error.rs index 101f0df661..9a612bce3e 100644 --- a/src/frontend/src/error.rs +++ b/src/frontend/src/error.rs @@ -391,7 +391,7 @@ pub enum Error { }, #[snafu(display( - "No valid default value can be build automatically, column: {}", + "No valid default value can be built automatically, column: {}", column, ))] ColumnNoneDefaultValue { diff --git a/tests/cases/standalone/insert/insert_default.result b/tests/cases/standalone/insert/insert_default.result new file mode 100644 index 0000000000..852cdf6cfd --- /dev/null +++ b/tests/cases/standalone/insert/insert_default.result @@ -0,0 +1,66 @@ +CREATE TABLE test1 (i INTEGER, j BIGINT TIME INDEX, k STRING DEFAULT 'blabla'); + +Affected Rows: 0 + +INSERT INTO test1 VALUES (DEFAULT); + +Error: 1004(InvalidArguments), Columns and values number mismatch, columns: 3, values: 1 + +INSERT INTO test1 VALUES (DEFAULT, DEFAULT, DEFAULT); + +Error: 1004(InvalidArguments), No valid default value can be built automatically, column: j + +INSERT INTO test1 VALUES (DEFAULT, DEFAULT, DEFAULT, DEFAULT); + +Error: 1004(InvalidArguments), Columns and values number mismatch, columns: 3, values: 4 + +INSERT INTO test1 VALUES (DEFAULT, 1, DEFAULT), (default, 2, default), (DeFaUlT, 3, DeFaUlT), (dEfAuLt, 4, dEfAuLt); + +Affected Rows: 4 + +SELECT * FROM test1; + ++---+---+--------+ +| i | j | k | ++---+---+--------+ +| | 1 | blabla | +| | 2 | blabla | +| | 3 | blabla | +| | 4 | blabla | ++---+---+--------+ + +CREATE TABLE test2 (i INTEGER, j BIGINT TIME INDEX DEFAULT CURRENT_TIMESTAMP, k STRING DEFAULT 'blabla'); + +Affected Rows: 0 + +INSERT INTO test2 VALUES (1,1,'a'), (default, 2, default), (3,3,'b'), (default, 4, default), (5, 5, 'c'); + +Affected Rows: 5 + +INSERT INTO test2 VALUES (6, 6, default), (7, 7, 'd'), (default, 8, 'e'); + +Affected Rows: 3 + +SELECT * FROM test2; + ++---+---+--------+ +| i | j | k | ++---+---+--------+ +| 1 | 1 | a | +| | 2 | blabla | +| 3 | 3 | b | +| | 4 | blabla | +| 5 | 5 | c | +| 6 | 6 | blabla | +| 7 | 7 | d | +| | 8 | e | ++---+---+--------+ + +DROP TABLE test1; + +Affected Rows: 1 + +DROP TABLE test2; + +Affected Rows: 1 + diff --git a/tests/cases/standalone/insert/insert_default.sql b/tests/cases/standalone/insert/insert_default.sql new file mode 100644 index 0000000000..fb7e60960f --- /dev/null +++ b/tests/cases/standalone/insert/insert_default.sql @@ -0,0 +1,22 @@ +CREATE TABLE test1 (i INTEGER, j BIGINT TIME INDEX, k STRING DEFAULT 'blabla'); + +INSERT INTO test1 VALUES (DEFAULT); + +INSERT INTO test1 VALUES (DEFAULT, DEFAULT, DEFAULT); + +INSERT INTO test1 VALUES (DEFAULT, DEFAULT, DEFAULT, DEFAULT); + +INSERT INTO test1 VALUES (DEFAULT, 1, DEFAULT), (default, 2, default), (DeFaUlT, 3, DeFaUlT), (dEfAuLt, 4, dEfAuLt); + +SELECT * FROM test1; + +CREATE TABLE test2 (i INTEGER, j BIGINT TIME INDEX DEFAULT CURRENT_TIMESTAMP, k STRING DEFAULT 'blabla'); + +INSERT INTO test2 VALUES (1,1,'a'), (default, 2, default), (3,3,'b'), (default, 4, default), (5, 5, 'c'); + +INSERT INTO test2 VALUES (6, 6, default), (7, 7, 'd'), (default, 8, 'e'); + +SELECT * FROM test2; + +DROP TABLE test1; +DROP TABLE test2;