impl IntoDatum for Result<T: IntoDatum, E: Display>
#972
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pulls out some commits from #969 into its own PR to add support for
#[pg_extern]-style functions returning aResultof some kind.We don't care about the type of the Error, so long as it implements
Display. If the returned value is the Err variant, theIntoDatumimpl forResult<T, E>will raise a Postgres ERROR usingereport!(ERROR, PgSqlErrorCode::ERRCODE_DATA_EXCEPTION, &format!("{}", e)).It's tested to also work with the
eyre::Resulttype along with returningResult<Option<T>, E>.It also allows
#[pg_test]functions to return Results which makes writing unit tests a little nicer.