pub async fn insert_row(
table: &str,
columns: &[ColumnInfo],
values: &[(String, Value)],
) -> Result<(), AppError>Expand description
Inserts one row. values keys not found in columns are silently
ignored (a form field the caller shouldn’t have sent) rather than
erroring - the caller (the HTTP handler) only ever builds values from
columns in the first place, so this is a defense-in-depth backstop,
not the primary guard.