pub struct PgCopyIn<C: DerefMut<Target = PgConnection>> { /* private fields */ }
postgres
only.Expand description
A connection in streaming COPY FROM STDIN
mode.
Created by PgConnection::copy_in_raw or Pool::copy_out_raw.
§Note
PgCopyIn::finish or PgCopyIn::abort must be called when finished or the connection will return an error the next time it is used.
Implementations§
Source§impl<C: DerefMut<Target = PgConnection>> PgCopyIn<C>
impl<C: DerefMut<Target = PgConnection>> PgCopyIn<C>
Sourcepub fn is_textual(&self) -> bool
pub fn is_textual(&self) -> bool
Returns true
if Postgres is expecting data in text or CSV format.
Sourcepub fn num_columns(&self) -> usize
pub fn num_columns(&self) -> usize
Returns the number of columns expected in the input.
Sourcepub fn column_is_textual(&self, column: usize) -> bool
pub fn column_is_textual(&self, column: usize) -> bool
Check if a column is expecting data in text format (true
) or binary format (false
).
§Panics
If column
is out of range according to .num_columns()
.
Sourcepub async fn send(
&mut self,
data: impl Deref<Target = [u8]>,
) -> Result<&mut Self>
pub async fn send( &mut self, data: impl Deref<Target = [u8]>, ) -> Result<&mut Self>
Send a chunk of COPY
data.
If you’re copying data from an AsyncRead
, maybe consider Self::read_from instead.
Sourcepub async fn read_from(
&mut self,
source: impl AsyncRead + Unpin,
) -> Result<&mut Self>
pub async fn read_from( &mut self, source: impl AsyncRead + Unpin, ) -> Result<&mut Self>
Copy data directly from source
to the database without requiring an intermediate buffer.
source
will be read to the end.
§Note
You must still call either Self::finish or Self::abort to complete the process.
Sourcepub async fn abort(self, msg: impl Into<String>) -> Result<()>
pub async fn abort(self, msg: impl Into<String>) -> Result<()>
Signal that the COPY
process should be aborted and any data received should be discarded.
The given message can be used for indicating the reason for the abort in the database logs.
The server is expected to respond with an error, so only unexpected errors are returned.
Trait Implementations§
Auto Trait Implementations§
impl<C> Freeze for PgCopyIn<C>where
C: Freeze,
impl<C> RefUnwindSafe for PgCopyIn<C>where
C: RefUnwindSafe,
impl<C> Send for PgCopyIn<C>where
C: Send,
impl<C> Sync for PgCopyIn<C>where
C: Sync,
impl<C> Unpin for PgCopyIn<C>where
C: Unpin,
impl<C> UnwindSafe for PgCopyIn<C>where
C: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more