When UpdateForm wraps fields that are already Option<T>, it creates nested Options (Option<Option<T>>). The old bind_form_values method bound these directly as &Option<T>, which caused MySQL "malform packet" errors for Uuid -> BINARY(16) conversions. Now both bind_form_values and bind_all_values use update_stmt_with_values() which properly converts values through the Value enum: - Some(None) -> Value::Null - Some(Some(v)) -> Value::T(v) This preserves the three-state semantics: - None: don't include field in UPDATE - Some(None): SET column = NULL - Some(Some(v)): SET column = value Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| conn_provider.rs | ||
| filter.rs | ||
| helpers.rs | ||
| lib.rs | ||
| models.rs | ||
| pagination.rs | ||
| repositories.rs | ||
| transaction.rs | ||
| value.rs | ||