pub struct PgDatabaseError(/* private fields */);
Expand description

An error returned from the PostgreSQL database.

Implementations§

source§

impl PgDatabaseError

source

pub fn severity(&self) -> PgSeverity

source

pub fn code(&self) -> &str

The SQLSTATE code for this error.

source

pub fn message(&self) -> &str

The primary human-readable error message. This should be accurate but terse (typically one line).

source

pub fn detail(&self) -> Option<&str>

An optional secondary error message carrying more detail about the problem. Might run to multiple lines.

source

pub fn hint(&self) -> Option<&str>

An optional suggestion what to do about the problem. This is intended to differ from detail in that it offers advice (potentially inappropriate) rather than hard facts. Might run to multiple lines.

source

pub fn position(&self) -> Option<PgErrorPosition<'_>>

Indicates an error cursor position as an index into the original query string; or, a position into an internally generated query.

source

pub fn where(&self) -> Option<&str>

An indication of the context in which the error occurred. Presently this includes a call stack traceback of active procedural language functions and internally-generated queries. The trace is one entry per line, most recent first.

source

pub fn schema(&self) -> Option<&str>

If this error is with a specific database object, the name of the schema containing that object, if any.

source

pub fn table(&self) -> Option<&str>

If this error is with a specific table, the name of the table.

source

pub fn column(&self) -> Option<&str>

If the error is with a specific table column, the name of the column.

source

pub fn data_type(&self) -> Option<&str>

If the error is with a specific data type, the name of the data type.

source

pub fn constraint(&self) -> Option<&str>

If the error is with a specific constraint, the name of the constraint. For this purpose, indexes are constraints, even if they weren’t created with constraint syntax.

source

pub fn file(&self) -> Option<&str>

The file name of the source-code location where this error was reported.

source

pub fn line(&self) -> Option<usize>

The line number of the source-code location where this error was reported.

source

pub fn routine(&self) -> Option<&str>

The name of the source-code routine reporting this error.

Trait Implementations§

source§

impl DatabaseError for PgDatabaseError

source§

fn message(&self) -> &str

The primary, human-readable error message.
source§

fn code(&self) -> Option<Cow<'_, str>>

The (SQLSTATE) code for the error.
source§

fn constraint(&self) -> Option<&str>

Returns the name of the constraint that triggered the error, if applicable. If the error was caused by a conflict of a unique index, this will be the index name. Read more
source§

fn table(&self) -> Option<&str>

Returns the name of the table that was affected by the error, if applicable. Read more
source§

fn kind(&self) -> ErrorKind

Returns the kind of the error, if supported. Read more
source§

fn is_unique_violation(&self) -> bool

Returns whether the error kind is a violation of a unique/primary key constraint.
source§

fn is_foreign_key_violation(&self) -> bool

Returns whether the error kind is a violation of a foreign key.
source§

fn is_check_violation(&self) -> bool

Returns whether the error kind is a violation of a check.
source§

impl Debug for PgDatabaseError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for PgDatabaseError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for PgDatabaseError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more