From 7448e975c2e53373be1ebfdc92886c635adf7826 Mon Sep 17 00:00:00 2001 From: dennis zhuang Date: Wed, 13 Sep 2023 16:21:03 +0800 Subject: [PATCH] chore: change error messages (#2379) * chore: change error messages * chore: remove locaton in table not found error msg --- src/frontend/src/delete.rs | 19 +++++++++++++------ src/frontend/src/error.rs | 7 ++----- src/frontend/src/insert.rs | 19 +++++++++++++------ .../src/req_convert/insert/stmt_to_region.rs | 19 +++++++++++++------ .../common/insert/insert_default.result | 4 ++-- .../common/insert/insert_invalid.result | 8 ++++---- 6 files changed, 47 insertions(+), 29 deletions(-) diff --git a/src/frontend/src/delete.rs b/src/frontend/src/delete.rs index ec88b22346..546d45d5f8 100644 --- a/src/frontend/src/delete.rs +++ b/src/frontend/src/delete.rs @@ -237,12 +237,19 @@ fn validate_column_count_match(requests: &RowDeleteRequests) -> Result<()> { for request in &requests.deletes { let rows = request.rows.as_ref().unwrap(); let column_count = rows.schema.len(); - ensure!( - rows.rows.iter().all(|r| r.values.len() == column_count), - InvalidDeleteRequestSnafu { - reason: "column count mismatch" - } - ) + rows.rows.iter().try_for_each(|r| { + ensure!( + r.values.len() == column_count, + InvalidDeleteRequestSnafu { + reason: format!( + "column count mismatch, columns: {}, values: {}", + column_count, + r.values.len() + ) + } + ); + Ok(()) + })?; } Ok(()) } diff --git a/src/frontend/src/error.rs b/src/frontend/src/error.rs index 5bbe13042c..2347a04f8d 100644 --- a/src/frontend/src/error.rs +++ b/src/frontend/src/error.rs @@ -176,11 +176,8 @@ pub enum Error { #[snafu(display("Invalid system table definition: {err_msg}, at {location}"))] InvalidSystemTableDef { err_msg: String, location: Location }, - #[snafu(display("Table not found: '{}', at {location}", table_name))] - TableNotFound { - table_name: String, - location: Location, - }, + #[snafu(display("Table not found: {}", table_name))] + TableNotFound { table_name: String }, #[snafu(display("Failed to join task, source: {}", source))] JoinTask { diff --git a/src/frontend/src/insert.rs b/src/frontend/src/insert.rs index a37809cc2c..bd4af4aafb 100644 --- a/src/frontend/src/insert.rs +++ b/src/frontend/src/insert.rs @@ -331,12 +331,19 @@ fn validate_column_count_match(requests: &RowInsertRequests) -> Result<()> { for request in &requests.inserts { let rows = request.rows.as_ref().unwrap(); let column_count = rows.schema.len(); - ensure!( - rows.rows.iter().all(|r| r.values.len() == column_count), - InvalidInsertRequestSnafu { - reason: "column count mismatch" - } - ) + rows.rows.iter().try_for_each(|r| { + ensure!( + r.values.len() == column_count, + InvalidInsertRequestSnafu { + reason: format!( + "column count mismatch, columns: {}, values: {}", + column_count, + r.values.len() + ) + } + ); + Ok(()) + })?; } Ok(()) } diff --git a/src/frontend/src/req_convert/insert/stmt_to_region.rs b/src/frontend/src/req_convert/insert/stmt_to_region.rs index 3896406592..1230bb1427 100644 --- a/src/frontend/src/req_convert/insert/stmt_to_region.rs +++ b/src/frontend/src/req_convert/insert/stmt_to_region.rs @@ -65,12 +65,19 @@ impl<'a> StatementToRegion<'a> { let sql_rows = stmt.values_body().context(MissingInsertBodySnafu)?; let row_count = sql_rows.len(); - ensure!( - sql_rows.iter().all(|row| row.len() == column_count), - InvalidSqlSnafu { - err_msg: "column count mismatch" - } - ); + sql_rows.iter().try_for_each(|r| { + ensure!( + r.len() == column_count, + InvalidSqlSnafu { + err_msg: format!( + "column count mismatch, columns: {}, values: {}", + column_count, + r.len() + ) + } + ); + Ok(()) + })?; let mut schema = Vec::with_capacity(column_count); let mut rows = vec![ diff --git a/tests/cases/standalone/common/insert/insert_default.result b/tests/cases/standalone/common/insert/insert_default.result index 32251da35e..f4995b14d0 100644 --- a/tests/cases/standalone/common/insert/insert_default.result +++ b/tests/cases/standalone/common/insert/insert_default.result @@ -4,7 +4,7 @@ Affected Rows: 0 INSERT INTO test1 VALUES (DEFAULT); -Error: 1004(InvalidArguments), Columns and values number mismatch, columns: 3, values: 1 +Error: 1004(InvalidArguments), Invalid SQL, error: column count mismatch, columns: 3, values: 1 INSERT INTO test1 VALUES (DEFAULT, DEFAULT, DEFAULT); @@ -12,7 +12,7 @@ Error: 1004(InvalidArguments), No valid default value can be built automatically INSERT INTO test1 VALUES (DEFAULT, DEFAULT, DEFAULT, DEFAULT); -Error: 1004(InvalidArguments), Columns and values number mismatch, columns: 3, values: 4 +Error: 1004(InvalidArguments), Invalid SQL, error: column count mismatch, columns: 3, values: 4 INSERT INTO test1 VALUES (DEFAULT, 1, DEFAULT), (default, 2, default), (DeFaUlT, 3, DeFaUlT), (dEfAuLt, 4, dEfAuLt); diff --git a/tests/cases/standalone/common/insert/insert_invalid.result b/tests/cases/standalone/common/insert/insert_invalid.result index 51937b3877..5ba9ea14be 100644 --- a/tests/cases/standalone/common/insert/insert_invalid.result +++ b/tests/cases/standalone/common/insert/insert_invalid.result @@ -28,19 +28,19 @@ Affected Rows: 1 INSERT INTO a VALUES (1); -Error: 1004(InvalidArguments), Columns and values number mismatch, columns: 2, values: 1 +Error: 1004(InvalidArguments), Invalid SQL, error: column count mismatch, columns: 2, values: 1 INSERT INTO a VALUES (1,2,3); -Error: 1004(InvalidArguments), Columns and values number mismatch, columns: 2, values: 3 +Error: 1004(InvalidArguments), Invalid SQL, error: column count mismatch, columns: 2, values: 3 INSERT INTO a VALUES (1,2),(3); -Error: 1004(InvalidArguments), Columns and values number mismatch, columns: 2, values: 1 +Error: 1004(InvalidArguments), Invalid SQL, error: column count mismatch, columns: 2, values: 1 INSERT INTO a VALUES (1,2),(3,4,5); -Error: 1004(InvalidArguments), Columns and values number mismatch, columns: 2, values: 3 +Error: 1004(InvalidArguments), Invalid SQL, error: column count mismatch, columns: 2, values: 3 DROP TABLE strings;