From 897e1a10a4ced4646410ec14db8f98c61ce6ebd4 Mon Sep 17 00:00:00 2001 From: JasonShin Date: Mon, 1 Dec 2025 22:22:12 +0900 Subject: [PATCH 01/11] meaningful error --- src/ts_generator/errors.rs | 2 ++ src/ts_generator/sql_parser/translate_insert.rs | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/ts_generator/errors.rs b/src/ts_generator/errors.rs index c1229ca8..fd4426fb 100644 --- a/src/ts_generator/errors.rs +++ b/src/ts_generator/errors.rs @@ -32,6 +32,8 @@ pub enum TsGeneratorError { TableFactorWhileProcessingTableWithJoins(String), #[error("[E014] Failed to find a table name from a FROM statement: statement: `{0}`")] UnknownErrorWhileProcessingTableWithJoins(String), + #[error("[E015] Table expressions are not supported in INSERT statements - query: `{0}`")] + TableExpressionInInsertStatement(String), #[error("Unknown error: `{0}`")] Unknown(String), } diff --git a/src/ts_generator/sql_parser/translate_insert.rs b/src/ts_generator/sql_parser/translate_insert.rs index c11918ca..c3ff7bbb 100644 --- a/src/ts_generator/sql_parser/translate_insert.rs +++ b/src/ts_generator/sql_parser/translate_insert.rs @@ -104,7 +104,11 @@ VALUES (value1, value2, value3, ...); SetExpr::Update(update) => translate_stmt(ts_query, &update, None, conn).await?, SetExpr::Delete(delete) => translate_stmt(ts_query, &delete, None, conn).await?, SetExpr::Merge(merge) => translate_stmt(ts_query, &merge, None, conn).await?, - SetExpr::Table(_) => unimplemented!("Table expressions are not supported in INSERT statements"), + SetExpr::Table(table) => { + return Err(TsGeneratorError::TableExpressionInInsertStatement( + format!("INSERT INTO {} ... FROM {}", table_name, table), + )); + } } Ok(()) From 9dfb8314b829684da95f7eb8875717c5eaf9df0b Mon Sep 17 00:00:00 2001 From: JasonShin Date: Mon, 1 Dec 2025 22:40:08 +0900 Subject: [PATCH 02/11] improved error handling --- src/ts_generator/errors.rs | 14 ++++ .../sql_parser/expressions/translate_expr.rs | 64 +++++++++++++++---- .../sql_parser/translate_insert.rs | 36 ++++++----- .../sql_parser/translate_query.rs | 8 ++- 4 files changed, 92 insertions(+), 30 deletions(-) diff --git a/src/ts_generator/errors.rs b/src/ts_generator/errors.rs index fd4426fb..77727d45 100644 --- a/src/ts_generator/errors.rs +++ b/src/ts_generator/errors.rs @@ -34,6 +34,20 @@ pub enum TsGeneratorError { UnknownErrorWhileProcessingTableWithJoins(String), #[error("[E015] Table expressions are not supported in INSERT statements - query: `{0}`")] TableExpressionInInsertStatement(String), + #[error("[E016] Column '{column}' not found in table '{table}'. Available columns: {available_columns}")] + ColumnNotFoundInTable { + column: String, + table: String, + available_columns: String, + }, + #[error("[E017] Failed to process INSERT statement: {reason}. Query: `{query}`")] + InsertStatementProcessingFailed { reason: String, query: String }, + #[error("[E018] Table '{table}' not found in database schema. Check that the table exists and is accessible.")] + TableNotFoundInSchema { table: String }, + #[error("[E019] Failed to infer table name while processing WHERE clause. Query: `{query}`")] + TableNameInferenceFailedInWhere { query: String }, + #[error("[E020] Invalid column reference '{column}' for table '{table}'. Ensure the column exists in the table schema.")] + InvalidColumnReference { column: String, table: String }, #[error("Unknown error: `{0}`")] Unknown(String), } diff --git a/src/ts_generator/sql_parser/expressions/translate_expr.rs b/src/ts_generator/sql_parser/expressions/translate_expr.rs index 9233c74b..8e8ba7da 100644 --- a/src/ts_generator/sql_parser/expressions/translate_expr.rs +++ b/src/ts_generator/sql_parser/expressions/translate_expr.rs @@ -132,7 +132,11 @@ pub async fn get_sql_query_param( } else if single_table_name.is_some() { table_name = single_table_name.map(|x| x.to_string()); } else { - panic!("failed to find an appropriate table name while processing WHERE statement") + error!( + "Failed to infer table name while processing WHERE clause. Expression: {}", + left + ); + return None; } let column_name = translate_column_name_expr(left); @@ -148,13 +152,30 @@ pub async fn get_sql_query_param( .lock() .await .fetch_table(&table_names, db_conn) - .await - .unwrap_or_else(|| panic!("Failed to fetch columns for table {table_name}")); + .await; + + if columns.is_none() { + error!( + "Table '{}' not found in database schema. Check that the table exists and is accessible.", + table_name + ); + return None; + } + + let columns = columns.unwrap(); // get column and return TsFieldType - let column = columns - .get(column_name.as_str()) - .unwrap_or_else(|| panic!("Failed to find the column from the table schema of {table_name}")); + let column = columns.get(column_name.as_str()); + if column.is_none() { + let available_columns = columns.keys().map(|k| k.as_str()).collect::>().join(", "); + error!( + "Column '{}' not found in table '{}'. Available columns: {}", + column_name, table_name, available_columns + ); + return None; + } + + let column = column.unwrap(); Some((column.field_type.to_owned(), column.is_nullable, Some(expr_placeholder))) } _ => None, @@ -731,16 +752,35 @@ pub async fn translate_assignment( let value = get_expr_placeholder(&assignment.value); if value.is_some() { - let table_details = &DB_SCHEMA + let table_details = DB_SCHEMA .lock() .await .fetch_table(&vec![table_name], db_conn) .await - .unwrap(); - let column_name = translate_column_name_assignment(assignment).unwrap(); - let field = table_details - .get(&column_name) - .unwrap_or_else(|| panic!("Failed to find the column detail for {column_name}")); + .ok_or_else(|| TsGeneratorError::TableNotFoundInSchema { + table: table_name.to_string(), + })?; + + let column_name = translate_column_name_assignment(assignment).ok_or_else(|| { + TsGeneratorError::InsertStatementProcessingFailed { + reason: "Failed to extract column name from assignment".to_string(), + query: format!("UPDATE {} SET {} = ...", table_name, assignment), + } + })?; + + let field = table_details.get(&column_name).ok_or_else(|| { + let available_columns = table_details + .keys() + .map(|k| k.as_str()) + .collect::>() + .join(", "); + TsGeneratorError::ColumnNotFoundInTable { + column: column_name.clone(), + table: table_name.to_string(), + available_columns, + } + })?; + let _ = ts_query.insert_param(&field.field_type, &field.is_nullable, &value); } Ok(()) diff --git a/src/ts_generator/sql_parser/translate_insert.rs b/src/ts_generator/sql_parser/translate_insert.rs index c3ff7bbb..1e4d9662 100644 --- a/src/ts_generator/sql_parser/translate_insert.rs +++ b/src/ts_generator/sql_parser/translate_insert.rs @@ -41,24 +41,28 @@ pub async fn translate_insert( if placeholder.is_some() { let match_col = &columns .get(column) - .unwrap_or_else(|| { - panic!( - r#" -Failed to process values of insert statement as column names are not provided or incorrectly specified - -Try specifying column names -``` -INSERT INTO table_name (column1, column2, column3, ...) -VALUES (value1, value2, value3, ...); -``` - "# - ) - }) + .ok_or_else(|| { + TsGeneratorError::InsertStatementProcessingFailed { + reason: format!( + "Column at position {} is not provided in the column list. Expected {} columns but found {} values.", + column, columns.len(), values.len() + ), + query: format!( + "INSERT INTO {} VALUES (...). Try specifying column names explicitly: INSERT INTO {} (column1, column2, ...) VALUES (...)", + table_name, table_name + ), + } + })? .value; - let field = table_details - .get(match_col.as_str()) - .unwrap_or_else(|| panic!("Column {match_col} is not found while processing insert params")); + let field = table_details.get(match_col.as_str()).ok_or_else(|| { + let available_columns = table_details.keys().map(|k| k.as_str()).collect::>().join(", "); + TsGeneratorError::ColumnNotFoundInTable { + column: match_col.clone(), + table: table_name.to_string(), + available_columns, + } + })?; if value.to_string() == "?" { // If the placeholder is `'?'`, we can process it using insert_value_params and generate nested params type diff --git a/src/ts_generator/sql_parser/translate_query.rs b/src/ts_generator/sql_parser/translate_query.rs index 394bd70c..8abc76d0 100644 --- a/src/ts_generator/sql_parser/translate_query.rs +++ b/src/ts_generator/sql_parser/translate_query.rs @@ -123,8 +123,12 @@ pub async fn translate_select( let mut table_name: Option<&str> = None; if full_table_with_joins.is_some() && !full_table_with_joins.as_ref().unwrap().is_empty() { table_name_owned = Some( - translate_table_with_joins(full_table_with_joins, &select_item) - .unwrap_or_else(|_| panic!("{}", format!("Default FROM table is not found from the query {select}"))), + translate_table_with_joins(full_table_with_joins, &select_item).map_err(|_| { + TsGeneratorError::UnknownErrorWhileProcessingTableWithJoins(format!( + "Default FROM table is not found from the query: {}. Ensure your query has a valid FROM clause.", + select + )) + })?, ); table_name = table_name_owned.as_deref(); } From b2a622779a24cb7d97fd16ec2e908e52077e945b Mon Sep 17 00:00:00 2001 From: JasonShin Date: Sat, 20 Dec 2025 00:08:29 +0900 Subject: [PATCH 03/11] fmt --- src/ts_generator/errors.rs | 4 +++- .../sql_parser/expressions/translate_expr.rs | 6 +----- src/ts_generator/sql_parser/translate_insert.rs | 13 +++++++++---- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/ts_generator/errors.rs b/src/ts_generator/errors.rs index 77727d45..60fc625e 100644 --- a/src/ts_generator/errors.rs +++ b/src/ts_generator/errors.rs @@ -46,7 +46,9 @@ pub enum TsGeneratorError { TableNotFoundInSchema { table: String }, #[error("[E019] Failed to infer table name while processing WHERE clause. Query: `{query}`")] TableNameInferenceFailedInWhere { query: String }, - #[error("[E020] Invalid column reference '{column}' for table '{table}'. Ensure the column exists in the table schema.")] + #[error( + "[E020] Invalid column reference '{column}' for table '{table}'. Ensure the column exists in the table schema." + )] InvalidColumnReference { column: String, table: String }, #[error("Unknown error: `{0}`")] Unknown(String), diff --git a/src/ts_generator/sql_parser/expressions/translate_expr.rs b/src/ts_generator/sql_parser/expressions/translate_expr.rs index 8e8ba7da..39eb022b 100644 --- a/src/ts_generator/sql_parser/expressions/translate_expr.rs +++ b/src/ts_generator/sql_parser/expressions/translate_expr.rs @@ -148,11 +148,7 @@ pub async fn get_sql_query_param( match (column_name, expr_placeholder, table_name) { (Some(column_name), Some(expr_placeholder), Some(table_name)) => { let table_names = vec![table_name.as_str()]; - let columns = DB_SCHEMA - .lock() - .await - .fetch_table(&table_names, db_conn) - .await; + let columns = DB_SCHEMA.lock().await.fetch_table(&table_names, db_conn).await; if columns.is_none() { error!( diff --git a/src/ts_generator/sql_parser/translate_insert.rs b/src/ts_generator/sql_parser/translate_insert.rs index 1e4d9662..7651bb3b 100644 --- a/src/ts_generator/sql_parser/translate_insert.rs +++ b/src/ts_generator/sql_parser/translate_insert.rs @@ -56,7 +56,11 @@ pub async fn translate_insert( .value; let field = table_details.get(match_col.as_str()).ok_or_else(|| { - let available_columns = table_details.keys().map(|k| k.as_str()).collect::>().join(", "); + let available_columns = table_details + .keys() + .map(|k| k.as_str()) + .collect::>() + .join(", "); TsGeneratorError::ColumnNotFoundInTable { column: match_col.clone(), table: table_name.to_string(), @@ -109,9 +113,10 @@ pub async fn translate_insert( SetExpr::Delete(delete) => translate_stmt(ts_query, &delete, None, conn).await?, SetExpr::Merge(merge) => translate_stmt(ts_query, &merge, None, conn).await?, SetExpr::Table(table) => { - return Err(TsGeneratorError::TableExpressionInInsertStatement( - format!("INSERT INTO {} ... FROM {}", table_name, table), - )); + return Err(TsGeneratorError::TableExpressionInInsertStatement(format!( + "INSERT INTO {} ... FROM {}", + table_name, table + ))); } } From d8a3639e899bb619e59535cbf669e5187ff34a1a Mon Sep 17 00:00:00 2001 From: JasonShin Date: Sat, 20 Dec 2025 00:21:21 +0900 Subject: [PATCH 04/11] clippy fix --- src/ts_generator/generator.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ts_generator/generator.rs b/src/ts_generator/generator.rs index c98ff892..e8265e36 100644 --- a/src/ts_generator/generator.rs +++ b/src/ts_generator/generator.rs @@ -77,8 +77,8 @@ pub fn write_single_ts_file(sqls_to_write: String) -> Result<()> { ))?; let parent_output_path: Option<&Path> = output.parent(); - if parent_output_path.is_some() { - fs::create_dir_all(parent_output_path.unwrap())?; + if let Some(parent_output_path) = parent_output_path { + fs::create_dir_all(parent_output_path)?; } let mut file_to_write = OpenOptions::new() From 10ac5e6776b9eab0f0c19287ef3e7c6f007c2033 Mon Sep 17 00:00:00 2001 From: JasonShin Date: Sat, 27 Dec 2025 14:19:54 +1100 Subject: [PATCH 05/11] throw error on the impoissble cases --- .../sql_parser/expressions/translate_expr.rs | 64 +++++++++---------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/src/ts_generator/sql_parser/expressions/translate_expr.rs b/src/ts_generator/sql_parser/expressions/translate_expr.rs index 39eb022b..41a79a03 100644 --- a/src/ts_generator/sql_parser/expressions/translate_expr.rs +++ b/src/ts_generator/sql_parser/expressions/translate_expr.rs @@ -124,7 +124,7 @@ pub async fn get_sql_query_param( single_table_name: &Option<&str>, table_with_joins: &Option>, db_conn: &DBConn, -) -> Option<(TsFieldType, bool, Option)> { +) -> Result)>, TsGeneratorError> { let table_name: Option; if table_with_joins.is_some() { @@ -132,11 +132,12 @@ pub async fn get_sql_query_param( } else if single_table_name.is_some() { table_name = single_table_name.map(|x| x.to_string()); } else { - error!( - "Failed to infer table name while processing WHERE clause. Expression: {}", - left - ); - return None; + return Err(TsGeneratorError::TableNameInferenceFailedInWhere { + query: format!( + "Failed to infer table name while processing WHERE clause. Expression: {}. Ensure your query has a FROM clause or table reference.", + left + ), + }); } let column_name = translate_column_name_expr(left); @@ -148,33 +149,32 @@ pub async fn get_sql_query_param( match (column_name, expr_placeholder, table_name) { (Some(column_name), Some(expr_placeholder), Some(table_name)) => { let table_names = vec![table_name.as_str()]; - let columns = DB_SCHEMA.lock().await.fetch_table(&table_names, db_conn).await; - - if columns.is_none() { - error!( - "Table '{}' not found in database schema. Check that the table exists and is accessible.", - table_name - ); - return None; - } - - let columns = columns.unwrap(); + let columns = DB_SCHEMA + .lock() + .await + .fetch_table(&table_names, db_conn) + .await + .ok_or_else(|| TsGeneratorError::TableNotFoundInSchema { + table: table_name.clone(), + })?; // get column and return TsFieldType - let column = columns.get(column_name.as_str()); - if column.is_none() { + let column = columns.get(column_name.as_str()).ok_or_else(|| { let available_columns = columns.keys().map(|k| k.as_str()).collect::>().join(", "); - error!( - "Column '{}' not found in table '{}'. Available columns: {}", - column_name, table_name, available_columns - ); - return None; - } + TsGeneratorError::ColumnNotFoundInTable { + column: column_name.clone(), + table: table_name.clone(), + available_columns, + } + })?; - let column = column.unwrap(); - Some((column.field_type.to_owned(), column.is_nullable, Some(expr_placeholder))) + Ok(Some(( + column.field_type.to_owned(), + column.is_nullable, + Some(expr_placeholder), + ))) } - _ => None, + _ => Ok(None), } } @@ -315,7 +315,7 @@ pub async fn translate_expr( // OPERATORS START // ///////////////////// Expr::BinaryOp { left, op: _, right } => { - let param = get_sql_query_param(left, right, single_table_name, table_with_joins, db_conn).await; + let param = get_sql_query_param(left, right, single_table_name, table_with_joins, db_conn).await?; if let Some((value, is_nullable, index)) = param { let _ = ts_query.insert_param(&value, &is_nullable, &index); Ok(()) @@ -358,7 +358,7 @@ pub async fn translate_expr( table_with_joins, db_conn, ) - .await; + .await?; if let Some((value, is_nullable, index)) = result { let array_item = TsFieldType::Array(Box::new(value)); @@ -386,8 +386,8 @@ pub async fn translate_expr( low, high, } => { - let low = get_sql_query_param(expr, low, single_table_name, table_with_joins, db_conn).await; - let high = get_sql_query_param(expr, high, single_table_name, table_with_joins, db_conn).await; + let low = get_sql_query_param(expr, low, single_table_name, table_with_joins, db_conn).await?; + let high = get_sql_query_param(expr, high, single_table_name, table_with_joins, db_conn).await?; if let Some((value, is_nullable, placeholder)) = low { ts_query.insert_param(&value, &is_nullable, &placeholder)?; } From a84bc62ea148d46f9e58c09c22a4f43c93f3facc Mon Sep 17 00:00:00 2001 From: JasonShin Date: Sat, 27 Dec 2025 14:21:24 +1100 Subject: [PATCH 06/11] remove unused error --- src/ts_generator/errors.rs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/ts_generator/errors.rs b/src/ts_generator/errors.rs index 60fc625e..384370d9 100644 --- a/src/ts_generator/errors.rs +++ b/src/ts_generator/errors.rs @@ -46,10 +46,6 @@ pub enum TsGeneratorError { TableNotFoundInSchema { table: String }, #[error("[E019] Failed to infer table name while processing WHERE clause. Query: `{query}`")] TableNameInferenceFailedInWhere { query: String }, - #[error( - "[E020] Invalid column reference '{column}' for table '{table}'. Ensure the column exists in the table schema." - )] - InvalidColumnReference { column: String, table: String }, #[error("Unknown error: `{0}`")] Unknown(String), } From 74f9e2f6efeb1a4f62cb81726fc08c1b989efdea Mon Sep 17 00:00:00 2001 From: JasonShin Date: Sat, 27 Dec 2025 14:26:34 +1100 Subject: [PATCH 07/11] simplify TableNameInferenceFailedInWhere --- src/ts_generator/sql_parser/expressions/translate_expr.rs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/ts_generator/sql_parser/expressions/translate_expr.rs b/src/ts_generator/sql_parser/expressions/translate_expr.rs index 41a79a03..953d02c5 100644 --- a/src/ts_generator/sql_parser/expressions/translate_expr.rs +++ b/src/ts_generator/sql_parser/expressions/translate_expr.rs @@ -133,10 +133,7 @@ pub async fn get_sql_query_param( table_name = single_table_name.map(|x| x.to_string()); } else { return Err(TsGeneratorError::TableNameInferenceFailedInWhere { - query: format!( - "Failed to infer table name while processing WHERE clause. Expression: {}. Ensure your query has a FROM clause or table reference.", - left - ), + query: left.to_string(), }); } From 5e9ef858f4db2c9f190526b6744eb7dc46403150 Mon Sep 17 00:00:00 2001 From: JasonShin Date: Sat, 27 Dec 2025 14:30:06 +1100 Subject: [PATCH 08/11] fix --- src/ts_generator/errors.rs | 2 ++ src/ts_generator/sql_parser/expressions/translate_expr.rs | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ts_generator/errors.rs b/src/ts_generator/errors.rs index 384370d9..c22c5c10 100644 --- a/src/ts_generator/errors.rs +++ b/src/ts_generator/errors.rs @@ -42,6 +42,8 @@ pub enum TsGeneratorError { }, #[error("[E017] Failed to process INSERT statement: {reason}. Query: `{query}`")] InsertStatementProcessingFailed { reason: String, query: String }, + #[error("[E018] Failed to process UPDATE statement: {reason}. Query: `{query}`")] + UpdateStatementProcessingFailed { reason: String, query: String }, #[error("[E018] Table '{table}' not found in database schema. Check that the table exists and is accessible.")] TableNotFoundInSchema { table: String }, #[error("[E019] Failed to infer table name while processing WHERE clause. Query: `{query}`")] diff --git a/src/ts_generator/sql_parser/expressions/translate_expr.rs b/src/ts_generator/sql_parser/expressions/translate_expr.rs index 953d02c5..7351fe1d 100644 --- a/src/ts_generator/sql_parser/expressions/translate_expr.rs +++ b/src/ts_generator/sql_parser/expressions/translate_expr.rs @@ -755,7 +755,7 @@ pub async fn translate_assignment( })?; let column_name = translate_column_name_assignment(assignment).ok_or_else(|| { - TsGeneratorError::InsertStatementProcessingFailed { + TsGeneratorError::UpdateStatementProcessingFailed { reason: "Failed to extract column name from assignment".to_string(), query: format!("UPDATE {} SET {} = ...", table_name, assignment), } From a89e6494bce08c34dde52a7d87a551d3ee44cae4 Mon Sep 17 00:00:00 2001 From: JasonShin Date: Sat, 27 Dec 2025 14:32:08 +1100 Subject: [PATCH 09/11] fix --- .github/workflows/rust.yaml | 2 +- src/ts_generator/errors.rs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/rust.yaml b/.github/workflows/rust.yaml index fed19d20..dbc56c8d 100644 --- a/.github/workflows/rust.yaml +++ b/.github/workflows/rust.yaml @@ -97,7 +97,7 @@ jobs: cache-provider: "github" - name: Run clippy - run: cargo clippy + run: cargo clippy --all-targets --all-features -- -D warnings - name: Run rustfmt run: cargo fmt -- --check diff --git a/src/ts_generator/errors.rs b/src/ts_generator/errors.rs index c22c5c10..2a373f1b 100644 --- a/src/ts_generator/errors.rs +++ b/src/ts_generator/errors.rs @@ -44,9 +44,9 @@ pub enum TsGeneratorError { InsertStatementProcessingFailed { reason: String, query: String }, #[error("[E018] Failed to process UPDATE statement: {reason}. Query: `{query}`")] UpdateStatementProcessingFailed { reason: String, query: String }, - #[error("[E018] Table '{table}' not found in database schema. Check that the table exists and is accessible.")] + #[error("[E019] Table '{table}' not found in database schema. Check that the table exists and is accessible.")] TableNotFoundInSchema { table: String }, - #[error("[E019] Failed to infer table name while processing WHERE clause. Query: `{query}`")] + #[error("[E020] Failed to infer table name while processing WHERE clause. Query: `{query}`")] TableNameInferenceFailedInWhere { query: String }, #[error("Unknown error: `{0}`")] Unknown(String), From cbfce2fbeeb96c144652b9a1d6c140127c3d79c1 Mon Sep 17 00:00:00 2001 From: JasonShin Date: Sat, 27 Dec 2025 14:36:38 +1100 Subject: [PATCH 10/11] clippy fail on warning --- .github/workflows/rust.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rust.yaml b/.github/workflows/rust.yaml index dbc56c8d..a815e0e4 100644 --- a/.github/workflows/rust.yaml +++ b/.github/workflows/rust.yaml @@ -97,7 +97,7 @@ jobs: cache-provider: "github" - name: Run clippy - run: cargo clippy --all-targets --all-features -- -D warnings + run: cargo clippy --lib --all-features -- -D warnings - name: Run rustfmt run: cargo fmt -- --check From 854d01311d6a890efa3caff6e2a61dc5fafba6cd Mon Sep 17 00:00:00 2001 From: JasonShin Date: Sat, 27 Dec 2025 14:37:49 +1100 Subject: [PATCH 11/11] remove unncessary type cast --- src/ts_generator/types/ts_query.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ts_generator/types/ts_query.rs b/src/ts_generator/types/ts_query.rs index 228f7cf0..9fb93bef 100644 --- a/src/ts_generator/types/ts_query.rs +++ b/src/ts_generator/types/ts_query.rs @@ -363,7 +363,7 @@ impl TsQuery { .and_then(|m| m.as_str().parse::().ok()) .ok_or(TsGeneratorError::UnknownPlaceholder(format!( "{placeholder} is not a valid placeholder parameter in PostgreSQL" - )))? as i32 + )))? } else { // No pattern matches the provided placeholder, simply exit out of the function return Ok(());